@cardano-sdk/wallet 0.1.7 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/KeyManagement/InMemoryKeyAgent.d.ts +23 -0
- package/dist/cjs/KeyManagement/InMemoryKeyAgent.d.ts.map +1 -0
- package/dist/cjs/KeyManagement/InMemoryKeyAgent.js +118 -0
- package/dist/cjs/KeyManagement/InMemoryKeyAgent.js.map +1 -0
- package/dist/cjs/KeyManagement/KeyAgentBase.d.ts +20 -0
- package/dist/cjs/KeyManagement/KeyAgentBase.d.ts.map +1 -0
- package/dist/cjs/KeyManagement/KeyAgentBase.js +76 -0
- package/dist/cjs/KeyManagement/KeyAgentBase.js.map +1 -0
- package/dist/cjs/KeyManagement/LedgerKeyAgent.d.ts +43 -0
- package/dist/cjs/KeyManagement/LedgerKeyAgent.d.ts.map +1 -0
- package/dist/cjs/KeyManagement/LedgerKeyAgent.js +209 -0
- package/dist/cjs/KeyManagement/LedgerKeyAgent.js.map +1 -0
- package/dist/cjs/KeyManagement/TrezorKeyAgent.d.ts +30 -0
- package/dist/cjs/KeyManagement/TrezorKeyAgent.d.ts.map +1 -0
- package/dist/cjs/KeyManagement/TrezorKeyAgent.js +136 -0
- package/dist/cjs/KeyManagement/TrezorKeyAgent.js.map +1 -0
- package/dist/cjs/KeyManagement/cip8/cip30signData.d.ts +22 -0
- package/dist/cjs/KeyManagement/cip8/cip30signData.d.ts.map +1 -0
- package/dist/cjs/KeyManagement/cip8/cip30signData.js +81 -0
- package/dist/cjs/KeyManagement/cip8/cip30signData.js.map +1 -0
- package/dist/cjs/KeyManagement/cip8/index.d.ts +2 -0
- package/dist/cjs/KeyManagement/cip8/index.d.ts.map +1 -0
- package/dist/cjs/KeyManagement/cip8/index.js +18 -0
- package/dist/cjs/KeyManagement/cip8/index.js.map +1 -0
- package/dist/cjs/KeyManagement/cip8/types.d.ts +4 -0
- package/dist/cjs/KeyManagement/cip8/types.d.ts.map +1 -0
- package/dist/{KeyManagement → cjs/KeyManagement/cip8}/types.js +0 -0
- package/dist/cjs/KeyManagement/cip8/types.js.map +1 -0
- package/dist/cjs/KeyManagement/cip8/util.d.ts +7 -0
- package/dist/cjs/KeyManagement/cip8/util.d.ts.map +1 -0
- package/dist/cjs/KeyManagement/cip8/util.js +10 -0
- package/dist/cjs/KeyManagement/cip8/util.js.map +1 -0
- package/dist/cjs/KeyManagement/emip3.d.ts +4 -0
- package/dist/cjs/KeyManagement/emip3.d.ts.map +1 -0
- package/dist/cjs/KeyManagement/emip3.js +48 -0
- package/dist/cjs/KeyManagement/emip3.js.map +1 -0
- package/dist/cjs/KeyManagement/errors/AuthenticationError.d.ts +6 -0
- package/dist/cjs/KeyManagement/errors/AuthenticationError.d.ts.map +1 -0
- package/dist/cjs/KeyManagement/errors/AuthenticationError.js +16 -0
- package/dist/cjs/KeyManagement/errors/AuthenticationError.js.map +1 -0
- package/dist/cjs/KeyManagement/errors/HwMappingError.d.ts +6 -0
- package/dist/cjs/KeyManagement/errors/HwMappingError.d.ts.map +1 -0
- package/dist/cjs/KeyManagement/errors/HwMappingError.js +16 -0
- package/dist/cjs/KeyManagement/errors/HwMappingError.js.map +1 -0
- package/dist/cjs/KeyManagement/errors/InvalidMnemonicError.d.ts +5 -0
- package/dist/cjs/KeyManagement/errors/InvalidMnemonicError.d.ts.map +1 -0
- package/dist/cjs/KeyManagement/errors/InvalidMnemonicError.js +13 -0
- package/dist/cjs/KeyManagement/errors/InvalidMnemonicError.js.map +1 -0
- package/dist/cjs/KeyManagement/errors/InvalidSerializableDataError .d.ts +5 -0
- package/dist/cjs/KeyManagement/errors/InvalidSerializableDataError .d.ts.map +1 -0
- package/dist/cjs/KeyManagement/errors/InvalidSerializableDataError .js +15 -0
- package/dist/cjs/KeyManagement/errors/InvalidSerializableDataError .js.map +1 -0
- package/dist/cjs/KeyManagement/errors/TransportError.d.ts +6 -0
- package/dist/cjs/KeyManagement/errors/TransportError.d.ts.map +1 -0
- package/dist/cjs/KeyManagement/errors/TransportError.js +16 -0
- package/dist/cjs/KeyManagement/errors/TransportError.js.map +1 -0
- package/dist/cjs/KeyManagement/errors/index.d.ts +6 -0
- package/dist/cjs/KeyManagement/errors/index.d.ts.map +1 -0
- package/dist/cjs/KeyManagement/errors/index.js +22 -0
- package/dist/cjs/KeyManagement/errors/index.js.map +1 -0
- package/dist/cjs/KeyManagement/index.d.ts +12 -0
- package/dist/cjs/KeyManagement/index.d.ts.map +1 -0
- package/dist/{KeyManagement → cjs/KeyManagement}/index.js +16 -4
- package/dist/cjs/KeyManagement/index.js.map +1 -0
- package/dist/cjs/KeyManagement/restoreKeyAgent.d.ts +9 -0
- package/dist/cjs/KeyManagement/restoreKeyAgent.d.ts.map +1 -0
- package/dist/cjs/KeyManagement/restoreKeyAgent.js +31 -0
- package/dist/cjs/KeyManagement/restoreKeyAgent.js.map +1 -0
- package/dist/cjs/KeyManagement/types.d.ts +102 -0
- package/dist/cjs/KeyManagement/types.d.ts.map +1 -0
- package/dist/cjs/KeyManagement/types.js +30 -0
- package/dist/cjs/KeyManagement/types.js.map +1 -0
- package/dist/cjs/KeyManagement/util/bip39.d.ts +8 -0
- package/dist/cjs/KeyManagement/util/bip39.d.ts.map +1 -0
- package/dist/{KeyManagement/util.js → cjs/KeyManagement/util/bip39.js} +14 -6
- package/dist/cjs/KeyManagement/util/bip39.js.map +1 -0
- package/dist/cjs/KeyManagement/util/cachedGetPassword.d.ts +4 -0
- package/dist/cjs/KeyManagement/util/cachedGetPassword.d.ts.map +1 -0
- package/dist/cjs/KeyManagement/util/cachedGetPassword.js +25 -0
- package/dist/cjs/KeyManagement/util/cachedGetPassword.js.map +1 -0
- package/dist/cjs/KeyManagement/util/constants.d.ts +12 -0
- package/dist/cjs/KeyManagement/util/constants.d.ts.map +1 -0
- package/dist/cjs/KeyManagement/util/constants.js +17 -0
- package/dist/cjs/KeyManagement/util/constants.js.map +1 -0
- package/dist/cjs/KeyManagement/util/createAsyncKeyAgent.d.ts +3 -0
- package/dist/cjs/KeyManagement/util/createAsyncKeyAgent.d.ts.map +1 -0
- package/dist/cjs/KeyManagement/util/createAsyncKeyAgent.js +25 -0
- package/dist/cjs/KeyManagement/util/createAsyncKeyAgent.js.map +1 -0
- package/dist/cjs/KeyManagement/util/index.d.ts +9 -0
- package/dist/cjs/KeyManagement/util/index.d.ts.map +1 -0
- package/dist/cjs/KeyManagement/util/index.js +25 -0
- package/dist/cjs/KeyManagement/util/index.js.map +1 -0
- package/dist/cjs/KeyManagement/util/key.d.ts +6 -0
- package/dist/cjs/KeyManagement/util/key.d.ts.map +1 -0
- package/dist/cjs/KeyManagement/util/key.js +17 -0
- package/dist/cjs/KeyManagement/util/key.js.map +1 -0
- package/dist/cjs/KeyManagement/util/mapHardwareSigningData.d.ts +44 -0
- package/dist/cjs/KeyManagement/util/mapHardwareSigningData.d.ts.map +1 -0
- package/dist/cjs/KeyManagement/util/mapHardwareSigningData.js +871 -0
- package/dist/cjs/KeyManagement/util/mapHardwareSigningData.js.map +1 -0
- package/dist/cjs/KeyManagement/util/ownSignatureKeyPaths.d.ts +4 -0
- package/dist/cjs/KeyManagement/util/ownSignatureKeyPaths.d.ts.map +1 -0
- package/dist/cjs/KeyManagement/util/ownSignatureKeyPaths.js +24 -0
- package/dist/cjs/KeyManagement/util/ownSignatureKeyPaths.js.map +1 -0
- package/dist/cjs/KeyManagement/util/stubSignTransaction.d.ts +4 -0
- package/dist/cjs/KeyManagement/util/stubSignTransaction.d.ts.map +1 -0
- package/dist/cjs/KeyManagement/util/stubSignTransaction.js +13 -0
- package/dist/cjs/KeyManagement/util/stubSignTransaction.js.map +1 -0
- package/dist/cjs/SingleAddressWallet.d.ts +65 -0
- package/dist/cjs/SingleAddressWallet.d.ts.map +1 -0
- package/dist/cjs/SingleAddressWallet.js +223 -0
- package/dist/cjs/SingleAddressWallet.js.map +1 -0
- package/dist/cjs/Transaction/createTransactionInternals.d.ts +16 -0
- package/dist/cjs/Transaction/createTransactionInternals.d.ts.map +1 -0
- package/dist/cjs/Transaction/createTransactionInternals.js +28 -0
- package/dist/cjs/Transaction/createTransactionInternals.js.map +1 -0
- package/dist/{Transaction → cjs/Transaction}/ensureValidityInterval.d.ts +0 -0
- package/dist/cjs/Transaction/ensureValidityInterval.d.ts.map +1 -0
- package/dist/{Transaction → cjs/Transaction}/ensureValidityInterval.js +0 -0
- package/dist/cjs/Transaction/ensureValidityInterval.js.map +1 -0
- package/dist/{Transaction → cjs/Transaction}/index.d.ts +0 -1
- package/dist/cjs/Transaction/index.d.ts.map +1 -0
- package/dist/{Transaction → cjs/Transaction}/index.js +5 -2
- package/dist/cjs/Transaction/index.js.map +1 -0
- package/dist/cjs/cip30.d.ts +30 -0
- package/dist/cjs/cip30.d.ts.map +1 -0
- package/dist/cjs/cip30.js +204 -0
- package/dist/cjs/cip30.js.map +1 -0
- package/dist/cjs/index.d.ts +8 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/{index.js → cjs/index.js} +8 -2
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/persistence/inMemoryStores/InMemoryCollectionStore.d.ts +9 -0
- package/dist/cjs/persistence/inMemoryStores/InMemoryCollectionStore.d.ts.map +1 -0
- package/dist/cjs/persistence/inMemoryStores/InMemoryCollectionStore.js +25 -0
- package/dist/cjs/persistence/inMemoryStores/InMemoryCollectionStore.js.map +1 -0
- package/dist/cjs/persistence/inMemoryStores/InMemoryDocumentStore.d.ts +9 -0
- package/dist/cjs/persistence/inMemoryStores/InMemoryDocumentStore.d.ts.map +1 -0
- package/dist/{services/util/SyncableIntervalTrackerSubject.js → cjs/persistence/inMemoryStores/InMemoryDocumentStore.js} +26 -18
- package/dist/cjs/persistence/inMemoryStores/InMemoryDocumentStore.js.map +1 -0
- package/dist/cjs/persistence/inMemoryStores/InMemoryKeyValueStore.d.ts +8 -0
- package/dist/cjs/persistence/inMemoryStores/InMemoryKeyValueStore.d.ts.map +1 -0
- package/dist/cjs/persistence/inMemoryStores/InMemoryKeyValueStore.js +31 -0
- package/dist/cjs/persistence/inMemoryStores/InMemoryKeyValueStore.js.map +1 -0
- package/dist/cjs/persistence/inMemoryStores/InMemoryStore.d.ts +7 -0
- package/dist/cjs/persistence/inMemoryStores/InMemoryStore.d.ts.map +1 -0
- package/dist/cjs/persistence/inMemoryStores/InMemoryStore.js +15 -0
- package/dist/cjs/persistence/inMemoryStores/InMemoryStore.js.map +1 -0
- package/dist/cjs/persistence/inMemoryStores/inMemoryWalletStores.d.ts +35 -0
- package/dist/cjs/persistence/inMemoryStores/inMemoryWalletStores.d.ts.map +1 -0
- package/dist/cjs/persistence/inMemoryStores/inMemoryWalletStores.js +85 -0
- package/dist/cjs/persistence/inMemoryStores/inMemoryWalletStores.js.map +1 -0
- package/dist/cjs/persistence/inMemoryStores/index.d.ts +5 -0
- package/dist/cjs/persistence/inMemoryStores/index.d.ts.map +1 -0
- package/dist/cjs/persistence/inMemoryStores/index.js +21 -0
- package/dist/cjs/persistence/inMemoryStores/index.js.map +1 -0
- package/dist/cjs/persistence/index.d.ts +4 -0
- package/dist/cjs/persistence/index.d.ts.map +1 -0
- package/dist/cjs/persistence/index.js +20 -0
- package/dist/cjs/persistence/index.js.map +1 -0
- package/dist/cjs/persistence/pouchdbStores/PouchdbCollectionStore.d.ts +16 -0
- package/dist/cjs/persistence/pouchdbStores/PouchdbCollectionStore.d.ts.map +1 -0
- package/dist/cjs/persistence/pouchdbStores/PouchdbCollectionStore.js +60 -0
- package/dist/cjs/persistence/pouchdbStores/PouchdbCollectionStore.js.map +1 -0
- package/dist/cjs/persistence/pouchdbStores/PouchdbDocumentStore.d.ts +10 -0
- package/dist/cjs/persistence/pouchdbStores/PouchdbDocumentStore.d.ts.map +1 -0
- package/dist/cjs/persistence/pouchdbStores/PouchdbDocumentStore.js +45 -0
- package/dist/cjs/persistence/pouchdbStores/PouchdbDocumentStore.js.map +1 -0
- package/dist/cjs/persistence/pouchdbStores/PouchdbKeyValueStore.d.ts +11 -0
- package/dist/cjs/persistence/pouchdbStores/PouchdbKeyValueStore.d.ts.map +1 -0
- package/dist/cjs/persistence/pouchdbStores/PouchdbKeyValueStore.js +53 -0
- package/dist/cjs/persistence/pouchdbStores/PouchdbKeyValueStore.js.map +1 -0
- package/dist/cjs/persistence/pouchdbStores/PouchdbStore.d.ts +20 -0
- package/dist/cjs/persistence/pouchdbStores/PouchdbStore.d.ts.map +1 -0
- package/dist/cjs/persistence/pouchdbStores/PouchdbStore.js +69 -0
- package/dist/cjs/persistence/pouchdbStores/PouchdbStore.js.map +1 -0
- package/dist/cjs/persistence/pouchdbStores/index.d.ts +5 -0
- package/dist/cjs/persistence/pouchdbStores/index.d.ts.map +1 -0
- package/dist/cjs/persistence/pouchdbStores/index.js +21 -0
- package/dist/cjs/persistence/pouchdbStores/index.js.map +1 -0
- package/dist/cjs/persistence/pouchdbStores/pouchdbWalletStores.d.ts +37 -0
- package/dist/cjs/persistence/pouchdbStores/pouchdbWalletStores.d.ts.map +1 -0
- package/dist/cjs/persistence/pouchdbStores/pouchdbWalletStores.js +84 -0
- package/dist/cjs/persistence/pouchdbStores/pouchdbWalletStores.js.map +1 -0
- package/dist/cjs/persistence/pouchdbStores/util.d.ts +10 -0
- package/dist/cjs/persistence/pouchdbStores/util.d.ts.map +1 -0
- package/dist/cjs/persistence/pouchdbStores/util.js +52 -0
- package/dist/cjs/persistence/pouchdbStores/util.js.map +1 -0
- package/dist/cjs/persistence/types.d.ts +41 -0
- package/dist/cjs/persistence/types.d.ts.map +1 -0
- package/dist/{services/DelegationTracker → cjs/persistence}/types.js +0 -0
- package/dist/cjs/persistence/types.js.map +1 -0
- package/dist/cjs/services/AssetsTracker.d.ts +17 -0
- package/dist/cjs/services/AssetsTracker.d.ts.map +1 -0
- package/dist/cjs/services/AssetsTracker.js +10 -0
- package/dist/cjs/services/AssetsTracker.js.map +1 -0
- package/dist/cjs/services/BalanceTracker.d.ts +5 -0
- package/dist/cjs/services/BalanceTracker.d.ts.map +1 -0
- package/dist/cjs/services/BalanceTracker.js +22 -0
- package/dist/cjs/services/BalanceTracker.js.map +1 -0
- package/dist/cjs/services/DelegationTracker/DelegationTracker.d.ts +31 -0
- package/dist/cjs/services/DelegationTracker/DelegationTracker.d.ts.map +1 -0
- package/dist/cjs/services/DelegationTracker/DelegationTracker.js +44 -0
- package/dist/cjs/services/DelegationTracker/DelegationTracker.js.map +1 -0
- package/dist/cjs/services/DelegationTracker/RewardAccounts.d.ts +37 -0
- package/dist/cjs/services/DelegationTracker/RewardAccounts.d.ts.map +1 -0
- package/dist/cjs/services/DelegationTracker/RewardAccounts.js +101 -0
- package/dist/cjs/services/DelegationTracker/RewardAccounts.js.map +1 -0
- package/dist/cjs/services/DelegationTracker/RewardsHistory.d.ts +11 -0
- package/dist/cjs/services/DelegationTracker/RewardsHistory.d.ts.map +1 -0
- package/dist/cjs/services/DelegationTracker/RewardsHistory.js +60 -0
- package/dist/cjs/services/DelegationTracker/RewardsHistory.js.map +1 -0
- package/dist/cjs/services/DelegationTracker/index.d.ts +5 -0
- package/dist/cjs/services/DelegationTracker/index.d.ts.map +1 -0
- package/dist/{services → cjs/services}/DelegationTracker/index.js +6 -2
- package/dist/cjs/services/DelegationTracker/index.js.map +1 -0
- package/dist/cjs/services/DelegationTracker/transactionCertificates.d.ts +8 -0
- package/dist/cjs/services/DelegationTracker/transactionCertificates.d.ts.map +1 -0
- package/dist/cjs/services/DelegationTracker/transactionCertificates.js +41 -0
- package/dist/cjs/services/DelegationTracker/transactionCertificates.js.map +1 -0
- package/dist/{services → cjs/services}/DelegationTracker/types.d.ts +0 -0
- package/dist/cjs/services/DelegationTracker/types.d.ts.map +1 -0
- package/dist/cjs/services/DelegationTracker/types.js +3 -0
- package/dist/cjs/services/DelegationTracker/types.js.map +1 -0
- package/dist/cjs/services/EpochTracker.d.ts +5 -0
- package/dist/cjs/services/EpochTracker.d.ts.map +1 -0
- package/dist/cjs/services/EpochTracker.js +13 -0
- package/dist/cjs/services/EpochTracker.js.map +1 -0
- package/dist/cjs/services/ProviderTracker/ProviderStatusTracker.d.ts +35 -0
- package/dist/cjs/services/ProviderTracker/ProviderStatusTracker.d.ts.map +1 -0
- package/dist/cjs/services/ProviderTracker/ProviderStatusTracker.js +37 -0
- package/dist/cjs/services/ProviderTracker/ProviderStatusTracker.js.map +1 -0
- package/dist/cjs/services/ProviderTracker/ProviderTracker.d.ts +14 -0
- package/dist/cjs/services/ProviderTracker/ProviderTracker.d.ts.map +1 -0
- package/dist/cjs/services/ProviderTracker/ProviderTracker.js +36 -0
- package/dist/cjs/services/ProviderTracker/ProviderTracker.js.map +1 -0
- package/dist/cjs/services/ProviderTracker/TrackedAssetProvider.d.ts +14 -0
- package/dist/cjs/services/ProviderTracker/TrackedAssetProvider.d.ts.map +1 -0
- package/dist/cjs/services/ProviderTracker/TrackedAssetProvider.js +27 -0
- package/dist/cjs/services/ProviderTracker/TrackedAssetProvider.js.map +1 -0
- package/dist/cjs/services/ProviderTracker/TrackedChainHistoryProvider.d.ts +20 -0
- package/dist/cjs/services/ProviderTracker/TrackedChainHistoryProvider.d.ts.map +1 -0
- package/dist/cjs/services/ProviderTracker/TrackedChainHistoryProvider.js +39 -0
- package/dist/cjs/services/ProviderTracker/TrackedChainHistoryProvider.js.map +1 -0
- package/dist/cjs/services/ProviderTracker/TrackedNetworkInfoProvider.d.ts +20 -0
- package/dist/cjs/services/ProviderTracker/TrackedNetworkInfoProvider.d.ts.map +1 -0
- package/dist/cjs/services/ProviderTracker/TrackedNetworkInfoProvider.js +39 -0
- package/dist/cjs/services/ProviderTracker/TrackedNetworkInfoProvider.js.map +1 -0
- package/dist/cjs/services/ProviderTracker/TrackedRewardsProvider.d.ts +18 -0
- package/dist/cjs/services/ProviderTracker/TrackedRewardsProvider.d.ts.map +1 -0
- package/dist/cjs/services/ProviderTracker/TrackedRewardsProvider.js +35 -0
- package/dist/cjs/services/ProviderTracker/TrackedRewardsProvider.js.map +1 -0
- package/dist/cjs/services/ProviderTracker/TrackedStakePoolProvider.d.ts +16 -0
- package/dist/cjs/services/ProviderTracker/TrackedStakePoolProvider.d.ts.map +1 -0
- package/dist/cjs/services/ProviderTracker/TrackedStakePoolProvider.js +31 -0
- package/dist/cjs/services/ProviderTracker/TrackedStakePoolProvider.js.map +1 -0
- package/dist/cjs/services/ProviderTracker/TrackedTxSubmitProvider.d.ts +17 -0
- package/dist/cjs/services/ProviderTracker/TrackedTxSubmitProvider.d.ts.map +1 -0
- package/dist/cjs/services/ProviderTracker/TrackedTxSubmitProvider.js +32 -0
- package/dist/cjs/services/ProviderTracker/TrackedTxSubmitProvider.js.map +1 -0
- package/dist/cjs/services/ProviderTracker/TrackedUtxoProvider.d.ts +16 -0
- package/dist/cjs/services/ProviderTracker/TrackedUtxoProvider.d.ts.map +1 -0
- package/dist/cjs/services/ProviderTracker/TrackedUtxoProvider.js +31 -0
- package/dist/cjs/services/ProviderTracker/TrackedUtxoProvider.js.map +1 -0
- package/dist/cjs/services/ProviderTracker/index.d.ts +10 -0
- package/dist/cjs/services/ProviderTracker/index.d.ts.map +1 -0
- package/dist/cjs/services/ProviderTracker/index.js +26 -0
- package/dist/cjs/services/ProviderTracker/index.js.map +1 -0
- package/dist/cjs/services/TransactionsTracker.d.ts +25 -0
- package/dist/cjs/services/TransactionsTracker.d.ts.map +1 -0
- package/dist/cjs/services/TransactionsTracker.js +88 -0
- package/dist/cjs/services/TransactionsTracker.js.map +1 -0
- package/dist/cjs/services/UtxoTracker.d.ts +21 -0
- package/dist/cjs/services/UtxoTracker.d.ts.map +1 -0
- package/dist/cjs/services/UtxoTracker.js +36 -0
- package/dist/cjs/services/UtxoTracker.js.map +1 -0
- package/dist/cjs/services/WalletUtil.d.ts +10 -0
- package/dist/cjs/services/WalletUtil.d.ts.map +1 -0
- package/dist/cjs/services/WalletUtil.js +36 -0
- package/dist/cjs/services/WalletUtil.js.map +1 -0
- package/dist/cjs/services/index.d.ts +11 -0
- package/dist/cjs/services/index.d.ts.map +1 -0
- package/dist/{services → cjs/services}/index.js +9 -3
- package/dist/cjs/services/index.js.map +1 -0
- package/dist/{services → cjs/services}/types.d.ts +31 -31
- package/dist/cjs/services/types.d.ts.map +1 -0
- package/dist/cjs/services/types.js +19 -0
- package/dist/cjs/services/types.js.map +1 -0
- package/dist/cjs/services/util/coldObservableProvider.d.ts +4 -0
- package/dist/cjs/services/util/coldObservableProvider.d.ts.map +1 -0
- package/dist/{services → cjs/services}/util/coldObservableProvider.js +2 -2
- package/dist/cjs/services/util/coldObservableProvider.js.map +1 -0
- package/dist/cjs/services/util/equals.d.ts +15 -0
- package/dist/cjs/services/util/equals.d.ts.map +1 -0
- package/dist/cjs/services/util/equals.js +33 -0
- package/dist/cjs/services/util/equals.js.map +1 -0
- package/dist/cjs/services/util/index.d.ts +5 -0
- package/dist/cjs/services/util/index.d.ts.map +1 -0
- package/dist/{services → cjs/services}/util/index.js +6 -3
- package/dist/cjs/services/util/index.js.map +1 -0
- package/dist/cjs/services/util/persistentTrackerSubjects.d.ts +29 -0
- package/dist/cjs/services/util/persistentTrackerSubjects.d.ts.map +1 -0
- package/dist/cjs/services/util/persistentTrackerSubjects.js +56 -0
- package/dist/cjs/services/util/persistentTrackerSubjects.js.map +1 -0
- package/dist/cjs/services/util/trigger.d.ts +5 -0
- package/dist/cjs/services/util/trigger.d.ts.map +1 -0
- package/dist/cjs/services/util/trigger.js +10 -0
- package/dist/cjs/services/util/trigger.js.map +1 -0
- package/dist/cjs/tsconfig.tsbuildinfo +1 -0
- package/dist/cjs/types.d.ts +61 -0
- package/dist/cjs/types.d.ts.map +1 -0
- package/dist/cjs/types.js +3 -0
- package/dist/{KeyManagement → cjs}/types.js.map +1 -1
- package/dist/esm/KeyManagement/InMemoryKeyAgent.d.ts +23 -0
- package/dist/esm/KeyManagement/InMemoryKeyAgent.d.ts.map +1 -0
- package/dist/esm/KeyManagement/InMemoryKeyAgent.js +88 -0
- package/dist/esm/KeyManagement/InMemoryKeyAgent.js.map +1 -0
- package/dist/esm/KeyManagement/KeyAgentBase.d.ts +20 -0
- package/dist/esm/KeyManagement/KeyAgentBase.d.ts.map +1 -0
- package/dist/esm/KeyManagement/KeyAgentBase.js +72 -0
- package/dist/esm/KeyManagement/KeyAgentBase.js.map +1 -0
- package/dist/esm/KeyManagement/LedgerKeyAgent.d.ts +43 -0
- package/dist/esm/KeyManagement/LedgerKeyAgent.d.ts.map +1 -0
- package/dist/esm/KeyManagement/LedgerKeyAgent.js +179 -0
- package/dist/esm/KeyManagement/LedgerKeyAgent.js.map +1 -0
- package/dist/esm/KeyManagement/TrezorKeyAgent.d.ts +30 -0
- package/dist/esm/KeyManagement/TrezorKeyAgent.d.ts.map +1 -0
- package/dist/esm/KeyManagement/TrezorKeyAgent.js +129 -0
- package/dist/esm/KeyManagement/TrezorKeyAgent.js.map +1 -0
- package/dist/esm/KeyManagement/cip8/cip30signData.d.ts +22 -0
- package/dist/esm/KeyManagement/cip8/cip30signData.d.ts.map +1 -0
- package/dist/esm/KeyManagement/cip8/cip30signData.js +76 -0
- package/dist/esm/KeyManagement/cip8/cip30signData.js.map +1 -0
- package/dist/esm/KeyManagement/cip8/index.d.ts +2 -0
- package/dist/esm/KeyManagement/cip8/index.d.ts.map +1 -0
- package/dist/esm/KeyManagement/cip8/index.js +2 -0
- package/dist/esm/KeyManagement/cip8/index.js.map +1 -0
- package/dist/esm/KeyManagement/cip8/types.d.ts +4 -0
- package/dist/esm/KeyManagement/cip8/types.d.ts.map +1 -0
- package/dist/esm/KeyManagement/cip8/types.js +2 -0
- package/dist/esm/KeyManagement/cip8/types.js.map +1 -0
- package/dist/esm/KeyManagement/cip8/util.d.ts +7 -0
- package/dist/esm/KeyManagement/cip8/util.d.ts.map +1 -0
- package/dist/esm/KeyManagement/cip8/util.js +7 -0
- package/dist/esm/KeyManagement/cip8/util.js.map +1 -0
- package/dist/esm/KeyManagement/emip3.d.ts +4 -0
- package/dist/esm/KeyManagement/emip3.d.ts.map +1 -0
- package/dist/esm/KeyManagement/emip3.js +39 -0
- package/dist/esm/KeyManagement/emip3.js.map +1 -0
- package/dist/esm/KeyManagement/errors/AuthenticationError.d.ts +6 -0
- package/dist/esm/KeyManagement/errors/AuthenticationError.d.ts.map +1 -0
- package/dist/esm/KeyManagement/errors/AuthenticationError.js +12 -0
- package/dist/esm/KeyManagement/errors/AuthenticationError.js.map +1 -0
- package/dist/esm/KeyManagement/errors/HwMappingError.d.ts +6 -0
- package/dist/esm/KeyManagement/errors/HwMappingError.d.ts.map +1 -0
- package/dist/esm/KeyManagement/errors/HwMappingError.js +12 -0
- package/dist/esm/KeyManagement/errors/HwMappingError.js.map +1 -0
- package/dist/esm/KeyManagement/errors/InvalidMnemonicError.d.ts +5 -0
- package/dist/esm/KeyManagement/errors/InvalidMnemonicError.d.ts.map +1 -0
- package/dist/esm/KeyManagement/errors/InvalidMnemonicError.js +9 -0
- package/dist/esm/KeyManagement/errors/InvalidMnemonicError.js.map +1 -0
- package/dist/esm/KeyManagement/errors/InvalidSerializableDataError .d.ts +5 -0
- package/dist/esm/KeyManagement/errors/InvalidSerializableDataError .d.ts.map +1 -0
- package/dist/esm/KeyManagement/errors/InvalidSerializableDataError .js +11 -0
- package/dist/esm/KeyManagement/errors/InvalidSerializableDataError .js.map +1 -0
- package/dist/esm/KeyManagement/errors/TransportError.d.ts +6 -0
- package/dist/esm/KeyManagement/errors/TransportError.d.ts.map +1 -0
- package/dist/esm/KeyManagement/errors/TransportError.js +12 -0
- package/dist/esm/KeyManagement/errors/TransportError.js.map +1 -0
- package/dist/esm/KeyManagement/errors/index.d.ts +6 -0
- package/dist/esm/KeyManagement/errors/index.d.ts.map +1 -0
- package/dist/esm/KeyManagement/errors/index.js +6 -0
- package/dist/esm/KeyManagement/errors/index.js.map +1 -0
- package/dist/esm/KeyManagement/index.d.ts +12 -0
- package/dist/esm/KeyManagement/index.d.ts.map +1 -0
- package/dist/esm/KeyManagement/index.js +12 -0
- package/dist/esm/KeyManagement/index.js.map +1 -0
- package/dist/esm/KeyManagement/restoreKeyAgent.d.ts +9 -0
- package/dist/esm/KeyManagement/restoreKeyAgent.d.ts.map +1 -0
- package/dist/esm/KeyManagement/restoreKeyAgent.js +27 -0
- package/dist/esm/KeyManagement/restoreKeyAgent.js.map +1 -0
- package/dist/esm/KeyManagement/types.d.ts +102 -0
- package/dist/esm/KeyManagement/types.d.ts.map +1 -0
- package/dist/esm/KeyManagement/types.js +27 -0
- package/dist/esm/KeyManagement/types.js.map +1 -0
- package/dist/esm/KeyManagement/util/bip39.d.ts +8 -0
- package/dist/esm/KeyManagement/util/bip39.d.ts.map +1 -0
- package/dist/esm/KeyManagement/util/bip39.js +8 -0
- package/dist/esm/KeyManagement/util/bip39.js.map +1 -0
- package/dist/esm/KeyManagement/util/cachedGetPassword.d.ts +4 -0
- package/dist/esm/KeyManagement/util/cachedGetPassword.d.ts.map +1 -0
- package/dist/esm/KeyManagement/util/cachedGetPassword.js +21 -0
- package/dist/esm/KeyManagement/util/cachedGetPassword.js.map +1 -0
- package/dist/esm/KeyManagement/util/constants.d.ts +12 -0
- package/dist/esm/KeyManagement/util/constants.d.ts.map +1 -0
- package/dist/esm/KeyManagement/util/constants.js +14 -0
- package/dist/esm/KeyManagement/util/constants.js.map +1 -0
- package/dist/esm/KeyManagement/util/createAsyncKeyAgent.d.ts +3 -0
- package/dist/esm/KeyManagement/util/createAsyncKeyAgent.d.ts.map +1 -0
- package/dist/esm/KeyManagement/util/createAsyncKeyAgent.js +21 -0
- package/dist/esm/KeyManagement/util/createAsyncKeyAgent.js.map +1 -0
- package/dist/esm/KeyManagement/util/index.d.ts +9 -0
- package/dist/esm/KeyManagement/util/index.d.ts.map +1 -0
- package/dist/esm/KeyManagement/util/index.js +9 -0
- package/dist/esm/KeyManagement/util/index.js.map +1 -0
- package/dist/esm/KeyManagement/util/key.d.ts +6 -0
- package/dist/esm/KeyManagement/util/key.d.ts.map +1 -0
- package/dist/esm/KeyManagement/util/key.js +12 -0
- package/dist/esm/KeyManagement/util/key.js.map +1 -0
- package/dist/esm/KeyManagement/util/mapHardwareSigningData.d.ts +44 -0
- package/dist/esm/KeyManagement/util/mapHardwareSigningData.d.ts.map +1 -0
- package/dist/esm/KeyManagement/util/mapHardwareSigningData.js +840 -0
- package/dist/esm/KeyManagement/util/mapHardwareSigningData.js.map +1 -0
- package/dist/esm/KeyManagement/util/ownSignatureKeyPaths.d.ts +4 -0
- package/dist/esm/KeyManagement/util/ownSignatureKeyPaths.d.ts.map +1 -0
- package/dist/esm/KeyManagement/util/ownSignatureKeyPaths.js +17 -0
- package/dist/esm/KeyManagement/util/ownSignatureKeyPaths.js.map +1 -0
- package/dist/esm/KeyManagement/util/stubSignTransaction.d.ts +4 -0
- package/dist/esm/KeyManagement/util/stubSignTransaction.d.ts.map +1 -0
- package/dist/esm/KeyManagement/util/stubSignTransaction.js +9 -0
- package/dist/esm/KeyManagement/util/stubSignTransaction.js.map +1 -0
- package/dist/esm/SingleAddressWallet.d.ts +65 -0
- package/dist/esm/SingleAddressWallet.d.ts.map +1 -0
- package/dist/esm/SingleAddressWallet.js +216 -0
- package/dist/esm/SingleAddressWallet.js.map +1 -0
- package/dist/esm/Transaction/createTransactionInternals.d.ts +16 -0
- package/dist/esm/Transaction/createTransactionInternals.d.ts.map +1 -0
- package/dist/esm/Transaction/createTransactionInternals.js +24 -0
- package/dist/esm/Transaction/createTransactionInternals.js.map +1 -0
- package/dist/esm/Transaction/ensureValidityInterval.d.ts +3 -0
- package/dist/esm/Transaction/ensureValidityInterval.d.ts.map +1 -0
- package/dist/esm/Transaction/ensureValidityInterval.js +2 -0
- package/dist/esm/Transaction/ensureValidityInterval.js.map +1 -0
- package/dist/esm/Transaction/index.d.ts +3 -0
- package/dist/esm/Transaction/index.d.ts.map +1 -0
- package/dist/esm/Transaction/index.js +3 -0
- package/dist/esm/Transaction/index.js.map +1 -0
- package/dist/esm/cip30.d.ts +30 -0
- package/dist/esm/cip30.d.ts.map +1 -0
- package/dist/esm/cip30.js +200 -0
- package/dist/esm/cip30.js.map +1 -0
- package/dist/esm/index.d.ts +8 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/{index.d.ts → esm/index.js} +3 -1
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/persistence/inMemoryStores/InMemoryCollectionStore.d.ts +9 -0
- package/dist/esm/persistence/inMemoryStores/InMemoryCollectionStore.d.ts.map +1 -0
- package/dist/esm/persistence/inMemoryStores/InMemoryCollectionStore.js +21 -0
- package/dist/esm/persistence/inMemoryStores/InMemoryCollectionStore.js.map +1 -0
- package/dist/esm/persistence/inMemoryStores/InMemoryDocumentStore.d.ts +9 -0
- package/dist/esm/persistence/inMemoryStores/InMemoryDocumentStore.d.ts.map +1 -0
- package/dist/esm/persistence/inMemoryStores/InMemoryDocumentStore.js +34 -0
- package/dist/esm/persistence/inMemoryStores/InMemoryDocumentStore.js.map +1 -0
- package/dist/esm/persistence/inMemoryStores/InMemoryKeyValueStore.d.ts +8 -0
- package/dist/esm/persistence/inMemoryStores/InMemoryKeyValueStore.d.ts.map +1 -0
- package/dist/esm/persistence/inMemoryStores/InMemoryKeyValueStore.js +27 -0
- package/dist/esm/persistence/inMemoryStores/InMemoryKeyValueStore.js.map +1 -0
- package/dist/esm/persistence/inMemoryStores/InMemoryStore.d.ts +7 -0
- package/dist/esm/persistence/inMemoryStores/InMemoryStore.d.ts.map +1 -0
- package/dist/esm/persistence/inMemoryStores/InMemoryStore.js +11 -0
- package/dist/esm/persistence/inMemoryStores/InMemoryStore.js.map +1 -0
- package/dist/esm/persistence/inMemoryStores/inMemoryWalletStores.d.ts +35 -0
- package/dist/esm/persistence/inMemoryStores/inMemoryWalletStores.d.ts.map +1 -0
- package/dist/esm/persistence/inMemoryStores/inMemoryWalletStores.js +68 -0
- package/dist/esm/persistence/inMemoryStores/inMemoryWalletStores.js.map +1 -0
- package/dist/esm/persistence/inMemoryStores/index.d.ts +5 -0
- package/dist/esm/persistence/inMemoryStores/index.d.ts.map +1 -0
- package/dist/esm/persistence/inMemoryStores/index.js +5 -0
- package/dist/esm/persistence/inMemoryStores/index.js.map +1 -0
- package/dist/esm/persistence/index.d.ts +4 -0
- package/dist/esm/persistence/index.d.ts.map +1 -0
- package/dist/esm/persistence/index.js +4 -0
- package/dist/esm/persistence/index.js.map +1 -0
- package/dist/esm/persistence/pouchdbStores/PouchdbCollectionStore.d.ts +16 -0
- package/dist/esm/persistence/pouchdbStores/PouchdbCollectionStore.d.ts.map +1 -0
- package/dist/esm/persistence/pouchdbStores/PouchdbCollectionStore.js +56 -0
- package/dist/esm/persistence/pouchdbStores/PouchdbCollectionStore.js.map +1 -0
- package/dist/esm/persistence/pouchdbStores/PouchdbDocumentStore.d.ts +10 -0
- package/dist/esm/persistence/pouchdbStores/PouchdbDocumentStore.d.ts.map +1 -0
- package/dist/esm/persistence/pouchdbStores/PouchdbDocumentStore.js +41 -0
- package/dist/esm/persistence/pouchdbStores/PouchdbDocumentStore.js.map +1 -0
- package/dist/esm/persistence/pouchdbStores/PouchdbKeyValueStore.d.ts +11 -0
- package/dist/esm/persistence/pouchdbStores/PouchdbKeyValueStore.d.ts.map +1 -0
- package/dist/esm/persistence/pouchdbStores/PouchdbKeyValueStore.js +49 -0
- package/dist/esm/persistence/pouchdbStores/PouchdbKeyValueStore.js.map +1 -0
- package/dist/esm/persistence/pouchdbStores/PouchdbStore.d.ts +20 -0
- package/dist/esm/persistence/pouchdbStores/PouchdbStore.d.ts.map +1 -0
- package/dist/esm/persistence/pouchdbStores/PouchdbStore.js +62 -0
- package/dist/esm/persistence/pouchdbStores/PouchdbStore.js.map +1 -0
- package/dist/esm/persistence/pouchdbStores/index.d.ts +5 -0
- package/dist/esm/persistence/pouchdbStores/index.d.ts.map +1 -0
- package/dist/esm/persistence/pouchdbStores/index.js +5 -0
- package/dist/esm/persistence/pouchdbStores/index.js.map +1 -0
- package/dist/esm/persistence/pouchdbStores/pouchdbWalletStores.d.ts +37 -0
- package/dist/esm/persistence/pouchdbStores/pouchdbWalletStores.d.ts.map +1 -0
- package/dist/esm/persistence/pouchdbStores/pouchdbWalletStores.js +68 -0
- package/dist/esm/persistence/pouchdbStores/pouchdbWalletStores.js.map +1 -0
- package/dist/esm/persistence/pouchdbStores/util.d.ts +10 -0
- package/dist/esm/persistence/pouchdbStores/util.d.ts.map +1 -0
- package/dist/esm/persistence/pouchdbStores/util.js +43 -0
- package/dist/esm/persistence/pouchdbStores/util.js.map +1 -0
- package/dist/esm/persistence/types.d.ts +41 -0
- package/dist/esm/persistence/types.d.ts.map +1 -0
- package/dist/esm/persistence/types.js +2 -0
- package/dist/esm/persistence/types.js.map +1 -0
- package/dist/esm/services/AssetsTracker.d.ts +17 -0
- package/dist/esm/services/AssetsTracker.d.ts.map +1 -0
- package/dist/esm/services/AssetsTracker.js +5 -0
- package/dist/esm/services/AssetsTracker.js.map +1 -0
- package/dist/esm/services/BalanceTracker.d.ts +5 -0
- package/dist/esm/services/BalanceTracker.d.ts.map +1 -0
- package/dist/esm/services/BalanceTracker.js +18 -0
- package/dist/esm/services/BalanceTracker.js.map +1 -0
- package/dist/esm/services/DelegationTracker/DelegationTracker.d.ts +31 -0
- package/dist/esm/services/DelegationTracker/DelegationTracker.d.ts.map +1 -0
- package/dist/esm/services/DelegationTracker/DelegationTracker.js +38 -0
- package/dist/esm/services/DelegationTracker/DelegationTracker.js.map +1 -0
- package/dist/esm/services/DelegationTracker/RewardAccounts.d.ts +37 -0
- package/dist/esm/services/DelegationTracker/RewardAccounts.d.ts.map +1 -0
- package/dist/esm/services/DelegationTracker/RewardAccounts.js +85 -0
- package/dist/esm/services/DelegationTracker/RewardAccounts.js.map +1 -0
- package/dist/esm/services/DelegationTracker/RewardsHistory.d.ts +11 -0
- package/dist/esm/services/DelegationTracker/RewardsHistory.d.ts.map +1 -0
- package/dist/esm/services/DelegationTracker/RewardsHistory.js +52 -0
- package/dist/esm/services/DelegationTracker/RewardsHistory.js.map +1 -0
- package/dist/esm/services/DelegationTracker/index.d.ts +5 -0
- package/dist/esm/services/DelegationTracker/index.d.ts.map +1 -0
- package/dist/{services/DelegationTracker/index.d.ts → esm/services/DelegationTracker/index.js} +2 -2
- package/dist/esm/services/DelegationTracker/index.js.map +1 -0
- package/dist/esm/services/DelegationTracker/transactionCertificates.d.ts +8 -0
- package/dist/esm/services/DelegationTracker/transactionCertificates.d.ts.map +1 -0
- package/dist/esm/services/DelegationTracker/transactionCertificates.js +31 -0
- package/dist/esm/services/DelegationTracker/transactionCertificates.js.map +1 -0
- package/dist/esm/services/DelegationTracker/types.d.ts +6 -0
- package/dist/esm/services/DelegationTracker/types.d.ts.map +1 -0
- package/dist/esm/services/DelegationTracker/types.js +2 -0
- package/dist/esm/services/DelegationTracker/types.js.map +1 -0
- package/dist/esm/services/EpochTracker.d.ts +5 -0
- package/dist/esm/services/EpochTracker.d.ts.map +1 -0
- package/dist/esm/services/EpochTracker.js +9 -0
- package/dist/esm/services/EpochTracker.js.map +1 -0
- package/dist/esm/services/ProviderTracker/ProviderStatusTracker.d.ts +35 -0
- package/dist/esm/services/ProviderTracker/ProviderStatusTracker.d.ts.map +1 -0
- package/dist/esm/services/ProviderTracker/ProviderStatusTracker.js +33 -0
- package/dist/esm/services/ProviderTracker/ProviderStatusTracker.js.map +1 -0
- package/dist/esm/services/ProviderTracker/ProviderTracker.d.ts +14 -0
- package/dist/esm/services/ProviderTracker/ProviderTracker.d.ts.map +1 -0
- package/dist/esm/services/ProviderTracker/ProviderTracker.js +32 -0
- package/dist/esm/services/ProviderTracker/ProviderTracker.js.map +1 -0
- package/dist/esm/services/ProviderTracker/TrackedAssetProvider.d.ts +14 -0
- package/dist/esm/services/ProviderTracker/TrackedAssetProvider.d.ts.map +1 -0
- package/dist/esm/services/ProviderTracker/TrackedAssetProvider.js +22 -0
- package/dist/esm/services/ProviderTracker/TrackedAssetProvider.js.map +1 -0
- package/dist/esm/services/ProviderTracker/TrackedChainHistoryProvider.d.ts +20 -0
- package/dist/esm/services/ProviderTracker/TrackedChainHistoryProvider.d.ts.map +1 -0
- package/dist/esm/services/ProviderTracker/TrackedChainHistoryProvider.js +34 -0
- package/dist/esm/services/ProviderTracker/TrackedChainHistoryProvider.js.map +1 -0
- package/dist/esm/services/ProviderTracker/TrackedNetworkInfoProvider.d.ts +20 -0
- package/dist/esm/services/ProviderTracker/TrackedNetworkInfoProvider.d.ts.map +1 -0
- package/dist/esm/services/ProviderTracker/TrackedNetworkInfoProvider.js +34 -0
- package/dist/esm/services/ProviderTracker/TrackedNetworkInfoProvider.js.map +1 -0
- package/dist/esm/services/ProviderTracker/TrackedRewardsProvider.d.ts +18 -0
- package/dist/esm/services/ProviderTracker/TrackedRewardsProvider.d.ts.map +1 -0
- package/dist/esm/services/ProviderTracker/TrackedRewardsProvider.js +30 -0
- package/dist/esm/services/ProviderTracker/TrackedRewardsProvider.js.map +1 -0
- package/dist/esm/services/ProviderTracker/TrackedStakePoolProvider.d.ts +16 -0
- package/dist/esm/services/ProviderTracker/TrackedStakePoolProvider.d.ts.map +1 -0
- package/dist/esm/services/ProviderTracker/TrackedStakePoolProvider.js +26 -0
- package/dist/esm/services/ProviderTracker/TrackedStakePoolProvider.js.map +1 -0
- package/dist/esm/services/ProviderTracker/TrackedTxSubmitProvider.d.ts +17 -0
- package/dist/esm/services/ProviderTracker/TrackedTxSubmitProvider.d.ts.map +1 -0
- package/dist/esm/services/ProviderTracker/TrackedTxSubmitProvider.js +27 -0
- package/dist/esm/services/ProviderTracker/TrackedTxSubmitProvider.js.map +1 -0
- package/dist/esm/services/ProviderTracker/TrackedUtxoProvider.d.ts +16 -0
- package/dist/esm/services/ProviderTracker/TrackedUtxoProvider.d.ts.map +1 -0
- package/dist/esm/services/ProviderTracker/TrackedUtxoProvider.js +26 -0
- package/dist/esm/services/ProviderTracker/TrackedUtxoProvider.js.map +1 -0
- package/dist/esm/services/ProviderTracker/index.d.ts +10 -0
- package/dist/esm/services/ProviderTracker/index.d.ts.map +1 -0
- package/dist/esm/services/ProviderTracker/index.js +10 -0
- package/dist/esm/services/ProviderTracker/index.js.map +1 -0
- package/dist/esm/services/TransactionsTracker.d.ts +25 -0
- package/dist/esm/services/TransactionsTracker.d.ts.map +1 -0
- package/dist/esm/services/TransactionsTracker.js +80 -0
- package/dist/esm/services/TransactionsTracker.js.map +1 -0
- package/dist/esm/services/UtxoTracker.d.ts +21 -0
- package/dist/esm/services/UtxoTracker.d.ts.map +1 -0
- package/dist/esm/services/UtxoTracker.js +31 -0
- package/dist/esm/services/UtxoTracker.js.map +1 -0
- package/dist/esm/services/WalletUtil.d.ts +10 -0
- package/dist/esm/services/WalletUtil.d.ts.map +1 -0
- package/dist/esm/services/WalletUtil.js +32 -0
- package/dist/esm/services/WalletUtil.js.map +1 -0
- package/dist/esm/services/index.d.ts +11 -0
- package/dist/esm/services/index.d.ts.map +1 -0
- package/dist/{services/index.d.ts → esm/services/index.js} +5 -3
- package/dist/esm/services/index.js.map +1 -0
- package/dist/esm/services/types.d.ts +76 -0
- package/dist/esm/services/types.d.ts.map +1 -0
- package/dist/esm/services/types.js +16 -0
- package/dist/esm/services/types.js.map +1 -0
- package/dist/esm/services/util/coldObservableProvider.d.ts +4 -0
- package/dist/esm/services/util/coldObservableProvider.d.ts.map +1 -0
- package/dist/esm/services/util/coldObservableProvider.js +10 -0
- package/dist/esm/services/util/coldObservableProvider.js.map +1 -0
- package/dist/esm/services/util/equals.d.ts +15 -0
- package/dist/esm/services/util/equals.d.ts.map +1 -0
- package/dist/esm/services/util/equals.js +15 -0
- package/dist/esm/services/util/equals.js.map +1 -0
- package/dist/esm/services/util/index.d.ts +5 -0
- package/dist/esm/services/util/index.d.ts.map +1 -0
- package/dist/esm/services/util/index.js +5 -0
- package/dist/esm/services/util/index.js.map +1 -0
- package/dist/esm/services/util/persistentTrackerSubjects.d.ts +29 -0
- package/dist/esm/services/util/persistentTrackerSubjects.d.ts.map +1 -0
- package/dist/esm/services/util/persistentTrackerSubjects.js +47 -0
- package/dist/esm/services/util/persistentTrackerSubjects.js.map +1 -0
- package/dist/esm/services/util/trigger.d.ts +5 -0
- package/dist/esm/services/util/trigger.d.ts.map +1 -0
- package/dist/esm/services/util/trigger.js +5 -0
- package/dist/esm/services/util/trigger.js.map +1 -0
- package/dist/esm/tsconfig.tsbuildinfo +1 -0
- package/dist/esm/types.d.ts +61 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -0
- package/package.json +50 -12
- package/dist/KeyManagement/InMemoryKeyManager.d.ts +0 -9
- package/dist/KeyManagement/InMemoryKeyManager.d.ts.map +0 -1
- package/dist/KeyManagement/InMemoryKeyManager.js +0 -81
- package/dist/KeyManagement/InMemoryKeyManager.js.map +0 -1
- package/dist/KeyManagement/errors/InvalidMnemonic.d.ts +0 -5
- package/dist/KeyManagement/errors/InvalidMnemonic.d.ts.map +0 -1
- package/dist/KeyManagement/errors/InvalidMnemonic.js +0 -13
- package/dist/KeyManagement/errors/InvalidMnemonic.js.map +0 -1
- package/dist/KeyManagement/errors/index.d.ts +0 -2
- package/dist/KeyManagement/errors/index.d.ts.map +0 -1
- package/dist/KeyManagement/errors/index.js +0 -6
- package/dist/KeyManagement/errors/index.js.map +0 -1
- package/dist/KeyManagement/index.d.ts +0 -5
- package/dist/KeyManagement/index.d.ts.map +0 -1
- package/dist/KeyManagement/index.js.map +0 -1
- package/dist/KeyManagement/types.d.ts +0 -16
- package/dist/KeyManagement/types.d.ts.map +0 -1
- package/dist/KeyManagement/util.d.ts +0 -6
- package/dist/KeyManagement/util.d.ts.map +0 -1
- package/dist/KeyManagement/util.js.map +0 -1
- package/dist/SingleAddressWallet.d.ts +0 -41
- package/dist/SingleAddressWallet.d.ts.map +0 -1
- package/dist/SingleAddressWallet.js +0 -174
- package/dist/SingleAddressWallet.js.map +0 -1
- package/dist/Transaction/computeImplicitCoin.d.ts +0 -4
- package/dist/Transaction/computeImplicitCoin.d.ts.map +0 -1
- package/dist/Transaction/computeImplicitCoin.js +0 -21
- package/dist/Transaction/computeImplicitCoin.js.map +0 -1
- package/dist/Transaction/createTransactionInternals.d.ts +0 -16
- package/dist/Transaction/createTransactionInternals.d.ts.map +0 -1
- package/dist/Transaction/createTransactionInternals.js +0 -28
- package/dist/Transaction/createTransactionInternals.js.map +0 -1
- package/dist/Transaction/ensureValidityInterval.d.ts.map +0 -1
- package/dist/Transaction/ensureValidityInterval.js.map +0 -1
- package/dist/Transaction/index.d.ts.map +0 -1
- package/dist/Transaction/index.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/services/BalanceTracker.d.ts +0 -5
- package/dist/services/BalanceTracker.d.ts.map +0 -1
- package/dist/services/BalanceTracker.js +0 -33
- package/dist/services/BalanceTracker.js.map +0 -1
- package/dist/services/DelegationTracker/Delegatee.d.ts +0 -10
- package/dist/services/DelegationTracker/Delegatee.d.ts.map +0 -1
- package/dist/services/DelegationTracker/Delegatee.js +0 -27
- package/dist/services/DelegationTracker/Delegatee.js.map +0 -1
- package/dist/services/DelegationTracker/DelegationTracker.d.ts +0 -27
- package/dist/services/DelegationTracker/DelegationTracker.d.ts.map +0 -1
- package/dist/services/DelegationTracker/DelegationTracker.js +0 -56
- package/dist/services/DelegationTracker/DelegationTracker.js.map +0 -1
- package/dist/services/DelegationTracker/RewardsHistory.d.ts +0 -14
- package/dist/services/DelegationTracker/RewardsHistory.d.ts.map +0 -1
- package/dist/services/DelegationTracker/RewardsHistory.js +0 -24
- package/dist/services/DelegationTracker/RewardsHistory.js.map +0 -1
- package/dist/services/DelegationTracker/index.d.ts.map +0 -1
- package/dist/services/DelegationTracker/index.js.map +0 -1
- package/dist/services/DelegationTracker/transactionCertificates.d.ts +0 -10
- package/dist/services/DelegationTracker/transactionCertificates.d.ts.map +0 -1
- package/dist/services/DelegationTracker/transactionCertificates.js +0 -31
- package/dist/services/DelegationTracker/transactionCertificates.js.map +0 -1
- package/dist/services/DelegationTracker/types.d.ts.map +0 -1
- package/dist/services/DelegationTracker/types.js.map +0 -1
- package/dist/services/RewardsTracker.d.ts +0 -20
- package/dist/services/RewardsTracker.d.ts.map +0 -1
- package/dist/services/RewardsTracker.js +0 -22
- package/dist/services/RewardsTracker.js.map +0 -1
- package/dist/services/TransactionError.d.ts +0 -15
- package/dist/services/TransactionError.d.ts.map +0 -1
- package/dist/services/TransactionError.js +0 -23
- package/dist/services/TransactionError.js.map +0 -1
- package/dist/services/TransactionsTracker.d.ts +0 -22
- package/dist/services/TransactionsTracker.d.ts.map +0 -1
- package/dist/services/TransactionsTracker.js +0 -64
- package/dist/services/TransactionsTracker.js.map +0 -1
- package/dist/services/UtxoTracker.d.ts +0 -18
- package/dist/services/UtxoTracker.d.ts.map +0 -1
- package/dist/services/UtxoTracker.js +0 -20
- package/dist/services/UtxoTracker.js.map +0 -1
- package/dist/services/index.d.ts.map +0 -1
- package/dist/services/index.js.map +0 -1
- package/dist/services/types.d.ts.map +0 -1
- package/dist/services/types.js +0 -16
- package/dist/services/types.js.map +0 -1
- package/dist/services/util/SyncableIntervalTrackerSubject.d.ts +0 -19
- package/dist/services/util/SyncableIntervalTrackerSubject.d.ts.map +0 -1
- package/dist/services/util/SyncableIntervalTrackerSubject.js.map +0 -1
- package/dist/services/util/TrackerSubject.d.ts +0 -14
- package/dist/services/util/TrackerSubject.d.ts.map +0 -1
- package/dist/services/util/TrackerSubject.js +0 -46
- package/dist/services/util/TrackerSubject.js.map +0 -1
- package/dist/services/util/coldObservableProvider.d.ts +0 -4
- package/dist/services/util/coldObservableProvider.d.ts.map +0 -1
- package/dist/services/util/coldObservableProvider.js.map +0 -1
- package/dist/services/util/equals.d.ts +0 -7
- package/dist/services/util/equals.d.ts.map +0 -1
- package/dist/services/util/equals.js +0 -14
- package/dist/services/util/equals.js.map +0 -1
- package/dist/services/util/index.d.ts +0 -6
- package/dist/services/util/index.d.ts.map +0 -1
- package/dist/services/util/index.js.map +0 -1
- package/dist/services/util/trigger.d.ts +0 -5
- package/dist/services/util/trigger.d.ts.map +0 -1
- package/dist/services/util/trigger.js +0 -9
- package/dist/services/util/trigger.js.map +0 -1
- package/dist/types.d.ts +0 -42
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -9
- package/dist/types.js.map +0 -1
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
2
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
4
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
5
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
6
|
+
};
|
|
7
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
8
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
9
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
|
+
};
|
|
12
|
+
var _InMemoryKeyAgent_instances, _InMemoryKeyAgent_getPassword, _InMemoryKeyAgent_decryptRootPrivateKey;
|
|
13
|
+
import * as errors from './errors';
|
|
14
|
+
import { KeyAgentType } from './types';
|
|
15
|
+
import { AuthenticationError } from './errors';
|
|
16
|
+
import { CSL, Cardano, util } from '@cardano-sdk/core';
|
|
17
|
+
import { KeyAgentBase } from './KeyAgentBase';
|
|
18
|
+
import { deriveAccountPrivateKey, joinMnemonicWords, mnemonicWordsToEntropy, ownSignatureKeyPaths, validateMnemonic } from './util';
|
|
19
|
+
import { emip3decrypt, emip3encrypt } from './emip3';
|
|
20
|
+
import uniqBy from 'lodash/uniqBy';
|
|
21
|
+
const getPasswordRethrowTypedError = async (getPassword) => {
|
|
22
|
+
try {
|
|
23
|
+
return await getPassword();
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
throw new AuthenticationError('Failed to enter password', error);
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
export class InMemoryKeyAgent extends KeyAgentBase {
|
|
30
|
+
constructor({ getPassword, ...serializableData }) {
|
|
31
|
+
super({ ...serializableData, __typename: KeyAgentType.InMemory });
|
|
32
|
+
_InMemoryKeyAgent_instances.add(this);
|
|
33
|
+
_InMemoryKeyAgent_getPassword.set(this, void 0);
|
|
34
|
+
__classPrivateFieldSet(this, _InMemoryKeyAgent_getPassword, getPassword, "f");
|
|
35
|
+
}
|
|
36
|
+
async signBlob({ index, role: type }, blob) {
|
|
37
|
+
const rootPrivateKey = await __classPrivateFieldGet(this, _InMemoryKeyAgent_instances, "m", _InMemoryKeyAgent_decryptRootPrivateKey).call(this);
|
|
38
|
+
const accountKey = deriveAccountPrivateKey(rootPrivateKey, this.accountIndex);
|
|
39
|
+
const signingKey = accountKey.derive(type).derive(index).to_raw_key();
|
|
40
|
+
const signature = Cardano.Ed25519Signature(signingKey.sign(Buffer.from(blob, 'hex')).to_hex());
|
|
41
|
+
const publicKey = Cardano.Ed25519PublicKey.fromHexBlob(util.bytesToHex(signingKey.to_public().as_bytes()));
|
|
42
|
+
return { publicKey, signature };
|
|
43
|
+
}
|
|
44
|
+
async exportRootPrivateKey() {
|
|
45
|
+
const rootPrivateKey = await __classPrivateFieldGet(this, _InMemoryKeyAgent_instances, "m", _InMemoryKeyAgent_decryptRootPrivateKey).call(this, true);
|
|
46
|
+
return Cardano.Bip32PrivateKey.fromHexBlob(util.bytesToHex(rootPrivateKey.as_bytes()));
|
|
47
|
+
}
|
|
48
|
+
static async fromBip39MnemonicWords({ networkId, getPassword, mnemonicWords, mnemonic2ndFactorPassphrase = Buffer.from(''), accountIndex = 0 }) {
|
|
49
|
+
const mnemonic = joinMnemonicWords(mnemonicWords);
|
|
50
|
+
const validMnemonic = validateMnemonic(mnemonic);
|
|
51
|
+
if (!validMnemonic)
|
|
52
|
+
throw new errors.InvalidMnemonicError();
|
|
53
|
+
const entropy = Buffer.from(mnemonicWordsToEntropy(mnemonicWords), 'hex');
|
|
54
|
+
const rootPrivateKey = CSL.Bip32PrivateKey.from_bip39_entropy(entropy, mnemonic2ndFactorPassphrase);
|
|
55
|
+
const password = await getPasswordRethrowTypedError(getPassword);
|
|
56
|
+
const encryptedRootPrivateKey = await emip3encrypt(rootPrivateKey.as_bytes(), password);
|
|
57
|
+
const extendedAccountPublicKey = Cardano.Bip32PublicKey(Buffer.from(deriveAccountPrivateKey(rootPrivateKey, accountIndex).to_public().as_bytes()).toString('hex'));
|
|
58
|
+
return new InMemoryKeyAgent({
|
|
59
|
+
accountIndex,
|
|
60
|
+
encryptedRootPrivateKeyBytes: [...encryptedRootPrivateKey],
|
|
61
|
+
extendedAccountPublicKey,
|
|
62
|
+
getPassword,
|
|
63
|
+
knownAddresses: [],
|
|
64
|
+
networkId
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
async signTransaction({ body, hash }, { inputAddressResolver, additionalKeyPaths = [] }) {
|
|
68
|
+
const blob = Cardano.util.HexBlob(hash.toString());
|
|
69
|
+
const derivationPaths = await ownSignatureKeyPaths(body, this.knownAddresses, inputAddressResolver);
|
|
70
|
+
const keyPaths = uniqBy([...derivationPaths, ...additionalKeyPaths], ({ role, index }) => `${role}.${index}`);
|
|
71
|
+
return new Map(await Promise.all(keyPaths.map(async ({ role, index }) => {
|
|
72
|
+
const { publicKey, signature } = await this.signBlob({ index, role }, blob);
|
|
73
|
+
return [publicKey, signature];
|
|
74
|
+
})));
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
_InMemoryKeyAgent_getPassword = new WeakMap(), _InMemoryKeyAgent_instances = new WeakSet(), _InMemoryKeyAgent_decryptRootPrivateKey = async function _InMemoryKeyAgent_decryptRootPrivateKey(noCache) {
|
|
78
|
+
const password = await getPasswordRethrowTypedError(() => __classPrivateFieldGet(this, _InMemoryKeyAgent_getPassword, "f").call(this, noCache));
|
|
79
|
+
let decryptedRootKeyBytes;
|
|
80
|
+
try {
|
|
81
|
+
decryptedRootKeyBytes = await emip3decrypt(new Uint8Array(this.serializableData.encryptedRootPrivateKeyBytes), password);
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
throw new AuthenticationError('Failed to decrypt root private key', error);
|
|
85
|
+
}
|
|
86
|
+
return CSL.Bip32PrivateKey.from_bytes(decryptedRootKeyBytes);
|
|
87
|
+
};
|
|
88
|
+
//# sourceMappingURL=InMemoryKeyAgent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InMemoryKeyAgent.js","sourceRoot":"","sources":["../../../src/KeyManagement/InMemoryKeyAgent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { AccountAddressDerivationPath, AccountKeyDerivationPath, GroupedAddress, KeyAgent, SerializableKeyAgentData, SignBlobResult, SignTransactionOptions } from './types';
|
|
2
|
+
import { CSL, Cardano } from '@cardano-sdk/core';
|
|
3
|
+
import { TxInternals } from '../Transaction';
|
|
4
|
+
export declare abstract class KeyAgentBase implements KeyAgent {
|
|
5
|
+
#private;
|
|
6
|
+
get knownAddresses(): GroupedAddress[];
|
|
7
|
+
set knownAddresses(addresses: GroupedAddress[]);
|
|
8
|
+
get serializableData(): SerializableKeyAgentData;
|
|
9
|
+
get extendedAccountPublicKey(): Cardano.Bip32PublicKey;
|
|
10
|
+
get networkId(): Cardano.NetworkId;
|
|
11
|
+
get accountIndex(): number;
|
|
12
|
+
abstract signBlob(derivationPath: AccountKeyDerivationPath, blob: Cardano.util.HexBlob): Promise<SignBlobResult>;
|
|
13
|
+
abstract exportRootPrivateKey(): Promise<Cardano.Bip32PrivateKey>;
|
|
14
|
+
abstract signTransaction(txInternals: TxInternals, signTransactionOptions: SignTransactionOptions): Promise<Cardano.Signatures>;
|
|
15
|
+
constructor(serializableData: SerializableKeyAgentData);
|
|
16
|
+
deriveAddress({ index, type }: AccountAddressDerivationPath): Promise<GroupedAddress>;
|
|
17
|
+
derivePublicKey(derivationPath: AccountKeyDerivationPath): Promise<Cardano.Ed25519PublicKey>;
|
|
18
|
+
protected deriveCslPublicKey({ index, role: type }: AccountKeyDerivationPath): Promise<CSL.PublicKey>;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=KeyAgentBase.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KeyAgentBase.d.ts","sourceRoot":"","sources":["../../../src/KeyManagement/KeyAgentBase.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACxB,cAAc,EACd,QAAQ,EAER,wBAAwB,EACxB,cAAc,EACd,sBAAsB,EACvB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,GAAG,EAAE,OAAO,EAAQ,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,8BAAsB,YAAa,YAAW,QAAQ;;IAGpD,IAAI,cAAc,IAAI,cAAc,EAAE,CAErC;IACD,IAAI,cAAc,CAAC,SAAS,EAAE,cAAc,EAAE,EAE7C;IACD,IAAI,gBAAgB,IAAI,wBAAwB,CAE/C;IACD,IAAI,wBAAwB,IAAI,OAAO,CAAC,cAAc,CAErD;IACD,IAAI,SAAS,IAAI,OAAO,CAAC,SAAS,CAEjC;IACD,IAAI,YAAY,IAAI,MAAM,CAEzB;IACD,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,wBAAwB,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;IAChH,QAAQ,CAAC,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC;IACjE,QAAQ,CAAC,eAAe,CACtB,WAAW,EAAE,WAAW,EACxB,sBAAsB,EAAE,sBAAsB,GAC7C,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;gBAElB,gBAAgB,EAAE,wBAAwB;IAOhD,aAAa,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,4BAA4B,GAAG,OAAO,CAAC,cAAc,CAAC;IA+BrF,eAAe,CAAC,cAAc,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC;cAKlF,kBAAkB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,wBAAwB,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;CAK5G"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
2
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
4
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
5
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
6
|
+
};
|
|
7
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
8
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
9
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
|
+
};
|
|
12
|
+
var _KeyAgentBase_serializableData;
|
|
13
|
+
import { CSL, Cardano, util } from '@cardano-sdk/core';
|
|
14
|
+
import { STAKE_KEY_DERIVATION_PATH } from './util';
|
|
15
|
+
export class KeyAgentBase {
|
|
16
|
+
constructor(serializableData) {
|
|
17
|
+
_KeyAgentBase_serializableData.set(this, void 0);
|
|
18
|
+
__classPrivateFieldSet(this, _KeyAgentBase_serializableData, serializableData, "f");
|
|
19
|
+
}
|
|
20
|
+
get knownAddresses() {
|
|
21
|
+
return __classPrivateFieldGet(this, _KeyAgentBase_serializableData, "f").knownAddresses;
|
|
22
|
+
}
|
|
23
|
+
set knownAddresses(addresses) {
|
|
24
|
+
__classPrivateFieldGet(this, _KeyAgentBase_serializableData, "f").knownAddresses = addresses;
|
|
25
|
+
}
|
|
26
|
+
get serializableData() {
|
|
27
|
+
return __classPrivateFieldGet(this, _KeyAgentBase_serializableData, "f");
|
|
28
|
+
}
|
|
29
|
+
get extendedAccountPublicKey() {
|
|
30
|
+
return this.serializableData.extendedAccountPublicKey;
|
|
31
|
+
}
|
|
32
|
+
get networkId() {
|
|
33
|
+
return this.serializableData.networkId;
|
|
34
|
+
}
|
|
35
|
+
get accountIndex() {
|
|
36
|
+
return this.serializableData.accountIndex;
|
|
37
|
+
}
|
|
38
|
+
async deriveAddress({ index, type }) {
|
|
39
|
+
const knownAddress = this.knownAddresses.find((addr) => addr.type === type && addr.index === index);
|
|
40
|
+
if (knownAddress)
|
|
41
|
+
return knownAddress;
|
|
42
|
+
const derivedPublicPaymentKey = await this.deriveCslPublicKey({
|
|
43
|
+
index,
|
|
44
|
+
role: type
|
|
45
|
+
});
|
|
46
|
+
const publicStakeKey = await this.deriveCslPublicKey(STAKE_KEY_DERIVATION_PATH);
|
|
47
|
+
const stakeKeyCredential = CSL.StakeCredential.from_keyhash(publicStakeKey.hash());
|
|
48
|
+
const address = CSL.BaseAddress.new(this.networkId, CSL.StakeCredential.from_keyhash(derivedPublicPaymentKey.hash()), stakeKeyCredential).to_address();
|
|
49
|
+
const rewardAccount = CSL.RewardAddress.new(this.networkId, stakeKeyCredential).to_address();
|
|
50
|
+
const groupedAddress = {
|
|
51
|
+
accountIndex: this.accountIndex,
|
|
52
|
+
address: Cardano.Address(address.to_bech32()),
|
|
53
|
+
index,
|
|
54
|
+
networkId: this.networkId,
|
|
55
|
+
rewardAccount: Cardano.RewardAccount(rewardAccount.to_bech32()),
|
|
56
|
+
type
|
|
57
|
+
};
|
|
58
|
+
this.knownAddresses = [...this.knownAddresses, groupedAddress];
|
|
59
|
+
return groupedAddress;
|
|
60
|
+
}
|
|
61
|
+
async derivePublicKey(derivationPath) {
|
|
62
|
+
const cslPublicKey = await this.deriveCslPublicKey(derivationPath);
|
|
63
|
+
return Cardano.Ed25519PublicKey.fromHexBlob(util.bytesToHex(cslPublicKey.as_bytes()));
|
|
64
|
+
}
|
|
65
|
+
async deriveCslPublicKey({ index, role: type }) {
|
|
66
|
+
const accountPublicKeyBytes = Buffer.from(this.extendedAccountPublicKey, 'hex');
|
|
67
|
+
const accountPublicKey = CSL.Bip32PublicKey.from_bytes(accountPublicKeyBytes);
|
|
68
|
+
return accountPublicKey.derive(type).derive(index).to_raw_key();
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
_KeyAgentBase_serializableData = new WeakMap();
|
|
72
|
+
//# sourceMappingURL=KeyAgentBase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KeyAgentBase.js","sourceRoot":"","sources":["../../../src/KeyManagement/KeyAgentBase.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Cardano } from '@cardano-sdk/core';
|
|
2
|
+
import { CommunicationType, LedgerTransportType, SerializableLedgerKeyAgentData, SignBlobResult, SignTransactionOptions } from './types';
|
|
3
|
+
import { KeyAgentBase } from './KeyAgentBase';
|
|
4
|
+
import { TxInternals } from '../Transaction';
|
|
5
|
+
import LedgerConnection, { GetVersionResponse } from '@cardano-foundation/ledgerjs-hw-app-cardano';
|
|
6
|
+
import type LedgerTransport from '@ledgerhq/hw-transport';
|
|
7
|
+
export interface LedgerKeyAgentProps extends Omit<SerializableLedgerKeyAgentData, '__typename'> {
|
|
8
|
+
deviceConnection?: LedgerConnection;
|
|
9
|
+
}
|
|
10
|
+
export interface CreateLedgerKeyAgentProps {
|
|
11
|
+
networkId: Cardano.NetworkId;
|
|
12
|
+
protocolMagic: Cardano.NetworkMagic;
|
|
13
|
+
accountIndex?: number;
|
|
14
|
+
communicationType: CommunicationType;
|
|
15
|
+
deviceConnection?: LedgerConnection | null;
|
|
16
|
+
}
|
|
17
|
+
export interface GetLedgerXpubProps {
|
|
18
|
+
deviceConnection?: LedgerConnection;
|
|
19
|
+
communicationType: CommunicationType;
|
|
20
|
+
accountIndex: number;
|
|
21
|
+
}
|
|
22
|
+
export interface CreateLedgerTransportProps {
|
|
23
|
+
communicationType: CommunicationType;
|
|
24
|
+
activeTransport?: LedgerTransportType;
|
|
25
|
+
devicePath?: string;
|
|
26
|
+
}
|
|
27
|
+
export declare class LedgerKeyAgent extends KeyAgentBase {
|
|
28
|
+
#private;
|
|
29
|
+
readonly deviceConnection?: LedgerConnection;
|
|
30
|
+
constructor({ deviceConnection, ...serializableData }: LedgerKeyAgentProps);
|
|
31
|
+
static getHidDeviceList(communicationType: CommunicationType): Promise<string[]>;
|
|
32
|
+
static createTransport({ communicationType, activeTransport, devicePath }: CreateLedgerTransportProps): Promise<LedgerTransportType>;
|
|
33
|
+
static createDeviceConnection(activeTransport: LedgerTransport): Promise<LedgerConnection>;
|
|
34
|
+
static establishDeviceConnection(communicationType: CommunicationType, devicePath?: string): Promise<LedgerConnection>;
|
|
35
|
+
static checkDeviceConnection(communicationType: CommunicationType, deviceConnection?: LedgerConnection): Promise<LedgerConnection>;
|
|
36
|
+
static getXpub({ deviceConnection, communicationType, accountIndex }: GetLedgerXpubProps): Promise<Cardano.Bip32PublicKey>;
|
|
37
|
+
static getAppVersion(communicationType: CommunicationType, deviceConnection?: LedgerConnection): Promise<GetVersionResponse>;
|
|
38
|
+
static createWithDevice({ networkId, protocolMagic, accountIndex, communicationType, deviceConnection }: CreateLedgerKeyAgentProps): Promise<LedgerKeyAgent>;
|
|
39
|
+
signTransaction({ body }: TxInternals, { inputAddressResolver }: SignTransactionOptions): Promise<Cardano.Signatures>;
|
|
40
|
+
signBlob(): Promise<SignBlobResult>;
|
|
41
|
+
exportRootPrivateKey(): Promise<Cardano.Bip32PrivateKey>;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=LedgerKeyAgent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LedgerKeyAgent.d.ts","sourceRoot":"","sources":["../../../src/KeyManagement/LedgerKeyAgent.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAkC,MAAM,mBAAmB,CAAC;AAE5E,OAAO,EACL,iBAAiB,EAEjB,mBAAmB,EACnB,8BAA8B,EAC9B,cAAc,EACd,sBAAsB,EACvB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,gBAAgB,EAAE,EAAE,kBAAkB,EAAS,MAAM,6CAA6C,CAAC;AAG1G,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAE1D,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,8BAA8B,EAAE,YAAY,CAAC;IAC7F,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC;IAC7B,aAAa,EAAE,OAAO,CAAC,YAAY,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,0BAA0B;IACzC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,eAAe,CAAC,EAAE,mBAAmB,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAKD,qBAAa,cAAe,SAAQ,YAAY;;IAC9C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;gBAIjC,EAAE,gBAAgB,EAAE,GAAG,gBAAgB,EAAE,EAAE,mBAAmB;WAU7D,gBAAgB,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;WAWzE,eAAe,CAAC,EAC3B,iBAAiB,EACjB,eAAe,EACf,UAAe,EAChB,EAAE,0BAA0B,GAAG,OAAO,CAAC,mBAAmB,CAAC;WAgB/C,sBAAsB,CAAC,eAAe,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;WAcnF,yBAAyB,CACpC,iBAAiB,EAAE,iBAAiB,EACpC,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,gBAAgB,CAAC;WA+Bf,qBAAqB,CAChC,iBAAiB,EAAE,iBAAiB,EACpC,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,OAAO,CAAC,gBAAgB,CAAC;WAmBf,OAAO,CAAC,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACb,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC;WAoB1C,aAAa,CACxB,iBAAiB,EAAE,iBAAiB,EACpC,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,OAAO,CAAC,kBAAkB,CAAC;WASjB,gBAAgB,CAAC,EAC5B,SAAS,EACT,aAAa,EACb,YAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EACjB,EAAE,yBAAyB;IAuBtB,eAAe,CACnB,EAAE,IAAI,EAAE,EAAE,WAAW,EACrB,EAAE,oBAAoB,EAAE,EAAE,sBAAsB,GAC/C,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;IAqCxB,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC;IAInC,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC;CAG/D"}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
2
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
4
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
5
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
6
|
+
};
|
|
7
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
8
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
9
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
|
+
};
|
|
12
|
+
var _LedgerKeyAgent_communicationType, _LedgerKeyAgent_protocolMagic;
|
|
13
|
+
import { AuthenticationError, TransportError } from './errors';
|
|
14
|
+
import { Cardano, NotImplementedError, coreToCsl } from '@cardano-sdk/core';
|
|
15
|
+
import { CardanoKeyConst, Cip1852PathLevelIndexes, txToLedger } from './util';
|
|
16
|
+
import { CommunicationType, KeyAgentType } from './types';
|
|
17
|
+
import { KeyAgentBase } from './KeyAgentBase';
|
|
18
|
+
import LedgerConnection, { utils } from '@cardano-foundation/ledgerjs-hw-app-cardano';
|
|
19
|
+
import TransportNodeHid from '@ledgerhq/hw-transport-node-hid-noevents';
|
|
20
|
+
import TransportWebHID from '@ledgerhq/hw-transport-webhid';
|
|
21
|
+
const transportTypedError = (error) => new AuthenticationError('Ledger transport failed', new TransportError('Ledger transport failed', error));
|
|
22
|
+
export class LedgerKeyAgent extends KeyAgentBase {
|
|
23
|
+
constructor({ deviceConnection, ...serializableData }) {
|
|
24
|
+
super({ ...serializableData, __typename: KeyAgentType.Ledger });
|
|
25
|
+
_LedgerKeyAgent_communicationType.set(this, void 0);
|
|
26
|
+
_LedgerKeyAgent_protocolMagic.set(this, void 0);
|
|
27
|
+
this.deviceConnection = deviceConnection;
|
|
28
|
+
__classPrivateFieldSet(this, _LedgerKeyAgent_communicationType, serializableData.communicationType, "f");
|
|
29
|
+
__classPrivateFieldSet(this, _LedgerKeyAgent_protocolMagic, serializableData.protocolMagic, "f");
|
|
30
|
+
}
|
|
31
|
+
static async getHidDeviceList(communicationType) {
|
|
32
|
+
try {
|
|
33
|
+
return communicationType === CommunicationType.Node ? TransportNodeHid.list() : TransportWebHID.list();
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
throw new TransportError('Cannot fetch device list', error);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
static async createTransport({ communicationType, activeTransport, devicePath = '' }) {
|
|
40
|
+
try {
|
|
41
|
+
if (communicationType === CommunicationType.Node) {
|
|
42
|
+
return await TransportNodeHid.open(devicePath);
|
|
43
|
+
}
|
|
44
|
+
return await (activeTransport && activeTransport instanceof TransportWebHID
|
|
45
|
+
? TransportWebHID.open(activeTransport.device)
|
|
46
|
+
: TransportWebHID.request());
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
throw new TransportError('Creating transport failed', error);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
static async createDeviceConnection(activeTransport) {
|
|
53
|
+
try {
|
|
54
|
+
const deviceConnection = new LedgerConnection(activeTransport);
|
|
55
|
+
await deviceConnection.getVersion();
|
|
56
|
+
return deviceConnection;
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
throw new TransportError('Cannot communicate with Ledger Cardano App', error);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
static async establishDeviceConnection(communicationType, devicePath) {
|
|
63
|
+
let transport;
|
|
64
|
+
try {
|
|
65
|
+
transport = await LedgerKeyAgent.createTransport({ communicationType, devicePath });
|
|
66
|
+
if (!transport || !transport.deviceModel) {
|
|
67
|
+
throw new TransportError('Missing transport');
|
|
68
|
+
}
|
|
69
|
+
const isSupportedLedgerModel = transport.deviceModel.id === 'nanoS' ||
|
|
70
|
+
transport.deviceModel.id === 'nanoX' ||
|
|
71
|
+
transport.deviceModel.id === 'nanoSP';
|
|
72
|
+
if (!isSupportedLedgerModel) {
|
|
73
|
+
throw new TransportError(`Ledger device model: "${transport.deviceModel.id}" is not supported`);
|
|
74
|
+
}
|
|
75
|
+
return await LedgerKeyAgent.createDeviceConnection(transport);
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
if (error.innerError.message.includes('cannot open device with path')) {
|
|
79
|
+
throw new TransportError('Connection already established', error);
|
|
80
|
+
}
|
|
81
|
+
if (transport) {
|
|
82
|
+
transport.close();
|
|
83
|
+
}
|
|
84
|
+
throw new TransportError('Establishing device connection failed', error);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
static async checkDeviceConnection(communicationType, deviceConnection) {
|
|
88
|
+
try {
|
|
89
|
+
if (!deviceConnection) {
|
|
90
|
+
return await LedgerKeyAgent.establishDeviceConnection(communicationType);
|
|
91
|
+
}
|
|
92
|
+
return await LedgerKeyAgent.createDeviceConnection(deviceConnection.transport);
|
|
93
|
+
}
|
|
94
|
+
catch (error) {
|
|
95
|
+
if (error.name === 'DisconnectedDeviceDuringOperation') {
|
|
96
|
+
return await LedgerKeyAgent.establishDeviceConnection(communicationType);
|
|
97
|
+
}
|
|
98
|
+
throw error;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
static async getXpub({ deviceConnection, communicationType, accountIndex }) {
|
|
102
|
+
try {
|
|
103
|
+
const recoveredDeviceConnection = await LedgerKeyAgent.checkDeviceConnection(communicationType, deviceConnection);
|
|
104
|
+
const derivationPath = `${CardanoKeyConst.PURPOSE}'/${CardanoKeyConst.COIN_TYPE}'/${accountIndex}'`;
|
|
105
|
+
const extendedPublicKey = await recoveredDeviceConnection.getExtendedPublicKey({
|
|
106
|
+
path: utils.str_to_path(derivationPath)
|
|
107
|
+
});
|
|
108
|
+
const xPubHex = `${extendedPublicKey.publicKeyHex}${extendedPublicKey.chainCodeHex}`;
|
|
109
|
+
return Cardano.Bip32PublicKey(xPubHex);
|
|
110
|
+
}
|
|
111
|
+
catch (error) {
|
|
112
|
+
if (error.code === 28169) {
|
|
113
|
+
throw new AuthenticationError('Failed to export extended account public key', error);
|
|
114
|
+
}
|
|
115
|
+
throw transportTypedError(error);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
static async getAppVersion(communicationType, deviceConnection) {
|
|
119
|
+
const recoveredDeviceConnection = await LedgerKeyAgent.checkDeviceConnection(communicationType, deviceConnection);
|
|
120
|
+
return await recoveredDeviceConnection.getVersion();
|
|
121
|
+
}
|
|
122
|
+
static async createWithDevice({ networkId, protocolMagic, accountIndex = 0, communicationType, deviceConnection }) {
|
|
123
|
+
const deviceListPaths = await LedgerKeyAgent.getHidDeviceList(communicationType);
|
|
124
|
+
const activeDeviceConnection = await (deviceConnection
|
|
125
|
+
? LedgerKeyAgent.checkDeviceConnection(communicationType, deviceConnection)
|
|
126
|
+
: LedgerKeyAgent.establishDeviceConnection(communicationType, deviceListPaths[0]));
|
|
127
|
+
const extendedAccountPublicKey = await LedgerKeyAgent.getXpub({
|
|
128
|
+
accountIndex,
|
|
129
|
+
communicationType,
|
|
130
|
+
deviceConnection: activeDeviceConnection
|
|
131
|
+
});
|
|
132
|
+
return new LedgerKeyAgent({
|
|
133
|
+
accountIndex,
|
|
134
|
+
communicationType,
|
|
135
|
+
deviceConnection: activeDeviceConnection,
|
|
136
|
+
extendedAccountPublicKey,
|
|
137
|
+
knownAddresses: [],
|
|
138
|
+
networkId,
|
|
139
|
+
protocolMagic
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
async signTransaction({ body }, { inputAddressResolver }) {
|
|
143
|
+
try {
|
|
144
|
+
const cslTxBody = coreToCsl.txBody(body);
|
|
145
|
+
const ledgerTxData = await txToLedger({
|
|
146
|
+
accountIndex: this.accountIndex,
|
|
147
|
+
cslTxBody,
|
|
148
|
+
inputAddressResolver,
|
|
149
|
+
knownAddresses: this.knownAddresses,
|
|
150
|
+
networkId: this.networkId,
|
|
151
|
+
protocolMagic: __classPrivateFieldGet(this, _LedgerKeyAgent_protocolMagic, "f")
|
|
152
|
+
});
|
|
153
|
+
const deviceConnection = await LedgerKeyAgent.checkDeviceConnection(__classPrivateFieldGet(this, _LedgerKeyAgent_communicationType, "f"), this.deviceConnection);
|
|
154
|
+
const result = await deviceConnection.signTransaction(ledgerTxData);
|
|
155
|
+
return new Map(await Promise.all(result.witnesses.map(async (witness) => {
|
|
156
|
+
const publicKey = await this.derivePublicKey({
|
|
157
|
+
index: witness.path[Cip1852PathLevelIndexes.INDEX],
|
|
158
|
+
role: witness.path[Cip1852PathLevelIndexes.ROLE]
|
|
159
|
+
});
|
|
160
|
+
const signature = Cardano.Ed25519Signature(witness.witnessSignatureHex);
|
|
161
|
+
return [publicKey, signature];
|
|
162
|
+
})));
|
|
163
|
+
}
|
|
164
|
+
catch (error) {
|
|
165
|
+
if (error.code === 28169) {
|
|
166
|
+
throw new AuthenticationError('Transaction signing aborted', error);
|
|
167
|
+
}
|
|
168
|
+
throw transportTypedError(error);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
async signBlob() {
|
|
172
|
+
throw new NotImplementedError('signBlob');
|
|
173
|
+
}
|
|
174
|
+
async exportRootPrivateKey() {
|
|
175
|
+
throw new NotImplementedError('Operation not supported!');
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
_LedgerKeyAgent_communicationType = new WeakMap(), _LedgerKeyAgent_protocolMagic = new WeakMap();
|
|
179
|
+
//# sourceMappingURL=LedgerKeyAgent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LedgerKeyAgent.js","sourceRoot":"","sources":["../../../src/KeyManagement/LedgerKeyAgent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Cardano } from '@cardano-sdk/core';
|
|
2
|
+
import { SerializableTrezorKeyAgentData, SignBlobResult, SignTransactionOptions, TrezorConfig } from './types';
|
|
3
|
+
import { KeyAgentBase } from './KeyAgentBase';
|
|
4
|
+
import { TxInternals } from '../Transaction';
|
|
5
|
+
import { Features } from 'trezor-connect';
|
|
6
|
+
export interface TrezorKeyAgentProps extends Omit<SerializableTrezorKeyAgentData, '__typename'> {
|
|
7
|
+
isTrezorInitialized?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface GetTrezorXpubProps {
|
|
10
|
+
accountIndex: number;
|
|
11
|
+
}
|
|
12
|
+
export interface CreateTrezorKeyAgentProps {
|
|
13
|
+
networkId: Cardano.NetworkId;
|
|
14
|
+
accountIndex?: number;
|
|
15
|
+
protocolMagic: Cardano.NetworkMagic;
|
|
16
|
+
trezorConfig: TrezorConfig;
|
|
17
|
+
}
|
|
18
|
+
export declare class TrezorKeyAgent extends KeyAgentBase {
|
|
19
|
+
#private;
|
|
20
|
+
readonly isTrezorInitialized: Promise<boolean>;
|
|
21
|
+
constructor({ isTrezorInitialized, ...serializableData }: TrezorKeyAgentProps);
|
|
22
|
+
static initializeTrezorTransport({ manifest, communicationType, silentMode, lazyLoad }: TrezorConfig): Promise<boolean>;
|
|
23
|
+
static checkDeviceConnection(): Promise<Features>;
|
|
24
|
+
static getXpub({ accountIndex }: GetTrezorXpubProps): Promise<Cardano.Bip32PublicKey>;
|
|
25
|
+
static createWithDevice({ networkId, accountIndex, protocolMagic, trezorConfig }: CreateTrezorKeyAgentProps): Promise<TrezorKeyAgent>;
|
|
26
|
+
signTransaction({ body }: TxInternals, { inputAddressResolver }: SignTransactionOptions): Promise<Cardano.Signatures>;
|
|
27
|
+
signBlob(): Promise<SignBlobResult>;
|
|
28
|
+
exportRootPrivateKey(): Promise<Cardano.Bip32PrivateKey>;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=TrezorKeyAgent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TrezorKeyAgent.d.ts","sourceRoot":"","sources":["../../../src/KeyManagement/TrezorKeyAgent.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAkC,MAAM,mBAAmB,CAAC;AAE5E,OAAO,EAGL,8BAA8B,EAC9B,cAAc,EACd,sBAAsB,EACtB,YAAY,EACb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAsB,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAEzD,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,8BAA8B,EAAE,YAAY,CAAC;IAC7F,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC,YAAY,CAAC;IACpC,YAAY,EAAE,YAAY,CAAC;CAC5B;AAKD,qBAAa,cAAe,SAAQ,YAAY;;IAC9C,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;gBAGnC,EAAE,mBAAmB,EAAE,GAAG,gBAAgB,EAAE,EAAE,mBAAmB;WAWhE,yBAAyB,CAAC,EACrC,QAAQ,EACR,iBAAiB,EACjB,UAAkB,EAClB,QAAgB,EACjB,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;WAwBrB,qBAAqB,IAAI,OAAO,CAAC,QAAQ,CAAC;WAkB1C,OAAO,CAAC,EAAE,YAAY,EAAE,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC;WAoB9E,gBAAgB,CAAC,EAC5B,SAAS,EACT,YAAgB,EAChB,aAAa,EACb,YAAY,EACb,EAAE,yBAAyB;IAgBtB,eAAe,CACnB,EAAE,IAAI,EAAE,EAAE,WAAW,EACrB,EAAE,oBAAoB,EAAE,EAAE,sBAAsB,GAC/C,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;IAoCxB,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC;IAInC,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC;CAG/D"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
2
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
4
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
5
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
6
|
+
};
|
|
7
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
8
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
9
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
|
+
};
|
|
12
|
+
var _TrezorKeyAgent_protocolMagic;
|
|
13
|
+
import { AuthenticationError, TransportError } from './errors';
|
|
14
|
+
import { Cardano, NotImplementedError, coreToCsl } from '@cardano-sdk/core';
|
|
15
|
+
import { CardanoKeyConst, txToTrezor } from './util';
|
|
16
|
+
import { CommunicationType, KeyAgentType } from './types';
|
|
17
|
+
import { KeyAgentBase } from './KeyAgentBase';
|
|
18
|
+
import TrezorConnect from 'trezor-connect';
|
|
19
|
+
const transportTypedError = (error) => new AuthenticationError('Trezor transport failed', new TransportError('Trezor transport failed', error));
|
|
20
|
+
export class TrezorKeyAgent extends KeyAgentBase {
|
|
21
|
+
constructor({ isTrezorInitialized, ...serializableData }) {
|
|
22
|
+
super({ ...serializableData, __typename: KeyAgentType.Trezor });
|
|
23
|
+
_TrezorKeyAgent_protocolMagic.set(this, void 0);
|
|
24
|
+
__classPrivateFieldSet(this, _TrezorKeyAgent_protocolMagic, serializableData.protocolMagic, "f");
|
|
25
|
+
if (!isTrezorInitialized) {
|
|
26
|
+
this.isTrezorInitialized = TrezorKeyAgent.initializeTrezorTransport(serializableData.trezorConfig);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
static async initializeTrezorTransport({ manifest, communicationType, silentMode = false, lazyLoad = false }) {
|
|
30
|
+
try {
|
|
31
|
+
await TrezorConnect.init({
|
|
32
|
+
lazyLoad: communicationType !== CommunicationType.Node && lazyLoad,
|
|
33
|
+
manifest,
|
|
34
|
+
popup: communicationType !== CommunicationType.Node && !silentMode
|
|
35
|
+
});
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
if (error.code === 'Init_AlreadyInitialized')
|
|
40
|
+
return true;
|
|
41
|
+
throw transportTypedError(error);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
static async checkDeviceConnection() {
|
|
45
|
+
try {
|
|
46
|
+
const deviceFeatures = await TrezorConnect.getFeatures();
|
|
47
|
+
if (!deviceFeatures.success) {
|
|
48
|
+
throw new TransportError('Failed to get device', deviceFeatures.payload);
|
|
49
|
+
}
|
|
50
|
+
if (deviceFeatures.payload.model !== 'T') {
|
|
51
|
+
throw new TransportError(`Trezor device model "${deviceFeatures.payload.model}" is not supported.`);
|
|
52
|
+
}
|
|
53
|
+
return deviceFeatures.payload;
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
throw transportTypedError(error);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
static async getXpub({ accountIndex }) {
|
|
60
|
+
try {
|
|
61
|
+
await TrezorKeyAgent.checkDeviceConnection();
|
|
62
|
+
const derivationPath = `m/${CardanoKeyConst.PURPOSE}'/${CardanoKeyConst.COIN_TYPE}'/${accountIndex}'`;
|
|
63
|
+
const extendedPublicKey = await TrezorConnect.cardanoGetPublicKey({
|
|
64
|
+
path: derivationPath,
|
|
65
|
+
showOnTrezor: true
|
|
66
|
+
});
|
|
67
|
+
if (!extendedPublicKey.success) {
|
|
68
|
+
throw new TransportError('Failed to export extended account public key', extendedPublicKey.payload);
|
|
69
|
+
}
|
|
70
|
+
return Cardano.Bip32PublicKey(extendedPublicKey.payload.publicKey);
|
|
71
|
+
}
|
|
72
|
+
catch (error) {
|
|
73
|
+
throw transportTypedError(error);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
static async createWithDevice({ networkId, accountIndex = 0, protocolMagic, trezorConfig }) {
|
|
77
|
+
const isTrezorInitialized = await TrezorKeyAgent.initializeTrezorTransport(trezorConfig);
|
|
78
|
+
const extendedAccountPublicKey = await TrezorKeyAgent.getXpub({
|
|
79
|
+
accountIndex
|
|
80
|
+
});
|
|
81
|
+
return new TrezorKeyAgent({
|
|
82
|
+
accountIndex,
|
|
83
|
+
extendedAccountPublicKey,
|
|
84
|
+
isTrezorInitialized,
|
|
85
|
+
knownAddresses: [],
|
|
86
|
+
networkId,
|
|
87
|
+
protocolMagic,
|
|
88
|
+
trezorConfig
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
async signTransaction({ body }, { inputAddressResolver }) {
|
|
92
|
+
try {
|
|
93
|
+
await this.isTrezorInitialized;
|
|
94
|
+
const cslTxBody = coreToCsl.txBody(body);
|
|
95
|
+
const trezorTxData = await txToTrezor({
|
|
96
|
+
accountIndex: this.accountIndex,
|
|
97
|
+
cslTxBody,
|
|
98
|
+
inputAddressResolver,
|
|
99
|
+
knownAddresses: this.knownAddresses,
|
|
100
|
+
networkId: this.networkId,
|
|
101
|
+
protocolMagic: __classPrivateFieldGet(this, _TrezorKeyAgent_protocolMagic, "f")
|
|
102
|
+
});
|
|
103
|
+
const result = await TrezorConnect.cardanoSignTransaction(trezorTxData);
|
|
104
|
+
if (!result.success) {
|
|
105
|
+
throw new TransportError('Failed to export extended account public key', result.payload);
|
|
106
|
+
}
|
|
107
|
+
const signedData = result.payload;
|
|
108
|
+
return new Map(await Promise.all(signedData.witnesses.map(async (witness) => {
|
|
109
|
+
const publicKey = Cardano.Ed25519PublicKey(witness.pubKey);
|
|
110
|
+
const signature = Cardano.Ed25519Signature(witness.signature);
|
|
111
|
+
return [publicKey, signature];
|
|
112
|
+
})));
|
|
113
|
+
}
|
|
114
|
+
catch (error) {
|
|
115
|
+
if (error.innerError.code === 'Failure_ActionCancelled') {
|
|
116
|
+
throw new AuthenticationError('Transaction signing aborted', error);
|
|
117
|
+
}
|
|
118
|
+
throw transportTypedError(error);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
async signBlob() {
|
|
122
|
+
throw new NotImplementedError('signBlob');
|
|
123
|
+
}
|
|
124
|
+
async exportRootPrivateKey() {
|
|
125
|
+
throw new NotImplementedError('Operation not supported!');
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
_TrezorKeyAgent_protocolMagic = new WeakMap();
|
|
129
|
+
//# sourceMappingURL=TrezorKeyAgent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TrezorKeyAgent.js","sourceRoot":"","sources":["../../../src/KeyManagement/TrezorKeyAgent.ts"],"names":[],"mappings":"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"}
|