From fe288aea90905fa18823f3c164e4cb8dc8ae17ea Mon Sep 17 00:00:00 2001 From: Eela Nagaraj <7308464+eelanagaraj@users.noreply.github.com> Date: Thu, 8 Jul 2021 19:25:32 +0200 Subject: [PATCH] JS Keystore Docs (with updated file structure) (#8185) (Up to date with new file structure) - Added autogenerated docs for keystore - Added a walkthrough with code/usage examples in `using-js-keystores.md` (note: will not work until first version is published); [this is what it will look like on gitbook](https://eela.gitbook.io/forked-monorepo-docs-test/~/revisions/-MczCo4GM6pOBxl1YTZq/v/docs-test%2Feelanagaraj%2Fjs-keystore-docs-new/developer-guide/start/using-js-keystores) Split so as to not clutter the first PR (#8096) (apologies for the messy commits here -- wanted to stack them to make the differences cleaner initially but didn't want to wait to land docs with the rest of the PR!) --- packages/docs/SUMMARY.md | 24 ++ .../keystores/reference/README.md | 162 ++++++++++ .../keystores/reference/SUMMARY.md | 19 ++ .../classes/_file_keystore_.filekeystore.md | 284 ++++++++++++++++++ .../_inmemory_keystore_.inmemorykeystore.md | 251 ++++++++++++++++ .../classes/_keystore_base_.keystorebase.md | 237 +++++++++++++++ ...e_wallet_wrapper_.keystorewalletwrapper.md | 107 +++++++ .../enums/_keystore_base_.errormessages.md | 33 ++ .../keystores/reference/globals.md | 11 + .../reference/modules/_file_keystore_.md | 7 + .../reference/modules/_inmemory_keystore_.md | 7 + .../reference/modules/_keystore_base_.md | 11 + .../modules/_keystore_wallet_wrapper_.md | 7 + .../reference/modules/_test_constants_.md | 96 ++++++ .../walkthroughs/using-js-keystores.md | 138 +++++++++ packages/docs/package.json | 2 +- packages/sdk/keystores/typedoc.json | 2 +- 17 files changed, 1396 insertions(+), 2 deletions(-) create mode 100644 packages/docs/developer-resources/keystores/reference/README.md create mode 100644 packages/docs/developer-resources/keystores/reference/SUMMARY.md create mode 100644 packages/docs/developer-resources/keystores/reference/classes/_file_keystore_.filekeystore.md create mode 100644 packages/docs/developer-resources/keystores/reference/classes/_inmemory_keystore_.inmemorykeystore.md create mode 100644 packages/docs/developer-resources/keystores/reference/classes/_keystore_base_.keystorebase.md create mode 100644 packages/docs/developer-resources/keystores/reference/classes/_keystore_wallet_wrapper_.keystorewalletwrapper.md create mode 100644 packages/docs/developer-resources/keystores/reference/enums/_keystore_base_.errormessages.md create mode 100644 packages/docs/developer-resources/keystores/reference/globals.md create mode 100644 packages/docs/developer-resources/keystores/reference/modules/_file_keystore_.md create mode 100644 packages/docs/developer-resources/keystores/reference/modules/_inmemory_keystore_.md create mode 100644 packages/docs/developer-resources/keystores/reference/modules/_keystore_base_.md create mode 100644 packages/docs/developer-resources/keystores/reference/modules/_keystore_wallet_wrapper_.md create mode 100644 packages/docs/developer-resources/keystores/reference/modules/_test_constants_.md create mode 100644 packages/docs/developer-resources/walkthroughs/using-js-keystores.md diff --git a/packages/docs/SUMMARY.md b/packages/docs/SUMMARY.md index f8adc0aa03f..e1c03b2ca3a 100644 --- a/packages/docs/SUMMARY.md +++ b/packages/docs/SUMMARY.md @@ -64,6 +64,7 @@ - [Using Windows](developer-resources/develop-on-windows.md) - [React based DApp](developer-resources/walkthroughs/web-dapp.md) - [WalletConnect](developer-resources/walkthroughs/wallet-connect.md) + - [Using Keystores](developer-resources/walkthroughs/using-js-keystores.md) + - [Keystores](developer-resources/keystores/reference/../../../SUMMARY.md) + + - [Globals](developer-resources/keystores/reference/globals.md) + - [Modules]() + - [file-keystore](developer-resources/keystores/reference/modules/_file_keystore_.md) + - [FileKeystore](developer-resources/keystores/reference/classes/_file_keystore_.filekeystore.md) + - [inmemory-keystore](developer-resources/keystores/reference/modules/_inmemory_keystore_.md) + - [InMemoryKeystore](developer-resources/keystores/reference/classes/_inmemory_keystore_.inmemorykeystore.md) + - [keystore-base](developer-resources/keystores/reference/modules/_keystore_base_.md) + - [ErrorMessages](developer-resources/keystores/reference/enums/_keystore_base_.errormessages.md) + - [KeystoreBase](developer-resources/keystores/reference/classes/_keystore_base_.keystorebase.md) + - [keystore-wallet-wrapper](developer-resources/keystores/reference/modules/_keystore_wallet_wrapper_.md) + - [KeystoreWalletWrapper](developer-resources/keystores/reference/classes/_keystore_wallet_wrapper_.keystorewalletwrapper.md) + - [test-constants](developer-resources/keystores/reference/modules/_test_constants_.md) + - [Classes]() + - [FileKeystore](developer-resources/keystores/reference/classes/_file_keystore_.filekeystore.md) + - [InMemoryKeystore](developer-resources/keystores/reference/classes/_inmemory_keystore_.inmemorykeystore.md) + - [KeystoreBase](developer-resources/keystores/reference/classes/_keystore_base_.keystorebase.md) + - [KeystoreWalletWrapper](developer-resources/keystores/reference/classes/_keystore_wallet_wrapper_.keystorewalletwrapper.md) + - [Enums]() + - [ErrorMessages](developer-resources/keystores/reference/enums/_keystore_base_.errormessages.md) + + - [Network-Utils](developer-resources/network-utils/reference/SUMMARY.md) - [Globals](developer-resources/network-utils/reference/globals.md) diff --git a/packages/docs/developer-resources/keystores/reference/README.md b/packages/docs/developer-resources/keystores/reference/README.md new file mode 100644 index 00000000000..d99af247a00 --- /dev/null +++ b/packages/docs/developer-resources/keystores/reference/README.md @@ -0,0 +1,162 @@ +# @celo/keystores + +

+ + celo logo + +

+ +**Celo Monorepo - Official repository for core projects comprising the Celo platform** + +This repository contains the source code for the Celo core projects including the [smart contracts](https://github.com/celo-org/celo-monorepo/tree/master/packages/protocol), [wallet app](https://github.com/celo-org/celo-monorepo/tree/master/packages/mobile), +and other packages. The source code for the Celo Blockchain which operates a node on the Celo Network is kept in a separate repo [here](https://github.com/celo-org/celo-blockchain). + + + +[![CircleCI](https://img.shields.io/circleci/build/github/celo-org/celo-monorepo/master)](https://circleci.com/gh/celo-org/celo-monorepo/tree/master) +[![Codecov](https://img.shields.io/codecov/c/github/celo-org/celo-monorepo)](https://codecov.io/gh/celo-org/celo-monorepo) +[![GitHub contributors](https://img.shields.io/github/contributors/celo-org/celo-monorepo)](https://github.com/celo-org/celo-monorepo/graphs/contributors) +[![GitHub commit activity](https://img.shields.io/github/commit-activity/w/celo-org/celo-monorepo)](https://github.com/celo-org/celo-monorepo/graphs/contributors) +[![GitHub Stars](https://img.shields.io/github/stars/celo-org/celo-monorepo.svg)](https://github.com/celo-org/celo-monorepo/stargazers) +![GitHub repo size](https://img.shields.io/github/repo-size/celo-org/celo-monorepo) +[![GitHub](https://img.shields.io/github/license/celo-org/celo-monorepo?color=blue)](https://github.com/celo-org/celo-monorepo/blob/master/LICENSE) + + + +[![Website celo.org](https://img.shields.io/website-up-down-green-red/https/celo.org.svg)](https://celo.org) +[![Blog](https://img.shields.io/badge/blog-up-green)](https://medium.com/celoorg) +[![docs](https://img.shields.io/badge/docs-up-green)](https://docs.celo.org/) +[![Youtube](https://img.shields.io/badge/YouTube%20channel-up-green)](https://www.youtube.com/channel/UCCZgos_YAJSXm5QX5D5Wkcw/videos?view=0&sort=p&flow=grid) +[![forum](https://img.shields.io/badge/forum-up-green)](https://forum.celo.org) +[![Discord](https://img.shields.io/discord/600834479145353243.svg)](https://discord.gg/RfHQKtY) +[![Twitter CeloDevs](https://img.shields.io/twitter/follow/celodevs?style=social)](https://twitter.com/celodevs) +[![Twitter CeloOrg](https://img.shields.io/twitter/follow/celoorg?style=social)](https://twitter.com/CeloOrg) +[![Subreddit subscribers](https://img.shields.io/reddit/subreddit-subscribers/CeloHQ?style=social)](https://www.reddit.com/r/CeloHQ/) + + + +[![GitHub pull requests by-label](https://img.shields.io/github/issues-pr-raw/celo-org/celo-monorepo)](https://github.com/celo-org/celo-monorepo/pulls) +[![GitHub Issues](https://img.shields.io/github/issues-raw/celo-org/celo-monorepo.svg)](https://github.com/celo-org/celo-monorepo/issues) +[![GitHub issues by-label](https://img.shields.io/github/issues/celo-org/celo-monorepo/1%20hour%20tasks)](https://github.com/celo-org/celo-monorepo/issues?q=is%3Aopen+is%3Aissue+label%3A%221+hour+tasks%22) +[![GitHub issues by-label](https://img.shields.io/github/issues/celo-org/celo-monorepo/betanet-phase-2)](https://github.com/celo-org/celo-monorepo/issues?q=is%3Aopen+is%3Aissue+label%3Abetanet-phase-2) +[![GitHub issues by-label](https://img.shields.io/github/issues/celo-org/celo-monorepo/betanet-phase-3)](https://github.com/celo-org/celo-monorepo/issues?q=is%3Aopen+is%3Aissue+label%3Abetanet-phase-3) + +Contents: + + + +- [Celo's Mission - Prosperity for All](#mission) +- [The Celo Stack](#stack) +- [Documentation](#docs) +- [Issues](#issues) +- [Repo Structure](#repo) +- [Contributing](#contributing) +- [Ask Questions, Find Answers, Get in Touch](#ask) +- [License](#license) + + +## šŸ„… Celo's Mission - Prosperity for All + +Celo, pronounced /Ėˆtselo/, means ā€˜purposeā€™ in Esperanto. In a similar spirit, we are aiming to create a new platform to connect people globally and bring financial stability to those who need it most. We believe blockchain technology is one of the most exciting innovations in recent history and as a community we look to push the boundaries of what is possible with it today. More importantly, we are driven by purpose -- to solve real-world problems such as lack of access to sound currency, or friction for cash-transfer programs aimed to alleviate poverty. Our mission is to build a monetary system that creates the conditions for prosperity for all. + + +

+ + Play on Youtube - What if money were beautiful + +
+ What if money were beautiful? +

+ +## šŸ§± The Celo Stack + +Celo is oriented around providing the simplest possible experience for end users, who may have no familiarity with cryptocurrencies, and may be using low cost devices with limited connectivity. To achieve this, the project takes a full-stack approach, where each layer of the stack is designed with the end user in mind whilst considering other stakeholders \(e.g. operators of nodes in the network\) involved in enabling the end user experience. + +The Celo stack is structured into the following logical layers: + + +

+ Celo protocol +
+ The Celo Blockchain and Celo Core Contracts together comprise the Celo Protocol +

+ +- **Celo Blockchain**: An open cryptographic protocol that allows applications to make transactions with and run smart contracts in a secure and decentralized fashion. The Celo Blockchain has shared ancestry with [Ethereum](https://www.ethereum.org), and maintains full EVM compatibility for smart contracts. However it uses a [Byzantine Fault Tolerant](http://pmg.csail.mit.edu/papers/osdi99.pdf) \(BFT\) consensus mechanism rather than Proof of Work, and has different block format, transaction format, client synchronization protocols, and gas payment and pricing mechanisms. The networkā€™s native asset is Celo Gold, exposed via an ERC-20 interface. + +- **Celo Core Contracts**: A set of smart contracts running on the Celo Blockchain that comprise much of the logic of the platform features including ERC-20 stable currencies, identity attestations, Proof of Stake and governance. These smart contracts are upgradeable and managed by the decentralized governance process. + + +

+ Celo network +
+ Topology of a Celo Network +

+ +- **Applications:** Applications for end users built on the Celo platform. The Celo Wallet app, the first of an ecosystem of applications, allows end users to manage accounts and make payments securely and simply by taking advantage of the innovations in the Celo protocol. Applications take the form of external mobile or backend software: they interact with the Celo Blockchain to issue transactions and invoke code that forms the Celo Core Contractsā€™ API. Third parties can also deploy custom smart contracts that their own applications can invoke, which in turn can leverage Celo Core Contracts. Applications may use centralized cloud services to provide some of their functionality: in the case of the Celo Wallet, push notifications and a transaction activity feed. + +## šŸ“š Documentation + +Follow the instructions in [SETUP.md](SETUP.md) to get a development environment set up. + +See [Developer's Guide](https://docs.celo.org/) for full details about the design of the Celo protocol and other information about running these projects. + +## šŸ™‹ Issues + +See the [issue backlog](https://github.com/celo-org/celo-monorepo/issues) for a list of active or proposed tasks. Feel free to create new issues to report bugs and/or request features. + +## šŸ“‚ Repo Structure + +The repository has the following packages (sub projects): + +- [attestation-service](packages/attestation-service) - service run by validators on the Celo network to send SMS messages, enabling attestations of user phone numbers and their accounts on the Celo network +- [blockchain-api](packages/blockchain-api) - service that uses Blockscout to present view of transactions by account for Celo Wallet activity feed +- [celotool](packages/celotool) - scripts for deploying and managing testnets +- [cli](packages/cli) - tool that uses ContractKit to interact with the Celo protocol ([docs](https://docs.celo.org/command-line-interface/introduction)) +- [contractkit](packages/contractkit) - library to help developers and validators interact with the protocol and it's smart contracts ([docs](https://docs.celo.org/celo-sdk/contractkit)) +- [dappkit](packages/dappkit) - set of functions for mobile DApps to work with the wallet app (ex. sign transactions and access the user's account) ([docs](https://docs.celo.org/celo-sdk/dappkit)) +- [dev-utils](packages/dev-utils) - a utils package for use as a dev dependency +- [docs](packages/docs) - technical documentation for the Celo project ([live](https://docs.celo.org/)) +- [faucet](packages/faucet) - faucet deployment configuration ([live](https://celo.org/build/faucet)) +- [helm-charts](packages/helm-charts) - templatized deployments of entire environments to Kubernetes clusters +- [mobile](packages/mobile) - Android wallet app for the Celo platform ([docs](https://docs.celo.org/getting-started/using-the-mobile-wallet), [live](https://play.google.com/store/apps/details?id=org.celo.mobile.alfajores)) +- [notification-service](packages/notification-service) - service for managing push notifications for Celo Wallet +- [protocol](packages/protocol) - identity, stability and other smart contracts for the Celo protocol ([docs](https://docs.celo.org/celo-codebase/protocol)) +- [react-components](packages/react-components) - generalized react native components +- [reserve-site](packages/reserve-site) - website for ([Celo Reserve.org](https://celoreserve.org/)) +- [terraform-modules](packages/terraform-modules) - templatized deployments of entire VM-based testnets for Google Cloud Platform +- [typescript](packages/typescript) - no README available (improve?) +- [utils](packages/utils) - no README available (improve?) + +Code owners for each package can be found in [.github/CODEOWNERS](.github/CODEOWNERS). + +## āœļø Contributing + +Feel free to jump on the Celo šŸš‚šŸš‹šŸš‹šŸš‹. Improvements and contributions are highly encouraged! šŸ™šŸ‘Š + +See the [contributing guide](https://docs.celo.org/community/contributing) for details on how to participate. +[![GitHub issues by-label](https://img.shields.io/github/issues/celo-org/celo-monorepo/1%20hour%20tasks)](https://github.com/celo-org/celo-monorepo/issues?q=is%3Aopen+is%3Aissue+label%3A%221+hour+tasks%22) + +All communication and contributions to the Celo project are subject to the [Celo Code of Conduct](https://celo.org/code-of-conduct). + +Not yet ready to contribute but do like the project? Support Celo with a ā­ or share the love in a [![Twitter URL](https://img.shields.io/twitter/url?style=social&url=https%3A%2F%2Fcelo.org%2F)](https://twitter.com/intent/tweet?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DkKggE5OvyhE&via=celohq&text=Checkout%20celo%21%20Love%20what%20they%20are%20building.&hashtags=celo) + + + +## šŸ’¬ Ask Questions, Find Answers, Get in Touch + +- [Website](https://celo.org/) +- [Docs](https://docs.celo.org/) +- [Blog](https://medium.com/celohq) +- [YouTube](https://www.youtube.com/channel/UCCZgos_YAJSXm5QX5D5Wkcw/videos?view=0&sort=p&flow=grid) +- [Forum](https://forum.celo.org) +- [Discord](https://discord.gg/vRbExjv) +- [Twitter](https://twitter.com/CeloDevs) +- [Reddit](https://www.reddit.com/r/CeloHQ/) +- [Community Events](https://celo.org/community) + +## šŸ“œ License + +All packages are licensed under the terms of the [Apache 2.0 License](LICENSE) unless otherwise specified in the LICENSE file at package's root. diff --git a/packages/docs/developer-resources/keystores/reference/SUMMARY.md b/packages/docs/developer-resources/keystores/reference/SUMMARY.md new file mode 100644 index 00000000000..1ec029bca1c --- /dev/null +++ b/packages/docs/developer-resources/keystores/reference/SUMMARY.md @@ -0,0 +1,19 @@ +* [Globals](globals.md) +* [Modules]() + * [file-keystore](modules/_file_keystore_.md) + * [FileKeystore](classes/_file_keystore_.filekeystore.md) + * [inmemory-keystore](modules/_inmemory_keystore_.md) + * [InMemoryKeystore](classes/_inmemory_keystore_.inmemorykeystore.md) + * [keystore-base](modules/_keystore_base_.md) + * [ErrorMessages](enums/_keystore_base_.errormessages.md) + * [KeystoreBase](classes/_keystore_base_.keystorebase.md) + * [keystore-wallet-wrapper](modules/_keystore_wallet_wrapper_.md) + * [KeystoreWalletWrapper](classes/_keystore_wallet_wrapper_.keystorewalletwrapper.md) + * [test-constants](modules/_test_constants_.md) +* [Classes]() + * [FileKeystore](classes/_file_keystore_.filekeystore.md) + * [InMemoryKeystore](classes/_inmemory_keystore_.inmemorykeystore.md) + * [KeystoreBase](classes/_keystore_base_.keystorebase.md) + * [KeystoreWalletWrapper](classes/_keystore_wallet_wrapper_.keystorewalletwrapper.md) +* [Enums]() + * [ErrorMessages](enums/_keystore_base_.errormessages.md) \ No newline at end of file diff --git a/packages/docs/developer-resources/keystores/reference/classes/_file_keystore_.filekeystore.md b/packages/docs/developer-resources/keystores/reference/classes/_file_keystore_.filekeystore.md new file mode 100644 index 00000000000..4b453914968 --- /dev/null +++ b/packages/docs/developer-resources/keystores/reference/classes/_file_keystore_.filekeystore.md @@ -0,0 +1,284 @@ +# Class: FileKeystore + +## Hierarchy + +* [KeystoreBase](_keystore_base_.keystorebase.md) + + ā†³ **FileKeystore** + +## Index + +### Constructors + +* [constructor](_file_keystore_.filekeystore.md#constructor) + +### Methods + +* [changeKeystorePassphrase](_file_keystore_.filekeystore.md#changekeystorepassphrase) +* [deleteKeystore](_file_keystore_.filekeystore.md#deletekeystore) +* [getAddress](_file_keystore_.filekeystore.md#getaddress) +* [getAddressMap](_file_keystore_.filekeystore.md#getaddressmap) +* [getAllKeystoreNames](_file_keystore_.filekeystore.md#getallkeystorenames) +* [getKeystoreName](_file_keystore_.filekeystore.md#getkeystorename) +* [getPrivateKey](_file_keystore_.filekeystore.md#getprivatekey) +* [getRawKeystore](_file_keystore_.filekeystore.md#getrawkeystore) +* [importPrivateKey](_file_keystore_.filekeystore.md#importprivatekey) +* [listKeystoreAddresses](_file_keystore_.filekeystore.md#listkeystoreaddresses) +* [persistKeystore](_file_keystore_.filekeystore.md#persistkeystore) +* [removeKeystore](_file_keystore_.filekeystore.md#removekeystore) + +## Constructors + +### constructor + +\+ **new FileKeystore**(`keystoreDir`: string): *[FileKeystore](_file_keystore_.filekeystore.md)* + +*Defined in [file-keystore.ts:10](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/file-keystore.ts#L10)* + +Creates (but does not overwrite existing) directory +for containing keystore entries. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`keystoreDir` | string | Path to directory where keystore will be saved | + +**Returns:** *[FileKeystore](_file_keystore_.filekeystore.md)* + +## Methods + +### changeKeystorePassphrase + +ā–ø **changeKeystorePassphrase**(`address`: string, `oldPassphrase`: string, `newPassphrase`: string): *Promiseā€¹voidā€ŗ* + +*Inherited from [KeystoreBase](_keystore_base_.keystorebase.md).[changeKeystorePassphrase](_keystore_base_.keystorebase.md#changekeystorepassphrase)* + +*Defined in [keystore-base.ts:132](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/keystore-base.ts#L132)* + +Change secret phrase used to encrypt the private key of an address + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`address` | string | Account address | +`oldPassphrase` | string | Secret phrase used to encrypt the private key | +`newPassphrase` | string | New secret phrase to re-encrypt the private key | + +**Returns:** *Promiseā€¹voidā€ŗ* + +___ + +### deleteKeystore + +ā–ø **deleteKeystore**(`address`: string): *Promiseā€¹voidā€ŗ* + +*Inherited from [KeystoreBase](_keystore_base_.keystorebase.md).[deleteKeystore](_keystore_base_.keystorebase.md#deletekeystore)* + +*Defined in [keystore-base.ts:145](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/keystore-base.ts#L145)* + +Permanently removes keystore entry from keystore + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`address` | string | Account address of keystore to be deleted | + +**Returns:** *Promiseā€¹voidā€ŗ* + +___ + +### getAddress + +ā–ø **getAddress**(`keystoreName`: string): *string* + +*Inherited from [KeystoreBase](_keystore_base_.keystorebase.md).[getAddress](_keystore_base_.keystorebase.md#getaddress)* + +*Defined in [keystore-base.ts:51](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/keystore-base.ts#L51)* + +Gets the address corresponding to a particular keystore entry + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`keystoreName` | string | Name of keystore entry belonging to the address | + +**Returns:** *string* + +Account address + +___ + +### getAddressMap + +ā–ø **getAddressMap**(): *Promiseā€¹Recordā€¹string, stringā€ŗā€ŗ* + +*Inherited from [KeystoreBase](_keystore_base_.keystorebase.md).[getAddressMap](_keystore_base_.keystorebase.md#getaddressmap)* + +*Defined in [keystore-base.ts:72](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/keystore-base.ts#L72)* + +Maps account addresses to their respective keystore entries (names) + +**Returns:** *Promiseā€¹Recordā€¹string, stringā€ŗā€ŗ* + +Record with account addresses as keys, keystore entry names as values + +___ + +### getAllKeystoreNames + +ā–ø **getAllKeystoreNames**(): *Promiseā€¹string[]ā€ŗ* + +*Overrides [KeystoreBase](_keystore_base_.keystorebase.md).[getAllKeystoreNames](_keystore_base_.keystorebase.md#abstract-getallkeystorenames)* + +*Defined in [file-keystore.ts:27](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/file-keystore.ts#L27)* + +**Returns:** *Promiseā€¹string[]ā€ŗ* + +List of file names (keystore entries) in the keystore + +___ + +### getKeystoreName + +ā–ø **getKeystoreName**(`address`: string): *Promiseā€¹stringā€ŗ* + +*Inherited from [KeystoreBase](_keystore_base_.keystorebase.md).[getKeystoreName](_keystore_base_.keystorebase.md#getkeystorename)* + +*Defined in [keystore-base.ts:106](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/keystore-base.ts#L106)* + +Gets name of keystore entry corresponding to an address + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`address` | string | Account address | + +**Returns:** *Promiseā€¹stringā€ŗ* + +Name of corresponding keystore entry + +___ + +### getPrivateKey + +ā–ø **getPrivateKey**(`address`: string, `passphrase`: string): *Promiseā€¹stringā€ŗ* + +*Inherited from [KeystoreBase](_keystore_base_.keystorebase.md).[getPrivateKey](_keystore_base_.keystorebase.md#getprivatekey)* + +*Defined in [keystore-base.ts:120](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/keystore-base.ts#L120)* + +Gets decrypted (plaintext) private key for an account address + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`address` | string | Account address | +`passphrase` | string | Secret phrase used to encrypt the private key | + +**Returns:** *Promiseā€¹stringā€ŗ* + +___ + +### getRawKeystore + +ā–ø **getRawKeystore**(`keystoreName`: string): *string* + +*Overrides [KeystoreBase](_keystore_base_.keystorebase.md).[getRawKeystore](_keystore_base_.keystorebase.md#abstract-getrawkeystore)* + +*Defined in [file-keystore.ts:45](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/file-keystore.ts#L45)* + +Gets contents of keystore entry file + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`keystoreName` | string | File name of keystore entry | + +**Returns:** *string* + +V3Keystore string entry + +___ + +### importPrivateKey + +ā–ø **importPrivateKey**(`privateKey`: string, `passphrase`: string): *Promiseā€¹voidā€ŗ* + +*Inherited from [KeystoreBase](_keystore_base_.keystorebase.md).[importPrivateKey](_keystore_base_.keystorebase.md#importprivatekey)* + +*Defined in [keystore-base.ts:86](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/keystore-base.ts#L86)* + +Encrypts and stores a private key as a new keystore entry + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`privateKey` | string | Private key to encrypted | +`passphrase` | string | Secret string to encrypt private key | + +**Returns:** *Promiseā€¹voidā€ŗ* + +___ + +### listKeystoreAddresses + +ā–ø **listKeystoreAddresses**(): *Promiseā€¹string[]ā€ŗ* + +*Inherited from [KeystoreBase](_keystore_base_.keystorebase.md).[listKeystoreAddresses](_keystore_base_.keystorebase.md#listkeystoreaddresses)* + +*Defined in [keystore-base.ts:64](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/keystore-base.ts#L64)* + +Gets a list of all account addresses in the keystore + +**Returns:** *Promiseā€¹string[]ā€ŗ* + +List of account address strings + +___ + +### persistKeystore + +ā–ø **persistKeystore**(`keystoreName`: string, `keystore`: string): *void* + +*Overrides [KeystoreBase](_keystore_base_.keystorebase.md).[persistKeystore](_keystore_base_.keystorebase.md#abstract-persistkeystore)* + +*Defined in [file-keystore.ts:36](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/file-keystore.ts#L36)* + +Saves keystore entries as a file in the keystore directory + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`keystoreName` | string | File name of keystore entry | +`keystore` | string | V3Keystore string entry | + +**Returns:** *void* + +___ + +### removeKeystore + +ā–ø **removeKeystore**(`keystoreName`: string): *void* + +*Overrides [KeystoreBase](_keystore_base_.keystorebase.md).[removeKeystore](_keystore_base_.keystorebase.md#abstract-removekeystore)* + +*Defined in [file-keystore.ts:53](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/file-keystore.ts#L53)* + +Deletes file keystore entry from directory + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`keystoreName` | string | File name of keystore entry to be removed | + +**Returns:** *void* diff --git a/packages/docs/developer-resources/keystores/reference/classes/_inmemory_keystore_.inmemorykeystore.md b/packages/docs/developer-resources/keystores/reference/classes/_inmemory_keystore_.inmemorykeystore.md new file mode 100644 index 00000000000..d9c15d30dac --- /dev/null +++ b/packages/docs/developer-resources/keystores/reference/classes/_inmemory_keystore_.inmemorykeystore.md @@ -0,0 +1,251 @@ +# Class: InMemoryKeystore + +## Hierarchy + +* [KeystoreBase](_keystore_base_.keystorebase.md) + + ā†³ **InMemoryKeystore** + +## Index + +### Methods + +* [changeKeystorePassphrase](_inmemory_keystore_.inmemorykeystore.md#changekeystorepassphrase) +* [deleteKeystore](_inmemory_keystore_.inmemorykeystore.md#deletekeystore) +* [getAddress](_inmemory_keystore_.inmemorykeystore.md#getaddress) +* [getAddressMap](_inmemory_keystore_.inmemorykeystore.md#getaddressmap) +* [getAllKeystoreNames](_inmemory_keystore_.inmemorykeystore.md#getallkeystorenames) +* [getKeystoreName](_inmemory_keystore_.inmemorykeystore.md#getkeystorename) +* [getPrivateKey](_inmemory_keystore_.inmemorykeystore.md#getprivatekey) +* [getRawKeystore](_inmemory_keystore_.inmemorykeystore.md#getrawkeystore) +* [importPrivateKey](_inmemory_keystore_.inmemorykeystore.md#importprivatekey) +* [listKeystoreAddresses](_inmemory_keystore_.inmemorykeystore.md#listkeystoreaddresses) +* [persistKeystore](_inmemory_keystore_.inmemorykeystore.md#persistkeystore) +* [removeKeystore](_inmemory_keystore_.inmemorykeystore.md#removekeystore) + +## Methods + +### changeKeystorePassphrase + +ā–ø **changeKeystorePassphrase**(`address`: string, `oldPassphrase`: string, `newPassphrase`: string): *Promiseā€¹voidā€ŗ* + +*Inherited from [KeystoreBase](_keystore_base_.keystorebase.md).[changeKeystorePassphrase](_keystore_base_.keystorebase.md#changekeystorepassphrase)* + +*Defined in [keystore-base.ts:132](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/keystore-base.ts#L132)* + +Change secret phrase used to encrypt the private key of an address + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`address` | string | Account address | +`oldPassphrase` | string | Secret phrase used to encrypt the private key | +`newPassphrase` | string | New secret phrase to re-encrypt the private key | + +**Returns:** *Promiseā€¹voidā€ŗ* + +___ + +### deleteKeystore + +ā–ø **deleteKeystore**(`address`: string): *Promiseā€¹voidā€ŗ* + +*Inherited from [KeystoreBase](_keystore_base_.keystorebase.md).[deleteKeystore](_keystore_base_.keystorebase.md#deletekeystore)* + +*Defined in [keystore-base.ts:145](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/keystore-base.ts#L145)* + +Permanently removes keystore entry from keystore + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`address` | string | Account address of keystore to be deleted | + +**Returns:** *Promiseā€¹voidā€ŗ* + +___ + +### getAddress + +ā–ø **getAddress**(`keystoreName`: string): *string* + +*Inherited from [KeystoreBase](_keystore_base_.keystorebase.md).[getAddress](_keystore_base_.keystorebase.md#getaddress)* + +*Defined in [keystore-base.ts:51](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/keystore-base.ts#L51)* + +Gets the address corresponding to a particular keystore entry + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`keystoreName` | string | Name of keystore entry belonging to the address | + +**Returns:** *string* + +Account address + +___ + +### getAddressMap + +ā–ø **getAddressMap**(): *Promiseā€¹Recordā€¹string, stringā€ŗā€ŗ* + +*Inherited from [KeystoreBase](_keystore_base_.keystorebase.md).[getAddressMap](_keystore_base_.keystorebase.md#getaddressmap)* + +*Defined in [keystore-base.ts:72](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/keystore-base.ts#L72)* + +Maps account addresses to their respective keystore entries (names) + +**Returns:** *Promiseā€¹Recordā€¹string, stringā€ŗā€ŗ* + +Record with account addresses as keys, keystore entry names as values + +___ + +### getAllKeystoreNames + +ā–ø **getAllKeystoreNames**(): *Promiseā€¹string[]ā€ŗ* + +*Overrides [KeystoreBase](_keystore_base_.keystorebase.md).[getAllKeystoreNames](_keystore_base_.keystorebase.md#abstract-getallkeystorenames)* + +*Defined in [inmemory-keystore.ts:18](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/inmemory-keystore.ts#L18)* + +**Returns:** *Promiseā€¹string[]ā€ŗ* + +___ + +### getKeystoreName + +ā–ø **getKeystoreName**(`address`: string): *Promiseā€¹stringā€ŗ* + +*Inherited from [KeystoreBase](_keystore_base_.keystorebase.md).[getKeystoreName](_keystore_base_.keystorebase.md#getkeystorename)* + +*Defined in [keystore-base.ts:106](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/keystore-base.ts#L106)* + +Gets name of keystore entry corresponding to an address + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`address` | string | Account address | + +**Returns:** *Promiseā€¹stringā€ŗ* + +Name of corresponding keystore entry + +___ + +### getPrivateKey + +ā–ø **getPrivateKey**(`address`: string, `passphrase`: string): *Promiseā€¹stringā€ŗ* + +*Inherited from [KeystoreBase](_keystore_base_.keystorebase.md).[getPrivateKey](_keystore_base_.keystorebase.md#getprivatekey)* + +*Defined in [keystore-base.ts:120](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/keystore-base.ts#L120)* + +Gets decrypted (plaintext) private key for an account address + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`address` | string | Account address | +`passphrase` | string | Secret phrase used to encrypt the private key | + +**Returns:** *Promiseā€¹stringā€ŗ* + +___ + +### getRawKeystore + +ā–ø **getRawKeystore**(`keystoreName`: string): *string* + +*Overrides [KeystoreBase](_keystore_base_.keystorebase.md).[getRawKeystore](_keystore_base_.keystorebase.md#abstract-getrawkeystore)* + +*Defined in [inmemory-keystore.ts:14](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/inmemory-keystore.ts#L14)* + +**Parameters:** + +Name | Type | +------ | ------ | +`keystoreName` | string | + +**Returns:** *string* + +___ + +### importPrivateKey + +ā–ø **importPrivateKey**(`privateKey`: string, `passphrase`: string): *Promiseā€¹voidā€ŗ* + +*Inherited from [KeystoreBase](_keystore_base_.keystorebase.md).[importPrivateKey](_keystore_base_.keystorebase.md#importprivatekey)* + +*Defined in [keystore-base.ts:86](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/keystore-base.ts#L86)* + +Encrypts and stores a private key as a new keystore entry + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`privateKey` | string | Private key to encrypted | +`passphrase` | string | Secret string to encrypt private key | + +**Returns:** *Promiseā€¹voidā€ŗ* + +___ + +### listKeystoreAddresses + +ā–ø **listKeystoreAddresses**(): *Promiseā€¹string[]ā€ŗ* + +*Inherited from [KeystoreBase](_keystore_base_.keystorebase.md).[listKeystoreAddresses](_keystore_base_.keystorebase.md#listkeystoreaddresses)* + +*Defined in [keystore-base.ts:64](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/keystore-base.ts#L64)* + +Gets a list of all account addresses in the keystore + +**Returns:** *Promiseā€¹string[]ā€ŗ* + +List of account address strings + +___ + +### persistKeystore + +ā–ø **persistKeystore**(`keystoreName`: string, `keystore`: string): *void* + +*Overrides [KeystoreBase](_keystore_base_.keystorebase.md).[persistKeystore](_keystore_base_.keystorebase.md#abstract-persistkeystore)* + +*Defined in [inmemory-keystore.ts:10](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/inmemory-keystore.ts#L10)* + +**Parameters:** + +Name | Type | +------ | ------ | +`keystoreName` | string | +`keystore` | string | + +**Returns:** *void* + +___ + +### removeKeystore + +ā–ø **removeKeystore**(`keystoreName`: string): *void* + +*Overrides [KeystoreBase](_keystore_base_.keystorebase.md).[removeKeystore](_keystore_base_.keystorebase.md#abstract-removekeystore)* + +*Defined in [inmemory-keystore.ts:22](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/inmemory-keystore.ts#L22)* + +**Parameters:** + +Name | Type | +------ | ------ | +`keystoreName` | string | + +**Returns:** *void* diff --git a/packages/docs/developer-resources/keystores/reference/classes/_keystore_base_.keystorebase.md b/packages/docs/developer-resources/keystores/reference/classes/_keystore_base_.keystorebase.md new file mode 100644 index 00000000000..8e2a1c836f5 --- /dev/null +++ b/packages/docs/developer-resources/keystores/reference/classes/_keystore_base_.keystorebase.md @@ -0,0 +1,237 @@ +# Class: KeystoreBase + +## Hierarchy + +* **KeystoreBase** + + ā†³ [FileKeystore](_file_keystore_.filekeystore.md) + + ā†³ [InMemoryKeystore](_inmemory_keystore_.inmemorykeystore.md) + +## Index + +### Methods + +* [changeKeystorePassphrase](_keystore_base_.keystorebase.md#changekeystorepassphrase) +* [deleteKeystore](_keystore_base_.keystorebase.md#deletekeystore) +* [getAddress](_keystore_base_.keystorebase.md#getaddress) +* [getAddressMap](_keystore_base_.keystorebase.md#getaddressmap) +* [getAllKeystoreNames](_keystore_base_.keystorebase.md#abstract-getallkeystorenames) +* [getKeystoreName](_keystore_base_.keystorebase.md#getkeystorename) +* [getPrivateKey](_keystore_base_.keystorebase.md#getprivatekey) +* [getRawKeystore](_keystore_base_.keystorebase.md#abstract-getrawkeystore) +* [importPrivateKey](_keystore_base_.keystorebase.md#importprivatekey) +* [listKeystoreAddresses](_keystore_base_.keystorebase.md#listkeystoreaddresses) +* [persistKeystore](_keystore_base_.keystorebase.md#abstract-persistkeystore) +* [removeKeystore](_keystore_base_.keystorebase.md#abstract-removekeystore) + +## Methods + +### changeKeystorePassphrase + +ā–ø **changeKeystorePassphrase**(`address`: string, `oldPassphrase`: string, `newPassphrase`: string): *Promiseā€¹voidā€ŗ* + +*Defined in [keystore-base.ts:132](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/keystore-base.ts#L132)* + +Change secret phrase used to encrypt the private key of an address + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`address` | string | Account address | +`oldPassphrase` | string | Secret phrase used to encrypt the private key | +`newPassphrase` | string | New secret phrase to re-encrypt the private key | + +**Returns:** *Promiseā€¹voidā€ŗ* + +___ + +### deleteKeystore + +ā–ø **deleteKeystore**(`address`: string): *Promiseā€¹voidā€ŗ* + +*Defined in [keystore-base.ts:145](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/keystore-base.ts#L145)* + +Permanently removes keystore entry from keystore + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`address` | string | Account address of keystore to be deleted | + +**Returns:** *Promiseā€¹voidā€ŗ* + +___ + +### getAddress + +ā–ø **getAddress**(`keystoreName`: string): *string* + +*Defined in [keystore-base.ts:51](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/keystore-base.ts#L51)* + +Gets the address corresponding to a particular keystore entry + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`keystoreName` | string | Name of keystore entry belonging to the address | + +**Returns:** *string* + +Account address + +___ + +### getAddressMap + +ā–ø **getAddressMap**(): *Promiseā€¹Recordā€¹string, stringā€ŗā€ŗ* + +*Defined in [keystore-base.ts:72](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/keystore-base.ts#L72)* + +Maps account addresses to their respective keystore entries (names) + +**Returns:** *Promiseā€¹Recordā€¹string, stringā€ŗā€ŗ* + +Record with account addresses as keys, keystore entry names as values + +___ + +### `Abstract` getAllKeystoreNames + +ā–ø **getAllKeystoreNames**(): *Promiseā€¹string[]ā€ŗ* + +*Defined in [keystore-base.ts:38](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/keystore-base.ts#L38)* + +Gets a list of the names of each entry in the keystore + +**Returns:** *Promiseā€¹string[]ā€ŗ* + +___ + +### getKeystoreName + +ā–ø **getKeystoreName**(`address`: string): *Promiseā€¹stringā€ŗ* + +*Defined in [keystore-base.ts:106](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/keystore-base.ts#L106)* + +Gets name of keystore entry corresponding to an address + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`address` | string | Account address | + +**Returns:** *Promiseā€¹stringā€ŗ* + +Name of corresponding keystore entry + +___ + +### getPrivateKey + +ā–ø **getPrivateKey**(`address`: string, `passphrase`: string): *Promiseā€¹stringā€ŗ* + +*Defined in [keystore-base.ts:120](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/keystore-base.ts#L120)* + +Gets decrypted (plaintext) private key for an account address + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`address` | string | Account address | +`passphrase` | string | Secret phrase used to encrypt the private key | + +**Returns:** *Promiseā€¹stringā€ŗ* + +___ + +### `Abstract` getRawKeystore + +ā–ø **getRawKeystore**(`keystoreName`: string): *string* + +*Defined in [keystore-base.ts:33](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/keystore-base.ts#L33)* + +Returns raw encrypted keystore entry string by name + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`keystoreName` | string | Name of keystore entry to retrieve | + +**Returns:** *string* + +___ + +### importPrivateKey + +ā–ø **importPrivateKey**(`privateKey`: string, `passphrase`: string): *Promiseā€¹voidā€ŗ* + +*Defined in [keystore-base.ts:86](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/keystore-base.ts#L86)* + +Encrypts and stores a private key as a new keystore entry + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`privateKey` | string | Private key to encrypted | +`passphrase` | string | Secret string to encrypt private key | + +**Returns:** *Promiseā€¹voidā€ŗ* + +___ + +### listKeystoreAddresses + +ā–ø **listKeystoreAddresses**(): *Promiseā€¹string[]ā€ŗ* + +*Defined in [keystore-base.ts:64](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/keystore-base.ts#L64)* + +Gets a list of all account addresses in the keystore + +**Returns:** *Promiseā€¹string[]ā€ŗ* + +List of account address strings + +___ + +### `Abstract` persistKeystore + +ā–ø **persistKeystore**(`keystoreName`: string, `keystore`: string): *void* + +*Defined in [keystore-base.ts:27](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/keystore-base.ts#L27)* + +Saves encrypted keystore entry (i.e. to disk, database, ...). Must be implemented by subclass. + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`keystoreName` | string | Name of keystore entry to be saved | +`keystore` | string | encrypted V3Keystore string entry | + +**Returns:** *void* + +___ + +### `Abstract` removeKeystore + +ā–ø **removeKeystore**(`keystoreName`: string): *void* + +*Defined in [keystore-base.ts:44](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/keystore-base.ts#L44)* + +Removes keystore entry from keystore permanently + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`keystoreName` | string | Name of keystore entry to remove | + +**Returns:** *void* diff --git a/packages/docs/developer-resources/keystores/reference/classes/_keystore_wallet_wrapper_.keystorewalletwrapper.md b/packages/docs/developer-resources/keystores/reference/classes/_keystore_wallet_wrapper_.keystorewalletwrapper.md new file mode 100644 index 00000000000..82e13de0043 --- /dev/null +++ b/packages/docs/developer-resources/keystores/reference/classes/_keystore_wallet_wrapper_.keystorewalletwrapper.md @@ -0,0 +1,107 @@ +# Class: KeystoreWalletWrapper + +Convenience wrapper of the LocalWallet to connect to a keystore + +## Hierarchy + +* **KeystoreWalletWrapper** + +## Index + +### Constructors + +* [constructor](_keystore_wallet_wrapper_.keystorewalletwrapper.md#constructor) + +### Methods + +* [getKeystore](_keystore_wallet_wrapper_.keystorewalletwrapper.md#getkeystore) +* [getLocalWallet](_keystore_wallet_wrapper_.keystorewalletwrapper.md#getlocalwallet) +* [importPrivateKey](_keystore_wallet_wrapper_.keystorewalletwrapper.md#importprivatekey) +* [lockAccount](_keystore_wallet_wrapper_.keystorewalletwrapper.md#lockaccount) +* [unlockAccount](_keystore_wallet_wrapper_.keystorewalletwrapper.md#unlockaccount) + +## Constructors + +### constructor + +\+ **new KeystoreWalletWrapper**(`keystore`: [KeystoreBase](_keystore_base_.keystorebase.md)): *[KeystoreWalletWrapper](_keystore_wallet_wrapper_.keystorewalletwrapper.md)* + +*Defined in [keystore-wallet-wrapper.ts:9](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/keystore-wallet-wrapper.ts#L9)* + +**Parameters:** + +Name | Type | +------ | ------ | +`keystore` | [KeystoreBase](_keystore_base_.keystorebase.md) | + +**Returns:** *[KeystoreWalletWrapper](_keystore_wallet_wrapper_.keystorewalletwrapper.md)* + +## Methods + +### getKeystore + +ā–ø **getKeystore**(): *[KeystoreBase](_keystore_base_.keystorebase.md)* + +*Defined in [keystore-wallet-wrapper.ts:25](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/keystore-wallet-wrapper.ts#L25)* + +**Returns:** *[KeystoreBase](_keystore_base_.keystorebase.md)* + +___ + +### getLocalWallet + +ā–ø **getLocalWallet**(): *LocalWallet* + +*Defined in [keystore-wallet-wrapper.ts:21](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/keystore-wallet-wrapper.ts#L21)* + +**Returns:** *LocalWallet* + +___ + +### importPrivateKey + +ā–ø **importPrivateKey**(`privateKey`: string, `passphrase`: string): *Promiseā€¹voidā€ŗ* + +*Defined in [keystore-wallet-wrapper.ts:16](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/keystore-wallet-wrapper.ts#L16)* + +**Parameters:** + +Name | Type | +------ | ------ | +`privateKey` | string | +`passphrase` | string | + +**Returns:** *Promiseā€¹voidā€ŗ* + +___ + +### lockAccount + +ā–ø **lockAccount**(`address`: string): *Promiseā€¹voidā€ŗ* + +*Defined in [keystore-wallet-wrapper.ts:34](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/keystore-wallet-wrapper.ts#L34)* + +**Parameters:** + +Name | Type | +------ | ------ | +`address` | string | + +**Returns:** *Promiseā€¹voidā€ŗ* + +___ + +### unlockAccount + +ā–ø **unlockAccount**(`address`: string, `passphrase`: string): *Promiseā€¹voidā€ŗ* + +*Defined in [keystore-wallet-wrapper.ts:29](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/keystore-wallet-wrapper.ts#L29)* + +**Parameters:** + +Name | Type | +------ | ------ | +`address` | string | +`passphrase` | string | + +**Returns:** *Promiseā€¹voidā€ŗ* diff --git a/packages/docs/developer-resources/keystores/reference/enums/_keystore_base_.errormessages.md b/packages/docs/developer-resources/keystores/reference/enums/_keystore_base_.errormessages.md new file mode 100644 index 00000000000..2e04491cfb1 --- /dev/null +++ b/packages/docs/developer-resources/keystores/reference/enums/_keystore_base_.errormessages.md @@ -0,0 +1,33 @@ +# Enumeration: ErrorMessages + +## Index + +### Enumeration members + +* [KEYSTORE_ENTRY_EXISTS](_keystore_base_.errormessages.md#keystore_entry_exists) +* [NO_MATCHING_ENTRY](_keystore_base_.errormessages.md#no_matching_entry) +* [UNKNOWN_STRUCTURE](_keystore_base_.errormessages.md#unknown_structure) + +## Enumeration members + +### KEYSTORE_ENTRY_EXISTS + +ā€¢ **KEYSTORE_ENTRY_EXISTS**: = "Existing encrypted keystore for address" + +*Defined in [keystore-base.ts:9](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/keystore-base.ts#L9)* + +___ + +### NO_MATCHING_ENTRY + +ā€¢ **NO_MATCHING_ENTRY**: = "Keystore entry not found for address" + +*Defined in [keystore-base.ts:10](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/keystore-base.ts#L10)* + +___ + +### UNKNOWN_STRUCTURE + +ā€¢ **UNKNOWN_STRUCTURE**: = "Unexpected keystore entry structure" + +*Defined in [keystore-base.ts:11](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/keystore-base.ts#L11)* diff --git a/packages/docs/developer-resources/keystores/reference/globals.md b/packages/docs/developer-resources/keystores/reference/globals.md new file mode 100644 index 00000000000..74fc8746aba --- /dev/null +++ b/packages/docs/developer-resources/keystores/reference/globals.md @@ -0,0 +1,11 @@ +# @celo/keystores + +## Index + +### Modules + +* ["file-keystore"](modules/_file_keystore_.md) +* ["inmemory-keystore"](modules/_inmemory_keystore_.md) +* ["keystore-base"](modules/_keystore_base_.md) +* ["keystore-wallet-wrapper"](modules/_keystore_wallet_wrapper_.md) +* ["test-constants"](modules/_test_constants_.md) diff --git a/packages/docs/developer-resources/keystores/reference/modules/_file_keystore_.md b/packages/docs/developer-resources/keystores/reference/modules/_file_keystore_.md new file mode 100644 index 00000000000..26c7b329110 --- /dev/null +++ b/packages/docs/developer-resources/keystores/reference/modules/_file_keystore_.md @@ -0,0 +1,7 @@ +# Module: "file-keystore" + +## Index + +### Classes + +* [FileKeystore](../classes/_file_keystore_.filekeystore.md) diff --git a/packages/docs/developer-resources/keystores/reference/modules/_inmemory_keystore_.md b/packages/docs/developer-resources/keystores/reference/modules/_inmemory_keystore_.md new file mode 100644 index 00000000000..5655be7e5ec --- /dev/null +++ b/packages/docs/developer-resources/keystores/reference/modules/_inmemory_keystore_.md @@ -0,0 +1,7 @@ +# Module: "inmemory-keystore" + +## Index + +### Classes + +* [InMemoryKeystore](../classes/_inmemory_keystore_.inmemorykeystore.md) diff --git a/packages/docs/developer-resources/keystores/reference/modules/_keystore_base_.md b/packages/docs/developer-resources/keystores/reference/modules/_keystore_base_.md new file mode 100644 index 00000000000..00c681fd42e --- /dev/null +++ b/packages/docs/developer-resources/keystores/reference/modules/_keystore_base_.md @@ -0,0 +1,11 @@ +# Module: "keystore-base" + +## Index + +### Enumerations + +* [ErrorMessages](../enums/_keystore_base_.errormessages.md) + +### Classes + +* [KeystoreBase](../classes/_keystore_base_.keystorebase.md) diff --git a/packages/docs/developer-resources/keystores/reference/modules/_keystore_wallet_wrapper_.md b/packages/docs/developer-resources/keystores/reference/modules/_keystore_wallet_wrapper_.md new file mode 100644 index 00000000000..295d4c8ce1e --- /dev/null +++ b/packages/docs/developer-resources/keystores/reference/modules/_keystore_wallet_wrapper_.md @@ -0,0 +1,7 @@ +# Module: "keystore-wallet-wrapper" + +## Index + +### Classes + +* [KeystoreWalletWrapper](../classes/_keystore_wallet_wrapper_.keystorewalletwrapper.md) diff --git a/packages/docs/developer-resources/keystores/reference/modules/_test_constants_.md b/packages/docs/developer-resources/keystores/reference/modules/_test_constants_.md new file mode 100644 index 00000000000..cf477067e99 --- /dev/null +++ b/packages/docs/developer-resources/keystores/reference/modules/_test_constants_.md @@ -0,0 +1,96 @@ +# Module: "test-constants" + +## Index + +### Variables + +* [ADDRESS1](_test_constants_.md#const-address1) +* [ADDRESS2](_test_constants_.md#const-address2) +* [GETH_GEN_KEYSTORE1](_test_constants_.md#const-geth_gen_keystore1) +* [GETH_GEN_KEYSTORE2](_test_constants_.md#const-geth_gen_keystore2) +* [KEYSTORE_NAME1](_test_constants_.md#const-keystore_name1) +* [KEYSTORE_NAME2](_test_constants_.md#const-keystore_name2) +* [PASSPHRASE1](_test_constants_.md#const-passphrase1) +* [PASSPHRASE2](_test_constants_.md#const-passphrase2) +* [PK1](_test_constants_.md#const-pk1) +* [PK2](_test_constants_.md#const-pk2) + +## Variables + +### `Const` ADDRESS1 + +ā€¢ **ADDRESS1**: *string* = normalizeAddressWith0x(privateKeyToAddress(PK1)) + +*Defined in [test-constants.ts:8](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/test-constants.ts#L8)* + +___ + +### `Const` ADDRESS2 + +ā€¢ **ADDRESS2**: *string* = normalizeAddressWith0x(privateKeyToAddress(PK2)) + +*Defined in [test-constants.ts:13](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/test-constants.ts#L13)* + +___ + +### `Const` GETH_GEN_KEYSTORE1 + +ā€¢ **GETH_GEN_KEYSTORE1**: *"{"address":"8233d802bdc645d0d1b9b2e6face6e5825905081","blspublickey":"ed2ed9b2670458d01df329a4c750e7a6f89ec0e86676d4e093b2f32b4f3b603b6927b8dfe12e9fdf5c9f4bbbc504770052d816dbcaae90f4ef0af19333965b29f29b069c1f28eaa4bcaa62b27459855e4ad201aac245de05c3cb51dcab118080","crypto":{"cipher":"aes-128-ctr","ciphertext":"7b2ccdede461b9f7cc33fbbd7a9bfe23fdf455f3d4a8558cb10e86c5a4c5cc39","cipherparams":{"iv":"a78b8382da088a544edef093e922947b"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":262144,"p":1,"r":8,"salt":"2007752e0c72eed75a793cddba6a9e3c698b95a259002b32443d8c0430038505"},"mac":"e1599623f8957e538e17512e39693bf1a85fc4eab10fdb243c7d33fd18f9c766"},"id":"3b9465ac-eca1-4923-84e6-4624bd41ab0b","version":3}"* = `{"address":"8233d802bdc645d0d1b9b2e6face6e5825905081","blspublickey":"ed2ed9b2670458d01df329a4c750e7a6f89ec0e86676d4e093b2f32b4f3b603b6927b8dfe12e9fdf5c9f4bbbc504770052d816dbcaae90f4ef0af19333965b29f29b069c1f28eaa4bcaa62b27459855e4ad201aac245de05c3cb51dcab118080","crypto":{"cipher":"aes-128-ctr","ciphertext":"7b2ccdede461b9f7cc33fbbd7a9bfe23fdf455f3d4a8558cb10e86c5a4c5cc39","cipherparams":{"iv":"a78b8382da088a544edef093e922947b"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":262144,"p":1,"r":8,"salt":"2007752e0c72eed75a793cddba6a9e3c698b95a259002b32443d8c0430038505"},"mac":"e1599623f8957e538e17512e39693bf1a85fc4eab10fdb243c7d33fd18f9c766"},"id":"3b9465ac-eca1-4923-84e6-4624bd41ab0b","version":3}` + +*Defined in [test-constants.ts:6](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/test-constants.ts#L6)* + +___ + +### `Const` GETH_GEN_KEYSTORE2 + +ā€¢ **GETH_GEN_KEYSTORE2**: *"{"address":"b81a82696018fd9d8b43431966b60c31bdcdc2e8","blspublickey":"b9f862e2ced58bb2eef8ffde7020189ab2bb050603630eceec9b80c1636d98f8c3b9bd517d673937a0551c3a0698a00086bda4db1f0d859912a91988775ae388886013e7eb254d195871f9ced6643e288755da0b483ebe6dda448fea2eb75481","crypto":{"cipher":"aes-128-ctr","ciphertext":"6f3cd02b2d3d81b2bbf76743396c9c3c1685ddc6cfafbba34195ab03476831d3","cipherparams":{"iv":"af1f9853e0ff20ee5d495cf7d9461e1c"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":262144,"p":1,"r":8,"salt":"cf0446914e5d214f2a312c08ef24e7e3dd15e948d2ca67d59b3bb97903a96147"},"mac":"58348f6d843d28b3ac8cf40542d10da198016f28f132c32389ab56a945c858e1"},"id":"b224dac6-c089-4b47-8557-e04ae60b3506","version":3}"* = `{"address":"b81a82696018fd9d8b43431966b60c31bdcdc2e8","blspublickey":"b9f862e2ced58bb2eef8ffde7020189ab2bb050603630eceec9b80c1636d98f8c3b9bd517d673937a0551c3a0698a00086bda4db1f0d859912a91988775ae388886013e7eb254d195871f9ced6643e288755da0b483ebe6dda448fea2eb75481","crypto":{"cipher":"aes-128-ctr","ciphertext":"6f3cd02b2d3d81b2bbf76743396c9c3c1685ddc6cfafbba34195ab03476831d3","cipherparams":{"iv":"af1f9853e0ff20ee5d495cf7d9461e1c"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":262144,"p":1,"r":8,"salt":"cf0446914e5d214f2a312c08ef24e7e3dd15e948d2ca67d59b3bb97903a96147"},"mac":"58348f6d843d28b3ac8cf40542d10da198016f28f132c32389ab56a945c858e1"},"id":"b224dac6-c089-4b47-8557-e04ae60b3506","version":3}` + +*Defined in [test-constants.ts:12](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/test-constants.ts#L12)* + +___ + +### `Const` KEYSTORE_NAME1 + +ā€¢ **KEYSTORE_NAME1**: *"PK1 keystore name"* = "PK1 keystore name" + +*Defined in [test-constants.ts:7](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/test-constants.ts#L7)* + +___ + +### `Const` KEYSTORE_NAME2 + +ā€¢ **KEYSTORE_NAME2**: *"PK2 keystore name"* = "PK2 keystore name" + +*Defined in [test-constants.ts:11](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/test-constants.ts#L11)* + +___ + +### `Const` PASSPHRASE1 + +ā€¢ **PASSPHRASE1**: *"test- passwĆøƶrd1!"* = "test- passwĆøƶrd1!" + +*Defined in [test-constants.ts:3](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/test-constants.ts#L3)* + +___ + +### `Const` PASSPHRASE2 + +ā€¢ **PASSPHRASE2**: *"test-password2 !!"* = "test-password2 !!" + +*Defined in [test-constants.ts:9](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/test-constants.ts#L9)* + +___ + +### `Const` PK1 + +ā€¢ **PK1**: *"d72f6c0b0d7348a72eaa7d3c997bd49293bdc7d4bf79eba03e9f7ca9c5ac6b7f"* = "d72f6c0b0d7348a72eaa7d3c997bd49293bdc7d4bf79eba03e9f7ca9c5ac6b7f" + +*Defined in [test-constants.ts:4](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/test-constants.ts#L4)* + +___ + +### `Const` PK2 + +ā€¢ **PK2**: *"bb6f3fa4a83b7b06e72e580a3b09df5dd6fb4fa745ee2b0d865413ad6299e64e"* = "bb6f3fa4a83b7b06e72e580a3b09df5dd6fb4fa745ee2b0d865413ad6299e64e" + +*Defined in [test-constants.ts:10](https://github.com/celo-org/celo-monorepo/blob/master/packages/sdk/keystores/src/test-constants.ts#L10)* diff --git a/packages/docs/developer-resources/walkthroughs/using-js-keystores.md b/packages/docs/developer-resources/walkthroughs/using-js-keystores.md new file mode 100644 index 00000000000..1e679f6e10c --- /dev/null +++ b/packages/docs/developer-resources/walkthroughs/using-js-keystores.md @@ -0,0 +1,138 @@ +# Keystores Library + +## Overview + +This is a JavaScript library that provides functions for creating and interacting with encrypted keystores for private key management. To do this, this library wraps the existing [`ethereumjs-wallet` library](https://github.com/ethereumjs/ethereumjs-wallet), which is a standard library for managing keystores according to the [Web3 Secret Storage Definition](https://github.com/ethereum/wiki/wiki/Web3-Secret-Storage-Definition). As specified, secrets are encrypted using the Scrypt KDF (Key Derivation Function); in this case, the private key is encrypted with a passphrase (that should be kept secret) and can be decrypted later by the same phrase. Note that a keystore generated for the same (private key, passphrase) multiple times will not yield the same output due to how the KDF works. Keystore files generated by a geth node can be decrypted and accessed with this library, and vice versa. + +**Note that keystore files generated by this library do not contain BLS public keys, meaning that these should not be used for validator signer keys used in consensus.** + +The components of the library are roughly as follows: + +- `KeystoreBase` which wraps the functionality of `ethereumjs-wallet` and exposes functions to: + - import PKs (into encrypted keystores) + - decrypt and get a PK from an encrypted keystore + - change the passphrase on a keystore +- `FileKeystore`, `InMemoryKeystore` which specifiy the IO in addition to the above base class +- `KeystoreWalletWrapper`: (not stable; likely to structurally change) a very simple wrapper for a `Keystore` and `LocalWallet`, which allows a user to decrypt a keystore and pass the key to the `LocalWallet` in order to sign transactions. + +## Usage + +> āš ļø **Warning** +> +> For accounts containing significant funds or otherwise requiring a high degree of security, we **do not** recommend this keystore library! This is only for managing keys for low-risk hot wallets and signers. + +For more stringent security requirements, check out the guide to [Choosing a Wallet](../../getting-started/wallets.md). + +Depending on your use case, you can either interact directly with the `FileKeystore` (purely for creating and interacting with keystore files, importing or accessing private keys) or else use the `KeystoreWalletWrapper` (combines the keystore functionality with convenient access to the `LocalWallet` for signing tranactions). + +### Using the FileKeystore + +#### Create new keystore and import private key + +This snippet will create a `keystore` directory in the `parentDirectory` and create an encrypted file in the `keystore` directory containing the private key. Note that you can only create a new encrypted file for a private key if there is not already an existing file for that private key. If it already exists, you can change the passphrase (see below), but you may not have multiple files for the same private key in the same `keystore` directory. + +```js +import * as readline from 'readline' +import { FileKeystore } from '@celo/keystores' + +// This is the directory that will contain a "keystore" directory +const parentDirectory = '' +// This creates a "keystore" directory if one does not already exist in the parentDirectory +const keystore = new FileKeystore(parentDirectory) + +// Prompt to enter private key and passphrase on the command line +let rl = readline.createInterface({ + input: process.stdin, + output: process.stdout, +}) +const privateKey: string = await new Promise((resolve) => + rl.question('Enter private key:', (answer) => { + resolve(answer) + }) +) +const passphrase: string = await new Promise((resolve) => + rl.question('Enter secret passphrase:', (answer) => { + rl.close() + resolve(answer) + }) +) +// Import private key into the keystore, which is then stored as an encrypted file +// Should create a file with a name like `UTC--` +await keystore.importPrivateKey(privateKey, passphrase) +// Retrieve all addresses contained in the keystore +console.log('Addresses in keystore: ', await keystore.listKeystoreAddresses()) +``` + +#### Accessing an existing keystore file + +```js +// Keystore already exists +const parentDirectory = '' +const keystore = new FileKeystore(parentDirectory) +const address = '' +const oldPassphrase = '' + +// Decrypt file and retrieve private key +await keystore.getPrivateKey(address, oldPassphrase) + +// Change the passphrase encrypting the file +const newPassphrase = '' +await.keystore.changeKeystorePassphrase(address, oldPassphrase, newPassphrase) + +// Decrypt file and retrieve private key using new passphrase +console.log(await keystore.getPrivateKey(address, newPassphrase)) +``` + +#### Remove (delete) a keystore file for a particular address + +```js +const parentDirectory = '' +const keystore = new FileKeystore(parentDirectory) +const address = '' + +// When you know the address +// Get the filename (keystore name) +const keystoreName = await keystore.getKeystoreName(address) +await keystore.removeKeystore(keystoreName) + +// Alternatively, you can do this by passing in the filename directly +keystore.removeKeystore('') +``` + +### Using the KeystoreWalletWrapper + +This example will instantiate a `KeystoreWalletWrapper`, import a private key, and use the inner `LocalWallet` within the wrapper to sign and send a transaction with `ContractKit`. + +```js +import { newKit } from '@celo/contractkit' +import { FileKeystore, KeystoreWalletWrapper } from '@celo/keystores' + +// This is the directory that will contain a "keystore" directory +const parentDirectory = + '/Users/eelanagaraj/celo/celo-monorepo/packages/sdk/wallets/wallet-keystore/test-keystore-dir' +// Instantiate a KeystoreWalletWrapper using a FileKeystore +const keystoreWalletWrapper = new KeystoreWalletWrapper(new FileKeystore(parentDirectory)) +// Make sure to not commit this if using real funds! +// You can also get this as input on the command-line using `readline` +// as in the example above for FileKeystore +const privateKey = 'YOUR_TEST_PRIVATE_KEY' +const passphrase = 'test-passphrase1! ' + +// Import private key or unlock account +await keystoreWalletWrapper.importPrivateKey(privateKey, passphrase) +// If the keystore file already exists for an address, simply unlock: +// const address = 'YOUR_TEST_ADDRESS' +// await keystoreWalletWrapper.unlockAccount(address, passphrase) + +// Get the wrapper's `LocalWallet` instance and pass this into ContractKit +const wallet = keystoreWalletWrapper.getLocalWallet() +const kit = newKit('https://alfajores-forno.celo-testnet.org', wallet) +const [from] = wallet.getAccounts() + +// Send a test transaction +const gold = await kit.contracts.getGoldToken() +await gold + .transfer('0x22579ca45ee22e2e16ddf72d955d6cf4c767b0ef', '1') + .sendAndWaitForReceipt({ from }) +console.log('Transaction sent!') +``` diff --git a/packages/docs/package.json b/packages/docs/package.json index 5a4ace5c969..289c0984c61 100644 --- a/packages/docs/package.json +++ b/packages/docs/package.json @@ -18,7 +18,7 @@ }, "scripts": { "build": "gitbook install && gitbook build", - "lint": "remark -qf -u validate-links --ignore-pattern developer-resources/base/reference --ignore-pattern developer-resources/connect/reference --ignore-pattern developer-resources/contractkit/reference --ignore-pattern developer-resources/explorer/reference --ignore-pattern developer-resources/governance/reference --ignore-pattern developer-resources/identity/reference --ignore-pattern developer-resources/network-utils/reference --ignore-pattern developer-resources/transactions-uri/reference --ignore-pattern developer-resources/utils/reference --ignore-pattern developer-resources/wallet-base/reference --ignore-pattern developer-resources/wallet-hsm/reference --ignore-pattern developer-resources/wallet-hsm-aws/reference --ignore-pattern developer-resources/wallet-hsm-azure/reference --ignore-pattern developer-resources/wallet-ledger/reference --ignore-pattern developer-resources/wallet-local/reference --ignore-pattern developer-resources/wallet-remote/reference --ignore-pattern developer-resources/wallet-rpc/reference --ignore-pattern _book .", + "lint": "remark -qf -u validate-links --ignore-pattern developer-resources/base/reference --ignore-pattern developer-resources/connect/reference --ignore-pattern developer-resources/contractkit/reference --ignore-pattern developer-resources/explorer/reference --ignore-pattern developer-resources/governance/reference --ignore-pattern developer-resources/identity/reference --ignore-pattern developer-resources/keystores/reference --ignore-pattern developer-resources/network-utils/reference --ignore-pattern developer-resources/transactions-uri/reference --ignore-pattern developer-resources/utils/reference --ignore-pattern developer-resources/wallet-base/reference --ignore-pattern developer-resources/wallet-hsm/reference --ignore-pattern developer-resources/wallet-hsm-aws/reference --ignore-pattern developer-resources/wallet-hsm-azure/reference --ignore-pattern developer-resources/wallet-ledger/reference --ignore-pattern developer-resources/wallet-local/reference --ignore-pattern developer-resources/wallet-remote/reference --ignore-pattern developer-resources/wallet-rpc/reference --ignore-pattern _book .", "preview": "gitbook install && gitbook serve" }, "author": "", diff --git a/packages/sdk/keystores/typedoc.json b/packages/sdk/keystores/typedoc.json index 3ef0cc1240d..f3e5e7af37c 100644 --- a/packages/sdk/keystores/typedoc.json +++ b/packages/sdk/keystores/typedoc.json @@ -8,6 +8,6 @@ "ignoreCompilerErrors": true, "hideGenerator": "true", "theme": "gitbook", - "out": "../../../docs/developer-resources/keystores/reference", + "out": "../../docs/developer-resources/keystores/reference", "gitRevision": "master" }