@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/es/tx/index.d.ts
CHANGED
|
@@ -1,64 +1,19 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Transaction methods
|
|
3
|
-
*
|
|
4
|
-
* This is implementation of [Tx](api/tx.md) relays
|
|
5
|
-
* the creation of transactions to {@link Node}.
|
|
6
|
-
* These methods provide ability to create native transactions.
|
|
7
|
-
*/
|
|
8
|
-
import BigNumber from 'bignumber.js';
|
|
9
|
-
import { ABI_VERSIONS, CtVersion, TxParamsCommon } from './builder/schema';
|
|
10
1
|
import { Tag } from './builder/constants';
|
|
11
2
|
import Node from '../Node';
|
|
12
3
|
import { Encoded } from '../utils/encoder';
|
|
13
4
|
import { buildTx as syncBuildTx } from './builder/index';
|
|
14
5
|
import { AE_AMOUNT_FORMATS } from '../utils/amount-formatter';
|
|
15
|
-
|
|
16
|
-
export declare type BuildTxOptions<TxType extends Tag, OmitFields extends string> = Omit<Parameters<typeof _buildTx<TxType>>[1], OmitFields>;
|
|
17
|
-
/**
|
|
18
|
-
* Validated vm/abi version or get default based on transaction type and NODE version
|
|
19
|
-
* @category transaction builder
|
|
20
|
-
* @param txType - Type of transaction
|
|
21
|
-
* @param ctVersion - Object with vm and abi version fields
|
|
22
|
-
* @returns Object with vm/abi version
|
|
23
|
-
*/
|
|
24
|
-
export declare function getVmVersion(txType: Tag.ContractCreateTx, ctVersion: Partial<CtVersion> & {
|
|
25
|
-
onNode: Node;
|
|
26
|
-
}): Promise<CtVersion>;
|
|
27
|
-
export declare function getVmVersion(txType: Tag, ctVersion: Partial<Pick<CtVersion, 'abiVersion'>> & {
|
|
28
|
-
onNode: Node;
|
|
29
|
-
}): Promise<Pick<CtVersion, 'abiVersion'>>;
|
|
6
|
+
export type BuildTxOptions<TxType extends Tag, OmitFields extends string> = Omit<Parameters<typeof _buildTx<TxType>>[1], OmitFields>;
|
|
30
7
|
/**
|
|
31
|
-
* Calculate fee, get absolute ttl (ttl + height), get account nonce
|
|
32
8
|
* @category transaction builder
|
|
33
|
-
* @param txType - Type of transaction
|
|
34
|
-
* @param params - Object which contains all tx data
|
|
35
|
-
* @returns Object with account nonce, absolute ttl and transaction fee
|
|
36
9
|
*/
|
|
37
|
-
export declare function
|
|
38
|
-
|
|
39
|
-
nonce: number;
|
|
40
|
-
}>;
|
|
41
|
-
interface PrepareTxParamsOptions extends Pick<TxParamsCommon, 'nonce' | 'ttl'> {
|
|
42
|
-
senderId: Encoded.AccountAddress;
|
|
10
|
+
export declare function _buildTx<TxType extends Tag>(txType: TxType, { denomination, absoluteTtl, strategy, onNode, ..._params }: Omit<Parameters<typeof syncBuildTx<TxType>>[0], 'tag' | 'nonce' | 'ttl'> & {
|
|
11
|
+
denomination?: AE_AMOUNT_FORMATS;
|
|
43
12
|
absoluteTtl?: boolean;
|
|
44
13
|
strategy?: 'continuity' | 'max';
|
|
45
14
|
onNode: Node;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* @category transaction builder
|
|
49
|
-
*/
|
|
50
|
-
export declare function _buildTx<TxType extends Tag>(txType: TxType, { denomination, absoluteTtl, ..._params }: Omit<Parameters<typeof syncBuildTx<TxType, 'tx'>>[0], 'fee' | 'nonce' | 'ttl' | 'ctVersion' | 'abiVersion'> & {
|
|
51
|
-
onNode: Node;
|
|
52
|
-
fee?: Int;
|
|
53
|
-
nonce?: number;
|
|
54
15
|
ttl?: number;
|
|
55
|
-
|
|
56
|
-
absoluteTtl?: boolean;
|
|
16
|
+
nonce?: number;
|
|
57
17
|
} & (TxType extends Tag.OracleExtendTx | Tag.OracleResponseTx ? {
|
|
58
18
|
callerId: Encoded.AccountAddress;
|
|
59
|
-
} : {}) & (TxType extends Tag.ContractCreateTx | Tag.GaAttachTx ? {
|
|
60
|
-
ctVersion?: CtVersion;
|
|
61
|
-
} : {}) & (TxType extends Tag.ContractCallTx | Tag.OracleRegisterTx ? {
|
|
62
|
-
abiVersion?: ABI_VERSIONS;
|
|
63
19
|
} : {})): Promise<Encoded.Transaction>;
|
|
64
|
-
export {};
|
package/es/tx/index.mjs
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import _includesInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/includes";
|
|
2
|
-
|
|
3
1
|
/*
|
|
4
2
|
* ISC License (ISC)
|
|
5
3
|
* Copyright (c) 2022 aeternity developers
|
|
@@ -16,7 +14,6 @@ import _includesInstanceProperty from "@babel/runtime-corejs3/core-js-stable/ins
|
|
|
16
14
|
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
17
15
|
* PERFORMANCE OF THIS SOFTWARE.
|
|
18
16
|
*/
|
|
19
|
-
|
|
20
17
|
/**
|
|
21
18
|
* Transaction methods
|
|
22
19
|
*
|
|
@@ -24,99 +21,32 @@ import _includesInstanceProperty from "@babel/runtime-corejs3/core-js-stable/ins
|
|
|
24
21
|
* the creation of transactions to {@link Node}.
|
|
25
22
|
* These methods provide ability to create native transactions.
|
|
26
23
|
*/
|
|
27
|
-
import {
|
|
28
|
-
import { Tag } from "./builder/constants.mjs";
|
|
29
|
-
import { ArgumentError,
|
|
24
|
+
import { TX_TTL } from "./builder/schema.mjs";
|
|
25
|
+
import { ConsensusProtocolVersion, Tag } from "./builder/constants.mjs";
|
|
26
|
+
import { ArgumentError, InvalidTxParamsError } from "../utils/errors.mjs";
|
|
30
27
|
import { buildTx as syncBuildTx, unpackTx } from "./builder/index.mjs";
|
|
31
|
-
import {
|
|
32
|
-
export async function getVmVersion(txType, _ref) {
|
|
33
|
-
var _abiVersion, _vmVersion;
|
|
34
|
-
|
|
35
|
-
let {
|
|
36
|
-
vmVersion,
|
|
37
|
-
abiVersion,
|
|
38
|
-
onNode
|
|
39
|
-
} = _ref;
|
|
40
|
-
const {
|
|
41
|
-
consensusProtocolVersion
|
|
42
|
-
} = await onNode.getNodeInfo();
|
|
43
|
-
|
|
44
|
-
if (!isKeyOfObject(consensusProtocolVersion, PROTOCOL_VM_ABI)) {
|
|
45
|
-
throw new UnsupportedProtocolError('Not supported consensus protocol version');
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
const supportedProtocol = PROTOCOL_VM_ABI[consensusProtocolVersion];
|
|
49
|
-
|
|
50
|
-
if (!isKeyOfObject(txType, supportedProtocol)) {
|
|
51
|
-
throw new UnknownTxError('Not supported tx type');
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
const protocolForTX = supportedProtocol[txType];
|
|
55
|
-
(_abiVersion = abiVersion) !== null && _abiVersion !== void 0 ? _abiVersion : abiVersion = protocolForTX.abiVersion[0];
|
|
56
|
-
(_vmVersion = vmVersion) !== null && _vmVersion !== void 0 ? _vmVersion : vmVersion = protocolForTX.vmVersion[0];
|
|
57
|
-
return {
|
|
58
|
-
vmVersion,
|
|
59
|
-
abiVersion
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Calculate fee, get absolute ttl (ttl + height), get account nonce
|
|
64
|
-
* @category transaction builder
|
|
65
|
-
* @param txType - Type of transaction
|
|
66
|
-
* @param params - Object which contains all tx data
|
|
67
|
-
* @returns Object with account nonce, absolute ttl and transaction fee
|
|
68
|
-
*/
|
|
69
|
-
|
|
70
|
-
export async function prepareTxParams(txType, _ref2) {
|
|
71
|
-
var _nonce;
|
|
72
|
-
|
|
73
|
-
let {
|
|
74
|
-
senderId,
|
|
75
|
-
nonce,
|
|
76
|
-
ttl = TX_TTL,
|
|
77
|
-
absoluteTtl,
|
|
78
|
-
strategy,
|
|
79
|
-
onNode
|
|
80
|
-
} = _ref2;
|
|
81
|
-
(_nonce = nonce) !== null && _nonce !== void 0 ? _nonce : nonce = (await onNode.getAccountNextNonce(senderId, {
|
|
82
|
-
strategy
|
|
83
|
-
}).catch(() => ({
|
|
84
|
-
nextNonce: 1
|
|
85
|
-
}))).nextNonce;
|
|
86
|
-
|
|
87
|
-
if (ttl !== 0) {
|
|
88
|
-
if (ttl < 0) throw new ArgumentError('ttl', 'greater or equal to 0', ttl);
|
|
89
|
-
ttl += absoluteTtl === true ? 0 : (await onNode.getCurrentKeyBlock()).height;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
return {
|
|
93
|
-
ttl,
|
|
94
|
-
nonce
|
|
95
|
-
};
|
|
96
|
-
}
|
|
28
|
+
import { isAccountNotFoundError } from "../utils/other.mjs";
|
|
97
29
|
// TODO: find a better name or rearrange methods
|
|
98
|
-
|
|
99
30
|
/**
|
|
100
31
|
* @category transaction builder
|
|
101
32
|
*/
|
|
102
|
-
export async function _buildTx(txType,
|
|
103
|
-
var
|
|
104
|
-
|
|
33
|
+
export async function _buildTx(txType, _ref) {
|
|
34
|
+
var _params$nonce, _params$ttl;
|
|
105
35
|
let {
|
|
106
36
|
denomination,
|
|
107
37
|
absoluteTtl,
|
|
38
|
+
strategy,
|
|
39
|
+
onNode,
|
|
108
40
|
..._params
|
|
109
|
-
} =
|
|
41
|
+
} = _ref;
|
|
110
42
|
// TODO: avoid this assertion
|
|
111
43
|
const params = _params;
|
|
112
44
|
let senderKey;
|
|
113
|
-
|
|
114
45
|
switch (txType) {
|
|
115
46
|
case Tag.SpendTx:
|
|
116
47
|
case Tag.OracleQueryTx:
|
|
117
48
|
senderKey = 'senderId';
|
|
118
49
|
break;
|
|
119
|
-
|
|
120
50
|
case Tag.NameClaimTx:
|
|
121
51
|
case Tag.NameUpdateTx:
|
|
122
52
|
case Tag.NameRevokeTx:
|
|
@@ -125,65 +55,61 @@ export async function _buildTx(txType, _ref3) {
|
|
|
125
55
|
case Tag.OracleRegisterTx:
|
|
126
56
|
senderKey = 'accountId';
|
|
127
57
|
break;
|
|
128
|
-
|
|
129
58
|
case Tag.ContractCreateTx:
|
|
130
59
|
case Tag.GaAttachTx:
|
|
131
60
|
senderKey = 'ownerId';
|
|
132
61
|
break;
|
|
133
|
-
|
|
62
|
+
case Tag.GaMetaTx:
|
|
63
|
+
senderKey = 'gaId';
|
|
64
|
+
break;
|
|
134
65
|
case Tag.ContractCallTx:
|
|
135
66
|
case Tag.OracleExtendTx:
|
|
136
67
|
case Tag.OracleResponseTx:
|
|
137
68
|
senderKey = 'callerId';
|
|
138
69
|
break;
|
|
139
|
-
|
|
140
70
|
case Tag.ChannelCloseSoloTx:
|
|
141
71
|
case Tag.ChannelSlashTx:
|
|
142
72
|
case Tag.ChannelSettleTx:
|
|
143
73
|
case Tag.ChannelSnapshotSoloTx:
|
|
144
74
|
senderKey = 'fromId';
|
|
145
75
|
break;
|
|
146
|
-
|
|
147
76
|
case Tag.PayingForTx:
|
|
148
77
|
senderKey = 'payerId';
|
|
149
78
|
break;
|
|
150
|
-
|
|
151
79
|
default:
|
|
152
80
|
throw new ArgumentError('txType', 'valid transaction type', txType);
|
|
153
|
-
} // TODO: move specific cases to field-types
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
if (_includesInstanceProperty(_context = [Tag.ContractCreateTx, Tag.GaAttachTx]).call(_context, txType)) {
|
|
157
|
-
params.ctVersion = await getVmVersion(Tag.ContractCreateTx, { ...params,
|
|
158
|
-
...params.ctVersion
|
|
159
|
-
});
|
|
160
81
|
}
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
82
|
+
if (Object.keys(ConsensusProtocolVersion).length !== 2 && ((Tag.ContractCreateTx === txType || Tag.GaAttachTx === txType) && params.ctVersion == null || (Tag.ContractCallTx === txType || Tag.GaMetaTx === txType) && params.abiVersion == null)) {
|
|
83
|
+
const {
|
|
84
|
+
consensusProtocolVersion
|
|
85
|
+
} = await onNode.getNodeInfo();
|
|
86
|
+
// @ts-expect-error remove after fixing buildTx types
|
|
87
|
+
params.consensusProtocolVersion = consensusProtocolVersion;
|
|
164
88
|
}
|
|
165
|
-
|
|
166
|
-
if (txType === Tag.OracleRegisterTx) {
|
|
167
|
-
var _params$abiVersion;
|
|
168
|
-
|
|
169
|
-
(_params$abiVersion = params.abiVersion) !== null && _params$abiVersion !== void 0 ? _params$abiVersion : params.abiVersion = ABI_VERSIONS.NO_ABI;
|
|
170
|
-
}
|
|
171
|
-
|
|
172
89
|
if (txType === Tag.PayingForTx) {
|
|
173
90
|
params.tx = unpackTx(params.tx);
|
|
174
91
|
}
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
92
|
+
const senderId = params[senderKey];
|
|
93
|
+
// TODO: do this check on TypeScript level
|
|
178
94
|
if (senderId == null) throw new InvalidTxParamsError(`Transaction field ${senderKey} is missed`);
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
95
|
+
(_params$nonce = params.nonce) !== null && _params$nonce !== void 0 ? _params$nonce : params.nonce = (await onNode.getAccountNextNonce(senderId, {
|
|
96
|
+
strategy
|
|
97
|
+
}).catch(error => {
|
|
98
|
+
if (!isAccountNotFoundError(error)) throw error;
|
|
99
|
+
return {
|
|
100
|
+
nextNonce: 1
|
|
101
|
+
};
|
|
102
|
+
})).nextNonce;
|
|
103
|
+
(_params$ttl = params.ttl) !== null && _params$ttl !== void 0 ? _params$ttl : params.ttl = TX_TTL;
|
|
104
|
+
if (params.ttl !== 0) {
|
|
105
|
+
if (params.ttl < 0) throw new ArgumentError('ttl', 'greater or equal to 0', params.ttl);
|
|
106
|
+
params.ttl += absoluteTtl === true ? 0 : (await onNode.getCurrentKeyBlock()).height;
|
|
107
|
+
}
|
|
108
|
+
return syncBuildTx({
|
|
109
|
+
...params,
|
|
110
|
+
tag: txType
|
|
111
|
+
}, {
|
|
186
112
|
denomination
|
|
187
|
-
})
|
|
113
|
+
});
|
|
188
114
|
}
|
|
189
115
|
//# sourceMappingURL=index.mjs.map
|
package/es/tx/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["ABI_VERSIONS","PROTOCOL_VM_ABI","TX_TTL","Tag","ArgumentError","UnsupportedProtocolError","UnknownTxError","InvalidTxParamsError","buildTx","syncBuildTx","unpackTx","isKeyOfObject","getVmVersion","txType","vmVersion","abiVersion","onNode","consensusProtocolVersion","getNodeInfo","supportedProtocol","protocolForTX","prepareTxParams","senderId","nonce","ttl","absoluteTtl","strategy","getAccountNextNonce","catch","nextNonce","getCurrentKeyBlock","height","_buildTx","denomination","_params","params","senderKey","SpendTx","OracleQueryTx","NameClaimTx","NameUpdateTx","NameRevokeTx","NameTransferTx","NamePreclaimTx","OracleRegisterTx","ContractCreateTx","GaAttachTx","ContractCallTx","OracleExtendTx","OracleResponseTx","ChannelCloseSoloTx","ChannelSlashTx","ChannelSettleTx","ChannelSnapshotSoloTx","PayingForTx","ctVersion","NO_ABI","tx","extraParams"],"sources":["../../src/tx/index.ts"],"sourcesContent":["/*\n * ISC License (ISC)\n * Copyright (c) 2022 aeternity developers\n *\n * Permission to use, copy, modify, and/or distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n * PERFORMANCE OF THIS SOFTWARE.\n */\n\n/**\n * Transaction methods\n *\n * This is implementation of [Tx](api/tx.md) relays\n * the creation of transactions to {@link Node}.\n * These methods provide ability to create native transactions.\n */\nimport BigNumber from 'bignumber.js';\nimport {\n ABI_VERSIONS, CtVersion, PROTOCOL_VM_ABI, TX_TTL, TxParamsCommon,\n} from './builder/schema';\nimport { Tag } from './builder/constants';\nimport {\n ArgumentError, UnsupportedProtocolError, UnknownTxError, InvalidTxParamsError,\n} from '../utils/errors';\nimport Node from '../Node';\nimport { Encoded } from '../utils/encoder';\nimport { buildTx as syncBuildTx, unpackTx } from './builder/index';\nimport { isKeyOfObject } from '../utils/other';\nimport { AE_AMOUNT_FORMATS } from '../utils/amount-formatter';\n\ntype Int = number | string | BigNumber;\n\nexport type BuildTxOptions <TxType extends Tag, OmitFields extends string> =\n Omit<Parameters<typeof _buildTx<TxType>>[1], OmitFields>;\n\n/**\n * Validated vm/abi version or get default based on transaction type and NODE version\n * @category transaction builder\n * @param txType - Type of transaction\n * @param ctVersion - Object with vm and abi version fields\n * @returns Object with vm/abi version\n */\nexport async function getVmVersion(\n txType: Tag.ContractCreateTx, ctVersion: Partial<CtVersion> & { onNode: Node }\n): Promise<CtVersion>;\nexport async function getVmVersion(\n txType: Tag, ctVersion: Partial<Pick<CtVersion, 'abiVersion'>> & { onNode: Node }\n): Promise<Pick<CtVersion, 'abiVersion'>>;\nexport async function getVmVersion(\n txType: Tag,\n { vmVersion, abiVersion, onNode }: Partial<CtVersion> & { onNode: Node },\n): Promise<Partial<CtVersion>> {\n const { consensusProtocolVersion } = await onNode.getNodeInfo();\n if (!isKeyOfObject(consensusProtocolVersion, PROTOCOL_VM_ABI)) {\n throw new UnsupportedProtocolError('Not supported consensus protocol version');\n }\n const supportedProtocol = PROTOCOL_VM_ABI[consensusProtocolVersion];\n if (!isKeyOfObject(txType, supportedProtocol)) {\n throw new UnknownTxError('Not supported tx type');\n }\n const protocolForTX = supportedProtocol[txType];\n abiVersion ??= protocolForTX.abiVersion[0];\n vmVersion ??= protocolForTX.vmVersion[0];\n return { vmVersion, abiVersion };\n}\n\n/**\n * Calculate fee, get absolute ttl (ttl + height), get account nonce\n * @category transaction builder\n * @param txType - Type of transaction\n * @param params - Object which contains all tx data\n * @returns Object with account nonce, absolute ttl and transaction fee\n */\nexport async function prepareTxParams(\n txType: Tag,\n {\n senderId,\n nonce,\n ttl = TX_TTL,\n absoluteTtl,\n strategy,\n onNode,\n }: PrepareTxParamsOptions,\n): Promise<{ ttl: number; nonce: number }> {\n nonce ??= (\n await onNode.getAccountNextNonce(senderId, { strategy }).catch(() => ({ nextNonce: 1 }))\n ).nextNonce;\n\n if (ttl !== 0) {\n if (ttl < 0) throw new ArgumentError('ttl', 'greater or equal to 0', ttl);\n ttl += absoluteTtl === true ? 0 : (await onNode.getCurrentKeyBlock()).height;\n }\n\n return { ttl, nonce };\n}\n\ninterface PrepareTxParamsOptions extends Pick<TxParamsCommon, 'nonce' | 'ttl'> {\n senderId: Encoded.AccountAddress;\n absoluteTtl?: boolean;\n strategy?: 'continuity' | 'max';\n onNode: Node;\n}\n\n// TODO: find a better name or rearrange methods\n/**\n * @category transaction builder\n */\nexport async function _buildTx<TxType extends Tag>(\n txType: TxType,\n { denomination, absoluteTtl, ..._params }:\n Omit<Parameters<typeof syncBuildTx<TxType, 'tx'>>[0], 'fee' | 'nonce' | 'ttl' | 'ctVersion' | 'abiVersion'>\n & {\n onNode: Node;\n fee?: Int;\n nonce?: number;\n ttl?: number;\n denomination?: AE_AMOUNT_FORMATS;\n absoluteTtl?: boolean;\n }\n & (TxType extends Tag.OracleExtendTx | Tag.OracleResponseTx\n ? { callerId: Encoded.AccountAddress } : {})\n & (TxType extends Tag.ContractCreateTx | Tag.GaAttachTx ? { ctVersion?: CtVersion } : {})\n & (TxType extends Tag.ContractCallTx | Tag.OracleRegisterTx\n ? { abiVersion?: ABI_VERSIONS } : {}),\n): Promise<Encoded.Transaction> {\n // TODO: avoid this assertion\n const params = _params as unknown as TxParamsCommon & { onNode: Node };\n let senderKey: keyof TxParamsCommon | '<absent>';\n switch (txType) {\n case Tag.SpendTx:\n case Tag.OracleQueryTx:\n senderKey = 'senderId';\n break;\n case Tag.NameClaimTx:\n case Tag.NameUpdateTx:\n case Tag.NameRevokeTx:\n case Tag.NameTransferTx:\n case Tag.NamePreclaimTx:\n case Tag.OracleRegisterTx:\n senderKey = 'accountId';\n break;\n case Tag.ContractCreateTx:\n case Tag.GaAttachTx:\n senderKey = 'ownerId';\n break;\n case Tag.ContractCallTx:\n case Tag.OracleExtendTx:\n case Tag.OracleResponseTx:\n senderKey = 'callerId';\n break;\n case Tag.ChannelCloseSoloTx:\n case Tag.ChannelSlashTx:\n case Tag.ChannelSettleTx:\n case Tag.ChannelSnapshotSoloTx:\n senderKey = 'fromId';\n break;\n case Tag.PayingForTx:\n senderKey = 'payerId';\n break;\n default:\n throw new ArgumentError('txType', 'valid transaction type', txType);\n }\n // TODO: move specific cases to field-types\n if ([Tag.ContractCreateTx, Tag.GaAttachTx].includes(txType)) {\n params.ctVersion = await getVmVersion(\n Tag.ContractCreateTx,\n { ...params, ...params.ctVersion },\n );\n }\n if (txType === Tag.ContractCallTx) {\n params.abiVersion = (await getVmVersion(Tag.ContractCallTx, params)).abiVersion;\n }\n if (txType === Tag.OracleRegisterTx) {\n params.abiVersion ??= ABI_VERSIONS.NO_ABI;\n }\n if (txType === Tag.PayingForTx) {\n params.tx = unpackTx(params.tx);\n }\n const senderId = params[senderKey];\n // TODO: do this check on TypeScript level\n if (senderId == null) throw new InvalidTxParamsError(`Transaction field ${senderKey} is missed`);\n const extraParams = await prepareTxParams(txType, { ...params, senderId, absoluteTtl });\n return syncBuildTx({ ...params, ...extraParams } as any, txType, { denomination }).tx;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["TX_TTL","ConsensusProtocolVersion","Tag","ArgumentError","InvalidTxParamsError","buildTx","syncBuildTx","unpackTx","isAccountNotFoundError","_buildTx","txType","denomination","absoluteTtl","strategy","onNode","_params","params","senderKey","SpendTx","OracleQueryTx","NameClaimTx","NameUpdateTx","NameRevokeTx","NameTransferTx","NamePreclaimTx","OracleRegisterTx","ContractCreateTx","GaAttachTx","GaMetaTx","ContractCallTx","OracleExtendTx","OracleResponseTx","ChannelCloseSoloTx","ChannelSlashTx","ChannelSettleTx","ChannelSnapshotSoloTx","PayingForTx","Object","keys","length","ctVersion","abiVersion","consensusProtocolVersion","getNodeInfo","tx","senderId","nonce","getAccountNextNonce","catch","error","nextNonce","ttl","getCurrentKeyBlock","height","tag"],"sources":["../../src/tx/index.ts"],"sourcesContent":["/*\n * ISC License (ISC)\n * Copyright (c) 2022 aeternity developers\n *\n * Permission to use, copy, modify, and/or distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n * PERFORMANCE OF THIS SOFTWARE.\n */\n\n/**\n * Transaction methods\n *\n * This is implementation of [Tx](api/tx.md) relays\n * the creation of transactions to {@link Node}.\n * These methods provide ability to create native transactions.\n */\nimport { TX_TTL, TxParamsCommon } from './builder/schema';\nimport { ConsensusProtocolVersion, Tag } from './builder/constants';\nimport { ArgumentError, InvalidTxParamsError } from '../utils/errors';\nimport Node from '../Node';\nimport { Encoded } from '../utils/encoder';\nimport { buildTx as syncBuildTx, unpackTx } from './builder/index';\nimport { isAccountNotFoundError } from '../utils/other';\nimport { AE_AMOUNT_FORMATS } from '../utils/amount-formatter';\n\nexport type BuildTxOptions <TxType extends Tag, OmitFields extends string> =\n Omit<Parameters<typeof _buildTx<TxType>>[1], OmitFields>;\n\n// TODO: find a better name or rearrange methods\n/**\n * @category transaction builder\n */\nexport async function _buildTx<TxType extends Tag>(\n txType: TxType,\n {\n denomination, absoluteTtl, strategy, onNode, ..._params\n }: Omit<Parameters<typeof syncBuildTx<TxType>>[0], 'tag' | 'nonce' | 'ttl'>\n & {\n denomination?: AE_AMOUNT_FORMATS;\n absoluteTtl?: boolean;\n strategy?: 'continuity' | 'max';\n onNode: Node;\n ttl?: number;\n nonce?: number;\n }\n & (TxType extends Tag.OracleExtendTx | Tag.OracleResponseTx\n ? { callerId: Encoded.AccountAddress } : {}),\n): Promise<Encoded.Transaction> {\n // TODO: avoid this assertion\n const params = _params as unknown as TxParamsCommon & { onNode: Node };\n let senderKey: keyof TxParamsCommon | '<absent>';\n switch (txType) {\n case Tag.SpendTx:\n case Tag.OracleQueryTx:\n senderKey = 'senderId';\n break;\n case Tag.NameClaimTx:\n case Tag.NameUpdateTx:\n case Tag.NameRevokeTx:\n case Tag.NameTransferTx:\n case Tag.NamePreclaimTx:\n case Tag.OracleRegisterTx:\n senderKey = 'accountId';\n break;\n case Tag.ContractCreateTx:\n case Tag.GaAttachTx:\n senderKey = 'ownerId';\n break;\n case Tag.GaMetaTx:\n senderKey = 'gaId';\n break;\n case Tag.ContractCallTx:\n case Tag.OracleExtendTx:\n case Tag.OracleResponseTx:\n senderKey = 'callerId';\n break;\n case Tag.ChannelCloseSoloTx:\n case Tag.ChannelSlashTx:\n case Tag.ChannelSettleTx:\n case Tag.ChannelSnapshotSoloTx:\n senderKey = 'fromId';\n break;\n case Tag.PayingForTx:\n senderKey = 'payerId';\n break;\n default:\n throw new ArgumentError('txType', 'valid transaction type', txType);\n }\n\n if (\n Object.keys(ConsensusProtocolVersion).length !== 2\n && (((Tag.ContractCreateTx === txType || Tag.GaAttachTx === txType) && params.ctVersion == null)\n || ((Tag.ContractCallTx === txType || Tag.GaMetaTx === txType) && params.abiVersion == null))\n ) {\n const { consensusProtocolVersion } = await onNode.getNodeInfo();\n // @ts-expect-error remove after fixing buildTx types\n params.consensusProtocolVersion = consensusProtocolVersion;\n }\n\n if (txType === Tag.PayingForTx) {\n params.tx = unpackTx(params.tx);\n }\n const senderId = params[senderKey];\n // TODO: do this check on TypeScript level\n if (senderId == null) throw new InvalidTxParamsError(`Transaction field ${senderKey} is missed`);\n\n params.nonce ??= (\n await onNode.getAccountNextNonce(senderId, { strategy }).catch((error) => {\n if (!isAccountNotFoundError(error)) throw error;\n return { nextNonce: 1 };\n })\n ).nextNonce;\n\n params.ttl ??= TX_TTL;\n if (params.ttl !== 0) {\n if (params.ttl < 0) throw new ArgumentError('ttl', 'greater or equal to 0', params.ttl);\n params.ttl += absoluteTtl === true ? 0 : (await onNode.getCurrentKeyBlock()).height;\n }\n\n return syncBuildTx({ ...params, tag: txType } as any, { denomination });\n}\n"],"mappings":"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"}
|
package/es/tx/validator.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Encoded } from '../utils/encoder';
|
|
1
|
+
import { unpackTx } from './builder';
|
|
3
2
|
import Node from '../Node';
|
|
4
3
|
export interface ValidatorResult {
|
|
5
4
|
message: string;
|
|
@@ -8,13 +7,12 @@ export interface ValidatorResult {
|
|
|
8
7
|
}
|
|
9
8
|
/**
|
|
10
9
|
* Transaction Validator
|
|
11
|
-
* This function validates some
|
|
10
|
+
* This function validates some transaction properties,
|
|
12
11
|
* to make sure it can be posted it to the chain
|
|
13
12
|
* @category transaction builder
|
|
14
13
|
* @param transaction - Base64Check-encoded transaction
|
|
15
|
-
* @param
|
|
16
|
-
* @param parentTxTypes - Types of parent transactions
|
|
14
|
+
* @param nodeNotCached - Node to validate transaction against
|
|
17
15
|
* @returns Array with verification errors
|
|
18
16
|
* @example const errors = await verifyTransaction(transaction, node)
|
|
19
17
|
*/
|
|
20
|
-
export default function verifyTransaction(transaction:
|
|
18
|
+
export default function verifyTransaction(transaction: Parameters<typeof unpackTx>[0], nodeNotCached: Node): Promise<ValidatorResult[]>;
|