@aeternity/aepp-sdk 13.2.1 → 13.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/LICENSE +1 -1
- package/README.md +1 -1
- package/bin/aesophia_cli +0 -0
- package/bin/aesophia_cli_8 +0 -0
- package/dist/aepp-sdk.browser-script.js +1 -1
- package/dist/aepp-sdk.browser-script.js.map +1 -1
- package/dist/aepp-sdk.browser.js +1 -1
- package/dist/aepp-sdk.browser.js.map +1 -1
- package/dist/aepp-sdk.js +7288 -9464
- package/dist/aepp-sdk.js.map +1 -1
- package/es/AeSdk.d.ts +3 -0
- package/es/AeSdk.mjs +12 -12
- package/es/AeSdk.mjs.map +1 -1
- package/es/AeSdkAepp.d.ts +0 -1
- package/es/AeSdkAepp.mjs +12 -16
- package/es/AeSdkAepp.mjs.map +1 -1
- package/es/AeSdkBase.d.ts +61 -6
- package/es/AeSdkBase.mjs +150 -69
- package/es/AeSdkBase.mjs.map +1 -1
- package/es/AeSdkMethods.d.ts +19 -7
- package/es/AeSdkMethods.mjs +39 -38
- package/es/AeSdkMethods.mjs.map +1 -1
- package/es/AeSdkWallet.mjs +86 -55
- package/es/AeSdkWallet.mjs.map +1 -1
- package/es/Middleware.d.ts +1 -1
- package/es/Middleware.mjs +32 -28
- package/es/Middleware.mjs.map +1 -1
- package/es/MiddlewareSubscriber.mjs +5 -14
- package/es/MiddlewareSubscriber.mjs.map +1 -1
- package/es/Node.d.ts +11 -3
- package/es/Node.mjs +65 -57
- package/es/Node.mjs.map +1 -1
- package/es/account/Base.d.ts +39 -3
- package/es/account/Base.mjs +35 -1
- package/es/account/Base.mjs.map +1 -1
- package/es/account/Generalized.d.ts +2 -0
- package/es/account/Generalized.mjs +15 -6
- package/es/account/Generalized.mjs.map +1 -1
- package/es/account/Ledger.d.ts +2 -0
- package/es/account/Ledger.mjs +14 -5
- package/es/account/Ledger.mjs.map +1 -1
- package/es/account/LedgerFactory.mjs +4 -6
- package/es/account/LedgerFactory.mjs.map +1 -1
- package/es/account/Memory.d.ts +15 -4
- package/es/account/Memory.mjs +96 -31
- package/es/account/Memory.mjs.map +1 -1
- package/es/account/Rpc.d.ts +16 -5
- package/es/account/Rpc.mjs +94 -21
- package/es/account/Rpc.mjs.map +1 -1
- package/es/aens.d.ts +17 -44
- package/es/aens.mjs +32 -71
- package/es/aens.mjs.map +1 -1
- package/es/aepp-wallet-communication/connection/Browser.mjs +3 -4
- package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -1
- package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +3 -0
- package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +7 -5
- package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -1
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +8 -9
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -1
- package/es/aepp-wallet-communication/rpc/RpcClient.mjs +7 -7
- package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -1
- package/es/aepp-wallet-communication/rpc/types.d.ts +14 -0
- package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -1
- package/es/aepp-wallet-communication/schema.d.ts +2 -0
- package/es/aepp-wallet-communication/schema.mjs +2 -0
- package/es/aepp-wallet-communication/schema.mjs.map +1 -1
- package/es/aepp-wallet-communication/wallet-detector.d.ts +2 -5
- package/es/aepp-wallet-communication/wallet-detector.mjs +13 -9
- package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -1
- package/es/apis/compiler/compiler.mjs.map +1 -1
- package/es/apis/compiler/models/index.d.ts +1 -0
- package/es/apis/compiler/models/index.mjs.map +1 -1
- package/es/apis/compiler/models/mappers.mjs +13 -0
- package/es/apis/compiler/models/mappers.mjs.map +1 -1
- package/es/apis/compiler/models/parameters.mjs.map +1 -1
- package/es/apis/middleware/middleware.d.ts +23 -5
- package/es/apis/middleware/middleware.mjs +114 -18
- package/es/apis/middleware/middleware.mjs.map +1 -1
- package/es/apis/middleware/models/index.d.ts +164 -15
- package/es/apis/middleware/models/index.mjs +53 -3
- package/es/apis/middleware/models/index.mjs.map +1 -1
- package/es/apis/middleware/models/mappers.d.ts +8 -1
- package/es/apis/middleware/models/mappers.mjs +376 -3
- package/es/apis/middleware/models/mappers.mjs.map +1 -1
- package/es/apis/middleware/models/parameters.d.ts +6 -3
- package/es/apis/middleware/models/parameters.mjs +38 -11
- package/es/apis/middleware/models/parameters.mjs.map +1 -1
- package/es/apis/node/models/index.d.ts +66 -2
- package/es/apis/node/models/index.mjs.map +1 -1
- package/es/apis/node/models/mappers.d.ts +5 -1
- package/es/apis/node/models/mappers.mjs +229 -7
- package/es/apis/node/models/mappers.mjs.map +1 -1
- package/es/apis/node/models/parameters.d.ts +2 -2
- package/es/apis/node/models/parameters.mjs +2 -2
- package/es/apis/node/models/parameters.mjs.map +1 -1
- package/es/apis/node/node.d.ts +24 -3
- package/es/apis/node/node.mjs +135 -3
- package/es/apis/node/node.mjs.map +1 -1
- package/es/chain.d.ts +14 -44
- package/es/chain.mjs +125 -219
- package/es/chain.mjs.map +1 -1
- package/es/channel/Base.d.ts +3 -47
- package/es/channel/Base.mjs +21 -54
- package/es/channel/Base.mjs.map +1 -1
- package/es/channel/Contract.d.ts +16 -25
- package/es/channel/Contract.mjs +39 -63
- package/es/channel/Contract.mjs.map +1 -1
- package/es/channel/Spend.d.ts +0 -8
- package/es/channel/Spend.mjs +17 -29
- package/es/channel/Spend.mjs.map +1 -1
- package/es/channel/handlers.mjs +1 -1
- package/es/channel/handlers.mjs.map +1 -1
- package/es/channel/internal.d.ts +104 -5
- package/es/channel/internal.mjs +26 -34
- package/es/channel/internal.mjs.map +1 -1
- package/es/contract/Contract.d.ts +10 -2
- package/es/contract/Contract.mjs +83 -79
- package/es/contract/Contract.mjs.map +1 -1
- package/es/contract/compiler/Base.d.ts +14 -8
- package/es/contract/compiler/Base.mjs.map +1 -1
- package/es/contract/compiler/Cli.d.ts +12 -11
- package/es/contract/compiler/Cli.mjs +52 -25
- package/es/contract/compiler/Cli.mjs.map +1 -1
- package/es/contract/compiler/Cli8.d.ts +13 -0
- package/es/contract/compiler/Cli8.mjs +22 -0
- package/es/contract/compiler/Cli8.mjs.map +1 -0
- package/es/contract/compiler/Http.d.ts +3 -9
- package/es/contract/compiler/Http.mjs +28 -16
- package/es/contract/compiler/Http.mjs.map +1 -1
- package/es/contract/compiler/HttpNode.d.ts +2 -5
- package/es/contract/compiler/HttpNode.mjs.map +1 -1
- package/es/contract/delegation-signature.d.ts +2 -1
- package/es/contract/delegation-signature.mjs +18 -14
- package/es/contract/delegation-signature.mjs.map +1 -1
- package/es/contract/ga.d.ts +1 -2
- package/es/contract/ga.mjs +23 -25
- package/es/contract/ga.mjs.map +1 -1
- package/es/deprecated.d.ts +48 -0
- package/es/deprecated.mjs +66 -1
- package/es/deprecated.mjs.map +1 -1
- package/es/index-browser.d.ts +11 -6
- package/es/index-browser.mjs +10 -6
- package/es/index-browser.mjs.map +1 -1
- package/es/index.d.ts +1 -0
- package/es/index.mjs +1 -0
- package/es/index.mjs.map +1 -1
- package/es/oracle.d.ts +6 -37
- package/es/oracle.mjs +32 -66
- package/es/oracle.mjs.map +1 -1
- package/es/send-transaction.d.ts +53 -0
- package/es/send-transaction.mjs +109 -0
- package/es/send-transaction.mjs.map +1 -0
- package/es/spend.d.ts +4 -3
- package/es/spend.mjs +6 -1
- package/es/spend.mjs.map +1 -1
- package/es/tx/builder/common.d.ts +29 -0
- package/es/tx/builder/common.mjs +42 -0
- package/es/tx/builder/common.mjs.map +1 -0
- package/es/tx/builder/constants.d.ts +6 -5
- package/es/tx/builder/constants.mjs +7 -15
- package/es/tx/builder/constants.mjs.map +1 -1
- package/es/tx/builder/delegation/index.d.ts +20 -0
- package/es/tx/builder/delegation/index.mjs +24 -0
- package/es/tx/builder/delegation/index.mjs.map +1 -0
- package/es/tx/builder/delegation/schema.d.ts +130 -0
- package/es/tx/builder/delegation/schema.generated.d.ts +141 -0
- package/es/tx/builder/delegation/schema.generated.mjs +2 -0
- package/es/tx/builder/delegation/schema.generated.mjs.map +1 -0
- package/es/tx/builder/delegation/schema.mjs +54 -0
- package/es/tx/builder/delegation/schema.mjs.map +1 -0
- package/es/tx/builder/field-types/abi-version.mjs +8 -11
- package/es/tx/builder/field-types/abi-version.mjs.map +1 -1
- package/es/tx/builder/field-types/address.mjs +1 -4
- package/es/tx/builder/field-types/address.mjs.map +1 -1
- package/es/tx/builder/field-types/coin-amount.d.ts +2 -2
- package/es/tx/builder/field-types/coin-amount.mjs +6 -6
- package/es/tx/builder/field-types/coin-amount.mjs.map +1 -1
- package/es/tx/builder/field-types/ct-version.d.ts +1 -1
- package/es/tx/builder/field-types/ct-version.mjs +4 -5
- package/es/tx/builder/field-types/ct-version.mjs.map +1 -1
- package/es/tx/builder/field-types/entry.mjs +7 -13
- package/es/tx/builder/field-types/entry.mjs.map +1 -1
- package/es/tx/builder/field-types/fee.d.ts +19 -11
- package/es/tx/builder/field-types/fee.mjs +57 -39
- package/es/tx/builder/field-types/fee.mjs.map +1 -1
- package/es/tx/builder/field-types/gas-limit.mjs +13 -15
- package/es/tx/builder/field-types/gas-limit.mjs.map +1 -1
- package/es/tx/builder/field-types/gas-price.d.ts +10 -2
- package/es/tx/builder/field-types/gas-price.mjs +53 -4
- package/es/tx/builder/field-types/gas-price.mjs.map +1 -1
- package/es/tx/builder/field-types/index.d.ts +31 -29
- package/es/tx/builder/field-types/index.mjs +31 -29
- package/es/tx/builder/field-types/index.mjs.map +1 -1
- package/es/tx/builder/field-types/map.mjs +20 -31
- package/es/tx/builder/field-types/map.mjs.map +1 -1
- package/es/tx/builder/field-types/mptree.mjs +14 -29
- package/es/tx/builder/field-types/mptree.mjs.map +1 -1
- package/es/tx/builder/field-types/name-fee.d.ts +1 -1
- package/es/tx/builder/field-types/name-fee.mjs +1 -1
- package/es/tx/builder/field-types/name-fee.mjs.map +1 -1
- package/es/tx/builder/field-types/nonce.d.ts +1 -0
- package/es/tx/builder/field-types/nonce.mjs +2 -0
- package/es/tx/builder/field-types/nonce.mjs.map +1 -1
- package/es/tx/builder/field-types/pointers.mjs +4 -7
- package/es/tx/builder/field-types/pointers.mjs.map +1 -1
- package/es/tx/builder/field-types/pointers2.d.ts +23 -0
- package/es/tx/builder/field-types/pointers2.mjs +65 -0
- package/es/tx/builder/field-types/pointers2.mjs.map +1 -0
- package/es/tx/builder/field-types/query-fee.d.ts +19 -0
- package/es/tx/builder/field-types/query-fee.mjs +20 -0
- package/es/tx/builder/field-types/query-fee.mjs.map +1 -0
- package/es/tx/builder/field-types/ttl.d.ts +9 -1
- package/es/tx/builder/field-types/ttl.mjs +19 -8
- package/es/tx/builder/field-types/ttl.mjs.map +1 -1
- package/es/tx/builder/field-types/with-default.d.ts +7 -0
- package/es/tx/builder/field-types/with-default.mjs +9 -0
- package/es/tx/builder/field-types/with-default.mjs.map +1 -0
- package/es/tx/builder/field-types/with-formatting.d.ts +7 -0
- package/es/tx/builder/field-types/with-formatting.mjs +9 -0
- package/es/tx/builder/field-types/with-formatting.mjs.map +1 -0
- package/es/tx/builder/field-types/wrapped.mjs +6 -8
- package/es/tx/builder/field-types/wrapped.mjs.map +1 -1
- package/es/tx/builder/helpers.d.ts +2 -2
- package/es/tx/builder/helpers.mjs +12 -21
- package/es/tx/builder/helpers.mjs.map +1 -1
- package/es/tx/builder/index.d.ts +17 -10
- package/es/tx/builder/index.mjs +39 -65
- package/es/tx/builder/index.mjs.map +1 -1
- package/es/tx/builder/schema.d.ts +478 -257
- package/es/tx/builder/schema.generated.d.ts +39 -3
- package/es/tx/builder/schema.generated.mjs.map +1 -1
- package/es/tx/builder/schema.mjs +48 -36
- package/es/tx/builder/schema.mjs.map +1 -1
- package/es/tx/execution-cost.d.ts +6 -5
- package/es/tx/execution-cost.mjs +16 -17
- package/es/tx/execution-cost.mjs.map +1 -1
- package/es/tx/transaction-signer.mjs +1 -4
- package/es/tx/transaction-signer.mjs.map +1 -1
- package/es/tx/validator.mjs +61 -42
- package/es/tx/validator.mjs.map +1 -1
- package/es/utils/amount-formatter.mjs +15 -22
- package/es/utils/amount-formatter.mjs.map +1 -1
- package/es/utils/autorest.d.ts +2 -3
- package/es/utils/autorest.mjs +41 -25
- package/es/utils/autorest.mjs.map +1 -1
- package/es/utils/bytes.mjs +1 -2
- package/es/utils/bytes.mjs.map +1 -1
- package/es/utils/crypto.d.ts +9 -5
- package/es/utils/crypto.mjs +18 -14
- package/es/utils/crypto.mjs.map +1 -1
- package/es/utils/errors.d.ts +6 -0
- package/es/utils/errors.mjs +12 -6
- package/es/utils/errors.mjs.map +1 -1
- package/es/utils/hd-wallet.d.ts +2 -0
- package/es/utils/hd-wallet.mjs +6 -5
- package/es/utils/hd-wallet.mjs.map +1 -1
- package/es/utils/json-big.mjs +2 -10
- package/es/utils/json-big.mjs.map +1 -1
- package/es/utils/jwt.d.ts +53 -0
- package/es/utils/jwt.mjs +120 -0
- package/es/utils/jwt.mjs.map +1 -0
- package/es/utils/keystore.d.ts +6 -2
- package/es/utils/keystore.mjs +8 -16
- package/es/utils/keystore.mjs.map +1 -1
- package/es/utils/typed-data.d.ts +0 -2
- package/es/utils/typed-data.mjs +8 -23
- package/es/utils/typed-data.mjs.map +1 -1
- package/es/utils/wrap-proxy.d.ts +2 -0
- package/es/utils/wrap-proxy.mjs +15 -0
- package/es/utils/wrap-proxy.mjs.map +1 -0
- package/package.json +57 -51
- package/src/AeSdk.ts +3 -0
- package/src/AeSdkAepp.ts +0 -1
- package/src/AeSdkBase.ts +97 -10
- package/src/AeSdkMethods.ts +37 -33
- package/src/AeSdkWallet.ts +22 -3
- package/src/Middleware.ts +17 -9
- package/src/MiddlewareSubscriber.ts +1 -1
- package/src/Node.ts +51 -21
- package/src/account/Base.ts +62 -3
- package/src/account/Generalized.ts +10 -0
- package/src/account/Ledger.ts +10 -0
- package/src/account/Memory.ts +83 -9
- package/src/account/Rpc.ts +69 -6
- package/src/aens.ts +35 -56
- package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +3 -0
- package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +2 -2
- package/src/aepp-wallet-communication/rpc/RpcClient.ts +4 -2
- package/src/aepp-wallet-communication/rpc/types.ts +14 -1
- package/src/aepp-wallet-communication/schema.ts +2 -0
- package/src/aepp-wallet-communication/wallet-detector.ts +10 -10
- package/src/apis/compiler/compiler.ts +93 -93
- package/src/apis/compiler/models/index.ts +1 -0
- package/src/apis/compiler/models/mappers.ts +178 -165
- package/src/apis/compiler/models/parameters.ts +18 -18
- package/src/apis/middleware/middleware.ts +462 -341
- package/src/apis/middleware/models/index.ts +258 -56
- package/src/apis/middleware/models/mappers.ts +2357 -1919
- package/src/apis/middleware/models/parameters.ts +172 -142
- package/src/apis/node/models/index.ts +79 -2
- package/src/apis/node/models/mappers.ts +1529 -1302
- package/src/apis/node/models/parameters.ts +51 -51
- package/src/apis/node/node.ts +420 -275
- package/src/chain.ts +42 -128
- package/src/channel/Base.ts +14 -47
- package/src/channel/Contract.ts +18 -26
- package/src/channel/Spend.ts +0 -8
- package/src/channel/internal.ts +115 -13
- package/src/contract/Contract.ts +36 -12
- package/src/contract/compiler/Base.ts +15 -8
- package/src/contract/compiler/Cli.ts +44 -23
- package/src/contract/compiler/Cli8.ts +17 -0
- package/src/contract/compiler/Http.ts +24 -14
- package/src/contract/compiler/HttpNode.ts +2 -2
- package/src/contract/delegation-signature.ts +11 -5
- package/src/contract/ga.ts +4 -3
- package/src/deprecated.ts +55 -1
- package/src/index-browser.ts +18 -11
- package/src/index.ts +1 -0
- package/src/oracle.ts +11 -54
- package/src/send-transaction.ts +136 -0
- package/src/spend.ts +25 -11
- package/src/tx/builder/common.ts +74 -0
- package/src/tx/builder/constants.ts +7 -9
- package/src/tx/builder/delegation/index.ts +28 -0
- package/src/tx/builder/delegation/schema.generated.ts +143 -0
- package/src/tx/builder/delegation/schema.ts +61 -0
- package/src/tx/builder/field-types/coin-amount.ts +3 -2
- package/src/tx/builder/field-types/ct-version.ts +1 -1
- package/src/tx/builder/field-types/entry.ts +1 -4
- package/src/tx/builder/field-types/fee.ts +72 -44
- package/src/tx/builder/field-types/gas-limit.ts +4 -4
- package/src/tx/builder/field-types/gas-price.ts +59 -3
- package/src/tx/builder/field-types/index.ts +31 -59
- package/src/tx/builder/field-types/name-fee.ts +1 -1
- package/src/tx/builder/field-types/nonce.ts +7 -1
- package/src/tx/builder/field-types/pointers2.ts +62 -0
- package/src/tx/builder/field-types/query-fee.ts +25 -0
- package/src/tx/builder/field-types/ttl.ts +13 -3
- package/src/tx/builder/field-types/with-default.ts +18 -0
- package/src/tx/builder/field-types/with-formatting.ts +18 -0
- package/src/tx/builder/helpers.ts +2 -2
- package/src/tx/builder/index.ts +42 -59
- package/src/tx/builder/schema.generated.ts +39 -3
- package/src/tx/builder/schema.ts +55 -29
- package/src/tx/execution-cost.ts +6 -5
- package/src/tx/validator.ts +31 -5
- package/src/utils/autorest.ts +37 -28
- package/src/utils/crypto.ts +24 -14
- package/src/utils/errors.ts +10 -0
- package/src/utils/hd-wallet.ts +2 -0
- package/src/utils/jwt.ts +126 -0
- package/src/utils/keystore.ts +6 -2
- package/src/utils/typed-data.ts +4 -30
- package/src/utils/wrap-proxy.ts +24 -0
- package/types-legacy/ts4.2/AeSdk.d.ts +3 -0
- package/types-legacy/ts4.2/AeSdkAepp.d.ts +0 -1
- package/types-legacy/ts4.2/AeSdkBase.d.ts +61 -6
- package/types-legacy/ts4.2/AeSdkMethods.d.ts +19 -7
- package/types-legacy/ts4.2/Middleware.d.ts +1 -1
- package/types-legacy/ts4.2/Node.d.ts +15 -2
- package/types-legacy/ts4.2/account/Base.d.ts +39 -3
- package/types-legacy/ts4.2/account/Generalized.d.ts +2 -0
- package/types-legacy/ts4.2/account/Ledger.d.ts +2 -0
- package/types-legacy/ts4.2/account/Memory.d.ts +15 -4
- package/types-legacy/ts4.2/account/Rpc.d.ts +16 -5
- package/types-legacy/ts4.2/aens.d.ts +17 -44
- package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserRuntime.d.ts +3 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/rpc/types.d.ts +14 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/schema.d.ts +2 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/wallet-detector.d.ts +2 -5
- package/types-legacy/ts4.2/apis/compiler/models/index.d.ts +1 -0
- package/types-legacy/ts4.2/apis/middleware/middleware.d.ts +23 -5
- package/types-legacy/ts4.2/apis/middleware/models/index.d.ts +164 -15
- package/types-legacy/ts4.2/apis/middleware/models/mappers.d.ts +8 -1
- package/types-legacy/ts4.2/apis/middleware/models/parameters.d.ts +6 -3
- package/types-legacy/ts4.2/apis/node/models/index.d.ts +66 -2
- package/types-legacy/ts4.2/apis/node/models/mappers.d.ts +5 -1
- package/types-legacy/ts4.2/apis/node/models/parameters.d.ts +2 -2
- package/types-legacy/ts4.2/apis/node/node.d.ts +24 -3
- package/types-legacy/ts4.2/chain.d.ts +14 -44
- package/types-legacy/ts4.2/channel/Base.d.ts +3 -47
- package/types-legacy/ts4.2/channel/Contract.d.ts +16 -25
- package/types-legacy/ts4.2/channel/Spend.d.ts +0 -8
- package/types-legacy/ts4.2/channel/internal.d.ts +104 -5
- package/types-legacy/ts4.2/contract/Contract.d.ts +10 -2
- package/types-legacy/ts4.2/contract/compiler/Base.d.ts +14 -8
- package/types-legacy/ts4.2/contract/compiler/Cli.d.ts +12 -11
- package/types-legacy/ts4.2/contract/compiler/Cli8.d.ts +13 -0
- package/types-legacy/ts4.2/contract/compiler/Http.d.ts +3 -9
- package/types-legacy/ts4.2/contract/compiler/HttpNode.d.ts +2 -5
- package/types-legacy/ts4.2/contract/delegation-signature.d.ts +2 -1
- package/types-legacy/ts4.2/contract/ga.d.ts +1 -2
- package/types-legacy/ts4.2/deprecated.d.ts +48 -0
- package/types-legacy/ts4.2/index-browser.d.ts +11 -6
- package/types-legacy/ts4.2/index.d.ts +1 -0
- package/types-legacy/ts4.2/oracle.d.ts +6 -37
- package/types-legacy/ts4.2/send-transaction.d.ts +53 -0
- package/types-legacy/ts4.2/spend.d.ts +4 -3
- package/types-legacy/ts4.2/tx/builder/common.d.ts +32 -0
- package/types-legacy/ts4.2/tx/builder/constants.d.ts +6 -5
- package/types-legacy/ts4.2/tx/builder/delegation/index.d.ts +20 -0
- package/types-legacy/ts4.2/tx/builder/delegation/schema.d.ts +136 -0
- package/types-legacy/ts4.2/tx/builder/delegation/schema.generated.d.ts +141 -0
- package/types-legacy/ts4.2/tx/builder/field-types/coin-amount.d.ts +2 -2
- package/types-legacy/ts4.2/tx/builder/field-types/ct-version.d.ts +1 -1
- package/types-legacy/ts4.2/tx/builder/field-types/fee.d.ts +19 -11
- package/types-legacy/ts4.2/tx/builder/field-types/gas-price.d.ts +10 -2
- package/types-legacy/ts4.2/tx/builder/field-types/index.d.ts +31 -29
- package/types-legacy/ts4.2/tx/builder/field-types/name-fee.d.ts +1 -1
- package/types-legacy/ts4.2/tx/builder/field-types/nonce.d.ts +1 -0
- package/types-legacy/ts4.2/tx/builder/field-types/pointers2.d.ts +26 -0
- package/types-legacy/ts4.2/tx/builder/field-types/query-fee.d.ts +19 -0
- package/types-legacy/ts4.2/tx/builder/field-types/ttl.d.ts +9 -1
- package/types-legacy/ts4.2/tx/builder/field-types/with-default.d.ts +7 -0
- package/types-legacy/ts4.2/tx/builder/field-types/with-formatting.d.ts +7 -0
- package/types-legacy/ts4.2/tx/builder/helpers.d.ts +2 -2
- package/types-legacy/ts4.2/tx/builder/index.d.ts +17 -10
- package/types-legacy/ts4.2/tx/builder/schema.d.ts +482 -257
- package/types-legacy/ts4.2/tx/builder/schema.generated.d.ts +39 -3
- package/types-legacy/ts4.2/tx/execution-cost.d.ts +6 -5
- package/types-legacy/ts4.2/utils/autorest.d.ts +2 -3
- package/types-legacy/ts4.2/utils/crypto.d.ts +9 -5
- package/types-legacy/ts4.2/utils/errors.d.ts +6 -0
- package/types-legacy/ts4.2/utils/hd-wallet.d.ts +2 -0
- package/types-legacy/ts4.2/utils/jwt.d.ts +53 -0
- package/types-legacy/ts4.2/utils/keystore.d.ts +6 -2
- package/types-legacy/ts4.2/utils/typed-data.d.ts +0 -2
- package/types-legacy/ts4.2/utils/wrap-proxy.d.ts +2 -0
- package/types-legacy/ts4.5/AeSdk.d.ts +3 -0
- package/types-legacy/ts4.5/AeSdkAepp.d.ts +0 -1
- package/types-legacy/ts4.5/AeSdkBase.d.ts +61 -6
- package/types-legacy/ts4.5/AeSdkMethods.d.ts +19 -7
- package/types-legacy/ts4.5/Middleware.d.ts +1 -1
- package/types-legacy/ts4.5/Node.d.ts +15 -2
- package/types-legacy/ts4.5/account/Base.d.ts +39 -3
- package/types-legacy/ts4.5/account/Generalized.d.ts +2 -0
- package/types-legacy/ts4.5/account/Ledger.d.ts +2 -0
- package/types-legacy/ts4.5/account/Memory.d.ts +15 -4
- package/types-legacy/ts4.5/account/Rpc.d.ts +16 -5
- package/types-legacy/ts4.5/aens.d.ts +17 -44
- package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserRuntime.d.ts +3 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/rpc/types.d.ts +14 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/schema.d.ts +2 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/wallet-detector.d.ts +2 -5
- package/types-legacy/ts4.5/apis/compiler/models/index.d.ts +1 -0
- package/types-legacy/ts4.5/apis/middleware/middleware.d.ts +23 -5
- package/types-legacy/ts4.5/apis/middleware/models/index.d.ts +164 -15
- package/types-legacy/ts4.5/apis/middleware/models/mappers.d.ts +8 -1
- package/types-legacy/ts4.5/apis/middleware/models/parameters.d.ts +6 -3
- package/types-legacy/ts4.5/apis/node/models/index.d.ts +66 -2
- package/types-legacy/ts4.5/apis/node/models/mappers.d.ts +5 -1
- package/types-legacy/ts4.5/apis/node/models/parameters.d.ts +2 -2
- package/types-legacy/ts4.5/apis/node/node.d.ts +24 -3
- package/types-legacy/ts4.5/chain.d.ts +14 -44
- package/types-legacy/ts4.5/channel/Base.d.ts +3 -47
- package/types-legacy/ts4.5/channel/Contract.d.ts +16 -25
- package/types-legacy/ts4.5/channel/Spend.d.ts +0 -8
- package/types-legacy/ts4.5/channel/internal.d.ts +104 -5
- package/types-legacy/ts4.5/contract/Contract.d.ts +10 -2
- package/types-legacy/ts4.5/contract/compiler/Base.d.ts +14 -8
- package/types-legacy/ts4.5/contract/compiler/Cli.d.ts +12 -11
- package/types-legacy/ts4.5/contract/compiler/Cli8.d.ts +13 -0
- package/types-legacy/ts4.5/contract/compiler/Http.d.ts +3 -9
- package/types-legacy/ts4.5/contract/compiler/HttpNode.d.ts +2 -5
- package/types-legacy/ts4.5/contract/delegation-signature.d.ts +2 -1
- package/types-legacy/ts4.5/contract/ga.d.ts +1 -2
- package/types-legacy/ts4.5/deprecated.d.ts +48 -0
- package/types-legacy/ts4.5/index-browser.d.ts +11 -6
- package/types-legacy/ts4.5/index.d.ts +1 -0
- package/types-legacy/ts4.5/oracle.d.ts +6 -37
- package/types-legacy/ts4.5/send-transaction.d.ts +53 -0
- package/types-legacy/ts4.5/spend.d.ts +4 -3
- package/types-legacy/ts4.5/tx/builder/common.d.ts +32 -0
- package/types-legacy/ts4.5/tx/builder/constants.d.ts +6 -5
- package/types-legacy/ts4.5/tx/builder/delegation/index.d.ts +20 -0
- package/types-legacy/ts4.5/tx/builder/delegation/schema.d.ts +136 -0
- package/types-legacy/ts4.5/tx/builder/delegation/schema.generated.d.ts +141 -0
- package/types-legacy/ts4.5/tx/builder/field-types/coin-amount.d.ts +2 -2
- package/types-legacy/ts4.5/tx/builder/field-types/ct-version.d.ts +1 -1
- package/types-legacy/ts4.5/tx/builder/field-types/fee.d.ts +19 -11
- package/types-legacy/ts4.5/tx/builder/field-types/gas-price.d.ts +10 -2
- package/types-legacy/ts4.5/tx/builder/field-types/index.d.ts +31 -29
- package/types-legacy/ts4.5/tx/builder/field-types/name-fee.d.ts +1 -1
- package/types-legacy/ts4.5/tx/builder/field-types/nonce.d.ts +1 -0
- package/types-legacy/ts4.5/tx/builder/field-types/pointers2.d.ts +26 -0
- package/types-legacy/ts4.5/tx/builder/field-types/query-fee.d.ts +19 -0
- package/types-legacy/ts4.5/tx/builder/field-types/ttl.d.ts +9 -1
- package/types-legacy/ts4.5/tx/builder/field-types/with-default.d.ts +7 -0
- package/types-legacy/ts4.5/tx/builder/field-types/with-formatting.d.ts +7 -0
- package/types-legacy/ts4.5/tx/builder/helpers.d.ts +2 -2
- package/types-legacy/ts4.5/tx/builder/index.d.ts +17 -10
- package/types-legacy/ts4.5/tx/builder/schema.d.ts +482 -257
- package/types-legacy/ts4.5/tx/builder/schema.generated.d.ts +39 -3
- package/types-legacy/ts4.5/tx/execution-cost.d.ts +6 -5
- package/types-legacy/ts4.5/utils/autorest.d.ts +2 -3
- package/types-legacy/ts4.5/utils/crypto.d.ts +9 -5
- package/types-legacy/ts4.5/utils/errors.d.ts +6 -0
- package/types-legacy/ts4.5/utils/hd-wallet.d.ts +2 -0
- package/types-legacy/ts4.5/utils/jwt.d.ts +53 -0
- package/types-legacy/ts4.5/utils/keystore.d.ts +6 -2
- package/types-legacy/ts4.5/utils/typed-data.d.ts +0 -2
- package/types-legacy/ts4.5/utils/wrap-proxy.d.ts +2 -0
- package/es/tx/builder/field-types/deposit.d.ts +0 -15
- package/es/tx/builder/field-types/deposit.mjs +0 -18
- package/es/tx/builder/field-types/deposit.mjs.map +0 -1
- package/src/tx/builder/field-types/deposit.ts +0 -23
- package/types-legacy/ts4.2/tx/builder/field-types/deposit.d.ts +0 -15
- package/types-legacy/ts4.5/tx/builder/field-types/deposit.d.ts +0 -15
package/es/utils/errors.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.mjs","names":["BaseError","Error","constructor","message","name","AccountError","AensError","AeppError","ChannelError","CompilerError","ContractError","CryptographyError","NodeError","TransactionError","WalletError","ArgumentError","argumentName","requirement","argumentValue","IllegalArgumentError","ArgumentCountMismatchError","functionName","requiredCount","providedCount","InsufficientBalanceError","MissingParamError","NoSerializerFoundError","RequestTimedOutError","height","TxTimedOutError","blocks","th","join","TypeError","UnsupportedPlatformError","UnsupportedProtocolError","NotImplementedError","UnsupportedVersionError","dependency","version","geVersion","ltVersion","InternalError","UnexpectedTsError","arguments","length","undefined","UnavailableAccountError","address","AensPointerContextError","nameOrId","prefix","InsufficientNameFeeError","nameFee","minNameFee","toString","InvalidAensNameError","InvalidRpcMessageError","MissingCallbackError","id","UnAuthorizedAccountError","onAccount","UnknownRpcClientError","UnsubscribedAccountError","ChannelCallError","ChannelConnectionError","ChannelPingTimedOutError","UnexpectedChannelMessageError","ChannelIncomingMessageError","handlerError","incomingMessage","UnknownChannelStateError","InvalidAuthDataError","BytecodeMismatchError","source","DuplicateContractError","InactiveContractError","contractAddress","InvalidMethodInvocationError","MissingContractAddressError","MissingContractDefError","MissingFunctionNameError","NodeInvocationError","transaction","NoSuchContractFunctionError","NotPayableFunctionError","amount","fn","MissingEventDefinitionError","eventNameHash","eventAddress","AmbiguousEventDefinitionError","matchedEvents","map","_ref","InvalidChecksumError","InvalidPasswordError","MerkleTreeHashMismatchError","MissingNodeInTreeError","UnknownNodeLengthError","nodeLength","UnknownPathNibbleError","nibble","DuplicateNodeError","NodeNotFoundError","DecodeError","PayloadLengthError","DryRunError","IllegalBidFeeError","InvalidSignatureError","PrefixNotFoundError","tag","SchemaNotFoundError","key","TagNotFoundError","TxNotInChainError","txHash","AlreadyConnectedError","NoWalletConnectedError","RpcConnectionError"],"sources":["../../src/utils/errors.ts"],"sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport BigNumber from 'bignumber.js';\nimport { AensName, Int } from '../tx/builder/constants';\nimport * as Encoded from './encoder-types';\n\n/**\n * aepp-sdk originated error\n * @category exception\n */\nexport abstract class BaseError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'BaseError';\n }\n}\n\n/**\n * @category exception\n */\nexport class AccountError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'AccountError';\n }\n}\n\n/**\n * @category exception\n */\nexport class AensError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'AensError';\n }\n}\n\n/**\n * @category exception\n */\nexport class AeppError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'AeppError';\n }\n}\n\n/**\n * @category exception\n */\nexport class ChannelError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'ChannelError';\n }\n}\n\n/**\n * @category exception\n */\nexport class CompilerError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'CompilerError';\n }\n}\n\n/**\n * @category exception\n */\nexport class ContractError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'ContractError';\n }\n}\n\n/**\n * @category exception\n */\nexport class CryptographyError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'CryptographyError';\n }\n}\n\n/**\n * @category exception\n */\nexport class NodeError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'NodeError';\n }\n}\n\n/**\n * @category exception\n */\nexport class TransactionError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'TransactionError';\n }\n}\n\n/**\n * @category exception\n */\nexport class WalletError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'WalletError';\n }\n}\n\n/**\n * @category exception\n */\nexport class ArgumentError extends BaseError {\n constructor(argumentName: string, requirement: unknown, argumentValue: unknown) {\n super(`${argumentName} should be ${requirement}, got ${argumentValue} instead`);\n this.name = 'ArgumentError';\n }\n}\n\n/**\n * @category exception\n */\nexport class IllegalArgumentError extends CryptographyError {\n constructor(message: string) {\n super(message);\n this.name = 'IllegalArgumentError';\n }\n}\n\n/**\n * @category exception\n */\nexport class ArgumentCountMismatchError extends BaseError {\n constructor(functionName: string, requiredCount: number, providedCount: number) {\n super(`${functionName} expects ${requiredCount} arguments, got ${providedCount} instead`);\n this.name = 'ArgumentCountMismatchError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InsufficientBalanceError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'InsufficientBalanceError';\n }\n}\n\n/**\n * @category exception\n */\nexport class MissingParamError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'MissingParamError';\n }\n}\n\n/**\n * @category exception\n */\nexport class NoSerializerFoundError extends BaseError {\n constructor() {\n super('Byte serialization not supported');\n this.name = 'NoSerializerFoundError';\n }\n}\n\n/**\n * @category exception\n */\nexport class RequestTimedOutError extends BaseError {\n constructor(height: number) {\n super(`Giving up at height ${height}`);\n this.name = 'RequestTimedOutError';\n }\n}\n\n/**\n * @category exception\n */\nexport class TxTimedOutError extends BaseError {\n constructor(blocks: number, th: Encoded.TxHash) {\n super([\n `Giving up after ${blocks} blocks mined`,\n `transaction hash: ${th}`,\n ].join(', '));\n this.name = 'TxTimedOutError';\n }\n}\n\n/**\n * @category exception\n */\nexport class TypeError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'TypeError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnsupportedPlatformError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'UnsupportedPlatformError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnsupportedProtocolError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'UnsupportedProtocolError';\n }\n}\n\n/**\n * @category exception\n */\nexport class NotImplementedError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'NotImplementedError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnsupportedVersionError extends BaseError {\n constructor(dependency: string, version: string, geVersion: string, ltVersion: string) {\n super(`Unsupported ${dependency} version ${version}. Supported: >= ${geVersion} < ${ltVersion}`);\n this.name = 'UnsupportedVersionError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InternalError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'InternalError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnexpectedTsError extends InternalError {\n constructor(message = 'Expected to not happen, required for TS') {\n super(message);\n this.name = 'UnexpectedTsError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnavailableAccountError extends AccountError {\n constructor(address: Encoded.AccountAddress) {\n super(`Account for ${address} not available`);\n this.name = 'UnavailableAccountError';\n }\n}\n\n/**\n * @category exception\n */\nexport class AensPointerContextError extends AensError {\n constructor(nameOrId: AensName | Encoded.Name, prefix: string) {\n super(`Name ${nameOrId} don't have pointers for ${prefix}`);\n this.name = 'AensPointerContextError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InsufficientNameFeeError extends AensError {\n constructor(nameFee: BigNumber, minNameFee: BigNumber) {\n super(`the provided fee ${nameFee.toString()} is not enough to execute the claim, required: ${minNameFee.toString()}`);\n this.name = 'InsufficientNameFeeError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InvalidAensNameError extends AensError {\n constructor(message: string) {\n super(message);\n this.name = 'InvalidAensNameError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InvalidRpcMessageError extends AeppError {\n constructor(message: string) {\n super(`Received invalid message: ${message}`);\n this.name = 'InvalidRpcMessageError';\n }\n}\n\n/**\n * @category exception\n */\nexport class MissingCallbackError extends AeppError {\n constructor(id: number) {\n super(`Can't find callback for this messageId ${id}`);\n this.name = 'MissingCallbackError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnAuthorizedAccountError extends AeppError {\n constructor(onAccount: Encoded.AccountAddress) {\n super(`You do not have access to account ${onAccount}`);\n this.name = 'UnAuthorizedAccountError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnknownRpcClientError extends AeppError {\n constructor(id: string) {\n super(`RpcClient with id ${id} do not exist`);\n this.name = 'UnknownRpcClientError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnsubscribedAccountError extends AeppError {\n constructor() {\n super('You are not subscribed for an account.');\n this.name = 'UnsubscribedAccountError';\n }\n}\n\n/**\n * @category exception\n */\nexport class ChannelCallError extends ChannelError {\n constructor(message: string) {\n super(message);\n this.name = 'ChannelCallError';\n }\n}\n\n/**\n * @category exception\n */\nexport class ChannelConnectionError extends ChannelError {\n constructor(message: string) {\n super(message);\n this.name = 'ChannelConnectionError';\n }\n}\n\n/**\n * @category exception\n */\nexport class ChannelPingTimedOutError extends ChannelError {\n constructor() {\n super('Server pong timed out');\n this.name = 'ChannelPingTimedOutError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnexpectedChannelMessageError extends ChannelError {\n constructor(message: string) {\n super(message);\n this.name = 'UnexpectedChannelMessageError';\n }\n}\n\n/**\n * @category exception\n */\nexport class ChannelIncomingMessageError extends ChannelError {\n handlerError: Error;\n\n incomingMessage: { [key: string]: any };\n\n constructor(handlerError: Error, incomingMessage: { [key: string]: any }) {\n super(handlerError.message);\n this.handlerError = handlerError;\n this.incomingMessage = incomingMessage;\n this.name = 'ChannelIncomingMessageError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnknownChannelStateError extends ChannelError {\n constructor() {\n super('State Channels FSM entered unknown state');\n this.name = 'UnknownChannelStateError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InvalidAuthDataError extends CompilerError {\n constructor(message: string) {\n super(message);\n this.name = 'InvalidAuthDataError';\n }\n}\n\n/**\n * @category exception\n */\nexport class BytecodeMismatchError extends ContractError {\n constructor(source: 'source code' | 'bytecode') {\n super(`Contract ${source} do not correspond to the bytecode deployed on the chain`);\n this.name = 'BytecodeMismatchError';\n }\n}\n\n/**\n * @category exception\n */\nexport class DuplicateContractError extends ContractError {\n constructor() {\n super('Contract already deployed');\n this.name = 'DuplicateContractError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InactiveContractError extends ContractError {\n constructor(contractAddress: Encoded.ContractAddress) {\n super(`Contract with address ${contractAddress} not active`);\n this.name = 'InactiveContractError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InvalidMethodInvocationError extends ContractError {\n constructor(message: string) {\n super(message);\n this.name = 'InvalidMethodInvocationError';\n }\n}\n\n/**\n * @category exception\n */\nexport class MissingContractAddressError extends ContractError {\n constructor(message: string) {\n super(message);\n this.name = 'MissingContractAddressError';\n }\n}\n\n/**\n * @category exception\n */\nexport class MissingContractDefError extends ContractError {\n constructor() {\n super('Either ACI or sourceCode or sourceCodePath is required');\n this.name = 'MissingContractDefError';\n }\n}\n\n/**\n * @category exception\n */\nexport class MissingFunctionNameError extends ContractError {\n constructor() {\n super('Function name is required');\n this.name = 'MissingFunctionNameError';\n }\n}\n\n/**\n * @category exception\n */\nexport class NodeInvocationError extends ContractError {\n transaction?: Encoded.Transaction;\n\n constructor(message: string, transaction?: Encoded.Transaction) {\n super(`Invocation failed${message == null ? '' : `: \"${message}\"`}`);\n this.name = 'NodeInvocationError';\n this.transaction = transaction;\n }\n}\n\n/**\n * @category exception\n */\nexport class NoSuchContractFunctionError extends ContractError {\n constructor(name: string) {\n super(`Function ${name} doesn't exist in contract`);\n this.name = 'NoSuchContractFunctionError';\n }\n}\n\n/**\n * @category exception\n */\nexport class NotPayableFunctionError extends ContractError {\n constructor(amount: Int, fn: string) {\n super(\n `You try to pay \"${amount}\" to function \"${fn}\" which is not payable. `\n + 'Only payable function can accept coins',\n );\n this.name = 'NotPayableFunctionError';\n }\n}\n\n/**\n * @category exception\n */\nexport class MissingEventDefinitionError extends ContractError {\n constructor(eventNameHash: string, eventAddress: Encoded.ContractAddress) {\n super(\n `Can't find definition of ${eventNameHash} event emitted by ${eventAddress}`\n + ' (use omitUnknown option to ignore events like this)',\n );\n this.name = 'MissingEventDefinitionError';\n }\n}\n\n/**\n * @category exception\n */\nexport class AmbiguousEventDefinitionError extends ContractError {\n constructor(eventAddress: Encoded.ContractAddress, matchedEvents: Array<[string, string]>) {\n super(\n `Found multiple definitions of \"${matchedEvents[0][1]}\" event with different types emitted by`\n + ` ${eventAddress} in ${matchedEvents.map(([name]) => `\"${name}\"`).join(', ')} contracts`\n + ' (use contractAddressToName option to specify contract name corresponding to address)',\n );\n this.name = 'AmbiguousEventDefinitionError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InvalidChecksumError extends CryptographyError {\n constructor() {\n super('Invalid checksum');\n this.name = 'InvalidChecksumError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InvalidPasswordError extends CryptographyError {\n constructor() {\n super('Invalid password or nonce');\n this.name = 'InvalidPasswordError';\n }\n}\n\n/**\n * @category exception\n */\nexport class MerkleTreeHashMismatchError extends CryptographyError {\n constructor() {\n super('Node hash is not equal to provided one');\n this.name = 'MerkleTreeHashMismatchError';\n }\n}\n\n/**\n * @category exception\n */\nexport class MissingNodeInTreeError extends CryptographyError {\n constructor(message: string) {\n super(message);\n this.name = 'MissingNodeInTreeError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnknownNodeLengthError extends CryptographyError {\n constructor(nodeLength: number) {\n super(`Unknown node length: ${nodeLength}`);\n this.name = 'UnknownNodeLengthError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnknownPathNibbleError extends CryptographyError {\n constructor(nibble: number) {\n super(`Unknown path nibble: ${nibble}`);\n this.name = 'UnknownPathNibbleError';\n }\n}\n\n/**\n * @category exception\n */\nexport class DuplicateNodeError extends NodeError {\n constructor(name: string) {\n super(`Node with name ${name} already exist`);\n this.name = 'DuplicateNodeError';\n }\n}\n\n/**\n * @category exception\n */\nexport class NodeNotFoundError extends NodeError {\n constructor(message: string) {\n super(message);\n this.name = 'NodeNotFoundError';\n }\n}\n\n/**\n * @category exception\n */\nexport class DecodeError extends TransactionError {\n constructor(message: string) {\n super(message);\n this.name = 'DecodeError';\n }\n}\n\n/**\n * @category exception\n */\nexport class PayloadLengthError extends TransactionError {\n constructor(message: string) {\n super(message);\n this.name = 'PayloadLengthError';\n }\n}\n\n/**\n * @category exception\n */\nexport class DryRunError extends TransactionError {\n constructor(message: string) {\n super(message);\n this.name = 'DryRunError';\n }\n}\n\n/**\n * @category exception\n */\nexport class IllegalBidFeeError extends TransactionError {\n constructor(message: string) {\n super(message);\n this.name = 'IllegalBidFeeError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InvalidSignatureError extends TransactionError {\n constructor(message: string) {\n super(message);\n this.name = 'InvalidSignatureError';\n }\n}\n\n/**\n * @category exception\n */\nexport class PrefixNotFoundError extends TransactionError {\n constructor(tag: number) {\n super(`Prefix for id-tag ${tag} not found.`);\n this.name = 'PrefixNotFoundError';\n }\n}\n\n/**\n * @category exception\n */\nexport class SchemaNotFoundError extends TransactionError {\n constructor(key: string, version: number) {\n super(`Transaction schema not implemented for tag ${key} version ${version}`);\n this.name = 'SchemaNotFoundError';\n }\n}\n\n/**\n * @category exception\n */\nexport class TagNotFoundError extends TransactionError {\n constructor(prefix: string) {\n super(`Id tag for prefix ${prefix} not found.`);\n this.name = 'DecodeError';\n }\n}\n\n/**\n * @category exception\n */\nexport class TxNotInChainError extends TransactionError {\n constructor(txHash: Encoded.TxHash) {\n super(`Transaction ${txHash} is removed from chain`);\n this.name = 'TxNotInChainError';\n }\n}\n\n/**\n * @category exception\n */\nexport class AlreadyConnectedError extends WalletError {\n constructor(message: string) {\n super(message);\n this.name = 'AlreadyConnectedError';\n }\n}\n\n/**\n * @category exception\n */\nexport class NoWalletConnectedError extends WalletError {\n constructor(message: string) {\n super(message);\n this.name = 'NoWalletConnectedError';\n }\n}\n\n/**\n * @category exception\n */\nexport class RpcConnectionError extends WalletError {\n constructor(message: string) {\n super(message);\n this.name = 'RpcConnectionError';\n }\n}\n"],"mappings":"AAAA;;AAKA;AACA;AACA;AACA;AACA,OAAO,MAAeA,SAAS,SAASC,KAAK,CAAC;EAC5CC,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,WAAW;EACzB;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMC,YAAY,SAASL,SAAS,CAAC;EAC1CE,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,cAAc;EAC5B;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAME,SAAS,SAASN,SAAS,CAAC;EACvCE,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,WAAW;EACzB;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMG,SAAS,SAASP,SAAS,CAAC;EACvCE,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,WAAW;EACzB;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMI,YAAY,SAASR,SAAS,CAAC;EAC1CE,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,cAAc;EAC5B;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMK,aAAa,SAAST,SAAS,CAAC;EAC3CE,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,eAAe;EAC7B;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMM,aAAa,SAASV,SAAS,CAAC;EAC3CE,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,eAAe;EAC7B;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMO,iBAAiB,SAASX,SAAS,CAAC;EAC/CE,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,mBAAmB;EACjC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMQ,SAAS,SAASZ,SAAS,CAAC;EACvCE,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,WAAW;EACzB;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMS,gBAAgB,SAASb,SAAS,CAAC;EAC9CE,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,kBAAkB;EAChC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMU,WAAW,SAASd,SAAS,CAAC;EACzCE,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,aAAa;EAC3B;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMW,aAAa,SAASf,SAAS,CAAC;EAC3CE,WAAWA,CAACc,YAAoB,EAAEC,WAAoB,EAAEC,aAAsB,EAAE;IAC9E,KAAK,CAAE,GAAEF,YAAa,cAAaC,WAAY,SAAQC,aAAc,UAAS,CAAC;IAC/E,IAAI,CAACd,IAAI,GAAG,eAAe;EAC7B;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMe,oBAAoB,SAASR,iBAAiB,CAAC;EAC1DT,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,sBAAsB;EACpC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMgB,0BAA0B,SAASpB,SAAS,CAAC;EACxDE,WAAWA,CAACmB,YAAoB,EAAEC,aAAqB,EAAEC,aAAqB,EAAE;IAC9E,KAAK,CAAE,GAAEF,YAAa,YAAWC,aAAc,mBAAkBC,aAAc,UAAS,CAAC;IACzF,IAAI,CAACnB,IAAI,GAAG,4BAA4B;EAC1C;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMoB,wBAAwB,SAASxB,SAAS,CAAC;EACtDE,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,0BAA0B;EACxC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMqB,iBAAiB,SAASzB,SAAS,CAAC;EAC/CE,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,mBAAmB;EACjC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMsB,sBAAsB,SAAS1B,SAAS,CAAC;EACpDE,WAAWA,CAAA,EAAG;IACZ,KAAK,CAAC,kCAAkC,CAAC;IACzC,IAAI,CAACE,IAAI,GAAG,wBAAwB;EACtC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMuB,oBAAoB,SAAS3B,SAAS,CAAC;EAClDE,WAAWA,CAAC0B,MAAc,EAAE;IAC1B,KAAK,CAAE,uBAAsBA,MAAO,EAAC,CAAC;IACtC,IAAI,CAACxB,IAAI,GAAG,sBAAsB;EACpC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMyB,eAAe,SAAS7B,SAAS,CAAC;EAC7CE,WAAWA,CAAC4B,MAAc,EAAEC,EAAkB,EAAE;IAC9C,KAAK,CAAC,CACH,mBAAkBD,MAAO,eAAc,EACvC,qBAAoBC,EAAG,EAAC,CAC1B,CAACC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,IAAI,CAAC5B,IAAI,GAAG,iBAAiB;EAC/B;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAM6B,SAAS,SAASjC,SAAS,CAAC;EACvCE,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,WAAW;EACzB;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAM8B,wBAAwB,SAASlC,SAAS,CAAC;EACtDE,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,0BAA0B;EACxC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAM+B,wBAAwB,SAASnC,SAAS,CAAC;EACtDE,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,0BAA0B;EACxC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMgC,mBAAmB,SAASpC,SAAS,CAAC;EACjDE,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,qBAAqB;EACnC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMiC,uBAAuB,SAASrC,SAAS,CAAC;EACrDE,WAAWA,CAACoC,UAAkB,EAAEC,OAAe,EAAEC,SAAiB,EAAEC,SAAiB,EAAE;IACrF,KAAK,CAAE,eAAcH,UAAW,YAAWC,OAAQ,mBAAkBC,SAAU,MAAKC,SAAU,EAAC,CAAC;IAChG,IAAI,CAACrC,IAAI,GAAG,yBAAyB;EACvC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMsC,aAAa,SAAS1C,SAAS,CAAC;EAC3CE,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,eAAe;EAC7B;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMuC,iBAAiB,SAASD,aAAa,CAAC;EACnDxC,WAAWA,CAAA,EAAsD;IAAA,IAArDC,OAAO,GAAAyC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,yCAAyC;IAC7D,KAAK,CAACzC,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,mBAAmB;EACjC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAM2C,uBAAuB,SAAS1C,YAAY,CAAC;EACxDH,WAAWA,CAAC8C,OAA+B,EAAE;IAC3C,KAAK,CAAE,eAAcA,OAAQ,gBAAe,CAAC;IAC7C,IAAI,CAAC5C,IAAI,GAAG,yBAAyB;EACvC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAM6C,uBAAuB,SAAS3C,SAAS,CAAC;EACrDJ,WAAWA,CAACgD,QAAiC,EAAEC,MAAc,EAAE;IAC7D,KAAK,CAAE,QAAOD,QAAS,4BAA2BC,MAAO,EAAC,CAAC;IAC3D,IAAI,CAAC/C,IAAI,GAAG,yBAAyB;EACvC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMgD,wBAAwB,SAAS9C,SAAS,CAAC;EACtDJ,WAAWA,CAACmD,OAAkB,EAAEC,UAAqB,EAAE;IACrD,KAAK,CAAE,oBAAmBD,OAAO,CAACE,QAAQ,CAAC,CAAE,kDAAiDD,UAAU,CAACC,QAAQ,CAAC,CAAE,EAAC,CAAC;IACtH,IAAI,CAACnD,IAAI,GAAG,0BAA0B;EACxC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMoD,oBAAoB,SAASlD,SAAS,CAAC;EAClDJ,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,sBAAsB;EACpC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMqD,sBAAsB,SAASlD,SAAS,CAAC;EACpDL,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAAE,6BAA4BA,OAAQ,EAAC,CAAC;IAC7C,IAAI,CAACC,IAAI,GAAG,wBAAwB;EACtC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMsD,oBAAoB,SAASnD,SAAS,CAAC;EAClDL,WAAWA,CAACyD,EAAU,EAAE;IACtB,KAAK,CAAE,0CAAyCA,EAAG,EAAC,CAAC;IACrD,IAAI,CAACvD,IAAI,GAAG,sBAAsB;EACpC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMwD,wBAAwB,SAASrD,SAAS,CAAC;EACtDL,WAAWA,CAAC2D,SAAiC,EAAE;IAC7C,KAAK,CAAE,qCAAoCA,SAAU,EAAC,CAAC;IACvD,IAAI,CAACzD,IAAI,GAAG,0BAA0B;EACxC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAM0D,qBAAqB,SAASvD,SAAS,CAAC;EACnDL,WAAWA,CAACyD,EAAU,EAAE;IACtB,KAAK,CAAE,qBAAoBA,EAAG,eAAc,CAAC;IAC7C,IAAI,CAACvD,IAAI,GAAG,uBAAuB;EACrC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAM2D,wBAAwB,SAASxD,SAAS,CAAC;EACtDL,WAAWA,CAAA,EAAG;IACZ,KAAK,CAAC,wCAAwC,CAAC;IAC/C,IAAI,CAACE,IAAI,GAAG,0BAA0B;EACxC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAM4D,gBAAgB,SAASxD,YAAY,CAAC;EACjDN,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,kBAAkB;EAChC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAM6D,sBAAsB,SAASzD,YAAY,CAAC;EACvDN,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,wBAAwB;EACtC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAM8D,wBAAwB,SAAS1D,YAAY,CAAC;EACzDN,WAAWA,CAAA,EAAG;IACZ,KAAK,CAAC,uBAAuB,CAAC;IAC9B,IAAI,CAACE,IAAI,GAAG,0BAA0B;EACxC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAM+D,6BAA6B,SAAS3D,YAAY,CAAC;EAC9DN,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,+BAA+B;EAC7C;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMgE,2BAA2B,SAAS5D,YAAY,CAAC;EAK5DN,WAAWA,CAACmE,YAAmB,EAAEC,eAAuC,EAAE;IACxE,KAAK,CAACD,YAAY,CAAClE,OAAO,CAAC;IAC3B,IAAI,CAACkE,YAAY,GAAGA,YAAY;IAChC,IAAI,CAACC,eAAe,GAAGA,eAAe;IACtC,IAAI,CAAClE,IAAI,GAAG,6BAA6B;EAC3C;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMmE,wBAAwB,SAAS/D,YAAY,CAAC;EACzDN,WAAWA,CAAA,EAAG;IACZ,KAAK,CAAC,0CAA0C,CAAC;IACjD,IAAI,CAACE,IAAI,GAAG,0BAA0B;EACxC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMoE,oBAAoB,SAAS/D,aAAa,CAAC;EACtDP,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,sBAAsB;EACpC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMqE,qBAAqB,SAAS/D,aAAa,CAAC;EACvDR,WAAWA,CAACwE,MAAkC,EAAE;IAC9C,KAAK,CAAE,YAAWA,MAAO,0DAAyD,CAAC;IACnF,IAAI,CAACtE,IAAI,GAAG,uBAAuB;EACrC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMuE,sBAAsB,SAASjE,aAAa,CAAC;EACxDR,WAAWA,CAAA,EAAG;IACZ,KAAK,CAAC,2BAA2B,CAAC;IAClC,IAAI,CAACE,IAAI,GAAG,wBAAwB;EACtC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMwE,qBAAqB,SAASlE,aAAa,CAAC;EACvDR,WAAWA,CAAC2E,eAAwC,EAAE;IACpD,KAAK,CAAE,yBAAwBA,eAAgB,aAAY,CAAC;IAC5D,IAAI,CAACzE,IAAI,GAAG,uBAAuB;EACrC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAM0E,4BAA4B,SAASpE,aAAa,CAAC;EAC9DR,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,8BAA8B;EAC5C;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAM2E,2BAA2B,SAASrE,aAAa,CAAC;EAC7DR,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,6BAA6B;EAC3C;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAM4E,uBAAuB,SAAStE,aAAa,CAAC;EACzDR,WAAWA,CAAA,EAAG;IACZ,KAAK,CAAC,wDAAwD,CAAC;IAC/D,IAAI,CAACE,IAAI,GAAG,yBAAyB;EACvC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAM6E,wBAAwB,SAASvE,aAAa,CAAC;EAC1DR,WAAWA,CAAA,EAAG;IACZ,KAAK,CAAC,2BAA2B,CAAC;IAClC,IAAI,CAACE,IAAI,GAAG,0BAA0B;EACxC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAM8E,mBAAmB,SAASxE,aAAa,CAAC;EAGrDR,WAAWA,CAACC,OAAe,EAAEgF,WAAiC,EAAE;IAC9D,KAAK,CAAE,oBAAmBhF,OAAO,IAAI,IAAI,GAAG,EAAE,GAAI,MAAKA,OAAQ,GAAG,EAAC,CAAC;IACpE,IAAI,CAACC,IAAI,GAAG,qBAAqB;IACjC,IAAI,CAAC+E,WAAW,GAAGA,WAAW;EAChC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMC,2BAA2B,SAAS1E,aAAa,CAAC;EAC7DR,WAAWA,CAACE,IAAY,EAAE;IACxB,KAAK,CAAE,YAAWA,IAAK,4BAA2B,CAAC;IACnD,IAAI,CAACA,IAAI,GAAG,6BAA6B;EAC3C;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMiF,uBAAuB,SAAS3E,aAAa,CAAC;EACzDR,WAAWA,CAACoF,MAAW,EAAEC,EAAU,EAAE;IACnC,KAAK,CACF,mBAAkBD,MAAO,kBAAiBC,EAAG,0BAAyB,GACrE,wCACJ,CAAC;IACD,IAAI,CAACnF,IAAI,GAAG,yBAAyB;EACvC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMoF,2BAA2B,SAAS9E,aAAa,CAAC;EAC7DR,WAAWA,CAACuF,aAAqB,EAAEC,YAAqC,EAAE;IACxE,KAAK,CACF,4BAA2BD,aAAc,qBAAoBC,YAAa,EAAC,GAC1E,sDACJ,CAAC;IACD,IAAI,CAACtF,IAAI,GAAG,6BAA6B;EAC3C;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMuF,6BAA6B,SAASjF,aAAa,CAAC;EAC/DR,WAAWA,CAACwF,YAAqC,EAAEE,aAAsC,EAAE;IACzF,KAAK,CACF,kCAAiCA,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,yCAAwC,GAC3F,IAAGF,YAAa,OAAME,aAAa,CAACC,GAAG,CAACC,IAAA;MAAA,IAAC,CAAC1F,IAAI,CAAC,GAAA0F,IAAA;MAAA,OAAM,IAAG1F,IAAK,GAAE;IAAA,EAAC,CAAC4B,IAAI,CAAC,IAAI,CAAE,YAAW,GACxF,uFACJ,CAAC;IACD,IAAI,CAAC5B,IAAI,GAAG,+BAA+B;EAC7C;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAM2F,oBAAoB,SAASpF,iBAAiB,CAAC;EAC1DT,WAAWA,CAAA,EAAG;IACZ,KAAK,CAAC,kBAAkB,CAAC;IACzB,IAAI,CAACE,IAAI,GAAG,sBAAsB;EACpC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAM4F,oBAAoB,SAASrF,iBAAiB,CAAC;EAC1DT,WAAWA,CAAA,EAAG;IACZ,KAAK,CAAC,2BAA2B,CAAC;IAClC,IAAI,CAACE,IAAI,GAAG,sBAAsB;EACpC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAM6F,2BAA2B,SAAStF,iBAAiB,CAAC;EACjET,WAAWA,CAAA,EAAG;IACZ,KAAK,CAAC,wCAAwC,CAAC;IAC/C,IAAI,CAACE,IAAI,GAAG,6BAA6B;EAC3C;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAM8F,sBAAsB,SAASvF,iBAAiB,CAAC;EAC5DT,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,wBAAwB;EACtC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAM+F,sBAAsB,SAASxF,iBAAiB,CAAC;EAC5DT,WAAWA,CAACkG,UAAkB,EAAE;IAC9B,KAAK,CAAE,wBAAuBA,UAAW,EAAC,CAAC;IAC3C,IAAI,CAAChG,IAAI,GAAG,wBAAwB;EACtC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMiG,sBAAsB,SAAS1F,iBAAiB,CAAC;EAC5DT,WAAWA,CAACoG,MAAc,EAAE;IAC1B,KAAK,CAAE,wBAAuBA,MAAO,EAAC,CAAC;IACvC,IAAI,CAAClG,IAAI,GAAG,wBAAwB;EACtC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMmG,kBAAkB,SAAS3F,SAAS,CAAC;EAChDV,WAAWA,CAACE,IAAY,EAAE;IACxB,KAAK,CAAE,kBAAiBA,IAAK,gBAAe,CAAC;IAC7C,IAAI,CAACA,IAAI,GAAG,oBAAoB;EAClC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMoG,iBAAiB,SAAS5F,SAAS,CAAC;EAC/CV,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,mBAAmB;EACjC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMqG,WAAW,SAAS5F,gBAAgB,CAAC;EAChDX,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,aAAa;EAC3B;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMsG,kBAAkB,SAAS7F,gBAAgB,CAAC;EACvDX,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,oBAAoB;EAClC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMuG,WAAW,SAAS9F,gBAAgB,CAAC;EAChDX,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,aAAa;EAC3B;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMwG,kBAAkB,SAAS/F,gBAAgB,CAAC;EACvDX,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,oBAAoB;EAClC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMyG,qBAAqB,SAAShG,gBAAgB,CAAC;EAC1DX,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,uBAAuB;EACrC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAM0G,mBAAmB,SAASjG,gBAAgB,CAAC;EACxDX,WAAWA,CAAC6G,GAAW,EAAE;IACvB,KAAK,CAAE,qBAAoBA,GAAI,aAAY,CAAC;IAC5C,IAAI,CAAC3G,IAAI,GAAG,qBAAqB;EACnC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAM4G,mBAAmB,SAASnG,gBAAgB,CAAC;EACxDX,WAAWA,CAAC+G,GAAW,EAAE1E,OAAe,EAAE;IACxC,KAAK,CAAE,8CAA6C0E,GAAI,YAAW1E,OAAQ,EAAC,CAAC;IAC7E,IAAI,CAACnC,IAAI,GAAG,qBAAqB;EACnC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAM8G,gBAAgB,SAASrG,gBAAgB,CAAC;EACrDX,WAAWA,CAACiD,MAAc,EAAE;IAC1B,KAAK,CAAE,qBAAoBA,MAAO,aAAY,CAAC;IAC/C,IAAI,CAAC/C,IAAI,GAAG,aAAa;EAC3B;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAM+G,iBAAiB,SAAStG,gBAAgB,CAAC;EACtDX,WAAWA,CAACkH,MAAsB,EAAE;IAClC,KAAK,CAAE,eAAcA,MAAO,wBAAuB,CAAC;IACpD,IAAI,CAAChH,IAAI,GAAG,mBAAmB;EACjC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMiH,qBAAqB,SAASvG,WAAW,CAAC;EACrDZ,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,uBAAuB;EACrC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMkH,sBAAsB,SAASxG,WAAW,CAAC;EACtDZ,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,wBAAwB;EACtC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMmH,kBAAkB,SAASzG,WAAW,CAAC;EAClDZ,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,oBAAoB;EAClC;AACF"}
|
|
1
|
+
{"version":3,"file":"errors.mjs","names":["BaseError","Error","constructor","message","name","AccountError","AensError","AeppError","ChannelError","CompilerError","ContractError","CryptographyError","NodeError","TransactionError","WalletError","ArgumentError","argumentName","requirement","argumentValue","IllegalArgumentError","ArgumentCountMismatchError","functionName","requiredCount","providedCount","InsufficientBalanceError","MissingParamError","NoSerializerFoundError","RequestTimedOutError","height","TxTimedOutError","blocks","th","join","TypeError","UnsupportedPlatformError","UnsupportedProtocolError","NotImplementedError","UnsupportedVersionError","dependency","version","geVersion","ltVersion","LogicError","InternalError","UnexpectedTsError","UnavailableAccountError","address","AensPointerContextError","nameOrId","prefix","InsufficientNameFeeError","nameFee","minNameFee","toString","InvalidAensNameError","InvalidRpcMessageError","MissingCallbackError","id","UnAuthorizedAccountError","onAccount","UnknownRpcClientError","UnsubscribedAccountError","ChannelCallError","ChannelConnectionError","ChannelPingTimedOutError","UnexpectedChannelMessageError","ChannelIncomingMessageError","handlerError","incomingMessage","UnknownChannelStateError","InvalidAuthDataError","BytecodeMismatchError","source","DuplicateContractError","InactiveContractError","contractAddress","InvalidMethodInvocationError","MissingContractAddressError","MissingContractDefError","MissingFunctionNameError","NodeInvocationError","transaction","NoSuchContractFunctionError","NotPayableFunctionError","amount","fn","MissingEventDefinitionError","eventNameHash","eventAddress","AmbiguousEventDefinitionError","matchedEvents","map","InvalidChecksumError","InvalidPasswordError","MerkleTreeHashMismatchError","MissingNodeInTreeError","UnknownNodeLengthError","nodeLength","UnknownPathNibbleError","nibble","DuplicateNodeError","NodeNotFoundError","DecodeError","PayloadLengthError","DryRunError","IllegalBidFeeError","InvalidSignatureError","PrefixNotFoundError","tag","SchemaNotFoundError","key","TagNotFoundError","TxNotInChainError","txHash","AlreadyConnectedError","NoWalletConnectedError","RpcConnectionError"],"sources":["../../src/utils/errors.ts"],"sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport BigNumber from 'bignumber.js';\nimport { AensName, Int } from '../tx/builder/constants';\nimport * as Encoded from './encoder-types';\n\n/**\n * aepp-sdk originated error\n * @category exception\n */\nexport abstract class BaseError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'BaseError';\n }\n}\n\n/**\n * @category exception\n */\nexport class AccountError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'AccountError';\n }\n}\n\n/**\n * @category exception\n */\nexport class AensError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'AensError';\n }\n}\n\n/**\n * @category exception\n */\nexport class AeppError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'AeppError';\n }\n}\n\n/**\n * @category exception\n */\nexport class ChannelError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'ChannelError';\n }\n}\n\n/**\n * @category exception\n */\nexport class CompilerError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'CompilerError';\n }\n}\n\n/**\n * @category exception\n */\nexport class ContractError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'ContractError';\n }\n}\n\n/**\n * @category exception\n */\nexport class CryptographyError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'CryptographyError';\n }\n}\n\n/**\n * @category exception\n */\nexport class NodeError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'NodeError';\n }\n}\n\n/**\n * @category exception\n */\nexport class TransactionError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'TransactionError';\n }\n}\n\n/**\n * @category exception\n */\nexport class WalletError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'WalletError';\n }\n}\n\n/**\n * @category exception\n */\nexport class ArgumentError extends BaseError {\n constructor(argumentName: string, requirement: unknown, argumentValue: unknown) {\n super(`${argumentName} should be ${requirement}, got ${argumentValue} instead`);\n this.name = 'ArgumentError';\n }\n}\n\n/**\n * @category exception\n */\nexport class IllegalArgumentError extends CryptographyError {\n constructor(message: string) {\n super(message);\n this.name = 'IllegalArgumentError';\n }\n}\n\n/**\n * @category exception\n */\nexport class ArgumentCountMismatchError extends BaseError {\n constructor(functionName: string, requiredCount: number, providedCount: number) {\n super(`${functionName} expects ${requiredCount} arguments, got ${providedCount} instead`);\n this.name = 'ArgumentCountMismatchError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InsufficientBalanceError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'InsufficientBalanceError';\n }\n}\n\n/**\n * @category exception\n */\nexport class MissingParamError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'MissingParamError';\n }\n}\n\n/**\n * @category exception\n */\nexport class NoSerializerFoundError extends BaseError {\n constructor() {\n super('Byte serialization not supported');\n this.name = 'NoSerializerFoundError';\n }\n}\n\n/**\n * @category exception\n */\nexport class RequestTimedOutError extends BaseError {\n constructor(height: number) {\n super(`Giving up at height ${height}`);\n this.name = 'RequestTimedOutError';\n }\n}\n\n/**\n * @category exception\n */\nexport class TxTimedOutError extends BaseError {\n constructor(blocks: number, th: Encoded.TxHash) {\n super([\n `Giving up after ${blocks} blocks mined`,\n `transaction hash: ${th}`,\n ].join(', '));\n this.name = 'TxTimedOutError';\n }\n}\n\n/**\n * @category exception\n */\nexport class TypeError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'TypeError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnsupportedPlatformError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'UnsupportedPlatformError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnsupportedProtocolError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'UnsupportedProtocolError';\n }\n}\n\n/**\n * @category exception\n */\nexport class NotImplementedError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'NotImplementedError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnsupportedVersionError extends BaseError {\n constructor(dependency: string, version: string, geVersion: string, ltVersion: string) {\n super(`Unsupported ${dependency} version ${version}. Supported: >= ${geVersion} < ${ltVersion}`);\n this.name = 'UnsupportedVersionError';\n }\n}\n\n/**\n * @category exception\n */\nexport class LogicError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'LogicError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InternalError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'InternalError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnexpectedTsError extends InternalError {\n constructor(message = 'Expected to not happen, required for TS') {\n super(message);\n this.name = 'UnexpectedTsError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnavailableAccountError extends AccountError {\n constructor(address: Encoded.AccountAddress) {\n super(`Account for ${address} not available`);\n this.name = 'UnavailableAccountError';\n }\n}\n\n/**\n * @category exception\n */\nexport class AensPointerContextError extends AensError {\n constructor(nameOrId: AensName | Encoded.Name, prefix: string) {\n super(`Name ${nameOrId} don't have pointers for ${prefix}`);\n this.name = 'AensPointerContextError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InsufficientNameFeeError extends AensError {\n constructor(nameFee: BigNumber, minNameFee: BigNumber) {\n super(`the provided fee ${nameFee.toString()} is not enough to execute the claim, required: ${minNameFee.toString()}`);\n this.name = 'InsufficientNameFeeError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InvalidAensNameError extends AensError {\n constructor(message: string) {\n super(message);\n this.name = 'InvalidAensNameError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InvalidRpcMessageError extends AeppError {\n constructor(message: string) {\n super(`Received invalid message: ${message}`);\n this.name = 'InvalidRpcMessageError';\n }\n}\n\n/**\n * @category exception\n */\nexport class MissingCallbackError extends AeppError {\n constructor(id: number) {\n super(`Can't find callback for this messageId ${id}`);\n this.name = 'MissingCallbackError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnAuthorizedAccountError extends AeppError {\n constructor(onAccount: Encoded.AccountAddress) {\n super(`You do not have access to account ${onAccount}`);\n this.name = 'UnAuthorizedAccountError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnknownRpcClientError extends AeppError {\n constructor(id: string) {\n super(`RpcClient with id ${id} do not exist`);\n this.name = 'UnknownRpcClientError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnsubscribedAccountError extends AeppError {\n constructor() {\n super('You are not subscribed for an account.');\n this.name = 'UnsubscribedAccountError';\n }\n}\n\n/**\n * @category exception\n */\nexport class ChannelCallError extends ChannelError {\n constructor(message: string) {\n super(message);\n this.name = 'ChannelCallError';\n }\n}\n\n/**\n * @category exception\n */\nexport class ChannelConnectionError extends ChannelError {\n constructor(message: string) {\n super(message);\n this.name = 'ChannelConnectionError';\n }\n}\n\n/**\n * @category exception\n */\nexport class ChannelPingTimedOutError extends ChannelError {\n constructor() {\n super('Server pong timed out');\n this.name = 'ChannelPingTimedOutError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnexpectedChannelMessageError extends ChannelError {\n constructor(message: string) {\n super(message);\n this.name = 'UnexpectedChannelMessageError';\n }\n}\n\n/**\n * @category exception\n */\nexport class ChannelIncomingMessageError extends ChannelError {\n handlerError: Error;\n\n incomingMessage: { [key: string]: any };\n\n constructor(handlerError: Error, incomingMessage: { [key: string]: any }) {\n super(handlerError.message);\n this.handlerError = handlerError;\n this.incomingMessage = incomingMessage;\n this.name = 'ChannelIncomingMessageError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnknownChannelStateError extends ChannelError {\n constructor() {\n super('State Channels FSM entered unknown state');\n this.name = 'UnknownChannelStateError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InvalidAuthDataError extends CompilerError {\n constructor(message: string) {\n super(message);\n this.name = 'InvalidAuthDataError';\n }\n}\n\n/**\n * @category exception\n */\nexport class BytecodeMismatchError extends ContractError {\n constructor(source: 'source code' | 'bytecode') {\n super(`Contract ${source} do not correspond to the bytecode deployed on the chain`);\n this.name = 'BytecodeMismatchError';\n }\n}\n\n/**\n * @category exception\n */\nexport class DuplicateContractError extends ContractError {\n constructor() {\n super('Contract already deployed');\n this.name = 'DuplicateContractError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InactiveContractError extends ContractError {\n constructor(contractAddress: Encoded.ContractAddress) {\n super(`Contract with address ${contractAddress} not active`);\n this.name = 'InactiveContractError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InvalidMethodInvocationError extends ContractError {\n constructor(message: string) {\n super(message);\n this.name = 'InvalidMethodInvocationError';\n }\n}\n\n/**\n * @category exception\n */\nexport class MissingContractAddressError extends ContractError {\n constructor(message: string) {\n super(message);\n this.name = 'MissingContractAddressError';\n }\n}\n\n/**\n * @category exception\n */\nexport class MissingContractDefError extends ContractError {\n constructor() {\n super('Either ACI or sourceCode or sourceCodePath is required');\n this.name = 'MissingContractDefError';\n }\n}\n\n/**\n * @category exception\n */\nexport class MissingFunctionNameError extends ContractError {\n constructor() {\n super('Function name is required');\n this.name = 'MissingFunctionNameError';\n }\n}\n\n/**\n * @category exception\n */\nexport class NodeInvocationError extends ContractError {\n transaction?: Encoded.Transaction;\n\n constructor(message: string, transaction?: Encoded.Transaction) {\n super(`Invocation failed${message == null ? '' : `: \"${message}\"`}`);\n this.name = 'NodeInvocationError';\n this.transaction = transaction;\n }\n}\n\n/**\n * @category exception\n */\nexport class NoSuchContractFunctionError extends ContractError {\n constructor(name: string) {\n super(`Function ${name} doesn't exist in contract`);\n this.name = 'NoSuchContractFunctionError';\n }\n}\n\n/**\n * @category exception\n */\nexport class NotPayableFunctionError extends ContractError {\n constructor(amount: Int, fn: string) {\n super(\n `You try to pay \"${amount}\" to function \"${fn}\" which is not payable. `\n + 'Only payable function can accept coins',\n );\n this.name = 'NotPayableFunctionError';\n }\n}\n\n/**\n * @category exception\n */\nexport class MissingEventDefinitionError extends ContractError {\n constructor(eventNameHash: string, eventAddress: Encoded.ContractAddress) {\n super(\n `Can't find definition of ${eventNameHash} event emitted by ${eventAddress}`\n + ' (use omitUnknown option to ignore events like this)',\n );\n this.name = 'MissingEventDefinitionError';\n }\n}\n\n/**\n * @category exception\n */\nexport class AmbiguousEventDefinitionError extends ContractError {\n constructor(eventAddress: Encoded.ContractAddress, matchedEvents: Array<[string, string]>) {\n super(\n `Found multiple definitions of \"${matchedEvents[0][1]}\" event with different types emitted by`\n + ` ${eventAddress} in ${matchedEvents.map(([name]) => `\"${name}\"`).join(', ')} contracts`\n + ' (use contractAddressToName option to specify contract name corresponding to address)',\n );\n this.name = 'AmbiguousEventDefinitionError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InvalidChecksumError extends CryptographyError {\n constructor() {\n super('Invalid checksum');\n this.name = 'InvalidChecksumError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InvalidPasswordError extends CryptographyError {\n constructor() {\n super('Invalid password or nonce');\n this.name = 'InvalidPasswordError';\n }\n}\n\n/**\n * @category exception\n */\nexport class MerkleTreeHashMismatchError extends CryptographyError {\n constructor() {\n super('Node hash is not equal to provided one');\n this.name = 'MerkleTreeHashMismatchError';\n }\n}\n\n/**\n * @category exception\n */\nexport class MissingNodeInTreeError extends CryptographyError {\n constructor(message: string) {\n super(message);\n this.name = 'MissingNodeInTreeError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnknownNodeLengthError extends CryptographyError {\n constructor(nodeLength: number) {\n super(`Unknown node length: ${nodeLength}`);\n this.name = 'UnknownNodeLengthError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnknownPathNibbleError extends CryptographyError {\n constructor(nibble: number) {\n super(`Unknown path nibble: ${nibble}`);\n this.name = 'UnknownPathNibbleError';\n }\n}\n\n/**\n * @category exception\n */\nexport class DuplicateNodeError extends NodeError {\n constructor(name: string) {\n super(`Node with name ${name} already exist`);\n this.name = 'DuplicateNodeError';\n }\n}\n\n/**\n * @category exception\n */\nexport class NodeNotFoundError extends NodeError {\n constructor(message: string) {\n super(message);\n this.name = 'NodeNotFoundError';\n }\n}\n\n/**\n * @category exception\n */\nexport class DecodeError extends TransactionError {\n constructor(message: string) {\n super(message);\n this.name = 'DecodeError';\n }\n}\n\n/**\n * @category exception\n */\nexport class PayloadLengthError extends TransactionError {\n constructor(message: string) {\n super(message);\n this.name = 'PayloadLengthError';\n }\n}\n\n/**\n * @category exception\n */\nexport class DryRunError extends TransactionError {\n constructor(message: string) {\n super(message);\n this.name = 'DryRunError';\n }\n}\n\n/**\n * @category exception\n */\nexport class IllegalBidFeeError extends TransactionError {\n constructor(message: string) {\n super(message);\n this.name = 'IllegalBidFeeError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InvalidSignatureError extends TransactionError {\n constructor(message: string) {\n super(message);\n this.name = 'InvalidSignatureError';\n }\n}\n\n/**\n * @category exception\n */\nexport class PrefixNotFoundError extends TransactionError {\n constructor(tag: number) {\n super(`Prefix for id-tag ${tag} not found.`);\n this.name = 'PrefixNotFoundError';\n }\n}\n\n/**\n * @category exception\n */\nexport class SchemaNotFoundError extends TransactionError {\n constructor(key: string, version: number) {\n super(`Transaction schema not implemented for tag ${key} version ${version}`);\n this.name = 'SchemaNotFoundError';\n }\n}\n\n/**\n * @category exception\n */\nexport class TagNotFoundError extends TransactionError {\n constructor(prefix: string) {\n super(`Id tag for prefix ${prefix} not found.`);\n this.name = 'DecodeError';\n }\n}\n\n/**\n * @category exception\n */\nexport class TxNotInChainError extends TransactionError {\n constructor(txHash: Encoded.TxHash) {\n super(`Transaction ${txHash} is removed from chain`);\n this.name = 'TxNotInChainError';\n }\n}\n\n/**\n * @category exception\n */\nexport class AlreadyConnectedError extends WalletError {\n constructor(message: string) {\n super(message);\n this.name = 'AlreadyConnectedError';\n }\n}\n\n/**\n * @category exception\n */\nexport class NoWalletConnectedError extends WalletError {\n constructor(message: string) {\n super(message);\n this.name = 'NoWalletConnectedError';\n }\n}\n\n/**\n * @category exception\n */\nexport class RpcConnectionError extends WalletError {\n constructor(message: string) {\n super(message);\n this.name = 'RpcConnectionError';\n }\n}\n"],"mappings":"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"}
|
package/es/utils/hd-wallet.d.ts
CHANGED
|
@@ -23,6 +23,8 @@ type Bip32PathT<MaxLen extends number, H extends 'H' | 'h' | '\''> = MaxLen exte
|
|
|
23
23
|
type Bip32Path<MaxLen extends number> = '' | Bip32PathT<MaxLen, 'H'> | Bip32PathT<MaxLen, 'h'> | Bip32PathT<MaxLen, '\''>;
|
|
24
24
|
/**
|
|
25
25
|
* @category hd-wallet
|
|
26
|
+
* @param keyTreeNode - A node of key tree
|
|
27
|
+
* @param index - index of child node to derive
|
|
26
28
|
*/
|
|
27
29
|
export declare function deriveChild({ secretKey, chainCode }: KeyTreeNode, index: number): KeyTreeNode;
|
|
28
30
|
/**
|
package/es/utils/hd-wallet.mjs
CHANGED
|
@@ -56,12 +56,13 @@ const ED25519_CURVE = _Buffer.from('ed25519 seed');
|
|
|
56
56
|
const HARDENED_OFFSET = 0x80000000;
|
|
57
57
|
/**
|
|
58
58
|
* @category hd-wallet
|
|
59
|
+
* @param keyTreeNode - A node of key tree
|
|
60
|
+
* @param index - index of child node to derive
|
|
59
61
|
*/
|
|
60
|
-
export function deriveChild(
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
} = _ref;
|
|
62
|
+
export function deriveChild({
|
|
63
|
+
secretKey,
|
|
64
|
+
chainCode
|
|
65
|
+
}, index) {
|
|
65
66
|
if (index < HARDENED_OFFSET) {
|
|
66
67
|
throw new DerivationError(`Segment ${index} is not hardened`);
|
|
67
68
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hd-wallet.mjs","names":["nacl","_tweetnaclAuth","full","hmac","_bip32Path","fromString","aesjs","sha256hash","encode","Encoding","CryptographyError","concatBuffers","Ecb","ModeOfOperation","ecb","encryptKey","password","binaryData","hashedPasswordBytes","aesEcb","encrypt","decryptKey","encrypted","encryptedBytes","_Buffer","from","decrypt","DerivationError","constructor","message","name","ED25519_CURVE","HARDENED_OFFSET","deriveChild","_ref","index","secretKey","chainCode","indexBuffer","allocUnsafe","writeUInt32BE","data","alloc","I","IL","slice","IR","derivePathFromKey","path","key","segments","toPathArray","forEach","segment","i","reduce","parentKey","getMasterKeyFromSeed","seed","derivePathFromSeed","includes","masterKey","formatAccount","keys","publicKey","toString","AccountAddress","getKeyPair","sign","keyPair","fromSeed","generateSaveHDWalletFromSeed","walletKey","getSaveHDWalletAccounts","saveHDWallet","accountCount","Array","fill","undefined","map","_","idx","getHdWalletAccountFromSeed","accountIdx","derived"],"sources":["../../src/utils/hd-wallet.ts"],"sourcesContent":["import nacl from 'tweetnacl';\nimport { full as hmac } from 'tweetnacl-auth';\nimport { fromString } from 'bip32-path';\nimport aesjs from 'aes-js';\nimport { sha256hash, encode, Encoding } from './encoder';\nimport { CryptographyError } from './errors';\nimport { concatBuffers } from './other';\n\nconst Ecb = aesjs.ModeOfOperation.ecb;\n\n// TODO: use mnemonic encryption instead of AES\n/**\n * Encrypt given data using `password`\n * @param password - Password to encrypt with\n * @param binaryData - Data to encrypt\n * @returns Encrypted data\n */\nfunction encryptKey(password: string, binaryData: Uint8Array): Uint8Array {\n const hashedPasswordBytes = sha256hash(password);\n const aesEcb = new Ecb(hashedPasswordBytes);\n return aesEcb.encrypt(binaryData);\n}\n\n/**\n * Decrypt given data using `password`\n * @param password - Password to decrypt with\n * @param encrypted - Data to decrypt\n * @returns Decrypted data\n */\nfunction decryptKey(password: string, encrypted: Uint8Array): Uint8Array {\n const encryptedBytes = Buffer.from(encrypted);\n const hashedPasswordBytes = sha256hash(password);\n const aesEcb = new Ecb(hashedPasswordBytes);\n return aesEcb.decrypt(encryptedBytes);\n}\n\n/**\n * @category exception\n */\nexport class DerivationError extends CryptographyError {\n constructor(message: string) {\n super(message);\n this.name = 'DerivationError';\n }\n}\n\nconst ED25519_CURVE = Buffer.from('ed25519 seed');\nconst HARDENED_OFFSET = 0x80000000;\n\ninterface KeyTreeNode {\n secretKey: Uint8Array;\n chainCode: Uint8Array;\n}\n\ninterface HDWallet {\n secretKey: string;\n chainCode: string;\n}\n\ninterface Account {\n secretKey: string;\n publicKey: string;\n}\n\ntype Dec<N extends number> = [-1, 0, 1, 2, 3, 4][N];\ntype Bip32PathT<MaxLen extends number, H extends 'H' | 'h' | '\\''> = MaxLen extends -1\n ? `${number}${H}`\n : Bip32PathT<Dec<MaxLen>, H> | `${Bip32PathT<Dec<MaxLen>, H>}/${number}${H}`;\ntype Bip32Path<MaxLen extends number> =\n '' | Bip32PathT<MaxLen, 'H'> | Bip32PathT<MaxLen, 'h'> | Bip32PathT<MaxLen, '\\''>;\n\n/**\n * @category hd-wallet\n */\nexport function deriveChild({ secretKey, chainCode }: KeyTreeNode, index: number): KeyTreeNode {\n if (index < HARDENED_OFFSET) {\n throw new DerivationError(`Segment ${index} is not hardened`);\n }\n const indexBuffer = Buffer.allocUnsafe(4);\n indexBuffer.writeUInt32BE(index, 0);\n\n const data = concatBuffers([Buffer.alloc(1, 0), secretKey, indexBuffer]);\n\n const I = hmac(data, chainCode);\n const IL = I.slice(0, 32);\n const IR = I.slice(32);\n return {\n secretKey: IL,\n chainCode: IR,\n };\n}\n\n/**\n * @category hd-wallet\n */\nexport function derivePathFromKey(path: Bip32Path<5>, key: KeyTreeNode): KeyTreeNode {\n const segments = path === '' ? [] : fromString(path).toPathArray();\n segments.forEach((segment, i) => {\n if (segment < HARDENED_OFFSET) {\n throw new DerivationError(`Segment #${i + 1} is not hardened`);\n }\n });\n\n return segments.reduce((parentKey, segment) => deriveChild(parentKey, segment), key);\n}\n\n/**\n * @category hd-wallet\n */\nexport function getMasterKeyFromSeed(seed: Uint8Array): KeyTreeNode {\n const I = hmac(seed, ED25519_CURVE);\n const IL = I.slice(0, 32);\n const IR = I.slice(32);\n return {\n secretKey: IL,\n chainCode: IR,\n };\n}\n\n/**\n * @category hd-wallet\n */\nexport function derivePathFromSeed(path: 'm' | `m/${Bip32Path<5>}`, seed: Uint8Array): KeyTreeNode {\n if (!['m', 'm/'].includes(path.slice(0, 2))) {\n throw new DerivationError('Root element is required');\n }\n const masterKey = getMasterKeyFromSeed(seed);\n return derivePathFromKey(path.slice(2) as Bip32Path<5>, masterKey);\n}\n\nfunction formatAccount(keys: nacl.SignKeyPair): Account {\n const { secretKey, publicKey } = keys;\n return {\n secretKey: Buffer.from(secretKey).toString('hex'),\n publicKey: encode(publicKey, Encoding.AccountAddress),\n };\n}\n\n/**\n * @category hd-wallet\n */\nexport function getKeyPair(secretKey: Uint8Array): nacl.SignKeyPair {\n return nacl.sign.keyPair.fromSeed(secretKey);\n}\n\n/**\n * @category hd-wallet\n */\nexport function generateSaveHDWalletFromSeed(seed: Uint8Array, password: string): HDWallet {\n const walletKey = derivePathFromSeed('m/44h/457h', seed);\n return {\n secretKey: Buffer.from(encryptKey(password, walletKey.secretKey)).toString('hex'),\n chainCode: Buffer.from(encryptKey(password, walletKey.chainCode)).toString('hex'),\n };\n}\n\n/**\n * @category hd-wallet\n */\nexport function getSaveHDWalletAccounts(\n saveHDWallet: HDWallet,\n password: string,\n accountCount: number,\n): Account[] {\n const walletKey = {\n secretKey: decryptKey(password, Buffer.from(saveHDWallet.secretKey, 'hex')),\n chainCode: decryptKey(password, Buffer.from(saveHDWallet.chainCode, 'hex')),\n };\n return (new Array(accountCount)).fill(undefined)\n .map((_, idx) => formatAccount(getKeyPair(derivePathFromKey(`${idx}h/0h/0h`, walletKey).secretKey)));\n}\n\n/**\n * @category hd-wallet\n */\nexport const getHdWalletAccountFromSeed = (\n seed: Uint8Array,\n accountIdx: number,\n): Account & { idx: number } => {\n const walletKey = derivePathFromSeed('m/44h/457h', seed);\n const derived = derivePathFromKey(`${accountIdx}h/0h/0h`, walletKey);\n const keyPair = getKeyPair(derived.secretKey);\n return {\n ...formatAccount(keyPair),\n idx: accountIdx,\n };\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hd-wallet.mjs","names":["nacl","_tweetnaclAuth","full","hmac","_bip32Path","fromString","aesjs","sha256hash","encode","Encoding","CryptographyError","concatBuffers","Ecb","ModeOfOperation","ecb","encryptKey","password","binaryData","hashedPasswordBytes","aesEcb","encrypt","decryptKey","encrypted","encryptedBytes","_Buffer","from","decrypt","DerivationError","constructor","message","name","ED25519_CURVE","HARDENED_OFFSET","deriveChild","secretKey","chainCode","index","indexBuffer","allocUnsafe","writeUInt32BE","data","alloc","I","IL","slice","IR","derivePathFromKey","path","key","segments","toPathArray","forEach","segment","i","reduce","parentKey","getMasterKeyFromSeed","seed","derivePathFromSeed","includes","masterKey","formatAccount","keys","publicKey","toString","AccountAddress","getKeyPair","sign","keyPair","fromSeed","generateSaveHDWalletFromSeed","walletKey","getSaveHDWalletAccounts","saveHDWallet","accountCount","Array","fill","undefined","map","_","idx","getHdWalletAccountFromSeed","accountIdx","derived"],"sources":["../../src/utils/hd-wallet.ts"],"sourcesContent":["import nacl from 'tweetnacl';\nimport { full as hmac } from 'tweetnacl-auth';\nimport { fromString } from 'bip32-path';\nimport aesjs from 'aes-js';\nimport { sha256hash, encode, Encoding } from './encoder';\nimport { CryptographyError } from './errors';\nimport { concatBuffers } from './other';\n\nconst Ecb = aesjs.ModeOfOperation.ecb;\n\n// TODO: use mnemonic encryption instead of AES\n/**\n * Encrypt given data using `password`\n * @param password - Password to encrypt with\n * @param binaryData - Data to encrypt\n * @returns Encrypted data\n */\nfunction encryptKey(password: string, binaryData: Uint8Array): Uint8Array {\n const hashedPasswordBytes = sha256hash(password);\n const aesEcb = new Ecb(hashedPasswordBytes);\n return aesEcb.encrypt(binaryData);\n}\n\n/**\n * Decrypt given data using `password`\n * @param password - Password to decrypt with\n * @param encrypted - Data to decrypt\n * @returns Decrypted data\n */\nfunction decryptKey(password: string, encrypted: Uint8Array): Uint8Array {\n const encryptedBytes = Buffer.from(encrypted);\n const hashedPasswordBytes = sha256hash(password);\n const aesEcb = new Ecb(hashedPasswordBytes);\n return aesEcb.decrypt(encryptedBytes);\n}\n\n/**\n * @category exception\n */\nexport class DerivationError extends CryptographyError {\n constructor(message: string) {\n super(message);\n this.name = 'DerivationError';\n }\n}\n\nconst ED25519_CURVE = Buffer.from('ed25519 seed');\nconst HARDENED_OFFSET = 0x80000000;\n\ninterface KeyTreeNode {\n secretKey: Uint8Array;\n chainCode: Uint8Array;\n}\n\ninterface HDWallet {\n secretKey: string;\n chainCode: string;\n}\n\ninterface Account {\n secretKey: string;\n publicKey: string;\n}\n\ntype Dec<N extends number> = [-1, 0, 1, 2, 3, 4][N];\ntype Bip32PathT<MaxLen extends number, H extends 'H' | 'h' | '\\''> = MaxLen extends -1\n ? `${number}${H}`\n : Bip32PathT<Dec<MaxLen>, H> | `${Bip32PathT<Dec<MaxLen>, H>}/${number}${H}`;\ntype Bip32Path<MaxLen extends number> =\n '' | Bip32PathT<MaxLen, 'H'> | Bip32PathT<MaxLen, 'h'> | Bip32PathT<MaxLen, '\\''>;\n\n/**\n * @category hd-wallet\n * @param keyTreeNode - A node of key tree\n * @param index - index of child node to derive\n */\nexport function deriveChild({ secretKey, chainCode }: KeyTreeNode, index: number): KeyTreeNode {\n if (index < HARDENED_OFFSET) {\n throw new DerivationError(`Segment ${index} is not hardened`);\n }\n const indexBuffer = Buffer.allocUnsafe(4);\n indexBuffer.writeUInt32BE(index, 0);\n\n const data = concatBuffers([Buffer.alloc(1, 0), secretKey, indexBuffer]);\n\n const I = hmac(data, chainCode);\n const IL = I.slice(0, 32);\n const IR = I.slice(32);\n return {\n secretKey: IL,\n chainCode: IR,\n };\n}\n\n/**\n * @category hd-wallet\n */\nexport function derivePathFromKey(path: Bip32Path<5>, key: KeyTreeNode): KeyTreeNode {\n const segments = path === '' ? [] : fromString(path).toPathArray();\n segments.forEach((segment, i) => {\n if (segment < HARDENED_OFFSET) {\n throw new DerivationError(`Segment #${i + 1} is not hardened`);\n }\n });\n\n return segments.reduce((parentKey, segment) => deriveChild(parentKey, segment), key);\n}\n\n/**\n * @category hd-wallet\n */\nexport function getMasterKeyFromSeed(seed: Uint8Array): KeyTreeNode {\n const I = hmac(seed, ED25519_CURVE);\n const IL = I.slice(0, 32);\n const IR = I.slice(32);\n return {\n secretKey: IL,\n chainCode: IR,\n };\n}\n\n/**\n * @category hd-wallet\n */\nexport function derivePathFromSeed(path: 'm' | `m/${Bip32Path<5>}`, seed: Uint8Array): KeyTreeNode {\n if (!['m', 'm/'].includes(path.slice(0, 2))) {\n throw new DerivationError('Root element is required');\n }\n const masterKey = getMasterKeyFromSeed(seed);\n return derivePathFromKey(path.slice(2) as Bip32Path<5>, masterKey);\n}\n\nfunction formatAccount(keys: nacl.SignKeyPair): Account {\n const { secretKey, publicKey } = keys;\n return {\n secretKey: Buffer.from(secretKey).toString('hex'),\n publicKey: encode(publicKey, Encoding.AccountAddress),\n };\n}\n\n/**\n * @category hd-wallet\n */\nexport function getKeyPair(secretKey: Uint8Array): nacl.SignKeyPair {\n return nacl.sign.keyPair.fromSeed(secretKey);\n}\n\n/**\n * @category hd-wallet\n */\nexport function generateSaveHDWalletFromSeed(seed: Uint8Array, password: string): HDWallet {\n const walletKey = derivePathFromSeed('m/44h/457h', seed);\n return {\n secretKey: Buffer.from(encryptKey(password, walletKey.secretKey)).toString('hex'),\n chainCode: Buffer.from(encryptKey(password, walletKey.chainCode)).toString('hex'),\n };\n}\n\n/**\n * @category hd-wallet\n */\nexport function getSaveHDWalletAccounts(\n saveHDWallet: HDWallet,\n password: string,\n accountCount: number,\n): Account[] {\n const walletKey = {\n secretKey: decryptKey(password, Buffer.from(saveHDWallet.secretKey, 'hex')),\n chainCode: decryptKey(password, Buffer.from(saveHDWallet.chainCode, 'hex')),\n };\n return (new Array(accountCount)).fill(undefined)\n .map((_, idx) => formatAccount(getKeyPair(derivePathFromKey(`${idx}h/0h/0h`, walletKey).secretKey)));\n}\n\n/**\n * @category hd-wallet\n */\nexport const getHdWalletAccountFromSeed = (\n seed: Uint8Array,\n accountIdx: number,\n): Account & { idx: number } => {\n const walletKey = derivePathFromSeed('m/44h/457h', seed);\n const derived = derivePathFromKey(`${accountIdx}h/0h/0h`, walletKey);\n const keyPair = getKeyPair(derived.secretKey);\n return {\n ...formatAccount(keyPair),\n idx: accountIdx,\n };\n};\n"],"mappings":"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"}
|
package/es/utils/json-big.mjs
CHANGED
|
@@ -6,10 +6,7 @@ const jsonBig = JsonBig({
|
|
|
6
6
|
});
|
|
7
7
|
const convertValuesToBigNumbers = value => {
|
|
8
8
|
if (typeof value === 'object' && value !== null && value.constructor === Object) {
|
|
9
|
-
return mapObject(value,
|
|
10
|
-
let [k, v] = _ref;
|
|
11
|
-
return [k, convertValuesToBigNumbers(v)];
|
|
12
|
-
});
|
|
9
|
+
return mapObject(value, ([k, v]) => [k, convertValuesToBigNumbers(v)]);
|
|
13
10
|
}
|
|
14
11
|
if (Array.isArray(value)) {
|
|
15
12
|
return value.map(item => convertValuesToBigNumbers(item));
|
|
@@ -22,12 +19,7 @@ const convertValuesToBigNumbers = value => {
|
|
|
22
19
|
return value;
|
|
23
20
|
};
|
|
24
21
|
export default {
|
|
25
|
-
stringify:
|
|
26
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
27
|
-
args[_key] = arguments[_key];
|
|
28
|
-
}
|
|
29
|
-
return jsonBig.stringify(convertValuesToBigNumbers(args[0]), ...args.slice(1));
|
|
30
|
-
},
|
|
22
|
+
stringify: (...args) => jsonBig.stringify(convertValuesToBigNumbers(args[0]), ...args.slice(1)),
|
|
31
23
|
parse: jsonBig.parse
|
|
32
24
|
};
|
|
33
25
|
//# sourceMappingURL=json-big.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-big.mjs","names":["JsonBig","BigNumber","mapObject","jsonBig","storeAsString","convertValuesToBigNumbers","value","constructor","Object","
|
|
1
|
+
{"version":3,"file":"json-big.mjs","names":["JsonBig","BigNumber","mapObject","jsonBig","storeAsString","convertValuesToBigNumbers","value","constructor","Object","k","v","Array","isArray","map","item","toString","bn","toJSON","stringify","args","slice","parse"],"sources":["../../src/utils/json-big.ts"],"sourcesContent":["import JsonBig from 'json-bigint';\nimport BigNumber from 'bignumber.js';\nimport { mapObject } from './other';\n\nconst jsonBig = JsonBig({ storeAsString: true });\n\nconst convertValuesToBigNumbers = (value: any): any => {\n if (typeof value === 'object' && value !== null && value.constructor === Object) {\n return mapObject(value, ([k, v]) => [k, convertValuesToBigNumbers(v)]);\n }\n if (Array.isArray(value)) {\n return value.map((item) => convertValuesToBigNumbers(item));\n }\n if (typeof value === 'string' && new BigNumber(value).toString(10) === value) {\n const bn = new BigNumber(value);\n bn.toJSON = () => bn.toString(10);\n return bn;\n }\n return value;\n};\n\nexport default {\n stringify: (...args: Parameters<typeof JsonBig['stringify']>): string => (\n jsonBig.stringify(convertValuesToBigNumbers(args[0]), ...args.slice(1))\n ),\n parse: jsonBig.parse,\n};\n"],"mappings":"AAAA,OAAOA,OAAO,MAAM,aAAa;AACjC,OAAOC,SAAS,MAAM,cAAc;AAAC,SAC5BC,SAAS;AAElB,MAAMC,OAAO,GAAGH,OAAO,CAAC;EAAEI,aAAa,EAAE;AAAK,CAAC,CAAC;AAEhD,MAAMC,yBAAyB,GAAIC,KAAU,IAAU;EACrD,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI,IAAIA,KAAK,CAACC,WAAW,KAAKC,MAAM,EAAE;IAC/E,OAAON,SAAS,CAACI,KAAK,EAAE,CAAC,CAACG,CAAC,EAAEC,CAAC,CAAC,KAAK,CAACD,CAAC,EAAEJ,yBAAyB,CAACK,CAAC,CAAC,CAAC,CAAC;EACxE;EACA,IAAIC,KAAK,CAACC,OAAO,CAACN,KAAK,CAAC,EAAE;IACxB,OAAOA,KAAK,CAACO,GAAG,CAAEC,IAAI,IAAKT,yBAAyB,CAACS,IAAI,CAAC,CAAC;EAC7D;EACA,IAAI,OAAOR,KAAK,KAAK,QAAQ,IAAI,IAAIL,SAAS,CAACK,KAAK,CAAC,CAACS,QAAQ,CAAC,EAAE,CAAC,KAAKT,KAAK,EAAE;IAC5E,MAAMU,EAAE,GAAG,IAAIf,SAAS,CAACK,KAAK,CAAC;IAC/BU,EAAE,CAACC,MAAM,GAAG,MAAMD,EAAE,CAACD,QAAQ,CAAC,EAAE,CAAC;IACjC,OAAOC,EAAE;EACX;EACA,OAAOV,KAAK;AACd,CAAC;AAED,eAAe;EACbY,SAAS,EAAEA,CAAC,GAAGC,IAA6C,KAC1DhB,OAAO,CAACe,SAAS,CAACb,yBAAyB,CAACc,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAGA,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC,CACvE;EACDC,KAAK,EAAElB,OAAO,CAACkB;AACjB,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import AccountBase from '../account/Base';
|
|
2
|
+
import { Encoded } from './encoder';
|
|
3
|
+
declare const header = "eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9";
|
|
4
|
+
/**
|
|
5
|
+
* JWT including specific header
|
|
6
|
+
* @category JWT
|
|
7
|
+
*/
|
|
8
|
+
export type Jwt = `${typeof header}.${string}.${string}`;
|
|
9
|
+
/**
|
|
10
|
+
* Generate a signed JWT
|
|
11
|
+
* Provide `"sub_jwk": undefined` in payload to omit signer public key added by default.
|
|
12
|
+
* @param originalPayload - Payload to sign
|
|
13
|
+
* @param account - Account to sign by
|
|
14
|
+
* @category JWT
|
|
15
|
+
*/
|
|
16
|
+
export declare function signJwt(originalPayload: any, account: AccountBase): Promise<Jwt>;
|
|
17
|
+
/**
|
|
18
|
+
* Unpack JWT. It will check signature if address or "sub_jwk" provided.
|
|
19
|
+
* @param jwt - JWT to unpack
|
|
20
|
+
* @param address - Address to check signature
|
|
21
|
+
* @category JWT
|
|
22
|
+
*/
|
|
23
|
+
export declare function unpackJwt(jwt: Jwt, address?: Encoded.AccountAddress): {
|
|
24
|
+
/**
|
|
25
|
+
* JWT payload as object
|
|
26
|
+
*/
|
|
27
|
+
payload: any;
|
|
28
|
+
/**
|
|
29
|
+
* Undefined returned in case signature is not checked
|
|
30
|
+
*/
|
|
31
|
+
signer: Encoded.AccountAddress | undefined;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Check is string a JWT or not. Use to validate the user input.
|
|
35
|
+
* @param maybeJwt - A string to check
|
|
36
|
+
* @returns True if argument is a JWT
|
|
37
|
+
* @category JWT
|
|
38
|
+
*/
|
|
39
|
+
export declare function isJwt(maybeJwt: string): maybeJwt is Jwt;
|
|
40
|
+
/**
|
|
41
|
+
* Throws an error if argument is not JWT. Use to ensure that a value is JWT.
|
|
42
|
+
* @param maybeJwt - A string to check
|
|
43
|
+
* @category JWT
|
|
44
|
+
*/
|
|
45
|
+
export declare function ensureJwt(maybeJwt: string): asserts maybeJwt is Jwt;
|
|
46
|
+
/**
|
|
47
|
+
* Check is JWT signed by address from arguments or "sub_jwk"
|
|
48
|
+
* @param jwt - JWT to check
|
|
49
|
+
* @param address - Address to check signature
|
|
50
|
+
* @category JWT
|
|
51
|
+
*/
|
|
52
|
+
export declare function verifyJwt(jwt: Jwt, address?: Encoded.AccountAddress): boolean;
|
|
53
|
+
export {};
|
package/es/utils/jwt.mjs
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import _buffer from "buffer";
|
|
2
|
+
const {
|
|
3
|
+
Buffer: _Buffer
|
|
4
|
+
} = _buffer;
|
|
5
|
+
import _replaceAllInstanceProperty from "@babel/runtime-corejs3/core-js/instance/replace-all";
|
|
6
|
+
import canonicalize from 'canonicalize';
|
|
7
|
+
import { Encoding, decode, encode } from "./encoder.mjs";
|
|
8
|
+
import { verify } from "./crypto.mjs";
|
|
9
|
+
import { ArgumentError, InvalidSignatureError } from "./errors.mjs"; // TODO: use Buffer.from(data, 'base64url') after solving https://github.com/feross/buffer/issues/309
|
|
10
|
+
const toBase64Url = data => {
|
|
11
|
+
var _context, _context2;
|
|
12
|
+
return _replaceAllInstanceProperty(_context = _replaceAllInstanceProperty(_context2 = _Buffer.from(data).toString('base64')).call(_context2, '/', '_')).call(_context, '+', '-').replace(/=+$/, '');
|
|
13
|
+
};
|
|
14
|
+
const fromBase64Url = data => {
|
|
15
|
+
var _context3;
|
|
16
|
+
return _Buffer.from(_replaceAllInstanceProperty(_context3 = _replaceAllInstanceProperty(data).call(data, '_', '/')).call(_context3, '-', '+'), 'base64');
|
|
17
|
+
};
|
|
18
|
+
const objectToBase64Url = data => {
|
|
19
|
+
var _canonicalize;
|
|
20
|
+
return toBase64Url((_canonicalize = canonicalize(data)) !== null && _canonicalize !== void 0 ? _canonicalize : '');
|
|
21
|
+
};
|
|
22
|
+
const header = 'eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9'; // objectToBase64Url({ alg: 'EdDSA', typ: 'JWT' })
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* JWT including specific header
|
|
26
|
+
* @category JWT
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Generate a signed JWT
|
|
31
|
+
* Provide `"sub_jwk": undefined` in payload to omit signer public key added by default.
|
|
32
|
+
* @param originalPayload - Payload to sign
|
|
33
|
+
* @param account - Account to sign by
|
|
34
|
+
* @category JWT
|
|
35
|
+
*/
|
|
36
|
+
export async function signJwt(originalPayload, account) {
|
|
37
|
+
const payload = {
|
|
38
|
+
...originalPayload
|
|
39
|
+
};
|
|
40
|
+
if (!('sub_jwk' in payload)) {
|
|
41
|
+
payload.sub_jwk = {
|
|
42
|
+
kty: 'OKP',
|
|
43
|
+
crv: 'Ed25519',
|
|
44
|
+
x: toBase64Url(decode(account.address))
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
if (payload.sub_jwk === undefined) delete payload.sub_jwk;
|
|
48
|
+
const body = `${header}.${objectToBase64Url(payload)}`;
|
|
49
|
+
const signature = await account.sign(body);
|
|
50
|
+
return `${body}.${toBase64Url(signature)}`;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Unpack JWT. It will check signature if address or "sub_jwk" provided.
|
|
55
|
+
* @param jwt - JWT to unpack
|
|
56
|
+
* @param address - Address to check signature
|
|
57
|
+
* @category JWT
|
|
58
|
+
*/
|
|
59
|
+
export function unpackJwt(jwt, address) {
|
|
60
|
+
var _payload$sub_jwk;
|
|
61
|
+
const components = jwt.split('.');
|
|
62
|
+
if (components.length !== 3) throw new ArgumentError('JWT components count', 3, components.length);
|
|
63
|
+
const [h, payloadEncoded, signature] = components;
|
|
64
|
+
if (h !== header) throw new ArgumentError('JWT header', header, h);
|
|
65
|
+
const payload = JSON.parse(fromBase64Url(payloadEncoded).toString());
|
|
66
|
+
const jwk = (_payload$sub_jwk = payload.sub_jwk) !== null && _payload$sub_jwk !== void 0 ? _payload$sub_jwk : {};
|
|
67
|
+
const signer = jwk.x == null || jwk.kty !== 'OKP' || jwk.crv !== 'Ed25519' ? address : encode(fromBase64Url(jwk.x), Encoding.AccountAddress);
|
|
68
|
+
if (address != null && signer !== address) {
|
|
69
|
+
throw new ArgumentError('address', `${signer} ("sub_jwk")`, address);
|
|
70
|
+
}
|
|
71
|
+
if (signer != null && !verify(_Buffer.from(`${h}.${payloadEncoded}`), fromBase64Url(signature), signer)) {
|
|
72
|
+
throw new InvalidSignatureError(`JWT is not signed by ${signer}`);
|
|
73
|
+
}
|
|
74
|
+
return {
|
|
75
|
+
payload,
|
|
76
|
+
signer
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Check is string a JWT or not. Use to validate the user input.
|
|
82
|
+
* @param maybeJwt - A string to check
|
|
83
|
+
* @returns True if argument is a JWT
|
|
84
|
+
* @category JWT
|
|
85
|
+
*/
|
|
86
|
+
export function isJwt(maybeJwt) {
|
|
87
|
+
try {
|
|
88
|
+
unpackJwt(maybeJwt);
|
|
89
|
+
return true;
|
|
90
|
+
} catch (error) {
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Throws an error if argument is not JWT. Use to ensure that a value is JWT.
|
|
97
|
+
* @param maybeJwt - A string to check
|
|
98
|
+
* @category JWT
|
|
99
|
+
*/
|
|
100
|
+
export function ensureJwt(maybeJwt) {
|
|
101
|
+
unpackJwt(maybeJwt);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Check is JWT signed by address from arguments or "sub_jwk"
|
|
106
|
+
* @param jwt - JWT to check
|
|
107
|
+
* @param address - Address to check signature
|
|
108
|
+
* @category JWT
|
|
109
|
+
*/
|
|
110
|
+
export function verifyJwt(jwt, address) {
|
|
111
|
+
try {
|
|
112
|
+
const {
|
|
113
|
+
signer
|
|
114
|
+
} = unpackJwt(jwt, address);
|
|
115
|
+
return signer != null;
|
|
116
|
+
} catch (error) {
|
|
117
|
+
return false;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=jwt.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwt.mjs","names":["canonicalize","Encoding","decode","encode","verify","ArgumentError","InvalidSignatureError","toBase64Url","data","_context","_context2","_replaceAllInstanceProperty","_Buffer","from","toString","call","replace","fromBase64Url","_context3","objectToBase64Url","_canonicalize","header","signJwt","originalPayload","account","payload","sub_jwk","kty","crv","x","address","undefined","body","signature","sign","unpackJwt","jwt","_payload$sub_jwk","components","split","length","h","payloadEncoded","JSON","parse","jwk","signer","AccountAddress","isJwt","maybeJwt","error","ensureJwt","verifyJwt"],"sources":["../../src/utils/jwt.ts"],"sourcesContent":["import canonicalize from 'canonicalize';\nimport AccountBase from '../account/Base';\nimport {\n Encoded, Encoding, decode, encode,\n} from './encoder';\nimport { verify } from './crypto';\nimport { ArgumentError, InvalidSignatureError } from './errors';\n\n// TODO: use Buffer.from(data, 'base64url') after solving https://github.com/feross/buffer/issues/309\nconst toBase64Url = (data: Buffer | Uint8Array | string): string => Buffer\n .from(data)\n .toString('base64')\n .replaceAll('/', '_')\n .replaceAll('+', '-')\n .replace(/=+$/, '');\n\nconst fromBase64Url = (data: string): Buffer => Buffer\n .from(data.replaceAll('_', '/').replaceAll('-', '+'), 'base64');\n\nconst objectToBase64Url = (data: any): string => toBase64Url(canonicalize(data) ?? '');\n\nconst header = 'eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9'; // objectToBase64Url({ alg: 'EdDSA', typ: 'JWT' })\n\n/**\n * JWT including specific header\n * @category JWT\n */\nexport type Jwt = `${typeof header}.${string}.${string}`;\n\n/**\n * Generate a signed JWT\n * Provide `\"sub_jwk\": undefined` in payload to omit signer public key added by default.\n * @param originalPayload - Payload to sign\n * @param account - Account to sign by\n * @category JWT\n */\nexport async function signJwt(originalPayload: any, account: AccountBase): Promise<Jwt> {\n const payload = { ...originalPayload };\n if (!('sub_jwk' in payload)) {\n payload.sub_jwk = {\n kty: 'OKP',\n crv: 'Ed25519',\n x: toBase64Url(decode(account.address)),\n };\n }\n if (payload.sub_jwk === undefined) delete payload.sub_jwk;\n const body = `${header}.${objectToBase64Url(payload)}` as const;\n const signature = await account.sign(body);\n return `${body}.${toBase64Url(signature)}`;\n}\n\n/**\n * Unpack JWT. It will check signature if address or \"sub_jwk\" provided.\n * @param jwt - JWT to unpack\n * @param address - Address to check signature\n * @category JWT\n */\nexport function unpackJwt(jwt: Jwt, address?: Encoded.AccountAddress): {\n /**\n * JWT payload as object\n */\n payload: any;\n /**\n * Undefined returned in case signature is not checked\n */\n signer: Encoded.AccountAddress | undefined;\n} {\n const components = jwt.split('.');\n if (components.length !== 3) throw new ArgumentError('JWT components count', 3, components.length);\n const [h, payloadEncoded, signature] = components;\n if (h !== header) throw new ArgumentError('JWT header', header, h);\n const payload = JSON.parse(fromBase64Url(payloadEncoded).toString());\n const jwk = payload.sub_jwk ?? {};\n const signer = jwk.x == null || jwk.kty !== 'OKP' || jwk.crv !== 'Ed25519'\n ? address\n : encode(fromBase64Url(jwk.x), Encoding.AccountAddress);\n if (address != null && signer !== address) {\n throw new ArgumentError('address', `${signer} (\"sub_jwk\")`, address);\n }\n if (\n signer != null\n && !verify(Buffer.from(`${h}.${payloadEncoded}`), fromBase64Url(signature), signer)\n ) {\n throw new InvalidSignatureError(`JWT is not signed by ${signer}`);\n }\n return { payload, signer };\n}\n\n/**\n * Check is string a JWT or not. Use to validate the user input.\n * @param maybeJwt - A string to check\n * @returns True if argument is a JWT\n * @category JWT\n */\nexport function isJwt(maybeJwt: string): maybeJwt is Jwt {\n try {\n unpackJwt(maybeJwt as Jwt);\n return true;\n } catch (error) {\n return false;\n }\n}\n\n/**\n * Throws an error if argument is not JWT. Use to ensure that a value is JWT.\n * @param maybeJwt - A string to check\n * @category JWT\n */\nexport function ensureJwt(maybeJwt: string): asserts maybeJwt is Jwt {\n unpackJwt(maybeJwt as Jwt);\n}\n\n/**\n * Check is JWT signed by address from arguments or \"sub_jwk\"\n * @param jwt - JWT to check\n * @param address - Address to check signature\n * @category JWT\n */\nexport function verifyJwt(jwt: Jwt, address?: Encoded.AccountAddress): boolean {\n try {\n const { signer } = unpackJwt(jwt, address);\n return signer != null;\n } catch (error) {\n return false;\n }\n}\n"],"mappings":"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"}
|
package/es/utils/keystore.d.ts
CHANGED
|
@@ -20,7 +20,13 @@ export interface Keystore {
|
|
|
20
20
|
cipher_params: {
|
|
21
21
|
nonce: string;
|
|
22
22
|
};
|
|
23
|
+
/**
|
|
24
|
+
* Key derivation function name.
|
|
25
|
+
*/
|
|
23
26
|
kdf: keyof typeof DERIVED_KEY_FUNCTIONS;
|
|
27
|
+
/**
|
|
28
|
+
* Key derivation function parameters.
|
|
29
|
+
*/
|
|
24
30
|
kdf_params: {
|
|
25
31
|
memlimit_kib: number;
|
|
26
32
|
opslimit: number;
|
|
@@ -46,8 +52,6 @@ export declare function recover(password: string | Uint8Array, { crypto }: Keyst
|
|
|
46
52
|
* @param nonce - Randomly generated 24byte nonce.
|
|
47
53
|
* @param salt - Randomly generated 16byte salt.
|
|
48
54
|
* @param options - Encryption parameters.
|
|
49
|
-
* @param options.kdf - Key derivation function.
|
|
50
|
-
* @param options.kdf_params - KDF parameters.
|
|
51
55
|
*/
|
|
52
56
|
export declare function dump(name: string, password: string | Uint8Array, privateKey: string | Uint8Array, nonce?: Uint8Array, salt?: Uint8Array, options?: Partial<Keystore['crypto']>): Promise<Keystore>;
|
|
53
57
|
export {};
|
package/es/utils/keystore.mjs
CHANGED
|
@@ -29,8 +29,8 @@ const DERIVED_KEY_FUNCTIONS = {
|
|
|
29
29
|
const CRYPTO_FUNCTIONS = {
|
|
30
30
|
'xsalsa20-poly1305': {
|
|
31
31
|
encrypt: nacl.secretbox,
|
|
32
|
-
decrypt() {
|
|
33
|
-
const res = nacl.secretbox.open(...
|
|
32
|
+
decrypt(...args) {
|
|
33
|
+
const res = nacl.secretbox.open(...args);
|
|
34
34
|
if (res == null) throw new InvalidPasswordError();
|
|
35
35
|
return res;
|
|
36
36
|
}
|
|
@@ -56,8 +56,7 @@ const CRYPTO_DEFAULTS = {
|
|
|
56
56
|
* @param algo - Encryption algorithm.
|
|
57
57
|
* @returns Encrypted data.
|
|
58
58
|
*/
|
|
59
|
-
function encrypt(plaintext, key, nonce) {
|
|
60
|
-
let algo = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : CRYPTO_DEFAULTS.symmetric_alg;
|
|
59
|
+
function encrypt(plaintext, key, nonce, algo = CRYPTO_DEFAULTS.symmetric_alg) {
|
|
61
60
|
return CRYPTO_FUNCTIONS[algo].encrypt(plaintext, nonce, key);
|
|
62
61
|
}
|
|
63
62
|
|
|
@@ -70,8 +69,7 @@ function encrypt(plaintext, key, nonce) {
|
|
|
70
69
|
* @param algo - Encryption algorithm.
|
|
71
70
|
* @returns Decrypted data.
|
|
72
71
|
*/
|
|
73
|
-
function decrypt(ciphertext, key, nonce) {
|
|
74
|
-
let algo = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : CRYPTO_DEFAULTS.symmetric_alg;
|
|
72
|
+
function decrypt(ciphertext, key, nonce, algo = CRYPTO_DEFAULTS.symmetric_alg) {
|
|
75
73
|
return CRYPTO_FUNCTIONS[algo].decrypt(ciphertext, nonce, key);
|
|
76
74
|
}
|
|
77
75
|
|
|
@@ -95,10 +93,9 @@ async function deriveKey(password, nonce, kdf, kdfParams) {
|
|
|
95
93
|
* @param keystore - Keystore object.
|
|
96
94
|
* @returns Plaintext private key.
|
|
97
95
|
*/
|
|
98
|
-
export async function recover(password,
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
} = _ref;
|
|
96
|
+
export async function recover(password, {
|
|
97
|
+
crypto
|
|
98
|
+
}) {
|
|
102
99
|
const salt = _Buffer.from(crypto.kdf_params.salt, 'hex');
|
|
103
100
|
return _Buffer.from(decrypt(_Buffer.from(crypto.ciphertext, 'hex'), await deriveKey(password, salt, crypto.kdf, crypto.kdf_params), _Buffer.from(crypto.cipher_params.nonce, 'hex'), crypto.symmetric_alg)).toString('hex');
|
|
104
101
|
}
|
|
@@ -112,13 +109,8 @@ export async function recover(password, _ref) {
|
|
|
112
109
|
* @param nonce - Randomly generated 24byte nonce.
|
|
113
110
|
* @param salt - Randomly generated 16byte salt.
|
|
114
111
|
* @param options - Encryption parameters.
|
|
115
|
-
* @param options.kdf - Key derivation function.
|
|
116
|
-
* @param options.kdf_params - KDF parameters.
|
|
117
112
|
*/
|
|
118
|
-
export async function dump(name, password, privateKey) {
|
|
119
|
-
let nonce = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : nacl.randomBytes(24);
|
|
120
|
-
let salt = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : nacl.randomBytes(16);
|
|
121
|
-
let options = arguments.length > 5 ? arguments[5] : undefined;
|
|
113
|
+
export async function dump(name, password, privateKey, nonce = nacl.randomBytes(24), salt = nacl.randomBytes(16), options) {
|
|
122
114
|
const opt = {
|
|
123
115
|
...CRYPTO_DEFAULTS,
|
|
124
116
|
...options
|