@aeternity/aepp-sdk 13.2.1 → 13.3.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 +1 -1
- package/bin/aesophia_cli +0 -0
- package/bin/aesophia_cli_8 +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 +7288 -9464
- package/dist/aepp-sdk.js.map +1 -1
- package/es/AeSdk.d.ts +3 -0
- package/es/AeSdk.mjs +12 -12
- package/es/AeSdk.mjs.map +1 -1
- package/es/AeSdkAepp.d.ts +0 -1
- package/es/AeSdkAepp.mjs +12 -16
- package/es/AeSdkAepp.mjs.map +1 -1
- package/es/AeSdkBase.d.ts +61 -6
- package/es/AeSdkBase.mjs +150 -69
- package/es/AeSdkBase.mjs.map +1 -1
- package/es/AeSdkMethods.d.ts +19 -7
- package/es/AeSdkMethods.mjs +39 -38
- package/es/AeSdkMethods.mjs.map +1 -1
- package/es/AeSdkWallet.mjs +86 -55
- package/es/AeSdkWallet.mjs.map +1 -1
- package/es/Middleware.d.ts +1 -1
- package/es/Middleware.mjs +32 -28
- package/es/Middleware.mjs.map +1 -1
- package/es/MiddlewareSubscriber.mjs +5 -14
- package/es/MiddlewareSubscriber.mjs.map +1 -1
- package/es/Node.d.ts +11 -3
- package/es/Node.mjs +65 -57
- package/es/Node.mjs.map +1 -1
- package/es/account/Base.d.ts +39 -3
- package/es/account/Base.mjs +35 -1
- package/es/account/Base.mjs.map +1 -1
- package/es/account/Generalized.d.ts +2 -0
- package/es/account/Generalized.mjs +15 -6
- package/es/account/Generalized.mjs.map +1 -1
- package/es/account/Ledger.d.ts +2 -0
- package/es/account/Ledger.mjs +14 -5
- package/es/account/Ledger.mjs.map +1 -1
- package/es/account/LedgerFactory.mjs +4 -6
- package/es/account/LedgerFactory.mjs.map +1 -1
- package/es/account/Memory.d.ts +15 -4
- package/es/account/Memory.mjs +96 -31
- package/es/account/Memory.mjs.map +1 -1
- package/es/account/Rpc.d.ts +16 -5
- package/es/account/Rpc.mjs +94 -21
- package/es/account/Rpc.mjs.map +1 -1
- package/es/aens.d.ts +17 -44
- package/es/aens.mjs +32 -71
- package/es/aens.mjs.map +1 -1
- package/es/aepp-wallet-communication/connection/Browser.mjs +3 -4
- package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -1
- package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +3 -0
- package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +7 -5
- package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -1
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +8 -9
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -1
- package/es/aepp-wallet-communication/rpc/RpcClient.mjs +7 -7
- package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -1
- package/es/aepp-wallet-communication/rpc/types.d.ts +14 -0
- package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -1
- package/es/aepp-wallet-communication/schema.d.ts +2 -0
- package/es/aepp-wallet-communication/schema.mjs +2 -0
- package/es/aepp-wallet-communication/schema.mjs.map +1 -1
- package/es/aepp-wallet-communication/wallet-detector.d.ts +2 -5
- package/es/aepp-wallet-communication/wallet-detector.mjs +13 -9
- package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -1
- package/es/apis/compiler/compiler.mjs.map +1 -1
- package/es/apis/compiler/models/index.d.ts +1 -0
- package/es/apis/compiler/models/index.mjs.map +1 -1
- package/es/apis/compiler/models/mappers.mjs +13 -0
- package/es/apis/compiler/models/mappers.mjs.map +1 -1
- package/es/apis/compiler/models/parameters.mjs.map +1 -1
- package/es/apis/middleware/middleware.d.ts +23 -5
- package/es/apis/middleware/middleware.mjs +114 -18
- package/es/apis/middleware/middleware.mjs.map +1 -1
- package/es/apis/middleware/models/index.d.ts +164 -15
- package/es/apis/middleware/models/index.mjs +53 -3
- package/es/apis/middleware/models/index.mjs.map +1 -1
- package/es/apis/middleware/models/mappers.d.ts +8 -1
- package/es/apis/middleware/models/mappers.mjs +376 -3
- package/es/apis/middleware/models/mappers.mjs.map +1 -1
- package/es/apis/middleware/models/parameters.d.ts +6 -3
- package/es/apis/middleware/models/parameters.mjs +38 -11
- package/es/apis/middleware/models/parameters.mjs.map +1 -1
- package/es/apis/node/models/index.d.ts +66 -2
- package/es/apis/node/models/index.mjs.map +1 -1
- package/es/apis/node/models/mappers.d.ts +5 -1
- package/es/apis/node/models/mappers.mjs +229 -7
- package/es/apis/node/models/mappers.mjs.map +1 -1
- package/es/apis/node/models/parameters.d.ts +2 -2
- package/es/apis/node/models/parameters.mjs +2 -2
- package/es/apis/node/models/parameters.mjs.map +1 -1
- package/es/apis/node/node.d.ts +24 -3
- package/es/apis/node/node.mjs +135 -3
- package/es/apis/node/node.mjs.map +1 -1
- package/es/chain.d.ts +14 -44
- package/es/chain.mjs +125 -219
- package/es/chain.mjs.map +1 -1
- package/es/channel/Base.d.ts +3 -47
- package/es/channel/Base.mjs +21 -54
- package/es/channel/Base.mjs.map +1 -1
- package/es/channel/Contract.d.ts +16 -25
- package/es/channel/Contract.mjs +39 -63
- package/es/channel/Contract.mjs.map +1 -1
- package/es/channel/Spend.d.ts +0 -8
- package/es/channel/Spend.mjs +17 -29
- package/es/channel/Spend.mjs.map +1 -1
- package/es/channel/handlers.mjs +1 -1
- package/es/channel/handlers.mjs.map +1 -1
- package/es/channel/internal.d.ts +104 -5
- package/es/channel/internal.mjs +26 -34
- package/es/channel/internal.mjs.map +1 -1
- package/es/contract/Contract.d.ts +10 -2
- package/es/contract/Contract.mjs +83 -79
- package/es/contract/Contract.mjs.map +1 -1
- package/es/contract/compiler/Base.d.ts +14 -8
- package/es/contract/compiler/Base.mjs.map +1 -1
- package/es/contract/compiler/Cli.d.ts +12 -11
- package/es/contract/compiler/Cli.mjs +52 -25
- package/es/contract/compiler/Cli.mjs.map +1 -1
- package/es/contract/compiler/Cli8.d.ts +13 -0
- package/es/contract/compiler/Cli8.mjs +22 -0
- package/es/contract/compiler/Cli8.mjs.map +1 -0
- package/es/contract/compiler/Http.d.ts +3 -9
- package/es/contract/compiler/Http.mjs +28 -16
- package/es/contract/compiler/Http.mjs.map +1 -1
- package/es/contract/compiler/HttpNode.d.ts +2 -5
- package/es/contract/compiler/HttpNode.mjs.map +1 -1
- package/es/contract/delegation-signature.d.ts +2 -1
- package/es/contract/delegation-signature.mjs +18 -14
- package/es/contract/delegation-signature.mjs.map +1 -1
- package/es/contract/ga.d.ts +1 -2
- package/es/contract/ga.mjs +23 -25
- package/es/contract/ga.mjs.map +1 -1
- package/es/deprecated.d.ts +48 -0
- package/es/deprecated.mjs +66 -1
- package/es/deprecated.mjs.map +1 -1
- package/es/index-browser.d.ts +11 -6
- package/es/index-browser.mjs +10 -6
- package/es/index-browser.mjs.map +1 -1
- package/es/index.d.ts +1 -0
- package/es/index.mjs +1 -0
- package/es/index.mjs.map +1 -1
- package/es/oracle.d.ts +6 -37
- package/es/oracle.mjs +32 -66
- package/es/oracle.mjs.map +1 -1
- package/es/send-transaction.d.ts +53 -0
- package/es/send-transaction.mjs +109 -0
- package/es/send-transaction.mjs.map +1 -0
- package/es/spend.d.ts +4 -3
- package/es/spend.mjs +6 -1
- package/es/spend.mjs.map +1 -1
- package/es/tx/builder/common.d.ts +29 -0
- package/es/tx/builder/common.mjs +42 -0
- package/es/tx/builder/common.mjs.map +1 -0
- package/es/tx/builder/constants.d.ts +6 -5
- package/es/tx/builder/constants.mjs +7 -15
- package/es/tx/builder/constants.mjs.map +1 -1
- package/es/tx/builder/delegation/index.d.ts +20 -0
- package/es/tx/builder/delegation/index.mjs +24 -0
- package/es/tx/builder/delegation/index.mjs.map +1 -0
- package/es/tx/builder/delegation/schema.d.ts +130 -0
- package/es/tx/builder/delegation/schema.generated.d.ts +141 -0
- package/es/tx/builder/delegation/schema.generated.mjs +2 -0
- package/es/tx/builder/delegation/schema.generated.mjs.map +1 -0
- package/es/tx/builder/delegation/schema.mjs +54 -0
- package/es/tx/builder/delegation/schema.mjs.map +1 -0
- package/es/tx/builder/field-types/abi-version.mjs +8 -11
- package/es/tx/builder/field-types/abi-version.mjs.map +1 -1
- package/es/tx/builder/field-types/address.mjs +1 -4
- package/es/tx/builder/field-types/address.mjs.map +1 -1
- package/es/tx/builder/field-types/coin-amount.d.ts +2 -2
- package/es/tx/builder/field-types/coin-amount.mjs +6 -6
- package/es/tx/builder/field-types/coin-amount.mjs.map +1 -1
- package/es/tx/builder/field-types/ct-version.d.ts +1 -1
- package/es/tx/builder/field-types/ct-version.mjs +4 -5
- package/es/tx/builder/field-types/ct-version.mjs.map +1 -1
- package/es/tx/builder/field-types/entry.mjs +7 -13
- package/es/tx/builder/field-types/entry.mjs.map +1 -1
- package/es/tx/builder/field-types/fee.d.ts +19 -11
- package/es/tx/builder/field-types/fee.mjs +57 -39
- package/es/tx/builder/field-types/fee.mjs.map +1 -1
- package/es/tx/builder/field-types/gas-limit.mjs +13 -15
- package/es/tx/builder/field-types/gas-limit.mjs.map +1 -1
- package/es/tx/builder/field-types/gas-price.d.ts +10 -2
- package/es/tx/builder/field-types/gas-price.mjs +53 -4
- package/es/tx/builder/field-types/gas-price.mjs.map +1 -1
- package/es/tx/builder/field-types/index.d.ts +31 -29
- package/es/tx/builder/field-types/index.mjs +31 -29
- package/es/tx/builder/field-types/index.mjs.map +1 -1
- package/es/tx/builder/field-types/map.mjs +20 -31
- package/es/tx/builder/field-types/map.mjs.map +1 -1
- package/es/tx/builder/field-types/mptree.mjs +14 -29
- package/es/tx/builder/field-types/mptree.mjs.map +1 -1
- package/es/tx/builder/field-types/name-fee.d.ts +1 -1
- package/es/tx/builder/field-types/name-fee.mjs +1 -1
- package/es/tx/builder/field-types/name-fee.mjs.map +1 -1
- package/es/tx/builder/field-types/nonce.d.ts +1 -0
- package/es/tx/builder/field-types/nonce.mjs +2 -0
- package/es/tx/builder/field-types/nonce.mjs.map +1 -1
- package/es/tx/builder/field-types/pointers.mjs +4 -7
- package/es/tx/builder/field-types/pointers.mjs.map +1 -1
- package/es/tx/builder/field-types/pointers2.d.ts +23 -0
- package/es/tx/builder/field-types/pointers2.mjs +65 -0
- package/es/tx/builder/field-types/pointers2.mjs.map +1 -0
- package/es/tx/builder/field-types/query-fee.d.ts +19 -0
- package/es/tx/builder/field-types/query-fee.mjs +20 -0
- package/es/tx/builder/field-types/query-fee.mjs.map +1 -0
- package/es/tx/builder/field-types/ttl.d.ts +9 -1
- package/es/tx/builder/field-types/ttl.mjs +19 -8
- package/es/tx/builder/field-types/ttl.mjs.map +1 -1
- package/es/tx/builder/field-types/with-default.d.ts +7 -0
- package/es/tx/builder/field-types/with-default.mjs +9 -0
- package/es/tx/builder/field-types/with-default.mjs.map +1 -0
- package/es/tx/builder/field-types/with-formatting.d.ts +7 -0
- package/es/tx/builder/field-types/with-formatting.mjs +9 -0
- package/es/tx/builder/field-types/with-formatting.mjs.map +1 -0
- package/es/tx/builder/field-types/wrapped.mjs +6 -8
- package/es/tx/builder/field-types/wrapped.mjs.map +1 -1
- package/es/tx/builder/helpers.d.ts +2 -2
- package/es/tx/builder/helpers.mjs +12 -21
- package/es/tx/builder/helpers.mjs.map +1 -1
- package/es/tx/builder/index.d.ts +17 -10
- package/es/tx/builder/index.mjs +39 -65
- package/es/tx/builder/index.mjs.map +1 -1
- package/es/tx/builder/schema.d.ts +478 -257
- package/es/tx/builder/schema.generated.d.ts +39 -3
- package/es/tx/builder/schema.generated.mjs.map +1 -1
- package/es/tx/builder/schema.mjs +48 -36
- package/es/tx/builder/schema.mjs.map +1 -1
- package/es/tx/execution-cost.d.ts +6 -5
- package/es/tx/execution-cost.mjs +16 -17
- package/es/tx/execution-cost.mjs.map +1 -1
- package/es/tx/transaction-signer.mjs +1 -4
- package/es/tx/transaction-signer.mjs.map +1 -1
- package/es/tx/validator.mjs +61 -42
- package/es/tx/validator.mjs.map +1 -1
- package/es/utils/amount-formatter.mjs +15 -22
- package/es/utils/amount-formatter.mjs.map +1 -1
- package/es/utils/autorest.d.ts +2 -3
- package/es/utils/autorest.mjs +41 -25
- package/es/utils/autorest.mjs.map +1 -1
- package/es/utils/bytes.mjs +1 -2
- package/es/utils/bytes.mjs.map +1 -1
- package/es/utils/crypto.d.ts +9 -5
- package/es/utils/crypto.mjs +18 -14
- package/es/utils/crypto.mjs.map +1 -1
- package/es/utils/errors.d.ts +6 -0
- package/es/utils/errors.mjs +12 -6
- package/es/utils/errors.mjs.map +1 -1
- package/es/utils/hd-wallet.d.ts +2 -0
- package/es/utils/hd-wallet.mjs +6 -5
- package/es/utils/hd-wallet.mjs.map +1 -1
- package/es/utils/json-big.mjs +2 -10
- package/es/utils/json-big.mjs.map +1 -1
- package/es/utils/jwt.d.ts +53 -0
- package/es/utils/jwt.mjs +120 -0
- package/es/utils/jwt.mjs.map +1 -0
- package/es/utils/keystore.d.ts +6 -2
- package/es/utils/keystore.mjs +8 -16
- package/es/utils/keystore.mjs.map +1 -1
- package/es/utils/typed-data.d.ts +0 -2
- package/es/utils/typed-data.mjs +8 -23
- package/es/utils/typed-data.mjs.map +1 -1
- package/es/utils/wrap-proxy.d.ts +2 -0
- package/es/utils/wrap-proxy.mjs +15 -0
- package/es/utils/wrap-proxy.mjs.map +1 -0
- package/package.json +57 -51
- package/src/AeSdk.ts +3 -0
- package/src/AeSdkAepp.ts +0 -1
- package/src/AeSdkBase.ts +97 -10
- package/src/AeSdkMethods.ts +37 -33
- package/src/AeSdkWallet.ts +22 -3
- package/src/Middleware.ts +17 -9
- package/src/MiddlewareSubscriber.ts +1 -1
- package/src/Node.ts +51 -21
- package/src/account/Base.ts +62 -3
- package/src/account/Generalized.ts +10 -0
- package/src/account/Ledger.ts +10 -0
- package/src/account/Memory.ts +83 -9
- package/src/account/Rpc.ts +69 -6
- package/src/aens.ts +35 -56
- package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +3 -0
- package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +2 -2
- package/src/aepp-wallet-communication/rpc/RpcClient.ts +4 -2
- package/src/aepp-wallet-communication/rpc/types.ts +14 -1
- package/src/aepp-wallet-communication/schema.ts +2 -0
- package/src/aepp-wallet-communication/wallet-detector.ts +10 -10
- package/src/apis/compiler/compiler.ts +93 -93
- package/src/apis/compiler/models/index.ts +1 -0
- package/src/apis/compiler/models/mappers.ts +178 -165
- package/src/apis/compiler/models/parameters.ts +18 -18
- package/src/apis/middleware/middleware.ts +462 -341
- package/src/apis/middleware/models/index.ts +258 -56
- package/src/apis/middleware/models/mappers.ts +2357 -1919
- package/src/apis/middleware/models/parameters.ts +172 -142
- package/src/apis/node/models/index.ts +79 -2
- package/src/apis/node/models/mappers.ts +1529 -1302
- package/src/apis/node/models/parameters.ts +51 -51
- package/src/apis/node/node.ts +420 -275
- package/src/chain.ts +42 -128
- package/src/channel/Base.ts +14 -47
- package/src/channel/Contract.ts +18 -26
- package/src/channel/Spend.ts +0 -8
- package/src/channel/internal.ts +115 -13
- package/src/contract/Contract.ts +36 -12
- package/src/contract/compiler/Base.ts +15 -8
- package/src/contract/compiler/Cli.ts +44 -23
- package/src/contract/compiler/Cli8.ts +17 -0
- package/src/contract/compiler/Http.ts +24 -14
- package/src/contract/compiler/HttpNode.ts +2 -2
- package/src/contract/delegation-signature.ts +11 -5
- package/src/contract/ga.ts +4 -3
- package/src/deprecated.ts +55 -1
- package/src/index-browser.ts +18 -11
- package/src/index.ts +1 -0
- package/src/oracle.ts +11 -54
- package/src/send-transaction.ts +136 -0
- package/src/spend.ts +25 -11
- package/src/tx/builder/common.ts +74 -0
- package/src/tx/builder/constants.ts +7 -9
- package/src/tx/builder/delegation/index.ts +28 -0
- package/src/tx/builder/delegation/schema.generated.ts +143 -0
- package/src/tx/builder/delegation/schema.ts +61 -0
- package/src/tx/builder/field-types/coin-amount.ts +3 -2
- package/src/tx/builder/field-types/ct-version.ts +1 -1
- package/src/tx/builder/field-types/entry.ts +1 -4
- package/src/tx/builder/field-types/fee.ts +72 -44
- package/src/tx/builder/field-types/gas-limit.ts +4 -4
- package/src/tx/builder/field-types/gas-price.ts +59 -3
- package/src/tx/builder/field-types/index.ts +31 -59
- package/src/tx/builder/field-types/name-fee.ts +1 -1
- package/src/tx/builder/field-types/nonce.ts +7 -1
- package/src/tx/builder/field-types/pointers2.ts +62 -0
- package/src/tx/builder/field-types/query-fee.ts +25 -0
- package/src/tx/builder/field-types/ttl.ts +13 -3
- package/src/tx/builder/field-types/with-default.ts +18 -0
- package/src/tx/builder/field-types/with-formatting.ts +18 -0
- package/src/tx/builder/helpers.ts +2 -2
- package/src/tx/builder/index.ts +42 -59
- package/src/tx/builder/schema.generated.ts +39 -3
- package/src/tx/builder/schema.ts +55 -29
- package/src/tx/execution-cost.ts +6 -5
- package/src/tx/validator.ts +31 -5
- package/src/utils/autorest.ts +37 -28
- package/src/utils/crypto.ts +24 -14
- package/src/utils/errors.ts +10 -0
- package/src/utils/hd-wallet.ts +2 -0
- package/src/utils/jwt.ts +126 -0
- package/src/utils/keystore.ts +6 -2
- package/src/utils/typed-data.ts +4 -30
- package/src/utils/wrap-proxy.ts +24 -0
- package/types-legacy/ts4.2/AeSdk.d.ts +3 -0
- package/types-legacy/ts4.2/AeSdkAepp.d.ts +0 -1
- package/types-legacy/ts4.2/AeSdkBase.d.ts +61 -6
- package/types-legacy/ts4.2/AeSdkMethods.d.ts +19 -7
- package/types-legacy/ts4.2/Middleware.d.ts +1 -1
- package/types-legacy/ts4.2/Node.d.ts +15 -2
- package/types-legacy/ts4.2/account/Base.d.ts +39 -3
- package/types-legacy/ts4.2/account/Generalized.d.ts +2 -0
- package/types-legacy/ts4.2/account/Ledger.d.ts +2 -0
- package/types-legacy/ts4.2/account/Memory.d.ts +15 -4
- package/types-legacy/ts4.2/account/Rpc.d.ts +16 -5
- package/types-legacy/ts4.2/aens.d.ts +17 -44
- package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserRuntime.d.ts +3 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/rpc/types.d.ts +14 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/schema.d.ts +2 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/wallet-detector.d.ts +2 -5
- package/types-legacy/ts4.2/apis/compiler/models/index.d.ts +1 -0
- package/types-legacy/ts4.2/apis/middleware/middleware.d.ts +23 -5
- package/types-legacy/ts4.2/apis/middleware/models/index.d.ts +164 -15
- package/types-legacy/ts4.2/apis/middleware/models/mappers.d.ts +8 -1
- package/types-legacy/ts4.2/apis/middleware/models/parameters.d.ts +6 -3
- package/types-legacy/ts4.2/apis/node/models/index.d.ts +66 -2
- package/types-legacy/ts4.2/apis/node/models/mappers.d.ts +5 -1
- package/types-legacy/ts4.2/apis/node/models/parameters.d.ts +2 -2
- package/types-legacy/ts4.2/apis/node/node.d.ts +24 -3
- package/types-legacy/ts4.2/chain.d.ts +14 -44
- package/types-legacy/ts4.2/channel/Base.d.ts +3 -47
- package/types-legacy/ts4.2/channel/Contract.d.ts +16 -25
- package/types-legacy/ts4.2/channel/Spend.d.ts +0 -8
- package/types-legacy/ts4.2/channel/internal.d.ts +104 -5
- package/types-legacy/ts4.2/contract/Contract.d.ts +10 -2
- package/types-legacy/ts4.2/contract/compiler/Base.d.ts +14 -8
- package/types-legacy/ts4.2/contract/compiler/Cli.d.ts +12 -11
- package/types-legacy/ts4.2/contract/compiler/Cli8.d.ts +13 -0
- package/types-legacy/ts4.2/contract/compiler/Http.d.ts +3 -9
- package/types-legacy/ts4.2/contract/compiler/HttpNode.d.ts +2 -5
- package/types-legacy/ts4.2/contract/delegation-signature.d.ts +2 -1
- package/types-legacy/ts4.2/contract/ga.d.ts +1 -2
- package/types-legacy/ts4.2/deprecated.d.ts +48 -0
- package/types-legacy/ts4.2/index-browser.d.ts +11 -6
- package/types-legacy/ts4.2/index.d.ts +1 -0
- package/types-legacy/ts4.2/oracle.d.ts +6 -37
- package/types-legacy/ts4.2/send-transaction.d.ts +53 -0
- package/types-legacy/ts4.2/spend.d.ts +4 -3
- package/types-legacy/ts4.2/tx/builder/common.d.ts +32 -0
- package/types-legacy/ts4.2/tx/builder/constants.d.ts +6 -5
- package/types-legacy/ts4.2/tx/builder/delegation/index.d.ts +20 -0
- package/types-legacy/ts4.2/tx/builder/delegation/schema.d.ts +136 -0
- package/types-legacy/ts4.2/tx/builder/delegation/schema.generated.d.ts +141 -0
- package/types-legacy/ts4.2/tx/builder/field-types/coin-amount.d.ts +2 -2
- package/types-legacy/ts4.2/tx/builder/field-types/ct-version.d.ts +1 -1
- package/types-legacy/ts4.2/tx/builder/field-types/fee.d.ts +19 -11
- package/types-legacy/ts4.2/tx/builder/field-types/gas-price.d.ts +10 -2
- package/types-legacy/ts4.2/tx/builder/field-types/index.d.ts +31 -29
- package/types-legacy/ts4.2/tx/builder/field-types/name-fee.d.ts +1 -1
- package/types-legacy/ts4.2/tx/builder/field-types/nonce.d.ts +1 -0
- package/types-legacy/ts4.2/tx/builder/field-types/pointers2.d.ts +26 -0
- package/types-legacy/ts4.2/tx/builder/field-types/query-fee.d.ts +19 -0
- package/types-legacy/ts4.2/tx/builder/field-types/ttl.d.ts +9 -1
- package/types-legacy/ts4.2/tx/builder/field-types/with-default.d.ts +7 -0
- package/types-legacy/ts4.2/tx/builder/field-types/with-formatting.d.ts +7 -0
- package/types-legacy/ts4.2/tx/builder/helpers.d.ts +2 -2
- package/types-legacy/ts4.2/tx/builder/index.d.ts +17 -10
- package/types-legacy/ts4.2/tx/builder/schema.d.ts +482 -257
- package/types-legacy/ts4.2/tx/builder/schema.generated.d.ts +39 -3
- package/types-legacy/ts4.2/tx/execution-cost.d.ts +6 -5
- package/types-legacy/ts4.2/utils/autorest.d.ts +2 -3
- package/types-legacy/ts4.2/utils/crypto.d.ts +9 -5
- package/types-legacy/ts4.2/utils/errors.d.ts +6 -0
- package/types-legacy/ts4.2/utils/hd-wallet.d.ts +2 -0
- package/types-legacy/ts4.2/utils/jwt.d.ts +53 -0
- package/types-legacy/ts4.2/utils/keystore.d.ts +6 -2
- package/types-legacy/ts4.2/utils/typed-data.d.ts +0 -2
- package/types-legacy/ts4.2/utils/wrap-proxy.d.ts +2 -0
- package/types-legacy/ts4.5/AeSdk.d.ts +3 -0
- package/types-legacy/ts4.5/AeSdkAepp.d.ts +0 -1
- package/types-legacy/ts4.5/AeSdkBase.d.ts +61 -6
- package/types-legacy/ts4.5/AeSdkMethods.d.ts +19 -7
- package/types-legacy/ts4.5/Middleware.d.ts +1 -1
- package/types-legacy/ts4.5/Node.d.ts +15 -2
- package/types-legacy/ts4.5/account/Base.d.ts +39 -3
- package/types-legacy/ts4.5/account/Generalized.d.ts +2 -0
- package/types-legacy/ts4.5/account/Ledger.d.ts +2 -0
- package/types-legacy/ts4.5/account/Memory.d.ts +15 -4
- package/types-legacy/ts4.5/account/Rpc.d.ts +16 -5
- package/types-legacy/ts4.5/aens.d.ts +17 -44
- package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserRuntime.d.ts +3 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/rpc/types.d.ts +14 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/schema.d.ts +2 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/wallet-detector.d.ts +2 -5
- package/types-legacy/ts4.5/apis/compiler/models/index.d.ts +1 -0
- package/types-legacy/ts4.5/apis/middleware/middleware.d.ts +23 -5
- package/types-legacy/ts4.5/apis/middleware/models/index.d.ts +164 -15
- package/types-legacy/ts4.5/apis/middleware/models/mappers.d.ts +8 -1
- package/types-legacy/ts4.5/apis/middleware/models/parameters.d.ts +6 -3
- package/types-legacy/ts4.5/apis/node/models/index.d.ts +66 -2
- package/types-legacy/ts4.5/apis/node/models/mappers.d.ts +5 -1
- package/types-legacy/ts4.5/apis/node/models/parameters.d.ts +2 -2
- package/types-legacy/ts4.5/apis/node/node.d.ts +24 -3
- package/types-legacy/ts4.5/chain.d.ts +14 -44
- package/types-legacy/ts4.5/channel/Base.d.ts +3 -47
- package/types-legacy/ts4.5/channel/Contract.d.ts +16 -25
- package/types-legacy/ts4.5/channel/Spend.d.ts +0 -8
- package/types-legacy/ts4.5/channel/internal.d.ts +104 -5
- package/types-legacy/ts4.5/contract/Contract.d.ts +10 -2
- package/types-legacy/ts4.5/contract/compiler/Base.d.ts +14 -8
- package/types-legacy/ts4.5/contract/compiler/Cli.d.ts +12 -11
- package/types-legacy/ts4.5/contract/compiler/Cli8.d.ts +13 -0
- package/types-legacy/ts4.5/contract/compiler/Http.d.ts +3 -9
- package/types-legacy/ts4.5/contract/compiler/HttpNode.d.ts +2 -5
- package/types-legacy/ts4.5/contract/delegation-signature.d.ts +2 -1
- package/types-legacy/ts4.5/contract/ga.d.ts +1 -2
- package/types-legacy/ts4.5/deprecated.d.ts +48 -0
- package/types-legacy/ts4.5/index-browser.d.ts +11 -6
- package/types-legacy/ts4.5/index.d.ts +1 -0
- package/types-legacy/ts4.5/oracle.d.ts +6 -37
- package/types-legacy/ts4.5/send-transaction.d.ts +53 -0
- package/types-legacy/ts4.5/spend.d.ts +4 -3
- package/types-legacy/ts4.5/tx/builder/common.d.ts +32 -0
- package/types-legacy/ts4.5/tx/builder/constants.d.ts +6 -5
- package/types-legacy/ts4.5/tx/builder/delegation/index.d.ts +20 -0
- package/types-legacy/ts4.5/tx/builder/delegation/schema.d.ts +136 -0
- package/types-legacy/ts4.5/tx/builder/delegation/schema.generated.d.ts +141 -0
- package/types-legacy/ts4.5/tx/builder/field-types/coin-amount.d.ts +2 -2
- package/types-legacy/ts4.5/tx/builder/field-types/ct-version.d.ts +1 -1
- package/types-legacy/ts4.5/tx/builder/field-types/fee.d.ts +19 -11
- package/types-legacy/ts4.5/tx/builder/field-types/gas-price.d.ts +10 -2
- package/types-legacy/ts4.5/tx/builder/field-types/index.d.ts +31 -29
- package/types-legacy/ts4.5/tx/builder/field-types/name-fee.d.ts +1 -1
- package/types-legacy/ts4.5/tx/builder/field-types/nonce.d.ts +1 -0
- package/types-legacy/ts4.5/tx/builder/field-types/pointers2.d.ts +26 -0
- package/types-legacy/ts4.5/tx/builder/field-types/query-fee.d.ts +19 -0
- package/types-legacy/ts4.5/tx/builder/field-types/ttl.d.ts +9 -1
- package/types-legacy/ts4.5/tx/builder/field-types/with-default.d.ts +7 -0
- package/types-legacy/ts4.5/tx/builder/field-types/with-formatting.d.ts +7 -0
- package/types-legacy/ts4.5/tx/builder/helpers.d.ts +2 -2
- package/types-legacy/ts4.5/tx/builder/index.d.ts +17 -10
- package/types-legacy/ts4.5/tx/builder/schema.d.ts +482 -257
- package/types-legacy/ts4.5/tx/builder/schema.generated.d.ts +39 -3
- package/types-legacy/ts4.5/tx/execution-cost.d.ts +6 -5
- package/types-legacy/ts4.5/utils/autorest.d.ts +2 -3
- package/types-legacy/ts4.5/utils/crypto.d.ts +9 -5
- package/types-legacy/ts4.5/utils/errors.d.ts +6 -0
- package/types-legacy/ts4.5/utils/hd-wallet.d.ts +2 -0
- package/types-legacy/ts4.5/utils/jwt.d.ts +53 -0
- package/types-legacy/ts4.5/utils/keystore.d.ts +6 -2
- package/types-legacy/ts4.5/utils/typed-data.d.ts +0 -2
- package/types-legacy/ts4.5/utils/wrap-proxy.d.ts +2 -0
- package/es/tx/builder/field-types/deposit.d.ts +0 -15
- package/es/tx/builder/field-types/deposit.mjs +0 -18
- package/es/tx/builder/field-types/deposit.mjs.map +0 -1
- package/src/tx/builder/field-types/deposit.ts +0 -23
- package/types-legacy/ts4.2/tx/builder/field-types/deposit.d.ts +0 -15
- package/types-legacy/ts4.5/tx/builder/field-types/deposit.d.ts +0 -15
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.mjs","names":["Tag","uInt","shortUInt","coinAmount","name","nameId","nameFee","deposit","gasLimit","gasPrice","fee","address","pointers","entry","enumeration","mptree","shortUIntConst","string","encoded","raw","array","boolean","ctVersion","abiVersion","ttl","nonce","map","wrapped","Encoding","idTagToEncoding","ORACLE_TTL_TYPES","ORACLE_TTL","type","delta","value","QUERY_TTL","RESPONSE_TTL","DRY_RUN_ACCOUNT","pub","amount","CallReturnType","entryAny","entrySignedTx","SignedTx","entryMtreeValueArray","MtreeValue","entryTreesPoi","TreesPoi","mapContracts","ContractAddress","Contract","mapAccounts","AccountAddress","Account","mapCalls","Bytearray","ContractCall","mapChannels","Channel","mapNames","Name","mapOracles","OracleAddress","Oracle","txSchema","tag","version","balance","flags","gaContract","gaAuthFun","ContractBytearray","signatures","encodedTx","SpendTx","senderId","recipientId","payload","accountId","nameTtl","status","clientTtl","NamePreclaimTx","commitmentId","Commitment","NameClaimTx","nameSalt","NameUpdateTx","NameTransferTx","NameRevokeTx","owner","code","log","active","referers","ContractCreateTx","ownerId","callData","ContractCallTx","callerId","contractId","callerNonce","height","gasUsed","returnValue","returnType","queryFormat","responseFormat","queryFee","oracleTtlValue","OracleRegisterTx","oracleTtlType","OracleExtendTx","oracleId","OracleQueryTx","query","queryTtlType","queryTtlValue","responseTtlType","responseTtlValue","OracleResponseTx","queryId","OracleQueryId","response","ChannelCreateTx","initiator","initiatorAmount","responder","responderAmount","channelReserve","lockPeriod","initiatorDelegateIds","responderDelegateIds","stateHash","State","ChannelCloseMutualTx","channelId","fromId","initiatorAmountFinal","responderAmountFinal","ChannelCloseSoloTx","Transaction","poi","ChannelSlashTx","ChannelDepositTx","round","ChannelWithdrawTx","toId","ChannelSettleTx","ChannelForceProgressTx","update","offChainTrees","StateTrees","ChannelOffChainTx","channelAmount","soloRound","lockedUntil","initiatorAuth","responderAuth","ChannelSnapshotSoloTx","ChannelOffChainUpdateTransfer","from","to","ChannelOffChainUpdateDeposit","ChannelOffChainUpdateWithdraw","ChannelOffChainUpdateCreateContract","ChannelOffChainUpdateCallContract","caller","contract","callStack","ChannelClientReconnectTx","role","pubkey","accounts","calls","channels","contracts","ns","oracles","ContractsMtree","CallsMtree","ChannelsMtree","NameserviceMtree","OraclesMtree","AccountsMtree","Mtree","values","key","GaAttachTx","authFun","GaMetaTx","gaId","authData","tx","PayingForTx","payerId","GaMetaTxAuthData","txHash","TxHash"],"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 { Tag } from './constants';\nimport SchemaTypes from './SchemaTypes';\nimport {\n uInt, shortUInt, coinAmount, name, nameId, nameFee, deposit, gasLimit, gasPrice, fee,\n address, pointers, entry, enumeration, mptree, shortUIntConst, string, encoded, raw,\n array, boolean, ctVersion, abiVersion, ttl, nonce, map, wrapped,\n} from './field-types';\nimport { Encoded, Encoding } from '../../utils/encoder';\nimport { idTagToEncoding } from './field-types/address';\n\nexport enum ORACLE_TTL_TYPES {\n delta = 0,\n block = 1,\n}\n\n// # ORACLE\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 DRY_RUN_ACCOUNT = {\n pub: 'ak_11111111111111111111111111111111273Yts',\n amount: 100000000000000000000000000000000000n,\n} as const;\n\nexport enum CallReturnType {\n Ok = 0,\n Error = 1,\n Revert = 2,\n}\n\n// TODO: figure out how to omit overriding types of recursive fields\ninterface EntryAny {\n serialize: (value: TxParams | Uint8Array | Encoded.Transaction) => Buffer;\n deserialize: (value: Buffer) => TxUnpacked;\n recursiveType: true;\n}\n\nconst entryAny = entry() as unknown as EntryAny;\n\ninterface EntrySignedTx {\n serialize: (value: TxParams & { tag: Tag.SignedTx } | Uint8Array | Encoded.Transaction) => Buffer;\n deserialize: (value: Buffer) => TxUnpacked & { tag: Tag.SignedTx };\n recursiveType: true;\n}\n\nconst entrySignedTx = entry(Tag.SignedTx) as unknown as EntrySignedTx;\n\ninterface EntryMtreeValueArray {\n serialize: (\n value: Array<TxParams & { tag: Tag.MtreeValue } | Uint8Array | Encoded.Transaction>,\n ) => Buffer[];\n deserialize: (value: Buffer[]) => Array<TxUnpacked & { tag: Tag.MtreeValue }>;\n recursiveType: true;\n}\n\nconst entryMtreeValueArray = array(entry(Tag.MtreeValue)) as unknown as EntryMtreeValueArray;\n\ninterface EntryTreesPoi {\n serialize: (value: TxParams & { tag: Tag.TreesPoi } | Uint8Array | Encoded.Transaction) => Buffer;\n deserialize: (value: Buffer) => TxUnpacked & { tag: Tag.TreesPoi };\n recursiveType: true;\n}\n\nconst entryTreesPoi = entry(Tag.TreesPoi) as unknown as EntryTreesPoi;\n\ninterface MapContracts {\n serialize: (\n value: Record<Encoded.ContractAddress, TxParams & { tag: Tag.Contract }>,\n ) => Buffer;\n deserialize: (\n value: Buffer,\n ) => Record<Encoded.ContractAddress, TxUnpacked & { tag: Tag.Contract }>;\n recursiveType: true;\n}\n\nconst mapContracts = map(Encoding.ContractAddress, Tag.Contract) as unknown as MapContracts;\n\ninterface MapAccounts {\n serialize: (\n value: Record<Encoded.AccountAddress, TxParams & { tag: Tag.Account }>,\n ) => Buffer;\n deserialize: (value: Buffer) => Record<Encoded.AccountAddress, TxUnpacked & { tag: Tag.Account }>;\n recursiveType: true;\n}\n\nconst mapAccounts = map(Encoding.AccountAddress, Tag.Account) as unknown as MapAccounts;\n\ninterface MapCalls {\n serialize: (\n value: Record<Encoded.Bytearray, TxParams & { tag: Tag.ContractCall }>,\n ) => Buffer;\n deserialize: (value: Buffer) => Record<Encoded.Bytearray, TxUnpacked & { tag: Tag.ContractCall }>;\n recursiveType: true;\n}\n\nconst mapCalls = map(Encoding.Bytearray, Tag.ContractCall) as unknown as MapCalls;\n\ninterface MapChannels {\n serialize: (\n value: Record<Encoded.Channel, TxParams & { tag: Tag.Channel }>,\n ) => Buffer;\n deserialize: (value: Buffer) => Record<Encoded.Channel, TxUnpacked & { tag: Tag.Channel }>;\n recursiveType: true;\n}\n\nconst mapChannels = map(Encoding.Channel, Tag.Channel) as unknown as MapChannels;\n\ninterface MapNames {\n serialize: (\n value: Record<Encoded.Name, TxParams & { tag: Tag.Name }>,\n ) => Buffer;\n deserialize: (value: Buffer) => Record<Encoded.Name, TxUnpacked & { tag: Tag.Name }>;\n recursiveType: true;\n}\n\nconst mapNames = map(Encoding.Name, Tag.Name) as unknown as MapNames;\n\ninterface MapOracles {\n serialize: (\n value: Record<Encoded.OracleAddress, TxParams & { tag: Tag.Oracle }>,\n ) => Buffer;\n deserialize: (value: Buffer) => Record<Encoded.OracleAddress, TxUnpacked & { tag: Tag.Oracle }>;\n recursiveType: true;\n}\n\nconst mapOracles = map(Encoding.OracleAddress, Tag.Oracle) as unknown as MapOracles;\n\n/**\n * @see {@link https://github.com/aeternity/protocol/blob/c007deeac4a01e401238412801ac7084ac72d60e/serializations.md#accounts-version-1-basic-accounts}\n */\nexport const txSchema = [{\n tag: shortUIntConst(Tag.Account),\n version: shortUIntConst(1),\n nonce: shortUInt,\n balance: uInt,\n}, {\n tag: shortUIntConst(Tag.Account),\n version: shortUIntConst(2, true),\n flags: uInt,\n nonce: shortUInt,\n balance: uInt,\n gaContract: address(Encoding.ContractAddress, Encoding.Name),\n gaAuthFun: encoded(Encoding.ContractBytearray),\n}, {\n tag: shortUIntConst(Tag.SignedTx),\n version: shortUIntConst(1, true),\n signatures: array(raw),\n encodedTx: entryAny,\n}, {\n tag: shortUIntConst(Tag.SpendTx),\n version: shortUIntConst(1, true),\n senderId: address(Encoding.AccountAddress),\n recipientId: address(Encoding.AccountAddress, Encoding.Name),\n amount: coinAmount,\n fee,\n ttl,\n nonce: nonce('senderId'),\n payload: encoded(Encoding.Bytearray, true),\n}, {\n tag: shortUIntConst(Tag.Name),\n version: shortUIntConst(1, true),\n accountId: address(Encoding.AccountAddress),\n nameTtl: shortUInt,\n status: raw,\n clientTtl: shortUInt,\n pointers,\n}, {\n tag: shortUIntConst(Tag.NamePreclaimTx),\n version: shortUIntConst(1, true),\n accountId: address(Encoding.AccountAddress),\n nonce: nonce('accountId'),\n commitmentId: address(Encoding.Commitment),\n fee,\n ttl,\n}, {\n tag: shortUIntConst(Tag.NameClaimTx),\n version: shortUIntConst(2, true),\n accountId: address(Encoding.AccountAddress),\n nonce: nonce('accountId'),\n name,\n nameSalt: uInt,\n nameFee,\n fee,\n ttl,\n}, {\n tag: shortUIntConst(Tag.NameUpdateTx),\n version: shortUIntConst(1, true),\n accountId: address(Encoding.AccountAddress),\n nonce: nonce('accountId'),\n nameId,\n nameTtl: shortUInt,\n pointers,\n clientTtl: shortUInt,\n fee,\n ttl,\n}, {\n tag: shortUIntConst(Tag.NameTransferTx),\n version: shortUIntConst(1, true),\n accountId: address(Encoding.AccountAddress),\n nonce: nonce('accountId'),\n nameId,\n recipientId: address(Encoding.AccountAddress, Encoding.Name),\n fee,\n ttl,\n}, {\n tag: shortUIntConst(Tag.NameRevokeTx),\n version: shortUIntConst(1, true),\n accountId: address(Encoding.AccountAddress),\n nonce: nonce('accountId'),\n nameId,\n fee,\n ttl,\n}, {\n tag: shortUIntConst(Tag.Contract),\n version: shortUIntConst(1, true),\n owner: address(Encoding.AccountAddress),\n ctVersion,\n code: encoded(Encoding.ContractBytearray),\n log: encoded(Encoding.ContractBytearray),\n active: boolean,\n referers: array(address(Encoding.AccountAddress)),\n deposit,\n}, {\n tag: shortUIntConst(Tag.ContractCreateTx),\n version: shortUIntConst(1, true),\n ownerId: address(Encoding.AccountAddress),\n nonce: nonce('ownerId'),\n code: encoded(Encoding.ContractBytearray),\n ctVersion,\n fee,\n ttl,\n deposit,\n amount: coinAmount,\n gasLimit,\n gasPrice,\n callData: encoded(Encoding.ContractBytearray),\n}, {\n tag: shortUIntConst(Tag.ContractCallTx),\n version: shortUIntConst(1, true),\n callerId: address(Encoding.AccountAddress),\n nonce: nonce('callerId'),\n contractId: address(Encoding.ContractAddress, Encoding.Name),\n abiVersion,\n fee,\n ttl,\n amount: coinAmount,\n gasLimit,\n gasPrice,\n callData: encoded(Encoding.ContractBytearray),\n}, {\n tag: shortUIntConst(Tag.ContractCall),\n version: shortUIntConst(2, true),\n callerId: address(Encoding.AccountAddress),\n callerNonce: shortUInt,\n height: shortUInt,\n contractId: address(Encoding.ContractAddress),\n // TODO: rename after resolving https://github.com/aeternity/protocol/issues/506\n gasPrice: uInt,\n gasUsed: shortUInt,\n returnValue: encoded(Encoding.ContractBytearray),\n returnType: enumeration(CallReturnType),\n // TODO: add serialization for\n // <log> :: [ { <address> :: id, [ <topics> :: binary() }, <data> :: binary() } ]\n log: array(raw),\n}, {\n tag: shortUIntConst(Tag.Oracle),\n version: shortUIntConst(1, true),\n accountId: address(Encoding.AccountAddress),\n queryFormat: string,\n responseFormat: string,\n queryFee: coinAmount,\n oracleTtlValue: shortUInt,\n abiVersion,\n}, {\n tag: shortUIntConst(Tag.OracleRegisterTx),\n version: shortUIntConst(1, true),\n accountId: address(Encoding.AccountAddress),\n nonce: nonce('accountId'),\n queryFormat: string,\n responseFormat: string,\n queryFee: coinAmount,\n oracleTtlType: enumeration(ORACLE_TTL_TYPES),\n oracleTtlValue: shortUInt,\n fee,\n ttl,\n abiVersion,\n}, {\n tag: shortUIntConst(Tag.OracleExtendTx),\n version: shortUIntConst(1, true),\n oracleId: address(Encoding.OracleAddress, Encoding.Name),\n nonce: nonce('oracleId'),\n oracleTtlType: enumeration(ORACLE_TTL_TYPES),\n oracleTtlValue: shortUInt,\n fee,\n ttl,\n}, {\n tag: shortUIntConst(Tag.OracleQueryTx),\n version: shortUIntConst(1, true),\n senderId: address(Encoding.AccountAddress),\n nonce: nonce('senderId'),\n oracleId: address(Encoding.OracleAddress, Encoding.Name),\n query: string,\n queryFee: coinAmount,\n queryTtlType: enumeration(ORACLE_TTL_TYPES),\n queryTtlValue: shortUInt,\n responseTtlType: enumeration(ORACLE_TTL_TYPES),\n responseTtlValue: shortUInt,\n fee,\n ttl,\n}, {\n tag: shortUIntConst(Tag.OracleResponseTx),\n version: shortUIntConst(1, true),\n oracleId: address(Encoding.OracleAddress),\n nonce: nonce('oracleId'),\n queryId: encoded(Encoding.OracleQueryId),\n response: string,\n responseTtlType: enumeration(ORACLE_TTL_TYPES),\n responseTtlValue: shortUInt,\n fee,\n ttl,\n}, {\n tag: shortUIntConst(Tag.ChannelCreateTx),\n version: shortUIntConst(2, true),\n initiator: address(Encoding.AccountAddress),\n initiatorAmount: uInt,\n responder: address(Encoding.AccountAddress),\n responderAmount: uInt,\n channelReserve: uInt,\n lockPeriod: uInt,\n ttl,\n fee,\n initiatorDelegateIds: array(address(...idTagToEncoding)),\n responderDelegateIds: array(address(...idTagToEncoding)),\n stateHash: encoded(Encoding.State),\n nonce: nonce('initiator'),\n}, {\n tag: shortUIntConst(Tag.ChannelCloseMutualTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n fromId: address(Encoding.AccountAddress),\n initiatorAmountFinal: uInt,\n responderAmountFinal: uInt,\n ttl,\n fee,\n nonce: nonce('fromId'),\n}, {\n tag: shortUIntConst(Tag.ChannelCloseSoloTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n fromId: address(Encoding.AccountAddress),\n payload: encoded(Encoding.Transaction),\n poi: entryTreesPoi,\n ttl,\n fee,\n nonce: nonce('fromId'),\n}, {\n tag: shortUIntConst(Tag.ChannelSlashTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n fromId: address(Encoding.AccountAddress),\n payload: encoded(Encoding.Transaction),\n poi: entryTreesPoi,\n ttl,\n fee,\n nonce: nonce('fromId'),\n}, {\n tag: shortUIntConst(Tag.ChannelDepositTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n fromId: address(Encoding.AccountAddress),\n amount: uInt,\n ttl,\n fee,\n stateHash: encoded(Encoding.State),\n round: shortUInt,\n nonce: nonce('fromId'),\n}, {\n tag: shortUIntConst(Tag.ChannelWithdrawTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n toId: address(Encoding.AccountAddress),\n amount: uInt,\n ttl,\n fee,\n stateHash: encoded(Encoding.State),\n round: shortUInt,\n nonce: nonce('fromId'),\n}, {\n tag: shortUIntConst(Tag.ChannelSettleTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n fromId: address(Encoding.AccountAddress),\n initiatorAmountFinal: uInt,\n responderAmountFinal: uInt,\n ttl,\n fee,\n nonce: nonce('fromId'),\n}, {\n tag: shortUIntConst(Tag.ChannelForceProgressTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n fromId: address(Encoding.AccountAddress),\n payload: encoded(Encoding.Transaction),\n round: shortUInt,\n update: encoded(Encoding.ContractBytearray),\n stateHash: encoded(Encoding.State),\n offChainTrees: encoded(Encoding.StateTrees),\n ttl,\n fee,\n nonce: nonce('fromId'),\n}, {\n tag: shortUIntConst(Tag.ChannelOffChainTx),\n version: shortUIntConst(2, true),\n channelId: address(Encoding.Channel),\n round: shortUInt,\n stateHash: encoded(Encoding.State),\n}, {\n tag: shortUIntConst(Tag.Channel),\n version: shortUIntConst(3, true),\n initiator: address(Encoding.AccountAddress),\n responder: address(Encoding.AccountAddress),\n channelAmount: uInt,\n initiatorAmount: uInt,\n responderAmount: uInt,\n channelReserve: uInt,\n initiatorDelegateIds: array(address(...idTagToEncoding)),\n responderDelegateIds: array(address(...idTagToEncoding)),\n stateHash: encoded(Encoding.State),\n round: shortUInt,\n soloRound: uInt,\n lockPeriod: uInt,\n lockedUntil: uInt,\n initiatorAuth: encoded(Encoding.ContractBytearray),\n responderAuth: encoded(Encoding.ContractBytearray),\n}, {\n tag: shortUIntConst(Tag.ChannelSnapshotSoloTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n fromId: address(Encoding.AccountAddress),\n payload: encoded(Encoding.Transaction),\n ttl,\n fee,\n nonce: nonce('fromId'),\n}, {\n tag: shortUIntConst(Tag.ChannelOffChainUpdateTransfer),\n version: shortUIntConst(1, true),\n from: address(Encoding.AccountAddress),\n to: address(Encoding.AccountAddress),\n amount: uInt,\n}, {\n tag: shortUIntConst(Tag.ChannelOffChainUpdateDeposit),\n version: shortUIntConst(1, true),\n from: address(Encoding.AccountAddress),\n amount: uInt,\n}, {\n tag: shortUIntConst(Tag.ChannelOffChainUpdateWithdraw),\n version: shortUIntConst(1, true),\n from: address(Encoding.AccountAddress),\n amount: uInt,\n}, {\n tag: shortUIntConst(Tag.ChannelOffChainUpdateCreateContract),\n version: shortUIntConst(1, true),\n owner: address(Encoding.AccountAddress),\n ctVersion,\n code: encoded(Encoding.ContractBytearray),\n deposit: uInt,\n callData: encoded(Encoding.ContractBytearray),\n}, {\n tag: shortUIntConst(Tag.ChannelOffChainUpdateCallContract),\n version: shortUIntConst(1, true),\n caller: address(Encoding.AccountAddress),\n contract: address(Encoding.ContractAddress),\n abiVersion,\n amount: uInt,\n callData: encoded(Encoding.ContractBytearray),\n callStack: raw,\n gasPrice,\n gasLimit,\n}, {\n tag: shortUIntConst(Tag.ChannelClientReconnectTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n round: shortUInt,\n role: string,\n pubkey: address(Encoding.AccountAddress),\n}, {\n tag: shortUIntConst(Tag.TreesPoi),\n version: shortUIntConst(1, true),\n // TODO: inline an extra wrapping array after resolving https://github.com/aeternity/protocol/issues/505\n accounts: array(mptree(Encoding.AccountAddress, Tag.Account)),\n calls: array(mptree(Encoding.Bytearray, Tag.ContractCall)),\n channels: array(mptree(Encoding.Channel, Tag.Channel)),\n contracts: array(mptree(Encoding.ContractAddress, Tag.Contract)),\n ns: array(mptree(Encoding.Name, Tag.Name)),\n oracles: array(mptree(Encoding.OracleAddress, Tag.Oracle)),\n}, {\n tag: shortUIntConst(Tag.StateTrees),\n version: shortUIntConst(0, true),\n contracts: wrapped(Tag.ContractsMtree) as unknown as MapContracts,\n calls: wrapped(Tag.CallsMtree) as unknown as MapCalls,\n channels: wrapped(Tag.ChannelsMtree) as unknown as MapChannels,\n ns: wrapped(Tag.NameserviceMtree) as unknown as MapNames,\n oracles: wrapped(Tag.OraclesMtree) as unknown as MapOracles,\n accounts: wrapped(Tag.AccountsMtree) as unknown as MapAccounts,\n}, {\n tag: shortUIntConst(Tag.Mtree),\n version: shortUIntConst(1, true),\n values: entryMtreeValueArray,\n}, {\n tag: shortUIntConst(Tag.MtreeValue),\n version: shortUIntConst(1, true),\n key: raw,\n value: raw,\n}, {\n tag: shortUIntConst(Tag.ContractsMtree),\n version: shortUIntConst(1, true),\n payload: mapContracts,\n}, {\n tag: shortUIntConst(Tag.CallsMtree),\n version: shortUIntConst(1, true),\n payload: mapCalls,\n}, {\n tag: shortUIntConst(Tag.ChannelsMtree),\n version: shortUIntConst(1, true),\n payload: mapChannels,\n}, {\n tag: shortUIntConst(Tag.NameserviceMtree),\n version: shortUIntConst(1, true),\n payload: mapNames,\n}, {\n tag: shortUIntConst(Tag.OraclesMtree),\n version: shortUIntConst(1, true),\n payload: mapOracles,\n}, {\n tag: shortUIntConst(Tag.AccountsMtree),\n version: shortUIntConst(1, true),\n payload: mapAccounts,\n}, {\n tag: shortUIntConst(Tag.GaAttachTx),\n version: shortUIntConst(1, true),\n ownerId: address(Encoding.AccountAddress),\n nonce: nonce('ownerId'),\n code: encoded(Encoding.ContractBytearray),\n authFun: raw,\n ctVersion,\n fee,\n ttl,\n gasLimit,\n gasPrice,\n callData: encoded(Encoding.ContractBytearray),\n}, {\n tag: shortUIntConst(Tag.GaMetaTx),\n version: shortUIntConst(2, true),\n gaId: address(Encoding.AccountAddress),\n authData: encoded(Encoding.ContractBytearray),\n abiVersion,\n fee,\n gasLimit,\n gasPrice,\n tx: entrySignedTx,\n}, {\n tag: shortUIntConst(Tag.PayingForTx),\n version: shortUIntConst(1, true),\n payerId: address(Encoding.AccountAddress),\n nonce: nonce('payerId'),\n fee,\n tx: entrySignedTx,\n}, {\n tag: shortUIntConst(Tag.GaMetaTxAuthData),\n version: shortUIntConst(1, true),\n fee: coinAmount,\n gasPrice,\n txHash: encoded(Encoding.TxHash),\n}] as const;\n\ntype TxSchema = SchemaTypes<typeof txSchema>;\nexport type TxParams = TxSchema['TxParams'];\nexport type TxParamsAsync = TxSchema['TxParamsAsync'];\nexport type TxUnpacked = TxSchema['TxUnpacked'];\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema.mjs","names":["Tag","uInt","shortUInt","coinAmount","name","nameId","nameFee","gasLimit","gasPrice","fee","address","pointers","pointers2","queryFee","entry","enumeration","mptree","shortUIntConst","string","encoded","raw","array","boolean","ctVersion","abiVersion","ttl","nonce","map","withDefault","withFormatting","wrapped","Encoding","ArgumentError","idTagToEncoding","ORACLE_TTL_TYPES","CallReturnType","entryAny","entrySignedTx","SignedTx","entryMtreeValueArray","MtreeValue","entryTreesPoi","TreesPoi","mapContracts","ContractAddress","Contract","mapAccounts","AccountAddress","Account","mapCalls","Bytearray","ContractCall","mapChannels","Channel","mapNames","Name","mapOracles","OracleAddress","Oracle","clientTtl","nameTtl","value","_value","NAME_TTL","txSchema","tag","version","balance","flags","gaContract","gaAuthFun","ContractBytearray","signatures","encodedTx","SpendTx","senderId","recipientId","amount","payload","accountId","status","NamePreclaimTx","commitmentId","Commitment","NameClaimTx","nameSalt","NameUpdateTx","NameTransferTx","NameRevokeTx","owner","code","log","active","referers","deposit","ContractCreateTx","ownerId","callData","ContractCallTx","callerId","contractId","callerNonce","height","gasUsed","returnValue","returnType","queryFormat","responseFormat","oracleTtlValue","OracleRegisterTx","oracleTtlType","delta","OracleExtendTx","oracleId","OracleQueryTx","query","queryTtlType","queryTtlValue","responseTtlType","responseTtlValue","OracleResponseTx","queryId","OracleQueryId","response","ChannelCreateTx","initiator","initiatorAmount","responder","responderAmount","channelReserve","lockPeriod","initiatorDelegateIds","responderDelegateIds","stateHash","State","ChannelCloseMutualTx","channelId","fromId","initiatorAmountFinal","responderAmountFinal","ChannelCloseSoloTx","Transaction","poi","ChannelSlashTx","ChannelDepositTx","round","ChannelWithdrawTx","toId","ChannelSettleTx","ChannelForceProgressTx","update","offChainTrees","StateTrees","ChannelOffChainTx","channelAmount","soloRound","lockedUntil","initiatorAuth","responderAuth","ChannelSnapshotSoloTx","ChannelOffChainUpdateTransfer","from","to","ChannelOffChainUpdateDeposit","ChannelOffChainUpdateWithdraw","ChannelOffChainUpdateCreateContract","ChannelOffChainUpdateCallContract","caller","contract","callStack","ChannelClientReconnectTx","role","pubkey","accounts","calls","channels","contracts","ns","oracles","ContractsMtree","CallsMtree","ChannelsMtree","NameserviceMtree","OraclesMtree","AccountsMtree","Mtree","values","key","GaAttachTx","authFun","GaMetaTx","gaId","authData","tx","PayingForTx","payerId","GaMetaTxAuthData","txHash","TxHash"],"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 { Tag } from './constants';\nimport SchemaTypes from './SchemaTypes';\nimport {\n uInt, shortUInt, coinAmount, name, nameId, nameFee, gasLimit, gasPrice, fee, address, pointers,\n pointers2, queryFee, entry, enumeration, mptree, shortUIntConst, string, encoded, raw,\n array, boolean, ctVersion, abiVersion, ttl, nonce, map, withDefault, withFormatting, wrapped,\n} from './field-types';\nimport { Encoded, Encoding } from '../../utils/encoder';\nimport { ArgumentError } from '../../utils/errors';\nimport { idTagToEncoding } from './field-types/address';\n\nexport enum ORACLE_TTL_TYPES {\n delta = 0,\n block = 1,\n}\n\nexport enum CallReturnType {\n Ok = 0,\n Error = 1,\n Revert = 2,\n}\n\n// TODO: figure out how to omit overriding types of recursive fields\ninterface EntryAny {\n serialize: (value: TxParams | Uint8Array | Encoded.Transaction) => Buffer;\n deserialize: (value: Buffer) => TxUnpacked;\n recursiveType: true;\n}\n\nconst entryAny = entry() as unknown as EntryAny;\n\ninterface EntrySignedTx {\n serialize: (value: TxParams & { tag: Tag.SignedTx } | Uint8Array | Encoded.Transaction) => Buffer;\n deserialize: (value: Buffer) => TxUnpacked & { tag: Tag.SignedTx };\n recursiveType: true;\n}\n\nconst entrySignedTx = entry(Tag.SignedTx) as unknown as EntrySignedTx;\n\ninterface EntryMtreeValueArray {\n serialize: (\n value: Array<TxParams & { tag: Tag.MtreeValue } | Uint8Array | Encoded.Transaction>,\n ) => Buffer[];\n deserialize: (value: Buffer[]) => Array<TxUnpacked & { tag: Tag.MtreeValue }>;\n recursiveType: true;\n}\n\nconst entryMtreeValueArray = array(entry(Tag.MtreeValue)) as unknown as EntryMtreeValueArray;\n\ninterface EntryTreesPoi {\n serialize: (value: TxParams & { tag: Tag.TreesPoi } | Uint8Array | Encoded.Transaction) => Buffer;\n deserialize: (value: Buffer) => TxUnpacked & { tag: Tag.TreesPoi };\n recursiveType: true;\n}\n\nconst entryTreesPoi = entry(Tag.TreesPoi) as unknown as EntryTreesPoi;\n\ninterface MapContracts {\n serialize: (\n value: Record<Encoded.ContractAddress, TxParams & { tag: Tag.Contract }>,\n ) => Buffer;\n deserialize: (\n value: Buffer,\n ) => Record<Encoded.ContractAddress, TxUnpacked & { tag: Tag.Contract }>;\n recursiveType: true;\n}\n\nconst mapContracts = map(Encoding.ContractAddress, Tag.Contract) as unknown as MapContracts;\n\ninterface MapAccounts {\n serialize: (\n value: Record<Encoded.AccountAddress, TxParams & { tag: Tag.Account }>,\n ) => Buffer;\n deserialize: (value: Buffer) => Record<Encoded.AccountAddress, TxUnpacked & { tag: Tag.Account }>;\n recursiveType: true;\n}\n\nconst mapAccounts = map(Encoding.AccountAddress, Tag.Account) as unknown as MapAccounts;\n\ninterface MapCalls {\n serialize: (\n value: Record<Encoded.Bytearray, TxParams & { tag: Tag.ContractCall }>,\n ) => Buffer;\n deserialize: (value: Buffer) => Record<Encoded.Bytearray, TxUnpacked & { tag: Tag.ContractCall }>;\n recursiveType: true;\n}\n\nconst mapCalls = map(Encoding.Bytearray, Tag.ContractCall) as unknown as MapCalls;\n\ninterface MapChannels {\n serialize: (\n value: Record<Encoded.Channel, TxParams & { tag: Tag.Channel }>,\n ) => Buffer;\n deserialize: (value: Buffer) => Record<Encoded.Channel, TxUnpacked & { tag: Tag.Channel }>;\n recursiveType: true;\n}\n\nconst mapChannels = map(Encoding.Channel, Tag.Channel) as unknown as MapChannels;\n\ninterface MapNames {\n serialize: (\n value: Record<Encoded.Name, TxParams & { tag: Tag.Name }>,\n ) => Buffer;\n deserialize: (value: Buffer) => Record<Encoded.Name, TxUnpacked & { tag: Tag.Name }>;\n recursiveType: true;\n}\n\nconst mapNames = map(Encoding.Name, Tag.Name) as unknown as MapNames;\n\ninterface MapOracles {\n serialize: (\n value: Record<Encoded.OracleAddress, TxParams & { tag: Tag.Oracle }>,\n ) => Buffer;\n deserialize: (value: Buffer) => Record<Encoded.OracleAddress, TxUnpacked & { tag: Tag.Oracle }>;\n recursiveType: true;\n}\n\nconst mapOracles = map(Encoding.OracleAddress, Tag.Oracle) as unknown as MapOracles;\n\n// TODO: inline after dropping Iris compatibility\nconst clientTtl = withDefault(60 * 60, shortUInt);\n// https://github.com/aeternity/protocol/blob/fd17982/AENS.md#update\nconst nameTtl = withFormatting(\n (value) => {\n const NAME_TTL = 180000;\n value ??= NAME_TTL;\n if (value >= 1 && value <= NAME_TTL) return value;\n throw new ArgumentError('nameTtl', `a number between 1 and ${NAME_TTL} blocks`, value);\n },\n shortUInt,\n);\n\n/**\n * @see {@link https://github.com/aeternity/protocol/blob/c007deeac4a01e401238412801ac7084ac72d60e/serializations.md#accounts-version-1-basic-accounts}\n */\nexport const txSchema = [{\n tag: shortUIntConst(Tag.Account),\n version: shortUIntConst(1),\n nonce: shortUInt,\n balance: uInt,\n}, {\n tag: shortUIntConst(Tag.Account),\n version: shortUIntConst(2, true),\n flags: uInt,\n nonce: shortUInt,\n balance: uInt,\n gaContract: address(Encoding.ContractAddress, Encoding.Name),\n gaAuthFun: encoded(Encoding.ContractBytearray),\n}, {\n tag: shortUIntConst(Tag.SignedTx),\n version: shortUIntConst(1, true),\n signatures: array(raw),\n encodedTx: entryAny,\n}, {\n tag: shortUIntConst(Tag.SpendTx),\n version: shortUIntConst(1, true),\n senderId: address(Encoding.AccountAddress),\n // TODO: accept also an AENS name\n recipientId: address(Encoding.AccountAddress, Encoding.ContractAddress, Encoding.Name),\n amount: coinAmount,\n fee,\n ttl,\n nonce: nonce('senderId'),\n payload: encoded(Encoding.Bytearray, true),\n}, {\n tag: shortUIntConst(Tag.Name),\n version: shortUIntConst(1, true),\n accountId: address(Encoding.AccountAddress),\n nameTtl: shortUInt,\n status: raw,\n clientTtl: shortUInt,\n pointers,\n}, {\n tag: shortUIntConst(Tag.NamePreclaimTx),\n version: shortUIntConst(1, true),\n accountId: address(Encoding.AccountAddress),\n nonce: nonce('accountId'),\n commitmentId: address(Encoding.Commitment),\n fee,\n ttl,\n}, {\n tag: shortUIntConst(Tag.NameClaimTx),\n version: shortUIntConst(2, true),\n accountId: address(Encoding.AccountAddress),\n nonce: nonce('accountId'),\n name,\n nameSalt: uInt,\n nameFee,\n fee,\n ttl,\n}, {\n tag: shortUIntConst(Tag.NameUpdateTx),\n version: shortUIntConst(1, true),\n accountId: address(Encoding.AccountAddress),\n nonce: nonce('accountId'),\n nameId,\n nameTtl,\n pointers,\n clientTtl,\n fee,\n ttl,\n}, {\n tag: shortUIntConst(Tag.NameUpdateTx),\n version: shortUIntConst(2),\n accountId: address(Encoding.AccountAddress),\n nonce: nonce('accountId'),\n nameId,\n nameTtl,\n pointers: pointers2,\n clientTtl,\n fee,\n ttl,\n}, {\n tag: shortUIntConst(Tag.NameTransferTx),\n version: shortUIntConst(1, true),\n accountId: address(Encoding.AccountAddress),\n nonce: nonce('accountId'),\n nameId,\n // TODO: accept also an AENS name\n recipientId: address(Encoding.AccountAddress, Encoding.Name),\n fee,\n ttl,\n}, {\n tag: shortUIntConst(Tag.NameRevokeTx),\n version: shortUIntConst(1, true),\n accountId: address(Encoding.AccountAddress),\n nonce: nonce('accountId'),\n nameId,\n fee,\n ttl,\n}, {\n tag: shortUIntConst(Tag.Contract),\n version: shortUIntConst(1, true),\n owner: address(Encoding.AccountAddress),\n ctVersion,\n code: encoded(Encoding.ContractBytearray),\n log: encoded(Encoding.ContractBytearray),\n active: boolean,\n referers: array(address(Encoding.AccountAddress)),\n deposit: coinAmount,\n}, {\n tag: shortUIntConst(Tag.ContractCreateTx),\n version: shortUIntConst(1, true),\n ownerId: address(Encoding.AccountAddress),\n nonce: nonce('ownerId'),\n code: encoded(Encoding.ContractBytearray),\n ctVersion,\n fee,\n ttl,\n deposit: withFormatting(\n (value = 0) => {\n if (+value === 0) return value;\n throw new ArgumentError('deposit', 'equal 0 (because is not refundable)', value);\n },\n coinAmount,\n ),\n amount: coinAmount,\n gasLimit,\n gasPrice,\n callData: encoded(Encoding.ContractBytearray),\n}, {\n tag: shortUIntConst(Tag.ContractCallTx),\n version: shortUIntConst(1, true),\n callerId: address(Encoding.AccountAddress),\n nonce: nonce('callerId'),\n // TODO: accept also an AENS name\n contractId: address(Encoding.ContractAddress, Encoding.Name),\n abiVersion,\n fee,\n ttl,\n amount: coinAmount,\n gasLimit,\n gasPrice,\n callData: encoded(Encoding.ContractBytearray),\n}, {\n tag: shortUIntConst(Tag.ContractCall),\n version: shortUIntConst(2, true),\n callerId: address(Encoding.AccountAddress),\n callerNonce: shortUInt,\n height: shortUInt,\n contractId: address(Encoding.ContractAddress),\n // TODO: rename after resolving https://github.com/aeternity/protocol/issues/506\n gasPrice: uInt,\n gasUsed: shortUInt,\n returnValue: encoded(Encoding.ContractBytearray),\n returnType: enumeration(CallReturnType),\n // TODO: add serialization for\n // <log> :: [ { <address> :: id, [ <topics> :: binary() }, <data> :: binary() } ]\n log: array(raw),\n}, {\n tag: shortUIntConst(Tag.Oracle),\n version: shortUIntConst(1, true),\n accountId: address(Encoding.AccountAddress),\n queryFormat: string,\n responseFormat: string,\n queryFee: coinAmount,\n oracleTtlValue: shortUInt,\n abiVersion,\n}, {\n tag: shortUIntConst(Tag.OracleRegisterTx),\n version: shortUIntConst(1, true),\n accountId: address(Encoding.AccountAddress),\n nonce: nonce('accountId'),\n queryFormat: string,\n responseFormat: string,\n queryFee: coinAmount,\n oracleTtlType: withDefault(ORACLE_TTL_TYPES.delta, enumeration(ORACLE_TTL_TYPES)),\n oracleTtlValue: withDefault(500, shortUInt),\n fee,\n ttl,\n abiVersion,\n}, {\n tag: shortUIntConst(Tag.OracleExtendTx),\n version: shortUIntConst(1, true),\n // TODO: accept also an AENS name\n oracleId: address(Encoding.OracleAddress, Encoding.Name),\n nonce: nonce('oracleId'),\n oracleTtlType: withDefault(ORACLE_TTL_TYPES.delta, enumeration(ORACLE_TTL_TYPES)),\n oracleTtlValue: withDefault(500, shortUInt),\n fee,\n ttl,\n}, {\n tag: shortUIntConst(Tag.OracleQueryTx),\n version: shortUIntConst(1, true),\n senderId: address(Encoding.AccountAddress),\n nonce: nonce('senderId'),\n // TODO: accept also an AENS name\n oracleId: address(Encoding.OracleAddress, Encoding.Name),\n query: string,\n queryFee,\n queryTtlType: withDefault(ORACLE_TTL_TYPES.delta, enumeration(ORACLE_TTL_TYPES)),\n queryTtlValue: withDefault(10, shortUInt),\n responseTtlType: withDefault(ORACLE_TTL_TYPES.delta, enumeration(ORACLE_TTL_TYPES)),\n responseTtlValue: withDefault(10, shortUInt),\n fee,\n ttl,\n}, {\n tag: shortUIntConst(Tag.OracleResponseTx),\n version: shortUIntConst(1, true),\n oracleId: address(Encoding.OracleAddress),\n nonce: nonce('oracleId'),\n queryId: encoded(Encoding.OracleQueryId),\n response: string,\n responseTtlType: withDefault(ORACLE_TTL_TYPES.delta, enumeration(ORACLE_TTL_TYPES)),\n responseTtlValue: withDefault(10, shortUInt),\n fee,\n ttl,\n}, {\n tag: shortUIntConst(Tag.ChannelCreateTx),\n version: shortUIntConst(2, true),\n initiator: address(Encoding.AccountAddress),\n initiatorAmount: uInt,\n responder: address(Encoding.AccountAddress),\n responderAmount: uInt,\n channelReserve: uInt,\n lockPeriod: uInt,\n ttl,\n fee,\n initiatorDelegateIds: array(address(...idTagToEncoding)),\n responderDelegateIds: array(address(...idTagToEncoding)),\n stateHash: encoded(Encoding.State),\n nonce: nonce('initiator'),\n}, {\n tag: shortUIntConst(Tag.ChannelCloseMutualTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n fromId: address(Encoding.AccountAddress),\n initiatorAmountFinal: uInt,\n responderAmountFinal: uInt,\n ttl,\n fee,\n nonce: nonce('fromId'),\n}, {\n tag: shortUIntConst(Tag.ChannelCloseSoloTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n fromId: address(Encoding.AccountAddress),\n payload: encoded(Encoding.Transaction),\n poi: entryTreesPoi,\n ttl,\n fee,\n nonce: nonce('fromId'),\n}, {\n tag: shortUIntConst(Tag.ChannelSlashTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n fromId: address(Encoding.AccountAddress),\n payload: encoded(Encoding.Transaction),\n poi: entryTreesPoi,\n ttl,\n fee,\n nonce: nonce('fromId'),\n}, {\n tag: shortUIntConst(Tag.ChannelDepositTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n fromId: address(Encoding.AccountAddress),\n amount: uInt,\n ttl,\n fee,\n stateHash: encoded(Encoding.State),\n round: shortUInt,\n nonce: nonce('fromId'),\n}, {\n tag: shortUIntConst(Tag.ChannelWithdrawTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n toId: address(Encoding.AccountAddress),\n amount: uInt,\n ttl,\n fee,\n stateHash: encoded(Encoding.State),\n round: shortUInt,\n nonce: nonce('fromId'),\n}, {\n tag: shortUIntConst(Tag.ChannelSettleTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n fromId: address(Encoding.AccountAddress),\n initiatorAmountFinal: uInt,\n responderAmountFinal: uInt,\n ttl,\n fee,\n nonce: nonce('fromId'),\n}, {\n tag: shortUIntConst(Tag.ChannelForceProgressTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n fromId: address(Encoding.AccountAddress),\n payload: encoded(Encoding.Transaction),\n round: shortUInt,\n update: encoded(Encoding.ContractBytearray),\n stateHash: encoded(Encoding.State),\n offChainTrees: encoded(Encoding.StateTrees),\n ttl,\n fee,\n nonce: nonce('fromId'),\n}, {\n tag: shortUIntConst(Tag.ChannelOffChainTx),\n version: shortUIntConst(2, true),\n channelId: address(Encoding.Channel),\n round: shortUInt,\n stateHash: encoded(Encoding.State),\n}, {\n tag: shortUIntConst(Tag.Channel),\n version: shortUIntConst(3, true),\n initiator: address(Encoding.AccountAddress),\n responder: address(Encoding.AccountAddress),\n channelAmount: uInt,\n initiatorAmount: uInt,\n responderAmount: uInt,\n channelReserve: uInt,\n initiatorDelegateIds: array(address(...idTagToEncoding)),\n responderDelegateIds: array(address(...idTagToEncoding)),\n stateHash: encoded(Encoding.State),\n round: shortUInt,\n soloRound: uInt,\n lockPeriod: uInt,\n lockedUntil: uInt,\n initiatorAuth: encoded(Encoding.ContractBytearray),\n responderAuth: encoded(Encoding.ContractBytearray),\n}, {\n tag: shortUIntConst(Tag.ChannelSnapshotSoloTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n fromId: address(Encoding.AccountAddress),\n payload: encoded(Encoding.Transaction),\n ttl,\n fee,\n nonce: nonce('fromId'),\n}, {\n tag: shortUIntConst(Tag.ChannelOffChainUpdateTransfer),\n version: shortUIntConst(1, true),\n from: address(Encoding.AccountAddress),\n to: address(Encoding.AccountAddress),\n amount: uInt,\n}, {\n tag: shortUIntConst(Tag.ChannelOffChainUpdateDeposit),\n version: shortUIntConst(1, true),\n from: address(Encoding.AccountAddress),\n amount: uInt,\n}, {\n tag: shortUIntConst(Tag.ChannelOffChainUpdateWithdraw),\n version: shortUIntConst(1, true),\n from: address(Encoding.AccountAddress),\n amount: uInt,\n}, {\n tag: shortUIntConst(Tag.ChannelOffChainUpdateCreateContract),\n version: shortUIntConst(1, true),\n owner: address(Encoding.AccountAddress),\n ctVersion,\n code: encoded(Encoding.ContractBytearray),\n deposit: uInt,\n callData: encoded(Encoding.ContractBytearray),\n}, {\n tag: shortUIntConst(Tag.ChannelOffChainUpdateCallContract),\n version: shortUIntConst(1, true),\n caller: address(Encoding.AccountAddress),\n contract: address(Encoding.ContractAddress),\n abiVersion,\n amount: uInt,\n callData: encoded(Encoding.ContractBytearray),\n callStack: raw,\n gasPrice,\n gasLimit,\n}, {\n tag: shortUIntConst(Tag.ChannelClientReconnectTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n round: shortUInt,\n role: string,\n pubkey: address(Encoding.AccountAddress),\n}, {\n tag: shortUIntConst(Tag.TreesPoi),\n version: shortUIntConst(1, true),\n // TODO: inline an extra wrapping array after resolving https://github.com/aeternity/protocol/issues/505\n accounts: array(mptree(Encoding.AccountAddress, Tag.Account)),\n calls: array(mptree(Encoding.Bytearray, Tag.ContractCall)),\n channels: array(mptree(Encoding.Channel, Tag.Channel)),\n contracts: array(mptree(Encoding.ContractAddress, Tag.Contract)),\n ns: array(mptree(Encoding.Name, Tag.Name)),\n oracles: array(mptree(Encoding.OracleAddress, Tag.Oracle)),\n}, {\n tag: shortUIntConst(Tag.StateTrees),\n version: shortUIntConst(0, true),\n contracts: wrapped(Tag.ContractsMtree) as unknown as MapContracts,\n calls: wrapped(Tag.CallsMtree) as unknown as MapCalls,\n channels: wrapped(Tag.ChannelsMtree) as unknown as MapChannels,\n ns: wrapped(Tag.NameserviceMtree) as unknown as MapNames,\n oracles: wrapped(Tag.OraclesMtree) as unknown as MapOracles,\n accounts: wrapped(Tag.AccountsMtree) as unknown as MapAccounts,\n}, {\n tag: shortUIntConst(Tag.Mtree),\n version: shortUIntConst(1, true),\n values: entryMtreeValueArray,\n}, {\n tag: shortUIntConst(Tag.MtreeValue),\n version: shortUIntConst(1, true),\n key: raw,\n value: raw,\n}, {\n tag: shortUIntConst(Tag.ContractsMtree),\n version: shortUIntConst(1, true),\n payload: mapContracts,\n}, {\n tag: shortUIntConst(Tag.CallsMtree),\n version: shortUIntConst(1, true),\n payload: mapCalls,\n}, {\n tag: shortUIntConst(Tag.ChannelsMtree),\n version: shortUIntConst(1, true),\n payload: mapChannels,\n}, {\n tag: shortUIntConst(Tag.NameserviceMtree),\n version: shortUIntConst(1, true),\n payload: mapNames,\n}, {\n tag: shortUIntConst(Tag.OraclesMtree),\n version: shortUIntConst(1, true),\n payload: mapOracles,\n}, {\n tag: shortUIntConst(Tag.AccountsMtree),\n version: shortUIntConst(1, true),\n payload: mapAccounts,\n}, {\n tag: shortUIntConst(Tag.GaAttachTx),\n version: shortUIntConst(1, true),\n ownerId: address(Encoding.AccountAddress),\n nonce: nonce('ownerId'),\n code: encoded(Encoding.ContractBytearray),\n authFun: raw,\n ctVersion,\n fee,\n ttl,\n gasLimit,\n gasPrice,\n callData: encoded(Encoding.ContractBytearray),\n}, {\n tag: shortUIntConst(Tag.GaMetaTx),\n version: shortUIntConst(2, true),\n gaId: address(Encoding.AccountAddress),\n authData: encoded(Encoding.ContractBytearray),\n abiVersion,\n fee,\n gasLimit,\n gasPrice,\n tx: entrySignedTx,\n}, {\n tag: shortUIntConst(Tag.PayingForTx),\n version: shortUIntConst(1, true),\n payerId: address(Encoding.AccountAddress),\n nonce: nonce('payerId'),\n fee,\n tx: entrySignedTx,\n}, {\n tag: shortUIntConst(Tag.GaMetaTxAuthData),\n version: shortUIntConst(1, true),\n fee: coinAmount,\n gasPrice,\n txHash: encoded(Encoding.TxHash),\n}] as const;\n\ntype TxSchema = SchemaTypes<typeof txSchema>;\nexport type TxParams = TxSchema['TxParams'];\nexport type TxParamsAsync = TxSchema['TxParamsAsync'];\nexport type TxUnpacked = TxSchema['TxUnpacked'];\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AAAA,SAESA,GAAG;AAAA,SAGVC,IAAI,EAAEC,SAAS,EAAEC,UAAU,EAAEC,IAAI,EAAEC,MAAM,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,GAAG,EAAEC,OAAO,EAAEC,QAAQ,EAC9FC,SAAS,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,WAAW,EAAEC,MAAM,EAAEC,cAAc,EAAEC,MAAM,EAAEC,OAAO,EAAEC,GAAG,EACrFC,KAAK,EAAEC,OAAO,EAAEC,SAAS,EAAEC,UAAU,EAAEC,GAAG,EAAEC,KAAK,EAAEC,GAAG,EAAEC,WAAW,EAAEC,cAAc,EAAEC,OAAO;AAAA,SAE5EC,QAAQ;AAAA,SACjBC,aAAa;AAAA,SACbC,eAAe;AAExB,WAAYC,gBAAgB,0BAAhBA,gBAAgB;EAAhBA,gBAAgB,CAAhBA,gBAAgB;EAAhBA,gBAAgB,CAAhBA,gBAAgB;EAAA,OAAhBA,gBAAgB;AAAA;AAK5B,WAAYC,cAAc,0BAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA;;AAM1B;;AAOA,MAAMC,QAAQ,GAAGtB,KAAK,CAAC,CAAwB;AAQ/C,MAAMuB,aAAa,GAAGvB,KAAK,CAACd,GAAG,CAACsC,QAAQ,CAA6B;AAUrE,MAAMC,oBAAoB,GAAGlB,KAAK,CAACP,KAAK,CAACd,GAAG,CAACwC,UAAU,CAAC,CAAoC;AAQ5F,MAAMC,aAAa,GAAG3B,KAAK,CAACd,GAAG,CAAC0C,QAAQ,CAA6B;AAYrE,MAAMC,YAAY,GAAGhB,GAAG,CAACI,QAAQ,CAACa,eAAe,EAAE5C,GAAG,CAAC6C,QAAQ,CAA4B;AAU3F,MAAMC,WAAW,GAAGnB,GAAG,CAACI,QAAQ,CAACgB,cAAc,EAAE/C,GAAG,CAACgD,OAAO,CAA2B;AAUvF,MAAMC,QAAQ,GAAGtB,GAAG,CAACI,QAAQ,CAACmB,SAAS,EAAElD,GAAG,CAACmD,YAAY,CAAwB;AAUjF,MAAMC,WAAW,GAAGzB,GAAG,CAACI,QAAQ,CAACsB,OAAO,EAAErD,GAAG,CAACqD,OAAO,CAA2B;AAUhF,MAAMC,QAAQ,GAAG3B,GAAG,CAACI,QAAQ,CAACwB,IAAI,EAAEvD,GAAG,CAACuD,IAAI,CAAwB;AAUpE,MAAMC,UAAU,GAAG7B,GAAG,CAACI,QAAQ,CAAC0B,aAAa,EAAEzD,GAAG,CAAC0D,MAAM,CAA0B;;AAEnF;AACA,MAAMC,SAAS,GAAG/B,WAAW,CAAC,EAAE,GAAG,EAAE,EAAE1B,SAAS,CAAC;AACjD;AACA,MAAM0D,OAAO,GAAG/B,cAAc,CAC3BgC,KAAK,IAAK;EAAA,IAAAC,MAAA;EACT,MAAMC,QAAQ,GAAG,MAAM;EACvB,CAAAD,MAAA,GAAAD,KAAK,cAAAC,MAAA,cAAAA,MAAA,GAALD,KAAK,GAAKE,QAAQ;EAClB,IAAIF,KAAK,IAAI,CAAC,IAAIA,KAAK,IAAIE,QAAQ,EAAE,OAAOF,KAAK;EACjD,MAAM,IAAI7B,aAAa,CAAC,SAAS,EAAG,0BAAyB+B,QAAS,SAAQ,EAAEF,KAAK,CAAC;AACxF,CAAC,EACD3D,SACF,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAM8D,QAAQ,GAAG,CAAC;EACvBC,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAACgD,OAAO,CAAC;EAChCkB,OAAO,EAAEjD,cAAc,CAAC,CAAC,CAAC;EAC1BS,KAAK,EAAExB,SAAS;EAChBiE,OAAO,EAAElE;AACX,CAAC,EAAE;EACDgE,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAACgD,OAAO,CAAC;EAChCkB,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChCmD,KAAK,EAAEnE,IAAI;EACXyB,KAAK,EAAExB,SAAS;EAChBiE,OAAO,EAAElE,IAAI;EACboE,UAAU,EAAE3D,OAAO,CAACqB,QAAQ,CAACa,eAAe,EAAEb,QAAQ,CAACwB,IAAI,CAAC;EAC5De,SAAS,EAAEnD,OAAO,CAACY,QAAQ,CAACwC,iBAAiB;AAC/C,CAAC,EAAE;EACDN,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAACsC,QAAQ,CAAC;EACjC4B,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChCuD,UAAU,EAAEnD,KAAK,CAACD,GAAG,CAAC;EACtBqD,SAAS,EAAErC;AACb,CAAC,EAAE;EACD6B,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAAC0E,OAAO,CAAC;EAChCR,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChC0D,QAAQ,EAAEjE,OAAO,CAACqB,QAAQ,CAACgB,cAAc,CAAC;EAC1C;EACA6B,WAAW,EAAElE,OAAO,CAACqB,QAAQ,CAACgB,cAAc,EAAEhB,QAAQ,CAACa,eAAe,EAAEb,QAAQ,CAACwB,IAAI,CAAC;EACtFsB,MAAM,EAAE1E,UAAU;EAClBM,GAAG;EACHgB,GAAG;EACHC,KAAK,EAAEA,KAAK,CAAC,UAAU,CAAC;EACxBoD,OAAO,EAAE3D,OAAO,CAACY,QAAQ,CAACmB,SAAS,EAAE,IAAI;AAC3C,CAAC,EAAE;EACDe,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAACuD,IAAI,CAAC;EAC7BW,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChC8D,SAAS,EAAErE,OAAO,CAACqB,QAAQ,CAACgB,cAAc,CAAC;EAC3Ca,OAAO,EAAE1D,SAAS;EAClB8E,MAAM,EAAE5D,GAAG;EACXuC,SAAS,EAAEzD,SAAS;EACpBS;AACF,CAAC,EAAE;EACDsD,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAACiF,cAAc,CAAC;EACvCf,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChC8D,SAAS,EAAErE,OAAO,CAACqB,QAAQ,CAACgB,cAAc,CAAC;EAC3CrB,KAAK,EAAEA,KAAK,CAAC,WAAW,CAAC;EACzBwD,YAAY,EAAExE,OAAO,CAACqB,QAAQ,CAACoD,UAAU,CAAC;EAC1C1E,GAAG;EACHgB;AACF,CAAC,EAAE;EACDwC,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAACoF,WAAW,CAAC;EACpClB,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChC8D,SAAS,EAAErE,OAAO,CAACqB,QAAQ,CAACgB,cAAc,CAAC;EAC3CrB,KAAK,EAAEA,KAAK,CAAC,WAAW,CAAC;EACzBtB,IAAI;EACJiF,QAAQ,EAAEpF,IAAI;EACdK,OAAO;EACPG,GAAG;EACHgB;AACF,CAAC,EAAE;EACDwC,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAACsF,YAAY,CAAC;EACrCpB,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChC8D,SAAS,EAAErE,OAAO,CAACqB,QAAQ,CAACgB,cAAc,CAAC;EAC3CrB,KAAK,EAAEA,KAAK,CAAC,WAAW,CAAC;EACzBrB,MAAM;EACNuD,OAAO;EACPjD,QAAQ;EACRgD,SAAS;EACTlD,GAAG;EACHgB;AACF,CAAC,EAAE;EACDwC,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAACsF,YAAY,CAAC;EACrCpB,OAAO,EAAEjD,cAAc,CAAC,CAAC,CAAC;EAC1B8D,SAAS,EAAErE,OAAO,CAACqB,QAAQ,CAACgB,cAAc,CAAC;EAC3CrB,KAAK,EAAEA,KAAK,CAAC,WAAW,CAAC;EACzBrB,MAAM;EACNuD,OAAO;EACPjD,QAAQ,EAAEC,SAAS;EACnB+C,SAAS;EACTlD,GAAG;EACHgB;AACF,CAAC,EAAE;EACDwC,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAACuF,cAAc,CAAC;EACvCrB,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChC8D,SAAS,EAAErE,OAAO,CAACqB,QAAQ,CAACgB,cAAc,CAAC;EAC3CrB,KAAK,EAAEA,KAAK,CAAC,WAAW,CAAC;EACzBrB,MAAM;EACN;EACAuE,WAAW,EAAElE,OAAO,CAACqB,QAAQ,CAACgB,cAAc,EAAEhB,QAAQ,CAACwB,IAAI,CAAC;EAC5D9C,GAAG;EACHgB;AACF,CAAC,EAAE;EACDwC,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAACwF,YAAY,CAAC;EACrCtB,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChC8D,SAAS,EAAErE,OAAO,CAACqB,QAAQ,CAACgB,cAAc,CAAC;EAC3CrB,KAAK,EAAEA,KAAK,CAAC,WAAW,CAAC;EACzBrB,MAAM;EACNI,GAAG;EACHgB;AACF,CAAC,EAAE;EACDwC,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAAC6C,QAAQ,CAAC;EACjCqB,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChCwE,KAAK,EAAE/E,OAAO,CAACqB,QAAQ,CAACgB,cAAc,CAAC;EACvCxB,SAAS;EACTmE,IAAI,EAAEvE,OAAO,CAACY,QAAQ,CAACwC,iBAAiB,CAAC;EACzCoB,GAAG,EAAExE,OAAO,CAACY,QAAQ,CAACwC,iBAAiB,CAAC;EACxCqB,MAAM,EAAEtE,OAAO;EACfuE,QAAQ,EAAExE,KAAK,CAACX,OAAO,CAACqB,QAAQ,CAACgB,cAAc,CAAC,CAAC;EACjD+C,OAAO,EAAE3F;AACX,CAAC,EAAE;EACD8D,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAAC+F,gBAAgB,CAAC;EACzC7B,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChC+E,OAAO,EAAEtF,OAAO,CAACqB,QAAQ,CAACgB,cAAc,CAAC;EACzCrB,KAAK,EAAEA,KAAK,CAAC,SAAS,CAAC;EACvBgE,IAAI,EAAEvE,OAAO,CAACY,QAAQ,CAACwC,iBAAiB,CAAC;EACzChD,SAAS;EACTd,GAAG;EACHgB,GAAG;EACHqE,OAAO,EAAEjE,cAAc,CACrB,CAACgC,KAAK,GAAG,CAAC,KAAK;IACb,IAAI,CAACA,KAAK,KAAK,CAAC,EAAE,OAAOA,KAAK;IAC9B,MAAM,IAAI7B,aAAa,CAAC,SAAS,EAAE,qCAAqC,EAAE6B,KAAK,CAAC;EAClF,CAAC,EACD1D,UACF,CAAC;EACD0E,MAAM,EAAE1E,UAAU;EAClBI,QAAQ;EACRC,QAAQ;EACRyF,QAAQ,EAAE9E,OAAO,CAACY,QAAQ,CAACwC,iBAAiB;AAC9C,CAAC,EAAE;EACDN,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAACkG,cAAc,CAAC;EACvChC,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChCkF,QAAQ,EAAEzF,OAAO,CAACqB,QAAQ,CAACgB,cAAc,CAAC;EAC1CrB,KAAK,EAAEA,KAAK,CAAC,UAAU,CAAC;EACxB;EACA0E,UAAU,EAAE1F,OAAO,CAACqB,QAAQ,CAACa,eAAe,EAAEb,QAAQ,CAACwB,IAAI,CAAC;EAC5D/B,UAAU;EACVf,GAAG;EACHgB,GAAG;EACHoD,MAAM,EAAE1E,UAAU;EAClBI,QAAQ;EACRC,QAAQ;EACRyF,QAAQ,EAAE9E,OAAO,CAACY,QAAQ,CAACwC,iBAAiB;AAC9C,CAAC,EAAE;EACDN,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAACmD,YAAY,CAAC;EACrCe,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChCkF,QAAQ,EAAEzF,OAAO,CAACqB,QAAQ,CAACgB,cAAc,CAAC;EAC1CsD,WAAW,EAAEnG,SAAS;EACtBoG,MAAM,EAAEpG,SAAS;EACjBkG,UAAU,EAAE1F,OAAO,CAACqB,QAAQ,CAACa,eAAe,CAAC;EAC7C;EACApC,QAAQ,EAAEP,IAAI;EACdsG,OAAO,EAAErG,SAAS;EAClBsG,WAAW,EAAErF,OAAO,CAACY,QAAQ,CAACwC,iBAAiB,CAAC;EAChDkC,UAAU,EAAE1F,WAAW,CAACoB,cAAc,CAAC;EACvC;EACA;EACAwD,GAAG,EAAEtE,KAAK,CAACD,GAAG;AAChB,CAAC,EAAE;EACD6C,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAAC0D,MAAM,CAAC;EAC/BQ,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChC8D,SAAS,EAAErE,OAAO,CAACqB,QAAQ,CAACgB,cAAc,CAAC;EAC3C2D,WAAW,EAAExF,MAAM;EACnByF,cAAc,EAAEzF,MAAM;EACtBL,QAAQ,EAAEV,UAAU;EACpByG,cAAc,EAAE1G,SAAS;EACzBsB;AACF,CAAC,EAAE;EACDyC,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAAC6G,gBAAgB,CAAC;EACzC3C,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChC8D,SAAS,EAAErE,OAAO,CAACqB,QAAQ,CAACgB,cAAc,CAAC;EAC3CrB,KAAK,EAAEA,KAAK,CAAC,WAAW,CAAC;EACzBgF,WAAW,EAAExF,MAAM;EACnByF,cAAc,EAAEzF,MAAM;EACtBL,QAAQ,EAAEV,UAAU;EACpB2G,aAAa,EAAElF,WAAW,CAACM,gBAAgB,CAAC6E,KAAK,EAAEhG,WAAW,CAACmB,gBAAgB,CAAC,CAAC;EACjF0E,cAAc,EAAEhF,WAAW,CAAC,GAAG,EAAE1B,SAAS,CAAC;EAC3CO,GAAG;EACHgB,GAAG;EACHD;AACF,CAAC,EAAE;EACDyC,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAACgH,cAAc,CAAC;EACvC9C,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChC;EACAgG,QAAQ,EAAEvG,OAAO,CAACqB,QAAQ,CAAC0B,aAAa,EAAE1B,QAAQ,CAACwB,IAAI,CAAC;EACxD7B,KAAK,EAAEA,KAAK,CAAC,UAAU,CAAC;EACxBoF,aAAa,EAAElF,WAAW,CAACM,gBAAgB,CAAC6E,KAAK,EAAEhG,WAAW,CAACmB,gBAAgB,CAAC,CAAC;EACjF0E,cAAc,EAAEhF,WAAW,CAAC,GAAG,EAAE1B,SAAS,CAAC;EAC3CO,GAAG;EACHgB;AACF,CAAC,EAAE;EACDwC,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAACkH,aAAa,CAAC;EACtChD,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChC0D,QAAQ,EAAEjE,OAAO,CAACqB,QAAQ,CAACgB,cAAc,CAAC;EAC1CrB,KAAK,EAAEA,KAAK,CAAC,UAAU,CAAC;EACxB;EACAuF,QAAQ,EAAEvG,OAAO,CAACqB,QAAQ,CAAC0B,aAAa,EAAE1B,QAAQ,CAACwB,IAAI,CAAC;EACxD4D,KAAK,EAAEjG,MAAM;EACbL,QAAQ;EACRuG,YAAY,EAAExF,WAAW,CAACM,gBAAgB,CAAC6E,KAAK,EAAEhG,WAAW,CAACmB,gBAAgB,CAAC,CAAC;EAChFmF,aAAa,EAAEzF,WAAW,CAAC,EAAE,EAAE1B,SAAS,CAAC;EACzCoH,eAAe,EAAE1F,WAAW,CAACM,gBAAgB,CAAC6E,KAAK,EAAEhG,WAAW,CAACmB,gBAAgB,CAAC,CAAC;EACnFqF,gBAAgB,EAAE3F,WAAW,CAAC,EAAE,EAAE1B,SAAS,CAAC;EAC5CO,GAAG;EACHgB;AACF,CAAC,EAAE;EACDwC,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAACwH,gBAAgB,CAAC;EACzCtD,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChCgG,QAAQ,EAAEvG,OAAO,CAACqB,QAAQ,CAAC0B,aAAa,CAAC;EACzC/B,KAAK,EAAEA,KAAK,CAAC,UAAU,CAAC;EACxB+F,OAAO,EAAEtG,OAAO,CAACY,QAAQ,CAAC2F,aAAa,CAAC;EACxCC,QAAQ,EAAEzG,MAAM;EAChBoG,eAAe,EAAE1F,WAAW,CAACM,gBAAgB,CAAC6E,KAAK,EAAEhG,WAAW,CAACmB,gBAAgB,CAAC,CAAC;EACnFqF,gBAAgB,EAAE3F,WAAW,CAAC,EAAE,EAAE1B,SAAS,CAAC;EAC5CO,GAAG;EACHgB;AACF,CAAC,EAAE;EACDwC,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAAC4H,eAAe,CAAC;EACxC1D,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChC4G,SAAS,EAAEnH,OAAO,CAACqB,QAAQ,CAACgB,cAAc,CAAC;EAC3C+E,eAAe,EAAE7H,IAAI;EACrB8H,SAAS,EAAErH,OAAO,CAACqB,QAAQ,CAACgB,cAAc,CAAC;EAC3CiF,eAAe,EAAE/H,IAAI;EACrBgI,cAAc,EAAEhI,IAAI;EACpBiI,UAAU,EAAEjI,IAAI;EAChBwB,GAAG;EACHhB,GAAG;EACH0H,oBAAoB,EAAE9G,KAAK,CAACX,OAAO,CAAC,GAAGuB,eAAe,CAAC,CAAC;EACxDmG,oBAAoB,EAAE/G,KAAK,CAACX,OAAO,CAAC,GAAGuB,eAAe,CAAC,CAAC;EACxDoG,SAAS,EAAElH,OAAO,CAACY,QAAQ,CAACuG,KAAK,CAAC;EAClC5G,KAAK,EAAEA,KAAK,CAAC,WAAW;AAC1B,CAAC,EAAE;EACDuC,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAACuI,oBAAoB,CAAC;EAC7CrE,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChCuH,SAAS,EAAE9H,OAAO,CAACqB,QAAQ,CAACsB,OAAO,CAAC;EACpCoF,MAAM,EAAE/H,OAAO,CAACqB,QAAQ,CAACgB,cAAc,CAAC;EACxC2F,oBAAoB,EAAEzI,IAAI;EAC1B0I,oBAAoB,EAAE1I,IAAI;EAC1BwB,GAAG;EACHhB,GAAG;EACHiB,KAAK,EAAEA,KAAK,CAAC,QAAQ;AACvB,CAAC,EAAE;EACDuC,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAAC4I,kBAAkB,CAAC;EAC3C1E,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChCuH,SAAS,EAAE9H,OAAO,CAACqB,QAAQ,CAACsB,OAAO,CAAC;EACpCoF,MAAM,EAAE/H,OAAO,CAACqB,QAAQ,CAACgB,cAAc,CAAC;EACxC+B,OAAO,EAAE3D,OAAO,CAACY,QAAQ,CAAC8G,WAAW,CAAC;EACtCC,GAAG,EAAErG,aAAa;EAClBhB,GAAG;EACHhB,GAAG;EACHiB,KAAK,EAAEA,KAAK,CAAC,QAAQ;AACvB,CAAC,EAAE;EACDuC,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAAC+I,cAAc,CAAC;EACvC7E,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChCuH,SAAS,EAAE9H,OAAO,CAACqB,QAAQ,CAACsB,OAAO,CAAC;EACpCoF,MAAM,EAAE/H,OAAO,CAACqB,QAAQ,CAACgB,cAAc,CAAC;EACxC+B,OAAO,EAAE3D,OAAO,CAACY,QAAQ,CAAC8G,WAAW,CAAC;EACtCC,GAAG,EAAErG,aAAa;EAClBhB,GAAG;EACHhB,GAAG;EACHiB,KAAK,EAAEA,KAAK,CAAC,QAAQ;AACvB,CAAC,EAAE;EACDuC,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAACgJ,gBAAgB,CAAC;EACzC9E,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChCuH,SAAS,EAAE9H,OAAO,CAACqB,QAAQ,CAACsB,OAAO,CAAC;EACpCoF,MAAM,EAAE/H,OAAO,CAACqB,QAAQ,CAACgB,cAAc,CAAC;EACxC8B,MAAM,EAAE5E,IAAI;EACZwB,GAAG;EACHhB,GAAG;EACH4H,SAAS,EAAElH,OAAO,CAACY,QAAQ,CAACuG,KAAK,CAAC;EAClCW,KAAK,EAAE/I,SAAS;EAChBwB,KAAK,EAAEA,KAAK,CAAC,QAAQ;AACvB,CAAC,EAAE;EACDuC,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAACkJ,iBAAiB,CAAC;EAC1ChF,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChCuH,SAAS,EAAE9H,OAAO,CAACqB,QAAQ,CAACsB,OAAO,CAAC;EACpC8F,IAAI,EAAEzI,OAAO,CAACqB,QAAQ,CAACgB,cAAc,CAAC;EACtC8B,MAAM,EAAE5E,IAAI;EACZwB,GAAG;EACHhB,GAAG;EACH4H,SAAS,EAAElH,OAAO,CAACY,QAAQ,CAACuG,KAAK,CAAC;EAClCW,KAAK,EAAE/I,SAAS;EAChBwB,KAAK,EAAEA,KAAK,CAAC,QAAQ;AACvB,CAAC,EAAE;EACDuC,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAACoJ,eAAe,CAAC;EACxClF,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChCuH,SAAS,EAAE9H,OAAO,CAACqB,QAAQ,CAACsB,OAAO,CAAC;EACpCoF,MAAM,EAAE/H,OAAO,CAACqB,QAAQ,CAACgB,cAAc,CAAC;EACxC2F,oBAAoB,EAAEzI,IAAI;EAC1B0I,oBAAoB,EAAE1I,IAAI;EAC1BwB,GAAG;EACHhB,GAAG;EACHiB,KAAK,EAAEA,KAAK,CAAC,QAAQ;AACvB,CAAC,EAAE;EACDuC,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAACqJ,sBAAsB,CAAC;EAC/CnF,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChCuH,SAAS,EAAE9H,OAAO,CAACqB,QAAQ,CAACsB,OAAO,CAAC;EACpCoF,MAAM,EAAE/H,OAAO,CAACqB,QAAQ,CAACgB,cAAc,CAAC;EACxC+B,OAAO,EAAE3D,OAAO,CAACY,QAAQ,CAAC8G,WAAW,CAAC;EACtCI,KAAK,EAAE/I,SAAS;EAChBoJ,MAAM,EAAEnI,OAAO,CAACY,QAAQ,CAACwC,iBAAiB,CAAC;EAC3C8D,SAAS,EAAElH,OAAO,CAACY,QAAQ,CAACuG,KAAK,CAAC;EAClCiB,aAAa,EAAEpI,OAAO,CAACY,QAAQ,CAACyH,UAAU,CAAC;EAC3C/H,GAAG;EACHhB,GAAG;EACHiB,KAAK,EAAEA,KAAK,CAAC,QAAQ;AACvB,CAAC,EAAE;EACDuC,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAACyJ,iBAAiB,CAAC;EAC1CvF,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChCuH,SAAS,EAAE9H,OAAO,CAACqB,QAAQ,CAACsB,OAAO,CAAC;EACpC4F,KAAK,EAAE/I,SAAS;EAChBmI,SAAS,EAAElH,OAAO,CAACY,QAAQ,CAACuG,KAAK;AACnC,CAAC,EAAE;EACDrE,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAACqD,OAAO,CAAC;EAChCa,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChC4G,SAAS,EAAEnH,OAAO,CAACqB,QAAQ,CAACgB,cAAc,CAAC;EAC3CgF,SAAS,EAAErH,OAAO,CAACqB,QAAQ,CAACgB,cAAc,CAAC;EAC3C2G,aAAa,EAAEzJ,IAAI;EACnB6H,eAAe,EAAE7H,IAAI;EACrB+H,eAAe,EAAE/H,IAAI;EACrBgI,cAAc,EAAEhI,IAAI;EACpBkI,oBAAoB,EAAE9G,KAAK,CAACX,OAAO,CAAC,GAAGuB,eAAe,CAAC,CAAC;EACxDmG,oBAAoB,EAAE/G,KAAK,CAACX,OAAO,CAAC,GAAGuB,eAAe,CAAC,CAAC;EACxDoG,SAAS,EAAElH,OAAO,CAACY,QAAQ,CAACuG,KAAK,CAAC;EAClCW,KAAK,EAAE/I,SAAS;EAChByJ,SAAS,EAAE1J,IAAI;EACfiI,UAAU,EAAEjI,IAAI;EAChB2J,WAAW,EAAE3J,IAAI;EACjB4J,aAAa,EAAE1I,OAAO,CAACY,QAAQ,CAACwC,iBAAiB,CAAC;EAClDuF,aAAa,EAAE3I,OAAO,CAACY,QAAQ,CAACwC,iBAAiB;AACnD,CAAC,EAAE;EACDN,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAAC+J,qBAAqB,CAAC;EAC9C7F,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChCuH,SAAS,EAAE9H,OAAO,CAACqB,QAAQ,CAACsB,OAAO,CAAC;EACpCoF,MAAM,EAAE/H,OAAO,CAACqB,QAAQ,CAACgB,cAAc,CAAC;EACxC+B,OAAO,EAAE3D,OAAO,CAACY,QAAQ,CAAC8G,WAAW,CAAC;EACtCpH,GAAG;EACHhB,GAAG;EACHiB,KAAK,EAAEA,KAAK,CAAC,QAAQ;AACvB,CAAC,EAAE;EACDuC,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAACgK,6BAA6B,CAAC;EACtD9F,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChCgJ,IAAI,EAAEvJ,OAAO,CAACqB,QAAQ,CAACgB,cAAc,CAAC;EACtCmH,EAAE,EAAExJ,OAAO,CAACqB,QAAQ,CAACgB,cAAc,CAAC;EACpC8B,MAAM,EAAE5E;AACV,CAAC,EAAE;EACDgE,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAACmK,4BAA4B,CAAC;EACrDjG,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChCgJ,IAAI,EAAEvJ,OAAO,CAACqB,QAAQ,CAACgB,cAAc,CAAC;EACtC8B,MAAM,EAAE5E;AACV,CAAC,EAAE;EACDgE,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAACoK,6BAA6B,CAAC;EACtDlG,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChCgJ,IAAI,EAAEvJ,OAAO,CAACqB,QAAQ,CAACgB,cAAc,CAAC;EACtC8B,MAAM,EAAE5E;AACV,CAAC,EAAE;EACDgE,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAACqK,mCAAmC,CAAC;EAC5DnG,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChCwE,KAAK,EAAE/E,OAAO,CAACqB,QAAQ,CAACgB,cAAc,CAAC;EACvCxB,SAAS;EACTmE,IAAI,EAAEvE,OAAO,CAACY,QAAQ,CAACwC,iBAAiB,CAAC;EACzCuB,OAAO,EAAE7F,IAAI;EACbgG,QAAQ,EAAE9E,OAAO,CAACY,QAAQ,CAACwC,iBAAiB;AAC9C,CAAC,EAAE;EACDN,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAACsK,iCAAiC,CAAC;EAC1DpG,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChCsJ,MAAM,EAAE7J,OAAO,CAACqB,QAAQ,CAACgB,cAAc,CAAC;EACxCyH,QAAQ,EAAE9J,OAAO,CAACqB,QAAQ,CAACa,eAAe,CAAC;EAC3CpB,UAAU;EACVqD,MAAM,EAAE5E,IAAI;EACZgG,QAAQ,EAAE9E,OAAO,CAACY,QAAQ,CAACwC,iBAAiB,CAAC;EAC7CkG,SAAS,EAAErJ,GAAG;EACdZ,QAAQ;EACRD;AACF,CAAC,EAAE;EACD0D,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAAC0K,wBAAwB,CAAC;EACjDxG,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChCuH,SAAS,EAAE9H,OAAO,CAACqB,QAAQ,CAACsB,OAAO,CAAC;EACpC4F,KAAK,EAAE/I,SAAS;EAChByK,IAAI,EAAEzJ,MAAM;EACZ0J,MAAM,EAAElK,OAAO,CAACqB,QAAQ,CAACgB,cAAc;AACzC,CAAC,EAAE;EACDkB,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAAC0C,QAAQ,CAAC;EACjCwB,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChC;EACA4J,QAAQ,EAAExJ,KAAK,CAACL,MAAM,CAACe,QAAQ,CAACgB,cAAc,EAAE/C,GAAG,CAACgD,OAAO,CAAC,CAAC;EAC7D8H,KAAK,EAAEzJ,KAAK,CAACL,MAAM,CAACe,QAAQ,CAACmB,SAAS,EAAElD,GAAG,CAACmD,YAAY,CAAC,CAAC;EAC1D4H,QAAQ,EAAE1J,KAAK,CAACL,MAAM,CAACe,QAAQ,CAACsB,OAAO,EAAErD,GAAG,CAACqD,OAAO,CAAC,CAAC;EACtD2H,SAAS,EAAE3J,KAAK,CAACL,MAAM,CAACe,QAAQ,CAACa,eAAe,EAAE5C,GAAG,CAAC6C,QAAQ,CAAC,CAAC;EAChEoI,EAAE,EAAE5J,KAAK,CAACL,MAAM,CAACe,QAAQ,CAACwB,IAAI,EAAEvD,GAAG,CAACuD,IAAI,CAAC,CAAC;EAC1C2H,OAAO,EAAE7J,KAAK,CAACL,MAAM,CAACe,QAAQ,CAAC0B,aAAa,EAAEzD,GAAG,CAAC0D,MAAM,CAAC;AAC3D,CAAC,EAAE;EACDO,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAACwJ,UAAU,CAAC;EACnCtF,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChC+J,SAAS,EAAElJ,OAAO,CAAC9B,GAAG,CAACmL,cAAc,CAA4B;EACjEL,KAAK,EAAEhJ,OAAO,CAAC9B,GAAG,CAACoL,UAAU,CAAwB;EACrDL,QAAQ,EAAEjJ,OAAO,CAAC9B,GAAG,CAACqL,aAAa,CAA2B;EAC9DJ,EAAE,EAAEnJ,OAAO,CAAC9B,GAAG,CAACsL,gBAAgB,CAAwB;EACxDJ,OAAO,EAAEpJ,OAAO,CAAC9B,GAAG,CAACuL,YAAY,CAA0B;EAC3DV,QAAQ,EAAE/I,OAAO,CAAC9B,GAAG,CAACwL,aAAa;AACrC,CAAC,EAAE;EACDvH,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAACyL,KAAK,CAAC;EAC9BvH,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChCyK,MAAM,EAAEnJ;AACV,CAAC,EAAE;EACD0B,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAACwC,UAAU,CAAC;EACnC0B,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChC0K,GAAG,EAAEvK,GAAG;EACRyC,KAAK,EAAEzC;AACT,CAAC,EAAE;EACD6C,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAACmL,cAAc,CAAC;EACvCjH,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChC6D,OAAO,EAAEnC;AACX,CAAC,EAAE;EACDsB,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAACoL,UAAU,CAAC;EACnClH,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChC6D,OAAO,EAAE7B;AACX,CAAC,EAAE;EACDgB,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAACqL,aAAa,CAAC;EACtCnH,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChC6D,OAAO,EAAE1B;AACX,CAAC,EAAE;EACDa,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAACsL,gBAAgB,CAAC;EACzCpH,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChC6D,OAAO,EAAExB;AACX,CAAC,EAAE;EACDW,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAACuL,YAAY,CAAC;EACrCrH,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChC6D,OAAO,EAAEtB;AACX,CAAC,EAAE;EACDS,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAACwL,aAAa,CAAC;EACtCtH,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChC6D,OAAO,EAAEhC;AACX,CAAC,EAAE;EACDmB,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAAC4L,UAAU,CAAC;EACnC1H,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChC+E,OAAO,EAAEtF,OAAO,CAACqB,QAAQ,CAACgB,cAAc,CAAC;EACzCrB,KAAK,EAAEA,KAAK,CAAC,SAAS,CAAC;EACvBgE,IAAI,EAAEvE,OAAO,CAACY,QAAQ,CAACwC,iBAAiB,CAAC;EACzCsH,OAAO,EAAEzK,GAAG;EACZG,SAAS;EACTd,GAAG;EACHgB,GAAG;EACHlB,QAAQ;EACRC,QAAQ;EACRyF,QAAQ,EAAE9E,OAAO,CAACY,QAAQ,CAACwC,iBAAiB;AAC9C,CAAC,EAAE;EACDN,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAAC8L,QAAQ,CAAC;EACjC5H,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChC8K,IAAI,EAAErL,OAAO,CAACqB,QAAQ,CAACgB,cAAc,CAAC;EACtCiJ,QAAQ,EAAE7K,OAAO,CAACY,QAAQ,CAACwC,iBAAiB,CAAC;EAC7C/C,UAAU;EACVf,GAAG;EACHF,QAAQ;EACRC,QAAQ;EACRyL,EAAE,EAAE5J;AACN,CAAC,EAAE;EACD4B,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAACkM,WAAW,CAAC;EACpChI,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChCkL,OAAO,EAAEzL,OAAO,CAACqB,QAAQ,CAACgB,cAAc,CAAC;EACzCrB,KAAK,EAAEA,KAAK,CAAC,SAAS,CAAC;EACvBjB,GAAG;EACHwL,EAAE,EAAE5J;AACN,CAAC,EAAE;EACD4B,GAAG,EAAEhD,cAAc,CAACjB,GAAG,CAACoM,gBAAgB,CAAC;EACzClI,OAAO,EAAEjD,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChCR,GAAG,EAAEN,UAAU;EACfK,QAAQ;EACR6L,MAAM,EAAElL,OAAO,CAACY,QAAQ,CAACuK,MAAM;AACjC,CAAC,CAAU"}
|
|
@@ -22,10 +22,11 @@ import Node from '../Node';
|
|
|
22
22
|
* the SDK calculates the overall price of any transaction on its side.
|
|
23
23
|
*
|
|
24
24
|
* @param transaction - Transaction to calculate the cost of
|
|
25
|
-
* @param
|
|
26
|
-
* @param
|
|
27
|
-
* @param
|
|
28
|
-
* @param
|
|
25
|
+
* @param options - Options
|
|
26
|
+
* @param options.innerTx - Should be provided if transaction wrapped with Tag.PayingForTx
|
|
27
|
+
* @param options.gasUsed - Amount of gas actually used to make calculation more accurate
|
|
28
|
+
* @param options.queryFee - Oracle query fee
|
|
29
|
+
* @param options.isInitiator - Is transaction signer an initiator of state channel
|
|
29
30
|
*/
|
|
30
31
|
export declare function getExecutionCost(transaction: Encoded.Transaction, { innerTx, gasUsed, queryFee, isInitiator, }?: {
|
|
31
32
|
innerTx?: 'fee-payer' | 'freeloader';
|
|
@@ -44,8 +45,8 @@ export declare function getExecutionCostBySignedTx(transaction: Encoded.Transact
|
|
|
44
45
|
* Calculates the cost of signed and not signed transaction execution using node
|
|
45
46
|
* @param transaction - Transaction to calculate the cost of
|
|
46
47
|
* @param node - Node to use
|
|
47
|
-
* @param isMined - Is transaction already mined or not
|
|
48
48
|
* @param options - Options
|
|
49
|
+
* @param options.isMined - Is transaction already mined or not
|
|
49
50
|
*/
|
|
50
51
|
export declare function getExecutionCostUsingNode(transaction: Encoded.Transaction, node: Node, { isMined, ...options }?: {
|
|
51
52
|
isMined?: boolean;
|
package/es/tx/execution-cost.mjs
CHANGED
|
@@ -26,18 +26,18 @@ import getTransactionSignerAddress from "./transaction-signer.mjs";
|
|
|
26
26
|
* the SDK calculates the overall price of any transaction on its side.
|
|
27
27
|
*
|
|
28
28
|
* @param transaction - Transaction to calculate the cost of
|
|
29
|
-
* @param
|
|
30
|
-
* @param
|
|
31
|
-
* @param
|
|
32
|
-
* @param
|
|
29
|
+
* @param options - Options
|
|
30
|
+
* @param options.innerTx - Should be provided if transaction wrapped with Tag.PayingForTx
|
|
31
|
+
* @param options.gasUsed - Amount of gas actually used to make calculation more accurate
|
|
32
|
+
* @param options.queryFee - Oracle query fee
|
|
33
|
+
* @param options.isInitiator - Is transaction signer an initiator of state channel
|
|
33
34
|
*/
|
|
34
|
-
export function getExecutionCost(transaction
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
} = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
35
|
+
export function getExecutionCost(transaction, {
|
|
36
|
+
innerTx,
|
|
37
|
+
gasUsed,
|
|
38
|
+
queryFee,
|
|
39
|
+
isInitiator
|
|
40
|
+
} = {}) {
|
|
41
41
|
const params = unpackTx(transaction);
|
|
42
42
|
if (params.tag === Tag.SignedTx) {
|
|
43
43
|
throw new IllegalArgumentError('Transaction shouldn\'t be a SignedTx, use `getExecutionCostBySignedTx` instead');
|
|
@@ -101,14 +101,13 @@ export function getExecutionCostBySignedTx(transaction, networkId, options) {
|
|
|
101
101
|
* Calculates the cost of signed and not signed transaction execution using node
|
|
102
102
|
* @param transaction - Transaction to calculate the cost of
|
|
103
103
|
* @param node - Node to use
|
|
104
|
-
* @param isMined - Is transaction already mined or not
|
|
105
104
|
* @param options - Options
|
|
105
|
+
* @param options.isMined - Is transaction already mined or not
|
|
106
106
|
*/
|
|
107
|
-
export async function getExecutionCostUsingNode(transaction, node
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
} = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
107
|
+
export async function getExecutionCostUsingNode(transaction, node, {
|
|
108
|
+
isMined,
|
|
109
|
+
...options
|
|
110
|
+
} = {}) {
|
|
112
111
|
let params = unpackTx(transaction);
|
|
113
112
|
const isSignedTx = params.tag === Tag.SignedTx;
|
|
114
113
|
const txHash = isSignedTx && isMined === true && buildTxHash(transaction);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution-cost.mjs","names":["buildTx","buildTxHash","unpackTx","Tag","verify","getBufferToSign","IllegalArgumentError","InternalError","TransactionError","getTransactionSignerAddress","getExecutionCost","transaction","innerTx","gasUsed","queryFee","isInitiator","arguments","length","undefined","params","tag","SignedTx","res","BigInt","fee","NameClaimTx","nameFee","OracleQueryTx","OracleResponseTx","ChannelSettleTx","initiatorAmountFinal","responderAmountFinal","SpendTx","senderId","recipientId","ContractCreateTx","ContractCallTx","ChannelDepositTx","amount","deposit","GaAttachTx","GaMetaTx","gasPrice","gasLimit","PayingForTx","tx","encodedTx","getExecutionCostBySignedTx","networkId","options","address","isInnerTx","isNotInnerTx","map","f","signatures","getExecutionCostUsingNode","node","isMined","isSignedTx","txHash","includes","callInfo","gaInfo","getTransactionInfoByHash","combinedInfo","getOracleByPubkey","oracleId","toString","initiatorId","getChannelByPubkey","channelId","fromId","getNetworkId"],"sources":["../../src/tx/execution-cost.ts"],"sourcesContent":["import { Encoded } from '../utils/encoder';\nimport { buildTx, buildTxHash, unpackTx } from './builder';\nimport { Tag } from './builder/constants';\nimport { verify } from '../utils/crypto';\nimport { getBufferToSign } from '../account/Memory';\nimport { IllegalArgumentError, InternalError, TransactionError } from '../utils/errors';\nimport Node from '../Node';\nimport getTransactionSignerAddress from './transaction-signer';\n\n/**\n * Calculates the cost of transaction execution\n * Provides an upper cost of contract-call-related transactions because of `gasLimit`.\n * Also assumes that oracle query fee is 0 unless it is provided in options.\n *\n * The idea is that if you need to show transaction details with some accuracy you can define\n * expense fields that you want to show separately. And to show `getExecutionCost` result as a fee,\n * subtracting all fields shown separately.\n *\n * @example\n * ```vue\n * <template>\n * Amount: {{ txUnpacked.amount }}\n * Name fee: {{ txUnpacked.nameFee }}\n * Other fees: {{ getExecutionCost(txEncoded) - txUnpacked.amount - txUnpacked.nameFee }}\n * </template>\n * ```\n *\n * Doing this way you won't worry to show wrong fee for a transaction you may not support. Because\n * the SDK calculates the overall price of any transaction on its side.\n *\n * @param transaction - Transaction to calculate the cost of\n * @param innerTx - Should be provided if transaction wrapped with Tag.PayingForTx\n * @param gasUsed - Amount of gas actually used to make calculation more accurate\n * @param queryFee - Oracle query fee\n * @param isInitiator - Is transaction signer an initiator of state channel\n */\nexport function getExecutionCost(\n transaction: Encoded.Transaction,\n {\n innerTx, gasUsed, queryFee, isInitiator,\n }: {\n innerTx?: 'fee-payer' | 'freeloader';\n gasUsed?: number;\n queryFee?: string;\n isInitiator?: boolean;\n } = {},\n): bigint {\n const params = unpackTx(transaction);\n if (params.tag === Tag.SignedTx) {\n throw new IllegalArgumentError('Transaction shouldn\\'t be a SignedTx, use `getExecutionCostBySignedTx` instead');\n }\n\n let res = 0n;\n if ('fee' in params && innerTx !== 'freeloader') {\n res += BigInt(params.fee);\n }\n if (params.tag === Tag.NameClaimTx) {\n res += BigInt(params.nameFee);\n }\n if (params.tag === Tag.OracleQueryTx) {\n res += BigInt(params.queryFee);\n }\n if (params.tag === Tag.OracleResponseTx) {\n res -= BigInt(queryFee ?? 0);\n }\n if (params.tag === Tag.ChannelSettleTx) {\n if (isInitiator === true) res -= BigInt(params.initiatorAmountFinal);\n if (isInitiator === false) res -= BigInt(params.responderAmountFinal);\n }\n if (\n ((params.tag === Tag.SpendTx && params.senderId !== params.recipientId)\n || params.tag === Tag.ContractCreateTx || params.tag === Tag.ContractCallTx\n || params.tag === Tag.ChannelDepositTx) && innerTx !== 'fee-payer'\n ) {\n res += BigInt(params.amount);\n }\n if (params.tag === Tag.ContractCreateTx) res += BigInt(params.deposit);\n if (\n (params.tag === Tag.ContractCreateTx || params.tag === Tag.ContractCallTx\n || params.tag === Tag.GaAttachTx || params.tag === Tag.GaMetaTx)\n && innerTx !== 'freeloader'\n ) {\n res += BigInt(params.gasPrice) * BigInt(gasUsed ?? params.gasLimit);\n }\n if (params.tag === Tag.GaMetaTx || params.tag === Tag.PayingForTx) {\n res += getExecutionCost(\n buildTx(params.tx.encodedTx),\n params.tag === Tag.PayingForTx ? { innerTx: 'fee-payer' } : {},\n );\n }\n return res;\n}\n\n/**\n * Calculates the cost of signed transaction execution\n * @param transaction - Transaction to calculate the cost of\n * @param networkId - Network id used to sign the transaction\n * @param options - Options\n */\nexport function getExecutionCostBySignedTx(\n transaction: Encoded.Transaction,\n networkId: string,\n options?: Omit<Parameters<typeof getExecutionCost>[1], 'innerTx'>,\n): bigint {\n const params = unpackTx(transaction, Tag.SignedTx);\n if (params.encodedTx.tag === Tag.GaMetaTx) {\n return getExecutionCost(buildTx(params.encodedTx), options);\n }\n\n const tx = buildTx(params.encodedTx);\n const address = getTransactionSignerAddress(tx);\n const [isInnerTx, isNotInnerTx] = [true, false]\n .map((f) => verify(getBufferToSign(tx, networkId, f), params.signatures[0], address));\n if (!isInnerTx && !isNotInnerTx) throw new TransactionError('Can\\'t verify signature');\n return getExecutionCost(\n buildTx(params.encodedTx),\n { ...isInnerTx && { innerTx: 'freeloader' }, ...options },\n );\n}\n\n/**\n * Calculates the cost of signed and not signed transaction execution using node\n * @param transaction - Transaction to calculate the cost of\n * @param node - Node to use\n * @param isMined - Is transaction already mined or not\n * @param options - Options\n */\nexport async function getExecutionCostUsingNode(\n transaction: Encoded.Transaction,\n node: Node,\n { isMined, ...options }: { isMined?: boolean } & Parameters<typeof getExecutionCost>[1] = {},\n): Promise<bigint> {\n let params = unpackTx(transaction);\n const isSignedTx = params.tag === Tag.SignedTx;\n const txHash = isSignedTx && isMined === true && buildTxHash(transaction);\n if (params.tag === Tag.SignedTx) params = params.encodedTx;\n\n // TODO: set gasUsed for PayingForTx after solving https://github.com/aeternity/aeternity/issues/4087\n if (\n options.gasUsed == null && txHash !== false\n && [Tag.ContractCreateTx, Tag.ContractCallTx, Tag.GaAttachTx, Tag.GaMetaTx].includes(params.tag)\n ) {\n const { callInfo, gaInfo } = await node.getTransactionInfoByHash(txHash);\n const combinedInfo = callInfo ?? gaInfo;\n if (combinedInfo == null) {\n throw new InternalError(`callInfo and gaInfo is not available for transaction ${txHash}`);\n }\n options.gasUsed = combinedInfo.gasUsed;\n }\n\n if (options.queryFee == null && Tag.OracleResponseTx === params.tag) {\n options.queryFee = (await node.getOracleByPubkey(params.oracleId)).queryFee.toString();\n }\n\n if (options.isInitiator == null && Tag.ChannelSettleTx === params.tag && isMined !== true) {\n const { initiatorId } = await node.getChannelByPubkey(params.channelId);\n options.isInitiator = params.fromId === initiatorId;\n }\n\n return isSignedTx\n ? getExecutionCostBySignedTx(transaction, await node.getNetworkId(), options)\n : getExecutionCost(transaction, options);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"execution-cost.mjs","names":["buildTx","buildTxHash","unpackTx","Tag","verify","getBufferToSign","IllegalArgumentError","InternalError","TransactionError","getTransactionSignerAddress","getExecutionCost","transaction","innerTx","gasUsed","queryFee","isInitiator","params","tag","SignedTx","res","BigInt","fee","NameClaimTx","nameFee","OracleQueryTx","OracleResponseTx","ChannelSettleTx","initiatorAmountFinal","responderAmountFinal","SpendTx","senderId","recipientId","ContractCreateTx","ContractCallTx","ChannelDepositTx","amount","deposit","GaAttachTx","GaMetaTx","gasPrice","gasLimit","PayingForTx","tx","encodedTx","getExecutionCostBySignedTx","networkId","options","address","isInnerTx","isNotInnerTx","map","f","signatures","getExecutionCostUsingNode","node","isMined","isSignedTx","txHash","includes","callInfo","gaInfo","getTransactionInfoByHash","combinedInfo","getOracleByPubkey","oracleId","toString","initiatorId","getChannelByPubkey","channelId","fromId","getNetworkId"],"sources":["../../src/tx/execution-cost.ts"],"sourcesContent":["import { Encoded } from '../utils/encoder';\nimport { buildTx, buildTxHash, unpackTx } from './builder';\nimport { Tag } from './builder/constants';\nimport { verify } from '../utils/crypto';\nimport { getBufferToSign } from '../account/Memory';\nimport { IllegalArgumentError, InternalError, TransactionError } from '../utils/errors';\nimport Node from '../Node';\nimport getTransactionSignerAddress from './transaction-signer';\n\n/**\n * Calculates the cost of transaction execution\n * Provides an upper cost of contract-call-related transactions because of `gasLimit`.\n * Also assumes that oracle query fee is 0 unless it is provided in options.\n *\n * The idea is that if you need to show transaction details with some accuracy you can define\n * expense fields that you want to show separately. And to show `getExecutionCost` result as a fee,\n * subtracting all fields shown separately.\n *\n * @example\n * ```vue\n * <template>\n * Amount: {{ txUnpacked.amount }}\n * Name fee: {{ txUnpacked.nameFee }}\n * Other fees: {{ getExecutionCost(txEncoded) - txUnpacked.amount - txUnpacked.nameFee }}\n * </template>\n * ```\n *\n * Doing this way you won't worry to show wrong fee for a transaction you may not support. Because\n * the SDK calculates the overall price of any transaction on its side.\n *\n * @param transaction - Transaction to calculate the cost of\n * @param options - Options\n * @param options.innerTx - Should be provided if transaction wrapped with Tag.PayingForTx\n * @param options.gasUsed - Amount of gas actually used to make calculation more accurate\n * @param options.queryFee - Oracle query fee\n * @param options.isInitiator - Is transaction signer an initiator of state channel\n */\nexport function getExecutionCost(\n transaction: Encoded.Transaction,\n {\n innerTx, gasUsed, queryFee, isInitiator,\n }: {\n innerTx?: 'fee-payer' | 'freeloader';\n gasUsed?: number;\n queryFee?: string;\n isInitiator?: boolean;\n } = {},\n): bigint {\n const params = unpackTx(transaction);\n if (params.tag === Tag.SignedTx) {\n throw new IllegalArgumentError('Transaction shouldn\\'t be a SignedTx, use `getExecutionCostBySignedTx` instead');\n }\n\n let res = 0n;\n if ('fee' in params && innerTx !== 'freeloader') {\n res += BigInt(params.fee);\n }\n if (params.tag === Tag.NameClaimTx) {\n res += BigInt(params.nameFee);\n }\n if (params.tag === Tag.OracleQueryTx) {\n res += BigInt(params.queryFee);\n }\n if (params.tag === Tag.OracleResponseTx) {\n res -= BigInt(queryFee ?? 0);\n }\n if (params.tag === Tag.ChannelSettleTx) {\n if (isInitiator === true) res -= BigInt(params.initiatorAmountFinal);\n if (isInitiator === false) res -= BigInt(params.responderAmountFinal);\n }\n if (\n ((params.tag === Tag.SpendTx && params.senderId !== params.recipientId)\n || params.tag === Tag.ContractCreateTx || params.tag === Tag.ContractCallTx\n || params.tag === Tag.ChannelDepositTx) && innerTx !== 'fee-payer'\n ) {\n res += BigInt(params.amount);\n }\n if (params.tag === Tag.ContractCreateTx) res += BigInt(params.deposit);\n if (\n (params.tag === Tag.ContractCreateTx || params.tag === Tag.ContractCallTx\n || params.tag === Tag.GaAttachTx || params.tag === Tag.GaMetaTx)\n && innerTx !== 'freeloader'\n ) {\n res += BigInt(params.gasPrice) * BigInt(gasUsed ?? params.gasLimit);\n }\n if (params.tag === Tag.GaMetaTx || params.tag === Tag.PayingForTx) {\n res += getExecutionCost(\n buildTx(params.tx.encodedTx),\n params.tag === Tag.PayingForTx ? { innerTx: 'fee-payer' } : {},\n );\n }\n return res;\n}\n\n/**\n * Calculates the cost of signed transaction execution\n * @param transaction - Transaction to calculate the cost of\n * @param networkId - Network id used to sign the transaction\n * @param options - Options\n */\nexport function getExecutionCostBySignedTx(\n transaction: Encoded.Transaction,\n networkId: string,\n options?: Omit<Parameters<typeof getExecutionCost>[1], 'innerTx'>,\n): bigint {\n const params = unpackTx(transaction, Tag.SignedTx);\n if (params.encodedTx.tag === Tag.GaMetaTx) {\n return getExecutionCost(buildTx(params.encodedTx), options);\n }\n\n const tx = buildTx(params.encodedTx);\n const address = getTransactionSignerAddress(tx);\n const [isInnerTx, isNotInnerTx] = [true, false]\n .map((f) => verify(getBufferToSign(tx, networkId, f), params.signatures[0], address));\n if (!isInnerTx && !isNotInnerTx) throw new TransactionError('Can\\'t verify signature');\n return getExecutionCost(\n buildTx(params.encodedTx),\n { ...isInnerTx && { innerTx: 'freeloader' }, ...options },\n );\n}\n\n/**\n * Calculates the cost of signed and not signed transaction execution using node\n * @param transaction - Transaction to calculate the cost of\n * @param node - Node to use\n * @param options - Options\n * @param options.isMined - Is transaction already mined or not\n */\nexport async function getExecutionCostUsingNode(\n transaction: Encoded.Transaction,\n node: Node,\n { isMined, ...options }: { isMined?: boolean } & Parameters<typeof getExecutionCost>[1] = {},\n): Promise<bigint> {\n let params = unpackTx(transaction);\n const isSignedTx = params.tag === Tag.SignedTx;\n const txHash = isSignedTx && isMined === true && buildTxHash(transaction);\n if (params.tag === Tag.SignedTx) params = params.encodedTx;\n\n // TODO: set gasUsed for PayingForTx after solving https://github.com/aeternity/aeternity/issues/4087\n if (\n options.gasUsed == null && txHash !== false\n && [Tag.ContractCreateTx, Tag.ContractCallTx, Tag.GaAttachTx, Tag.GaMetaTx].includes(params.tag)\n ) {\n const { callInfo, gaInfo } = await node.getTransactionInfoByHash(txHash);\n const combinedInfo = callInfo ?? gaInfo;\n if (combinedInfo == null) {\n throw new InternalError(`callInfo and gaInfo is not available for transaction ${txHash}`);\n }\n options.gasUsed = combinedInfo.gasUsed;\n }\n\n if (options.queryFee == null && Tag.OracleResponseTx === params.tag) {\n options.queryFee = (await node.getOracleByPubkey(params.oracleId)).queryFee.toString();\n }\n\n if (options.isInitiator == null && Tag.ChannelSettleTx === params.tag && isMined !== true) {\n const { initiatorId } = await node.getChannelByPubkey(params.channelId);\n options.isInitiator = params.fromId === initiatorId;\n }\n\n return isSignedTx\n ? getExecutionCostBySignedTx(transaction, await node.getNetworkId(), options)\n : getExecutionCost(transaction, options);\n}\n"],"mappings":"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"}
|
|
@@ -15,10 +15,7 @@ export default function getTransactionSignerAddress(transaction) {
|
|
|
15
15
|
return params.gaId;
|
|
16
16
|
default:
|
|
17
17
|
}
|
|
18
|
-
const nonce = (_getSchema$find = getSchema(params.tag, params.version).find(
|
|
19
|
-
let [name] = _ref;
|
|
20
|
-
return name === 'nonce';
|
|
21
|
-
})) === null || _getSchema$find === void 0 ? void 0 : _getSchema$find[1];
|
|
18
|
+
const nonce = (_getSchema$find = getSchema(params.tag, params.version).find(([name]) => name === 'nonce')) === null || _getSchema$find === void 0 ? void 0 : _getSchema$find[1];
|
|
22
19
|
if (nonce == null) throw new TransactionError(`Transaction doesn't have nonce: ${Tag[params.tag]}`);
|
|
23
20
|
if (!('senderKey' in nonce)) throw new UnexpectedTsError();
|
|
24
21
|
const address = params[nonce.senderKey];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction-signer.mjs","names":["buildTx","getSchema","unpackTx","Tag","TransactionError","UnexpectedTsError","getTransactionSignerAddress","transaction","_getSchema$find","params","tag","SignedTx","encodedTx","GaMetaTx","gaId","nonce","version","find","
|
|
1
|
+
{"version":3,"file":"transaction-signer.mjs","names":["buildTx","getSchema","unpackTx","Tag","TransactionError","UnexpectedTsError","getTransactionSignerAddress","transaction","_getSchema$find","params","tag","SignedTx","encodedTx","GaMetaTx","gaId","nonce","version","find","name","address","senderKey","replace"],"sources":["../../src/tx/transaction-signer.ts"],"sourcesContent":["import { Encoded } from '../utils/encoder';\nimport { buildTx, getSchema, unpackTx } from './builder';\nimport { Tag } from './builder/constants';\nimport { TransactionError, UnexpectedTsError } from '../utils/errors';\n\n/**\n * Returns account address that signed a transaction\n * @param transaction - transaction to get a signer of\n */\nexport default function getTransactionSignerAddress(\n transaction: Encoded.Transaction,\n): Encoded.AccountAddress {\n const params = unpackTx(transaction);\n switch (params.tag) {\n case Tag.SignedTx:\n return getTransactionSignerAddress(buildTx(params.encodedTx));\n case Tag.GaMetaTx:\n return params.gaId;\n default:\n }\n\n const nonce = getSchema(params.tag, params.version).find(([name]) => name === 'nonce')?.[1];\n if (nonce == null) throw new TransactionError(`Transaction doesn't have nonce: ${Tag[params.tag]}`);\n if (!('senderKey' in nonce)) throw new UnexpectedTsError();\n const address = params[nonce.senderKey as keyof typeof params] as unknown as string;\n return address.replace(/^ok_/, 'ak_') as Encoded.AccountAddress;\n}\n"],"mappings":"SACSA,OAAO,EAAEC,SAAS,EAAEC,QAAQ;AAAA,SAC5BC,GAAG;AAAA,SACHC,gBAAgB,EAAEC,iBAAiB;AAE5C;AACA;AACA;AACA;AACA,eAAe,SAASC,2BAA2BA,CACjDC,WAAgC,EACR;EAAA,IAAAC,eAAA;EACxB,MAAMC,MAAM,GAAGP,QAAQ,CAACK,WAAW,CAAC;EACpC,QAAQE,MAAM,CAACC,GAAG;IAChB,KAAKP,GAAG,CAACQ,QAAQ;MACf,OAAOL,2BAA2B,CAACN,OAAO,CAACS,MAAM,CAACG,SAAS,CAAC,CAAC;IAC/D,KAAKT,GAAG,CAACU,QAAQ;MACf,OAAOJ,MAAM,CAACK,IAAI;IACpB;EACF;EAEA,MAAMC,KAAK,IAAAP,eAAA,GAAGP,SAAS,CAACQ,MAAM,CAACC,GAAG,EAAED,MAAM,CAACO,OAAO,CAAC,CAACC,IAAI,CAAC,CAAC,CAACC,IAAI,CAAC,KAAKA,IAAI,KAAK,OAAO,CAAC,cAAAV,eAAA,uBAAxEA,eAAA,CAA2E,CAAC,CAAC;EAC3F,IAAIO,KAAK,IAAI,IAAI,EAAE,MAAM,IAAIX,gBAAgB,CAAE,mCAAkCD,GAAG,CAACM,MAAM,CAACC,GAAG,CAAE,EAAC,CAAC;EACnG,IAAI,EAAE,WAAW,IAAIK,KAAK,CAAC,EAAE,MAAM,IAAIV,iBAAiB,CAAC,CAAC;EAC1D,MAAMc,OAAO,GAAGV,MAAM,CAACM,KAAK,CAACK,SAAS,CAA6C;EACnF,OAAOD,OAAO,CAACE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC;AACvC"}
|
package/es/tx/validator.mjs
CHANGED
|
@@ -3,12 +3,12 @@ const {
|
|
|
3
3
|
Buffer: _Buffer
|
|
4
4
|
} = _buffer;
|
|
5
5
|
import { RestError } from '@azure/core-rest-pipeline';
|
|
6
|
-
import { hash, verify } from "../utils/crypto.mjs";
|
|
6
|
+
import { hash, isAddressValid, verify } from "../utils/crypto.mjs";
|
|
7
7
|
import { ProtocolToVmAbi } from "./builder/field-types/ct-version.mjs";
|
|
8
|
-
import { Tag } from "./builder/constants.mjs";
|
|
8
|
+
import { Tag, ConsensusProtocolVersion } from "./builder/constants.mjs";
|
|
9
9
|
import { buildTx, unpackTx } from "./builder/index.mjs";
|
|
10
10
|
import { concatBuffers, isAccountNotFoundError } from "../utils/other.mjs";
|
|
11
|
-
import { decode } from "../utils/encoder.mjs";
|
|
11
|
+
import { Encoding, decode } from "../utils/encoder.mjs";
|
|
12
12
|
import Node from "../Node.mjs";
|
|
13
13
|
import { genAggressiveCacheGetResponsesPolicy } from "../utils/autorest.mjs";
|
|
14
14
|
import { UnexpectedTsError } from "../utils/errors.mjs";
|
|
@@ -34,7 +34,9 @@ async function verifyTransactionInternal(tx, node, parentTxTypes) {
|
|
|
34
34
|
.then(acc => ({
|
|
35
35
|
...acc,
|
|
36
36
|
id: acc.id
|
|
37
|
-
})), node.getCurrentKeyBlockHeight(),
|
|
37
|
+
})), node.getCurrentKeyBlockHeight(),
|
|
38
|
+
// TODO: don't request height on each validation, use caching
|
|
39
|
+
node.getNodeInfo()]);
|
|
38
40
|
return (await Promise.all(validators.map(async v => v(tx, {
|
|
39
41
|
node,
|
|
40
42
|
account,
|
|
@@ -63,12 +65,11 @@ export default async function verifyTransaction(transaction, nodeNotCached) {
|
|
|
63
65
|
});
|
|
64
66
|
return verifyTransactionInternal(unpackTx(transaction), node, []);
|
|
65
67
|
}
|
|
66
|
-
validators.push((tx,
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
} = _ref;
|
|
68
|
+
validators.push((tx, {
|
|
69
|
+
account,
|
|
70
|
+
nodeNetworkId,
|
|
71
|
+
parentTxTypes
|
|
72
|
+
}) => {
|
|
72
73
|
if (tx.tag !== Tag.SignedTx) return [];
|
|
73
74
|
const {
|
|
74
75
|
encodedTx,
|
|
@@ -86,33 +87,30 @@ validators.push((tx, _ref) => {
|
|
|
86
87
|
key: 'InvalidSignature',
|
|
87
88
|
checkedKeys: ['encodedTx', 'signatures']
|
|
88
89
|
}];
|
|
89
|
-
}, async (tx,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
} = _ref2;
|
|
90
|
+
}, async (tx, {
|
|
91
|
+
node,
|
|
92
|
+
parentTxTypes
|
|
93
|
+
}) => {
|
|
94
94
|
let nestedTx;
|
|
95
95
|
if ('encodedTx' in tx) nestedTx = tx.encodedTx;
|
|
96
96
|
if ('tx' in tx) nestedTx = tx.tx;
|
|
97
97
|
if (nestedTx == null) return [];
|
|
98
98
|
return verifyTransactionInternal(nestedTx, node, [...parentTxTypes, tx.tag]);
|
|
99
|
-
}, (tx,
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
} = _ref3;
|
|
99
|
+
}, (tx, {
|
|
100
|
+
height
|
|
101
|
+
}) => {
|
|
103
102
|
if (!('ttl' in tx)) return [];
|
|
104
|
-
if (tx.ttl === 0 || tx.ttl
|
|
103
|
+
if (tx.ttl === 0 || tx.ttl > height) return [];
|
|
105
104
|
return [{
|
|
106
105
|
message: `TTL ${tx.ttl} is already expired, current height is ${height}`,
|
|
107
106
|
key: 'ExpiredTTL',
|
|
108
107
|
checkedKeys: ['ttl']
|
|
109
108
|
}];
|
|
110
|
-
}, async (tx,
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
} = _ref4;
|
|
109
|
+
}, async (tx, {
|
|
110
|
+
account,
|
|
111
|
+
parentTxTypes,
|
|
112
|
+
node
|
|
113
|
+
}) => {
|
|
116
114
|
if (parentTxTypes.length !== 0) return [];
|
|
117
115
|
const cost = await getExecutionCostUsingNode(buildTx(tx), node).catch(() => 0n);
|
|
118
116
|
if (cost <= account.balance) return [];
|
|
@@ -121,10 +119,23 @@ validators.push((tx, _ref) => {
|
|
|
121
119
|
key: 'InsufficientBalance',
|
|
122
120
|
checkedKeys: ['amount', 'fee', 'nameFee', 'gasLimit', 'gasPrice']
|
|
123
121
|
}];
|
|
124
|
-
}, (tx,
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
122
|
+
}, async (tx, {
|
|
123
|
+
node
|
|
124
|
+
}) => {
|
|
125
|
+
if (tx.tag !== Tag.SpendTx || isAddressValid(tx.recipientId, Encoding.Name)) return [];
|
|
126
|
+
const recipient = await node.getAccountByPubkey(tx.recipientId).catch(error => {
|
|
127
|
+
if (!isAccountNotFoundError(error)) throw error;
|
|
128
|
+
return null;
|
|
129
|
+
});
|
|
130
|
+
if (recipient == null || recipient.payable === true) return [];
|
|
131
|
+
return [{
|
|
132
|
+
message: 'Recipient account is not payable',
|
|
133
|
+
key: 'RecipientAccountNotPayable',
|
|
134
|
+
checkedKeys: ['recipientId']
|
|
135
|
+
}];
|
|
136
|
+
}, (tx, {
|
|
137
|
+
account
|
|
138
|
+
}) => {
|
|
128
139
|
let message;
|
|
129
140
|
if (tx.tag === Tag.SignedTx && account.kind === 'generalized' && tx.signatures.length !== 0) {
|
|
130
141
|
message = 'Generalized account can\'t be used to generate SignedTx with signatures';
|
|
@@ -141,15 +152,14 @@ validators.push((tx, _ref) => {
|
|
|
141
152
|
},
|
|
142
153
|
// TODO: revert nonce check
|
|
143
154
|
// TODO: ensure nonce valid when paying for own tx
|
|
144
|
-
(tx,
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
const oracleCall = Tag.Oracle === tx.tag || Tag.OracleRegisterTx === tx.tag;
|
|
155
|
+
(tx, {
|
|
156
|
+
consensusProtocolVersion
|
|
157
|
+
}) => {
|
|
158
|
+
var _ref, _ref2;
|
|
159
|
+
const oracleCall = Tag.OracleRegisterTx === tx.tag;
|
|
150
160
|
const contractCreate = Tag.ContractCreateTx === tx.tag || Tag.GaAttachTx === tx.tag;
|
|
151
161
|
const contractCall = Tag.ContractCallTx === tx.tag || Tag.GaMetaTx === tx.tag;
|
|
152
|
-
const type = (
|
|
162
|
+
const type = (_ref = (_ref2 = oracleCall ? 'oracle-call' : null) !== null && _ref2 !== void 0 ? _ref2 : contractCreate ? 'contract-create' : null) !== null && _ref !== void 0 ? _ref : contractCall ? 'contract-call' : null;
|
|
153
163
|
if (type == null) return [];
|
|
154
164
|
const protocol = ProtocolToVmAbi[consensusProtocolVersion][type];
|
|
155
165
|
let ctVersion;
|
|
@@ -166,11 +176,12 @@ validators.push((tx, _ref) => {
|
|
|
166
176
|
}];
|
|
167
177
|
}
|
|
168
178
|
return [];
|
|
169
|
-
}, async (tx,
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
} = _ref9;
|
|
179
|
+
}, async (tx, {
|
|
180
|
+
node
|
|
181
|
+
}) => {
|
|
173
182
|
if (Tag.ContractCallTx !== tx.tag) return [];
|
|
183
|
+
// TODO: remove after solving https://github.com/aeternity/aeternity/issues/3669
|
|
184
|
+
if (tx.contractId.startsWith('nm_')) return [];
|
|
174
185
|
try {
|
|
175
186
|
const {
|
|
176
187
|
active
|
|
@@ -191,5 +202,13 @@ validators.push((tx, _ref) => {
|
|
|
191
202
|
checkedKeys: ['contractId']
|
|
192
203
|
}];
|
|
193
204
|
}
|
|
194
|
-
}
|
|
205
|
+
},
|
|
206
|
+
// TODO: move to fee field of tx builder after dropping Iris
|
|
207
|
+
(tx, {
|
|
208
|
+
consensusProtocolVersion
|
|
209
|
+
}) => Tag.GaAttachTx === tx.tag && ConsensusProtocolVersion.Ceres === consensusProtocolVersion && tx.nonce !== 1 ? [{
|
|
210
|
+
message: `Account ${tx.ownerId} can't become generalized because it is already used`,
|
|
211
|
+
key: 'AccountUsed',
|
|
212
|
+
checkedKeys: ['nonce']
|
|
213
|
+
}] : []);
|
|
195
214
|
//# sourceMappingURL=validator.mjs.map
|