@aeternity/aepp-sdk 11.0.0 → 12.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/dist/aepp-sdk.browser-script.js +1 -1
- package/dist/aepp-sdk.browser-script.js.LICENSE.txt +0 -22
- package/dist/aepp-sdk.browser-script.js.map +1 -1
- package/dist/aepp-sdk.browser.js +2 -1
- package/dist/aepp-sdk.browser.js.LICENSE.txt +1 -0
- package/dist/aepp-sdk.browser.js.map +1 -1
- package/dist/aepp-sdk.js +20764 -1
- package/dist/aepp-sdk.js.map +1 -1
- package/es/AeSdk.d.ts +37 -0
- package/es/AeSdk.mjs +81 -0
- package/es/AeSdk.mjs.map +1 -0
- package/es/AeSdkAepp.d.ts +70 -0
- package/es/AeSdkAepp.mjs +176 -0
- package/es/AeSdkAepp.mjs.map +1 -0
- package/es/AeSdkBase.d.ts +213 -0
- package/es/AeSdkBase.mjs +314 -0
- package/es/AeSdkBase.mjs.map +1 -0
- package/es/AeSdkWallet.d.ts +104 -0
- package/es/AeSdkWallet.mjs +326 -0
- package/es/AeSdkWallet.mjs.map +1 -0
- package/es/Node.d.ts +41 -0
- package/es/Node.mjs +147 -0
- package/es/Node.mjs.map +1 -0
- package/es/account/Base.d.ts +68 -0
- package/es/account/Base.mjs +123 -0
- package/es/account/Base.mjs.map +1 -0
- package/es/account/Memory.d.ts +26 -0
- package/es/account/Memory.mjs +103 -0
- package/es/account/Memory.mjs.map +1 -0
- package/es/account/Rpc.d.ts +27 -0
- package/es/account/Rpc.mjs +80 -0
- package/es/account/Rpc.mjs.map +1 -0
- package/es/aens.d.ts +222 -0
- package/es/aens.mjs +338 -0
- package/es/aens.mjs.map +1 -0
- package/es/aepp-wallet-communication/connection/Browser.d.ts +33 -0
- package/es/aepp-wallet-communication/connection/Browser.mjs +73 -0
- package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -0
- package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +18 -0
- package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +58 -0
- package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -0
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +36 -0
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +146 -0
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -0
- package/es/aepp-wallet-communication/connection-proxy.d.ts +11 -0
- package/{src/utils/crypto-ts.ts → es/aepp-wallet-communication/connection-proxy.mjs} +16 -11
- package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -0
- package/es/aepp-wallet-communication/rpc/RpcClient.d.ts +34 -0
- package/es/aepp-wallet-communication/rpc/RpcClient.mjs +169 -0
- package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -0
- package/es/aepp-wallet-communication/rpc/types.d.ts +77 -0
- package/es/aepp-wallet-communication/rpc/types.mjs +3 -0
- package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -0
- package/es/aepp-wallet-communication/schema.d.ts +105 -46
- package/es/aepp-wallet-communication/schema.mjs +251 -0
- package/es/aepp-wallet-communication/schema.mjs.map +1 -0
- package/es/aepp-wallet-communication/wallet-detector.d.ts +25 -0
- package/es/aepp-wallet-communication/wallet-detector.mjs +62 -0
- package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -0
- package/es/apis/compiler/compiler.d.ts +92 -0
- package/es/apis/compiler/compiler.mjs +576 -0
- package/es/apis/compiler/compiler.mjs.map +1 -0
- package/es/apis/compiler/index.d.ts +2 -0
- package/es/apis/compiler/index.mjs +3 -0
- package/es/apis/compiler/index.mjs.map +1 -0
- package/es/apis/compiler/models/index.d.ts +248 -0
- package/es/apis/compiler/models/index.mjs +48 -0
- package/es/apis/compiler/models/index.mjs.map +1 -0
- package/es/apis/compiler/models/mappers.d.ts +23 -0
- package/es/apis/compiler/models/mappers.mjs +585 -0
- package/es/apis/compiler/models/mappers.mjs.map +1 -0
- package/es/apis/compiler/models/parameters.d.ts +13 -0
- package/es/apis/compiler/models/parameters.mjs +71 -0
- package/es/apis/compiler/models/parameters.mjs.map +1 -0
- package/es/apis/node/index.d.ts +2 -0
- package/es/apis/node/index.mjs +3 -0
- package/es/apis/node/index.mjs.map +1 -0
- package/es/apis/node/models/index.d.ts +1065 -0
- package/es/apis/node/models/index.mjs +2 -0
- package/es/apis/node/models/index.mjs.map +1 -0
- package/es/apis/node/models/mappers.d.ts +95 -0
- package/es/apis/node/models/mappers.mjs +4166 -0
- package/es/apis/node/models/mappers.mjs.map +1 -0
- package/es/apis/node/models/parameters.d.ts +17 -0
- package/es/apis/node/models/parameters.mjs +165 -0
- package/es/apis/node/models/parameters.mjs.map +1 -0
- package/es/apis/node/node.d.ts +215 -0
- package/es/apis/node/node.mjs +1165 -0
- package/es/apis/node/node.mjs.map +1 -0
- package/es/chain.d.ts +248 -0
- package/es/chain.mjs +560 -0
- package/es/chain.mjs.map +1 -0
- package/es/channel/handlers.d.ts +34 -0
- package/es/channel/handlers.mjs +164 -131
- package/es/channel/handlers.mjs.map +1 -1
- package/es/channel/index.d.ts +625 -0
- package/es/channel/index.mjs +897 -902
- package/es/channel/index.mjs.map +1 -1
- package/es/channel/internal.d.ts +101 -0
- package/es/channel/internal.mjs +138 -88
- package/es/channel/internal.mjs.map +1 -1
- package/es/contract/Compiler.d.ts +18 -0
- package/es/contract/Compiler.mjs +68 -0
- package/es/contract/Compiler.mjs.map +1 -0
- package/es/contract/aci.d.ts +127 -0
- package/es/contract/aci.mjs +225 -193
- package/es/contract/aci.mjs.map +1 -1
- package/es/contract/ga.d.ts +69 -0
- package/es/contract/ga.mjs +195 -0
- package/es/contract/ga.mjs.map +1 -0
- package/es/contract/methods.d.ts +71 -0
- package/es/contract/methods.mjs +104 -0
- package/es/contract/methods.mjs.map +1 -0
- package/es/deprecated/index.d.ts +143 -0
- package/es/deprecated/index.mjs +162 -0
- package/es/deprecated/index.mjs.map +1 -0
- package/es/deprecated/methods.d.ts +18 -0
- package/es/deprecated/methods.mjs +26 -0
- package/es/deprecated/methods.mjs.map +1 -0
- package/es/index.d.ts +35 -0
- package/es/index.mjs +35 -40
- package/es/index.mjs.map +1 -1
- package/es/oracle.d.ts +161 -0
- package/es/oracle.mjs +306 -0
- package/es/oracle.mjs.map +1 -0
- package/es/spend.d.ts +62 -0
- package/es/spend.mjs +111 -0
- package/es/spend.mjs.map +1 -0
- package/es/tx/builder/address.d.ts +25 -0
- package/es/tx/builder/address.mjs +45 -0
- package/es/tx/builder/address.mjs.map +1 -0
- package/es/tx/builder/constants.d.ts +70 -0
- package/es/tx/builder/constants.mjs +122 -0
- package/es/tx/builder/constants.mjs.map +1 -0
- package/es/tx/builder/field-types/coin-amount.d.ts +13 -0
- package/es/tx/builder/field-types/coin-amount.mjs +26 -0
- package/es/tx/builder/field-types/coin-amount.mjs.map +1 -0
- package/es/tx/builder/field-types/deposit.d.ts +15 -0
- package/es/tx/builder/field-types/deposit.mjs +19 -0
- package/es/tx/builder/field-types/deposit.mjs.map +1 -0
- package/es/tx/builder/field-types/fee.d.ts +25 -0
- package/es/tx/builder/field-types/fee.mjs +150 -0
- package/es/tx/builder/field-types/fee.mjs.map +1 -0
- package/es/tx/builder/field-types/field.d.ts +6 -0
- package/es/tx/builder/field-types/field.mjs +15 -0
- package/es/tx/builder/field-types/field.mjs.map +1 -0
- package/es/tx/builder/field-types/gas-limit.d.ts +12 -0
- package/es/tx/builder/field-types/gas-limit.mjs +33 -0
- package/es/tx/builder/field-types/gas-limit.mjs.map +1 -0
- package/es/tx/builder/field-types/gas-price.d.ts +8 -0
- package/es/tx/builder/field-types/gas-price.mjs +18 -0
- package/es/tx/builder/field-types/gas-price.mjs.map +1 -0
- package/es/tx/builder/field-types/index.d.ts +70 -0
- package/es/tx/builder/field-types/index.mjs +25 -0
- package/es/tx/builder/field-types/index.mjs.map +1 -0
- package/es/tx/builder/field-types/name-fee.d.ts +20 -0
- package/es/tx/builder/field-types/name-fee.mjs +24 -0
- package/es/tx/builder/field-types/name-fee.mjs.map +1 -0
- package/es/tx/builder/field-types/name-id.d.ts +14 -0
- package/es/tx/builder/field-types/name-id.mjs +19 -0
- package/es/tx/builder/field-types/name-id.mjs.map +1 -0
- package/es/tx/builder/field-types/name.d.ts +13 -0
- package/es/tx/builder/field-types/name.mjs +18 -0
- package/es/tx/builder/field-types/name.mjs.map +1 -0
- package/es/tx/builder/field-types/short-u-int.d.ts +6 -0
- package/es/tx/builder/field-types/short-u-int.mjs +12 -0
- package/es/tx/builder/field-types/short-u-int.mjs.map +1 -0
- package/es/tx/builder/field-types/u-int.d.ts +8 -0
- package/es/tx/builder/field-types/u-int.mjs +14 -0
- package/es/tx/builder/field-types/u-int.mjs.map +1 -0
- package/es/tx/builder/helpers.d.ts +125 -0
- package/es/tx/builder/helpers.mjs +94 -240
- package/es/tx/builder/helpers.mjs.map +1 -1
- package/es/tx/builder/index.d.ts +88 -0
- package/es/tx/builder/index.mjs +167 -358
- package/es/tx/builder/index.mjs.map +1 -1
- package/es/tx/builder/schema.d.ts +1201 -0
- package/es/tx/builder/schema.mjs +175 -664
- package/es/tx/builder/schema.mjs.map +1 -1
- package/es/tx/index.d.ts +64 -0
- package/es/tx/index.mjs +151 -265
- package/es/tx/index.mjs.map +1 -1
- package/es/tx/validator.d.ts +20 -0
- package/es/tx/validator.mjs +104 -124
- package/es/tx/validator.mjs.map +1 -1
- package/es/typings/@aeternity__argon2-browser/index.d.mjs +2 -0
- package/es/typings/@aeternity__argon2-browser/index.d.mjs.map +1 -0
- package/es/typings/@aeternity__uuid/index.d.mjs +2 -0
- package/es/typings/@aeternity__uuid/index.d.mjs.map +1 -0
- package/es/typings/bip32-path/index.d.mjs +2 -0
- package/es/typings/bip32-path/index.d.mjs.map +1 -0
- package/es/typings/blakejs/index.d.mjs.map +1 -1
- package/es/typings/sha-js/index.d.mjs +2 -0
- package/es/typings/sha-js/index.d.mjs.map +1 -0
- package/es/typings/tweetnacl-auth/index.d.mjs +2 -0
- package/es/typings/tweetnacl-auth/index.d.mjs.map +1 -0
- package/es/utils/amount-formatter.d.ts +42 -0
- package/es/utils/amount-formatter.mjs +36 -49
- package/es/utils/amount-formatter.mjs.map +1 -1
- package/es/utils/autorest.d.ts +6 -0
- package/es/utils/autorest.mjs +97 -0
- package/es/utils/autorest.mjs.map +1 -0
- package/es/utils/bignumber.d.ts +13 -0
- package/es/utils/bignumber.mjs +11 -8
- package/es/utils/bignumber.mjs.map +1 -1
- package/es/{bytes.d.ts → utils/bytes.d.ts} +10 -13
- package/es/utils/bytes.mjs +11 -15
- package/es/utils/bytes.mjs.map +1 -1
- package/es/utils/crypto.d.ts +88 -0
- package/es/utils/crypto.mjs +64 -108
- package/es/utils/crypto.mjs.map +1 -1
- package/es/utils/encoder-types.d.ts +61 -0
- package/es/utils/encoder-types.mjs +36 -0
- package/es/utils/encoder-types.mjs.map +1 -0
- package/es/utils/encoder.d.ts +25 -0
- package/es/utils/encoder.mjs +118 -0
- package/es/utils/encoder.mjs.map +1 -0
- package/es/{errors.d.ts → utils/errors.d.ts} +246 -59
- package/es/utils/errors.mjs +313 -136
- package/es/utils/errors.mjs.map +1 -1
- package/es/utils/hd-wallet.d.ts +50 -0
- package/es/utils/hd-wallet.mjs +86 -45
- package/es/utils/hd-wallet.mjs.map +1 -1
- package/es/utils/json-big.d.ts +5 -0
- package/es/utils/json-big.mjs +12 -16
- package/es/utils/json-big.mjs.map +1 -1
- package/es/utils/keystore.d.ts +51 -0
- package/es/utils/keystore.mjs +101 -194
- package/es/utils/keystore.mjs.map +1 -1
- package/es/{mptree.d.ts → utils/mptree.d.ts} +6 -9
- package/es/utils/mptree.mjs +22 -18
- package/es/utils/mptree.mjs.map +1 -1
- package/es/utils/other.d.ts +20 -0
- package/es/utils/other.mjs +32 -35
- package/es/utils/other.mjs.map +1 -1
- package/es/utils/semver-satisfies.d.ts +1 -0
- package/es/utils/semver-satisfies.mjs +2 -2
- package/es/utils/semver-satisfies.mjs.map +1 -1
- package/es/utils/string.d.ts +24 -0
- package/es/utils/string.mjs +8 -10
- package/es/utils/string.mjs.map +1 -1
- package/package.json +56 -42
- package/src/AeSdk.ts +68 -0
- package/src/AeSdkAepp.ts +176 -0
- package/src/AeSdkBase.ts +338 -0
- package/src/AeSdkWallet.ts +348 -0
- package/src/Node.ts +173 -0
- package/src/account/Base.ts +124 -0
- package/src/account/Memory.ts +98 -0
- package/src/account/Rpc.ts +69 -0
- package/src/aens.ts +407 -0
- package/src/aepp-wallet-communication/connection/Browser.ts +71 -0
- package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +59 -0
- package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +122 -0
- package/{es/utils/crypto-ts.mjs → src/aepp-wallet-communication/connection-proxy.ts} +18 -18
- package/src/aepp-wallet-communication/rpc/RpcClient.ts +143 -0
- package/src/aepp-wallet-communication/rpc/types.ts +66 -0
- package/src/aepp-wallet-communication/schema.ts +224 -0
- package/src/aepp-wallet-communication/wallet-detector.ts +72 -0
- package/src/apis/compiler/code-model-v4.yaml +2649 -0
- package/src/apis/compiler/compiler.ts +585 -0
- package/src/apis/compiler/index.ts +2 -0
- package/src/apis/compiler/models/index.ts +301 -0
- package/src/apis/compiler/models/mappers.ts +583 -0
- package/src/apis/compiler/models/parameters.ts +93 -0
- package/src/apis/node/code-model-v4.yaml +10080 -0
- package/src/apis/node/index.ts +2 -0
- package/src/apis/node/models/index.ts +1257 -0
- package/src/apis/node/models/mappers.ts +4280 -0
- package/src/apis/node/models/parameters.ts +188 -0
- package/src/apis/node/node.ts +1299 -0
- package/src/chain.ts +502 -0
- package/src/channel/handlers.ts +817 -0
- package/src/channel/index.ts +1025 -0
- package/src/channel/internal.ts +361 -0
- package/src/contract/Compiler.ts +67 -0
- package/src/contract/aci.ts +538 -0
- package/src/contract/ga.ts +199 -0
- package/src/contract/methods.ts +123 -0
- package/src/deprecated/index.ts +170 -0
- package/src/deprecated/methods.ts +25 -0
- package/src/index.ts +56 -0
- package/src/oracle.ts +364 -0
- package/src/spend.ts +164 -0
- package/src/tx/builder/address.ts +50 -0
- package/src/tx/builder/constants.ts +126 -0
- package/src/tx/builder/field-types/coin-amount.ts +27 -0
- package/src/tx/builder/field-types/deposit.ts +21 -0
- package/src/tx/builder/field-types/fee.ts +143 -0
- package/src/tx/builder/field-types/field.ts +9 -0
- package/src/tx/builder/field-types/gas-limit.ts +41 -0
- package/src/tx/builder/field-types/gas-price.ts +16 -0
- package/src/tx/builder/field-types/index.ts +45 -0
- package/src/tx/builder/field-types/name-fee.ts +32 -0
- package/src/tx/builder/field-types/name-id.ts +20 -0
- package/src/tx/builder/field-types/name.ts +18 -0
- package/src/tx/builder/field-types/short-u-int.ts +11 -0
- package/src/tx/builder/field-types/u-int.ts +16 -0
- package/src/tx/builder/helpers.ts +248 -0
- package/src/tx/builder/index.ts +400 -0
- package/src/tx/builder/schema.ts +727 -0
- package/src/tx/index.ts +192 -0
- package/src/tx/validator.ts +230 -0
- package/src/typings/@aeternity__argon2-browser/index.d.ts +3 -0
- package/src/typings/@aeternity__uuid/index.d.ts +5 -0
- package/src/typings/bip32-path/index.d.ts +33 -0
- package/src/typings/blakejs/index.d.ts +4 -32
- package/src/typings/sha-js/index.d.ts +5 -0
- package/src/typings/tweetnacl-auth/index.d.ts +14 -0
- package/src/utils/amount-formatter.ts +56 -69
- package/src/utils/autorest.ts +93 -0
- package/src/utils/bignumber.ts +11 -12
- package/src/utils/bytes.ts +29 -31
- package/src/utils/crypto.ts +205 -0
- package/src/utils/encoder-types.ts +63 -0
- package/src/utils/encoder.ts +146 -0
- package/src/utils/errors.ts +482 -366
- package/src/utils/hd-wallet.ts +166 -0
- package/src/utils/json-big.ts +27 -0
- package/src/utils/keystore.ts +182 -0
- package/src/utils/mptree.ts +64 -61
- package/src/utils/other.ts +34 -41
- package/src/utils/semver-satisfies.ts +15 -11
- package/src/utils/string.ts +18 -20
- package/es/account/base.mjs +0 -179
- package/es/account/base.mjs.map +0 -1
- package/es/account/memory.mjs +0 -99
- package/es/account/memory.mjs.map +0 -1
- package/es/account/multiple.mjs +0 -179
- package/es/account/multiple.mjs.map +0 -1
- package/es/ae/aens.mjs +0 -404
- package/es/ae/aens.mjs.map +0 -1
- package/es/ae/aepp.mjs +0 -45
- package/es/ae/aepp.mjs.map +0 -1
- package/es/ae/contract.mjs +0 -159
- package/es/ae/contract.mjs.map +0 -1
- package/es/ae/index.mjs +0 -207
- package/es/ae/index.mjs.map +0 -1
- package/es/ae/oracle.mjs +0 -339
- package/es/ae/oracle.mjs.map +0 -1
- package/es/ae/universal.mjs +0 -45
- package/es/ae/universal.mjs.map +0 -1
- package/es/ae/wallet.mjs +0 -50
- package/es/ae/wallet.mjs.map +0 -1
- package/es/amount-formatter.d.ts +0 -58
- package/es/bignumber.d.ts +0 -18
- package/es/chain/index.mjs +0 -272
- package/es/chain/index.mjs.map +0 -1
- package/es/chain/node.mjs +0 -442
- package/es/chain/node.mjs.map +0 -1
- package/es/contract/compiler.mjs +0 -115
- package/es/contract/compiler.mjs.map +0 -1
- package/es/contract/ga/helpers.mjs +0 -30
- package/es/contract/ga/helpers.mjs.map +0 -1
- package/es/contract/ga/index.mjs +0 -178
- package/es/contract/ga/index.mjs.map +0 -1
- package/es/crypto-ts.d.ts +0 -9
- package/es/node-pool/index.mjs +0 -188
- package/es/node-pool/index.mjs.map +0 -1
- package/es/node.mjs +0 -133
- package/es/node.mjs.map +0 -1
- package/es/other.d.ts +0 -31
- package/es/semver-satisfies.d.ts +0 -1
- package/es/string.d.ts +0 -26
- package/es/tx/builder/field-types.mjs +0 -74
- package/es/tx/builder/field-types.mjs.map +0 -1
- package/es/tx/tx-object.mjs +0 -283
- package/es/tx/tx-object.mjs.map +0 -1
- package/es/tx/tx.mjs +0 -938
- package/es/tx/tx.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs +0 -132
- package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs +0 -183
- package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/connection/index.mjs +0 -87
- package/es/utils/aepp-wallet-communication/connection/index.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/content-script-bridge.mjs +0 -98
- package/es/utils/aepp-wallet-communication/content-script-bridge.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/helpers.mjs +0 -92
- package/es/utils/aepp-wallet-communication/helpers.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs +0 -375
- package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs +0 -275
- package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs +0 -541
- package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/schema.mjs +0 -102
- package/es/utils/aepp-wallet-communication/schema.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/wallet-detector.mjs +0 -110
- package/es/utils/aepp-wallet-communication/wallet-detector.mjs.map +0 -1
- package/es/utils/async-init.mjs +0 -64
- package/es/utils/async-init.mjs.map +0 -1
- package/es/utils/crypto-ts.mjs.map +0 -1
- package/es/utils/swagger.mjs +0 -164
- package/es/utils/swagger.mjs.map +0 -1
- package/src/account/base.js +0 -153
- package/src/account/memory.js +0 -83
- package/src/account/multiple.js +0 -162
- package/src/ae/aens.js +0 -361
- package/src/ae/aepp.js +0 -45
- package/src/ae/contract.js +0 -148
- package/src/ae/index.js +0 -168
- package/src/ae/oracle.js +0 -311
- package/src/ae/universal.js +0 -47
- package/src/ae/wallet.js +0 -50
- package/src/chain/index.js +0 -269
- package/src/chain/node.js +0 -320
- package/src/channel/handlers.js +0 -673
- package/src/channel/index.js +0 -898
- package/src/channel/internal.js +0 -237
- package/src/contract/aci.js +0 -376
- package/src/contract/compiler.js +0 -100
- package/src/contract/ga/helpers.js +0 -19
- package/src/contract/ga/index.js +0 -150
- package/src/index.js +0 -89
- package/src/node-pool/index.js +0 -172
- package/src/node.js +0 -116
- package/src/tx/builder/field-types.js +0 -61
- package/src/tx/builder/helpers.js +0 -380
- package/src/tx/builder/index.js +0 -465
- package/src/tx/builder/schema.js +0 -1197
- package/src/tx/index.js +0 -301
- package/src/tx/tx-object.js +0 -187
- package/src/tx/tx.js +0 -631
- package/src/tx/validator.js +0 -181
- package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +0 -119
- package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +0 -165
- package/src/utils/aepp-wallet-communication/connection/index.js +0 -85
- package/src/utils/aepp-wallet-communication/content-script-bridge.js +0 -86
- package/src/utils/aepp-wallet-communication/helpers.js +0 -60
- package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +0 -294
- package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +0 -232
- package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +0 -401
- package/src/utils/aepp-wallet-communication/schema.ts +0 -80
- package/src/utils/aepp-wallet-communication/wallet-detector.js +0 -92
- package/src/utils/async-init.js +0 -45
- package/src/utils/crypto.js +0 -229
- package/src/utils/hd-wallet.js +0 -100
- package/src/utils/json-big.js +0 -26
- package/src/utils/keystore.js +0 -219
- package/src/utils/swagger.js +0 -156
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import BigNumber from 'bignumber.js';
|
|
3
|
+
import { Encoded } from '../../utils/encoder';
|
|
4
|
+
import { AensName } from './constants';
|
|
5
|
+
import { NamePointer } from '../../apis/node';
|
|
6
|
+
/**
|
|
7
|
+
* JavaScript-based Transaction builder helper function's
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Build a contract public key
|
|
11
|
+
* @category contract
|
|
12
|
+
* @param ownerId - The public key of the owner account
|
|
13
|
+
* @param nonce - the nonce of the transaction
|
|
14
|
+
* @returns Contract public key
|
|
15
|
+
*/
|
|
16
|
+
export declare function buildContractId(ownerId: Encoded.AccountAddress, nonce: number | BigNumber): Encoded.ContractAddress;
|
|
17
|
+
/**
|
|
18
|
+
* Build a oracle query id
|
|
19
|
+
* @category oracle
|
|
20
|
+
* @param senderId - The public key of the sender account
|
|
21
|
+
* @param nonce - the nonce of the transaction
|
|
22
|
+
* @param oracleId - The oracle public key
|
|
23
|
+
* @returns Contract public key
|
|
24
|
+
*/
|
|
25
|
+
export declare function oracleQueryId(senderId: Encoded.AccountAddress, nonce: number | BigNumber | string, oracleId: Encoded.OracleAddress): Encoded.OracleQueryId;
|
|
26
|
+
/**
|
|
27
|
+
* Format the salt into a 64-byte hex string
|
|
28
|
+
* @category transaction builder
|
|
29
|
+
* @param salt - Random number
|
|
30
|
+
* @returns Zero-padded hex string of salt
|
|
31
|
+
*/
|
|
32
|
+
export declare function formatSalt(salt: number): Buffer;
|
|
33
|
+
/**
|
|
34
|
+
* Encode an AENS name
|
|
35
|
+
* @category AENS
|
|
36
|
+
* @param name - Name to encode
|
|
37
|
+
* @returns `nm_` prefixed encoded AENS name
|
|
38
|
+
*/
|
|
39
|
+
export declare function produceNameId(name: AensName): Encoded.Name;
|
|
40
|
+
/**
|
|
41
|
+
* Generate the commitment hash by hashing the formatted salt and
|
|
42
|
+
* name, base 58 encoding the result and prepending 'cm_'
|
|
43
|
+
* @category transaction builder
|
|
44
|
+
* @param name - Name to be registered
|
|
45
|
+
* @param salt - Random salt
|
|
46
|
+
* @returns Commitment hash
|
|
47
|
+
*/
|
|
48
|
+
export declare function commitmentHash(name: AensName, salt?: number): Encoded.Commitment;
|
|
49
|
+
/**
|
|
50
|
+
* Utility function to convert int to bytes
|
|
51
|
+
* @category transaction builder
|
|
52
|
+
* @param val - Value
|
|
53
|
+
* @returns Buffer Buffer from number(BigEndian)
|
|
54
|
+
*/
|
|
55
|
+
export declare function writeInt(val: number | string | BigNumber): Buffer;
|
|
56
|
+
/**
|
|
57
|
+
* Utility function to convert bytes to int
|
|
58
|
+
* @category transaction builder
|
|
59
|
+
* @param buf - Value
|
|
60
|
+
* @returns Buffer Buffer from number(BigEndian)
|
|
61
|
+
*/
|
|
62
|
+
export declare function readInt(buf?: Buffer): string;
|
|
63
|
+
/**
|
|
64
|
+
* Helper function to build pointers for name update TX
|
|
65
|
+
* @category transaction builder
|
|
66
|
+
* @param pointers - Array of pointers
|
|
67
|
+
* `([ { key: 'account_pubkey', id: 'ak_32klj5j23k23j5423l434l2j3423'} ])`
|
|
68
|
+
* @returns Serialized pointers array
|
|
69
|
+
*/
|
|
70
|
+
export declare function buildPointers(pointers: NamePointer[]): Buffer[][];
|
|
71
|
+
/**
|
|
72
|
+
* Helper function to read pointers from name update TX
|
|
73
|
+
* @category transaction builder
|
|
74
|
+
* @param pointers - Array of pointers
|
|
75
|
+
* @returns Deserialize pointer array
|
|
76
|
+
*/
|
|
77
|
+
export declare function readPointers(pointers: Array<[key: string, id: Buffer]>): NamePointer[];
|
|
78
|
+
/**
|
|
79
|
+
* Is AENS name valid
|
|
80
|
+
* @category AENS
|
|
81
|
+
* @param name - AENS name
|
|
82
|
+
*/
|
|
83
|
+
export declare function isNameValid(name: string): name is AensName;
|
|
84
|
+
declare const encodingToPointerKey: readonly [readonly [Encoded.Encoding.AccountAddress, "account_pubkey"], readonly [Encoded.Encoding.OracleAddress, "oracle_pubkey"], readonly [Encoded.Encoding.ContractAddress, "contract_pubkey"], readonly [Encoded.Encoding.Channel, "channel"]];
|
|
85
|
+
/**
|
|
86
|
+
* @category AENS
|
|
87
|
+
* @param identifier - account/oracle/contract address, or channel
|
|
88
|
+
* @returns default AENS pointer key
|
|
89
|
+
*/
|
|
90
|
+
export declare function getDefaultPointerKey(identifier: Encoded.Generic<typeof encodingToPointerKey[number][0]>): typeof encodingToPointerKey[number][1];
|
|
91
|
+
/**
|
|
92
|
+
* Get the minimum AENS name fee
|
|
93
|
+
* @category AENS
|
|
94
|
+
* @param name - the AENS name to get the fee for
|
|
95
|
+
* @returns the minimum fee for the AENS name auction
|
|
96
|
+
*/
|
|
97
|
+
export declare function getMinimumNameFee(name: AensName): BigNumber;
|
|
98
|
+
/**
|
|
99
|
+
* Compute bid fee for AENS auction
|
|
100
|
+
* @category AENS
|
|
101
|
+
* @param name - the AENS name to get the fee for
|
|
102
|
+
* @param options - Options
|
|
103
|
+
* @param options.startFee - Auction start fee
|
|
104
|
+
* @param options.increment - Bid multiplier(In percentage, must be between 0 and 1)
|
|
105
|
+
* @returns Bid fee
|
|
106
|
+
*/
|
|
107
|
+
export declare function computeBidFee(name: AensName, { startFee, increment }?: {
|
|
108
|
+
startFee?: number | string | BigNumber;
|
|
109
|
+
increment?: number;
|
|
110
|
+
}): BigNumber;
|
|
111
|
+
/**
|
|
112
|
+
* Compute auction end height
|
|
113
|
+
* @category AENS
|
|
114
|
+
* @param name - Name to compute auction end for
|
|
115
|
+
* @param claimHeight - Auction starting height
|
|
116
|
+
* @see {@link https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L273}
|
|
117
|
+
* @returns Auction end height
|
|
118
|
+
*/
|
|
119
|
+
export declare function computeAuctionEndBlock(name: AensName, claimHeight: number): number;
|
|
120
|
+
/**
|
|
121
|
+
* Is name accept going to auction
|
|
122
|
+
* @category AENS
|
|
123
|
+
*/
|
|
124
|
+
export declare function isAuctionName(name: AensName): boolean;
|
|
125
|
+
export {};
|
|
@@ -3,60 +3,55 @@ const {
|
|
|
3
3
|
Buffer: _Buffer
|
|
4
4
|
} = _buffer;
|
|
5
5
|
import BigNumber from 'bignumber.js';
|
|
6
|
-
import
|
|
7
|
-
import {
|
|
6
|
+
import { genSalt, hash } from "../../utils/crypto.mjs";
|
|
7
|
+
import { decode, encode, Encoding } from "../../utils/encoder.mjs";
|
|
8
8
|
import { toBytes } from "../../utils/bytes.mjs";
|
|
9
|
-
import {
|
|
9
|
+
import { concatBuffers } from "../../utils/other.mjs";
|
|
10
|
+
import { NAME_BID_RANGES, NAME_BID_TIMEOUT_BLOCKS, NAME_FEE_BID_INCREMENT, NAME_MAX_LENGTH_FEE } from "./constants.mjs";
|
|
10
11
|
import { ceil } from "../../utils/bignumber.mjs";
|
|
11
|
-
import {
|
|
12
|
+
import { ArgumentError, IllegalBidFeeError } from "../../utils/errors.mjs";
|
|
13
|
+
import { readId, writeId } from "./address.mjs";
|
|
12
14
|
/**
|
|
13
15
|
* JavaScript-based Transaction builder helper function's
|
|
14
|
-
* @module @aeternity/aepp-sdk/es/tx/builder/helpers
|
|
15
|
-
* @export TxBuilderHelper
|
|
16
|
-
* @example import { TxBuilderHelper } from '@aeternity/aepp-sdk'
|
|
17
16
|
*/
|
|
18
17
|
|
|
19
|
-
export const createSalt = salt;
|
|
20
18
|
/**
|
|
21
19
|
* Build a contract public key
|
|
22
|
-
* @
|
|
23
|
-
* @
|
|
24
|
-
* @param
|
|
25
|
-
* @
|
|
26
|
-
* @return {string} Contract public key
|
|
20
|
+
* @category contract
|
|
21
|
+
* @param ownerId - The public key of the owner account
|
|
22
|
+
* @param nonce - the nonce of the transaction
|
|
23
|
+
* @returns Contract public key
|
|
27
24
|
*/
|
|
28
25
|
|
|
29
26
|
export function buildContractId(ownerId, nonce) {
|
|
30
|
-
const ownerIdAndNonce = _Buffer.from([...decode(ownerId
|
|
27
|
+
const ownerIdAndNonce = _Buffer.from([...decode(ownerId), ...toBytes(nonce)]);
|
|
31
28
|
|
|
32
29
|
const b2bHash = hash(ownerIdAndNonce);
|
|
33
|
-
return encode(b2bHash,
|
|
30
|
+
return encode(b2bHash, Encoding.ContractAddress);
|
|
34
31
|
}
|
|
35
32
|
/**
|
|
36
33
|
* Build a oracle query id
|
|
37
|
-
* @
|
|
38
|
-
* @
|
|
39
|
-
* @param
|
|
40
|
-
* @param
|
|
41
|
-
* @
|
|
42
|
-
* @return {string} Contract public key
|
|
34
|
+
* @category oracle
|
|
35
|
+
* @param senderId - The public key of the sender account
|
|
36
|
+
* @param nonce - the nonce of the transaction
|
|
37
|
+
* @param oracleId - The oracle public key
|
|
38
|
+
* @returns Contract public key
|
|
43
39
|
*/
|
|
44
40
|
|
|
45
41
|
export function oracleQueryId(senderId, nonce, oracleId) {
|
|
46
42
|
function _int32(val) {
|
|
47
43
|
const nonceBE = toBytes(val, true);
|
|
48
|
-
return
|
|
44
|
+
return concatBuffers([_Buffer.alloc(32 - nonceBE.length), nonceBE]);
|
|
49
45
|
}
|
|
50
46
|
|
|
51
|
-
const b2bHash = hash(_Buffer.from([...decode(senderId
|
|
52
|
-
return encode(b2bHash,
|
|
47
|
+
const b2bHash = hash(_Buffer.from([...decode(senderId), ..._int32(nonce), ...decode(oracleId)]));
|
|
48
|
+
return encode(b2bHash, Encoding.OracleQueryId);
|
|
53
49
|
}
|
|
54
50
|
/**
|
|
55
51
|
* Format the salt into a 64-byte hex string
|
|
56
|
-
* @
|
|
57
|
-
* @
|
|
58
|
-
* @
|
|
59
|
-
* @return {string} Zero-padded hex string of salt
|
|
52
|
+
* @category transaction builder
|
|
53
|
+
* @param salt - Random number
|
|
54
|
+
* @returns Zero-padded hex string of salt
|
|
60
55
|
*/
|
|
61
56
|
|
|
62
57
|
export function formatSalt(salt) {
|
|
@@ -64,156 +59,32 @@ export function formatSalt(salt) {
|
|
|
64
59
|
}
|
|
65
60
|
/**
|
|
66
61
|
* Encode an AENS name
|
|
67
|
-
* @
|
|
68
|
-
* @
|
|
69
|
-
* @
|
|
70
|
-
* @return {String} `nm_` prefixed encoded AENS name
|
|
62
|
+
* @category AENS
|
|
63
|
+
* @param name - Name to encode
|
|
64
|
+
* @returns `nm_` prefixed encoded AENS name
|
|
71
65
|
*/
|
|
72
66
|
|
|
73
67
|
export function produceNameId(name) {
|
|
74
|
-
|
|
75
|
-
return encode(hash(name.toLowerCase()), 'nm');
|
|
68
|
+
return encode(hash(name.toLowerCase()), Encoding.Name);
|
|
76
69
|
}
|
|
77
70
|
/**
|
|
78
71
|
* Generate the commitment hash by hashing the formatted salt and
|
|
79
72
|
* name, base 58 encoding the result and prepending 'cm_'
|
|
80
|
-
*
|
|
81
|
-
* @
|
|
82
|
-
* @
|
|
83
|
-
* @
|
|
84
|
-
* @rtype (name: String, salt?: String) => hash: Promise[String]
|
|
85
|
-
* @param {String} name - Name to be registered
|
|
86
|
-
* @param {Number} salt Random salt
|
|
87
|
-
* @return {String} Commitment hash
|
|
73
|
+
* @category transaction builder
|
|
74
|
+
* @param name - Name to be registered
|
|
75
|
+
* @param salt - Random salt
|
|
76
|
+
* @returns Commitment hash
|
|
88
77
|
*/
|
|
89
78
|
|
|
90
79
|
export function commitmentHash(name) {
|
|
91
|
-
let salt = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] :
|
|
92
|
-
|
|
93
|
-
return encode(hash(_Buffer.concat([_Buffer.from(name.toLowerCase()), formatSalt(salt)])), 'cm');
|
|
94
|
-
} // based on https://github.com/aeternity/protocol/blob/master/node/api/api_encoding.md
|
|
95
|
-
|
|
96
|
-
const base64Types = ['ba', 'cb', 'or', 'ov', 'pi', 'ss', 'cs', 'ck', 'cv', 'st', 'tx'];
|
|
97
|
-
const base58Types = ['ak', 'bf', 'bs', 'bx', 'ch', 'cm', 'ct', 'kh', 'mh', 'nm', 'ok', 'oq', 'pp', 'sg', 'th']; // TODO: add all types with a fixed length
|
|
98
|
-
|
|
99
|
-
const typesLength = {
|
|
100
|
-
ak: 32,
|
|
101
|
-
ct: 32,
|
|
102
|
-
ok: 32
|
|
103
|
-
};
|
|
104
|
-
|
|
105
|
-
function ensureValidLength(data, type) {
|
|
106
|
-
if (!typesLength[type]) return;
|
|
107
|
-
if (data.length === typesLength[type]) return;
|
|
108
|
-
throw new PayloadLengthError(`Payload should be ${typesLength[type]} bytes, got ${data.length} instead`);
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
const getChecksum = payload => sha256hash(sha256hash(payload)).slice(0, 4);
|
|
112
|
-
|
|
113
|
-
const addChecksum = input => {
|
|
114
|
-
const payload = _Buffer.from(input);
|
|
115
|
-
|
|
116
|
-
return _Buffer.concat([payload, getChecksum(payload)]);
|
|
117
|
-
};
|
|
118
|
-
|
|
119
|
-
function getPayload(buffer) {
|
|
120
|
-
const payload = buffer.slice(0, -4);
|
|
121
|
-
if (!getChecksum(payload).equals(buffer.slice(-4))) throw new InvalidChecksumError();
|
|
122
|
-
return payload;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
const base64 = {
|
|
126
|
-
encode: buffer => addChecksum(buffer).toString('base64'),
|
|
127
|
-
decode: string => getPayload(_Buffer.from(string, 'base64'))
|
|
128
|
-
};
|
|
129
|
-
const base58 = {
|
|
130
|
-
encode: buffer => bs58.encode(addChecksum(buffer)),
|
|
131
|
-
decode: string => getPayload(bs58.decode(string))
|
|
132
|
-
};
|
|
133
|
-
/**
|
|
134
|
-
* Decode data using the default encoding/decoding algorithm
|
|
135
|
-
* @function
|
|
136
|
-
* @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers
|
|
137
|
-
* @param {string} data An Base58/64check encoded and prefixed string (ex tx_..., sg_..., ak_....)
|
|
138
|
-
* @param {string} [requiredPrefix] Ensure that data have this prefix
|
|
139
|
-
* @return {Buffer} Decoded data
|
|
140
|
-
*/
|
|
141
|
-
|
|
142
|
-
export function decode(data, requiredPrefix) {
|
|
143
|
-
if (typeof data !== 'string') throw new DecodeError(`Encoded should be a string, got ${data} instead`);
|
|
144
|
-
const [prefix, encodedPayload, extra] = data.split('_');
|
|
145
|
-
if (!encodedPayload) throw new DecodeError(`Encoded string missing payload: ${data}`);
|
|
146
|
-
if (extra) throw new DecodeError(`Encoded string have extra parts: ${data}`);
|
|
147
|
-
|
|
148
|
-
if (requiredPrefix && requiredPrefix !== prefix) {
|
|
149
|
-
throw new PrefixMismatchError(prefix, requiredPrefix);
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
const decoder = base64Types.includes(prefix) && base64.decode || base58Types.includes(prefix) && base58.decode;
|
|
153
|
-
|
|
154
|
-
if (!decoder) {
|
|
155
|
-
throw new DecodeError(`Encoded string have unknown type: ${prefix}`);
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
const payload = decoder(encodedPayload);
|
|
159
|
-
ensureValidLength(payload, prefix);
|
|
160
|
-
return payload;
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* Encode data using the default encoding/decoding algorithm
|
|
164
|
-
* @function
|
|
165
|
-
* @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers
|
|
166
|
-
* @param {Buffer|String} data An decoded data
|
|
167
|
-
* @param {string} type Prefix of Transaction
|
|
168
|
-
* @return {String} Encoded string Base58check or Base64check data
|
|
169
|
-
*/
|
|
170
|
-
|
|
171
|
-
export function encode(data, type) {
|
|
172
|
-
const encoder = base64Types.includes(type) && base64.encode || base58Types.includes(type) && base58.encode;
|
|
173
|
-
|
|
174
|
-
if (!encoder) {
|
|
175
|
-
throw new EncodeError(`Unknown type: ${type}`);
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
ensureValidLength(data, type);
|
|
179
|
-
return `${type}_${encoder(data)}`;
|
|
180
|
-
}
|
|
181
|
-
/**
|
|
182
|
-
* Utility function to create and _id type
|
|
183
|
-
* @function
|
|
184
|
-
* @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers
|
|
185
|
-
* @param {string} hashId Encoded hash
|
|
186
|
-
* @return {Buffer} Buffer Buffer with ID tag and decoded HASh
|
|
187
|
-
*/
|
|
188
|
-
|
|
189
|
-
export function writeId(hashId) {
|
|
190
|
-
if (typeof hashId !== 'string') throw new ArgumentError('hashId', 'a string', hashId);
|
|
191
|
-
const prefix = hashId.slice(0, 2);
|
|
192
|
-
const idTag = PREFIX_ID_TAG[prefix];
|
|
193
|
-
if (!idTag) throw new TagNotFoundError(prefix);
|
|
194
|
-
return _Buffer.from([...toBytes(idTag), ...decode(hashId, prefix)]);
|
|
195
|
-
}
|
|
196
|
-
/**
|
|
197
|
-
* Utility function to read and _id type
|
|
198
|
-
* @function
|
|
199
|
-
* @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers
|
|
200
|
-
* @param {Buffer} buf Data
|
|
201
|
-
* @return {String} Encoided hash string with prefix
|
|
202
|
-
*/
|
|
203
|
-
|
|
204
|
-
export function readId(buf) {
|
|
205
|
-
const tag = _Buffer.from(buf).readUIntBE(0, 1);
|
|
206
|
-
|
|
207
|
-
const prefix = ID_TAG_PREFIX[tag];
|
|
208
|
-
if (!prefix) throw new PrefixNotFoundError(tag);
|
|
209
|
-
return encode(buf.slice(1, buf.length), prefix);
|
|
80
|
+
let salt = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : genSalt();
|
|
81
|
+
return encode(hash(concatBuffers([_Buffer.from(name.toLowerCase()), formatSalt(salt)])), Encoding.Commitment);
|
|
210
82
|
}
|
|
211
83
|
/**
|
|
212
84
|
* Utility function to convert int to bytes
|
|
213
|
-
* @
|
|
214
|
-
* @
|
|
215
|
-
* @
|
|
216
|
-
* @return {Buffer} Buffer Buffer from number(BigEndian)
|
|
85
|
+
* @category transaction builder
|
|
86
|
+
* @param val - Value
|
|
87
|
+
* @returns Buffer Buffer from number(BigEndian)
|
|
217
88
|
*/
|
|
218
89
|
|
|
219
90
|
export function writeInt(val) {
|
|
@@ -221,10 +92,9 @@ export function writeInt(val) {
|
|
|
221
92
|
}
|
|
222
93
|
/**
|
|
223
94
|
* Utility function to convert bytes to int
|
|
224
|
-
* @
|
|
225
|
-
* @
|
|
226
|
-
* @
|
|
227
|
-
* @return {String} Buffer Buffer from number(BigEndian)
|
|
95
|
+
* @category transaction builder
|
|
96
|
+
* @param buf - Value
|
|
97
|
+
* @returns Buffer Buffer from number(BigEndian)
|
|
228
98
|
*/
|
|
229
99
|
|
|
230
100
|
export function readInt() {
|
|
@@ -233,11 +103,10 @@ export function readInt() {
|
|
|
233
103
|
}
|
|
234
104
|
/**
|
|
235
105
|
* Helper function to build pointers for name update TX
|
|
236
|
-
* @
|
|
237
|
-
* @
|
|
238
|
-
*
|
|
239
|
-
*
|
|
240
|
-
* @return {Array} Serialized pointers array
|
|
106
|
+
* @category transaction builder
|
|
107
|
+
* @param pointers - Array of pointers
|
|
108
|
+
* `([ { key: 'account_pubkey', id: 'ak_32klj5j23k23j5423l434l2j3423'} ])`
|
|
109
|
+
* @returns Serialized pointers array
|
|
241
110
|
*/
|
|
242
111
|
|
|
243
112
|
export function buildPointers(pointers) {
|
|
@@ -245,119 +114,104 @@ export function buildPointers(pointers) {
|
|
|
245
114
|
}
|
|
246
115
|
/**
|
|
247
116
|
* Helper function to read pointers from name update TX
|
|
248
|
-
* @
|
|
249
|
-
* @
|
|
250
|
-
* @
|
|
251
|
-
* ([ { key: 'account_pubkey', id: 'ak_32klj5j23k23j5423l434l2j3423'} ])
|
|
252
|
-
* @return {Array} Deserialize pointer array
|
|
117
|
+
* @category transaction builder
|
|
118
|
+
* @param pointers - Array of pointers
|
|
119
|
+
* @returns Deserialize pointer array
|
|
253
120
|
*/
|
|
254
121
|
|
|
255
122
|
export function readPointers(pointers) {
|
|
256
123
|
return pointers.map(_ref => {
|
|
257
124
|
let [key, id] = _ref;
|
|
258
|
-
return
|
|
125
|
+
return {
|
|
259
126
|
key: key.toString(),
|
|
260
127
|
id: readId(id)
|
|
261
|
-
}
|
|
128
|
+
};
|
|
262
129
|
});
|
|
263
130
|
}
|
|
264
131
|
const AENS_SUFFIX = '.chain';
|
|
265
|
-
/**
|
|
266
|
-
* Ensure that AENS name is valid
|
|
267
|
-
* @function
|
|
268
|
-
* @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers
|
|
269
|
-
* @param {string} name
|
|
270
|
-
* @return void
|
|
271
|
-
* @throws Error
|
|
272
|
-
*/
|
|
273
|
-
|
|
274
|
-
export function ensureNameValid(name) {
|
|
275
|
-
if (!name || typeof name !== 'string') throw new InvalidNameError('Name must be a string');
|
|
276
|
-
if (!name.endsWith(AENS_SUFFIX)) throw new InvalidNameError(`Name should end with ${AENS_SUFFIX}: ${name}`);
|
|
277
|
-
}
|
|
278
132
|
/**
|
|
279
133
|
* Is AENS name valid
|
|
280
|
-
* @
|
|
281
|
-
* @
|
|
282
|
-
* @param {string} name
|
|
283
|
-
* @return Boolean
|
|
134
|
+
* @category AENS
|
|
135
|
+
* @param name - AENS name
|
|
284
136
|
*/
|
|
285
137
|
|
|
286
138
|
export function isNameValid(name) {
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
return true;
|
|
290
|
-
} catch (error) {
|
|
291
|
-
return false;
|
|
292
|
-
}
|
|
139
|
+
// TODO: probably there are stronger requirements
|
|
140
|
+
return name.endsWith(AENS_SUFFIX);
|
|
293
141
|
}
|
|
142
|
+
const encodingToPointerKey = [[Encoding.AccountAddress, 'account_pubkey'], [Encoding.OracleAddress, 'oracle_pubkey'], [Encoding.ContractAddress, 'contract_pubkey'], [Encoding.Channel, 'channel']];
|
|
294
143
|
/**
|
|
144
|
+
* @category AENS
|
|
295
145
|
* @param identifier - account/oracle/contract address, or channel
|
|
296
|
-
* @returns
|
|
297
|
-
* @throws exception when default key not defined
|
|
146
|
+
* @returns default AENS pointer key
|
|
298
147
|
*/
|
|
299
148
|
|
|
300
149
|
export function getDefaultPointerKey(identifier) {
|
|
150
|
+
var _encodingToPointerKey;
|
|
151
|
+
|
|
301
152
|
decode(identifier);
|
|
302
|
-
const
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
153
|
+
const encoding = identifier.substring(0, 2);
|
|
154
|
+
const result = (_encodingToPointerKey = encodingToPointerKey.find(_ref2 => {
|
|
155
|
+
let [e] = _ref2;
|
|
156
|
+
return e === encoding;
|
|
157
|
+
})) === null || _encodingToPointerKey === void 0 ? void 0 : _encodingToPointerKey[1];
|
|
158
|
+
if (result != null) return result;
|
|
159
|
+
throw new ArgumentError('identifier', `prefixed with one of ${encodingToPointerKey.map(_ref3 => {
|
|
160
|
+
let [e] = _ref3;
|
|
161
|
+
return `${e}_`;
|
|
162
|
+
}).join(', ')}`, identifier);
|
|
306
163
|
}
|
|
307
164
|
/**
|
|
308
165
|
* Get the minimum AENS name fee
|
|
309
|
-
* @
|
|
310
|
-
* @
|
|
311
|
-
* @
|
|
312
|
-
* @return {String} the minimum fee for the AENS name auction
|
|
166
|
+
* @category AENS
|
|
167
|
+
* @param name - the AENS name to get the fee for
|
|
168
|
+
* @returns the minimum fee for the AENS name auction
|
|
313
169
|
*/
|
|
314
170
|
|
|
315
171
|
export function getMinimumNameFee(name) {
|
|
316
|
-
ensureNameValid(name);
|
|
317
172
|
const nameLength = name.length - AENS_SUFFIX.length;
|
|
318
173
|
return NAME_BID_RANGES[Math.min(nameLength, NAME_MAX_LENGTH_FEE)];
|
|
319
174
|
}
|
|
320
175
|
/**
|
|
321
176
|
* Compute bid fee for AENS auction
|
|
322
|
-
* @
|
|
323
|
-
* @
|
|
324
|
-
* @param
|
|
325
|
-
* @param
|
|
326
|
-
* @param
|
|
327
|
-
* @
|
|
328
|
-
*/
|
|
329
|
-
|
|
330
|
-
export function computeBidFee(name
|
|
331
|
-
let
|
|
177
|
+
* @category AENS
|
|
178
|
+
* @param name - the AENS name to get the fee for
|
|
179
|
+
* @param options - Options
|
|
180
|
+
* @param options.startFee - Auction start fee
|
|
181
|
+
* @param options.increment - Bid multiplier(In percentage, must be between 0 and 1)
|
|
182
|
+
* @returns Bid fee
|
|
183
|
+
*/
|
|
184
|
+
|
|
185
|
+
export function computeBidFee(name) {
|
|
186
|
+
let {
|
|
187
|
+
startFee,
|
|
188
|
+
increment = NAME_FEE_BID_INCREMENT
|
|
189
|
+
} = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
332
190
|
if (!(Number(increment) === increment && increment % 1 !== 0)) throw new IllegalBidFeeError(`Increment must be float. Current increment ${increment}`);
|
|
333
|
-
if (increment < NAME_FEE_BID_INCREMENT) throw new IllegalBidFeeError(`minimum increment percentage is ${NAME_FEE_BID_INCREMENT}`);
|
|
334
|
-
|
|
191
|
+
if (increment < NAME_FEE_BID_INCREMENT) throw new IllegalBidFeeError(`minimum increment percentage is ${NAME_FEE_BID_INCREMENT}`); // FIXME: increment should be used somehow here
|
|
192
|
+
|
|
193
|
+
return ceil(new BigNumber(startFee !== null && startFee !== void 0 ? startFee : getMinimumNameFee(name)).times(new BigNumber(NAME_FEE_BID_INCREMENT).plus(1)));
|
|
335
194
|
}
|
|
336
195
|
/**
|
|
337
196
|
* Compute auction end height
|
|
338
|
-
* @
|
|
339
|
-
* @
|
|
340
|
-
* @param
|
|
341
|
-
* @
|
|
342
|
-
* @
|
|
197
|
+
* @category AENS
|
|
198
|
+
* @param name - Name to compute auction end for
|
|
199
|
+
* @param claimHeight - Auction starting height
|
|
200
|
+
* @see {@link https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L273}
|
|
201
|
+
* @returns Auction end height
|
|
343
202
|
*/
|
|
344
203
|
|
|
345
204
|
export function computeAuctionEndBlock(name, claimHeight) {
|
|
346
|
-
ensureNameValid(name);
|
|
347
205
|
const length = name.length - AENS_SUFFIX.length;
|
|
348
|
-
const h = length <= 4 &&
|
|
349
|
-
return h
|
|
206
|
+
const h = length <= 4 && 62 * NAME_BID_TIMEOUT_BLOCKS || length <= 8 && 31 * NAME_BID_TIMEOUT_BLOCKS || length <= 12 && NAME_BID_TIMEOUT_BLOCKS || 0;
|
|
207
|
+
return h + claimHeight;
|
|
350
208
|
}
|
|
351
209
|
/**
|
|
352
210
|
* Is name accept going to auction
|
|
353
|
-
* @
|
|
354
|
-
* @alias module:@aeternity/aepp-sdk/es/tx/builder/helpers
|
|
355
|
-
* @param {String} name
|
|
356
|
-
* @return {Boolean}
|
|
211
|
+
* @category AENS
|
|
357
212
|
*/
|
|
358
213
|
|
|
359
214
|
export function isAuctionName(name) {
|
|
360
|
-
ensureNameValid(name);
|
|
361
215
|
return name.length < 13 + AENS_SUFFIX.length;
|
|
362
216
|
}
|
|
363
217
|
//# sourceMappingURL=helpers.mjs.map
|