@aeternity/aepp-sdk 12.1.3 → 13.0.0-alpha.1
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/bin/aesophia_cli +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 +12031 -11231
- package/dist/aepp-sdk.js.map +1 -1
- package/es/AeSdk.d.ts +7 -3
- package/es/AeSdk.mjs +17 -22
- package/es/AeSdk.mjs.map +1 -1
- package/es/AeSdkAepp.d.ts +6 -5
- package/es/AeSdkAepp.mjs +7 -30
- package/es/AeSdkAepp.mjs.map +1 -1
- package/es/AeSdkBase.d.ts +18 -140
- package/es/AeSdkBase.mjs +30 -184
- package/es/AeSdkBase.mjs.map +1 -1
- package/es/AeSdkMethods.d.ts +123 -0
- package/es/AeSdkMethods.mjs +122 -0
- package/es/AeSdkMethods.mjs.map +1 -0
- package/es/AeSdkWallet.d.ts +7 -21
- package/es/AeSdkWallet.mjs +38 -86
- package/es/AeSdkWallet.mjs.map +1 -1
- package/es/Node.d.ts +11 -15
- package/es/Node.mjs +35 -48
- package/es/Node.mjs.map +1 -1
- package/es/account/Base.d.ts +24 -40
- package/es/account/Base.mjs +1 -101
- package/es/account/Base.mjs.map +1 -1
- package/es/account/Generalized.d.ts +16 -0
- package/es/account/Generalized.mjs +113 -0
- package/es/account/Generalized.mjs.map +1 -0
- package/es/account/Ledger.d.ts +28 -0
- package/es/account/Ledger.mjs +102 -0
- package/es/account/Ledger.mjs.map +1 -0
- package/es/account/LedgerFactory.d.ts +39 -0
- package/es/account/LedgerFactory.mjs +81 -0
- package/es/account/LedgerFactory.mjs.map +1 -0
- package/es/account/Memory.d.ts +13 -17
- package/es/account/Memory.mjs +43 -64
- package/es/account/Memory.mjs.map +1 -1
- package/es/account/Rpc.d.ts +6 -8
- package/es/account/Rpc.mjs +14 -32
- package/es/account/Rpc.mjs.map +1 -1
- package/es/aens.d.ts +4 -4
- package/es/aens.mjs +46 -41
- package/es/aens.mjs.map +1 -1
- package/es/aepp-wallet-communication/connection/Browser.mjs +9 -13
- package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -1
- package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +1 -0
- package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +22 -11
- package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -1
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +1 -1
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +0 -31
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -1
- package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -1
- package/es/aepp-wallet-communication/rpc/RpcClient.d.ts +3 -3
- package/es/aepp-wallet-communication/rpc/RpcClient.mjs +5 -42
- package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -1
- package/es/aepp-wallet-communication/rpc/types.d.ts +7 -1
- package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -1
- package/es/aepp-wallet-communication/schema.mjs +14 -68
- package/es/aepp-wallet-communication/schema.mjs.map +1 -1
- package/es/aepp-wallet-communication/wallet-detector.mjs +0 -3
- package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -1
- package/es/apis/compiler/compiler.d.ts +23 -29
- package/es/apis/compiler/compiler.mjs +128 -189
- package/es/apis/compiler/compiler.mjs.map +1 -1
- package/es/apis/compiler/index.mjs.map +1 -1
- package/es/apis/compiler/models/index.d.ts +82 -135
- package/es/apis/compiler/models/index.mjs +1 -47
- package/es/apis/compiler/models/index.mjs.map +1 -1
- package/es/apis/compiler/models/mappers.d.ts +8 -8
- package/es/apis/compiler/models/mappers.mjs +165 -183
- package/es/apis/compiler/models/mappers.mjs.map +1 -1
- package/es/apis/compiler/models/parameters.d.ts +0 -1
- package/es/apis/compiler/models/parameters.mjs +5 -9
- package/es/apis/compiler/models/parameters.mjs.map +1 -1
- package/es/apis/node/index.mjs.map +1 -1
- package/es/apis/node/models/index.d.ts +48 -48
- package/es/apis/node/models/mappers.mjs +12 -6
- package/es/apis/node/models/mappers.mjs.map +1 -1
- package/es/apis/node/models/parameters.mjs.map +1 -1
- package/es/apis/node/node.mjs +43 -84
- package/es/apis/node/node.mjs.map +1 -1
- package/es/chain.d.ts +10 -2
- package/es/chain.mjs +37 -59
- package/es/chain.mjs.map +1 -1
- package/es/channel/Base.d.ts +200 -0
- package/es/channel/Base.mjs +293 -0
- package/es/channel/Base.mjs.map +1 -0
- package/es/channel/Contract.d.ts +248 -0
- package/es/channel/Contract.mjs +420 -0
- package/es/channel/Contract.mjs.map +1 -0
- package/es/channel/Spend.d.ts +219 -0
- package/es/channel/Spend.mjs +385 -0
- package/es/channel/Spend.mjs.map +1 -0
- package/es/channel/handlers.d.ts +8 -21
- package/es/channel/handlers.mjs +151 -899
- package/es/channel/handlers.mjs.map +1 -1
- package/es/channel/internal.d.ts +27 -21
- package/es/channel/internal.mjs +101 -191
- package/es/channel/internal.mjs.map +1 -1
- package/es/contract/Contract.d.ts +210 -0
- package/es/contract/Contract.mjs +551 -0
- package/es/contract/Contract.mjs.map +1 -0
- package/es/contract/compiler/Base.d.ts +81 -0
- package/es/contract/compiler/Base.mjs +5 -0
- package/es/contract/compiler/Base.mjs.map +1 -0
- package/es/contract/compiler/Cli.d.ts +23 -0
- package/es/contract/compiler/Cli.mjs +155 -0
- package/es/contract/compiler/Cli.mjs.map +1 -0
- package/es/contract/compiler/Http.d.ts +32 -0
- package/es/contract/compiler/Http.mjs +118 -0
- package/es/contract/compiler/Http.mjs.map +1 -0
- package/es/contract/compiler/HttpNode.d.ts +17 -0
- package/es/contract/compiler/HttpNode.mjs +26 -0
- package/es/contract/compiler/HttpNode.mjs.map +1 -0
- package/es/contract/compiler/getFileSystem.d.ts +6 -0
- package/es/contract/compiler/getFileSystem.mjs +40 -0
- package/es/contract/compiler/getFileSystem.mjs.map +1 -0
- package/es/contract/ga.d.ts +9 -34
- package/es/contract/ga.mjs +29 -112
- package/es/contract/ga.mjs.map +1 -1
- package/es/index-browser.d.ts +39 -0
- package/es/index-browser.mjs +55 -0
- package/es/index-browser.mjs.map +1 -0
- package/es/index.d.ts +4 -35
- package/es/index.mjs +4 -51
- package/es/index.mjs.map +1 -1
- package/es/oracle.d.ts +5 -5
- package/es/oracle.mjs +34 -40
- package/es/oracle.mjs.map +1 -1
- package/es/spend.d.ts +3 -3
- package/es/spend.mjs +18 -23
- package/es/spend.mjs.map +1 -1
- package/es/tx/builder/constants.d.ts +30 -2
- package/es/tx/builder/constants.mjs +43 -14
- package/es/tx/builder/constants.mjs.map +1 -1
- package/es/tx/builder/field-types/abi-version.d.ts +10 -0
- package/es/tx/builder/field-types/abi-version.mjs +20 -0
- package/es/tx/builder/field-types/abi-version.mjs.map +1 -0
- package/es/tx/builder/field-types/address.d.ts +14 -0
- package/es/tx/builder/field-types/address.mjs +51 -0
- package/es/tx/builder/field-types/address.mjs.map +1 -0
- package/es/tx/builder/field-types/array.d.ts +7 -0
- package/es/tx/builder/field-types/array.mjs +11 -0
- package/es/tx/builder/field-types/array.mjs.map +1 -0
- package/es/tx/builder/field-types/boolean.d.ts +6 -0
- package/es/tx/builder/field-types/boolean.mjs +13 -0
- package/es/tx/builder/field-types/boolean.mjs.map +1 -0
- package/es/tx/builder/field-types/coin-amount.d.ts +2 -3
- package/es/tx/builder/field-types/coin-amount.mjs +4 -12
- package/es/tx/builder/field-types/coin-amount.mjs.map +1 -1
- package/es/tx/builder/field-types/ct-version.d.ts +30 -0
- package/es/tx/builder/field-types/ct-version.mjs +48 -0
- package/es/tx/builder/field-types/ct-version.mjs.map +1 -0
- package/es/tx/builder/field-types/deposit.d.ts +1 -2
- package/es/tx/builder/field-types/deposit.mjs +2 -4
- package/es/tx/builder/field-types/deposit.mjs.map +1 -1
- package/es/tx/builder/field-types/encoded.d.ts +6 -0
- package/es/tx/builder/field-types/encoded.mjs +21 -0
- package/es/tx/builder/field-types/encoded.mjs.map +1 -0
- package/es/tx/builder/field-types/entry.d.ts +11 -0
- package/es/tx/builder/field-types/entry.mjs +31 -0
- package/es/tx/builder/field-types/entry.mjs.map +1 -0
- package/es/tx/builder/field-types/enumeration.d.ts +7 -0
- package/es/tx/builder/field-types/enumeration.mjs +30 -0
- package/es/tx/builder/field-types/enumeration.mjs.map +1 -0
- package/es/tx/builder/field-types/fee.d.ts +10 -15
- package/es/tx/builder/field-types/fee.mjs +31 -43
- package/es/tx/builder/field-types/fee.mjs.map +1 -1
- package/es/tx/builder/field-types/field.mjs +0 -2
- package/es/tx/builder/field-types/field.mjs.map +1 -1
- package/es/tx/builder/field-types/gas-limit.d.ts +5 -2
- package/es/tx/builder/field-types/gas-limit.mjs +12 -14
- package/es/tx/builder/field-types/gas-limit.mjs.map +1 -1
- package/es/tx/builder/field-types/gas-price.d.ts +1 -2
- package/es/tx/builder/field-types/gas-price.mjs +3 -7
- package/es/tx/builder/field-types/gas-price.mjs.map +1 -1
- package/es/tx/builder/field-types/index.d.ts +80 -30
- package/es/tx/builder/field-types/index.mjs +34 -9
- package/es/tx/builder/field-types/index.mjs.map +1 -1
- package/es/tx/builder/field-types/mptree.d.ts +37 -0
- package/es/tx/builder/field-types/mptree.mjs +268 -0
- package/es/tx/builder/field-types/mptree.mjs.map +1 -0
- package/es/tx/builder/field-types/name-fee.d.ts +1 -3
- package/es/tx/builder/field-types/name-fee.mjs +3 -5
- package/es/tx/builder/field-types/name-fee.mjs.map +1 -1
- package/es/tx/builder/field-types/name-id.d.ts +1 -4
- package/es/tx/builder/field-types/name-id.mjs +5 -10
- package/es/tx/builder/field-types/name-id.mjs.map +1 -1
- package/es/tx/builder/field-types/name.mjs +0 -2
- package/es/tx/builder/field-types/name.mjs.map +1 -1
- package/es/tx/builder/field-types/pointers.d.ts +23 -0
- package/es/tx/builder/field-types/pointers.mjs +36 -0
- package/es/tx/builder/field-types/pointers.mjs.map +1 -0
- package/es/tx/builder/field-types/raw.d.ts +6 -0
- package/es/tx/builder/field-types/raw.mjs +13 -0
- package/es/tx/builder/field-types/raw.mjs.map +1 -0
- package/es/tx/builder/field-types/short-u-int-const.d.ts +5 -0
- package/es/tx/builder/field-types/short-u-int-const.mjs +16 -0
- package/es/tx/builder/field-types/short-u-int-const.mjs.map +1 -0
- package/es/tx/builder/field-types/short-u-int.mjs +0 -2
- package/es/tx/builder/field-types/short-u-int.mjs.map +1 -1
- package/es/tx/builder/field-types/string.d.ts +6 -0
- package/es/tx/builder/field-types/string.mjs +10 -0
- package/es/tx/builder/field-types/string.mjs.map +1 -0
- package/es/tx/builder/field-types/u-int.d.ts +1 -2
- package/es/tx/builder/field-types/u-int.mjs +3 -4
- package/es/tx/builder/field-types/u-int.mjs.map +1 -1
- package/es/tx/builder/helpers.d.ts +2 -32
- package/es/tx/builder/helpers.mjs +19 -71
- package/es/tx/builder/helpers.mjs.map +1 -1
- package/es/tx/builder/index.d.ts +11 -49
- package/es/tx/builder/index.mjs +57 -337
- package/es/tx/builder/index.mjs.map +1 -1
- package/es/tx/builder/schema.d.ts +2367 -667
- package/es/tx/builder/schema.mjs +70 -145
- package/es/tx/builder/schema.mjs.map +1 -1
- package/es/tx/index.d.ts +4 -49
- package/es/tx/index.mjs +38 -112
- package/es/tx/index.mjs.map +1 -1
- package/es/tx/validator.d.ts +4 -6
- package/es/tx/validator.mjs +104 -90
- package/es/tx/validator.mjs.map +1 -1
- package/es/typings/{@aeternity__argon2-browser → @aeternity__aepp-calldata}/index.d.mjs +0 -0
- package/es/typings/@aeternity__aepp-calldata/index.d.mjs.map +1 -0
- package/es/utils/amount-formatter.mjs +4 -10
- package/es/utils/amount-formatter.mjs.map +1 -1
- package/es/utils/autorest.d.ts +1 -0
- package/es/utils/autorest.mjs +17 -19
- package/es/utils/autorest.mjs.map +1 -1
- package/es/utils/bignumber.mjs +4 -7
- package/es/utils/bignumber.mjs.map +1 -1
- package/es/utils/bytes.d.ts +0 -17
- package/es/utils/bytes.mjs +6 -35
- package/es/utils/bytes.mjs.map +1 -1
- package/es/utils/crypto.d.ts +15 -8
- package/es/utils/crypto.mjs +40 -40
- package/es/utils/crypto.mjs.map +1 -1
- package/es/utils/encoder-types.d.ts +28 -28
- package/es/utils/encoder-types.mjs +0 -1
- package/es/utils/encoder-types.mjs.map +1 -1
- package/es/utils/encoder.d.ts +0 -1
- package/es/utils/encoder.mjs +7 -15
- package/es/utils/encoder.mjs.map +1 -1
- package/es/utils/errors.d.ts +15 -14
- package/es/utils/errors.mjs +86 -172
- package/es/utils/errors.mjs.map +1 -1
- package/es/utils/hd-wallet.d.ts +27 -19
- package/es/utils/hd-wallet.mjs +42 -26
- package/es/utils/hd-wallet.mjs.map +1 -1
- package/es/utils/json-big.mjs +0 -8
- package/es/utils/json-big.mjs.map +1 -1
- package/es/utils/keystore.d.ts +2 -0
- package/es/utils/keystore.mjs +37 -36
- package/es/utils/keystore.mjs.map +1 -1
- package/es/utils/other.d.ts +4 -2
- package/es/utils/other.mjs +11 -7
- package/es/utils/other.mjs.map +1 -1
- package/es/utils/semver-satisfies.mjs +0 -3
- package/es/utils/semver-satisfies.mjs.map +1 -1
- package/es/utils/string.d.ts +0 -12
- package/es/utils/string.mjs +1 -21
- package/es/utils/string.mjs.map +1 -1
- package/package.json +98 -51
- package/src/AeSdk.ts +15 -11
- package/src/AeSdkAepp.ts +9 -7
- package/src/AeSdkBase.ts +31 -202
- package/src/AeSdkMethods.ts +169 -0
- package/src/AeSdkWallet.ts +16 -47
- package/src/Node.ts +17 -18
- package/src/account/Base.ts +29 -75
- package/src/account/Generalized.ts +98 -0
- package/src/account/Ledger.ts +131 -0
- package/src/account/LedgerFactory.ts +86 -0
- package/src/account/Memory.ts +46 -60
- package/src/account/Rpc.ts +17 -26
- package/src/aens.ts +13 -11
- package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +21 -9
- package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +3 -3
- package/src/aepp-wallet-communication/rpc/RpcClient.ts +4 -4
- package/src/aepp-wallet-communication/rpc/types.ts +11 -1
- package/src/aepp-wallet-communication/schema.ts +18 -18
- package/src/apis/compiler/code-model-v4.yaml +681 -888
- package/src/apis/compiler/compiler.ts +113 -154
- package/src/apis/compiler/models/index.ts +80 -140
- package/src/apis/compiler/models/mappers.ts +165 -183
- package/src/apis/compiler/models/parameters.ts +6 -12
- package/src/chain.ts +11 -6
- package/src/channel/Base.ts +335 -0
- package/src/channel/Contract.ts +488 -0
- package/src/channel/Spend.ts +408 -0
- package/src/channel/handlers.ts +164 -582
- package/src/channel/internal.ts +114 -143
- package/src/contract/Contract.ts +610 -0
- package/src/contract/compiler/Base.ts +94 -0
- package/src/contract/compiler/Cli.ts +134 -0
- package/src/contract/compiler/Http.ts +124 -0
- package/src/contract/compiler/HttpNode.ts +26 -0
- package/src/contract/compiler/getFileSystem.ts +42 -0
- package/src/contract/ga.ts +23 -106
- package/src/index-browser.ts +58 -0
- package/src/index.ts +4 -55
- package/src/oracle.ts +8 -8
- package/src/spend.ts +6 -14
- package/src/tx/builder/constants.ts +33 -3
- package/src/tx/builder/field-types/abi-version.ts +21 -0
- package/src/tx/builder/field-types/address.ts +62 -0
- package/src/tx/builder/field-types/array.ts +19 -0
- package/src/tx/builder/field-types/boolean.ts +9 -0
- package/src/tx/builder/field-types/coin-amount.ts +4 -9
- package/src/tx/builder/field-types/ct-version.ts +50 -0
- package/src/tx/builder/field-types/deposit.ts +1 -1
- package/src/tx/builder/field-types/encoded.ts +27 -0
- package/src/tx/builder/field-types/entry.ts +31 -0
- package/src/tx/builder/field-types/enumeration.ts +32 -0
- package/src/tx/builder/field-types/fee.ts +39 -21
- package/src/tx/builder/field-types/gas-limit.ts +13 -8
- package/src/tx/builder/field-types/gas-price.ts +0 -2
- package/src/tx/builder/field-types/index.ts +54 -15
- package/src/tx/builder/field-types/mptree.ts +242 -0
- package/src/tx/builder/field-types/name-fee.ts +2 -3
- package/src/tx/builder/field-types/name-id.ts +7 -10
- package/src/tx/builder/field-types/pointers.ts +41 -0
- package/src/tx/builder/field-types/raw.ts +9 -0
- package/src/tx/builder/field-types/short-u-int-const.ts +20 -0
- package/src/tx/builder/field-types/string.ts +11 -0
- package/src/tx/builder/field-types/u-int.ts +4 -5
- package/src/tx/builder/helpers.ts +10 -60
- package/src/tx/builder/index.ts +65 -308
- package/src/tx/builder/schema.ts +280 -341
- package/src/tx/index.ts +40 -103
- package/src/tx/validator.ts +91 -96
- package/src/typings/@aeternity__aepp-calldata/index.d.ts +20 -0
- package/src/utils/autorest.ts +16 -1
- package/src/utils/bytes.ts +6 -34
- package/src/utils/crypto.ts +23 -16
- package/src/utils/encoder.ts +0 -1
- package/src/utils/errors.ts +22 -25
- package/src/utils/hd-wallet.ts +30 -9
- package/src/utils/keystore.ts +24 -21
- package/src/utils/other.ts +16 -1
- package/src/utils/string.ts +0 -20
- package/types-legacy/ts4.2/AeSdk.d.ts +41 -0
- package/types-legacy/ts4.2/AeSdkAepp.d.ts +71 -0
- package/types-legacy/ts4.2/AeSdkBase.d.ts +91 -0
- package/types-legacy/ts4.2/AeSdkMethods.d.ts +140 -0
- package/types-legacy/ts4.2/AeSdkWallet.d.ts +90 -0
- package/types-legacy/ts4.2/Node.d.ts +78 -0
- package/types-legacy/ts4.2/account/Base.d.ts +52 -0
- package/types-legacy/ts4.2/account/Generalized.d.ts +16 -0
- package/types-legacy/ts4.2/account/Ledger.d.ts +28 -0
- package/types-legacy/ts4.2/account/LedgerFactory.d.ts +39 -0
- package/types-legacy/ts4.2/account/Memory.d.ts +22 -0
- package/types-legacy/ts4.2/account/Rpc.d.ts +25 -0
- package/types-legacy/ts4.2/aens.d.ts +222 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/connection/Browser.d.ts +33 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserRuntime.d.ts +19 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +36 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/connection-proxy.d.ts +11 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/rpc/RpcClient.d.ts +34 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/rpc/types.d.ts +83 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/schema.d.ts +133 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/wallet-detector.d.ts +25 -0
- package/types-legacy/ts4.2/apis/compiler/compiler.d.ts +86 -0
- package/types-legacy/ts4.2/apis/compiler/index.d.ts +2 -0
- package/types-legacy/ts4.2/apis/compiler/models/index.d.ts +195 -0
- package/types-legacy/ts4.2/apis/compiler/models/mappers.d.ts +23 -0
- package/types-legacy/ts4.2/apis/compiler/models/parameters.d.ts +12 -0
- package/types-legacy/ts4.2/apis/node/index.d.ts +2 -0
- package/types-legacy/ts4.2/apis/node/models/index.d.ts +1065 -0
- package/types-legacy/ts4.2/apis/node/models/mappers.d.ts +95 -0
- package/types-legacy/ts4.2/apis/node/models/parameters.d.ts +17 -0
- package/types-legacy/ts4.2/apis/node/node.d.ts +215 -0
- package/types-legacy/ts4.2/chain.d.ts +256 -0
- package/types-legacy/ts4.2/channel/Base.d.ts +199 -0
- package/types-legacy/ts4.2/channel/Contract.d.ts +248 -0
- package/types-legacy/ts4.2/channel/Spend.d.ts +219 -0
- package/types-legacy/ts4.2/channel/handlers.d.ts +21 -0
- package/types-legacy/ts4.2/channel/internal.d.ts +107 -0
- package/types-legacy/ts4.2/contract/Contract.d.ts +212 -0
- package/types-legacy/ts4.2/contract/compiler/Base.d.ts +81 -0
- package/types-legacy/ts4.2/contract/compiler/Cli.d.ts +23 -0
- package/types-legacy/ts4.2/contract/compiler/Http.d.ts +32 -0
- package/types-legacy/ts4.2/contract/compiler/HttpNode.d.ts +17 -0
- package/types-legacy/ts4.2/contract/compiler/getFileSystem.d.ts +6 -0
- package/types-legacy/ts4.2/contract/ga.d.ts +44 -0
- package/types-legacy/ts4.2/globals.d.ts +16 -0
- package/types-legacy/ts4.2/index-browser.d.ts +39 -0
- package/types-legacy/ts4.2/index.d.ts +5 -0
- package/types-legacy/ts4.2/oracle.d.ts +161 -0
- package/types-legacy/ts4.2/spend.d.ts +62 -0
- package/types-legacy/ts4.2/tx/builder/constants.d.ts +98 -0
- package/types-legacy/ts4.2/tx/builder/field-types/abi-version.d.ts +10 -0
- package/types-legacy/ts4.2/tx/builder/field-types/address.d.ts +21 -0
- package/types-legacy/ts4.2/tx/builder/field-types/array.d.ts +7 -0
- package/types-legacy/ts4.2/tx/builder/field-types/boolean.d.ts +6 -0
- package/types-legacy/ts4.2/tx/builder/field-types/coin-amount.d.ts +12 -0
- package/types-legacy/ts4.2/tx/builder/field-types/ct-version.d.ts +42 -0
- package/types-legacy/ts4.2/tx/builder/field-types/deposit.d.ts +14 -0
- package/types-legacy/ts4.2/tx/builder/field-types/encoded.d.ts +6 -0
- package/types-legacy/ts4.2/tx/builder/field-types/entry.d.ts +11 -0
- package/types-legacy/ts4.2/tx/builder/field-types/enumeration.d.ts +7 -0
- package/types-legacy/ts4.2/tx/builder/field-types/fee.d.ts +20 -0
- package/types-legacy/ts4.2/tx/builder/field-types/field.d.ts +6 -0
- package/types-legacy/ts4.2/tx/builder/field-types/gas-limit.d.ts +15 -0
- package/types-legacy/ts4.2/tx/builder/field-types/gas-price.d.ts +7 -0
- package/types-legacy/ts4.2/tx/builder/field-types/index.d.ts +129 -0
- package/types-legacy/ts4.2/tx/builder/field-types/mptree.d.ts +43 -0
- package/types-legacy/ts4.2/tx/builder/field-types/name-fee.d.ts +18 -0
- package/types-legacy/ts4.2/tx/builder/field-types/name-id.d.ts +11 -0
- package/types-legacy/ts4.2/tx/builder/field-types/name.d.ts +13 -0
- package/types-legacy/ts4.2/tx/builder/field-types/pointers.d.ts +26 -0
- package/types-legacy/ts4.2/tx/builder/field-types/raw.d.ts +6 -0
- package/types-legacy/ts4.2/tx/builder/field-types/short-u-int-const.d.ts +5 -0
- package/types-legacy/ts4.2/tx/builder/field-types/short-u-int.d.ts +6 -0
- package/types-legacy/ts4.2/tx/builder/field-types/string.d.ts +6 -0
- package/types-legacy/ts4.2/tx/builder/field-types/u-int.d.ts +7 -0
- package/types-legacy/ts4.2/tx/builder/helpers.d.ts +112 -0
- package/types-legacy/ts4.2/tx/builder/index.d.ts +50 -0
- package/types-legacy/ts4.2/tx/builder/schema.d.ts +4675 -0
- package/types-legacy/ts4.2/tx/index.d.ts +19 -0
- package/types-legacy/ts4.2/tx/validator.d.ts +18 -0
- package/types-legacy/ts4.2/utils/amount-formatter.d.ts +42 -0
- package/types-legacy/ts4.2/utils/autorest.d.ts +7 -0
- package/types-legacy/ts4.2/utils/bignumber.d.ts +13 -0
- package/types-legacy/ts4.2/utils/bytes.d.ts +9 -0
- package/types-legacy/ts4.2/utils/crypto.d.ts +95 -0
- package/types-legacy/ts4.2/utils/encoder-types.d.ts +61 -0
- package/types-legacy/ts4.2/utils/encoder.d.ts +24 -0
- package/types-legacy/ts4.2/utils/errors.d.ts +475 -0
- package/types-legacy/ts4.2/utils/hd-wallet.d.ts +65 -0
- package/types-legacy/ts4.2/utils/json-big.d.ts +5 -0
- package/types-legacy/ts4.2/utils/keystore.d.ts +53 -0
- package/types-legacy/ts4.2/utils/other.d.ts +31 -0
- package/types-legacy/ts4.2/utils/semver-satisfies.d.ts +1 -0
- package/types-legacy/ts4.2/utils/string.d.ts +12 -0
- package/types-legacy/ts4.5/AeSdk.d.ts +41 -0
- package/types-legacy/ts4.5/AeSdkAepp.d.ts +71 -0
- package/types-legacy/ts4.5/AeSdkBase.d.ts +91 -0
- package/types-legacy/ts4.5/AeSdkMethods.d.ts +140 -0
- package/types-legacy/ts4.5/AeSdkWallet.d.ts +90 -0
- package/types-legacy/ts4.5/Node.d.ts +78 -0
- package/types-legacy/ts4.5/account/Base.d.ts +52 -0
- package/types-legacy/ts4.5/account/Generalized.d.ts +16 -0
- package/types-legacy/ts4.5/account/Ledger.d.ts +28 -0
- package/types-legacy/ts4.5/account/LedgerFactory.d.ts +39 -0
- package/types-legacy/ts4.5/account/Memory.d.ts +22 -0
- package/types-legacy/ts4.5/account/Rpc.d.ts +25 -0
- package/types-legacy/ts4.5/aens.d.ts +222 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/connection/Browser.d.ts +33 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserRuntime.d.ts +19 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +36 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/connection-proxy.d.ts +11 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/rpc/RpcClient.d.ts +34 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/rpc/types.d.ts +83 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/schema.d.ts +133 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/wallet-detector.d.ts +25 -0
- package/types-legacy/ts4.5/apis/compiler/compiler.d.ts +86 -0
- package/types-legacy/ts4.5/apis/compiler/index.d.ts +2 -0
- package/types-legacy/ts4.5/apis/compiler/models/index.d.ts +195 -0
- package/types-legacy/ts4.5/apis/compiler/models/mappers.d.ts +23 -0
- package/types-legacy/ts4.5/apis/compiler/models/parameters.d.ts +12 -0
- package/types-legacy/ts4.5/apis/node/index.d.ts +2 -0
- package/types-legacy/ts4.5/apis/node/models/index.d.ts +1065 -0
- package/types-legacy/ts4.5/apis/node/models/mappers.d.ts +95 -0
- package/types-legacy/ts4.5/apis/node/models/parameters.d.ts +17 -0
- package/types-legacy/ts4.5/apis/node/node.d.ts +215 -0
- package/types-legacy/ts4.5/chain.d.ts +256 -0
- package/types-legacy/ts4.5/channel/Base.d.ts +199 -0
- package/types-legacy/ts4.5/channel/Contract.d.ts +248 -0
- package/types-legacy/ts4.5/channel/Spend.d.ts +219 -0
- package/types-legacy/ts4.5/channel/handlers.d.ts +21 -0
- package/types-legacy/ts4.5/channel/internal.d.ts +107 -0
- package/types-legacy/ts4.5/contract/Contract.d.ts +212 -0
- package/types-legacy/ts4.5/contract/compiler/Base.d.ts +81 -0
- package/types-legacy/ts4.5/contract/compiler/Cli.d.ts +23 -0
- package/types-legacy/ts4.5/contract/compiler/Http.d.ts +32 -0
- package/types-legacy/ts4.5/contract/compiler/HttpNode.d.ts +17 -0
- package/types-legacy/ts4.5/contract/compiler/getFileSystem.d.ts +6 -0
- package/types-legacy/ts4.5/contract/ga.d.ts +44 -0
- package/types-legacy/ts4.5/index-browser.d.ts +39 -0
- package/types-legacy/ts4.5/index.d.ts +4 -0
- package/types-legacy/ts4.5/oracle.d.ts +161 -0
- package/types-legacy/ts4.5/spend.d.ts +62 -0
- package/types-legacy/ts4.5/tx/builder/constants.d.ts +98 -0
- package/types-legacy/ts4.5/tx/builder/field-types/abi-version.d.ts +10 -0
- package/types-legacy/ts4.5/tx/builder/field-types/address.d.ts +21 -0
- package/types-legacy/ts4.5/tx/builder/field-types/array.d.ts +7 -0
- package/types-legacy/ts4.5/tx/builder/field-types/boolean.d.ts +6 -0
- package/types-legacy/ts4.5/tx/builder/field-types/coin-amount.d.ts +12 -0
- package/types-legacy/ts4.5/tx/builder/field-types/ct-version.d.ts +42 -0
- package/types-legacy/ts4.5/tx/builder/field-types/deposit.d.ts +14 -0
- package/types-legacy/ts4.5/tx/builder/field-types/encoded.d.ts +6 -0
- package/types-legacy/ts4.5/tx/builder/field-types/entry.d.ts +11 -0
- package/types-legacy/ts4.5/tx/builder/field-types/enumeration.d.ts +7 -0
- package/types-legacy/ts4.5/tx/builder/field-types/fee.d.ts +20 -0
- package/types-legacy/ts4.5/tx/builder/field-types/field.d.ts +6 -0
- package/types-legacy/ts4.5/tx/builder/field-types/gas-limit.d.ts +15 -0
- package/types-legacy/ts4.5/tx/builder/field-types/gas-price.d.ts +7 -0
- package/types-legacy/ts4.5/tx/builder/field-types/index.d.ts +129 -0
- package/types-legacy/ts4.5/tx/builder/field-types/mptree.d.ts +43 -0
- package/types-legacy/ts4.5/tx/builder/field-types/name-fee.d.ts +18 -0
- package/types-legacy/ts4.5/tx/builder/field-types/name-id.d.ts +11 -0
- package/types-legacy/ts4.5/tx/builder/field-types/name.d.ts +13 -0
- package/types-legacy/ts4.5/tx/builder/field-types/pointers.d.ts +26 -0
- package/types-legacy/ts4.5/tx/builder/field-types/raw.d.ts +6 -0
- package/types-legacy/ts4.5/tx/builder/field-types/short-u-int-const.d.ts +5 -0
- package/types-legacy/ts4.5/tx/builder/field-types/short-u-int.d.ts +6 -0
- package/types-legacy/ts4.5/tx/builder/field-types/string.d.ts +6 -0
- package/types-legacy/ts4.5/tx/builder/field-types/u-int.d.ts +7 -0
- package/types-legacy/ts4.5/tx/builder/helpers.d.ts +112 -0
- package/types-legacy/ts4.5/tx/builder/index.d.ts +50 -0
- package/types-legacy/ts4.5/tx/builder/schema.d.ts +4675 -0
- package/types-legacy/ts4.5/tx/index.d.ts +19 -0
- package/types-legacy/ts4.5/tx/validator.d.ts +18 -0
- package/types-legacy/ts4.5/utils/amount-formatter.d.ts +42 -0
- package/types-legacy/ts4.5/utils/autorest.d.ts +7 -0
- package/types-legacy/ts4.5/utils/bignumber.d.ts +13 -0
- package/types-legacy/ts4.5/utils/bytes.d.ts +9 -0
- package/types-legacy/ts4.5/utils/crypto.d.ts +95 -0
- package/types-legacy/ts4.5/utils/encoder-types.d.ts +61 -0
- package/types-legacy/ts4.5/utils/encoder.d.ts +24 -0
- package/types-legacy/ts4.5/utils/errors.d.ts +475 -0
- package/types-legacy/ts4.5/utils/hd-wallet.d.ts +65 -0
- package/types-legacy/ts4.5/utils/json-big.d.ts +5 -0
- package/types-legacy/ts4.5/utils/keystore.d.ts +53 -0
- package/types-legacy/ts4.5/utils/other.d.ts +31 -0
- package/types-legacy/ts4.5/utils/semver-satisfies.d.ts +1 -0
- package/types-legacy/ts4.5/utils/string.d.ts +12 -0
- package/es/channel/index.d.ts +0 -625
- package/es/channel/index.mjs +0 -975
- package/es/channel/index.mjs.map +0 -1
- package/es/contract/Compiler.d.ts +0 -18
- package/es/contract/Compiler.mjs +0 -68
- package/es/contract/Compiler.mjs.map +0 -1
- package/es/contract/aci.d.ts +0 -127
- package/es/contract/aci.mjs +0 -508
- package/es/contract/aci.mjs.map +0 -1
- package/es/contract/methods.d.ts +0 -71
- package/es/contract/methods.mjs +0 -104
- package/es/contract/methods.mjs.map +0 -1
- package/es/deprecated/index.d.ts +0 -143
- package/es/deprecated/index.mjs +0 -162
- package/es/deprecated/index.mjs.map +0 -1
- package/es/deprecated/methods.d.ts +0 -18
- package/es/deprecated/methods.mjs +0 -26
- package/es/deprecated/methods.mjs.map +0 -1
- package/es/tx/builder/address.d.ts +0 -25
- package/es/tx/builder/address.mjs +0 -45
- package/es/tx/builder/address.mjs.map +0 -1
- package/es/typings/@aeternity__argon2-browser/index.d.mjs.map +0 -1
- package/es/utils/mptree.d.ts +0 -26
- package/es/utils/mptree.mjs +0 -165
- package/es/utils/mptree.mjs.map +0 -1
- package/src/channel/index.ts +0 -1025
- package/src/contract/Compiler.ts +0 -67
- package/src/contract/aci.ts +0 -537
- package/src/contract/methods.ts +0 -123
- package/src/deprecated/index.ts +0 -172
- package/src/deprecated/methods.ts +0 -25
- package/src/tx/builder/address.ts +0 -50
- package/src/typings/@aeternity__argon2-browser/index.d.ts +0 -3
- package/src/utils/mptree.ts +0 -145
package/src/utils/encoder.ts
CHANGED
|
@@ -18,7 +18,6 @@ export { Encoded, Encoding };
|
|
|
18
18
|
* Calculate SHA256 hash of `input`
|
|
19
19
|
* @param input - Data to hash
|
|
20
20
|
* @returns Hash
|
|
21
|
-
* @deprecated use `SubtleCrypto.digest` or `sha.js` package instead
|
|
22
21
|
*/
|
|
23
22
|
export function sha256hash(input: Uint8Array | string): Buffer {
|
|
24
23
|
return new Sha256().update(input).digest();
|
package/src/utils/errors.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// eslint-disable-next-line max-classes-per-file
|
|
2
2
|
import BigNumber from 'bignumber.js';
|
|
3
|
+
import { Int } from '../tx/builder/constants';
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* aepp-sdk originated error
|
|
@@ -116,8 +117,8 @@ export class WalletError extends BaseError {
|
|
|
116
117
|
* @category exception
|
|
117
118
|
*/
|
|
118
119
|
export class ArgumentError extends BaseError {
|
|
119
|
-
constructor(argumentName: string, requirement:
|
|
120
|
-
super(`${argumentName} should be ${requirement}, got ${
|
|
120
|
+
constructor(argumentName: string, requirement: unknown, argumentValue: unknown) {
|
|
121
|
+
super(`${argumentName} should be ${requirement}, got ${argumentValue} instead`);
|
|
121
122
|
this.name = 'ArgumentError';
|
|
122
123
|
}
|
|
123
124
|
}
|
|
@@ -265,16 +266,6 @@ export class UnexpectedTsError extends InternalError {
|
|
|
265
266
|
}
|
|
266
267
|
}
|
|
267
268
|
|
|
268
|
-
/**
|
|
269
|
-
* @category exception
|
|
270
|
-
*/
|
|
271
|
-
export class InvalidKeypairError extends AccountError {
|
|
272
|
-
constructor(message: string) {
|
|
273
|
-
super(message);
|
|
274
|
-
this.name = 'InvalidKeypairError';
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
|
|
278
269
|
/**
|
|
279
270
|
* @category exception
|
|
280
271
|
*/
|
|
@@ -405,6 +396,22 @@ export class UnexpectedChannelMessageError extends ChannelError {
|
|
|
405
396
|
}
|
|
406
397
|
}
|
|
407
398
|
|
|
399
|
+
/**
|
|
400
|
+
* @category exception
|
|
401
|
+
*/
|
|
402
|
+
export class ChannelIncomingMessageError extends ChannelError {
|
|
403
|
+
handlerError: BaseError;
|
|
404
|
+
|
|
405
|
+
incomingMessage: { [key: string]: any };
|
|
406
|
+
|
|
407
|
+
constructor(handlerError: BaseError, incomingMessage: { [key: string]: any }) {
|
|
408
|
+
super(handlerError.message);
|
|
409
|
+
this.handlerError = handlerError;
|
|
410
|
+
this.incomingMessage = incomingMessage;
|
|
411
|
+
this.name = 'ChannelIncomingMessageError';
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
|
|
408
415
|
/**
|
|
409
416
|
* @category exception
|
|
410
417
|
*/
|
|
@@ -522,7 +529,7 @@ export class NoSuchContractFunctionError extends ContractError {
|
|
|
522
529
|
* @category exception
|
|
523
530
|
*/
|
|
524
531
|
export class NotPayableFunctionError extends ContractError {
|
|
525
|
-
constructor(amount:
|
|
532
|
+
constructor(amount: Int, fn: string) {
|
|
526
533
|
super(
|
|
527
534
|
`You try to pay "${amount}" to function "${fn}" which is not payable. `
|
|
528
535
|
+ 'Only payable function can accept coins',
|
|
@@ -550,8 +557,8 @@ export class MissingEventDefinitionError extends ContractError {
|
|
|
550
557
|
export class AmbiguousEventDefinitionError extends ContractError {
|
|
551
558
|
constructor(eventAddress: string, matchedEvents: Array<[string, string]>) {
|
|
552
559
|
super(
|
|
553
|
-
`Found multiple definitions of "${matchedEvents[0][1]}" event emitted by
|
|
554
|
-
+ ` in ${matchedEvents.map(([name]) => `"${name}"`).join(', ')} contracts`
|
|
560
|
+
`Found multiple definitions of "${matchedEvents[0][1]}" event with different types emitted by`
|
|
561
|
+
+ ` ${eventAddress} in ${matchedEvents.map(([name]) => `"${name}"`).join(', ')} contracts`
|
|
555
562
|
+ ' (use contractAddressToName option to specify contract name corresponding to address)',
|
|
556
563
|
);
|
|
557
564
|
this.name = 'AmbiguousEventDefinitionError';
|
|
@@ -738,16 +745,6 @@ export class TxNotInChainError extends TransactionError {
|
|
|
738
745
|
}
|
|
739
746
|
}
|
|
740
747
|
|
|
741
|
-
/**
|
|
742
|
-
* @category exception
|
|
743
|
-
*/
|
|
744
|
-
export class UnknownTxError extends TransactionError {
|
|
745
|
-
constructor(message: string) {
|
|
746
|
-
super(message);
|
|
747
|
-
this.name = 'UnknownTxError';
|
|
748
|
-
}
|
|
749
|
-
}
|
|
750
|
-
|
|
751
748
|
/**
|
|
752
749
|
* @category exception
|
|
753
750
|
*/
|
package/src/utils/hd-wallet.ts
CHANGED
|
@@ -4,20 +4,18 @@ import { fromString } from 'bip32-path';
|
|
|
4
4
|
import aesjs from 'aes-js';
|
|
5
5
|
import { sha256hash, encode, Encoding } from './encoder';
|
|
6
6
|
import { CryptographyError } from './errors';
|
|
7
|
-
import { bytesToHex } from './bytes';
|
|
8
7
|
import { concatBuffers } from './other';
|
|
9
8
|
|
|
10
9
|
const Ecb = aesjs.ModeOfOperation.ecb;
|
|
11
10
|
|
|
12
|
-
// TODO:
|
|
11
|
+
// TODO: use mnemonic encryption instead of AES
|
|
13
12
|
/**
|
|
14
13
|
* Encrypt given data using `password`
|
|
15
14
|
* @param password - Password to encrypt with
|
|
16
15
|
* @param binaryData - Data to encrypt
|
|
17
16
|
* @returns Encrypted data
|
|
18
|
-
* @deprecated use 'sha.js' and 'aes-js' packages directly instead
|
|
19
17
|
*/
|
|
20
|
-
|
|
18
|
+
function encryptKey(password: string, binaryData: Uint8Array): Uint8Array {
|
|
21
19
|
const hashedPasswordBytes = sha256hash(password);
|
|
22
20
|
const aesEcb = new Ecb(hashedPasswordBytes);
|
|
23
21
|
return aesEcb.encrypt(binaryData);
|
|
@@ -28,9 +26,8 @@ export function encryptKey(password: string, binaryData: Uint8Array): Uint8Array
|
|
|
28
26
|
* @param password - Password to decrypt with
|
|
29
27
|
* @param encrypted - Data to decrypt
|
|
30
28
|
* @returns Decrypted data
|
|
31
|
-
* @deprecated use 'sha.js' and 'aes-js' packages directly instead
|
|
32
29
|
*/
|
|
33
|
-
|
|
30
|
+
function decryptKey(password: string, encrypted: Uint8Array): Uint8Array {
|
|
34
31
|
const encryptedBytes = Buffer.from(encrypted);
|
|
35
32
|
const hashedPasswordBytes = sha256hash(password);
|
|
36
33
|
const aesEcb = new Ecb(hashedPasswordBytes);
|
|
@@ -72,6 +69,9 @@ type Bip32PathT<MaxLen extends number, H extends 'H' | 'h' | '\''> = MaxLen exte
|
|
|
72
69
|
type Bip32Path<MaxLen extends number> =
|
|
73
70
|
'' | Bip32PathT<MaxLen, 'H'> | Bip32PathT<MaxLen, 'h'> | Bip32PathT<MaxLen, '\''>;
|
|
74
71
|
|
|
72
|
+
/**
|
|
73
|
+
* @category hd-wallet
|
|
74
|
+
*/
|
|
75
75
|
export function deriveChild({ secretKey, chainCode }: KeyTreeNode, index: number): KeyTreeNode {
|
|
76
76
|
if (index < HARDENED_OFFSET) {
|
|
77
77
|
throw new DerivationError(`Segment ${index} is not hardened`);
|
|
@@ -90,6 +90,9 @@ export function deriveChild({ secretKey, chainCode }: KeyTreeNode, index: number
|
|
|
90
90
|
};
|
|
91
91
|
}
|
|
92
92
|
|
|
93
|
+
/**
|
|
94
|
+
* @category hd-wallet
|
|
95
|
+
*/
|
|
93
96
|
export function derivePathFromKey(path: Bip32Path<5>, key: KeyTreeNode): KeyTreeNode {
|
|
94
97
|
const segments = path === '' ? [] : fromString(path).toPathArray();
|
|
95
98
|
segments.forEach((segment, i) => {
|
|
@@ -101,6 +104,9 @@ export function derivePathFromKey(path: Bip32Path<5>, key: KeyTreeNode): KeyTree
|
|
|
101
104
|
return segments.reduce((parentKey, segment) => deriveChild(parentKey, segment), key);
|
|
102
105
|
}
|
|
103
106
|
|
|
107
|
+
/**
|
|
108
|
+
* @category hd-wallet
|
|
109
|
+
*/
|
|
104
110
|
export function getMasterKeyFromSeed(seed: Uint8Array): KeyTreeNode {
|
|
105
111
|
const I = hmac(seed, ED25519_CURVE);
|
|
106
112
|
const IL = I.slice(0, 32);
|
|
@@ -111,6 +117,9 @@ export function getMasterKeyFromSeed(seed: Uint8Array): KeyTreeNode {
|
|
|
111
117
|
};
|
|
112
118
|
}
|
|
113
119
|
|
|
120
|
+
/**
|
|
121
|
+
* @category hd-wallet
|
|
122
|
+
*/
|
|
114
123
|
export function derivePathFromSeed(path: 'm' | `m/${Bip32Path<5>}`, seed: Uint8Array): KeyTreeNode {
|
|
115
124
|
if (!['m', 'm/'].includes(path.slice(0, 2))) {
|
|
116
125
|
throw new DerivationError('Root element is required');
|
|
@@ -122,23 +131,32 @@ export function derivePathFromSeed(path: 'm' | `m/${Bip32Path<5>}`, seed: Uint8A
|
|
|
122
131
|
function formatAccount(keys: nacl.SignKeyPair): Account {
|
|
123
132
|
const { secretKey, publicKey } = keys;
|
|
124
133
|
return {
|
|
125
|
-
secretKey:
|
|
134
|
+
secretKey: Buffer.from(secretKey).toString('hex'),
|
|
126
135
|
publicKey: encode(publicKey, Encoding.AccountAddress),
|
|
127
136
|
};
|
|
128
137
|
}
|
|
129
138
|
|
|
139
|
+
/**
|
|
140
|
+
* @category hd-wallet
|
|
141
|
+
*/
|
|
130
142
|
export function getKeyPair(secretKey: Uint8Array): nacl.SignKeyPair {
|
|
131
143
|
return nacl.sign.keyPair.fromSeed(secretKey);
|
|
132
144
|
}
|
|
133
145
|
|
|
146
|
+
/**
|
|
147
|
+
* @category hd-wallet
|
|
148
|
+
*/
|
|
134
149
|
export function generateSaveHDWalletFromSeed(seed: Uint8Array, password: string): HDWallet {
|
|
135
150
|
const walletKey = derivePathFromSeed('m/44h/457h', seed);
|
|
136
151
|
return {
|
|
137
|
-
secretKey:
|
|
138
|
-
chainCode:
|
|
152
|
+
secretKey: Buffer.from(encryptKey(password, walletKey.secretKey)).toString('hex'),
|
|
153
|
+
chainCode: Buffer.from(encryptKey(password, walletKey.chainCode)).toString('hex'),
|
|
139
154
|
};
|
|
140
155
|
}
|
|
141
156
|
|
|
157
|
+
/**
|
|
158
|
+
* @category hd-wallet
|
|
159
|
+
*/
|
|
142
160
|
export function getSaveHDWalletAccounts(
|
|
143
161
|
saveHDWallet: HDWallet,
|
|
144
162
|
password: string,
|
|
@@ -152,6 +170,9 @@ export function getSaveHDWalletAccounts(
|
|
|
152
170
|
.map((_, idx) => formatAccount(getKeyPair(derivePathFromKey(`${idx}h/0h/0h`, walletKey).secretKey)));
|
|
153
171
|
}
|
|
154
172
|
|
|
173
|
+
/**
|
|
174
|
+
* @category hd-wallet
|
|
175
|
+
*/
|
|
155
176
|
export const getHdWalletAccountFromSeed = (
|
|
156
177
|
seed: Uint8Array,
|
|
157
178
|
accountIdx: number,
|
package/src/utils/keystore.ts
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import nacl from 'tweetnacl';
|
|
2
2
|
import { v4 as uuid } from '@aeternity/uuid';
|
|
3
|
-
|
|
4
|
-
// eslint-disable-next-line import/extensions
|
|
5
|
-
import { ArgonType, hash } from '@aeternity/argon2-browser/dist/argon2-bundled.min.js';
|
|
3
|
+
import { hash, argon2id } from '@aeternity/argon2';
|
|
6
4
|
import { getAddressFromPriv } from './crypto';
|
|
7
|
-
import { bytesToHex, hexToBytes } from './bytes';
|
|
8
5
|
import { InvalidPasswordError } from './errors';
|
|
9
6
|
|
|
10
7
|
const DERIVED_KEY_FUNCTIONS = {
|
|
@@ -13,16 +10,15 @@ const DERIVED_KEY_FUNCTIONS = {
|
|
|
13
10
|
salt: string | Uint8Array,
|
|
14
11
|
params: Partial<Keystore['crypto']['kdf_params']>,
|
|
15
12
|
): Promise<Uint8Array> {
|
|
16
|
-
const { memlimit_kib:
|
|
13
|
+
const { memlimit_kib: memoryCost, opslimit: timeCost } = params;
|
|
17
14
|
|
|
18
|
-
return (
|
|
19
|
-
|
|
20
|
-
pass,
|
|
15
|
+
return hash(pass, {
|
|
16
|
+
hashLength: 32,
|
|
21
17
|
salt,
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
type:
|
|
25
|
-
})
|
|
18
|
+
timeCost,
|
|
19
|
+
memoryCost,
|
|
20
|
+
type: argon2id,
|
|
21
|
+
});
|
|
26
22
|
},
|
|
27
23
|
};
|
|
28
24
|
|
|
@@ -72,6 +68,7 @@ const CRYPTO_DEFAULTS = {
|
|
|
72
68
|
|
|
73
69
|
/**
|
|
74
70
|
* Symmetric private key encryption using secret (derived) key.
|
|
71
|
+
* @category keystore
|
|
75
72
|
* @param plaintext - Data to be encrypted.
|
|
76
73
|
* @param key - Secret key.
|
|
77
74
|
* @param nonce - Randomly generated nonce.
|
|
@@ -89,6 +86,7 @@ function encrypt(
|
|
|
89
86
|
|
|
90
87
|
/**
|
|
91
88
|
* Symmetric private key decryption using secret (derived) key.
|
|
89
|
+
* @category keystore
|
|
92
90
|
* @param ciphertext - Data to be decrypted.
|
|
93
91
|
* @param key - Secret key.
|
|
94
92
|
* @param nonce - Nonce from key-object.
|
|
@@ -106,6 +104,7 @@ function decrypt(
|
|
|
106
104
|
|
|
107
105
|
/**
|
|
108
106
|
* Derive secret key from password with key derivation function.
|
|
107
|
+
* @category keystore
|
|
109
108
|
* @param password - User-supplied password.
|
|
110
109
|
* @param nonce - Randomly generated nonce.
|
|
111
110
|
* @param kdf - Key derivation function.
|
|
@@ -123,6 +122,7 @@ async function deriveKey(
|
|
|
123
122
|
|
|
124
123
|
/**
|
|
125
124
|
* Recover plaintext private key from secret-storage key object.
|
|
125
|
+
* @category keystore
|
|
126
126
|
* @param password - Keystore object password.
|
|
127
127
|
* @param keystore - Keystore object.
|
|
128
128
|
* @returns Plaintext private key.
|
|
@@ -131,17 +131,18 @@ export async function recover(
|
|
|
131
131
|
password: string | Uint8Array,
|
|
132
132
|
{ crypto }: Keystore,
|
|
133
133
|
): Promise<string> {
|
|
134
|
-
const salt =
|
|
135
|
-
return
|
|
136
|
-
|
|
134
|
+
const salt = Buffer.from(crypto.kdf_params.salt, 'hex');
|
|
135
|
+
return Buffer.from(decrypt(
|
|
136
|
+
Buffer.from(crypto.ciphertext, 'hex'),
|
|
137
137
|
await deriveKey(password, salt, crypto.kdf, crypto.kdf_params),
|
|
138
|
-
|
|
138
|
+
Buffer.from(crypto.cipher_params.nonce, 'hex'),
|
|
139
139
|
crypto.symmetric_alg,
|
|
140
|
-
));
|
|
140
|
+
)).toString('hex');
|
|
141
141
|
}
|
|
142
142
|
|
|
143
143
|
/**
|
|
144
144
|
* Export private key to keystore secret-storage format.
|
|
145
|
+
* @category keystore
|
|
145
146
|
* @param name - Key name.
|
|
146
147
|
* @param password - User-supplied password.
|
|
147
148
|
* @param privateKey - Private key as hex-string or a Buffer.
|
|
@@ -161,7 +162,7 @@ export async function dump(
|
|
|
161
162
|
): Promise<Keystore> {
|
|
162
163
|
const opt = { ...CRYPTO_DEFAULTS, ...options };
|
|
163
164
|
const derivedKey = await deriveKey(password, salt, opt.kdf, opt.kdf_params);
|
|
164
|
-
const payload = typeof privateKey === 'string' ?
|
|
165
|
+
const payload = typeof privateKey === 'string' ? Buffer.from(privateKey, 'hex') : privateKey;
|
|
165
166
|
return {
|
|
166
167
|
name,
|
|
167
168
|
version: 1,
|
|
@@ -170,12 +171,14 @@ export async function dump(
|
|
|
170
171
|
crypto: {
|
|
171
172
|
secret_type: opt.secret_type,
|
|
172
173
|
symmetric_alg: opt.symmetric_alg,
|
|
173
|
-
ciphertext:
|
|
174
|
-
|
|
174
|
+
ciphertext: Buffer.from(
|
|
175
|
+
encrypt(payload, derivedKey, nonce, opt.symmetric_alg),
|
|
176
|
+
).toString('hex'),
|
|
177
|
+
cipher_params: { nonce: Buffer.from(nonce).toString('hex') },
|
|
175
178
|
kdf: opt.kdf,
|
|
176
179
|
kdf_params: {
|
|
177
180
|
...opt.kdf_params,
|
|
178
|
-
salt:
|
|
181
|
+
salt: Buffer.from(salt).toString('hex'),
|
|
179
182
|
},
|
|
180
183
|
},
|
|
181
184
|
};
|
package/src/utils/other.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { RestError } from '@azure/core-rest-pipeline';
|
|
2
|
+
|
|
1
3
|
export const pause = async (duration: number): Promise<void> => new Promise((resolve) => {
|
|
2
4
|
setTimeout(resolve, duration);
|
|
3
5
|
});
|
|
@@ -30,7 +32,10 @@ export const concatBuffers = isWebpack4Buffer
|
|
|
30
32
|
* @param key - Maybe object key
|
|
31
33
|
* @param object - Object
|
|
32
34
|
*/
|
|
33
|
-
export function isKeyOfObject<T
|
|
35
|
+
export function isKeyOfObject<T extends object>(
|
|
36
|
+
key: string | number | symbol,
|
|
37
|
+
object: T,
|
|
38
|
+
): key is keyof T {
|
|
34
39
|
return key in object;
|
|
35
40
|
}
|
|
36
41
|
|
|
@@ -42,3 +47,13 @@ export function isKeyOfObject<T>(key: string | number | symbol, object: T): key
|
|
|
42
47
|
export function isItemOfArray<T>(item: any, array: readonly T[]): item is T {
|
|
43
48
|
return array.includes(item);
|
|
44
49
|
}
|
|
50
|
+
|
|
51
|
+
export function isAccountNotFoundError(error: Error): boolean {
|
|
52
|
+
return error instanceof RestError && error.statusCode === 404
|
|
53
|
+
&& error.message.includes('Account not found');
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// based on https://stackoverflow.com/a/50375286/6176994
|
|
57
|
+
export type UnionToIntersection<Union> =
|
|
58
|
+
(Union extends any ? (k: Union) => void : never) extends ((k: infer Intersection) => void)
|
|
59
|
+
? Intersection : never;
|
package/src/utils/string.ts
CHANGED
|
@@ -32,23 +32,3 @@ export function snakeToPascal(s: string): string {
|
|
|
32
32
|
export function pascalToSnake(s: string): string {
|
|
33
33
|
return s.replace(/[A-Z]/g, (match) => `_${match.toLowerCase()}`);
|
|
34
34
|
}
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Check whether a string is valid hex.
|
|
38
|
-
* @param str - String to validate.
|
|
39
|
-
* @returns True if the string is valid hex, false otherwise.
|
|
40
|
-
*/
|
|
41
|
-
export function isHex(str: string): boolean {
|
|
42
|
-
return str.length % 2 === 0 && /^[0-9a-f]+$/i.test(str);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Check whether a string is valid base-64.
|
|
47
|
-
* @param str - String to validate.
|
|
48
|
-
* @returns True if the string is valid base-64, false otherwise.
|
|
49
|
-
*/
|
|
50
|
-
export function isBase64(str: string): boolean {
|
|
51
|
-
if (str.length % 4 > 0 || /[^0-9a-z+/=]/i.test(str)) return false;
|
|
52
|
-
const index = str.indexOf('=');
|
|
53
|
-
return index === -1 || /={1,2}/.test(str.slice(index));
|
|
54
|
-
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import AeSdkBase from './AeSdkBase';
|
|
2
|
+
import { OnAccount } from './AeSdkMethods';
|
|
3
|
+
import AccountBase from './account/Base';
|
|
4
|
+
import { Encoded } from './utils/encoder';
|
|
5
|
+
export default class AeSdk extends AeSdkBase {
|
|
6
|
+
accounts: {
|
|
7
|
+
[key: string]: AccountBase;
|
|
8
|
+
};
|
|
9
|
+
selectedAddress?: Encoded.AccountAddress;
|
|
10
|
+
constructor({ accounts, ...options }?: {
|
|
11
|
+
accounts?: AccountBase[];
|
|
12
|
+
} & ConstructorParameters<typeof AeSdkBase>[0]);
|
|
13
|
+
_resolveAccount(account?: OnAccount): AccountBase;
|
|
14
|
+
/**
|
|
15
|
+
* Get accounts addresses
|
|
16
|
+
* @example addresses()
|
|
17
|
+
*/
|
|
18
|
+
addresses(): Encoded.AccountAddress[];
|
|
19
|
+
/**
|
|
20
|
+
* Add specific account
|
|
21
|
+
* @param account - Account instance
|
|
22
|
+
* @param options - Options
|
|
23
|
+
* @param options.select - Select account
|
|
24
|
+
* @example addAccount(account)
|
|
25
|
+
*/
|
|
26
|
+
addAccount(account: AccountBase, { select }?: {
|
|
27
|
+
select?: boolean;
|
|
28
|
+
}): void;
|
|
29
|
+
/**
|
|
30
|
+
* Remove specific account
|
|
31
|
+
* @param address - Address of account to remove
|
|
32
|
+
* @example removeAccount(address)
|
|
33
|
+
*/
|
|
34
|
+
removeAccount(address: Encoded.AccountAddress): void;
|
|
35
|
+
/**
|
|
36
|
+
* Select specific account
|
|
37
|
+
* @param address - Address of account to select
|
|
38
|
+
* @example selectAccount('ak_xxxxxxxx')
|
|
39
|
+
*/
|
|
40
|
+
selectAccount(address: Encoded.AccountAddress): void;
|
|
41
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import AeSdkBase from './AeSdkBase';
|
|
2
|
+
import { OnAccount } from './AeSdkMethods';
|
|
3
|
+
import AccountBase from './account/Base';
|
|
4
|
+
import { Encoded } from './utils/encoder';
|
|
5
|
+
import { Accounts, WalletInfo, Network, WalletApi, AeppApi } from './aepp-wallet-communication/rpc/types';
|
|
6
|
+
import RpcClient from './aepp-wallet-communication/rpc/RpcClient';
|
|
7
|
+
import { METHODS, SUBSCRIPTION_TYPES } from './aepp-wallet-communication/schema';
|
|
8
|
+
import BrowserConnection from './aepp-wallet-communication/connection/Browser';
|
|
9
|
+
/**
|
|
10
|
+
* RPC handler for AEPP side
|
|
11
|
+
* Contain functionality for wallet interaction and connect it to sdk
|
|
12
|
+
* @category aepp wallet communication
|
|
13
|
+
*/
|
|
14
|
+
export default class AeSdkAepp extends AeSdkBase {
|
|
15
|
+
name: string;
|
|
16
|
+
onAddressChange: (a: Accounts) => void;
|
|
17
|
+
onDisconnect: (p: any) => void;
|
|
18
|
+
onNetworkChange: (a: Network) => void;
|
|
19
|
+
rpcClient?: RpcClient<WalletApi, AeppApi>;
|
|
20
|
+
_accounts?: Accounts;
|
|
21
|
+
/**
|
|
22
|
+
* @param options - Options
|
|
23
|
+
* @param options.name - Aepp name
|
|
24
|
+
* @param options.onAddressChange - Call-back function for update address event
|
|
25
|
+
* @param options.onDisconnect - Call-back function for disconnect event
|
|
26
|
+
* @param options.onNetworkChange - Call-back function for update network event
|
|
27
|
+
*/
|
|
28
|
+
constructor({ name, onAddressChange, onDisconnect, onNetworkChange, ...other }: {
|
|
29
|
+
name: string;
|
|
30
|
+
onAddressChange?: (a: Accounts) => void;
|
|
31
|
+
onDisconnect?: (p: any) => void;
|
|
32
|
+
onNetworkChange?: (a: Network) => void;
|
|
33
|
+
} & ConstructorParameters<typeof AeSdkBase>[0]);
|
|
34
|
+
_resolveAccount(account?: OnAccount): AccountBase;
|
|
35
|
+
addresses(): Encoded.AccountAddress[];
|
|
36
|
+
/**
|
|
37
|
+
* Connect to wallet
|
|
38
|
+
* @param connection - Wallet connection object
|
|
39
|
+
* @param options - Options
|
|
40
|
+
* @param options.connectNode - Request wallet to bind node
|
|
41
|
+
* @param options.name - Node name
|
|
42
|
+
* @param options.select - Select this node as current
|
|
43
|
+
*/
|
|
44
|
+
connectToWallet(connection: BrowserConnection, { connectNode, name, select }?: {
|
|
45
|
+
connectNode?: boolean;
|
|
46
|
+
name?: string;
|
|
47
|
+
select?: boolean;
|
|
48
|
+
}): Promise<WalletInfo>;
|
|
49
|
+
/**
|
|
50
|
+
* Disconnect from wallet
|
|
51
|
+
*/
|
|
52
|
+
disconnectWallet(): void;
|
|
53
|
+
/**
|
|
54
|
+
* Ask addresses from wallet
|
|
55
|
+
* @returns Addresses from wallet
|
|
56
|
+
*/
|
|
57
|
+
askAddresses(): Promise<Encoded.AccountAddress[]>;
|
|
58
|
+
/**
|
|
59
|
+
* Subscribe for addresses from wallet
|
|
60
|
+
* @param type - Subscription type
|
|
61
|
+
* @param value - Should be one of 'current' (the selected account), 'connected' (all)
|
|
62
|
+
* @returns Accounts from wallet
|
|
63
|
+
*/
|
|
64
|
+
subscribeAddress(type: SUBSCRIPTION_TYPES, value: 'current' | 'connected'): Promise<ReturnType<WalletApi[METHODS.subscribeAddress]>>;
|
|
65
|
+
_ensureConnected(): asserts this is AeSdkAepp & {
|
|
66
|
+
rpcClient: NonNullable<AeSdkAepp['rpcClient']>;
|
|
67
|
+
};
|
|
68
|
+
_ensureAccountAccess(): asserts this is AeSdkAepp & {
|
|
69
|
+
rpcClient: NonNullable<AeSdkAepp['rpcClient']>;
|
|
70
|
+
};
|
|
71
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import Node from './Node';
|
|
2
|
+
import AccountBase from './account/Base';
|
|
3
|
+
import { Encoded } from './utils/encoder';
|
|
4
|
+
import CompilerBase from './contract/compiler/Base';
|
|
5
|
+
import AeSdkMethods, { OnAccount } from './AeSdkMethods';
|
|
6
|
+
type NodeInfo = Awaited<ReturnType<Node['getNodeInfo']>> & {
|
|
7
|
+
name: string;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Basic AeSdk class implements:
|
|
11
|
+
* - node selector,
|
|
12
|
+
* - integrated compiler support,
|
|
13
|
+
* - wrappers of account methods mapped to the current account.
|
|
14
|
+
*/
|
|
15
|
+
export default class AeSdkBase extends AeSdkMethods {
|
|
16
|
+
pool: Map<string, Node>;
|
|
17
|
+
selectedNodeName?: string;
|
|
18
|
+
/**
|
|
19
|
+
* @param options - Options
|
|
20
|
+
* @param options.nodes - Array of nodes
|
|
21
|
+
*/
|
|
22
|
+
constructor({ nodes, ...options }?: ConstructorParameters<typeof AeSdkMethods>[0] & {
|
|
23
|
+
nodes?: Array<{
|
|
24
|
+
name: string;
|
|
25
|
+
instance: Node;
|
|
26
|
+
}>;
|
|
27
|
+
});
|
|
28
|
+
get compilerApi(): CompilerBase;
|
|
29
|
+
get api(): Node;
|
|
30
|
+
/**
|
|
31
|
+
* Add Node
|
|
32
|
+
* @param name - Node name
|
|
33
|
+
* @param node - Node instance
|
|
34
|
+
* @param select - Select this node as current
|
|
35
|
+
* @example
|
|
36
|
+
* ```js
|
|
37
|
+
* // add and select new node with name 'testNode'
|
|
38
|
+
* aeSdkBase.addNode('testNode', new Node({ url }), true)
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
addNode(name: string, node: Node, select?: boolean): void;
|
|
42
|
+
/**
|
|
43
|
+
* Select Node
|
|
44
|
+
* @param name - Node name
|
|
45
|
+
* @example
|
|
46
|
+
* nodePool.selectNode('testNode')
|
|
47
|
+
*/
|
|
48
|
+
selectNode(name: string): void;
|
|
49
|
+
/**
|
|
50
|
+
* Check if you have selected node
|
|
51
|
+
* @example
|
|
52
|
+
* nodePool.isNodeConnected()
|
|
53
|
+
*/
|
|
54
|
+
isNodeConnected(): this is AeSdkBase & {
|
|
55
|
+
selectedNodeName: string;
|
|
56
|
+
};
|
|
57
|
+
protected ensureNodeConnected(): asserts this is AeSdkBase & {
|
|
58
|
+
selectedNodeName: string;
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Get information about node
|
|
62
|
+
* @example
|
|
63
|
+
* ```js
|
|
64
|
+
* nodePool.getNodeInfo() // { name, version, networkId, protocol, ... }
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
getNodeInfo(): Promise<NodeInfo>;
|
|
68
|
+
/**
|
|
69
|
+
* Get array of available nodes
|
|
70
|
+
* @example
|
|
71
|
+
* nodePool.getNodesInPool()
|
|
72
|
+
*/
|
|
73
|
+
getNodesInPool(): Promise<NodeInfo[]>;
|
|
74
|
+
addresses(): Encoded.AccountAddress[];
|
|
75
|
+
get address(): Encoded.AccountAddress;
|
|
76
|
+
sign(data: string | Uint8Array, { onAccount, ...options }?: {
|
|
77
|
+
onAccount?: OnAccount;
|
|
78
|
+
}): Promise<Uint8Array>;
|
|
79
|
+
signTransaction(tx: Encoded.Transaction, { onAccount, ...options }?: {
|
|
80
|
+
onAccount?: OnAccount;
|
|
81
|
+
} & Parameters<AccountBase['signTransaction']>[1]): Promise<Encoded.Transaction>;
|
|
82
|
+
signMessage(message: string, { onAccount, ...options }?: {
|
|
83
|
+
onAccount?: OnAccount;
|
|
84
|
+
} & Parameters<AccountBase['signMessage']>[1]): Promise<Uint8Array>;
|
|
85
|
+
_getOptions(): {
|
|
86
|
+
onNode: Node;
|
|
87
|
+
onAccount: AccountBase;
|
|
88
|
+
onCompiler: CompilerBase;
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
export {};
|