@aeternity/aepp-sdk 10.0.0 → 12.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +15 -14
- package/dist/aepp-sdk.browser-script.js +1 -1
- package/dist/aepp-sdk.browser-script.js.LICENSE.txt +13 -40
- 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 +1 -1
- package/dist/aepp-sdk.js.map +1 -1
- package/es/AeSdk.d.ts +37 -0
- package/es/AeSdk.mjs +81 -0
- package/es/AeSdk.mjs.map +1 -0
- package/es/AeSdkAepp.d.ts +69 -0
- package/es/AeSdkAepp.mjs +175 -0
- package/es/AeSdkAepp.mjs.map +1 -0
- package/es/AeSdkBase.d.ts +212 -0
- package/es/AeSdkBase.mjs +310 -0
- package/es/AeSdkBase.mjs.map +1 -0
- package/es/AeSdkWallet.d.ts +103 -0
- package/es/AeSdkWallet.mjs +322 -0
- package/es/AeSdkWallet.mjs.map +1 -0
- package/es/Node.d.ts +44 -0
- package/es/Node.mjs +141 -0
- package/es/Node.mjs.map +1 -0
- package/es/account/Base.d.ts +65 -0
- package/es/account/Base.mjs +123 -0
- package/es/account/Base.mjs.map +1 -0
- package/es/account/Memory.d.ts +25 -0
- package/es/account/Memory.mjs +81 -0
- package/es/account/Memory.mjs.map +1 -0
- package/es/account/Rpc.d.ts +27 -0
- package/es/account/Rpc.mjs +79 -0
- package/es/account/Rpc.mjs.map +1 -0
- package/es/aens.d.ts +209 -0
- package/es/aens.mjs +332 -0
- package/es/aens.mjs.map +1 -0
- package/es/aepp-wallet-communication/connection/Browser.d.ts +32 -0
- package/es/aepp-wallet-communication/connection/Browser.mjs +70 -0
- package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -0
- package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +17 -0
- package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +57 -0
- package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -0
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +35 -0
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +142 -0
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -0
- package/es/aepp-wallet-communication/connection-proxy.d.ts +10 -0
- package/{src/utils/crypto-ts.ts → es/aepp-wallet-communication/connection-proxy.mjs} +15 -11
- package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -0
- package/es/aepp-wallet-communication/rpc/RpcClient.d.ts +33 -0
- package/es/aepp-wallet-communication/rpc/RpcClient.mjs +169 -0
- package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -0
- package/es/aepp-wallet-communication/rpc/types.d.ts +77 -0
- package/es/aepp-wallet-communication/rpc/types.mjs +3 -0
- package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -0
- package/es/aepp-wallet-communication/schema.d.ts +118 -0
- package/es/aepp-wallet-communication/schema.mjs +214 -0
- package/es/aepp-wallet-communication/schema.mjs.map +1 -0
- package/es/aepp-wallet-communication/wallet-detector.d.ts +24 -0
- package/es/aepp-wallet-communication/wallet-detector.mjs +63 -0
- package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -0
- package/es/apis/compiler/compiler.d.ts +92 -0
- package/es/apis/compiler/compiler.mjs +576 -0
- package/es/apis/compiler/compiler.mjs.map +1 -0
- package/es/apis/compiler/index.d.ts +2 -0
- package/es/apis/compiler/index.mjs +3 -0
- package/es/apis/compiler/index.mjs.map +1 -0
- package/es/apis/compiler/models/index.d.ts +248 -0
- package/es/apis/compiler/models/index.mjs +48 -0
- package/es/apis/compiler/models/index.mjs.map +1 -0
- package/es/apis/compiler/models/mappers.d.ts +23 -0
- package/es/apis/compiler/models/mappers.mjs +585 -0
- package/es/apis/compiler/models/mappers.mjs.map +1 -0
- package/es/apis/compiler/models/parameters.d.ts +13 -0
- package/es/apis/compiler/models/parameters.mjs +71 -0
- package/es/apis/compiler/models/parameters.mjs.map +1 -0
- package/es/apis/node/index.d.ts +2 -0
- package/es/apis/node/index.mjs +3 -0
- package/es/apis/node/index.mjs.map +1 -0
- package/es/apis/node/models/index.d.ts +1061 -0
- package/es/apis/node/models/index.mjs +2 -0
- package/es/apis/node/models/index.mjs.map +1 -0
- package/es/apis/node/models/mappers.d.ts +95 -0
- package/es/apis/node/models/mappers.mjs +4164 -0
- package/es/apis/node/models/mappers.mjs.map +1 -0
- package/es/apis/node/models/parameters.d.ts +17 -0
- package/es/apis/node/models/parameters.mjs +165 -0
- package/es/apis/node/models/parameters.mjs.map +1 -0
- package/es/apis/node/node.d.ts +215 -0
- package/es/apis/node/node.mjs +1165 -0
- package/es/apis/node/node.mjs.map +1 -0
- package/es/chain.d.ts +220 -0
- package/es/chain.mjs +524 -0
- package/es/chain.mjs.map +1 -0
- package/es/channel/handlers.d.ts +34 -0
- package/es/channel/{handlers.js → handlers.mjs} +163 -130
- package/es/channel/handlers.mjs.map +1 -0
- package/es/channel/index.d.ts +634 -0
- package/es/channel/index.mjs +978 -0
- package/es/channel/index.mjs.map +1 -0
- package/es/channel/internal.d.ts +100 -0
- package/es/channel/internal.mjs +328 -0
- package/es/channel/internal.mjs.map +1 -0
- package/es/contract/Compiler.d.ts +17 -0
- package/es/contract/Compiler.mjs +67 -0
- package/es/contract/Compiler.mjs.map +1 -0
- package/es/contract/aci.d.ts +125 -0
- package/es/contract/aci.mjs +496 -0
- package/es/contract/aci.mjs.map +1 -0
- package/es/contract/ga.d.ts +68 -0
- package/es/contract/ga.mjs +190 -0
- package/es/contract/ga.mjs.map +1 -0
- package/es/contract/methods.d.ts +68 -0
- package/es/contract/methods.mjs +101 -0
- package/es/contract/methods.mjs.map +1 -0
- package/es/index.d.ts +32 -0
- package/es/index.mjs +49 -0
- package/es/index.mjs.map +1 -0
- package/es/oracle.d.ts +154 -0
- package/es/oracle.mjs +288 -0
- package/es/oracle.mjs.map +1 -0
- package/es/spend.d.ts +61 -0
- package/es/spend.mjs +122 -0
- package/es/spend.mjs.map +1 -0
- package/es/tx/builder/constants.d.ts +41 -0
- package/es/tx/builder/constants.mjs +100 -0
- package/es/tx/builder/constants.mjs.map +1 -0
- package/es/tx/builder/field-types.d.ts +62 -0
- package/es/tx/builder/field-types.mjs +126 -0
- package/es/tx/builder/field-types.mjs.map +1 -0
- package/es/tx/builder/helpers.d.ts +131 -0
- package/es/tx/builder/helpers.mjs +223 -0
- package/es/tx/builder/helpers.mjs.map +1 -0
- package/es/tx/builder/index.d.ts +75 -0
- package/es/tx/builder/index.mjs +424 -0
- package/es/tx/builder/index.mjs.map +1 -0
- package/es/tx/builder/schema.d.ts +350 -0
- package/es/tx/builder/schema.mjs +320 -0
- package/es/tx/builder/schema.mjs.map +1 -0
- package/es/tx/index.d.ts +63 -0
- package/es/tx/index.mjs +209 -0
- package/es/tx/index.mjs.map +1 -0
- package/es/tx/min-fee.d.ts +20 -0
- package/es/tx/min-fee.mjs +148 -0
- package/es/tx/min-fee.mjs.map +1 -0
- package/es/tx/validator.d.ts +19 -0
- package/es/tx/validator.mjs +240 -0
- package/es/tx/validator.mjs.map +1 -0
- package/es/typings/@aeternity__argon2-browser/index.d.mjs +2 -0
- package/es/typings/@aeternity__argon2-browser/index.d.mjs.map +1 -0
- package/es/typings/@aeternity__uuid/index.d.mjs +2 -0
- package/es/typings/@aeternity__uuid/index.d.mjs.map +1 -0
- package/es/typings/bip32-path/index.d.mjs +2 -0
- package/es/typings/bip32-path/index.d.mjs.map +1 -0
- package/es/typings/blakejs/index.d.mjs +2 -0
- package/es/typings/blakejs/index.d.mjs.map +1 -0
- package/es/typings/tweetnacl-auth/index.d.mjs +2 -0
- package/es/typings/tweetnacl-auth/index.d.mjs.map +1 -0
- package/es/utils/amount-formatter.d.ts +42 -0
- package/es/utils/{amount-formatter.js → amount-formatter.mjs} +38 -44
- package/es/utils/amount-formatter.mjs.map +1 -0
- package/es/utils/autorest.d.ts +6 -0
- package/es/utils/autorest.mjs +97 -0
- package/es/utils/autorest.mjs.map +1 -0
- package/es/utils/bignumber.d.ts +13 -0
- package/es/utils/bignumber.mjs +23 -0
- package/es/utils/bignumber.mjs.map +1 -0
- package/es/{bytes.d.ts → utils/bytes.d.ts} +10 -13
- package/es/utils/{bytes.js → bytes.mjs} +26 -22
- package/es/utils/bytes.mjs.map +1 -0
- package/es/utils/crypto.d.ts +103 -0
- package/es/utils/crypto.mjs +221 -0
- package/es/utils/crypto.mjs.map +1 -0
- package/es/utils/encoder.d.ts +26 -0
- package/es/utils/encoder.mjs +102 -0
- package/es/utils/encoder.mjs.map +1 -0
- package/es/utils/errors.d.ts +481 -0
- package/es/utils/errors.mjs +882 -0
- package/es/utils/errors.mjs.map +1 -0
- package/es/utils/hd-wallet.d.ts +34 -0
- package/es/utils/hd-wallet.mjs +122 -0
- package/es/utils/hd-wallet.mjs.map +1 -0
- package/es/utils/json-big.d.ts +5 -0
- package/es/utils/json-big.mjs +41 -0
- package/es/utils/json-big.mjs.map +1 -0
- package/es/utils/keystore.d.ts +51 -0
- package/es/utils/keystore.mjs +145 -0
- package/es/utils/keystore.mjs.map +1 -0
- package/es/{mptree.d.ts → utils/mptree.d.ts} +5 -8
- package/es/utils/{mptree.js → mptree.mjs} +33 -25
- package/es/utils/mptree.mjs.map +1 -0
- package/es/utils/other.d.ts +14 -0
- package/es/utils/other.mjs +28 -0
- package/es/utils/other.mjs.map +1 -0
- package/es/{semver-satisfies.d.ts → utils/semver-satisfies.d.ts} +0 -0
- package/es/utils/{semver-satisfies.js → semver-satisfies.mjs} +1 -1
- package/es/utils/semver-satisfies.mjs.map +1 -0
- package/es/utils/string.d.ts +24 -0
- package/es/utils/{string.js → string.mjs} +9 -11
- package/es/utils/string.mjs.map +1 -0
- package/package.json +67 -64
- package/src/AeSdk.ts +65 -0
- package/src/AeSdkAepp.ts +167 -0
- package/src/AeSdkBase.ts +320 -0
- package/src/AeSdkWallet.ts +332 -0
- package/src/Node.ts +167 -0
- package/src/account/Base.ts +114 -0
- package/src/account/Memory.ts +83 -0
- package/src/account/Rpc.ts +67 -0
- package/src/aens.ts +391 -0
- package/src/aepp-wallet-communication/connection/Browser.ts +68 -0
- package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +58 -0
- package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +111 -0
- package/{es/utils/crypto-ts.js → src/aepp-wallet-communication/connection-proxy.ts} +16 -9
- package/src/aepp-wallet-communication/rpc/RpcClient.ts +137 -0
- package/src/aepp-wallet-communication/rpc/types.ts +66 -0
- package/src/aepp-wallet-communication/schema.ts +181 -0
- package/src/aepp-wallet-communication/wallet-detector.ts +71 -0
- package/src/apis/compiler/code-model-v4.yaml +2649 -0
- package/src/apis/compiler/compiler.ts +585 -0
- package/src/apis/compiler/index.ts +2 -0
- package/src/apis/compiler/models/index.ts +301 -0
- package/src/apis/compiler/models/mappers.ts +583 -0
- package/src/apis/compiler/models/parameters.ts +93 -0
- package/src/apis/node/code-model-v4.yaml +10046 -0
- package/src/apis/node/index.ts +2 -0
- package/src/apis/node/models/index.ts +1253 -0
- package/src/apis/node/models/mappers.ts +4278 -0
- package/src/apis/node/models/parameters.ts +188 -0
- package/src/apis/node/node.ts +1299 -0
- package/src/chain.ts +444 -0
- package/src/channel/{handlers.js → handlers.ts} +238 -143
- package/src/channel/index.ts +991 -0
- package/src/channel/internal.ts +345 -0
- package/src/contract/Compiler.ts +66 -0
- package/src/contract/aci.ts +529 -0
- package/src/contract/ga.ts +178 -0
- package/src/contract/methods.ts +118 -0
- package/src/index.ts +51 -0
- package/src/oracle.ts +342 -0
- package/src/spend.ts +152 -0
- package/src/tx/builder/constants.ts +96 -0
- package/src/tx/builder/field-types.ts +111 -0
- package/src/tx/builder/helpers.ts +253 -0
- package/src/tx/builder/index.ts +394 -0
- package/src/tx/builder/schema.ts +771 -0
- package/src/tx/index.ts +199 -0
- package/src/tx/min-fee.ts +136 -0
- package/src/tx/validator.ts +226 -0
- package/src/typings/@aeternity__argon2-browser/index.d.ts +3 -0
- package/src/typings/@aeternity__uuid/index.d.ts +3 -0
- package/src/typings/bip32-path/index.d.ts +33 -0
- package/src/typings/tweetnacl-auth/index.d.ts +14 -0
- package/src/utils/amount-formatter.ts +29 -41
- package/src/utils/autorest.ts +90 -0
- package/src/utils/bignumber.ts +9 -19
- package/src/utils/bytes.ts +15 -16
- package/src/utils/crypto.ts +217 -0
- package/src/utils/encoder.ts +98 -0
- package/src/utils/errors.ts +817 -0
- package/src/utils/hd-wallet.ts +134 -0
- package/src/utils/json-big.ts +26 -0
- package/src/utils/keystore.ts +179 -0
- package/src/utils/mptree.ts +26 -20
- package/src/utils/other.ts +28 -43
- package/src/utils/string.ts +8 -10
- package/CHANGELOG.md +0 -1603
- package/es/account/base.js +0 -169
- package/es/account/base.js.map +0 -1
- package/es/account/memory.js +0 -84
- package/es/account/memory.js.map +0 -1
- package/es/account/multiple.js +0 -178
- package/es/account/multiple.js.map +0 -1
- package/es/ae/aens.js +0 -408
- package/es/ae/aens.js.map +0 -1
- package/es/ae/aepp.js +0 -45
- package/es/ae/aepp.js.map +0 -1
- package/es/ae/contract.js +0 -312
- package/es/ae/contract.js.map +0 -1
- package/es/ae/index.js +0 -206
- package/es/ae/index.js.map +0 -1
- package/es/ae/oracle.js +0 -322
- package/es/ae/oracle.js.map +0 -1
- package/es/ae/universal.js +0 -45
- package/es/ae/universal.js.map +0 -1
- package/es/ae/wallet.js +0 -50
- package/es/ae/wallet.js.map +0 -1
- package/es/amount-formatter.d.ts +0 -58
- package/es/bignumber.d.ts +0 -24
- package/es/chain/index.js +0 -256
- package/es/chain/index.js.map +0 -1
- package/es/chain/node.js +0 -394
- package/es/chain/node.js.map +0 -1
- package/es/channel/handlers.js.map +0 -1
- package/es/channel/index.js +0 -980
- package/es/channel/index.js.map +0 -1
- package/es/channel/internal.js +0 -266
- package/es/channel/internal.js.map +0 -1
- package/es/contract/aci/helpers.js +0 -298
- package/es/contract/aci/helpers.js.map +0 -1
- package/es/contract/aci/index.js +0 -361
- package/es/contract/aci/index.js.map +0 -1
- package/es/contract/aci/transformation.js +0 -66
- package/es/contract/aci/transformation.js.map +0 -1
- package/es/contract/compiler.js +0 -244
- package/es/contract/compiler.js.map +0 -1
- package/es/contract/ga/helpers.js +0 -22
- package/es/contract/ga/helpers.js.map +0 -1
- package/es/contract/ga/index.js +0 -170
- package/es/contract/ga/index.js.map +0 -1
- package/es/contract/index.js +0 -162
- package/es/contract/index.js.map +0 -1
- package/es/crypto-ts.d.ts +0 -9
- package/es/index.js +0 -57
- package/es/index.js.map +0 -1
- package/es/node-pool/index.js +0 -187
- package/es/node-pool/index.js.map +0 -1
- package/es/node.js +0 -132
- package/es/node.js.map +0 -1
- package/es/other.d.ts +0 -31
- package/es/string.d.ts +0 -26
- package/es/tx/builder/helpers.js +0 -305
- package/es/tx/builder/helpers.js.map +0 -1
- package/es/tx/builder/index.js +0 -595
- package/es/tx/builder/index.js.map +0 -1
- package/es/tx/builder/schema.js +0 -814
- package/es/tx/builder/schema.js.map +0 -1
- package/es/tx/index.js +0 -300
- package/es/tx/index.js.map +0 -1
- package/es/tx/tx-object.js +0 -276
- package/es/tx/tx-object.js.map +0 -1
- package/es/tx/tx.js +0 -937
- package/es/tx/tx.js.map +0 -1
- package/es/tx/validator.js +0 -208
- package/es/tx/validator.js.map +0 -1
- package/es/typings/blakejs/index.d.js +0 -2
- package/es/typings/blakejs/index.d.js.map +0 -1
- package/es/utils/aepp-wallet-communication/connection/browser-runtime.js +0 -131
- package/es/utils/aepp-wallet-communication/connection/browser-runtime.js.map +0 -1
- package/es/utils/aepp-wallet-communication/connection/browser-window-message.js +0 -184
- package/es/utils/aepp-wallet-communication/connection/browser-window-message.js.map +0 -1
- package/es/utils/aepp-wallet-communication/connection/index.js +0 -84
- package/es/utils/aepp-wallet-communication/connection/index.js.map +0 -1
- package/es/utils/aepp-wallet-communication/content-script-bridge.js +0 -97
- package/es/utils/aepp-wallet-communication/content-script-bridge.js.map +0 -1
- package/es/utils/aepp-wallet-communication/helpers.js +0 -103
- package/es/utils/aepp-wallet-communication/helpers.js.map +0 -1
- package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.js +0 -329
- package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.js.map +0 -1
- package/es/utils/aepp-wallet-communication/rpc/rpc-client.js +0 -270
- package/es/utils/aepp-wallet-communication/rpc/rpc-client.js.map +0 -1
- package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.js +0 -533
- package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.js.map +0 -1
- package/es/utils/aepp-wallet-communication/schema.js +0 -107
- package/es/utils/aepp-wallet-communication/schema.js.map +0 -1
- package/es/utils/aepp-wallet-communication/wallet-detector.js +0 -109
- package/es/utils/aepp-wallet-communication/wallet-detector.js.map +0 -1
- package/es/utils/amount-formatter.js.map +0 -1
- package/es/utils/async-init.js +0 -67
- package/es/utils/async-init.js.map +0 -1
- package/es/utils/bignumber.js +0 -28
- package/es/utils/bignumber.js.map +0 -1
- package/es/utils/bytes.js.map +0 -1
- package/es/utils/crypto-ts.js.map +0 -1
- package/es/utils/crypto.js +0 -304
- package/es/utils/crypto.js.map +0 -1
- package/es/utils/hd-wallet.js +0 -112
- package/es/utils/hd-wallet.js.map +0 -1
- package/es/utils/json-big.js +0 -45
- package/es/utils/json-big.js.map +0 -1
- package/es/utils/keystore.js +0 -228
- package/es/utils/keystore.js.map +0 -1
- package/es/utils/mptree.js.map +0 -1
- package/es/utils/other.js +0 -43
- package/es/utils/other.js.map +0 -1
- package/es/utils/semver-satisfies.js.map +0 -1
- package/es/utils/string.js.map +0 -1
- package/es/utils/swagger.js +0 -132
- package/es/utils/swagger.js.map +0 -1
- package/src/account/base.js +0 -153
- package/src/account/memory.js +0 -78
- package/src/account/multiple.js +0 -154
- package/src/ae/aens.js +0 -366
- package/src/ae/aepp.js +0 -45
- package/src/ae/contract.js +0 -285
- package/src/ae/index.js +0 -167
- package/src/ae/oracle.js +0 -296
- package/src/ae/universal.js +0 -47
- package/src/ae/wallet.js +0 -50
- package/src/chain/index.js +0 -250
- package/src/chain/node.js +0 -293
- package/src/channel/index.js +0 -898
- package/src/channel/internal.js +0 -231
- package/src/contract/aci/index.js +0 -317
- package/src/contract/aci/transformation.js +0 -72
- package/src/contract/compiler.js +0 -195
- package/src/contract/ga/helpers.js +0 -17
- package/src/contract/ga/index.js +0 -147
- package/src/contract/index.js +0 -163
- package/src/index.js +0 -90
- package/src/node-pool/index.js +0 -171
- package/src/node.js +0 -118
- package/src/tx/builder/helpers.js +0 -325
- package/src/tx/builder/index.js +0 -460
- package/src/tx/builder/schema.js +0 -1211
- package/src/tx/index.js +0 -301
- package/src/tx/tx-object.js +0 -186
- package/src/tx/tx.js +0 -622
- package/src/tx/validator.js +0 -161
- package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +0 -114
- package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +0 -161
- package/src/utils/aepp-wallet-communication/connection/index.js +0 -85
- package/src/utils/aepp-wallet-communication/content-script-bridge.js +0 -85
- package/src/utils/aepp-wallet-communication/helpers.js +0 -70
- package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +0 -268
- package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +0 -223
- package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +0 -390
- package/src/utils/aepp-wallet-communication/schema.js +0 -108
- package/src/utils/aepp-wallet-communication/wallet-detector.js +0 -91
- package/src/utils/async-init.js +0 -41
- package/src/utils/crypto.js +0 -312
- package/src/utils/hd-wallet.js +0 -115
- package/src/utils/json-big.js +0 -26
- package/src/utils/keystore.js +0 -223
- package/src/utils/swagger.js +0 -133
|
@@ -0,0 +1,320 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transaction Schema for TxBuilder
|
|
3
|
+
*/
|
|
4
|
+
// # RLP version number
|
|
5
|
+
// # https://github.com/aeternity/protocol/blob/master/serializations.md#binary-serialization
|
|
6
|
+
import { Name, NameId, NameFee, Deposit, GasPrice } from "./field-types.mjs";
|
|
7
|
+
export * from "./constants.mjs";
|
|
8
|
+
export let ORACLE_TTL_TYPES; // # TRANSACTION DEFAULT TTL
|
|
9
|
+
|
|
10
|
+
(function (ORACLE_TTL_TYPES) {
|
|
11
|
+
ORACLE_TTL_TYPES[ORACLE_TTL_TYPES["delta"] = 0] = "delta";
|
|
12
|
+
ORACLE_TTL_TYPES[ORACLE_TTL_TYPES["block"] = 1] = "block";
|
|
13
|
+
})(ORACLE_TTL_TYPES || (ORACLE_TTL_TYPES = {}));
|
|
14
|
+
|
|
15
|
+
export const TX_TTL = 0; // # ORACLE
|
|
16
|
+
|
|
17
|
+
export const QUERY_FEE = 30000;
|
|
18
|
+
export const ORACLE_TTL = {
|
|
19
|
+
type: ORACLE_TTL_TYPES.delta,
|
|
20
|
+
value: 500
|
|
21
|
+
};
|
|
22
|
+
export const QUERY_TTL = {
|
|
23
|
+
type: ORACLE_TTL_TYPES.delta,
|
|
24
|
+
value: 10
|
|
25
|
+
};
|
|
26
|
+
export const RESPONSE_TTL = {
|
|
27
|
+
type: ORACLE_TTL_TYPES.delta,
|
|
28
|
+
value: 10
|
|
29
|
+
}; // # CONTRACT
|
|
30
|
+
|
|
31
|
+
export const AMOUNT = 0;
|
|
32
|
+
export const GAS_MAX = 1600000 - 21000;
|
|
33
|
+
export const MAX_AUTH_FUN_GAS = 50000;
|
|
34
|
+
export const DRY_RUN_ACCOUNT = {
|
|
35
|
+
pub: 'ak_11111111111111111111111111111111273Yts',
|
|
36
|
+
amount: 100000000000000000000000000000000000n
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Enum with transaction types
|
|
41
|
+
* @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/serializations.md#binary-serialization}
|
|
42
|
+
*/
|
|
43
|
+
export let TX_TYPE;
|
|
44
|
+
/**
|
|
45
|
+
* @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}
|
|
46
|
+
*/
|
|
47
|
+
|
|
48
|
+
(function (TX_TYPE) {
|
|
49
|
+
TX_TYPE[TX_TYPE["account"] = 10] = "account";
|
|
50
|
+
TX_TYPE[TX_TYPE["signed"] = 11] = "signed";
|
|
51
|
+
TX_TYPE[TX_TYPE["spend"] = 12] = "spend";
|
|
52
|
+
TX_TYPE[TX_TYPE["oracleRegister"] = 22] = "oracleRegister";
|
|
53
|
+
TX_TYPE[TX_TYPE["oracleQuery"] = 23] = "oracleQuery";
|
|
54
|
+
TX_TYPE[TX_TYPE["oracleResponse"] = 24] = "oracleResponse";
|
|
55
|
+
TX_TYPE[TX_TYPE["oracleExtend"] = 25] = "oracleExtend";
|
|
56
|
+
TX_TYPE[TX_TYPE["nameClaim"] = 32] = "nameClaim";
|
|
57
|
+
TX_TYPE[TX_TYPE["namePreClaim"] = 33] = "namePreClaim";
|
|
58
|
+
TX_TYPE[TX_TYPE["nameUpdate"] = 34] = "nameUpdate";
|
|
59
|
+
TX_TYPE[TX_TYPE["nameRevoke"] = 35] = "nameRevoke";
|
|
60
|
+
TX_TYPE[TX_TYPE["nameTransfer"] = 36] = "nameTransfer";
|
|
61
|
+
TX_TYPE[TX_TYPE["contract"] = 40] = "contract";
|
|
62
|
+
TX_TYPE[TX_TYPE["contractCallResult"] = 41] = "contractCallResult";
|
|
63
|
+
TX_TYPE[TX_TYPE["contractCreate"] = 42] = "contractCreate";
|
|
64
|
+
TX_TYPE[TX_TYPE["contractCall"] = 43] = "contractCall";
|
|
65
|
+
TX_TYPE[TX_TYPE["channelCreate"] = 50] = "channelCreate";
|
|
66
|
+
TX_TYPE[TX_TYPE["channelDeposit"] = 51] = "channelDeposit";
|
|
67
|
+
TX_TYPE[TX_TYPE["channelWithdraw"] = 52] = "channelWithdraw";
|
|
68
|
+
TX_TYPE[TX_TYPE["channelCloseMutual"] = 53] = "channelCloseMutual";
|
|
69
|
+
TX_TYPE[TX_TYPE["channelCloseSolo"] = 54] = "channelCloseSolo";
|
|
70
|
+
TX_TYPE[TX_TYPE["channelSlash"] = 55] = "channelSlash";
|
|
71
|
+
TX_TYPE[TX_TYPE["channelSettle"] = 56] = "channelSettle";
|
|
72
|
+
TX_TYPE[TX_TYPE["channelOffChain"] = 57] = "channelOffChain";
|
|
73
|
+
TX_TYPE[TX_TYPE["channel"] = 58] = "channel";
|
|
74
|
+
TX_TYPE[TX_TYPE["channelSnapshotSolo"] = 59] = "channelSnapshotSolo";
|
|
75
|
+
TX_TYPE[TX_TYPE["proofOfInclusion"] = 60] = "proofOfInclusion";
|
|
76
|
+
TX_TYPE[TX_TYPE["stateTrees"] = 62] = "stateTrees";
|
|
77
|
+
TX_TYPE[TX_TYPE["merklePatriciaTree"] = 63] = "merklePatriciaTree";
|
|
78
|
+
TX_TYPE[TX_TYPE["merklePatriciaTreeValue"] = 64] = "merklePatriciaTreeValue";
|
|
79
|
+
TX_TYPE[TX_TYPE["sophiaByteCode"] = 70] = "sophiaByteCode";
|
|
80
|
+
TX_TYPE[TX_TYPE["gaAttach"] = 80] = "gaAttach";
|
|
81
|
+
TX_TYPE[TX_TYPE["gaMeta"] = 81] = "gaMeta";
|
|
82
|
+
TX_TYPE[TX_TYPE["payingFor"] = 82] = "payingFor";
|
|
83
|
+
TX_TYPE[TX_TYPE["channelForceProgress"] = 521] = "channelForceProgress";
|
|
84
|
+
TX_TYPE[TX_TYPE["channelOffChainUpdateTransfer"] = 570] = "channelOffChainUpdateTransfer";
|
|
85
|
+
TX_TYPE[TX_TYPE["channelOffChainUpdateDeposit"] = 571] = "channelOffChainUpdateDeposit";
|
|
86
|
+
TX_TYPE[TX_TYPE["channelOffChainUpdateWithdrawal"] = 572] = "channelOffChainUpdateWithdrawal";
|
|
87
|
+
TX_TYPE[TX_TYPE["channelOffChainCreateContract"] = 573] = "channelOffChainCreateContract";
|
|
88
|
+
TX_TYPE[TX_TYPE["channelOffChainCallContract"] = 574] = "channelOffChainCallContract";
|
|
89
|
+
TX_TYPE[TX_TYPE["channelReconnect"] = 575] = "channelReconnect";
|
|
90
|
+
TX_TYPE[TX_TYPE["contractsTree"] = 621] = "contractsTree";
|
|
91
|
+
TX_TYPE[TX_TYPE["contractCallsTree"] = 622] = "contractCallsTree";
|
|
92
|
+
TX_TYPE[TX_TYPE["channelsTree"] = 623] = "channelsTree";
|
|
93
|
+
TX_TYPE[TX_TYPE["nameserviceTree"] = 624] = "nameserviceTree";
|
|
94
|
+
TX_TYPE[TX_TYPE["oraclesTree"] = 625] = "oraclesTree";
|
|
95
|
+
TX_TYPE[TX_TYPE["accountsTree"] = 626] = "accountsTree";
|
|
96
|
+
})(TX_TYPE || (TX_TYPE = {}));
|
|
97
|
+
|
|
98
|
+
export let VM_VERSIONS;
|
|
99
|
+
/**
|
|
100
|
+
* @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}
|
|
101
|
+
*/
|
|
102
|
+
|
|
103
|
+
(function (VM_VERSIONS) {
|
|
104
|
+
VM_VERSIONS[VM_VERSIONS["NO_VM"] = 0] = "NO_VM";
|
|
105
|
+
VM_VERSIONS[VM_VERSIONS["SOPHIA"] = 1] = "SOPHIA";
|
|
106
|
+
VM_VERSIONS[VM_VERSIONS["SOPHIA_IMPROVEMENTS_MINERVA"] = 3] = "SOPHIA_IMPROVEMENTS_MINERVA";
|
|
107
|
+
VM_VERSIONS[VM_VERSIONS["SOPHIA_IMPROVEMENTS_FORTUNA"] = 4] = "SOPHIA_IMPROVEMENTS_FORTUNA";
|
|
108
|
+
VM_VERSIONS[VM_VERSIONS["FATE"] = 5] = "FATE";
|
|
109
|
+
VM_VERSIONS[VM_VERSIONS["SOPHIA_IMPROVEMENTS_LIMA"] = 6] = "SOPHIA_IMPROVEMENTS_LIMA";
|
|
110
|
+
VM_VERSIONS[VM_VERSIONS["FATE_2"] = 7] = "FATE_2";
|
|
111
|
+
})(VM_VERSIONS || (VM_VERSIONS = {}));
|
|
112
|
+
|
|
113
|
+
export let ABI_VERSIONS;
|
|
114
|
+
|
|
115
|
+
(function (ABI_VERSIONS) {
|
|
116
|
+
ABI_VERSIONS[ABI_VERSIONS["NO_ABI"] = 0] = "NO_ABI";
|
|
117
|
+
ABI_VERSIONS[ABI_VERSIONS["SOPHIA"] = 1] = "SOPHIA";
|
|
118
|
+
ABI_VERSIONS[ABI_VERSIONS["FATE"] = 3] = "FATE";
|
|
119
|
+
})(ABI_VERSIONS || (ABI_VERSIONS = {}));
|
|
120
|
+
|
|
121
|
+
export let PROTOCOL_VERSIONS; // First abi/vm by default
|
|
122
|
+
|
|
123
|
+
(function (PROTOCOL_VERSIONS) {
|
|
124
|
+
PROTOCOL_VERSIONS[PROTOCOL_VERSIONS["IRIS"] = 5] = "IRIS";
|
|
125
|
+
})(PROTOCOL_VERSIONS || (PROTOCOL_VERSIONS = {}));
|
|
126
|
+
|
|
127
|
+
export const PROTOCOL_VM_ABI = {
|
|
128
|
+
[PROTOCOL_VERSIONS.IRIS]: {
|
|
129
|
+
[TX_TYPE.contractCreate]: {
|
|
130
|
+
vmVersion: [VM_VERSIONS.FATE_2],
|
|
131
|
+
abiVersion: [ABI_VERSIONS.FATE]
|
|
132
|
+
},
|
|
133
|
+
// TODO: Ensure that AEVM (SOPHIA?) is still available here
|
|
134
|
+
[TX_TYPE.contractCall]: {
|
|
135
|
+
vmVersion: [],
|
|
136
|
+
abiVersion: [ABI_VERSIONS.FATE, ABI_VERSIONS.SOPHIA]
|
|
137
|
+
},
|
|
138
|
+
[TX_TYPE.oracleRegister]: {
|
|
139
|
+
vmVersion: [],
|
|
140
|
+
abiVersion: [ABI_VERSIONS.NO_ABI, ABI_VERSIONS.SOPHIA]
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
export let FIELD_TYPES;
|
|
145
|
+
|
|
146
|
+
(function (FIELD_TYPES) {
|
|
147
|
+
FIELD_TYPES[FIELD_TYPES["int"] = 0] = "int";
|
|
148
|
+
FIELD_TYPES[FIELD_TYPES["shortInt"] = 1] = "shortInt";
|
|
149
|
+
FIELD_TYPES[FIELD_TYPES["amount"] = 2] = "amount";
|
|
150
|
+
FIELD_TYPES[FIELD_TYPES["id"] = 3] = "id";
|
|
151
|
+
FIELD_TYPES[FIELD_TYPES["ids"] = 4] = "ids";
|
|
152
|
+
FIELD_TYPES[FIELD_TYPES["string"] = 5] = "string";
|
|
153
|
+
FIELD_TYPES[FIELD_TYPES["binary"] = 6] = "binary";
|
|
154
|
+
FIELD_TYPES[FIELD_TYPES["bool"] = 7] = "bool";
|
|
155
|
+
FIELD_TYPES[FIELD_TYPES["hex"] = 8] = "hex";
|
|
156
|
+
FIELD_TYPES[FIELD_TYPES["rlpBinary"] = 9] = "rlpBinary";
|
|
157
|
+
FIELD_TYPES[FIELD_TYPES["rlpBinaries"] = 10] = "rlpBinaries";
|
|
158
|
+
FIELD_TYPES[FIELD_TYPES["rawBinary"] = 11] = "rawBinary";
|
|
159
|
+
FIELD_TYPES[FIELD_TYPES["signatures"] = 12] = "signatures";
|
|
160
|
+
FIELD_TYPES[FIELD_TYPES["pointers"] = 13] = "pointers";
|
|
161
|
+
FIELD_TYPES[FIELD_TYPES["offChainUpdates"] = 14] = "offChainUpdates";
|
|
162
|
+
FIELD_TYPES[FIELD_TYPES["callStack"] = 15] = "callStack";
|
|
163
|
+
FIELD_TYPES[FIELD_TYPES["proofOfInclusion"] = 16] = "proofOfInclusion";
|
|
164
|
+
FIELD_TYPES[FIELD_TYPES["mptrees"] = 17] = "mptrees";
|
|
165
|
+
FIELD_TYPES[FIELD_TYPES["callReturnType"] = 18] = "callReturnType";
|
|
166
|
+
FIELD_TYPES[FIELD_TYPES["ctVersion"] = 19] = "ctVersion";
|
|
167
|
+
FIELD_TYPES[FIELD_TYPES["abiVersion"] = 20] = "abiVersion";
|
|
168
|
+
FIELD_TYPES[FIELD_TYPES["ttlType"] = 21] = "ttlType";
|
|
169
|
+
FIELD_TYPES[FIELD_TYPES["sophiaCodeTypeInfo"] = 22] = "sophiaCodeTypeInfo";
|
|
170
|
+
FIELD_TYPES[FIELD_TYPES["payload"] = 23] = "payload";
|
|
171
|
+
FIELD_TYPES[FIELD_TYPES["stateTree"] = 24] = "stateTree";
|
|
172
|
+
})(FIELD_TYPES || (FIELD_TYPES = {}));
|
|
173
|
+
|
|
174
|
+
const BASE_TX = [['tag', FIELD_TYPES.shortInt], ['VSN', FIELD_TYPES.shortInt]];
|
|
175
|
+
export const TX_SCHEMA = {
|
|
176
|
+
[TX_TYPE.account]: {
|
|
177
|
+
2: [...BASE_TX, ['flags', FIELD_TYPES.int], ['nonce', FIELD_TYPES.shortInt], ['balance', FIELD_TYPES.int], ['gaContract', FIELD_TYPES.id, ['ct', 'nm']], ['gaAuthFun', FIELD_TYPES.binary, 'cb']]
|
|
178
|
+
},
|
|
179
|
+
[TX_TYPE.signed]: {
|
|
180
|
+
1: [...BASE_TX, ['signatures', FIELD_TYPES.signatures], ['encodedTx', FIELD_TYPES.rlpBinary]]
|
|
181
|
+
},
|
|
182
|
+
[TX_TYPE.spend]: {
|
|
183
|
+
1: [...BASE_TX, ['senderId', FIELD_TYPES.id, 'ak'], ['recipientId', FIELD_TYPES.id, ['ak', 'nm']], ['amount', FIELD_TYPES.amount], ['fee', FIELD_TYPES.int], ['ttl', FIELD_TYPES.shortInt], ['nonce', FIELD_TYPES.shortInt], ['payload', FIELD_TYPES.payload]]
|
|
184
|
+
},
|
|
185
|
+
[TX_TYPE.namePreClaim]: {
|
|
186
|
+
1: [...BASE_TX, ['accountId', FIELD_TYPES.id, 'ak'], ['nonce', FIELD_TYPES.shortInt], ['commitmentId', FIELD_TYPES.id, 'cm'], ['fee', FIELD_TYPES.int], ['ttl', FIELD_TYPES.shortInt]]
|
|
187
|
+
},
|
|
188
|
+
[TX_TYPE.nameClaim]: {
|
|
189
|
+
2: [...BASE_TX, ['accountId', FIELD_TYPES.id, 'ak'], ['nonce', FIELD_TYPES.shortInt], ['name', Name], ['nameSalt', FIELD_TYPES.int], ['nameFee', NameFee], ['fee', FIELD_TYPES.int], ['ttl', FIELD_TYPES.shortInt]]
|
|
190
|
+
},
|
|
191
|
+
[TX_TYPE.nameUpdate]: {
|
|
192
|
+
1: [...BASE_TX, ['accountId', FIELD_TYPES.id, 'ak'], ['nonce', FIELD_TYPES.shortInt], ['nameId', NameId], ['nameTtl', FIELD_TYPES.int], ['pointers', FIELD_TYPES.pointers], ['clientTtl', FIELD_TYPES.shortInt], ['fee', FIELD_TYPES.int], ['ttl', FIELD_TYPES.shortInt]]
|
|
193
|
+
},
|
|
194
|
+
[TX_TYPE.nameTransfer]: {
|
|
195
|
+
1: [...BASE_TX, ['accountId', FIELD_TYPES.id, 'ak'], ['nonce', FIELD_TYPES.shortInt], ['nameId', NameId], ['recipientId', FIELD_TYPES.id, ['ak', 'nm']], ['fee', FIELD_TYPES.int], ['ttl', FIELD_TYPES.shortInt]]
|
|
196
|
+
},
|
|
197
|
+
[TX_TYPE.nameRevoke]: {
|
|
198
|
+
1: [...BASE_TX, ['accountId', FIELD_TYPES.id, 'ak'], ['nonce', FIELD_TYPES.shortInt], ['nameId', NameId], ['fee', FIELD_TYPES.int], ['ttl', FIELD_TYPES.shortInt]]
|
|
199
|
+
},
|
|
200
|
+
[TX_TYPE.contract]: {
|
|
201
|
+
1: [...BASE_TX, ['owner', FIELD_TYPES.id, 'ak'], ['ctVersion', FIELD_TYPES.ctVersion], ['code', FIELD_TYPES.binary, 'cb'], ['log', FIELD_TYPES.binary, 'cb'], ['active', FIELD_TYPES.bool], ['referers', FIELD_TYPES.ids, 'ak'], ['deposit', Deposit]]
|
|
202
|
+
},
|
|
203
|
+
[TX_TYPE.contractCreate]: {
|
|
204
|
+
1: [...BASE_TX, ['ownerId', FIELD_TYPES.id, 'ak'], ['nonce', FIELD_TYPES.shortInt], ['code', FIELD_TYPES.binary, 'cb'], ['ctVersion', FIELD_TYPES.ctVersion], ['fee', FIELD_TYPES.int], ['ttl', FIELD_TYPES.shortInt], ['deposit', Deposit], ['amount', FIELD_TYPES.amount], ['gasLimit', FIELD_TYPES.shortInt], ['gasPrice', GasPrice], ['callData', FIELD_TYPES.binary, 'cb']]
|
|
205
|
+
},
|
|
206
|
+
[TX_TYPE.contractCall]: {
|
|
207
|
+
1: [...BASE_TX, ['callerId', FIELD_TYPES.id, 'ak'], ['nonce', FIELD_TYPES.shortInt], ['contractId', FIELD_TYPES.id, ['ct', 'nm']], ['abiVersion', FIELD_TYPES.abiVersion], ['fee', FIELD_TYPES.int], ['ttl', FIELD_TYPES.shortInt], ['amount', FIELD_TYPES.amount], ['gasLimit', FIELD_TYPES.shortInt], ['gasPrice', GasPrice], ['callData', FIELD_TYPES.binary, 'cb']]
|
|
208
|
+
},
|
|
209
|
+
[TX_TYPE.contractCallResult]: {
|
|
210
|
+
1: [...BASE_TX, ['callerId', FIELD_TYPES.id, 'ak'], ['callerNonce', FIELD_TYPES.shortInt], ['height', FIELD_TYPES.shortInt], ['contractId', FIELD_TYPES.id, 'ct'], ['gasPrice', GasPrice], ['gasUsed', FIELD_TYPES.shortInt], ['returnValue', FIELD_TYPES.binary, 'cb'], ['returnType', FIELD_TYPES.callReturnType], // TODO: add serialization for
|
|
211
|
+
// <log> :: [ { <address> :: id, [ <topics> :: binary() ], <data> :: binary() } ]
|
|
212
|
+
['log', FIELD_TYPES.rawBinary]]
|
|
213
|
+
},
|
|
214
|
+
[TX_TYPE.oracleRegister]: {
|
|
215
|
+
1: [...BASE_TX, ['accountId', FIELD_TYPES.id, 'ak'], ['nonce', FIELD_TYPES.shortInt], ['queryFormat', FIELD_TYPES.string], ['responseFormat', FIELD_TYPES.string], ['queryFee', FIELD_TYPES.amount], ['oracleTtlType', FIELD_TYPES.ttlType], ['oracleTtlValue', FIELD_TYPES.shortInt], ['fee', FIELD_TYPES.int], ['ttl', FIELD_TYPES.shortInt], ['abiVersion', FIELD_TYPES.abiVersion]]
|
|
216
|
+
},
|
|
217
|
+
[TX_TYPE.oracleExtend]: {
|
|
218
|
+
1: [...BASE_TX, ['oracleId', FIELD_TYPES.id, ['ok', 'nm']], ['nonce', FIELD_TYPES.shortInt], ['oracleTtlType', FIELD_TYPES.ttlType], ['oracleTtlValue', FIELD_TYPES.shortInt], ['fee', FIELD_TYPES.int], ['ttl', FIELD_TYPES.shortInt]]
|
|
219
|
+
},
|
|
220
|
+
[TX_TYPE.oracleQuery]: {
|
|
221
|
+
1: [...BASE_TX, ['senderId', FIELD_TYPES.id, 'ak'], ['nonce', FIELD_TYPES.shortInt], ['oracleId', FIELD_TYPES.id, ['ok', 'nm']], ['query', FIELD_TYPES.string], ['queryFee', FIELD_TYPES.amount], ['queryTtlType', FIELD_TYPES.ttlType], ['queryTtlValue', FIELD_TYPES.shortInt], ['responseTtlType', FIELD_TYPES.ttlType], ['responseTtlValue', FIELD_TYPES.shortInt], ['fee', FIELD_TYPES.int], ['ttl', FIELD_TYPES.shortInt]]
|
|
222
|
+
},
|
|
223
|
+
[TX_TYPE.oracleResponse]: {
|
|
224
|
+
1: [...BASE_TX, ['oracleId', FIELD_TYPES.id, 'ok'], ['nonce', FIELD_TYPES.shortInt], ['queryId', FIELD_TYPES.binary, 'oq'], ['response', FIELD_TYPES.string], ['responseTtlType', FIELD_TYPES.ttlType], ['responseTtlValue', FIELD_TYPES.shortInt], ['fee', FIELD_TYPES.int], ['ttl', FIELD_TYPES.shortInt]]
|
|
225
|
+
},
|
|
226
|
+
[TX_TYPE.channelCreate]: {
|
|
227
|
+
2: [...BASE_TX, ['initiator', FIELD_TYPES.id, 'ak'], ['initiatorAmount', FIELD_TYPES.int], ['responder', FIELD_TYPES.id, 'ak'], ['responderAmount', FIELD_TYPES.int], ['channelReserve', FIELD_TYPES.int], ['lockPeriod', FIELD_TYPES.int], ['ttl', FIELD_TYPES.shortInt], ['fee', FIELD_TYPES.int], ['initiatorDelegateIds', FIELD_TYPES.string], ['responderDelegateIds', FIELD_TYPES.string], ['stateHash', FIELD_TYPES.binary, 'st'], ['nonce', FIELD_TYPES.shortInt]]
|
|
228
|
+
},
|
|
229
|
+
[TX_TYPE.channelCloseMutual]: {
|
|
230
|
+
1: [...BASE_TX, ['channelId', FIELD_TYPES.id, 'ch'], ['fromId', FIELD_TYPES.id, 'ak'], ['initiatorAmountFinal', FIELD_TYPES.int], ['responderAmountFinal', FIELD_TYPES.int], ['ttl', FIELD_TYPES.shortInt], ['fee', FIELD_TYPES.int], ['nonce', FIELD_TYPES.shortInt]]
|
|
231
|
+
},
|
|
232
|
+
[TX_TYPE.channelCloseSolo]: {
|
|
233
|
+
1: [...BASE_TX, ['channelId', FIELD_TYPES.id, 'ch'], ['fromId', FIELD_TYPES.id, 'ak'], ['payload', FIELD_TYPES.binary, 'tx'], ['poi', FIELD_TYPES.binary, 'pi'], ['ttl', FIELD_TYPES.shortInt], ['fee', FIELD_TYPES.int], ['nonce', FIELD_TYPES.shortInt]]
|
|
234
|
+
},
|
|
235
|
+
[TX_TYPE.channelSlash]: {
|
|
236
|
+
1: [...BASE_TX, ['channelId', FIELD_TYPES.id, 'ch'], ['fromId', FIELD_TYPES.id, 'ak'], ['payload', FIELD_TYPES.binary, 'tx'], ['poi', FIELD_TYPES.binary, 'pi'], ['ttl', FIELD_TYPES.shortInt], ['fee', FIELD_TYPES.int], ['nonce', FIELD_TYPES.shortInt]]
|
|
237
|
+
},
|
|
238
|
+
[TX_TYPE.channelDeposit]: {
|
|
239
|
+
1: [...BASE_TX, ['channelId', FIELD_TYPES.id, 'ch'], ['fromId', FIELD_TYPES.id, 'ak'], ['amount', FIELD_TYPES.int], ['ttl', FIELD_TYPES.shortInt], ['fee', FIELD_TYPES.int], ['stateHash', FIELD_TYPES.binary, 'st'], ['round', FIELD_TYPES.int], ['nonce', FIELD_TYPES.shortInt]]
|
|
240
|
+
},
|
|
241
|
+
[TX_TYPE.channelWithdraw]: {
|
|
242
|
+
1: [...BASE_TX, ['channelId', FIELD_TYPES.id, 'ch'], ['toId', FIELD_TYPES.id, 'ak'], ['amount', FIELD_TYPES.int], ['ttl', FIELD_TYPES.shortInt], ['fee', FIELD_TYPES.int], ['stateHash', FIELD_TYPES.binary, 'st'], ['round', FIELD_TYPES.int], ['nonce', FIELD_TYPES.shortInt]]
|
|
243
|
+
},
|
|
244
|
+
[TX_TYPE.channelSettle]: {
|
|
245
|
+
1: [...BASE_TX, ['channelId', FIELD_TYPES.id, 'ch'], ['fromId', FIELD_TYPES.id, 'ak'], ['initiatorAmountFinal', FIELD_TYPES.int], ['responderAmountFinal', FIELD_TYPES.int], ['ttl', FIELD_TYPES.shortInt], ['fee', FIELD_TYPES.int], ['nonce', FIELD_TYPES.shortInt]]
|
|
246
|
+
},
|
|
247
|
+
[TX_TYPE.channelForceProgress]: {
|
|
248
|
+
1: [...BASE_TX, ['channelId', FIELD_TYPES.id, 'ch'], ['fromId', FIELD_TYPES.id, 'ak'], ['payload', FIELD_TYPES.binary, 'tx'], ['round', FIELD_TYPES.int], ['update', FIELD_TYPES.binary, 'cb'], ['stateHash', FIELD_TYPES.binary, 'st'], ['offChainTrees', FIELD_TYPES.stateTree], ['ttl', FIELD_TYPES.shortInt], ['fee', FIELD_TYPES.int], ['nonce', FIELD_TYPES.shortInt]]
|
|
249
|
+
},
|
|
250
|
+
[TX_TYPE.channelOffChain]: {
|
|
251
|
+
2: [...BASE_TX, ['channelId', FIELD_TYPES.id, 'ch'], ['round', FIELD_TYPES.int], ['stateHash', FIELD_TYPES.binary, 'st']]
|
|
252
|
+
},
|
|
253
|
+
[TX_TYPE.channel]: {
|
|
254
|
+
3: [...BASE_TX, ['initiator', FIELD_TYPES.id, 'ak'], ['responder', FIELD_TYPES.id, 'ak'], ['channelAmount', FIELD_TYPES.int], ['initiatorAmount', FIELD_TYPES.int], ['responderAmount', FIELD_TYPES.int], ['channelReserve', FIELD_TYPES.int], ['initiatorDelegateIds', FIELD_TYPES.ids], ['responderDelegateIds', FIELD_TYPES.ids], ['stateHash', FIELD_TYPES.hex], ['round', FIELD_TYPES.int], ['soloRound', FIELD_TYPES.int], ['lockPeriod', FIELD_TYPES.int], ['lockedUntil', FIELD_TYPES.int], ['initiatorAuth', FIELD_TYPES.binary, 'cb'], ['responderAuth', FIELD_TYPES.binary, 'cb']]
|
|
255
|
+
},
|
|
256
|
+
[TX_TYPE.channelSnapshotSolo]: {
|
|
257
|
+
1: [...BASE_TX, ['channelId', FIELD_TYPES.id, 'ch'], ['fromId', FIELD_TYPES.id, 'ak'], ['payload', FIELD_TYPES.binary, 'tx'], ['ttl', FIELD_TYPES.shortInt], ['fee', FIELD_TYPES.int], ['nonce', FIELD_TYPES.shortInt]]
|
|
258
|
+
},
|
|
259
|
+
[TX_TYPE.channelOffChainUpdateTransfer]: {
|
|
260
|
+
1: [...BASE_TX, ['from', FIELD_TYPES.id, 'ak'], ['to', FIELD_TYPES.id, 'ak'], ['amount', FIELD_TYPES.int]]
|
|
261
|
+
},
|
|
262
|
+
[TX_TYPE.channelOffChainUpdateDeposit]: {
|
|
263
|
+
1: [...BASE_TX, ['from', FIELD_TYPES.id, 'ak'], ['amount', FIELD_TYPES.int]]
|
|
264
|
+
},
|
|
265
|
+
[TX_TYPE.channelOffChainUpdateWithdrawal]: {
|
|
266
|
+
1: [...BASE_TX, ['from', FIELD_TYPES.id, 'ak'], ['amount', FIELD_TYPES.int]]
|
|
267
|
+
},
|
|
268
|
+
[TX_TYPE.channelOffChainCreateContract]: {
|
|
269
|
+
1: [...BASE_TX, ['owner', FIELD_TYPES.id, 'ak'], ['ctVersion', FIELD_TYPES.ctVersion], ['code', FIELD_TYPES.binary, 'cb'], ['deposit', FIELD_TYPES.int], ['callData', FIELD_TYPES.binary, 'cb']]
|
|
270
|
+
},
|
|
271
|
+
[TX_TYPE.channelOffChainCallContract]: {
|
|
272
|
+
1: [...BASE_TX, ['caller', FIELD_TYPES.id, 'ak'], ['contract', FIELD_TYPES.id, 'ct'], ['abiVersion', FIELD_TYPES.abiVersion], ['amount', FIELD_TYPES.int], ['callData', FIELD_TYPES.binary, 'cb'], ['callStack', FIELD_TYPES.callStack], ['gasPrice', GasPrice], ['gasLimit', FIELD_TYPES.shortInt]]
|
|
273
|
+
},
|
|
274
|
+
[TX_TYPE.channelReconnect]: {
|
|
275
|
+
1: [...BASE_TX, ['channelId', FIELD_TYPES.id, 'ch'], ['round', FIELD_TYPES.int], ['role', FIELD_TYPES.string], ['pubkey', FIELD_TYPES.id, 'ak']]
|
|
276
|
+
},
|
|
277
|
+
[TX_TYPE.proofOfInclusion]: {
|
|
278
|
+
1: [...BASE_TX, ['accounts', FIELD_TYPES.mptrees], ['calls', FIELD_TYPES.mptrees], ['channels', FIELD_TYPES.mptrees], ['contracts', FIELD_TYPES.mptrees], ['ns', FIELD_TYPES.mptrees], ['oracles', FIELD_TYPES.mptrees]]
|
|
279
|
+
},
|
|
280
|
+
[TX_TYPE.stateTrees]: {
|
|
281
|
+
1: [...BASE_TX, ['contracts', FIELD_TYPES.rlpBinary], ['calls', FIELD_TYPES.rlpBinary], ['channels', FIELD_TYPES.rlpBinary], ['ns', FIELD_TYPES.rlpBinary], ['oracles', FIELD_TYPES.rlpBinary], ['accounts', FIELD_TYPES.rlpBinary]]
|
|
282
|
+
},
|
|
283
|
+
[TX_TYPE.merklePatriciaTree]: {
|
|
284
|
+
1: [...BASE_TX, ['values', FIELD_TYPES.rlpBinaries]]
|
|
285
|
+
},
|
|
286
|
+
[TX_TYPE.merklePatriciaTreeValue]: {
|
|
287
|
+
1: [...BASE_TX, ['key', FIELD_TYPES.hex], ['value', FIELD_TYPES.rawBinary]]
|
|
288
|
+
},
|
|
289
|
+
[TX_TYPE.contractsTree]: {
|
|
290
|
+
1: [...BASE_TX, ['contracts', FIELD_TYPES.rlpBinary]]
|
|
291
|
+
},
|
|
292
|
+
[TX_TYPE.contractCallsTree]: {
|
|
293
|
+
1: [...BASE_TX, ['calls', FIELD_TYPES.rlpBinary]]
|
|
294
|
+
},
|
|
295
|
+
[TX_TYPE.channelsTree]: {
|
|
296
|
+
1: [...BASE_TX, ['channels', FIELD_TYPES.rlpBinary]]
|
|
297
|
+
},
|
|
298
|
+
[TX_TYPE.nameserviceTree]: {
|
|
299
|
+
1: [...BASE_TX, ['mtree', FIELD_TYPES.rlpBinary]]
|
|
300
|
+
},
|
|
301
|
+
[TX_TYPE.oraclesTree]: {
|
|
302
|
+
1: [...BASE_TX, ['otree', FIELD_TYPES.rlpBinary]]
|
|
303
|
+
},
|
|
304
|
+
[TX_TYPE.accountsTree]: {
|
|
305
|
+
1: [...BASE_TX, ['accounts', FIELD_TYPES.rlpBinary]]
|
|
306
|
+
},
|
|
307
|
+
[TX_TYPE.gaAttach]: {
|
|
308
|
+
1: [...BASE_TX, ['ownerId', FIELD_TYPES.id, 'ak'], ['nonce', FIELD_TYPES.shortInt], ['code', FIELD_TYPES.binary, 'cb'], ['authFun', FIELD_TYPES.rawBinary], ['ctVersion', FIELD_TYPES.ctVersion], ['fee', FIELD_TYPES.int], ['ttl', FIELD_TYPES.shortInt], ['gasLimit', FIELD_TYPES.shortInt], ['gasPrice', GasPrice], ['callData', FIELD_TYPES.binary, 'cb']]
|
|
309
|
+
},
|
|
310
|
+
[TX_TYPE.gaMeta]: {
|
|
311
|
+
2: [...BASE_TX, ['gaId', FIELD_TYPES.id, 'ak'], ['authData', FIELD_TYPES.binary, 'cb'], ['abiVersion', FIELD_TYPES.abiVersion], ['fee', FIELD_TYPES.int], ['gasLimit', FIELD_TYPES.shortInt], ['gasPrice', GasPrice], ['tx', FIELD_TYPES.rlpBinary]]
|
|
312
|
+
},
|
|
313
|
+
[TX_TYPE.payingFor]: {
|
|
314
|
+
1: [...BASE_TX, ['payerId', FIELD_TYPES.id, 'ak'], ['nonce', FIELD_TYPES.shortInt], ['fee', FIELD_TYPES.int], ['tx', FIELD_TYPES.rlpBinary]]
|
|
315
|
+
},
|
|
316
|
+
[TX_TYPE.sophiaByteCode]: {
|
|
317
|
+
3: [...BASE_TX, ['sourceCodeHash', FIELD_TYPES.rawBinary], ['typeInfo', FIELD_TYPES.sophiaCodeTypeInfo], ['byteCode', FIELD_TYPES.rawBinary], ['compilerVersion', FIELD_TYPES.string], ['payable', FIELD_TYPES.bool]]
|
|
318
|
+
}
|
|
319
|
+
};
|
|
320
|
+
//# sourceMappingURL=schema.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.mjs","names":["Name","NameId","NameFee","Deposit","GasPrice","ORACLE_TTL_TYPES","TX_TTL","QUERY_FEE","ORACLE_TTL","type","delta","value","QUERY_TTL","RESPONSE_TTL","AMOUNT","GAS_MAX","MAX_AUTH_FUN_GAS","DRY_RUN_ACCOUNT","pub","amount","TX_TYPE","VM_VERSIONS","ABI_VERSIONS","PROTOCOL_VERSIONS","PROTOCOL_VM_ABI","IRIS","contractCreate","vmVersion","FATE_2","abiVersion","FATE","contractCall","SOPHIA","oracleRegister","NO_ABI","FIELD_TYPES","BASE_TX","shortInt","TX_SCHEMA","account","int","id","binary","signed","signatures","rlpBinary","spend","payload","namePreClaim","nameClaim","nameUpdate","pointers","nameTransfer","nameRevoke","contract","ctVersion","bool","ids","contractCallResult","callReturnType","rawBinary","string","ttlType","oracleExtend","oracleQuery","oracleResponse","channelCreate","channelCloseMutual","channelCloseSolo","channelSlash","channelDeposit","channelWithdraw","channelSettle","channelForceProgress","stateTree","channelOffChain","channel","hex","channelSnapshotSolo","channelOffChainUpdateTransfer","channelOffChainUpdateDeposit","channelOffChainUpdateWithdrawal","channelOffChainCreateContract","channelOffChainCallContract","callStack","channelReconnect","proofOfInclusion","mptrees","stateTrees","merklePatriciaTree","rlpBinaries","merklePatriciaTreeValue","contractsTree","contractCallsTree","channelsTree","nameserviceTree","oraclesTree","accountsTree","gaAttach","gaMeta","payingFor","sophiaByteCode","sophiaCodeTypeInfo"],"sources":["../../../src/tx/builder/schema.ts"],"sourcesContent":["/**\n * Transaction Schema for TxBuilder\n */\n// # RLP version number\n// # https://github.com/aeternity/protocol/blob/master/serializations.md#binary-serialization\n\nimport BigNumber from 'bignumber.js'\nimport { Name, NameId, NameFee, Deposit, Field, GasPrice } from './field-types'\nimport { EncodedData, EncodingType } from '../../utils/encoder'\nimport { Pointer } from './helpers'\nimport MPTree from '../../utils/mptree'\n\nexport * from './constants'\n\nexport enum ORACLE_TTL_TYPES {\n delta = 0,\n block = 1\n}\n\n// # TRANSACTION DEFAULT TTL\nexport const TX_TTL = 0\n// # ORACLE\nexport const QUERY_FEE = 30000\nexport const ORACLE_TTL = { type: ORACLE_TTL_TYPES.delta, value: 500 }\nexport const QUERY_TTL = { type: ORACLE_TTL_TYPES.delta, value: 10 }\nexport const RESPONSE_TTL = { type: ORACLE_TTL_TYPES.delta, value: 10 }\n// # CONTRACT\nexport const AMOUNT = 0\nexport const GAS_MAX = 1600000 - 21000\nexport const MAX_AUTH_FUN_GAS = 50000\nexport const DRY_RUN_ACCOUNT = {\n pub: 'ak_11111111111111111111111111111111273Yts',\n amount: 100000000000000000000000000000000000n\n} as const\n\nexport type TxField = [\n name: string,\n type: FIELD_TYPES | typeof Field,\n prefix?: EncodingType | EncodingType[]\n]\n\n/**\n * Enum with transaction types\n * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/serializations.md#binary-serialization}\n */\nexport enum TX_TYPE {\n account = 10,\n signed = 11,\n spend = 12,\n oracleRegister = 22,\n oracleQuery = 23,\n oracleResponse = 24,\n oracleExtend = 25,\n nameClaim = 32,\n namePreClaim = 33,\n nameUpdate = 34,\n nameRevoke = 35,\n nameTransfer = 36,\n contract = 40,\n contractCallResult = 41,\n contractCreate = 42,\n contractCall = 43,\n channelCreate = 50,\n channelDeposit = 51,\n channelWithdraw = 52,\n channelCloseMutual = 53,\n channelCloseSolo = 54,\n channelSlash = 55,\n channelSettle = 56,\n channelOffChain = 57,\n channel = 58,\n channelSnapshotSolo = 59,\n proofOfInclusion = 60,\n stateTrees = 62,\n merklePatriciaTree = 63,\n merklePatriciaTreeValue = 64,\n sophiaByteCode = 70,\n gaAttach = 80,\n gaMeta = 81,\n payingFor = 82,\n channelForceProgress = 521,\n channelOffChainUpdateTransfer = 570,\n channelOffChainUpdateDeposit = 571,\n channelOffChainUpdateWithdrawal = 572,\n channelOffChainCreateContract = 573,\n channelOffChainCallContract = 574,\n channelReconnect = 575,\n contractsTree = 621,\n contractCallsTree = 622,\n channelsTree = 623,\n nameserviceTree = 624,\n oraclesTree = 625,\n accountsTree = 626\n}\n\n/**\n * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}\n */\nexport enum VM_VERSIONS {\n NO_VM = 0,\n SOPHIA = 1,\n SOPHIA_IMPROVEMENTS_MINERVA = 3,\n SOPHIA_IMPROVEMENTS_FORTUNA = 4,\n FATE = 5,\n SOPHIA_IMPROVEMENTS_LIMA = 6,\n FATE_2 = 7\n}\n\n/**\n * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}\n */\nexport enum ABI_VERSIONS {\n NO_ABI = 0,\n SOPHIA = 1,\n FATE = 3\n}\n\nexport enum PROTOCOL_VERSIONS {\n IRIS = 5\n}\n\n// First abi/vm by default\nexport const PROTOCOL_VM_ABI = {\n [PROTOCOL_VERSIONS.IRIS]: {\n [TX_TYPE.contractCreate]: {\n vmVersion: [VM_VERSIONS.FATE_2], abiVersion: [ABI_VERSIONS.FATE]\n },\n // TODO: Ensure that AEVM (SOPHIA?) is still available here\n [TX_TYPE.contractCall]: {\n vmVersion: [], abiVersion: [ABI_VERSIONS.FATE, ABI_VERSIONS.SOPHIA]\n },\n [TX_TYPE.oracleRegister]: {\n vmVersion: [], abiVersion: [ABI_VERSIONS.NO_ABI, ABI_VERSIONS.SOPHIA]\n }\n }\n} as const\n\ntype PrefixType<Prefix> = Prefix extends EncodingType\n ? EncodedData<Prefix>\n : Prefix extends readonly EncodingType[]\n ? EncodedData<Prefix[number]>\n : EncodedData<any>\n\nexport interface CtVersion {\n vmVersion: VM_VERSIONS\n abiVersion: ABI_VERSIONS\n}\n\nexport enum FIELD_TYPES {\n int,\n shortInt,\n amount,\n id,\n ids,\n string,\n binary,\n bool,\n hex,\n rlpBinary,\n rlpBinaries,\n rawBinary,\n signatures,\n pointers,\n offChainUpdates,\n callStack,\n proofOfInclusion,\n mptrees,\n callReturnType,\n ctVersion,\n abiVersion,\n ttlType,\n sophiaCodeTypeInfo,\n payload,\n stateTree\n}\n\ninterface BuildFieldTypes<Prefix extends undefined | EncodingType | readonly EncodingType[]>{\n [FIELD_TYPES.int]: number | string | BigNumber\n [FIELD_TYPES.shortInt]: number\n [FIELD_TYPES.amount]: number | string | BigNumber\n [FIELD_TYPES.id]: PrefixType<Prefix>\n [FIELD_TYPES.ids]: Array<EncodedData<Prefix extends EncodingType[] ? Prefix : any>>\n [FIELD_TYPES.string]: string\n [FIELD_TYPES.binary]: PrefixType<Prefix>\n [FIELD_TYPES.bool]: Boolean\n [FIELD_TYPES.hex]: string\n [FIELD_TYPES.rlpBinary]: any\n [FIELD_TYPES.rlpBinaries]: any[]\n [FIELD_TYPES.rawBinary]: Uint8Array\n [FIELD_TYPES.signatures]: Uint8Array[]\n [FIELD_TYPES.pointers]: Pointer[]\n [FIELD_TYPES.offChainUpdates]: any\n [FIELD_TYPES.callStack]: any\n [FIELD_TYPES.proofOfInclusion]: any\n [FIELD_TYPES.mptrees]: MPTree[]\n [FIELD_TYPES.callReturnType]: any\n [FIELD_TYPES.ctVersion]: CtVersion\n [FIELD_TYPES.abiVersion]: ABI_VERSIONS\n [FIELD_TYPES.ttlType]: ORACLE_TTL_TYPES\n [FIELD_TYPES.sophiaCodeTypeInfo]: any\n [FIELD_TYPES.payload]: string | undefined\n [FIELD_TYPES.stateTree]: any\n}\n\n// based on https://stackoverflow.com/a/50375286/6176994\ntype UnionToIntersection<Union> =\n (Union extends any ? (k: Union) => void : never) extends ((k: infer Intersection) => void)\n ? Intersection : never\n\ntype TxElem = readonly [string, FIELD_TYPES | Field]\n| readonly [string, FIELD_TYPES, EncodingType | readonly EncodingType[]]\n\ntype BuildTxArgBySchemaType<\n Type extends FIELD_TYPES | Field,\n Prefix extends undefined | EncodingType | readonly EncodingType[]\n> =\n Type extends typeof Field\n ? Parameters<Type['serialize']>[0]\n : Type extends FIELD_TYPES\n ? BuildFieldTypes<Prefix>[Type]\n : never\n\ntype NullablePartial<\n T,\n NK extends keyof T = { [K in keyof T]: undefined extends T[K] ? K : never }[keyof T]\n> = Partial<Pick<T, NK>> & Omit<T, NK>\n\ntype BuildTxArgBySchema<SchemaLine> =\n UnionToIntersection<\n SchemaLine extends ReadonlyArray<infer Elem>\n ? Elem extends TxElem\n ? NullablePartial<{ [k in Elem[0]]: BuildTxArgBySchemaType<Elem[1], Elem[2]> }>\n : never\n : never\n >\n\nexport type RawTxObject<Tx extends TxSchema> = {\n [k in keyof Tx]: Tx[k] extends BigNumber ? string : Tx[k]\n}\n\nconst BASE_TX = [\n ['tag', FIELD_TYPES.shortInt],\n ['VSN', FIELD_TYPES.shortInt]\n] as const\n\nexport const TX_SCHEMA = {\n [TX_TYPE.account]: {\n 2: [\n ...BASE_TX,\n ['flags', FIELD_TYPES.int],\n ['nonce', FIELD_TYPES.shortInt],\n ['balance', FIELD_TYPES.int],\n ['gaContract', FIELD_TYPES.id, ['ct', 'nm']],\n ['gaAuthFun', FIELD_TYPES.binary, 'cb']\n ]\n },\n [TX_TYPE.signed]: {\n 1: [\n ...BASE_TX,\n ['signatures', FIELD_TYPES.signatures],\n ['encodedTx', FIELD_TYPES.rlpBinary]\n ]\n },\n [TX_TYPE.spend]: {\n 1: [\n ...BASE_TX,\n ['senderId', FIELD_TYPES.id, 'ak'],\n ['recipientId', FIELD_TYPES.id, ['ak', 'nm']],\n ['amount', FIELD_TYPES.amount],\n ['fee', FIELD_TYPES.int],\n ['ttl', FIELD_TYPES.shortInt],\n ['nonce', FIELD_TYPES.shortInt],\n ['payload', FIELD_TYPES.payload]\n ]\n },\n [TX_TYPE.namePreClaim]: {\n 1: [\n ...BASE_TX,\n ['accountId', FIELD_TYPES.id, 'ak'],\n ['nonce', FIELD_TYPES.shortInt],\n ['commitmentId', FIELD_TYPES.id, 'cm'],\n ['fee', FIELD_TYPES.int],\n ['ttl', FIELD_TYPES.shortInt]\n ]\n },\n [TX_TYPE.nameClaim]: {\n 2: [\n ...BASE_TX,\n ['accountId', FIELD_TYPES.id, 'ak'],\n ['nonce', FIELD_TYPES.shortInt],\n ['name', Name],\n ['nameSalt', FIELD_TYPES.int],\n ['nameFee', NameFee],\n ['fee', FIELD_TYPES.int],\n ['ttl', FIELD_TYPES.shortInt]\n ]\n },\n [TX_TYPE.nameUpdate]: {\n 1: [\n ...BASE_TX,\n ['accountId', FIELD_TYPES.id, 'ak'],\n ['nonce', FIELD_TYPES.shortInt],\n ['nameId', NameId],\n ['nameTtl', FIELD_TYPES.int],\n ['pointers', FIELD_TYPES.pointers],\n ['clientTtl', FIELD_TYPES.shortInt],\n ['fee', FIELD_TYPES.int],\n ['ttl', FIELD_TYPES.shortInt]\n ]\n },\n [TX_TYPE.nameTransfer]: {\n 1: [\n ...BASE_TX,\n ['accountId', FIELD_TYPES.id, 'ak'],\n ['nonce', FIELD_TYPES.shortInt],\n ['nameId', NameId],\n ['recipientId', FIELD_TYPES.id, ['ak', 'nm']],\n ['fee', FIELD_TYPES.int],\n ['ttl', FIELD_TYPES.shortInt]\n ]\n },\n [TX_TYPE.nameRevoke]: {\n 1: [\n ...BASE_TX,\n ['accountId', FIELD_TYPES.id, 'ak'],\n ['nonce', FIELD_TYPES.shortInt],\n ['nameId', NameId],\n ['fee', FIELD_TYPES.int],\n ['ttl', FIELD_TYPES.shortInt]\n ]\n },\n [TX_TYPE.contract]: {\n 1: [\n ...BASE_TX,\n ['owner', FIELD_TYPES.id, 'ak'],\n ['ctVersion', FIELD_TYPES.ctVersion],\n ['code', FIELD_TYPES.binary, 'cb'],\n ['log', FIELD_TYPES.binary, 'cb'],\n ['active', FIELD_TYPES.bool],\n ['referers', FIELD_TYPES.ids, 'ak'],\n ['deposit', Deposit]\n ]\n },\n [TX_TYPE.contractCreate]: {\n 1: [\n ...BASE_TX,\n ['ownerId', FIELD_TYPES.id, 'ak'],\n ['nonce', FIELD_TYPES.shortInt],\n ['code', FIELD_TYPES.binary, 'cb'],\n ['ctVersion', FIELD_TYPES.ctVersion],\n ['fee', FIELD_TYPES.int],\n ['ttl', FIELD_TYPES.shortInt],\n ['deposit', Deposit],\n ['amount', FIELD_TYPES.amount],\n ['gasLimit', FIELD_TYPES.shortInt],\n ['gasPrice', GasPrice],\n ['callData', FIELD_TYPES.binary, 'cb']\n ]\n },\n [TX_TYPE.contractCall]: {\n 1: [\n ...BASE_TX,\n ['callerId', FIELD_TYPES.id, 'ak'],\n ['nonce', FIELD_TYPES.shortInt],\n ['contractId', FIELD_TYPES.id, ['ct', 'nm']],\n ['abiVersion', FIELD_TYPES.abiVersion],\n ['fee', FIELD_TYPES.int],\n ['ttl', FIELD_TYPES.shortInt],\n ['amount', FIELD_TYPES.amount],\n ['gasLimit', FIELD_TYPES.shortInt],\n ['gasPrice', GasPrice],\n ['callData', FIELD_TYPES.binary, 'cb']\n ]\n },\n [TX_TYPE.contractCallResult]: {\n 1: [\n ...BASE_TX,\n ['callerId', FIELD_TYPES.id, 'ak'],\n ['callerNonce', FIELD_TYPES.shortInt],\n ['height', FIELD_TYPES.shortInt],\n ['contractId', FIELD_TYPES.id, 'ct'],\n ['gasPrice', GasPrice],\n ['gasUsed', FIELD_TYPES.shortInt],\n ['returnValue', FIELD_TYPES.binary, 'cb'],\n ['returnType', FIELD_TYPES.callReturnType],\n // TODO: add serialization for\n // <log> :: [ { <address> :: id, [ <topics> :: binary() ], <data> :: binary() } ]\n ['log', FIELD_TYPES.rawBinary]\n ]\n },\n [TX_TYPE.oracleRegister]: {\n 1: [\n ...BASE_TX,\n ['accountId', FIELD_TYPES.id, 'ak'],\n ['nonce', FIELD_TYPES.shortInt],\n ['queryFormat', FIELD_TYPES.string],\n ['responseFormat', FIELD_TYPES.string],\n ['queryFee', FIELD_TYPES.amount],\n ['oracleTtlType', FIELD_TYPES.ttlType],\n ['oracleTtlValue', FIELD_TYPES.shortInt],\n ['fee', FIELD_TYPES.int],\n ['ttl', FIELD_TYPES.shortInt],\n ['abiVersion', FIELD_TYPES.abiVersion]\n ]\n },\n [TX_TYPE.oracleExtend]: {\n 1: [\n ...BASE_TX,\n ['oracleId', FIELD_TYPES.id, ['ok', 'nm']],\n ['nonce', FIELD_TYPES.shortInt],\n ['oracleTtlType', FIELD_TYPES.ttlType],\n ['oracleTtlValue', FIELD_TYPES.shortInt],\n ['fee', FIELD_TYPES.int],\n ['ttl', FIELD_TYPES.shortInt]\n ]\n },\n [TX_TYPE.oracleQuery]: {\n 1: [\n ...BASE_TX,\n ['senderId', FIELD_TYPES.id, 'ak'],\n ['nonce', FIELD_TYPES.shortInt],\n ['oracleId', FIELD_TYPES.id, ['ok', 'nm']],\n ['query', FIELD_TYPES.string],\n ['queryFee', FIELD_TYPES.amount],\n ['queryTtlType', FIELD_TYPES.ttlType],\n ['queryTtlValue', FIELD_TYPES.shortInt],\n ['responseTtlType', FIELD_TYPES.ttlType],\n ['responseTtlValue', FIELD_TYPES.shortInt],\n ['fee', FIELD_TYPES.int],\n ['ttl', FIELD_TYPES.shortInt]\n ]\n },\n [TX_TYPE.oracleResponse]: {\n 1: [\n ...BASE_TX,\n ['oracleId', FIELD_TYPES.id, 'ok'],\n ['nonce', FIELD_TYPES.shortInt],\n ['queryId', FIELD_TYPES.binary, 'oq'],\n ['response', FIELD_TYPES.string],\n ['responseTtlType', FIELD_TYPES.ttlType],\n ['responseTtlValue', FIELD_TYPES.shortInt],\n ['fee', FIELD_TYPES.int],\n ['ttl', FIELD_TYPES.shortInt]\n ]\n },\n [TX_TYPE.channelCreate]: {\n 2: [\n ...BASE_TX,\n ['initiator', FIELD_TYPES.id, 'ak'],\n ['initiatorAmount', FIELD_TYPES.int],\n ['responder', FIELD_TYPES.id, 'ak'],\n ['responderAmount', FIELD_TYPES.int],\n ['channelReserve', FIELD_TYPES.int],\n ['lockPeriod', FIELD_TYPES.int],\n ['ttl', FIELD_TYPES.shortInt],\n ['fee', FIELD_TYPES.int],\n ['initiatorDelegateIds', FIELD_TYPES.string],\n ['responderDelegateIds', FIELD_TYPES.string],\n ['stateHash', FIELD_TYPES.binary, 'st'],\n ['nonce', FIELD_TYPES.shortInt]\n ]\n },\n [TX_TYPE.channelCloseMutual]: {\n 1: [\n ...BASE_TX,\n ['channelId', FIELD_TYPES.id, 'ch'],\n ['fromId', FIELD_TYPES.id, 'ak'],\n ['initiatorAmountFinal', FIELD_TYPES.int],\n ['responderAmountFinal', FIELD_TYPES.int],\n ['ttl', FIELD_TYPES.shortInt],\n ['fee', FIELD_TYPES.int],\n ['nonce', FIELD_TYPES.shortInt]\n ]\n },\n [TX_TYPE.channelCloseSolo]: {\n 1: [\n ...BASE_TX,\n ['channelId', FIELD_TYPES.id, 'ch'],\n ['fromId', FIELD_TYPES.id, 'ak'],\n ['payload', FIELD_TYPES.binary, 'tx'],\n ['poi', FIELD_TYPES.binary, 'pi'],\n ['ttl', FIELD_TYPES.shortInt],\n ['fee', FIELD_TYPES.int],\n ['nonce', FIELD_TYPES.shortInt]\n ]\n },\n [TX_TYPE.channelSlash]: {\n 1: [\n ...BASE_TX,\n ['channelId', FIELD_TYPES.id, 'ch'],\n ['fromId', FIELD_TYPES.id, 'ak'],\n ['payload', FIELD_TYPES.binary, 'tx'],\n ['poi', FIELD_TYPES.binary, 'pi'],\n ['ttl', FIELD_TYPES.shortInt],\n ['fee', FIELD_TYPES.int],\n ['nonce', FIELD_TYPES.shortInt]\n ]\n },\n [TX_TYPE.channelDeposit]: {\n 1: [\n ...BASE_TX,\n ['channelId', FIELD_TYPES.id, 'ch'],\n ['fromId', FIELD_TYPES.id, 'ak'],\n ['amount', FIELD_TYPES.int],\n ['ttl', FIELD_TYPES.shortInt],\n ['fee', FIELD_TYPES.int],\n ['stateHash', FIELD_TYPES.binary, 'st'],\n ['round', FIELD_TYPES.int],\n ['nonce', FIELD_TYPES.shortInt]\n ]\n },\n [TX_TYPE.channelWithdraw]: {\n 1: [\n ...BASE_TX,\n ['channelId', FIELD_TYPES.id, 'ch'],\n ['toId', FIELD_TYPES.id, 'ak'],\n ['amount', FIELD_TYPES.int],\n ['ttl', FIELD_TYPES.shortInt],\n ['fee', FIELD_TYPES.int],\n ['stateHash', FIELD_TYPES.binary, 'st'],\n ['round', FIELD_TYPES.int],\n ['nonce', FIELD_TYPES.shortInt]\n ]\n },\n [TX_TYPE.channelSettle]: {\n 1: [\n ...BASE_TX,\n ['channelId', FIELD_TYPES.id, 'ch'],\n ['fromId', FIELD_TYPES.id, 'ak'],\n ['initiatorAmountFinal', FIELD_TYPES.int],\n ['responderAmountFinal', FIELD_TYPES.int],\n ['ttl', FIELD_TYPES.shortInt],\n ['fee', FIELD_TYPES.int],\n ['nonce', FIELD_TYPES.shortInt]\n ]\n },\n [TX_TYPE.channelForceProgress]: {\n 1: [\n ...BASE_TX,\n ['channelId', FIELD_TYPES.id, 'ch'],\n ['fromId', FIELD_TYPES.id, 'ak'],\n ['payload', FIELD_TYPES.binary, 'tx'],\n ['round', FIELD_TYPES.int],\n ['update', FIELD_TYPES.binary, 'cb'],\n ['stateHash', FIELD_TYPES.binary, 'st'],\n ['offChainTrees', FIELD_TYPES.stateTree],\n ['ttl', FIELD_TYPES.shortInt],\n ['fee', FIELD_TYPES.int],\n ['nonce', FIELD_TYPES.shortInt]\n ]\n },\n [TX_TYPE.channelOffChain]: {\n 2: [\n ...BASE_TX,\n ['channelId', FIELD_TYPES.id, 'ch'],\n ['round', FIELD_TYPES.int],\n ['stateHash', FIELD_TYPES.binary, 'st']\n ]\n },\n [TX_TYPE.channel]: {\n 3: [\n ...BASE_TX,\n ['initiator', FIELD_TYPES.id, 'ak'],\n ['responder', FIELD_TYPES.id, 'ak'],\n ['channelAmount', FIELD_TYPES.int],\n ['initiatorAmount', FIELD_TYPES.int],\n ['responderAmount', FIELD_TYPES.int],\n ['channelReserve', FIELD_TYPES.int],\n ['initiatorDelegateIds', FIELD_TYPES.ids],\n ['responderDelegateIds', FIELD_TYPES.ids],\n ['stateHash', FIELD_TYPES.hex],\n ['round', FIELD_TYPES.int],\n ['soloRound', FIELD_TYPES.int],\n ['lockPeriod', FIELD_TYPES.int],\n ['lockedUntil', FIELD_TYPES.int],\n ['initiatorAuth', FIELD_TYPES.binary, 'cb'],\n ['responderAuth', FIELD_TYPES.binary, 'cb']\n ]\n },\n [TX_TYPE.channelSnapshotSolo]: {\n 1: [\n ...BASE_TX,\n ['channelId', FIELD_TYPES.id, 'ch'],\n ['fromId', FIELD_TYPES.id, 'ak'],\n ['payload', FIELD_TYPES.binary, 'tx'],\n ['ttl', FIELD_TYPES.shortInt],\n ['fee', FIELD_TYPES.int],\n ['nonce', FIELD_TYPES.shortInt]\n ]\n },\n [TX_TYPE.channelOffChainUpdateTransfer]: {\n 1: [\n ...BASE_TX,\n ['from', FIELD_TYPES.id, 'ak'],\n ['to', FIELD_TYPES.id, 'ak'],\n ['amount', FIELD_TYPES.int]\n ]\n },\n [TX_TYPE.channelOffChainUpdateDeposit]: {\n 1: [\n ...BASE_TX,\n ['from', FIELD_TYPES.id, 'ak'],\n ['amount', FIELD_TYPES.int]\n ]\n },\n [TX_TYPE.channelOffChainUpdateWithdrawal]: {\n 1: [\n ...BASE_TX,\n ['from', FIELD_TYPES.id, 'ak'],\n ['amount', FIELD_TYPES.int]\n ]\n },\n [TX_TYPE.channelOffChainCreateContract]: {\n 1: [\n ...BASE_TX,\n ['owner', FIELD_TYPES.id, 'ak'],\n ['ctVersion', FIELD_TYPES.ctVersion],\n ['code', FIELD_TYPES.binary, 'cb'],\n ['deposit', FIELD_TYPES.int],\n ['callData', FIELD_TYPES.binary, 'cb']\n ]\n },\n [TX_TYPE.channelOffChainCallContract]: {\n 1: [\n ...BASE_TX,\n ['caller', FIELD_TYPES.id, 'ak'],\n ['contract', FIELD_TYPES.id, 'ct'],\n ['abiVersion', FIELD_TYPES.abiVersion],\n ['amount', FIELD_TYPES.int],\n ['callData', FIELD_TYPES.binary, 'cb'],\n ['callStack', FIELD_TYPES.callStack],\n ['gasPrice', GasPrice],\n ['gasLimit', FIELD_TYPES.shortInt]\n ]\n },\n [TX_TYPE.channelReconnect]: {\n 1: [\n ...BASE_TX,\n ['channelId', FIELD_TYPES.id, 'ch'],\n ['round', FIELD_TYPES.int],\n ['role', FIELD_TYPES.string],\n ['pubkey', FIELD_TYPES.id, 'ak']\n ]\n },\n [TX_TYPE.proofOfInclusion]: {\n 1: [\n ...BASE_TX,\n ['accounts', FIELD_TYPES.mptrees],\n ['calls', FIELD_TYPES.mptrees],\n ['channels', FIELD_TYPES.mptrees],\n ['contracts', FIELD_TYPES.mptrees],\n ['ns', FIELD_TYPES.mptrees],\n ['oracles', FIELD_TYPES.mptrees]\n ]\n },\n [TX_TYPE.stateTrees]: {\n 1: [\n ...BASE_TX,\n ['contracts', FIELD_TYPES.rlpBinary],\n ['calls', FIELD_TYPES.rlpBinary],\n ['channels', FIELD_TYPES.rlpBinary],\n ['ns', FIELD_TYPES.rlpBinary],\n ['oracles', FIELD_TYPES.rlpBinary],\n ['accounts', FIELD_TYPES.rlpBinary]\n ]\n },\n [TX_TYPE.merklePatriciaTree]: {\n 1: [\n ...BASE_TX,\n ['values', FIELD_TYPES.rlpBinaries]\n ]\n },\n [TX_TYPE.merklePatriciaTreeValue]: {\n 1: [\n ...BASE_TX,\n ['key', FIELD_TYPES.hex],\n ['value', FIELD_TYPES.rawBinary]\n ]\n },\n [TX_TYPE.contractsTree]: {\n 1: [\n ...BASE_TX,\n ['contracts', FIELD_TYPES.rlpBinary]\n ]\n },\n [TX_TYPE.contractCallsTree]: {\n 1: [\n ...BASE_TX,\n ['calls', FIELD_TYPES.rlpBinary]\n ]\n },\n [TX_TYPE.channelsTree]: {\n 1: [\n ...BASE_TX,\n ['channels', FIELD_TYPES.rlpBinary]\n ]\n },\n [TX_TYPE.nameserviceTree]: {\n 1: [\n ...BASE_TX,\n ['mtree', FIELD_TYPES.rlpBinary]\n ]\n },\n [TX_TYPE.oraclesTree]: {\n 1: [\n ...BASE_TX,\n ['otree', FIELD_TYPES.rlpBinary]\n ]\n },\n [TX_TYPE.accountsTree]: {\n 1: [\n ...BASE_TX,\n ['accounts', FIELD_TYPES.rlpBinary]\n ]\n },\n [TX_TYPE.gaAttach]: {\n 1: [\n ...BASE_TX,\n ['ownerId', FIELD_TYPES.id, 'ak'],\n ['nonce', FIELD_TYPES.shortInt],\n ['code', FIELD_TYPES.binary, 'cb'],\n ['authFun', FIELD_TYPES.rawBinary],\n ['ctVersion', FIELD_TYPES.ctVersion],\n ['fee', FIELD_TYPES.int],\n ['ttl', FIELD_TYPES.shortInt],\n ['gasLimit', FIELD_TYPES.shortInt],\n ['gasPrice', GasPrice],\n ['callData', FIELD_TYPES.binary, 'cb']\n ]\n },\n [TX_TYPE.gaMeta]: {\n 2: [\n ...BASE_TX,\n ['gaId', FIELD_TYPES.id, 'ak'],\n ['authData', FIELD_TYPES.binary, 'cb'],\n ['abiVersion', FIELD_TYPES.abiVersion],\n ['fee', FIELD_TYPES.int],\n ['gasLimit', FIELD_TYPES.shortInt],\n ['gasPrice', GasPrice],\n ['tx', FIELD_TYPES.rlpBinary]\n ]\n },\n [TX_TYPE.payingFor]: {\n 1: [\n ...BASE_TX,\n ['payerId', FIELD_TYPES.id, 'ak'],\n ['nonce', FIELD_TYPES.shortInt],\n ['fee', FIELD_TYPES.int],\n ['tx', FIELD_TYPES.rlpBinary]\n ]\n },\n [TX_TYPE.sophiaByteCode]: {\n 3: [\n ...BASE_TX,\n ['sourceCodeHash', FIELD_TYPES.rawBinary],\n ['typeInfo', FIELD_TYPES.sophiaCodeTypeInfo],\n ['byteCode', FIELD_TYPES.rawBinary],\n ['compilerVersion', FIELD_TYPES.string],\n ['payable', FIELD_TYPES.bool]\n ]\n }\n} as const\n\nexport type TxTypeSchemas = {\n [key in TX_TYPE]: BuildTxArgBySchema<\n typeof TX_SCHEMA[key][keyof typeof TX_SCHEMA[key]]\n >\n}\n\nexport type TxSchema = TxTypeSchemas[TX_TYPE]\nexport type TxParamsCommon = Partial<UnionToIntersection<TxSchema>>\n"],"mappings":"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"}
|
package/es/tx/index.d.ts
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
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 { ABI_VERSIONS, CtVersion, TX_TYPE, TxParamsCommon } from './builder/schema';
|
|
9
|
+
import BigNumber from 'bignumber.js';
|
|
10
|
+
import Node from '../Node';
|
|
11
|
+
import { EncodedData } from '../utils/encoder';
|
|
12
|
+
import { buildTx as syncBuildTx } from './builder/index';
|
|
13
|
+
import { AE_AMOUNT_FORMATS } from '../utils/amount-formatter';
|
|
14
|
+
declare type Int = number | string | BigNumber;
|
|
15
|
+
export declare type BuildTxOptions<TxType extends TX_TYPE, OmitFields extends string> = Omit<Parameters<typeof _buildTx<TxType>>[1], OmitFields>;
|
|
16
|
+
export declare function _buildTx<TxType extends TX_TYPE>(txType: TxType, { denomination, absoluteTtl, ..._params }: Omit<Parameters<typeof syncBuildTx<TxType, 'tx'>>[0], 'fee' | 'nonce' | 'ttl' | 'ctVersion' | 'abiVersion'> & {
|
|
17
|
+
onNode: Node;
|
|
18
|
+
fee?: Int;
|
|
19
|
+
nonce?: number;
|
|
20
|
+
ttl?: number;
|
|
21
|
+
denomination?: AE_AMOUNT_FORMATS;
|
|
22
|
+
absoluteTtl?: boolean;
|
|
23
|
+
} & (TxType extends TX_TYPE.oracleExtend | TX_TYPE.oracleResponse ? {
|
|
24
|
+
callerId: EncodedData<'ak'>;
|
|
25
|
+
} : {}) & (TxType extends TX_TYPE.contractCreate | TX_TYPE.gaAttach ? {
|
|
26
|
+
ctVersion?: CtVersion;
|
|
27
|
+
} : {}) & (TxType extends TX_TYPE.contractCall | TX_TYPE.oracleRegister ? {
|
|
28
|
+
abiVersion?: ABI_VERSIONS;
|
|
29
|
+
} : {})): Promise<EncodedData<'tx'>>;
|
|
30
|
+
/**
|
|
31
|
+
* Validated vm/abi version or get default based on transaction type and NODE version
|
|
32
|
+
*
|
|
33
|
+
* @param txType - Type of transaction
|
|
34
|
+
* @param ctVersion - Object with vm and abi version fields
|
|
35
|
+
* @returns Object with vm/abi version
|
|
36
|
+
*/
|
|
37
|
+
export declare function getVmVersion(txType: TX_TYPE.contractCreate, ctVersion: Partial<CtVersion> & {
|
|
38
|
+
onNode: Node;
|
|
39
|
+
}): Promise<CtVersion>;
|
|
40
|
+
export declare function getVmVersion(txType: TX_TYPE, ctVersion: Partial<Pick<CtVersion, 'abiVersion'>> & {
|
|
41
|
+
onNode: Node;
|
|
42
|
+
}): Promise<Pick<CtVersion, 'abiVersion'>>;
|
|
43
|
+
/**
|
|
44
|
+
* Calculate fee, get absolute ttl (ttl + height), get account nonce
|
|
45
|
+
*
|
|
46
|
+
* @param txType - Type of transaction
|
|
47
|
+
* @param params - Object which contains all tx data
|
|
48
|
+
* @returns Object with account nonce, absolute ttl and transaction fee
|
|
49
|
+
*/
|
|
50
|
+
export declare function prepareTxParams(txType: TX_TYPE, { senderId, nonce, ttl, fee: f, absoluteTtl, vsn, strategy, denomination, onNode, ...txParams }: PrepareTxParamsOptions): Promise<{
|
|
51
|
+
fee: BigNumber;
|
|
52
|
+
ttl: number;
|
|
53
|
+
nonce: number;
|
|
54
|
+
}>;
|
|
55
|
+
interface PrepareTxParamsOptions extends Pick<TxParamsCommon, 'nonce' | 'ttl' | 'fee'> {
|
|
56
|
+
senderId: EncodedData<'ak'>;
|
|
57
|
+
vsn?: number;
|
|
58
|
+
absoluteTtl?: boolean;
|
|
59
|
+
strategy?: 'continuity' | 'max';
|
|
60
|
+
denomination?: AE_AMOUNT_FORMATS;
|
|
61
|
+
onNode: Node;
|
|
62
|
+
}
|
|
63
|
+
export {};
|