@aeternity/aepp-sdk 12.1.3 → 13.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/aesophia_cli +0 -0
- package/dist/aepp-sdk.browser-script.js +1 -1
- package/dist/aepp-sdk.browser-script.js.map +1 -1
- package/dist/aepp-sdk.browser.js +1 -1
- package/dist/aepp-sdk.browser.js.map +1 -1
- package/dist/aepp-sdk.js +12031 -11231
- package/dist/aepp-sdk.js.map +1 -1
- package/es/AeSdk.d.ts +7 -3
- package/es/AeSdk.mjs +17 -22
- package/es/AeSdk.mjs.map +1 -1
- package/es/AeSdkAepp.d.ts +6 -5
- package/es/AeSdkAepp.mjs +7 -30
- package/es/AeSdkAepp.mjs.map +1 -1
- package/es/AeSdkBase.d.ts +18 -140
- package/es/AeSdkBase.mjs +30 -184
- package/es/AeSdkBase.mjs.map +1 -1
- package/es/AeSdkMethods.d.ts +123 -0
- package/es/AeSdkMethods.mjs +122 -0
- package/es/AeSdkMethods.mjs.map +1 -0
- package/es/AeSdkWallet.d.ts +7 -21
- package/es/AeSdkWallet.mjs +38 -86
- package/es/AeSdkWallet.mjs.map +1 -1
- package/es/Node.d.ts +11 -15
- package/es/Node.mjs +35 -48
- package/es/Node.mjs.map +1 -1
- package/es/account/Base.d.ts +24 -40
- package/es/account/Base.mjs +1 -101
- package/es/account/Base.mjs.map +1 -1
- package/es/account/Generalized.d.ts +16 -0
- package/es/account/Generalized.mjs +113 -0
- package/es/account/Generalized.mjs.map +1 -0
- package/es/account/Ledger.d.ts +28 -0
- package/es/account/Ledger.mjs +102 -0
- package/es/account/Ledger.mjs.map +1 -0
- package/es/account/LedgerFactory.d.ts +39 -0
- package/es/account/LedgerFactory.mjs +81 -0
- package/es/account/LedgerFactory.mjs.map +1 -0
- package/es/account/Memory.d.ts +13 -17
- package/es/account/Memory.mjs +43 -64
- package/es/account/Memory.mjs.map +1 -1
- package/es/account/Rpc.d.ts +6 -8
- package/es/account/Rpc.mjs +14 -32
- package/es/account/Rpc.mjs.map +1 -1
- package/es/aens.d.ts +4 -4
- package/es/aens.mjs +46 -41
- package/es/aens.mjs.map +1 -1
- package/es/aepp-wallet-communication/connection/Browser.mjs +9 -13
- package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -1
- package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +1 -0
- package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +22 -11
- package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -1
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +1 -1
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +0 -31
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -1
- package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -1
- package/es/aepp-wallet-communication/rpc/RpcClient.d.ts +3 -3
- package/es/aepp-wallet-communication/rpc/RpcClient.mjs +5 -42
- package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -1
- package/es/aepp-wallet-communication/rpc/types.d.ts +7 -1
- package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -1
- package/es/aepp-wallet-communication/schema.mjs +14 -68
- package/es/aepp-wallet-communication/schema.mjs.map +1 -1
- package/es/aepp-wallet-communication/wallet-detector.mjs +0 -3
- package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -1
- package/es/apis/compiler/compiler.d.ts +23 -29
- package/es/apis/compiler/compiler.mjs +128 -189
- package/es/apis/compiler/compiler.mjs.map +1 -1
- package/es/apis/compiler/index.mjs.map +1 -1
- package/es/apis/compiler/models/index.d.ts +82 -135
- package/es/apis/compiler/models/index.mjs +1 -47
- package/es/apis/compiler/models/index.mjs.map +1 -1
- package/es/apis/compiler/models/mappers.d.ts +8 -8
- package/es/apis/compiler/models/mappers.mjs +165 -183
- package/es/apis/compiler/models/mappers.mjs.map +1 -1
- package/es/apis/compiler/models/parameters.d.ts +0 -1
- package/es/apis/compiler/models/parameters.mjs +5 -9
- package/es/apis/compiler/models/parameters.mjs.map +1 -1
- package/es/apis/node/index.mjs.map +1 -1
- package/es/apis/node/models/index.d.ts +48 -48
- package/es/apis/node/models/mappers.mjs +12 -6
- package/es/apis/node/models/mappers.mjs.map +1 -1
- package/es/apis/node/models/parameters.mjs.map +1 -1
- package/es/apis/node/node.mjs +43 -84
- package/es/apis/node/node.mjs.map +1 -1
- package/es/chain.d.ts +10 -2
- package/es/chain.mjs +37 -59
- package/es/chain.mjs.map +1 -1
- package/es/channel/Base.d.ts +200 -0
- package/es/channel/Base.mjs +293 -0
- package/es/channel/Base.mjs.map +1 -0
- package/es/channel/Contract.d.ts +248 -0
- package/es/channel/Contract.mjs +420 -0
- package/es/channel/Contract.mjs.map +1 -0
- package/es/channel/Spend.d.ts +219 -0
- package/es/channel/Spend.mjs +385 -0
- package/es/channel/Spend.mjs.map +1 -0
- package/es/channel/handlers.d.ts +8 -21
- package/es/channel/handlers.mjs +151 -899
- package/es/channel/handlers.mjs.map +1 -1
- package/es/channel/internal.d.ts +27 -21
- package/es/channel/internal.mjs +101 -191
- package/es/channel/internal.mjs.map +1 -1
- package/es/contract/Contract.d.ts +210 -0
- package/es/contract/Contract.mjs +551 -0
- package/es/contract/Contract.mjs.map +1 -0
- package/es/contract/compiler/Base.d.ts +81 -0
- package/es/contract/compiler/Base.mjs +5 -0
- package/es/contract/compiler/Base.mjs.map +1 -0
- package/es/contract/compiler/Cli.d.ts +23 -0
- package/es/contract/compiler/Cli.mjs +155 -0
- package/es/contract/compiler/Cli.mjs.map +1 -0
- package/es/contract/compiler/Http.d.ts +32 -0
- package/es/contract/compiler/Http.mjs +118 -0
- package/es/contract/compiler/Http.mjs.map +1 -0
- package/es/contract/compiler/HttpNode.d.ts +17 -0
- package/es/contract/compiler/HttpNode.mjs +26 -0
- package/es/contract/compiler/HttpNode.mjs.map +1 -0
- package/es/contract/compiler/getFileSystem.d.ts +6 -0
- package/es/contract/compiler/getFileSystem.mjs +40 -0
- package/es/contract/compiler/getFileSystem.mjs.map +1 -0
- package/es/contract/ga.d.ts +9 -34
- package/es/contract/ga.mjs +29 -112
- package/es/contract/ga.mjs.map +1 -1
- package/es/index-browser.d.ts +39 -0
- package/es/index-browser.mjs +55 -0
- package/es/index-browser.mjs.map +1 -0
- package/es/index.d.ts +4 -35
- package/es/index.mjs +4 -51
- package/es/index.mjs.map +1 -1
- package/es/oracle.d.ts +5 -5
- package/es/oracle.mjs +34 -40
- package/es/oracle.mjs.map +1 -1
- package/es/spend.d.ts +3 -3
- package/es/spend.mjs +18 -23
- package/es/spend.mjs.map +1 -1
- package/es/tx/builder/constants.d.ts +30 -2
- package/es/tx/builder/constants.mjs +43 -14
- package/es/tx/builder/constants.mjs.map +1 -1
- package/es/tx/builder/field-types/abi-version.d.ts +10 -0
- package/es/tx/builder/field-types/abi-version.mjs +20 -0
- package/es/tx/builder/field-types/abi-version.mjs.map +1 -0
- package/es/tx/builder/field-types/address.d.ts +14 -0
- package/es/tx/builder/field-types/address.mjs +51 -0
- package/es/tx/builder/field-types/address.mjs.map +1 -0
- package/es/tx/builder/field-types/array.d.ts +7 -0
- package/es/tx/builder/field-types/array.mjs +11 -0
- package/es/tx/builder/field-types/array.mjs.map +1 -0
- package/es/tx/builder/field-types/boolean.d.ts +6 -0
- package/es/tx/builder/field-types/boolean.mjs +13 -0
- package/es/tx/builder/field-types/boolean.mjs.map +1 -0
- package/es/tx/builder/field-types/coin-amount.d.ts +2 -3
- package/es/tx/builder/field-types/coin-amount.mjs +4 -12
- package/es/tx/builder/field-types/coin-amount.mjs.map +1 -1
- package/es/tx/builder/field-types/ct-version.d.ts +30 -0
- package/es/tx/builder/field-types/ct-version.mjs +48 -0
- package/es/tx/builder/field-types/ct-version.mjs.map +1 -0
- package/es/tx/builder/field-types/deposit.d.ts +1 -2
- package/es/tx/builder/field-types/deposit.mjs +2 -4
- package/es/tx/builder/field-types/deposit.mjs.map +1 -1
- package/es/tx/builder/field-types/encoded.d.ts +6 -0
- package/es/tx/builder/field-types/encoded.mjs +21 -0
- package/es/tx/builder/field-types/encoded.mjs.map +1 -0
- package/es/tx/builder/field-types/entry.d.ts +11 -0
- package/es/tx/builder/field-types/entry.mjs +31 -0
- package/es/tx/builder/field-types/entry.mjs.map +1 -0
- package/es/tx/builder/field-types/enumeration.d.ts +7 -0
- package/es/tx/builder/field-types/enumeration.mjs +30 -0
- package/es/tx/builder/field-types/enumeration.mjs.map +1 -0
- package/es/tx/builder/field-types/fee.d.ts +10 -15
- package/es/tx/builder/field-types/fee.mjs +31 -43
- package/es/tx/builder/field-types/fee.mjs.map +1 -1
- package/es/tx/builder/field-types/field.mjs +0 -2
- package/es/tx/builder/field-types/field.mjs.map +1 -1
- package/es/tx/builder/field-types/gas-limit.d.ts +5 -2
- package/es/tx/builder/field-types/gas-limit.mjs +12 -14
- package/es/tx/builder/field-types/gas-limit.mjs.map +1 -1
- package/es/tx/builder/field-types/gas-price.d.ts +1 -2
- package/es/tx/builder/field-types/gas-price.mjs +3 -7
- package/es/tx/builder/field-types/gas-price.mjs.map +1 -1
- package/es/tx/builder/field-types/index.d.ts +80 -30
- package/es/tx/builder/field-types/index.mjs +34 -9
- package/es/tx/builder/field-types/index.mjs.map +1 -1
- package/es/tx/builder/field-types/mptree.d.ts +37 -0
- package/es/tx/builder/field-types/mptree.mjs +268 -0
- package/es/tx/builder/field-types/mptree.mjs.map +1 -0
- package/es/tx/builder/field-types/name-fee.d.ts +1 -3
- package/es/tx/builder/field-types/name-fee.mjs +3 -5
- package/es/tx/builder/field-types/name-fee.mjs.map +1 -1
- package/es/tx/builder/field-types/name-id.d.ts +1 -4
- package/es/tx/builder/field-types/name-id.mjs +5 -10
- package/es/tx/builder/field-types/name-id.mjs.map +1 -1
- package/es/tx/builder/field-types/name.mjs +0 -2
- package/es/tx/builder/field-types/name.mjs.map +1 -1
- package/es/tx/builder/field-types/pointers.d.ts +23 -0
- package/es/tx/builder/field-types/pointers.mjs +36 -0
- package/es/tx/builder/field-types/pointers.mjs.map +1 -0
- package/es/tx/builder/field-types/raw.d.ts +6 -0
- package/es/tx/builder/field-types/raw.mjs +13 -0
- package/es/tx/builder/field-types/raw.mjs.map +1 -0
- package/es/tx/builder/field-types/short-u-int-const.d.ts +5 -0
- package/es/tx/builder/field-types/short-u-int-const.mjs +16 -0
- package/es/tx/builder/field-types/short-u-int-const.mjs.map +1 -0
- package/es/tx/builder/field-types/short-u-int.mjs +0 -2
- package/es/tx/builder/field-types/short-u-int.mjs.map +1 -1
- package/es/tx/builder/field-types/string.d.ts +6 -0
- package/es/tx/builder/field-types/string.mjs +10 -0
- package/es/tx/builder/field-types/string.mjs.map +1 -0
- package/es/tx/builder/field-types/u-int.d.ts +1 -2
- package/es/tx/builder/field-types/u-int.mjs +3 -4
- package/es/tx/builder/field-types/u-int.mjs.map +1 -1
- package/es/tx/builder/helpers.d.ts +2 -32
- package/es/tx/builder/helpers.mjs +19 -71
- package/es/tx/builder/helpers.mjs.map +1 -1
- package/es/tx/builder/index.d.ts +11 -49
- package/es/tx/builder/index.mjs +57 -337
- package/es/tx/builder/index.mjs.map +1 -1
- package/es/tx/builder/schema.d.ts +2367 -667
- package/es/tx/builder/schema.mjs +70 -145
- package/es/tx/builder/schema.mjs.map +1 -1
- package/es/tx/index.d.ts +4 -49
- package/es/tx/index.mjs +38 -112
- package/es/tx/index.mjs.map +1 -1
- package/es/tx/validator.d.ts +4 -6
- package/es/tx/validator.mjs +104 -90
- package/es/tx/validator.mjs.map +1 -1
- package/es/typings/{@aeternity__argon2-browser → @aeternity__aepp-calldata}/index.d.mjs +0 -0
- package/es/typings/@aeternity__aepp-calldata/index.d.mjs.map +1 -0
- package/es/utils/amount-formatter.mjs +4 -10
- package/es/utils/amount-formatter.mjs.map +1 -1
- package/es/utils/autorest.d.ts +1 -0
- package/es/utils/autorest.mjs +17 -19
- package/es/utils/autorest.mjs.map +1 -1
- package/es/utils/bignumber.mjs +4 -7
- package/es/utils/bignumber.mjs.map +1 -1
- package/es/utils/bytes.d.ts +0 -17
- package/es/utils/bytes.mjs +6 -35
- package/es/utils/bytes.mjs.map +1 -1
- package/es/utils/crypto.d.ts +15 -8
- package/es/utils/crypto.mjs +40 -40
- package/es/utils/crypto.mjs.map +1 -1
- package/es/utils/encoder-types.d.ts +28 -28
- package/es/utils/encoder-types.mjs +0 -1
- package/es/utils/encoder-types.mjs.map +1 -1
- package/es/utils/encoder.d.ts +0 -1
- package/es/utils/encoder.mjs +7 -15
- package/es/utils/encoder.mjs.map +1 -1
- package/es/utils/errors.d.ts +15 -14
- package/es/utils/errors.mjs +86 -172
- package/es/utils/errors.mjs.map +1 -1
- package/es/utils/hd-wallet.d.ts +27 -19
- package/es/utils/hd-wallet.mjs +42 -26
- package/es/utils/hd-wallet.mjs.map +1 -1
- package/es/utils/json-big.mjs +0 -8
- package/es/utils/json-big.mjs.map +1 -1
- package/es/utils/keystore.d.ts +2 -0
- package/es/utils/keystore.mjs +37 -36
- package/es/utils/keystore.mjs.map +1 -1
- package/es/utils/other.d.ts +4 -2
- package/es/utils/other.mjs +11 -7
- package/es/utils/other.mjs.map +1 -1
- package/es/utils/semver-satisfies.mjs +0 -3
- package/es/utils/semver-satisfies.mjs.map +1 -1
- package/es/utils/string.d.ts +0 -12
- package/es/utils/string.mjs +1 -21
- package/es/utils/string.mjs.map +1 -1
- package/package.json +98 -51
- package/src/AeSdk.ts +15 -11
- package/src/AeSdkAepp.ts +9 -7
- package/src/AeSdkBase.ts +31 -202
- package/src/AeSdkMethods.ts +169 -0
- package/src/AeSdkWallet.ts +16 -47
- package/src/Node.ts +17 -18
- package/src/account/Base.ts +29 -75
- package/src/account/Generalized.ts +98 -0
- package/src/account/Ledger.ts +131 -0
- package/src/account/LedgerFactory.ts +86 -0
- package/src/account/Memory.ts +46 -60
- package/src/account/Rpc.ts +17 -26
- package/src/aens.ts +13 -11
- package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +21 -9
- package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +3 -3
- package/src/aepp-wallet-communication/rpc/RpcClient.ts +4 -4
- package/src/aepp-wallet-communication/rpc/types.ts +11 -1
- package/src/aepp-wallet-communication/schema.ts +18 -18
- package/src/apis/compiler/code-model-v4.yaml +681 -888
- package/src/apis/compiler/compiler.ts +113 -154
- package/src/apis/compiler/models/index.ts +80 -140
- package/src/apis/compiler/models/mappers.ts +165 -183
- package/src/apis/compiler/models/parameters.ts +6 -12
- package/src/chain.ts +11 -6
- package/src/channel/Base.ts +335 -0
- package/src/channel/Contract.ts +488 -0
- package/src/channel/Spend.ts +408 -0
- package/src/channel/handlers.ts +164 -582
- package/src/channel/internal.ts +114 -143
- package/src/contract/Contract.ts +610 -0
- package/src/contract/compiler/Base.ts +94 -0
- package/src/contract/compiler/Cli.ts +134 -0
- package/src/contract/compiler/Http.ts +124 -0
- package/src/contract/compiler/HttpNode.ts +26 -0
- package/src/contract/compiler/getFileSystem.ts +42 -0
- package/src/contract/ga.ts +23 -106
- package/src/index-browser.ts +58 -0
- package/src/index.ts +4 -55
- package/src/oracle.ts +8 -8
- package/src/spend.ts +6 -14
- package/src/tx/builder/constants.ts +33 -3
- package/src/tx/builder/field-types/abi-version.ts +21 -0
- package/src/tx/builder/field-types/address.ts +62 -0
- package/src/tx/builder/field-types/array.ts +19 -0
- package/src/tx/builder/field-types/boolean.ts +9 -0
- package/src/tx/builder/field-types/coin-amount.ts +4 -9
- package/src/tx/builder/field-types/ct-version.ts +50 -0
- package/src/tx/builder/field-types/deposit.ts +1 -1
- package/src/tx/builder/field-types/encoded.ts +27 -0
- package/src/tx/builder/field-types/entry.ts +31 -0
- package/src/tx/builder/field-types/enumeration.ts +32 -0
- package/src/tx/builder/field-types/fee.ts +39 -21
- package/src/tx/builder/field-types/gas-limit.ts +13 -8
- package/src/tx/builder/field-types/gas-price.ts +0 -2
- package/src/tx/builder/field-types/index.ts +54 -15
- package/src/tx/builder/field-types/mptree.ts +242 -0
- package/src/tx/builder/field-types/name-fee.ts +2 -3
- package/src/tx/builder/field-types/name-id.ts +7 -10
- package/src/tx/builder/field-types/pointers.ts +41 -0
- package/src/tx/builder/field-types/raw.ts +9 -0
- package/src/tx/builder/field-types/short-u-int-const.ts +20 -0
- package/src/tx/builder/field-types/string.ts +11 -0
- package/src/tx/builder/field-types/u-int.ts +4 -5
- package/src/tx/builder/helpers.ts +10 -60
- package/src/tx/builder/index.ts +65 -308
- package/src/tx/builder/schema.ts +280 -341
- package/src/tx/index.ts +40 -103
- package/src/tx/validator.ts +91 -96
- package/src/typings/@aeternity__aepp-calldata/index.d.ts +20 -0
- package/src/utils/autorest.ts +16 -1
- package/src/utils/bytes.ts +6 -34
- package/src/utils/crypto.ts +23 -16
- package/src/utils/encoder.ts +0 -1
- package/src/utils/errors.ts +22 -25
- package/src/utils/hd-wallet.ts +30 -9
- package/src/utils/keystore.ts +24 -21
- package/src/utils/other.ts +16 -1
- package/src/utils/string.ts +0 -20
- package/types-legacy/ts4.2/AeSdk.d.ts +41 -0
- package/types-legacy/ts4.2/AeSdkAepp.d.ts +71 -0
- package/types-legacy/ts4.2/AeSdkBase.d.ts +91 -0
- package/types-legacy/ts4.2/AeSdkMethods.d.ts +140 -0
- package/types-legacy/ts4.2/AeSdkWallet.d.ts +90 -0
- package/types-legacy/ts4.2/Node.d.ts +78 -0
- package/types-legacy/ts4.2/account/Base.d.ts +52 -0
- package/types-legacy/ts4.2/account/Generalized.d.ts +16 -0
- package/types-legacy/ts4.2/account/Ledger.d.ts +28 -0
- package/types-legacy/ts4.2/account/LedgerFactory.d.ts +39 -0
- package/types-legacy/ts4.2/account/Memory.d.ts +22 -0
- package/types-legacy/ts4.2/account/Rpc.d.ts +25 -0
- package/types-legacy/ts4.2/aens.d.ts +222 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/connection/Browser.d.ts +33 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserRuntime.d.ts +19 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +36 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/connection-proxy.d.ts +11 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/rpc/RpcClient.d.ts +34 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/rpc/types.d.ts +83 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/schema.d.ts +133 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/wallet-detector.d.ts +25 -0
- package/types-legacy/ts4.2/apis/compiler/compiler.d.ts +86 -0
- package/types-legacy/ts4.2/apis/compiler/index.d.ts +2 -0
- package/types-legacy/ts4.2/apis/compiler/models/index.d.ts +195 -0
- package/types-legacy/ts4.2/apis/compiler/models/mappers.d.ts +23 -0
- package/types-legacy/ts4.2/apis/compiler/models/parameters.d.ts +12 -0
- package/types-legacy/ts4.2/apis/node/index.d.ts +2 -0
- package/types-legacy/ts4.2/apis/node/models/index.d.ts +1065 -0
- package/types-legacy/ts4.2/apis/node/models/mappers.d.ts +95 -0
- package/types-legacy/ts4.2/apis/node/models/parameters.d.ts +17 -0
- package/types-legacy/ts4.2/apis/node/node.d.ts +215 -0
- package/types-legacy/ts4.2/chain.d.ts +256 -0
- package/types-legacy/ts4.2/channel/Base.d.ts +199 -0
- package/types-legacy/ts4.2/channel/Contract.d.ts +248 -0
- package/types-legacy/ts4.2/channel/Spend.d.ts +219 -0
- package/types-legacy/ts4.2/channel/handlers.d.ts +21 -0
- package/types-legacy/ts4.2/channel/internal.d.ts +107 -0
- package/types-legacy/ts4.2/contract/Contract.d.ts +212 -0
- package/types-legacy/ts4.2/contract/compiler/Base.d.ts +81 -0
- package/types-legacy/ts4.2/contract/compiler/Cli.d.ts +23 -0
- package/types-legacy/ts4.2/contract/compiler/Http.d.ts +32 -0
- package/types-legacy/ts4.2/contract/compiler/HttpNode.d.ts +17 -0
- package/types-legacy/ts4.2/contract/compiler/getFileSystem.d.ts +6 -0
- package/types-legacy/ts4.2/contract/ga.d.ts +44 -0
- package/types-legacy/ts4.2/globals.d.ts +16 -0
- package/types-legacy/ts4.2/index-browser.d.ts +39 -0
- package/types-legacy/ts4.2/index.d.ts +5 -0
- package/types-legacy/ts4.2/oracle.d.ts +161 -0
- package/types-legacy/ts4.2/spend.d.ts +62 -0
- package/types-legacy/ts4.2/tx/builder/constants.d.ts +98 -0
- package/types-legacy/ts4.2/tx/builder/field-types/abi-version.d.ts +10 -0
- package/types-legacy/ts4.2/tx/builder/field-types/address.d.ts +21 -0
- package/types-legacy/ts4.2/tx/builder/field-types/array.d.ts +7 -0
- package/types-legacy/ts4.2/tx/builder/field-types/boolean.d.ts +6 -0
- package/types-legacy/ts4.2/tx/builder/field-types/coin-amount.d.ts +12 -0
- package/types-legacy/ts4.2/tx/builder/field-types/ct-version.d.ts +42 -0
- package/types-legacy/ts4.2/tx/builder/field-types/deposit.d.ts +14 -0
- package/types-legacy/ts4.2/tx/builder/field-types/encoded.d.ts +6 -0
- package/types-legacy/ts4.2/tx/builder/field-types/entry.d.ts +11 -0
- package/types-legacy/ts4.2/tx/builder/field-types/enumeration.d.ts +7 -0
- package/types-legacy/ts4.2/tx/builder/field-types/fee.d.ts +20 -0
- package/types-legacy/ts4.2/tx/builder/field-types/field.d.ts +6 -0
- package/types-legacy/ts4.2/tx/builder/field-types/gas-limit.d.ts +15 -0
- package/types-legacy/ts4.2/tx/builder/field-types/gas-price.d.ts +7 -0
- package/types-legacy/ts4.2/tx/builder/field-types/index.d.ts +129 -0
- package/types-legacy/ts4.2/tx/builder/field-types/mptree.d.ts +43 -0
- package/types-legacy/ts4.2/tx/builder/field-types/name-fee.d.ts +18 -0
- package/types-legacy/ts4.2/tx/builder/field-types/name-id.d.ts +11 -0
- package/types-legacy/ts4.2/tx/builder/field-types/name.d.ts +13 -0
- package/types-legacy/ts4.2/tx/builder/field-types/pointers.d.ts +26 -0
- package/types-legacy/ts4.2/tx/builder/field-types/raw.d.ts +6 -0
- package/types-legacy/ts4.2/tx/builder/field-types/short-u-int-const.d.ts +5 -0
- package/types-legacy/ts4.2/tx/builder/field-types/short-u-int.d.ts +6 -0
- package/types-legacy/ts4.2/tx/builder/field-types/string.d.ts +6 -0
- package/types-legacy/ts4.2/tx/builder/field-types/u-int.d.ts +7 -0
- package/types-legacy/ts4.2/tx/builder/helpers.d.ts +112 -0
- package/types-legacy/ts4.2/tx/builder/index.d.ts +50 -0
- package/types-legacy/ts4.2/tx/builder/schema.d.ts +4675 -0
- package/types-legacy/ts4.2/tx/index.d.ts +19 -0
- package/types-legacy/ts4.2/tx/validator.d.ts +18 -0
- package/types-legacy/ts4.2/utils/amount-formatter.d.ts +42 -0
- package/types-legacy/ts4.2/utils/autorest.d.ts +7 -0
- package/types-legacy/ts4.2/utils/bignumber.d.ts +13 -0
- package/types-legacy/ts4.2/utils/bytes.d.ts +9 -0
- package/types-legacy/ts4.2/utils/crypto.d.ts +95 -0
- package/types-legacy/ts4.2/utils/encoder-types.d.ts +61 -0
- package/types-legacy/ts4.2/utils/encoder.d.ts +24 -0
- package/types-legacy/ts4.2/utils/errors.d.ts +475 -0
- package/types-legacy/ts4.2/utils/hd-wallet.d.ts +65 -0
- package/types-legacy/ts4.2/utils/json-big.d.ts +5 -0
- package/types-legacy/ts4.2/utils/keystore.d.ts +53 -0
- package/types-legacy/ts4.2/utils/other.d.ts +31 -0
- package/types-legacy/ts4.2/utils/semver-satisfies.d.ts +1 -0
- package/types-legacy/ts4.2/utils/string.d.ts +12 -0
- package/types-legacy/ts4.5/AeSdk.d.ts +41 -0
- package/types-legacy/ts4.5/AeSdkAepp.d.ts +71 -0
- package/types-legacy/ts4.5/AeSdkBase.d.ts +91 -0
- package/types-legacy/ts4.5/AeSdkMethods.d.ts +140 -0
- package/types-legacy/ts4.5/AeSdkWallet.d.ts +90 -0
- package/types-legacy/ts4.5/Node.d.ts +78 -0
- package/types-legacy/ts4.5/account/Base.d.ts +52 -0
- package/types-legacy/ts4.5/account/Generalized.d.ts +16 -0
- package/types-legacy/ts4.5/account/Ledger.d.ts +28 -0
- package/types-legacy/ts4.5/account/LedgerFactory.d.ts +39 -0
- package/types-legacy/ts4.5/account/Memory.d.ts +22 -0
- package/types-legacy/ts4.5/account/Rpc.d.ts +25 -0
- package/types-legacy/ts4.5/aens.d.ts +222 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/connection/Browser.d.ts +33 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserRuntime.d.ts +19 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +36 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/connection-proxy.d.ts +11 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/rpc/RpcClient.d.ts +34 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/rpc/types.d.ts +83 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/schema.d.ts +133 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/wallet-detector.d.ts +25 -0
- package/types-legacy/ts4.5/apis/compiler/compiler.d.ts +86 -0
- package/types-legacy/ts4.5/apis/compiler/index.d.ts +2 -0
- package/types-legacy/ts4.5/apis/compiler/models/index.d.ts +195 -0
- package/types-legacy/ts4.5/apis/compiler/models/mappers.d.ts +23 -0
- package/types-legacy/ts4.5/apis/compiler/models/parameters.d.ts +12 -0
- package/types-legacy/ts4.5/apis/node/index.d.ts +2 -0
- package/types-legacy/ts4.5/apis/node/models/index.d.ts +1065 -0
- package/types-legacy/ts4.5/apis/node/models/mappers.d.ts +95 -0
- package/types-legacy/ts4.5/apis/node/models/parameters.d.ts +17 -0
- package/types-legacy/ts4.5/apis/node/node.d.ts +215 -0
- package/types-legacy/ts4.5/chain.d.ts +256 -0
- package/types-legacy/ts4.5/channel/Base.d.ts +199 -0
- package/types-legacy/ts4.5/channel/Contract.d.ts +248 -0
- package/types-legacy/ts4.5/channel/Spend.d.ts +219 -0
- package/types-legacy/ts4.5/channel/handlers.d.ts +21 -0
- package/types-legacy/ts4.5/channel/internal.d.ts +107 -0
- package/types-legacy/ts4.5/contract/Contract.d.ts +212 -0
- package/types-legacy/ts4.5/contract/compiler/Base.d.ts +81 -0
- package/types-legacy/ts4.5/contract/compiler/Cli.d.ts +23 -0
- package/types-legacy/ts4.5/contract/compiler/Http.d.ts +32 -0
- package/types-legacy/ts4.5/contract/compiler/HttpNode.d.ts +17 -0
- package/types-legacy/ts4.5/contract/compiler/getFileSystem.d.ts +6 -0
- package/types-legacy/ts4.5/contract/ga.d.ts +44 -0
- package/types-legacy/ts4.5/index-browser.d.ts +39 -0
- package/types-legacy/ts4.5/index.d.ts +4 -0
- package/types-legacy/ts4.5/oracle.d.ts +161 -0
- package/types-legacy/ts4.5/spend.d.ts +62 -0
- package/types-legacy/ts4.5/tx/builder/constants.d.ts +98 -0
- package/types-legacy/ts4.5/tx/builder/field-types/abi-version.d.ts +10 -0
- package/types-legacy/ts4.5/tx/builder/field-types/address.d.ts +21 -0
- package/types-legacy/ts4.5/tx/builder/field-types/array.d.ts +7 -0
- package/types-legacy/ts4.5/tx/builder/field-types/boolean.d.ts +6 -0
- package/types-legacy/ts4.5/tx/builder/field-types/coin-amount.d.ts +12 -0
- package/types-legacy/ts4.5/tx/builder/field-types/ct-version.d.ts +42 -0
- package/types-legacy/ts4.5/tx/builder/field-types/deposit.d.ts +14 -0
- package/types-legacy/ts4.5/tx/builder/field-types/encoded.d.ts +6 -0
- package/types-legacy/ts4.5/tx/builder/field-types/entry.d.ts +11 -0
- package/types-legacy/ts4.5/tx/builder/field-types/enumeration.d.ts +7 -0
- package/types-legacy/ts4.5/tx/builder/field-types/fee.d.ts +20 -0
- package/types-legacy/ts4.5/tx/builder/field-types/field.d.ts +6 -0
- package/types-legacy/ts4.5/tx/builder/field-types/gas-limit.d.ts +15 -0
- package/types-legacy/ts4.5/tx/builder/field-types/gas-price.d.ts +7 -0
- package/types-legacy/ts4.5/tx/builder/field-types/index.d.ts +129 -0
- package/types-legacy/ts4.5/tx/builder/field-types/mptree.d.ts +43 -0
- package/types-legacy/ts4.5/tx/builder/field-types/name-fee.d.ts +18 -0
- package/types-legacy/ts4.5/tx/builder/field-types/name-id.d.ts +11 -0
- package/types-legacy/ts4.5/tx/builder/field-types/name.d.ts +13 -0
- package/types-legacy/ts4.5/tx/builder/field-types/pointers.d.ts +26 -0
- package/types-legacy/ts4.5/tx/builder/field-types/raw.d.ts +6 -0
- package/types-legacy/ts4.5/tx/builder/field-types/short-u-int-const.d.ts +5 -0
- package/types-legacy/ts4.5/tx/builder/field-types/short-u-int.d.ts +6 -0
- package/types-legacy/ts4.5/tx/builder/field-types/string.d.ts +6 -0
- package/types-legacy/ts4.5/tx/builder/field-types/u-int.d.ts +7 -0
- package/types-legacy/ts4.5/tx/builder/helpers.d.ts +112 -0
- package/types-legacy/ts4.5/tx/builder/index.d.ts +50 -0
- package/types-legacy/ts4.5/tx/builder/schema.d.ts +4675 -0
- package/types-legacy/ts4.5/tx/index.d.ts +19 -0
- package/types-legacy/ts4.5/tx/validator.d.ts +18 -0
- package/types-legacy/ts4.5/utils/amount-formatter.d.ts +42 -0
- package/types-legacy/ts4.5/utils/autorest.d.ts +7 -0
- package/types-legacy/ts4.5/utils/bignumber.d.ts +13 -0
- package/types-legacy/ts4.5/utils/bytes.d.ts +9 -0
- package/types-legacy/ts4.5/utils/crypto.d.ts +95 -0
- package/types-legacy/ts4.5/utils/encoder-types.d.ts +61 -0
- package/types-legacy/ts4.5/utils/encoder.d.ts +24 -0
- package/types-legacy/ts4.5/utils/errors.d.ts +475 -0
- package/types-legacy/ts4.5/utils/hd-wallet.d.ts +65 -0
- package/types-legacy/ts4.5/utils/json-big.d.ts +5 -0
- package/types-legacy/ts4.5/utils/keystore.d.ts +53 -0
- package/types-legacy/ts4.5/utils/other.d.ts +31 -0
- package/types-legacy/ts4.5/utils/semver-satisfies.d.ts +1 -0
- package/types-legacy/ts4.5/utils/string.d.ts +12 -0
- package/es/channel/index.d.ts +0 -625
- package/es/channel/index.mjs +0 -975
- package/es/channel/index.mjs.map +0 -1
- package/es/contract/Compiler.d.ts +0 -18
- package/es/contract/Compiler.mjs +0 -68
- package/es/contract/Compiler.mjs.map +0 -1
- package/es/contract/aci.d.ts +0 -127
- package/es/contract/aci.mjs +0 -508
- package/es/contract/aci.mjs.map +0 -1
- package/es/contract/methods.d.ts +0 -71
- package/es/contract/methods.mjs +0 -104
- package/es/contract/methods.mjs.map +0 -1
- package/es/deprecated/index.d.ts +0 -143
- package/es/deprecated/index.mjs +0 -162
- package/es/deprecated/index.mjs.map +0 -1
- package/es/deprecated/methods.d.ts +0 -18
- package/es/deprecated/methods.mjs +0 -26
- package/es/deprecated/methods.mjs.map +0 -1
- package/es/tx/builder/address.d.ts +0 -25
- package/es/tx/builder/address.mjs +0 -45
- package/es/tx/builder/address.mjs.map +0 -1
- package/es/typings/@aeternity__argon2-browser/index.d.mjs.map +0 -1
- package/es/utils/mptree.d.ts +0 -26
- package/es/utils/mptree.mjs +0 -165
- package/es/utils/mptree.mjs.map +0 -1
- package/src/channel/index.ts +0 -1025
- package/src/contract/Compiler.ts +0 -67
- package/src/contract/aci.ts +0 -537
- package/src/contract/methods.ts +0 -123
- package/src/deprecated/index.ts +0 -172
- package/src/deprecated/methods.ts +0 -25
- package/src/tx/builder/address.ts +0 -50
- package/src/typings/@aeternity__argon2-browser/index.d.ts +0 -3
- package/src/utils/mptree.ts +0 -145
package/src/oracle.ts
CHANGED
|
@@ -40,7 +40,7 @@ import { RequestTimedOutError } from './utils/errors';
|
|
|
40
40
|
import {
|
|
41
41
|
decode, encode, Encoded, Encoding,
|
|
42
42
|
} from './utils/encoder';
|
|
43
|
-
import { _getPollInterval } from './chain';
|
|
43
|
+
import { _getPollInterval, getHeight } from './chain';
|
|
44
44
|
import { _buildTx, BuildTxOptions } from './tx';
|
|
45
45
|
import Node from './Node';
|
|
46
46
|
import AccountBase from './account/Base';
|
|
@@ -106,11 +106,11 @@ export async function pollForQueryResponse(
|
|
|
106
106
|
let ttl;
|
|
107
107
|
let response;
|
|
108
108
|
do {
|
|
109
|
-
if (height != null) await pause(interval);
|
|
110
109
|
({ response, ttl } = await onNode.getOracleQueryByPubkeyAndQueryId(oracleId, queryId));
|
|
111
110
|
const responseBuffer = decode(response as Encoded.OracleResponse);
|
|
112
111
|
if (responseBuffer.length > 0) return responseBuffer.toString();
|
|
113
|
-
|
|
112
|
+
await pause(interval);
|
|
113
|
+
height = await getHeight({ onNode });
|
|
114
114
|
} while (ttl >= height);
|
|
115
115
|
throw new RequestTimedOutError(height);
|
|
116
116
|
}
|
|
@@ -169,7 +169,7 @@ export async function postQueryToOracle(
|
|
|
169
169
|
options: PostQueryToOracleOptions,
|
|
170
170
|
): Promise<Awaited<ReturnType<typeof send>> & Awaited<ReturnType<typeof getQueryObject>>> {
|
|
171
171
|
options.queryFee ??= (await options.onNode.getOracleByPubkey(oracleId)).queryFee.toString();
|
|
172
|
-
const senderId =
|
|
172
|
+
const senderId = options.onAccount.address;
|
|
173
173
|
|
|
174
174
|
const oracleQueryTx = await _buildTx(Tag.OracleQueryTx, {
|
|
175
175
|
queryTtlType: QUERY_TTL.type,
|
|
@@ -181,7 +181,7 @@ export async function postQueryToOracle(
|
|
|
181
181
|
senderId,
|
|
182
182
|
query,
|
|
183
183
|
});
|
|
184
|
-
const { nonce } = unpackTx(oracleQueryTx, Tag.OracleQueryTx)
|
|
184
|
+
const { nonce } = unpackTx(oracleQueryTx, Tag.OracleQueryTx);
|
|
185
185
|
const queryId = oracleQueryId(senderId, nonce, oracleId);
|
|
186
186
|
return {
|
|
187
187
|
...await send(oracleQueryTx, options),
|
|
@@ -219,7 +219,7 @@ export async function extendOracleTtl(
|
|
|
219
219
|
oracleTtlType: ORACLE_TTL.type,
|
|
220
220
|
oracleTtlValue: ORACLE_TTL.value,
|
|
221
221
|
...options,
|
|
222
|
-
callerId:
|
|
222
|
+
callerId: options.onAccount.address,
|
|
223
223
|
oracleId,
|
|
224
224
|
});
|
|
225
225
|
return {
|
|
@@ -256,7 +256,7 @@ export async function respondToQuery(
|
|
|
256
256
|
responseTtlType: RESPONSE_TTL.type,
|
|
257
257
|
responseTtlValue: RESPONSE_TTL.value,
|
|
258
258
|
...options,
|
|
259
|
-
callerId:
|
|
259
|
+
callerId: options.onAccount.address,
|
|
260
260
|
oracleId,
|
|
261
261
|
queryId,
|
|
262
262
|
response,
|
|
@@ -338,7 +338,7 @@ export async function registerOracle(
|
|
|
338
338
|
responseFormat: string,
|
|
339
339
|
options: RegisterOracleOptions,
|
|
340
340
|
): Promise<Awaited<ReturnType<typeof send>> & Awaited<ReturnType<typeof getOracleObject>>> {
|
|
341
|
-
const accountId =
|
|
341
|
+
const accountId = options.onAccount.address;
|
|
342
342
|
const oracleRegisterTx = await _buildTx(Tag.OracleRegisterTx, {
|
|
343
343
|
queryFee: QUERY_FEE,
|
|
344
344
|
oracleTtlValue: ORACLE_TTL.value,
|
package/src/spend.ts
CHANGED
|
@@ -15,9 +15,7 @@
|
|
|
15
15
|
* PERFORMANCE OF THIS SOFTWARE.
|
|
16
16
|
*/
|
|
17
17
|
import BigNumber from 'bignumber.js';
|
|
18
|
-
import {
|
|
19
|
-
sendTransaction, getAccount, getBalance, resolveName,
|
|
20
|
-
} from './chain';
|
|
18
|
+
import { sendTransaction, getBalance, resolveName } from './chain';
|
|
21
19
|
import { _buildTx, BuildTxOptions } from './tx';
|
|
22
20
|
import { buildTxHash, unpackTx } from './tx/builder';
|
|
23
21
|
import { ArgumentError } from './utils/errors';
|
|
@@ -38,15 +36,9 @@ export async function send(
|
|
|
38
36
|
tx: Encoded.Transaction,
|
|
39
37
|
options: SendOptions,
|
|
40
38
|
): Promise<SendReturnType> {
|
|
41
|
-
// TODO: detect authFun in AccountGa
|
|
42
|
-
const authFun = options.innerTx === true
|
|
43
|
-
? undefined
|
|
44
|
-
: (await getAccount(await options.onAccount.address(options), options)).authFun;
|
|
45
|
-
|
|
46
39
|
const signed = await options.onAccount.signTransaction(tx, {
|
|
47
40
|
...options,
|
|
48
|
-
|
|
49
|
-
networkId: (await options.onNode.getStatus()).networkId,
|
|
41
|
+
networkId: await options.onNode.getNetworkId(),
|
|
50
42
|
});
|
|
51
43
|
|
|
52
44
|
return options.innerTx === true
|
|
@@ -75,7 +67,7 @@ export async function spend(
|
|
|
75
67
|
return send(
|
|
76
68
|
await _buildTx(Tag.SpendTx, {
|
|
77
69
|
...options,
|
|
78
|
-
senderId:
|
|
70
|
+
senderId: options.onAccount.address,
|
|
79
71
|
recipientId: await resolveName<Encoding.AccountAddress>(
|
|
80
72
|
recipientIdOrName,
|
|
81
73
|
'account_pubkey',
|
|
@@ -113,12 +105,12 @@ export async function transferFunds(
|
|
|
113
105
|
'account_pubkey',
|
|
114
106
|
options,
|
|
115
107
|
);
|
|
116
|
-
const senderId =
|
|
108
|
+
const senderId = options.onAccount.address;
|
|
117
109
|
const balance = new BigNumber(
|
|
118
110
|
await getBalance.bind(options.onAccount)(senderId, options),
|
|
119
111
|
);
|
|
120
112
|
const desiredAmount = balance.times(fraction).integerValue(BigNumber.ROUND_HALF_UP);
|
|
121
|
-
const {
|
|
113
|
+
const { fee } = unpackTx(
|
|
122
114
|
await _buildTx(Tag.SpendTx, {
|
|
123
115
|
...options, senderId, recipientId, amount: desiredAmount,
|
|
124
116
|
}),
|
|
@@ -152,7 +144,7 @@ export async function payForTransaction(
|
|
|
152
144
|
return send(
|
|
153
145
|
await _buildTx(
|
|
154
146
|
Tag.PayingForTx,
|
|
155
|
-
{ ...options, payerId:
|
|
147
|
+
{ ...options, payerId: options.onAccount.address, tx: transaction },
|
|
156
148
|
),
|
|
157
149
|
options,
|
|
158
150
|
);
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import BigNumber from 'bignumber.js';
|
|
2
2
|
import { mapObject } from '../../utils/other';
|
|
3
3
|
|
|
4
|
+
export const MAX_AUTH_FUN_GAS = 50000;
|
|
5
|
+
export type Int = number | string | BigNumber;
|
|
4
6
|
// # AENS
|
|
5
7
|
export type AensName = `${string}.chain`;
|
|
6
8
|
export const NAME_TTL = 180000;
|
|
@@ -56,6 +58,34 @@ export const NAME_BID_RANGES = mapObject({
|
|
|
56
58
|
1: 5702887,
|
|
57
59
|
}, ([key, value]) => [key, new BigNumber(value).times(NAME_FEE_MULTIPLIER)]);
|
|
58
60
|
|
|
61
|
+
export enum ConsensusProtocolVersion {
|
|
62
|
+
Iris = 5,
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* @category transaction builder
|
|
67
|
+
* @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}
|
|
68
|
+
*/
|
|
69
|
+
export enum VmVersion {
|
|
70
|
+
NoVm = 0,
|
|
71
|
+
Sophia = 1,
|
|
72
|
+
SophiaImprovementsMinerva = 3,
|
|
73
|
+
SophiaImprovementsFortuna = 4,
|
|
74
|
+
Fate = 5,
|
|
75
|
+
SophiaImprovementsLima = 6,
|
|
76
|
+
Fate2 = 7,
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* @category transaction builder
|
|
81
|
+
* @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}
|
|
82
|
+
*/
|
|
83
|
+
export enum AbiVersion {
|
|
84
|
+
NoAbi = 0,
|
|
85
|
+
Sophia = 1,
|
|
86
|
+
Fate = 3,
|
|
87
|
+
}
|
|
88
|
+
|
|
59
89
|
/**
|
|
60
90
|
* Enum with tag types
|
|
61
91
|
* @category transaction builder
|
|
@@ -67,13 +97,13 @@ export enum Tag {
|
|
|
67
97
|
Account = 10,
|
|
68
98
|
SignedTx = 11,
|
|
69
99
|
SpendTx = 12,
|
|
70
|
-
|
|
100
|
+
Oracle = 20,
|
|
71
101
|
// OracleQuery = 21,
|
|
72
102
|
OracleRegisterTx = 22,
|
|
73
103
|
OracleQueryTx = 23,
|
|
74
104
|
OracleResponseTx = 24,
|
|
75
105
|
OracleExtendTx = 25,
|
|
76
|
-
|
|
106
|
+
Name = 30,
|
|
77
107
|
// NameCommitment = 31,
|
|
78
108
|
NameClaimTx = 32,
|
|
79
109
|
NamePreclaimTx = 33,
|
|
@@ -115,7 +145,7 @@ export enum Tag {
|
|
|
115
145
|
NameserviceMtree = 624,
|
|
116
146
|
OraclesMtree = 625,
|
|
117
147
|
AccountsMtree = 626,
|
|
118
|
-
CompilerSophia = 70,
|
|
148
|
+
// CompilerSophia = 70,
|
|
119
149
|
GaAttachTx = 80,
|
|
120
150
|
GaMetaTx = 81,
|
|
121
151
|
PayingForTx = 82,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Tag, ConsensusProtocolVersion, AbiVersion } from '../constants';
|
|
2
|
+
import { getProtocolDetails } from './ct-version';
|
|
3
|
+
|
|
4
|
+
export default {
|
|
5
|
+
serialize(
|
|
6
|
+
value: AbiVersion | undefined,
|
|
7
|
+
{ tag, consensusProtocolVersion = ConsensusProtocolVersion.Iris }:
|
|
8
|
+
{ tag: Tag; consensusProtocolVersion: ConsensusProtocolVersion },
|
|
9
|
+
): Buffer {
|
|
10
|
+
const result = value ?? getProtocolDetails(
|
|
11
|
+
consensusProtocolVersion,
|
|
12
|
+
Tag.ContractCallTx === tag || Tag.GaMetaTx === tag ? 'contract-call' : 'oracle-call',
|
|
13
|
+
).abiVersion;
|
|
14
|
+
|
|
15
|
+
return Buffer.from([result]);
|
|
16
|
+
},
|
|
17
|
+
|
|
18
|
+
deserialize(buffer: Buffer): AbiVersion {
|
|
19
|
+
return buffer[0];
|
|
20
|
+
},
|
|
21
|
+
};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { ArgumentError, PrefixNotFoundError, TagNotFoundError } from '../../../utils/errors';
|
|
2
|
+
import { toBytes } from '../../../utils/bytes';
|
|
3
|
+
import {
|
|
4
|
+
decode, encode, Encoded, Encoding,
|
|
5
|
+
} from '../../../utils/encoder';
|
|
6
|
+
import { isItemOfArray } from '../../../utils/other';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Map of prefix to ID tag constant
|
|
10
|
+
* @see {@link https://github.com/aeternity/protocol/blob/master/serializations.md#the-id-type}
|
|
11
|
+
* @see {@link https://github.com/aeternity/aeserialization/blob/eb68fe331bd476910394966b7f5ede7a74d37e35/src/aeser_id.erl#L97-L102}
|
|
12
|
+
* @see {@link https://github.com/aeternity/aeserialization/blob/eb68fe331bd476910394966b7f5ede7a74d37e35/src/aeser_api_encoder.erl#L163-L168}
|
|
13
|
+
*/
|
|
14
|
+
export const idTagToEncoding = [
|
|
15
|
+
Encoding.AccountAddress,
|
|
16
|
+
Encoding.Name,
|
|
17
|
+
Encoding.Commitment,
|
|
18
|
+
Encoding.OracleAddress,
|
|
19
|
+
Encoding.ContractAddress,
|
|
20
|
+
Encoding.Channel,
|
|
21
|
+
] as const;
|
|
22
|
+
|
|
23
|
+
export type AddressEncodings = typeof idTagToEncoding[number];
|
|
24
|
+
|
|
25
|
+
export default function genAddressField<Encoding extends AddressEncodings>(
|
|
26
|
+
...encodings: Encoding[]
|
|
27
|
+
): {
|
|
28
|
+
serialize: (value: Encoded.Generic<Encoding>) => Buffer;
|
|
29
|
+
deserialize: (value: Buffer) => Encoded.Generic<Encoding>;
|
|
30
|
+
} {
|
|
31
|
+
return {
|
|
32
|
+
/**
|
|
33
|
+
* Utility function to create and _id type
|
|
34
|
+
* @param hashId - Encoded hash
|
|
35
|
+
* @returns Buffer Buffer with ID tag and decoded HASh
|
|
36
|
+
*/
|
|
37
|
+
serialize(hashId) {
|
|
38
|
+
const enc = hashId.slice(0, 2);
|
|
39
|
+
if (!isItemOfArray(enc, idTagToEncoding)) throw new TagNotFoundError(enc);
|
|
40
|
+
if (!isItemOfArray(enc, encodings)) {
|
|
41
|
+
throw new ArgumentError('Address encoding', encodings.join(', '), enc);
|
|
42
|
+
}
|
|
43
|
+
const idTag = idTagToEncoding.indexOf(enc) + 1;
|
|
44
|
+
return Buffer.from([...toBytes(idTag), ...decode(hashId)]);
|
|
45
|
+
},
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Utility function to read and _id type
|
|
49
|
+
* @param buf - Data
|
|
50
|
+
* @returns Encoded hash string with prefix
|
|
51
|
+
*/
|
|
52
|
+
deserialize(buf) {
|
|
53
|
+
const idTag = Buffer.from(buf).readUIntBE(0, 1);
|
|
54
|
+
const enc = idTagToEncoding[idTag - 1];
|
|
55
|
+
if (enc == null) throw new PrefixNotFoundError(idTag);
|
|
56
|
+
if (!isItemOfArray(enc, encodings)) {
|
|
57
|
+
throw new ArgumentError('Address encoding', encodings.join(', '), enc);
|
|
58
|
+
}
|
|
59
|
+
return encode(buf.subarray(1), enc) as Encoded.Generic<Encoding>;
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export default function genArrayField<Input, Output, Binary>(
|
|
2
|
+
itemHandler: {
|
|
3
|
+
serialize: (value: Input, params: unknown) => Binary;
|
|
4
|
+
deserialize: (value: Binary, params: unknown) => Output;
|
|
5
|
+
},
|
|
6
|
+
): {
|
|
7
|
+
serialize: (value: Input[], params: unknown) => Binary[];
|
|
8
|
+
deserialize: (value: Binary[], params: unknown) => Output[];
|
|
9
|
+
} {
|
|
10
|
+
return {
|
|
11
|
+
serialize(items, params) {
|
|
12
|
+
return items.map((item) => itemHandler.serialize(item, params));
|
|
13
|
+
},
|
|
14
|
+
|
|
15
|
+
deserialize(buffers, params) {
|
|
16
|
+
return buffers.map((buffer) => itemHandler.deserialize(buffer, params));
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import uInt
|
|
1
|
+
import uInt from './u-int';
|
|
2
|
+
import { Int } from '../constants';
|
|
2
3
|
import { AE_AMOUNT_FORMATS, formatAmount } from '../../../utils/amount-formatter';
|
|
3
|
-
import { ArgumentError } from '../../../utils/errors';
|
|
4
4
|
|
|
5
5
|
export interface Options { denomination?: AE_AMOUNT_FORMATS }
|
|
6
6
|
|
|
@@ -8,11 +8,10 @@ export default {
|
|
|
8
8
|
...uInt,
|
|
9
9
|
|
|
10
10
|
serializeAettos(value: string | undefined): string {
|
|
11
|
-
|
|
12
|
-
return value;
|
|
11
|
+
return value ?? '0';
|
|
13
12
|
},
|
|
14
13
|
|
|
15
|
-
|
|
14
|
+
serialize(value: Int | undefined, { denomination, ...options }: Options): Buffer {
|
|
16
15
|
return uInt.serialize(
|
|
17
16
|
this.serializeAettos(
|
|
18
17
|
value != null ? formatAmount(value, { denomination }) : value,
|
|
@@ -20,8 +19,4 @@ export default {
|
|
|
20
19
|
),
|
|
21
20
|
);
|
|
22
21
|
},
|
|
23
|
-
|
|
24
|
-
serialize(value: Int, options: Options): Buffer {
|
|
25
|
-
return this.serializeOptional(value, options);
|
|
26
|
-
},
|
|
27
22
|
};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { ConsensusProtocolVersion, VmVersion, AbiVersion } from '../constants';
|
|
2
|
+
|
|
3
|
+
// First abi/vm by default
|
|
4
|
+
export const ProtocolToVmAbi = {
|
|
5
|
+
[ConsensusProtocolVersion.Iris]: {
|
|
6
|
+
'contract-create': {
|
|
7
|
+
vmVersion: [VmVersion.Fate2], abiVersion: [AbiVersion.Fate],
|
|
8
|
+
},
|
|
9
|
+
// TODO: Ensure that AEVM (Sophia?) is still available here
|
|
10
|
+
'contract-call': {
|
|
11
|
+
vmVersion: [], abiVersion: [AbiVersion.Fate, AbiVersion.Sophia],
|
|
12
|
+
},
|
|
13
|
+
'oracle-call': {
|
|
14
|
+
vmVersion: [], abiVersion: [AbiVersion.NoAbi, AbiVersion.Sophia],
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
} as const;
|
|
18
|
+
|
|
19
|
+
export interface CtVersion {
|
|
20
|
+
vmVersion: VmVersion;
|
|
21
|
+
abiVersion: AbiVersion;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export function getProtocolDetails(
|
|
25
|
+
protocolVersion: ConsensusProtocolVersion,
|
|
26
|
+
type: 'contract-create' | 'contract-call' | 'oracle-call',
|
|
27
|
+
): CtVersion {
|
|
28
|
+
const protocol = ProtocolToVmAbi[protocolVersion][type];
|
|
29
|
+
return {
|
|
30
|
+
vmVersion: protocol.vmVersion[0] ?? VmVersion.Fate2,
|
|
31
|
+
abiVersion: protocol.abiVersion[0],
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export default {
|
|
36
|
+
serialize(
|
|
37
|
+
value: CtVersion | undefined,
|
|
38
|
+
{ consensusProtocolVersion = ConsensusProtocolVersion.Iris }:
|
|
39
|
+
{ consensusProtocolVersion: ConsensusProtocolVersion },
|
|
40
|
+
): Buffer {
|
|
41
|
+
value ??= getProtocolDetails(consensusProtocolVersion, 'contract-create');
|
|
42
|
+
|
|
43
|
+
return Buffer.from([value.vmVersion, 0, value.abiVersion]);
|
|
44
|
+
},
|
|
45
|
+
|
|
46
|
+
deserialize(buffer: Buffer): CtVersion {
|
|
47
|
+
const [vm, , abi] = buffer;
|
|
48
|
+
return { vmVersion: +vm, abiVersion: +abi };
|
|
49
|
+
},
|
|
50
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import {
|
|
2
|
+
decode, encode, Encoded, Encoding,
|
|
3
|
+
} from '../../../utils/encoder';
|
|
4
|
+
import { ArgumentError } from '../../../utils/errors';
|
|
5
|
+
|
|
6
|
+
export default function genEncodedField<E extends Encoding, Optional extends boolean = false>(
|
|
7
|
+
encoding: E,
|
|
8
|
+
optional?: Optional,
|
|
9
|
+
): {
|
|
10
|
+
serialize: Optional extends true
|
|
11
|
+
? (value?: Encoded.Generic<E>) => Buffer : (value: Encoded.Generic<E>) => Buffer;
|
|
12
|
+
deserialize: (value: Buffer) => Encoded.Generic<Encoding>;
|
|
13
|
+
} {
|
|
14
|
+
return {
|
|
15
|
+
serialize(encodedData?: Encoded.Generic<E>) {
|
|
16
|
+
if (encodedData == null) {
|
|
17
|
+
if (optional === true) return Buffer.from([]);
|
|
18
|
+
throw new ArgumentError('Encoded data', 'provided', encodedData);
|
|
19
|
+
}
|
|
20
|
+
return decode(encodedData);
|
|
21
|
+
},
|
|
22
|
+
|
|
23
|
+
deserialize(buffer) {
|
|
24
|
+
return encode(buffer, encoding);
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { decode, encode, Encoding } from '../../../utils/encoder';
|
|
2
|
+
import { Tag } from '../constants';
|
|
3
|
+
import { ArgumentError } from '../../../utils/errors';
|
|
4
|
+
import type { unpackTx as unpackTxType, buildTx as buildTxType } from '../index';
|
|
5
|
+
|
|
6
|
+
export default function genEntryField<T extends Tag = Tag>(tag?: T): {
|
|
7
|
+
serialize: (
|
|
8
|
+
// TODO: replace with `Parameters<typeof buildTxType<T>>[0]`,
|
|
9
|
+
// but fix TS2502 value is referenced directly or indirectly in its own type annotation
|
|
10
|
+
value: any,
|
|
11
|
+
options: { buildTx: typeof buildTxType },
|
|
12
|
+
) => Buffer;
|
|
13
|
+
deserialize: (
|
|
14
|
+
value: Buffer, options: { unpackTx: typeof unpackTxType },
|
|
15
|
+
// TODO: replace with `ReturnType<typeof unpackTxType<T>>`,
|
|
16
|
+
// TS2577 Return type annotation circularly references itself
|
|
17
|
+
) => any;
|
|
18
|
+
} {
|
|
19
|
+
return {
|
|
20
|
+
serialize(txParams, { buildTx }) {
|
|
21
|
+
if (ArrayBuffer.isView(txParams)) return Buffer.from(txParams as any);
|
|
22
|
+
return decode(buildTx({ ...txParams, ...tag != null && { tag } }));
|
|
23
|
+
},
|
|
24
|
+
|
|
25
|
+
deserialize(buf, { unpackTx }) {
|
|
26
|
+
const tx = unpackTx(encode(buf, Encoding.Transaction));
|
|
27
|
+
if (tag != null && tx.tag !== tag) throw new ArgumentError('Tag', tag, tx.tag);
|
|
28
|
+
return tx;
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ArgumentError } from '../../../utils/errors';
|
|
2
|
+
import { isItemOfArray } from '../../../utils/other';
|
|
3
|
+
|
|
4
|
+
export default function genEnumerationField<
|
|
5
|
+
Enum extends { [key: string]: number | string },
|
|
6
|
+
>(enm: Enum): {
|
|
7
|
+
serialize: (value: Enum[keyof Enum]) => Buffer;
|
|
8
|
+
deserialize: (value: Buffer) => Enum[keyof Enum];
|
|
9
|
+
} {
|
|
10
|
+
const values = Object.values(enm).filter((v) => typeof v === 'number');
|
|
11
|
+
return {
|
|
12
|
+
serialize(value) {
|
|
13
|
+
if (typeof value !== 'number') throw new ArgumentError('value', 'to be a number', value);
|
|
14
|
+
if (value > 0xff) throw new ArgumentError('value', 'to be less than 256', value);
|
|
15
|
+
if (!isItemOfArray(value, values)) {
|
|
16
|
+
throw new ArgumentError('value', 'to be a value of Enum', value);
|
|
17
|
+
}
|
|
18
|
+
return Buffer.from([value]);
|
|
19
|
+
},
|
|
20
|
+
|
|
21
|
+
deserialize(buffer) {
|
|
22
|
+
if (buffer.length !== 1) {
|
|
23
|
+
throw new ArgumentError('buffer', 'to have single element', buffer.length);
|
|
24
|
+
}
|
|
25
|
+
const value = buffer[0];
|
|
26
|
+
if (!isItemOfArray(value, values)) {
|
|
27
|
+
throw new ArgumentError('value', 'to be a value of Enum', value);
|
|
28
|
+
}
|
|
29
|
+
return value as Enum[keyof Enum];
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
}
|
|
@@ -3,6 +3,8 @@ import { IllegalArgumentError } from '../../../utils/errors';
|
|
|
3
3
|
import { MIN_GAS_PRICE, Tag } from '../constants';
|
|
4
4
|
import coinAmount from './coin-amount';
|
|
5
5
|
import { isKeyOfObject } from '../../../utils/other';
|
|
6
|
+
import { decode, Encoded } from '../../../utils/encoder';
|
|
7
|
+
import type { unpackTx as unpackTxType, buildTx as buildTxType } from '../index';
|
|
6
8
|
|
|
7
9
|
const BASE_GAS = 15000;
|
|
8
10
|
const GAS_PER_BYTE = 20;
|
|
@@ -75,7 +77,7 @@ const TX_FEE_OTHER_GAS = (
|
|
|
75
77
|
}
|
|
76
78
|
};
|
|
77
79
|
|
|
78
|
-
function getOracleRelativeTtl(params: any
|
|
80
|
+
function getOracleRelativeTtl(params: any): number {
|
|
79
81
|
const ttlKeys = {
|
|
80
82
|
[Tag.OracleRegisterTx]: 'oracleTtlValue',
|
|
81
83
|
[Tag.OracleExtendTx]: 'oracleTtlValue',
|
|
@@ -83,21 +85,27 @@ function getOracleRelativeTtl(params: any, txType: Tag): number {
|
|
|
83
85
|
[Tag.OracleResponseTx]: 'responseTtlValue',
|
|
84
86
|
} as const;
|
|
85
87
|
|
|
86
|
-
|
|
87
|
-
return
|
|
88
|
+
const { tag } = params;
|
|
89
|
+
if (!isKeyOfObject(tag, ttlKeys)) return 1;
|
|
90
|
+
return params[ttlKeys[tag]];
|
|
88
91
|
}
|
|
89
92
|
|
|
90
93
|
/**
|
|
91
94
|
* Calculate fee based on tx type and params
|
|
92
95
|
*/
|
|
93
|
-
export function buildFee(
|
|
94
|
-
|
|
96
|
+
export function buildFee(
|
|
97
|
+
builtTx: Encoded.Transaction,
|
|
98
|
+
unpackTx: typeof unpackTxType,
|
|
99
|
+
buildTx: typeof buildTxType,
|
|
100
|
+
): BigNumber {
|
|
101
|
+
const { length } = decode(builtTx);
|
|
102
|
+
const txObject = unpackTx(builtTx);
|
|
95
103
|
|
|
96
|
-
return TX_FEE_BASE_GAS(
|
|
97
|
-
.plus(TX_FEE_OTHER_GAS(
|
|
98
|
-
relativeTtl: getOracleRelativeTtl(txObject
|
|
99
|
-
innerTxSize:
|
|
100
|
-
? txObject.tx.
|
|
104
|
+
return TX_FEE_BASE_GAS(txObject.tag)
|
|
105
|
+
.plus(TX_FEE_OTHER_GAS(txObject.tag, length, {
|
|
106
|
+
relativeTtl: getOracleRelativeTtl(txObject),
|
|
107
|
+
innerTxSize: txObject.tag === Tag.GaMetaTx || txObject.tag === Tag.PayingForTx
|
|
108
|
+
? decode(buildTx(txObject.tx.encodedTx)).length
|
|
101
109
|
: 0,
|
|
102
110
|
}))
|
|
103
111
|
.times(MIN_GAS_PRICE);
|
|
@@ -106,18 +114,18 @@ export function buildFee(txType: Tag, buildTx: any): BigNumber {
|
|
|
106
114
|
/**
|
|
107
115
|
* Calculate min fee
|
|
108
116
|
* @category transaction builder
|
|
109
|
-
* @param txType - Transaction type
|
|
110
117
|
* @param rebuildTx - Callback to get built transaction with specific fee
|
|
111
118
|
*/
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
119
|
+
function calculateMinFee(
|
|
120
|
+
rebuildTx: (value: BigNumber) => Encoded.Transaction,
|
|
121
|
+
unpackTx: typeof unpackTxType,
|
|
122
|
+
buildTx: typeof buildTxType,
|
|
115
123
|
): BigNumber {
|
|
116
124
|
let fee = new BigNumber(0);
|
|
117
125
|
let previousFee;
|
|
118
126
|
do {
|
|
119
127
|
previousFee = fee;
|
|
120
|
-
fee = buildFee(
|
|
128
|
+
fee = buildFee(rebuildTx(fee), unpackTx, buildTx);
|
|
121
129
|
} while (!fee.eq(previousFee));
|
|
122
130
|
return fee;
|
|
123
131
|
}
|
|
@@ -127,17 +135,27 @@ export default {
|
|
|
127
135
|
|
|
128
136
|
serializeAettos(
|
|
129
137
|
_value: string | undefined,
|
|
130
|
-
{
|
|
131
|
-
|
|
138
|
+
{
|
|
139
|
+
rebuildTx, unpackTx, buildTx, _computingMinFee, _pickBiggerFee,
|
|
140
|
+
}: {
|
|
141
|
+
rebuildTx: (params: any) => Encoded.Transaction;
|
|
142
|
+
unpackTx: typeof unpackTxType;
|
|
143
|
+
buildTx: typeof buildTxType;
|
|
144
|
+
_computingMinFee?: BigNumber;
|
|
145
|
+
_pickBiggerFee?: boolean;
|
|
146
|
+
},
|
|
132
147
|
): string {
|
|
133
|
-
if (_computingMinFee != null) return _computingMinFee;
|
|
134
|
-
const minFee = calculateMinFee(
|
|
148
|
+
if (_computingMinFee != null) return _computingMinFee.toFixed();
|
|
149
|
+
const minFee = calculateMinFee(
|
|
150
|
+
(fee) => rebuildTx({ _computingMinFee: fee }),
|
|
151
|
+
unpackTx,
|
|
152
|
+
buildTx,
|
|
153
|
+
);
|
|
135
154
|
const value = new BigNumber(_value ?? minFee);
|
|
136
155
|
if (minFee.gt(value)) {
|
|
156
|
+
if (_pickBiggerFee === true) return minFee.toFixed();
|
|
137
157
|
throw new IllegalArgumentError(`Fee ${value.toString()} must be bigger then ${minFee}`);
|
|
138
158
|
}
|
|
139
159
|
return value.toFixed();
|
|
140
160
|
},
|
|
141
|
-
|
|
142
|
-
serialize: coinAmount.serializeOptional,
|
|
143
161
|
};
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { IllegalArgumentError } from '../../../utils/errors';
|
|
2
|
-
import { MIN_GAS_PRICE, Tag } from '../constants';
|
|
2
|
+
import { MIN_GAS_PRICE, Tag, MAX_AUTH_FUN_GAS } from '../constants';
|
|
3
3
|
import shortUInt from './short-u-int';
|
|
4
4
|
import { buildFee } from './fee';
|
|
5
|
+
import type { unpackTx as unpackTxType, buildTx as buildTxType } from '../index';
|
|
5
6
|
|
|
6
7
|
function calculateGasLimitMax(
|
|
7
|
-
txType: Tag,
|
|
8
8
|
gasMax: number,
|
|
9
9
|
rebuildTx: (value: number) => any,
|
|
10
|
+
unpackTx: typeof unpackTxType,
|
|
11
|
+
buildTx: typeof buildTxType,
|
|
10
12
|
): number {
|
|
11
|
-
return gasMax - +buildFee(
|
|
13
|
+
return gasMax - +buildFee(rebuildTx(gasMax), unpackTx, buildTx).dividedBy(MIN_GAS_PRICE);
|
|
12
14
|
}
|
|
13
15
|
|
|
14
16
|
export default {
|
|
@@ -17,20 +19,23 @@ export default {
|
|
|
17
19
|
serialize(
|
|
18
20
|
_value: number | undefined,
|
|
19
21
|
{
|
|
20
|
-
|
|
22
|
+
tag, rebuildTx, unpackTx, buildTx, gasMax = 6e6, _computingGasLimit,
|
|
21
23
|
}: {
|
|
22
|
-
|
|
24
|
+
tag: Tag;
|
|
23
25
|
rebuildTx: (params: any) => any;
|
|
26
|
+
unpackTx: typeof unpackTxType;
|
|
27
|
+
buildTx: typeof buildTxType;
|
|
24
28
|
gasMax: number;
|
|
25
29
|
_computingGasLimit?: number;
|
|
26
30
|
},
|
|
27
31
|
): Buffer {
|
|
28
32
|
if (_computingGasLimit != null) return shortUInt.serialize(_computingGasLimit);
|
|
29
33
|
|
|
30
|
-
const gasLimitMax = calculateGasLimitMax(
|
|
31
|
-
txType,
|
|
34
|
+
const gasLimitMax = tag === Tag.GaMetaTx ? MAX_AUTH_FUN_GAS : calculateGasLimitMax(
|
|
32
35
|
gasMax,
|
|
33
|
-
(gasLimit) => rebuildTx({ _computingGasLimit: gasLimit }),
|
|
36
|
+
(gasLimit) => rebuildTx({ _computingGasLimit: gasLimit, _pickBiggerFee: true }),
|
|
37
|
+
unpackTx,
|
|
38
|
+
buildTx,
|
|
34
39
|
);
|
|
35
40
|
const value = _value ?? gasLimitMax;
|
|
36
41
|
if (value > gasLimitMax) {
|