@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
|
@@ -1,45 +1,84 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
1
|
+
import _abiVersion from './abi-version';
|
|
2
|
+
import _address from './address';
|
|
3
|
+
import _array from './array';
|
|
4
|
+
import _boolean from './boolean';
|
|
4
5
|
import _coinAmount from './coin-amount';
|
|
5
|
-
|
|
6
|
+
import _ctVersion from './ct-version';
|
|
6
7
|
import _deposit from './deposit';
|
|
8
|
+
import _encoded from './encoded';
|
|
9
|
+
import _entry from './entry';
|
|
10
|
+
import _enumeration from './enumeration';
|
|
7
11
|
import _fee from './fee';
|
|
12
|
+
import _field from './field';
|
|
8
13
|
import _gasLimit from './gas-limit';
|
|
9
14
|
import _gasPrice from './gas-price';
|
|
15
|
+
import _mptree from './mptree';
|
|
10
16
|
import _name from './name';
|
|
11
17
|
import _nameFee from './name-fee';
|
|
12
18
|
import _nameId from './name-id';
|
|
19
|
+
import _pointers from './pointers';
|
|
20
|
+
import _raw from './raw';
|
|
21
|
+
import _shortUInt from './short-u-int';
|
|
22
|
+
import _shortUIntConst from './short-u-int-const';
|
|
23
|
+
import _string from './string';
|
|
24
|
+
import _uInt from './u-int';
|
|
13
25
|
|
|
14
26
|
// TODO: remove after fixing https://github.com/Gerrit0/typedoc-plugin-missing-exports/issues/15
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
const
|
|
27
|
+
const abiVersion = _abiVersion;
|
|
28
|
+
const address = _address;
|
|
29
|
+
const array = _array;
|
|
30
|
+
const boolean = _boolean;
|
|
18
31
|
const coinAmount = _coinAmount;
|
|
19
|
-
|
|
32
|
+
const ctVersion = _ctVersion;
|
|
20
33
|
const deposit = _deposit;
|
|
34
|
+
const encoded = _encoded;
|
|
35
|
+
const entry = _entry;
|
|
36
|
+
const enumeration = _enumeration;
|
|
21
37
|
const fee = _fee;
|
|
38
|
+
const field = _field;
|
|
22
39
|
const gasLimit = _gasLimit;
|
|
23
40
|
const gasPrice = _gasPrice;
|
|
41
|
+
const mptree = _mptree;
|
|
24
42
|
const name = _name;
|
|
25
43
|
const nameFee = _nameFee;
|
|
26
44
|
const nameId = _nameId;
|
|
45
|
+
const pointers = _pointers;
|
|
46
|
+
const raw = _raw;
|
|
47
|
+
const shortUInt = _shortUInt;
|
|
48
|
+
const shortUIntConst = _shortUIntConst;
|
|
49
|
+
const string = _string;
|
|
50
|
+
const uInt = _uInt;
|
|
27
51
|
|
|
28
|
-
export type
|
|
29
|
-
|
|
30
|
-
|
|
52
|
+
export type BinaryData = Buffer | Buffer[] | Buffer[][]
|
|
53
|
+
| Array<[Buffer, Array<[Buffer, Buffer[]]>]>;
|
|
54
|
+
export interface Field {
|
|
55
|
+
serialize: (value: any, options: any) => BinaryData;
|
|
56
|
+
deserialize: (value: BinaryData, options: any) => any;
|
|
57
|
+
}
|
|
31
58
|
|
|
32
59
|
export {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
60
|
+
abiVersion,
|
|
61
|
+
address,
|
|
62
|
+
array,
|
|
63
|
+
boolean,
|
|
36
64
|
coinAmount,
|
|
37
|
-
|
|
65
|
+
ctVersion,
|
|
38
66
|
deposit,
|
|
67
|
+
encoded,
|
|
68
|
+
entry,
|
|
69
|
+
enumeration,
|
|
39
70
|
fee,
|
|
71
|
+
field,
|
|
40
72
|
gasLimit,
|
|
41
73
|
gasPrice,
|
|
74
|
+
mptree,
|
|
42
75
|
name,
|
|
43
76
|
nameFee,
|
|
44
77
|
nameId,
|
|
78
|
+
pointers,
|
|
79
|
+
raw,
|
|
80
|
+
shortUInt,
|
|
81
|
+
shortUIntConst,
|
|
82
|
+
string,
|
|
83
|
+
uInt,
|
|
45
84
|
};
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
import { encode as rlpEncode, Input } from 'rlp';
|
|
2
|
+
import { Tag } from '../constants';
|
|
3
|
+
import { hash } from '../../../utils/crypto';
|
|
4
|
+
import {
|
|
5
|
+
MerkleTreeHashMismatchError,
|
|
6
|
+
MissingNodeInTreeError,
|
|
7
|
+
UnknownPathNibbleError,
|
|
8
|
+
UnexpectedTsError,
|
|
9
|
+
UnknownNodeLengthError,
|
|
10
|
+
InternalError,
|
|
11
|
+
} from '../../../utils/errors';
|
|
12
|
+
import {
|
|
13
|
+
decode, encode, Encoded, Encoding,
|
|
14
|
+
} from '../../../utils/encoder';
|
|
15
|
+
import type { unpackTx } from '..';
|
|
16
|
+
|
|
17
|
+
enum NodeType {
|
|
18
|
+
Branch,
|
|
19
|
+
Extension,
|
|
20
|
+
Leaf,
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
type MPTreeBinary = [Buffer, Array<[Buffer, Buffer[]]>];
|
|
24
|
+
|
|
25
|
+
class MPTree<E extends Encoding, T extends Tag> {
|
|
26
|
+
readonly #rootHash: string;
|
|
27
|
+
|
|
28
|
+
#isComplete = true;
|
|
29
|
+
|
|
30
|
+
get isComplete(): boolean {
|
|
31
|
+
return this.#isComplete;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
readonly #nodes: { [key: string]: Buffer[] };
|
|
35
|
+
|
|
36
|
+
readonly #encoding: E;
|
|
37
|
+
|
|
38
|
+
readonly #tag: T;
|
|
39
|
+
|
|
40
|
+
readonly #unpackTx: typeof unpackTx;
|
|
41
|
+
|
|
42
|
+
static #nodeHash(node: Input): string {
|
|
43
|
+
return Buffer.from(hash(rlpEncode(node))).toString('hex');
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Deserialize Merkle Patricia Tree
|
|
48
|
+
* @param binary - Binary
|
|
49
|
+
* @param tag - Tag to use to decode value
|
|
50
|
+
* @param unpTx - Implementation of unpackTx use to decode values
|
|
51
|
+
* @returns Merkle Patricia Tree
|
|
52
|
+
*/
|
|
53
|
+
constructor(binary: MPTreeBinary, encoding: E, tag: T, unpTx: typeof unpackTx) {
|
|
54
|
+
this.#encoding = encoding;
|
|
55
|
+
this.#tag = tag;
|
|
56
|
+
this.#unpackTx = unpTx;
|
|
57
|
+
this.#rootHash = binary[0].toString('hex');
|
|
58
|
+
this.#nodes = Object.fromEntries(
|
|
59
|
+
binary[1].map((node) => [node[0].toString('hex'), node[1]]),
|
|
60
|
+
);
|
|
61
|
+
|
|
62
|
+
if (this.#nodes[this.#rootHash] == null) {
|
|
63
|
+
if (Object.keys(this.#nodes).length !== 0) {
|
|
64
|
+
throw new MissingNodeInTreeError('Can\'t find a node by root hash');
|
|
65
|
+
}
|
|
66
|
+
this.#isComplete = false;
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
Object.entries(this.#nodes).forEach(([key, node]) => {
|
|
70
|
+
if (MPTree.#nodeHash(node) !== key) throw new MerkleTreeHashMismatchError();
|
|
71
|
+
const { type } = MPTree.#parseNode(node);
|
|
72
|
+
switch (type) {
|
|
73
|
+
case NodeType.Branch:
|
|
74
|
+
node
|
|
75
|
+
.slice(0, 16)
|
|
76
|
+
.filter((n) => n.length)
|
|
77
|
+
.forEach((n) => {
|
|
78
|
+
// TODO: enable after resolving https://github.com/aeternity/aeternity/issues/4066
|
|
79
|
+
// if (n.length !== 32) {
|
|
80
|
+
// throw new ArgumentError('MPTree branch item length', 32, n.length);
|
|
81
|
+
// }
|
|
82
|
+
if (this.#nodes[n.toString('hex')] == null) this.#isComplete = false;
|
|
83
|
+
});
|
|
84
|
+
break;
|
|
85
|
+
case NodeType.Extension:
|
|
86
|
+
if (this.#nodes[node[1].toString('hex')] == null) {
|
|
87
|
+
throw new MissingNodeInTreeError('Can\'t find a node by hash in extension node');
|
|
88
|
+
}
|
|
89
|
+
break;
|
|
90
|
+
case NodeType.Leaf:
|
|
91
|
+
break;
|
|
92
|
+
default:
|
|
93
|
+
throw new InternalError(`Unknown MPTree node type: ${type}`);
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
isEqual(tree: MPTree<E, T>): boolean {
|
|
99
|
+
return this.#rootHash === tree.#rootHash;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
static #parseNode(node: Buffer[]): { type: NodeType; value?: Buffer; path?: string } {
|
|
103
|
+
switch (node.length) {
|
|
104
|
+
case 17:
|
|
105
|
+
return {
|
|
106
|
+
type: NodeType.Branch,
|
|
107
|
+
...node[16].length !== 0 && { value: node[16] },
|
|
108
|
+
};
|
|
109
|
+
case 2: {
|
|
110
|
+
const nibble = node[0][0] >> 4; // eslint-disable-line no-bitwise
|
|
111
|
+
if (nibble > 3) throw new UnknownPathNibbleError(nibble);
|
|
112
|
+
const type = nibble <= 1 ? NodeType.Extension : NodeType.Leaf;
|
|
113
|
+
const slice = [0, 2].includes(nibble) ? 2 : 1;
|
|
114
|
+
return {
|
|
115
|
+
type,
|
|
116
|
+
...type === NodeType.Leaf && { value: node[1] },
|
|
117
|
+
path: node[0].toString('hex').slice(slice),
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
default:
|
|
121
|
+
throw new UnknownNodeLengthError(node.length);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Serialize Merkle Patricia Tree
|
|
127
|
+
* @returns Binary
|
|
128
|
+
*/
|
|
129
|
+
serialize(): MPTreeBinary {
|
|
130
|
+
return [
|
|
131
|
+
Buffer.from(this.#rootHash, 'hex'),
|
|
132
|
+
Object.entries(this.#nodes).map(([mptHash, value]) => ([
|
|
133
|
+
Buffer.from(mptHash, 'hex'),
|
|
134
|
+
value,
|
|
135
|
+
])),
|
|
136
|
+
];
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Retrieve value from Merkle Patricia Tree
|
|
141
|
+
* @param _key - The key of the element to retrieve
|
|
142
|
+
* @returns Value associated to the specified key
|
|
143
|
+
*/
|
|
144
|
+
#getRaw(_key: string): Buffer | undefined {
|
|
145
|
+
let searchFrom = this.#rootHash;
|
|
146
|
+
let key = _key;
|
|
147
|
+
while (true) { // eslint-disable-line no-constant-condition
|
|
148
|
+
const node = this.#nodes[searchFrom];
|
|
149
|
+
if (node == null) {
|
|
150
|
+
if (!this.isComplete) return undefined;
|
|
151
|
+
throw new InternalError('Can\'t find node in complete tree');
|
|
152
|
+
}
|
|
153
|
+
const { type, value, path } = MPTree.#parseNode(node);
|
|
154
|
+
switch (type) {
|
|
155
|
+
case NodeType.Branch:
|
|
156
|
+
if (key.length === 0) return value;
|
|
157
|
+
searchFrom = node[+`0x${key[0]}`].toString('hex');
|
|
158
|
+
key = key.substring(1);
|
|
159
|
+
break;
|
|
160
|
+
case NodeType.Extension:
|
|
161
|
+
if (key.substring(0, path?.length) !== path) return undefined;
|
|
162
|
+
searchFrom = node[1].toString('hex');
|
|
163
|
+
key = key.substring(path.length);
|
|
164
|
+
break;
|
|
165
|
+
case NodeType.Leaf:
|
|
166
|
+
if (path !== key) return undefined;
|
|
167
|
+
return value;
|
|
168
|
+
default:
|
|
169
|
+
throw new InternalError(`Unknown MPTree node type: ${type}`);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* Retrieve value from Merkle Patricia Tree
|
|
176
|
+
* @param key - The key of the element to retrieve
|
|
177
|
+
* @returns Value associated to the specified key
|
|
178
|
+
*/
|
|
179
|
+
get(key: Encoded.Generic<E>): ReturnType<typeof unpackTx<T>> | undefined {
|
|
180
|
+
const d = this.#getRaw(decode(key).toString('hex'));
|
|
181
|
+
if (d == null) return d;
|
|
182
|
+
return this.#unpackTx(encode(d, Encoding.Transaction), this.#tag);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
#entriesRaw(): Array<[string, Buffer]> {
|
|
186
|
+
const entries: Array<[string, Buffer]> = [];
|
|
187
|
+
const rec = (searchFrom: string, key: string): void => {
|
|
188
|
+
const node = this.#nodes[searchFrom];
|
|
189
|
+
if (node == null) {
|
|
190
|
+
if (!this.isComplete) return;
|
|
191
|
+
throw new InternalError('Can\'t find node in complete tree');
|
|
192
|
+
}
|
|
193
|
+
const { type, value, path } = MPTree.#parseNode(node);
|
|
194
|
+
switch (type) {
|
|
195
|
+
case NodeType.Branch:
|
|
196
|
+
node
|
|
197
|
+
.slice(0, 16)
|
|
198
|
+
.map((t, idx): [typeof t, number] => [t, idx])
|
|
199
|
+
.filter(([t]) => t.length)
|
|
200
|
+
.forEach(([t, idx]) => rec(t.toString('hex'), key + idx.toString(16)));
|
|
201
|
+
if (value != null) entries.push([key, value]);
|
|
202
|
+
break;
|
|
203
|
+
case NodeType.Extension:
|
|
204
|
+
rec(node[1].toString('hex'), key + path);
|
|
205
|
+
break;
|
|
206
|
+
case NodeType.Leaf:
|
|
207
|
+
if (value == null) throw new UnexpectedTsError();
|
|
208
|
+
entries.push([key + path, value]);
|
|
209
|
+
break;
|
|
210
|
+
default:
|
|
211
|
+
throw new InternalError(`Unknown MPTree node type: ${type}`);
|
|
212
|
+
}
|
|
213
|
+
};
|
|
214
|
+
rec(this.#rootHash, '');
|
|
215
|
+
return entries;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
toObject(): Record<Encoded.Any, ReturnType<typeof unpackTx<T>>> {
|
|
219
|
+
return Object.fromEntries(this.#entriesRaw()
|
|
220
|
+
// TODO: remove after resolving https://github.com/aeternity/aeternity/issues/4066
|
|
221
|
+
.filter(([k]) => this.#encoding !== Encoding.ContractAddress || k.length !== 66)
|
|
222
|
+
.map(([k, v]) => [
|
|
223
|
+
encode(Buffer.from(k, 'hex'), this.#encoding),
|
|
224
|
+
this.#unpackTx(encode(v, Encoding.Transaction), this.#tag),
|
|
225
|
+
]));
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
export default function genMPTreeField<E extends Encoding, T extends Tag>(encoding: E, tag: T): {
|
|
230
|
+
serialize: (value: MPTree<E, T>) => MPTreeBinary;
|
|
231
|
+
deserialize: (value: MPTreeBinary, o: { unpackTx: typeof unpackTx }) => MPTree<E, T>;
|
|
232
|
+
} {
|
|
233
|
+
return {
|
|
234
|
+
serialize(value) {
|
|
235
|
+
return value.serialize();
|
|
236
|
+
},
|
|
237
|
+
|
|
238
|
+
deserialize(value, { unpackTx }) {
|
|
239
|
+
return new MPTree(value, encoding, tag, unpackTx);
|
|
240
|
+
},
|
|
241
|
+
};
|
|
242
|
+
}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import BigNumber from 'bignumber.js';
|
|
2
2
|
import { getMinimumNameFee } from '../helpers';
|
|
3
3
|
import { InsufficientNameFeeError } from '../../../utils/errors';
|
|
4
|
-
import { Int } from './u-int';
|
|
5
4
|
import coinAmount from './coin-amount';
|
|
6
|
-
import { AensName } from '../constants';
|
|
5
|
+
import { AensName, Int } from '../constants';
|
|
7
6
|
|
|
8
7
|
export default {
|
|
9
8
|
...coinAmount,
|
|
@@ -27,6 +26,6 @@ export default {
|
|
|
27
26
|
value: Int | undefined,
|
|
28
27
|
txFields: { name: AensName } & Parameters<typeof coinAmount['serialize']>[1],
|
|
29
28
|
): Buffer {
|
|
30
|
-
return coinAmount.
|
|
29
|
+
return coinAmount.serialize.call(this, value, txFields);
|
|
31
30
|
},
|
|
32
31
|
};
|
|
@@ -1,20 +1,17 @@
|
|
|
1
1
|
import { AensName } from '../constants';
|
|
2
2
|
import { produceNameId, isNameValid } from '../helpers';
|
|
3
|
-
import
|
|
4
|
-
import { Encoded } from '../../../utils/encoder';
|
|
3
|
+
import address from './address';
|
|
4
|
+
import { Encoded, Encoding } from '../../../utils/encoder';
|
|
5
|
+
|
|
6
|
+
const addressName = address(Encoding.Name);
|
|
5
7
|
|
|
6
8
|
export default {
|
|
9
|
+
...addressName,
|
|
10
|
+
|
|
7
11
|
/**
|
|
8
12
|
* @param value - AENS name ID
|
|
9
13
|
*/
|
|
10
14
|
serialize(value: AensName | Encoded.Name): Buffer {
|
|
11
|
-
return
|
|
12
|
-
},
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @param value - AENS name ID Buffer
|
|
16
|
-
*/
|
|
17
|
-
deserialize(value: Buffer): Encoded.Name {
|
|
18
|
-
return readId(value) as Encoded.Name;
|
|
15
|
+
return addressName.serialize(isNameValid(value) ? produceNameId(value) : value);
|
|
19
16
|
},
|
|
20
17
|
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { NamePointer as NamePointerString } from '../../../apis/node';
|
|
2
|
+
import { toBytes } from '../../../utils/bytes';
|
|
3
|
+
import { Encoded } from '../../../utils/encoder';
|
|
4
|
+
import { IllegalArgumentError } from '../../../utils/errors';
|
|
5
|
+
import address, { AddressEncodings, idTagToEncoding } from './address';
|
|
6
|
+
|
|
7
|
+
const addressAny = address(...idTagToEncoding);
|
|
8
|
+
|
|
9
|
+
// TODO: remove after fixing node types
|
|
10
|
+
type NamePointer = NamePointerString & {
|
|
11
|
+
id: Encoded.Generic<AddressEncodings>;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export default {
|
|
15
|
+
/**
|
|
16
|
+
* Helper function to build pointers for name update TX
|
|
17
|
+
* @param pointers - Array of pointers
|
|
18
|
+
* `([ { key: 'account_pubkey', id: 'ak_32klj5j23k23j5423l434l2j3423'} ])`
|
|
19
|
+
* @returns Serialized pointers array
|
|
20
|
+
*/
|
|
21
|
+
serialize(pointers: NamePointer[]): Buffer[][] {
|
|
22
|
+
if (pointers.length > 32) {
|
|
23
|
+
throw new IllegalArgumentError(`Expected 32 pointers or less, got ${pointers.length} instead`);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return pointers.map(
|
|
27
|
+
(pointer) => [toBytes(pointer.key), addressAny.serialize(pointer.id)],
|
|
28
|
+
);
|
|
29
|
+
},
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Helper function to read pointers from name update TX
|
|
33
|
+
* @param pointers - Array of pointers
|
|
34
|
+
* @returns Deserialize pointer array
|
|
35
|
+
*/
|
|
36
|
+
deserialize(pointers: Array<[key: Buffer, id: Buffer]>): NamePointer[] {
|
|
37
|
+
return pointers.map(
|
|
38
|
+
([key, id]) => ({ key: key.toString(), id: addressAny.deserialize(id) }),
|
|
39
|
+
);
|
|
40
|
+
},
|
|
41
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ArgumentError } from '../../../utils/errors';
|
|
2
|
+
import shortUInt from './short-u-int';
|
|
3
|
+
|
|
4
|
+
export default function genShortUIntConstField<Value extends number>(value: Value): {
|
|
5
|
+
serialize: (value?: Value) => Buffer;
|
|
6
|
+
deserialize: (value: Buffer) => Value;
|
|
7
|
+
} {
|
|
8
|
+
return {
|
|
9
|
+
serialize(val) {
|
|
10
|
+
if (val != null && val !== value) throw new ArgumentError('ShortUIntConst', value, val);
|
|
11
|
+
return shortUInt.serialize(value);
|
|
12
|
+
},
|
|
13
|
+
|
|
14
|
+
deserialize(buf) {
|
|
15
|
+
const val = shortUInt.deserialize(buf);
|
|
16
|
+
if (val !== value) throw new ArgumentError('ShortUIntConst', value, val);
|
|
17
|
+
return value;
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
1
|
+
import { readInt } from '../helpers';
|
|
2
|
+
import { Int } from '../constants';
|
|
3
3
|
import { ArgumentError } from '../../../utils/errors';
|
|
4
|
-
|
|
5
|
-
export type Int = number | string | BigNumber;
|
|
4
|
+
import { toBytes } from '../../../utils/bytes';
|
|
6
5
|
|
|
7
6
|
export default {
|
|
8
7
|
serialize(value: Int): Buffer {
|
|
9
8
|
if (value < 0) throw new ArgumentError('value', 'greater or equal to 0', value);
|
|
10
|
-
return
|
|
9
|
+
return toBytes(value, true);
|
|
11
10
|
},
|
|
12
11
|
|
|
13
12
|
deserialize(value: Buffer): string {
|
|
@@ -14,8 +14,6 @@ import {
|
|
|
14
14
|
} from './constants';
|
|
15
15
|
import { ceil } from '../../utils/bignumber';
|
|
16
16
|
import { ArgumentError, IllegalBidFeeError } from '../../utils/errors';
|
|
17
|
-
import { NamePointer } from '../../apis/node';
|
|
18
|
-
import { readId, writeId } from './address';
|
|
19
17
|
|
|
20
18
|
/**
|
|
21
19
|
* JavaScript-based Transaction builder helper function's
|
|
@@ -61,16 +59,6 @@ export function oracleQueryId(
|
|
|
61
59
|
return encode(b2bHash, Encoding.OracleQueryId);
|
|
62
60
|
}
|
|
63
61
|
|
|
64
|
-
/**
|
|
65
|
-
* Format the salt into a 64-byte hex string
|
|
66
|
-
* @category transaction builder
|
|
67
|
-
* @param salt - Random number
|
|
68
|
-
* @returns Zero-padded hex string of salt
|
|
69
|
-
*/
|
|
70
|
-
export function formatSalt(salt: number): Buffer {
|
|
71
|
-
return Buffer.from(salt.toString(16).padStart(64, '0'), 'hex');
|
|
72
|
-
}
|
|
73
|
-
|
|
74
62
|
/**
|
|
75
63
|
* Encode an AENS name
|
|
76
64
|
* @category AENS
|
|
@@ -82,11 +70,11 @@ export function produceNameId(name: AensName): Encoded.Name {
|
|
|
82
70
|
}
|
|
83
71
|
|
|
84
72
|
/**
|
|
85
|
-
* Generate the commitment hash by hashing the
|
|
73
|
+
* Generate the commitment hash by hashing the salt and
|
|
86
74
|
* name, base 58 encoding the result and prepending 'cm_'
|
|
87
75
|
* @category transaction builder
|
|
88
76
|
* @param name - Name to be registered
|
|
89
|
-
* @param salt - Random
|
|
77
|
+
* @param salt - Random number
|
|
90
78
|
* @returns Commitment hash
|
|
91
79
|
*/
|
|
92
80
|
export function commitmentHash(
|
|
@@ -94,21 +82,14 @@ export function commitmentHash(
|
|
|
94
82
|
salt: number = genSalt(),
|
|
95
83
|
): Encoded.Commitment {
|
|
96
84
|
return encode(
|
|
97
|
-
hash(concatBuffers([
|
|
85
|
+
hash(concatBuffers([
|
|
86
|
+
Buffer.from(name.toLowerCase()),
|
|
87
|
+
Buffer.from(salt.toString(16).padStart(64, '0'), 'hex'),
|
|
88
|
+
])),
|
|
98
89
|
Encoding.Commitment,
|
|
99
90
|
);
|
|
100
91
|
}
|
|
101
92
|
|
|
102
|
-
/**
|
|
103
|
-
* Utility function to convert int to bytes
|
|
104
|
-
* @category transaction builder
|
|
105
|
-
* @param val - Value
|
|
106
|
-
* @returns Buffer Buffer from number(BigEndian)
|
|
107
|
-
*/
|
|
108
|
-
export function writeInt(val: number | string | BigNumber): Buffer {
|
|
109
|
-
return toBytes(val, true);
|
|
110
|
-
}
|
|
111
|
-
|
|
112
93
|
/**
|
|
113
94
|
* Utility function to convert bytes to int
|
|
114
95
|
* @category transaction builder
|
|
@@ -119,37 +100,6 @@ export function readInt(buf: Buffer = Buffer.from([])): string {
|
|
|
119
100
|
return new BigNumber(Buffer.from(buf).toString('hex'), 16).toString(10);
|
|
120
101
|
}
|
|
121
102
|
|
|
122
|
-
/**
|
|
123
|
-
* Helper function to build pointers for name update TX
|
|
124
|
-
* @category transaction builder
|
|
125
|
-
* @param pointers - Array of pointers
|
|
126
|
-
* `([ { key: 'account_pubkey', id: 'ak_32klj5j23k23j5423l434l2j3423'} ])`
|
|
127
|
-
* @returns Serialized pointers array
|
|
128
|
-
*/
|
|
129
|
-
export function buildPointers(pointers: NamePointer[]): Buffer[][] {
|
|
130
|
-
return pointers.map(
|
|
131
|
-
(p) => [
|
|
132
|
-
toBytes(p.key),
|
|
133
|
-
writeId(p.id as Parameters<typeof writeId>[0]),
|
|
134
|
-
],
|
|
135
|
-
);
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
/**
|
|
139
|
-
* Helper function to read pointers from name update TX
|
|
140
|
-
* @category transaction builder
|
|
141
|
-
* @param pointers - Array of pointers
|
|
142
|
-
* @returns Deserialize pointer array
|
|
143
|
-
*/
|
|
144
|
-
export function readPointers(pointers: Array<[key: string, id: Buffer]>): NamePointer[] {
|
|
145
|
-
return pointers.map(
|
|
146
|
-
([key, id]) => ({
|
|
147
|
-
key: key.toString(),
|
|
148
|
-
id: readId(id),
|
|
149
|
-
}),
|
|
150
|
-
);
|
|
151
|
-
}
|
|
152
|
-
|
|
153
103
|
const AENS_SUFFIX = '.chain';
|
|
154
104
|
|
|
155
105
|
/**
|
|
@@ -232,10 +182,10 @@ export function computeBidFee(
|
|
|
232
182
|
*/
|
|
233
183
|
export function computeAuctionEndBlock(name: AensName, claimHeight: number): number {
|
|
234
184
|
const length = name.length - AENS_SUFFIX.length;
|
|
235
|
-
const h = (length <= 4
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
185
|
+
const h = (length <= 4 ? 62 * NAME_BID_TIMEOUT_BLOCKS : null)
|
|
186
|
+
?? (length <= 8 ? 31 * NAME_BID_TIMEOUT_BLOCKS : null)
|
|
187
|
+
?? (length <= 12 ? NAME_BID_TIMEOUT_BLOCKS : null)
|
|
188
|
+
?? 0;
|
|
239
189
|
return h + claimHeight;
|
|
240
190
|
}
|
|
241
191
|
|