@aeternity/aepp-sdk 13.3.3 → 14.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -2
- package/bin/aesophia_cli +0 -0
- package/dist/aepp-sdk.browser-script.cjs +3 -0
- package/dist/aepp-sdk.browser-script.cjs.LICENSE.txt +10 -0
- package/dist/aepp-sdk.browser-script.cjs.map +1 -0
- package/dist/aepp-sdk.browser.cjs +3 -0
- package/dist/aepp-sdk.browser.cjs.map +1 -0
- package/dist/aepp-sdk.cjs +33535 -0
- package/dist/aepp-sdk.cjs.map +1 -0
- package/es/AeSdk.d.ts +4 -4
- package/es/AeSdk.js +76 -0
- package/es/AeSdk.js.map +1 -0
- package/es/AeSdkAepp.d.ts +13 -8
- package/es/AeSdkAepp.js +153 -0
- package/es/AeSdkAepp.js.map +1 -0
- package/es/AeSdkBase.d.ts +5 -40
- package/es/AeSdkBase.js +225 -0
- package/es/AeSdkBase.js.map +1 -0
- package/es/AeSdkMethods.d.ts +10 -33
- package/es/AeSdkMethods.js +81 -0
- package/es/AeSdkMethods.js.map +1 -0
- package/es/AeSdkWallet.d.ts +13 -8
- package/es/AeSdkWallet.js +347 -0
- package/es/AeSdkWallet.js.map +1 -0
- package/es/Middleware.d.ts +9 -25
- package/es/Middleware.js +97 -0
- package/es/Middleware.js.map +1 -0
- package/es/MiddlewareSubscriber.d.ts +2 -3
- package/es/MiddlewareSubscriber.js +165 -0
- package/es/MiddlewareSubscriber.js.map +1 -0
- package/es/Node.d.ts +5 -21
- package/es/Node.js +97 -0
- package/es/Node.js.map +1 -0
- package/es/account/Base.d.ts +7 -71
- package/es/account/Base.js +6 -0
- package/es/account/Base.js.map +1 -0
- package/es/account/BaseFactory.d.ts +19 -0
- package/es/account/BaseFactory.js +28 -0
- package/es/account/BaseFactory.js.map +1 -0
- package/es/account/Generalized.d.ts +2 -6
- package/es/account/Generalized.js +108 -0
- package/es/account/Generalized.js.map +1 -0
- package/es/account/Ledger.d.ts +3 -7
- package/es/account/Ledger.js +107 -0
- package/es/account/Ledger.js.map +1 -0
- package/es/account/LedgerFactory.d.ts +16 -16
- package/es/account/LedgerFactory.js +80 -0
- package/es/account/LedgerFactory.js.map +1 -0
- package/es/account/Memory.d.ts +6 -22
- package/es/account/Memory.js +97 -0
- package/es/account/Memory.js.map +1 -0
- package/es/account/Metamask.d.ts +26 -0
- package/es/account/Metamask.js +76 -0
- package/es/account/Metamask.js.map +1 -0
- package/es/account/MetamaskFactory.d.ts +40 -0
- package/es/account/MetamaskFactory.js +110 -0
- package/es/account/MetamaskFactory.js.map +1 -0
- package/es/account/MnemonicFactory.d.ts +35 -0
- package/es/account/MnemonicFactory.js +88 -0
- package/es/account/MnemonicFactory.js.map +1 -0
- package/es/account/Rpc.d.ts +5 -19
- package/es/account/Rpc.js +86 -0
- package/es/account/Rpc.js.map +1 -0
- package/es/aens.d.ts +125 -166
- package/es/aens.js +258 -0
- package/es/aens.js.map +1 -0
- package/es/aepp-wallet-communication/WalletConnectorFrame.d.ts +25 -0
- package/es/aepp-wallet-communication/WalletConnectorFrame.js +39 -0
- package/es/aepp-wallet-communication/WalletConnectorFrame.js.map +1 -0
- package/es/aepp-wallet-communication/WalletConnectorFrameBase.d.ts +43 -0
- package/es/aepp-wallet-communication/WalletConnectorFrameBase.js +110 -0
- package/es/aepp-wallet-communication/WalletConnectorFrameBase.js.map +1 -0
- package/es/aepp-wallet-communication/WalletConnectorFrameWithNode.d.ts +27 -0
- package/es/aepp-wallet-communication/WalletConnectorFrameWithNode.js +43 -0
- package/es/aepp-wallet-communication/WalletConnectorFrameWithNode.js.map +1 -0
- package/es/aepp-wallet-communication/connection/Browser.js +53 -0
- package/es/aepp-wallet-communication/connection/Browser.js.map +1 -0
- package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +1 -1
- package/es/aepp-wallet-communication/connection/BrowserRuntime.js +54 -0
- package/es/aepp-wallet-communication/connection/BrowserRuntime.js.map +1 -0
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +2 -2
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.js +90 -0
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.js.map +1 -0
- package/es/aepp-wallet-communication/connection-proxy.d.ts +2 -2
- package/es/aepp-wallet-communication/connection-proxy.js +17 -0
- package/es/aepp-wallet-communication/connection-proxy.js.map +1 -0
- package/es/aepp-wallet-communication/rpc/RpcClient.d.ts +1 -1
- package/es/aepp-wallet-communication/rpc/RpcClient.js +119 -0
- package/es/aepp-wallet-communication/rpc/RpcClient.js.map +1 -0
- package/es/aepp-wallet-communication/rpc/types.d.ts +13 -19
- package/es/aepp-wallet-communication/rpc/types.js +3 -0
- package/es/aepp-wallet-communication/rpc/types.js.map +1 -0
- package/es/aepp-wallet-communication/schema.d.ts +10 -3
- package/es/aepp-wallet-communication/schema.js +202 -0
- package/es/aepp-wallet-communication/schema.js.map +1 -0
- package/es/aepp-wallet-communication/wallet-detector.d.ts +4 -4
- package/es/aepp-wallet-communication/wallet-detector.js +44 -0
- package/es/aepp-wallet-communication/wallet-detector.js.map +1 -0
- package/es/apis/compiler/compiler.d.ts +2 -2
- package/es/apis/compiler/compiler.js +513 -0
- package/es/apis/compiler/compiler.js.map +1 -0
- package/es/apis/compiler/index.d.ts +2 -2
- package/es/apis/compiler/index.js +3 -0
- package/es/apis/compiler/index.js.map +1 -0
- package/es/apis/compiler/models/index.js +2 -0
- package/es/apis/compiler/models/index.js.map +1 -0
- package/es/apis/compiler/models/mappers.js +554 -0
- package/es/apis/compiler/models/mappers.js.map +1 -0
- package/es/apis/compiler/models/parameters.js +67 -0
- package/es/apis/compiler/models/parameters.js.map +1 -0
- package/es/apis/middleware/index.d.ts +2 -2
- package/es/apis/middleware/index.js +3 -0
- package/es/apis/middleware/index.js.map +1 -0
- package/es/apis/middleware/middleware.d.ts +142 -134
- package/es/apis/middleware/middleware.js +1677 -0
- package/es/apis/middleware/middleware.js.map +1 -0
- package/es/apis/middleware/models/index.d.ts +1998 -819
- package/es/apis/middleware/models/index.js +1364 -0
- package/es/apis/middleware/models/index.js.map +1 -0
- package/es/apis/middleware/models/mappers.d.ts +135 -80
- package/es/apis/middleware/models/mappers.js +6054 -0
- package/es/apis/middleware/models/mappers.js.map +1 -0
- package/es/apis/middleware/models/parameters.d.ts +58 -14
- package/es/apis/middleware/models/parameters.js +909 -0
- package/es/apis/middleware/models/parameters.js.map +1 -0
- package/es/apis/node/index.d.ts +2 -2
- package/es/apis/node/index.js +3 -0
- package/es/apis/node/index.js.map +1 -0
- package/es/apis/node/models/index.d.ts +643 -636
- package/es/apis/node/models/index.js +2 -0
- package/es/apis/node/models/index.js.map +1 -0
- package/es/apis/node/models/mappers.d.ts +55 -55
- package/es/apis/node/models/mappers.js +5322 -0
- package/es/apis/node/models/mappers.js.map +1 -0
- package/es/apis/node/models/parameters.d.ts +5 -5
- package/es/apis/node/models/parameters.js +165 -0
- package/es/apis/node/models/parameters.js.map +1 -0
- package/es/apis/node/node.d.ts +101 -96
- package/es/apis/node/node.js +1238 -0
- package/es/apis/node/node.js.map +1 -0
- package/es/chain.d.ts +21 -21
- package/es/chain.js +442 -0
- package/es/chain.js.map +1 -0
- package/es/channel/Base.d.ts +12 -14
- package/es/channel/Base.js +246 -0
- package/es/channel/Base.js.map +1 -0
- package/es/channel/Contract.d.ts +9 -9
- package/es/channel/Contract.js +382 -0
- package/es/channel/Contract.js.map +1 -0
- package/es/channel/Spend.d.ts +11 -11
- package/es/channel/Spend.js +357 -0
- package/es/channel/Spend.js.map +1 -0
- package/es/channel/handlers.d.ts +4 -3
- package/es/channel/handlers.js +395 -0
- package/es/channel/handlers.js.map +1 -0
- package/es/channel/internal.d.ts +12 -11
- package/es/channel/internal.js +224 -0
- package/es/channel/internal.js.map +1 -0
- package/es/contract/Contract.d.ts +17 -19
- package/es/contract/Contract.js +525 -0
- package/es/contract/Contract.js.map +1 -0
- package/es/contract/compiler/Base.d.ts +1 -1
- package/es/contract/compiler/Base.js +5 -0
- package/es/contract/compiler/Base.js.map +1 -0
- package/es/contract/compiler/Cli.d.ts +2 -2
- package/es/contract/compiler/Cli.js +167 -0
- package/es/contract/compiler/Cli.js.map +1 -0
- package/es/contract/compiler/Http.d.ts +3 -3
- package/es/contract/compiler/Http.js +124 -0
- package/es/contract/compiler/Http.js.map +1 -0
- package/es/contract/compiler/HttpNode.d.ts +3 -3
- package/es/contract/compiler/HttpNode.js +29 -0
- package/es/contract/compiler/HttpNode.js.map +1 -0
- package/es/contract/compiler/getFileSystem.js +32 -0
- package/es/contract/compiler/getFileSystem.js.map +1 -0
- package/es/contract/ga.d.ts +8 -12
- package/es/contract/ga.js +136 -0
- package/es/contract/ga.js.map +1 -0
- package/es/index-browser.d.ts +56 -51
- package/es/index-browser.js +55 -0
- package/es/index-browser.js.map +1 -0
- package/es/index.d.ts +4 -5
- package/es/index.js +5 -0
- package/es/index.js.map +1 -0
- package/es/oracle/Oracle.d.ts +70 -0
- package/es/oracle/Oracle.js +173 -0
- package/es/oracle/Oracle.js.map +1 -0
- package/es/oracle/OracleBase.d.ts +41 -0
- package/es/oracle/OracleBase.js +52 -0
- package/es/oracle/OracleBase.js.map +1 -0
- package/es/oracle/OracleClient.d.ts +57 -0
- package/es/oracle/OracleClient.js +100 -0
- package/es/oracle/OracleClient.js.map +1 -0
- package/es/send-transaction.d.ts +8 -8
- package/es/send-transaction.js +110 -0
- package/es/send-transaction.js.map +1 -0
- package/es/spend.d.ts +8 -13
- package/es/spend.js +93 -0
- package/es/spend.js.map +1 -0
- package/es/tx/builder/SchemaTypes.d.ts +3 -3
- package/es/tx/builder/SchemaTypes.js +2 -0
- package/es/tx/builder/SchemaTypes.js.map +1 -0
- package/es/tx/builder/common.d.ts +2 -2
- package/es/tx/builder/common.js +38 -0
- package/es/tx/builder/common.js.map +1 -0
- package/es/tx/builder/constants.d.ts +2 -26
- package/es/tx/builder/constants.js +120 -0
- package/es/tx/builder/constants.js.map +1 -0
- package/es/tx/builder/delegation/index.d.ts +3 -3
- package/es/tx/builder/delegation/index.js +24 -0
- package/es/tx/builder/delegation/index.js.map +1 -0
- package/es/tx/builder/delegation/schema.d.ts +21 -4
- package/es/tx/builder/delegation/schema.generated.d.ts +2 -2
- package/es/tx/builder/delegation/schema.generated.js +2 -0
- package/es/tx/builder/delegation/schema.generated.js.map +1 -0
- package/es/tx/builder/delegation/schema.js +68 -0
- package/es/tx/builder/delegation/schema.js.map +1 -0
- package/es/tx/builder/entry/constants.d.ts +32 -0
- package/es/tx/builder/entry/constants.js +36 -0
- package/es/tx/builder/entry/constants.js.map +1 -0
- package/es/tx/builder/entry/index.d.ts +38 -0
- package/es/tx/builder/entry/index.js +37 -0
- package/es/tx/builder/entry/index.js.map +1 -0
- package/es/tx/builder/entry/schema.d.ts +1030 -0
- package/es/tx/builder/entry/schema.generated.d.ts +607 -0
- package/es/tx/builder/entry/schema.generated.js +2 -0
- package/es/tx/builder/entry/schema.generated.js.map +1 -0
- package/es/tx/builder/entry/schema.js +204 -0
- package/es/tx/builder/entry/schema.js.map +1 -0
- package/es/tx/builder/field-types/abi-version.d.ts +4 -5
- package/es/tx/builder/field-types/abi-version.js +34 -0
- package/es/tx/builder/field-types/abi-version.js.map +1 -0
- package/es/tx/builder/field-types/address.d.ts +2 -3
- package/es/tx/builder/field-types/address.js +46 -0
- package/es/tx/builder/field-types/address.js.map +1 -0
- package/es/tx/builder/field-types/array.js +11 -0
- package/es/tx/builder/field-types/array.js.map +1 -0
- package/es/tx/builder/field-types/boolean.d.ts +0 -1
- package/es/tx/builder/field-types/boolean.js +10 -0
- package/es/tx/builder/field-types/boolean.js.map +1 -0
- package/es/tx/builder/field-types/coin-amount.d.ts +3 -4
- package/es/tx/builder/field-types/coin-amount.js +18 -0
- package/es/tx/builder/field-types/coin-amount.js.map +1 -0
- package/es/tx/builder/field-types/ct-version.d.ts +4 -19
- package/es/tx/builder/field-types/ct-version.js +58 -0
- package/es/tx/builder/field-types/ct-version.js.map +1 -0
- package/es/tx/builder/field-types/encoded.d.ts +1 -2
- package/es/tx/builder/field-types/encoded.js +18 -0
- package/es/tx/builder/field-types/encoded.js.map +1 -0
- package/es/tx/builder/field-types/entry.d.ts +5 -6
- package/es/tx/builder/field-types/entry.js +26 -0
- package/es/tx/builder/field-types/entry.js.map +1 -0
- package/es/tx/builder/field-types/enumeration.d.ts +0 -1
- package/es/tx/builder/field-types/enumeration.js +27 -0
- package/es/tx/builder/field-types/enumeration.js.map +1 -0
- package/es/tx/builder/field-types/fee.d.ts +9 -10
- package/es/tx/builder/field-types/fee.js +160 -0
- package/es/tx/builder/field-types/fee.js.map +1 -0
- package/es/tx/builder/field-types/field.d.ts +0 -1
- package/es/tx/builder/field-types/field.js +10 -0
- package/es/tx/builder/field-types/field.js.map +1 -0
- package/es/tx/builder/field-types/gas-limit.d.ts +4 -5
- package/es/tx/builder/field-types/gas-limit.js +31 -0
- package/es/tx/builder/field-types/gas-limit.js.map +1 -0
- package/es/tx/builder/field-types/gas-price.d.ts +7 -8
- package/es/tx/builder/field-types/gas-price.js +53 -0
- package/es/tx/builder/field-types/gas-price.js.map +1 -0
- package/es/tx/builder/field-types/interface.d.ts +7 -0
- package/es/tx/builder/field-types/interface.js +2 -0
- package/es/tx/builder/field-types/interface.js.map +1 -0
- package/es/tx/builder/field-types/map.d.ts +6 -7
- package/es/tx/builder/field-types/map.js +38 -0
- package/es/tx/builder/field-types/map.js.map +1 -0
- package/es/tx/builder/field-types/mptree.d.ts +12 -13
- package/es/tx/builder/field-types/mptree.js +223 -0
- package/es/tx/builder/field-types/mptree.js.map +1 -0
- package/es/tx/builder/field-types/name-fee.d.ts +3 -4
- package/es/tx/builder/field-types/name-fee.js +22 -0
- package/es/tx/builder/field-types/name-fee.js.map +1 -0
- package/es/tx/builder/field-types/name-id.d.ts +2 -3
- package/es/tx/builder/field-types/name-id.js +14 -0
- package/es/tx/builder/field-types/name-id.js.map +1 -0
- package/es/tx/builder/field-types/name.d.ts +1 -2
- package/es/tx/builder/field-types/name.js +16 -0
- package/es/tx/builder/field-types/name.js.map +1 -0
- package/es/tx/builder/field-types/nonce.d.ts +6 -4
- package/es/tx/builder/field-types/nonce.js +40 -0
- package/es/tx/builder/field-types/nonce.js.map +1 -0
- package/es/tx/builder/field-types/pointers.d.ts +9 -18
- package/es/tx/builder/field-types/pointers.js +69 -0
- package/es/tx/builder/field-types/pointers.js.map +1 -0
- package/es/tx/builder/field-types/query-fee.d.ts +4 -5
- package/es/tx/builder/field-types/query-fee.js +21 -0
- package/es/tx/builder/field-types/query-fee.js.map +1 -0
- package/es/tx/builder/field-types/raw.d.ts +0 -1
- package/es/tx/builder/field-types/raw.js +10 -0
- package/es/tx/builder/field-types/raw.js.map +1 -0
- package/es/tx/builder/field-types/short-u-int-const.d.ts +0 -1
- package/es/tx/builder/field-types/short-u-int-const.js +20 -0
- package/es/tx/builder/field-types/short-u-int-const.js.map +1 -0
- package/es/tx/builder/field-types/short-u-int.d.ts +0 -1
- package/es/tx/builder/field-types/short-u-int.js +10 -0
- package/es/tx/builder/field-types/short-u-int.js.map +1 -0
- package/es/tx/builder/field-types/string.d.ts +0 -1
- package/es/tx/builder/field-types/string.js +10 -0
- package/es/tx/builder/field-types/string.js.map +1 -0
- package/es/tx/builder/field-types/transaction.d.ts +10 -0
- package/es/tx/builder/field-types/transaction.js +26 -0
- package/es/tx/builder/field-types/transaction.js.map +1 -0
- package/es/tx/builder/field-types/ttl.d.ts +6 -11
- package/es/tx/builder/field-types/ttl.js +33 -0
- package/es/tx/builder/field-types/ttl.js.map +1 -0
- package/es/tx/builder/field-types/u-int.d.ts +1 -2
- package/es/tx/builder/field-types/u-int.js +13 -0
- package/es/tx/builder/field-types/u-int.js.map +1 -0
- package/es/tx/builder/field-types/with-default.js +9 -0
- package/es/tx/builder/field-types/with-default.js.map +1 -0
- package/es/tx/builder/field-types/with-formatting.js +9 -0
- package/es/tx/builder/field-types/with-formatting.js.map +1 -0
- package/es/tx/builder/field-types/wrapped.d.ts +5 -6
- package/es/tx/builder/field-types/wrapped.js +20 -0
- package/es/tx/builder/field-types/wrapped.js.map +1 -0
- package/es/tx/builder/helpers.d.ts +5 -6
- package/es/tx/builder/helpers.js +207 -0
- package/es/tx/builder/helpers.js.map +1 -0
- package/es/tx/builder/index.d.ts +4 -13
- package/es/tx/builder/index.js +91 -0
- package/es/tx/builder/index.js.map +1 -0
- package/es/tx/builder/schema.d.ts +583 -1723
- package/es/tx/builder/schema.generated.d.ts +36 -992
- package/es/tx/builder/schema.generated.js +2 -0
- package/es/tx/builder/schema.generated.js.map +1 -0
- package/es/tx/builder/schema.js +355 -0
- package/es/tx/builder/schema.js.map +1 -0
- package/es/tx/execution-cost.d.ts +2 -2
- package/es/tx/execution-cost.js +140 -0
- package/es/tx/execution-cost.js.map +1 -0
- package/es/tx/transaction-signer.d.ts +1 -1
- package/es/tx/transaction-signer.js +24 -0
- package/es/tx/transaction-signer.js.map +1 -0
- package/es/tx/validator.d.ts +2 -2
- package/es/tx/validator.js +206 -0
- package/es/tx/validator.js.map +1 -0
- package/es/typings/blakejs/index.d.js +2 -0
- package/es/typings/blakejs/index.d.js.map +1 -0
- package/es/typings/sha-js/index.d.js +2 -0
- package/es/typings/sha-js/index.d.js.map +1 -0
- package/es/typings/tweetnacl-auth/index.d.js +2 -0
- package/es/typings/tweetnacl-auth/index.d.js.map +1 -0
- package/es/utils/MiddlewarePage.d.ts +36 -0
- package/es/utils/MiddlewarePage.js +57 -0
- package/es/utils/MiddlewarePage.js.map +1 -0
- package/es/utils/amount-formatter.d.ts +6 -6
- package/es/utils/amount-formatter.js +97 -0
- package/es/utils/amount-formatter.js.map +1 -0
- package/es/utils/autorest.d.ts +6 -1
- package/es/utils/autorest.js +206 -0
- package/es/utils/autorest.js.map +1 -0
- package/es/utils/bignumber.d.ts +1 -1
- package/es/utils/bignumber.js +21 -0
- package/es/utils/bignumber.js.map +1 -0
- package/es/utils/bytes.d.ts +1 -2
- package/es/utils/bytes.js +30 -0
- package/es/utils/bytes.js.map +1 -0
- package/es/utils/crypto.d.ts +2 -46
- package/es/utils/crypto.js +111 -0
- package/es/utils/crypto.js.map +1 -0
- package/es/utils/encoder-types.d.ts +2 -0
- package/es/utils/encoder-types.js +36 -0
- package/es/utils/encoder-types.js.map +1 -0
- package/es/utils/encoder.d.ts +2 -3
- package/es/utils/encoder.js +104 -0
- package/es/utils/encoder.js.map +1 -0
- package/es/utils/errors.d.ts +4 -10
- package/es/utils/errors.js +746 -0
- package/es/utils/errors.js.map +1 -0
- package/es/utils/json-big.d.ts +1 -1
- package/es/utils/json-big.js +25 -0
- package/es/utils/json-big.js.map +1 -0
- package/es/utils/jwt.d.ts +2 -2
- package/es/utils/jwt.js +112 -0
- package/es/utils/jwt.js.map +1 -0
- package/es/utils/other.d.ts +4 -4
- package/es/utils/other.js +48 -0
- package/es/utils/other.js.map +1 -0
- package/es/utils/semver-satisfies.js +12 -0
- package/es/utils/semver-satisfies.js.map +1 -0
- package/es/utils/string.js +18 -0
- package/es/utils/string.js.map +1 -0
- package/es/utils/typed-data.d.ts +1 -2
- package/es/utils/typed-data.js +52 -0
- package/es/utils/typed-data.js.map +1 -0
- package/es/utils/wrap-proxy.js +15 -0
- package/es/utils/wrap-proxy.js.map +1 -0
- package/package.json +85 -106
- package/bin/aesophia_cli_8 +0 -0
- package/dist/aepp-sdk.browser-script.js +0 -3
- package/dist/aepp-sdk.browser-script.js.LICENSE.txt +0 -12
- package/dist/aepp-sdk.browser-script.js.map +0 -1
- package/dist/aepp-sdk.browser.js +0 -3
- package/dist/aepp-sdk.browser.js.map +0 -1
- package/dist/aepp-sdk.js +0 -30486
- package/dist/aepp-sdk.js.map +0 -1
- package/es/AeSdk.mjs +0 -76
- package/es/AeSdk.mjs.map +0 -1
- package/es/AeSdkAepp.mjs +0 -145
- package/es/AeSdkAepp.mjs.map +0 -1
- package/es/AeSdkBase.mjs +0 -289
- package/es/AeSdkBase.mjs.map +0 -1
- package/es/AeSdkMethods.mjs +0 -92
- package/es/AeSdkMethods.mjs.map +0 -1
- package/es/AeSdkWallet.mjs +0 -368
- package/es/AeSdkWallet.mjs.map +0 -1
- package/es/Middleware.mjs +0 -94
- package/es/Middleware.mjs.map +0 -1
- package/es/MiddlewareSubscriber.mjs +0 -189
- package/es/MiddlewareSubscriber.mjs.map +0 -1
- package/es/Node.mjs +0 -148
- package/es/Node.mjs.map +0 -1
- package/es/account/Base.mjs +0 -134
- package/es/account/Base.mjs.map +0 -1
- package/es/account/Generalized.mjs +0 -129
- package/es/account/Generalized.mjs.map +0 -1
- package/es/account/Ledger.mjs +0 -131
- package/es/account/Ledger.mjs.map +0 -1
- package/es/account/LedgerFactory.mjs +0 -79
- package/es/account/LedgerFactory.mjs.map +0 -1
- package/es/account/Memory.mjs +0 -187
- package/es/account/Memory.mjs.map +0 -1
- package/es/account/Rpc.mjs +0 -178
- package/es/account/Rpc.mjs.map +0 -1
- package/es/aens.mjs +0 -290
- package/es/aens.mjs.map +0 -1
- package/es/aepp-wallet-communication/connection/Browser.mjs +0 -52
- package/es/aepp-wallet-communication/connection/Browser.mjs.map +0 -1
- package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +0 -55
- package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +0 -1
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +0 -98
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +0 -1
- package/es/aepp-wallet-communication/connection-proxy.mjs +0 -17
- package/es/aepp-wallet-communication/connection-proxy.mjs.map +0 -1
- package/es/aepp-wallet-communication/rpc/RpcClient.mjs +0 -134
- package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +0 -1
- package/es/aepp-wallet-communication/rpc/types.mjs +0 -3
- package/es/aepp-wallet-communication/rpc/types.mjs.map +0 -1
- package/es/aepp-wallet-communication/schema.mjs +0 -187
- package/es/aepp-wallet-communication/schema.mjs.map +0 -1
- package/es/aepp-wallet-communication/wallet-detector.mjs +0 -44
- package/es/aepp-wallet-communication/wallet-detector.mjs.map +0 -1
- package/es/apis/compiler/compiler.mjs +0 -513
- package/es/apis/compiler/compiler.mjs.map +0 -1
- package/es/apis/compiler/index.mjs +0 -3
- package/es/apis/compiler/index.mjs.map +0 -1
- package/es/apis/compiler/models/index.mjs +0 -2
- package/es/apis/compiler/models/index.mjs.map +0 -1
- package/es/apis/compiler/models/mappers.mjs +0 -554
- package/es/apis/compiler/models/mappers.mjs.map +0 -1
- package/es/apis/compiler/models/parameters.mjs +0 -67
- package/es/apis/compiler/models/parameters.mjs.map +0 -1
- package/es/apis/middleware/index.mjs +0 -3
- package/es/apis/middleware/index.mjs.map +0 -1
- package/es/apis/middleware/middleware.mjs +0 -1623
- package/es/apis/middleware/middleware.mjs.map +0 -1
- package/es/apis/middleware/models/index.mjs +0 -630
- package/es/apis/middleware/models/index.mjs.map +0 -1
- package/es/apis/middleware/models/mappers.mjs +0 -3707
- package/es/apis/middleware/models/mappers.mjs.map +0 -1
- package/es/apis/middleware/models/parameters.mjs +0 -444
- package/es/apis/middleware/models/parameters.mjs.map +0 -1
- package/es/apis/node/index.mjs +0 -3
- package/es/apis/node/index.mjs.map +0 -1
- package/es/apis/node/models/index.mjs +0 -2
- package/es/apis/node/models/index.mjs.map +0 -1
- package/es/apis/node/models/mappers.mjs +0 -4395
- package/es/apis/node/models/mappers.mjs.map +0 -1
- package/es/apis/node/models/parameters.mjs +0 -165
- package/es/apis/node/models/parameters.mjs.map +0 -1
- package/es/apis/node/node.mjs +0 -1240
- package/es/apis/node/node.mjs.map +0 -1
- package/es/chain.mjs +0 -441
- package/es/chain.mjs.map +0 -1
- package/es/channel/Base.mjs +0 -254
- package/es/channel/Base.mjs.map +0 -1
- package/es/channel/Contract.mjs +0 -383
- package/es/channel/Contract.mjs.map +0 -1
- package/es/channel/Spend.mjs +0 -357
- package/es/channel/Spend.mjs.map +0 -1
- package/es/channel/handlers.mjs +0 -383
- package/es/channel/handlers.mjs.map +0 -1
- package/es/channel/internal.mjs +0 -237
- package/es/channel/internal.mjs.map +0 -1
- package/es/contract/Contract.mjs +0 -540
- package/es/contract/Contract.mjs.map +0 -1
- package/es/contract/compiler/Base.mjs +0 -5
- package/es/contract/compiler/Base.mjs.map +0 -1
- package/es/contract/compiler/Cli.mjs +0 -197
- package/es/contract/compiler/Cli.mjs.map +0 -1
- package/es/contract/compiler/Cli8.d.ts +0 -13
- package/es/contract/compiler/Cli8.mjs +0 -22
- package/es/contract/compiler/Cli8.mjs.map +0 -1
- package/es/contract/compiler/Http.mjs +0 -126
- package/es/contract/compiler/Http.mjs.map +0 -1
- package/es/contract/compiler/HttpNode.mjs +0 -31
- package/es/contract/compiler/HttpNode.mjs.map +0 -1
- package/es/contract/compiler/getFileSystem.mjs +0 -40
- package/es/contract/compiler/getFileSystem.mjs.map +0 -1
- package/es/contract/delegation-signature.d.ts +0 -45
- package/es/contract/delegation-signature.mjs +0 -80
- package/es/contract/delegation-signature.mjs.map +0 -1
- package/es/contract/ga.mjs +0 -135
- package/es/contract/ga.mjs.map +0 -1
- package/es/deprecated.d.ts +0 -62
- package/es/deprecated.mjs +0 -87
- package/es/deprecated.mjs.map +0 -1
- package/es/index-browser.mjs +0 -49
- package/es/index-browser.mjs.map +0 -1
- package/es/index.mjs +0 -6
- package/es/index.mjs.map +0 -1
- package/es/oracle.d.ts +0 -125
- package/es/oracle.mjs +0 -242
- package/es/oracle.mjs.map +0 -1
- package/es/send-transaction.mjs +0 -109
- package/es/send-transaction.mjs.map +0 -1
- package/es/spend.mjs +0 -90
- package/es/spend.mjs.map +0 -1
- package/es/tx/builder/SchemaTypes.mjs +0 -2
- package/es/tx/builder/SchemaTypes.mjs.map +0 -1
- package/es/tx/builder/common.mjs +0 -42
- package/es/tx/builder/common.mjs.map +0 -1
- package/es/tx/builder/constants.mjs +0 -147
- package/es/tx/builder/constants.mjs.map +0 -1
- package/es/tx/builder/delegation/index.mjs +0 -24
- package/es/tx/builder/delegation/index.mjs.map +0 -1
- package/es/tx/builder/delegation/schema.generated.mjs +0 -2
- package/es/tx/builder/delegation/schema.generated.mjs.map +0 -1
- package/es/tx/builder/delegation/schema.mjs +0 -54
- package/es/tx/builder/delegation/schema.mjs.map +0 -1
- package/es/tx/builder/field-types/abi-version.mjs +0 -37
- package/es/tx/builder/field-types/abi-version.mjs.map +0 -1
- package/es/tx/builder/field-types/address.mjs +0 -48
- package/es/tx/builder/field-types/address.mjs.map +0 -1
- package/es/tx/builder/field-types/array.mjs +0 -11
- package/es/tx/builder/field-types/array.mjs.map +0 -1
- package/es/tx/builder/field-types/boolean.mjs +0 -13
- package/es/tx/builder/field-types/boolean.mjs.map +0 -1
- package/es/tx/builder/field-types/coin-amount.mjs +0 -18
- package/es/tx/builder/field-types/coin-amount.mjs.map +0 -1
- package/es/tx/builder/field-types/ct-version.mjs +0 -75
- package/es/tx/builder/field-types/ct-version.mjs.map +0 -1
- package/es/tx/builder/field-types/encoded.mjs +0 -21
- package/es/tx/builder/field-types/encoded.mjs.map +0 -1
- package/es/tx/builder/field-types/entry.mjs +0 -29
- package/es/tx/builder/field-types/entry.mjs.map +0 -1
- package/es/tx/builder/field-types/enumeration.mjs +0 -30
- package/es/tx/builder/field-types/enumeration.mjs.map +0 -1
- package/es/tx/builder/field-types/fee.mjs +0 -160
- package/es/tx/builder/field-types/fee.mjs.map +0 -1
- package/es/tx/builder/field-types/field.mjs +0 -13
- package/es/tx/builder/field-types/field.mjs.map +0 -1
- package/es/tx/builder/field-types/gas-limit.mjs +0 -31
- package/es/tx/builder/field-types/gas-limit.mjs.map +0 -1
- package/es/tx/builder/field-types/gas-price.mjs +0 -60
- package/es/tx/builder/field-types/gas-price.mjs.map +0 -1
- package/es/tx/builder/field-types/index.d.ts +0 -39
- package/es/tx/builder/field-types/index.mjs +0 -32
- package/es/tx/builder/field-types/index.mjs.map +0 -1
- package/es/tx/builder/field-types/map.mjs +0 -38
- package/es/tx/builder/field-types/map.mjs.map +0 -1
- package/es/tx/builder/field-types/mptree.mjs +0 -251
- package/es/tx/builder/field-types/mptree.mjs.map +0 -1
- package/es/tx/builder/field-types/name-fee.mjs +0 -22
- package/es/tx/builder/field-types/name-fee.mjs.map +0 -1
- package/es/tx/builder/field-types/name-id.mjs +0 -14
- package/es/tx/builder/field-types/name-id.mjs.map +0 -1
- package/es/tx/builder/field-types/name.mjs +0 -16
- package/es/tx/builder/field-types/name.mjs.map +0 -1
- package/es/tx/builder/field-types/nonce.mjs +0 -31
- package/es/tx/builder/field-types/nonce.mjs.map +0 -1
- package/es/tx/builder/field-types/pointers.mjs +0 -33
- package/es/tx/builder/field-types/pointers.mjs.map +0 -1
- package/es/tx/builder/field-types/pointers2.d.ts +0 -23
- package/es/tx/builder/field-types/pointers2.mjs +0 -65
- package/es/tx/builder/field-types/pointers2.mjs.map +0 -1
- package/es/tx/builder/field-types/query-fee.mjs +0 -20
- package/es/tx/builder/field-types/query-fee.mjs.map +0 -1
- package/es/tx/builder/field-types/raw.mjs +0 -13
- package/es/tx/builder/field-types/raw.mjs.map +0 -1
- package/es/tx/builder/field-types/short-u-int-const.mjs +0 -20
- package/es/tx/builder/field-types/short-u-int-const.mjs.map +0 -1
- package/es/tx/builder/field-types/short-u-int.mjs +0 -10
- package/es/tx/builder/field-types/short-u-int.mjs.map +0 -1
- package/es/tx/builder/field-types/string.mjs +0 -10
- package/es/tx/builder/field-types/string.mjs.map +0 -1
- package/es/tx/builder/field-types/ttl.mjs +0 -32
- package/es/tx/builder/field-types/ttl.mjs.map +0 -1
- package/es/tx/builder/field-types/u-int.mjs +0 -13
- package/es/tx/builder/field-types/u-int.mjs.map +0 -1
- package/es/tx/builder/field-types/with-default.mjs +0 -9
- package/es/tx/builder/field-types/with-default.mjs.map +0 -1
- package/es/tx/builder/field-types/with-formatting.mjs +0 -9
- package/es/tx/builder/field-types/with-formatting.mjs.map +0 -1
- package/es/tx/builder/field-types/wrapped.mjs +0 -20
- package/es/tx/builder/field-types/wrapped.mjs.map +0 -1
- package/es/tx/builder/helpers.mjs +0 -209
- package/es/tx/builder/helpers.mjs.map +0 -1
- package/es/tx/builder/index.mjs +0 -98
- package/es/tx/builder/index.mjs.map +0 -1
- package/es/tx/builder/schema.generated.mjs +0 -2
- package/es/tx/builder/schema.generated.mjs.map +0 -1
- package/es/tx/builder/schema.mjs +0 -513
- package/es/tx/builder/schema.mjs.map +0 -1
- package/es/tx/execution-cost.mjs +0 -139
- package/es/tx/execution-cost.mjs.map +0 -1
- package/es/tx/transaction-signer.mjs +0 -24
- package/es/tx/transaction-signer.mjs.map +0 -1
- package/es/tx/validator.mjs +0 -214
- package/es/tx/validator.mjs.map +0 -1
- package/es/typings/@aeternity__uuid/index.d.mjs +0 -2
- package/es/typings/@aeternity__uuid/index.d.mjs.map +0 -1
- package/es/typings/bip32-path/index.d.mjs +0 -2
- package/es/typings/bip32-path/index.d.mjs.map +0 -1
- package/es/typings/blakejs/index.d.mjs +0 -2
- package/es/typings/blakejs/index.d.mjs.map +0 -1
- package/es/typings/sha-js/index.d.mjs +0 -2
- package/es/typings/sha-js/index.d.mjs.map +0 -1
- package/es/typings/tweetnacl-auth/index.d.mjs +0 -2
- package/es/typings/tweetnacl-auth/index.d.mjs.map +0 -1
- package/es/utils/amount-formatter.mjs +0 -97
- package/es/utils/amount-formatter.mjs.map +0 -1
- package/es/utils/autorest.mjs +0 -141
- package/es/utils/autorest.mjs.map +0 -1
- package/es/utils/bignumber.mjs +0 -21
- package/es/utils/bignumber.mjs.map +0 -1
- package/es/utils/bytes.mjs +0 -32
- package/es/utils/bytes.mjs.map +0 -1
- package/es/utils/crypto.mjs +0 -193
- package/es/utils/crypto.mjs.map +0 -1
- package/es/utils/encoder-types.mjs +0 -35
- package/es/utils/encoder-types.mjs.map +0 -1
- package/es/utils/encoder.mjs +0 -110
- package/es/utils/encoder.mjs.map +0 -1
- package/es/utils/errors.mjs +0 -756
- package/es/utils/errors.mjs.map +0 -1
- package/es/utils/hd-wallet.d.ts +0 -61
- package/es/utils/hd-wallet.mjs +0 -169
- package/es/utils/hd-wallet.mjs.map +0 -1
- package/es/utils/json-big.mjs +0 -25
- package/es/utils/json-big.mjs.map +0 -1
- package/es/utils/jwt.mjs +0 -120
- package/es/utils/jwt.mjs.map +0 -1
- package/es/utils/keystore.d.ts +0 -57
- package/es/utils/keystore.mjs +0 -140
- package/es/utils/keystore.mjs.map +0 -1
- package/es/utils/other.mjs +0 -49
- package/es/utils/other.mjs.map +0 -1
- package/es/utils/semver-satisfies.mjs +0 -12
- package/es/utils/semver-satisfies.mjs.map +0 -1
- package/es/utils/string.mjs +0 -18
- package/es/utils/string.mjs.map +0 -1
- package/es/utils/typed-data.mjs +0 -55
- package/es/utils/typed-data.mjs.map +0 -1
- package/es/utils/wrap-proxy.mjs +0 -15
- package/es/utils/wrap-proxy.mjs.map +0 -1
- package/src/AeSdk.ts +0 -75
- package/src/AeSdkAepp.ts +0 -179
- package/src/AeSdkBase.ts +0 -315
- package/src/AeSdkMethods.ts +0 -149
- package/src/AeSdkWallet.ts +0 -383
- package/src/Middleware.ts +0 -149
- package/src/MiddlewareSubscriber.ts +0 -207
- package/src/Node.ts +0 -213
- package/src/account/Base.ts +0 -224
- package/src/account/Generalized.ts +0 -113
- package/src/account/Ledger.ts +0 -161
- package/src/account/LedgerFactory.ts +0 -86
- package/src/account/Memory.ts +0 -218
- package/src/account/Rpc.ts +0 -170
- package/src/aens.ts +0 -372
- package/src/aepp-wallet-communication/connection/Browser.ts +0 -54
- package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +0 -57
- package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +0 -105
- package/src/aepp-wallet-communication/connection-proxy.ts +0 -19
- package/src/aepp-wallet-communication/rpc/RpcClient.ts +0 -153
- package/src/aepp-wallet-communication/rpc/types.ts +0 -115
- package/src/aepp-wallet-communication/schema.ts +0 -212
- package/src/aepp-wallet-communication/wallet-detector.ts +0 -54
- package/src/apis/compiler/compiler.ts +0 -527
- package/src/apis/compiler/index.ts +0 -2
- package/src/apis/compiler/models/index.ts +0 -236
- package/src/apis/compiler/models/mappers.ts +0 -555
- package/src/apis/compiler/models/parameters.ts +0 -87
- package/src/apis/middleware/index.ts +0 -2
- package/src/apis/middleware/middleware.ts +0 -1928
- package/src/apis/middleware/models/index.ts +0 -1949
- package/src/apis/middleware/models/mappers.ts +0 -3808
- package/src/apis/middleware/models/parameters.ts +0 -493
- package/src/apis/node/index.ts +0 -2
- package/src/apis/node/models/index.ts +0 -1335
- package/src/apis/node/models/mappers.ts +0 -4508
- package/src/apis/node/models/parameters.ts +0 -188
- package/src/apis/node/node.ts +0 -1420
- package/src/chain.ts +0 -433
- package/src/channel/Base.ts +0 -302
- package/src/channel/Contract.ts +0 -465
- package/src/channel/Spend.ts +0 -385
- package/src/channel/handlers.ts +0 -386
- package/src/channel/internal.ts +0 -461
- package/src/contract/Contract.ts +0 -629
- package/src/contract/compiler/Base.ts +0 -123
- package/src/contract/compiler/Cli.ts +0 -173
- package/src/contract/compiler/Cli8.ts +0 -17
- package/src/contract/compiler/Http.ts +0 -134
- package/src/contract/compiler/HttpNode.ts +0 -32
- package/src/contract/compiler/getFileSystem.ts +0 -42
- package/src/contract/delegation-signature.ts +0 -88
- package/src/contract/ga.ts +0 -138
- package/src/deprecated.ts +0 -77
- package/src/index-browser.ts +0 -121
- package/src/index.ts +0 -6
- package/src/oracle.ts +0 -311
- package/src/send-transaction.ts +0 -136
- package/src/spend.ts +0 -136
- package/src/tx/builder/SchemaTypes.ts +0 -79
- package/src/tx/builder/common.ts +0 -74
- package/src/tx/builder/constants.ts +0 -155
- package/src/tx/builder/delegation/index.ts +0 -28
- package/src/tx/builder/delegation/schema.generated.ts +0 -143
- package/src/tx/builder/delegation/schema.ts +0 -61
- package/src/tx/builder/field-types/abi-version.ts +0 -44
- package/src/tx/builder/field-types/address.ts +0 -62
- package/src/tx/builder/field-types/array.ts +0 -19
- package/src/tx/builder/field-types/boolean.ts +0 -9
- package/src/tx/builder/field-types/coin-amount.ts +0 -26
- package/src/tx/builder/field-types/ct-version.ts +0 -83
- package/src/tx/builder/field-types/encoded.ts +0 -27
- package/src/tx/builder/field-types/entry.ts +0 -33
- package/src/tx/builder/field-types/enumeration.ts +0 -32
- package/src/tx/builder/field-types/fee.ts +0 -191
- package/src/tx/builder/field-types/field.ts +0 -9
- package/src/tx/builder/field-types/gas-limit.ts +0 -46
- package/src/tx/builder/field-types/gas-price.ts +0 -67
- package/src/tx/builder/field-types/index.ts +0 -40
- package/src/tx/builder/field-types/map.ts +0 -45
- package/src/tx/builder/field-types/mptree.ts +0 -243
- package/src/tx/builder/field-types/name-fee.ts +0 -32
- package/src/tx/builder/field-types/name-id.ts +0 -17
- package/src/tx/builder/field-types/name.ts +0 -18
- package/src/tx/builder/field-types/nonce.ts +0 -46
- package/src/tx/builder/field-types/pointers.ts +0 -41
- package/src/tx/builder/field-types/pointers2.ts +0 -62
- package/src/tx/builder/field-types/query-fee.ts +0 -25
- package/src/tx/builder/field-types/raw.ts +0 -9
- package/src/tx/builder/field-types/short-u-int-const.ts +0 -30
- package/src/tx/builder/field-types/short-u-int.ts +0 -11
- package/src/tx/builder/field-types/string.ts +0 -11
- package/src/tx/builder/field-types/ttl.ts +0 -34
- package/src/tx/builder/field-types/u-int.ts +0 -15
- package/src/tx/builder/field-types/with-default.ts +0 -18
- package/src/tx/builder/field-types/with-formatting.ts +0 -18
- package/src/tx/builder/field-types/wrapped.ts +0 -32
- package/src/tx/builder/helpers.ts +0 -252
- package/src/tx/builder/index.ts +0 -123
- package/src/tx/builder/schema.generated.ts +0 -2049
- package/src/tx/builder/schema.ts +0 -612
- package/src/tx/execution-cost.ts +0 -164
- package/src/tx/transaction-signer.ts +0 -27
- package/src/tx/validator.ts +0 -222
- package/src/typings/@aeternity__uuid/index.d.ts +0 -5
- package/src/typings/bip32-path/index.d.ts +0 -33
- package/src/typings/blakejs/index.d.ts +0 -5
- package/src/typings/sha-js/index.d.ts +0 -5
- package/src/typings/tweetnacl-auth/index.d.ts +0 -14
- package/src/utils/amount-formatter.ts +0 -98
- package/src/utils/autorest.ts +0 -153
- package/src/utils/bignumber.ts +0 -21
- package/src/utils/bytes.ts +0 -28
- package/src/utils/crypto.ts +0 -216
- package/src/utils/encoder-types.ts +0 -63
- package/src/utils/encoder.ts +0 -145
- package/src/utils/errors.ts +0 -777
- package/src/utils/hd-wallet.ts +0 -191
- package/src/utils/json-big.ts +0 -27
- package/src/utils/jwt.ts +0 -126
- package/src/utils/keystore.ts +0 -189
- package/src/utils/other.ts +0 -64
- package/src/utils/semver-satisfies.ts +0 -22
- package/src/utils/string.ts +0 -17
- package/src/utils/typed-data.ts +0 -69
- package/src/utils/wrap-proxy.ts +0 -24
- package/types-legacy/ts4.2/AeSdk.d.ts +0 -44
- package/types-legacy/ts4.2/AeSdkAepp.d.ts +0 -71
- package/types-legacy/ts4.2/AeSdkBase.d.ts +0 -164
- package/types-legacy/ts4.2/AeSdkMethods.d.ts +0 -146
- package/types-legacy/ts4.2/AeSdkWallet.d.ts +0 -90
- package/types-legacy/ts4.2/Middleware.d.ts +0 -46
- package/types-legacy/ts4.2/MiddlewareSubscriber.d.ts +0 -30
- package/types-legacy/ts4.2/Node.d.ts +0 -95
- package/types-legacy/ts4.2/account/Base.d.ts +0 -147
- package/types-legacy/ts4.2/account/Generalized.d.ts +0 -22
- package/types-legacy/ts4.2/account/Ledger.d.ts +0 -34
- package/types-legacy/ts4.2/account/LedgerFactory.d.ts +0 -39
- package/types-legacy/ts4.2/account/Memory.d.ts +0 -46
- package/types-legacy/ts4.2/account/Rpc.d.ts +0 -35
- package/types-legacy/ts4.2/aens.d.ts +0 -193
- package/types-legacy/ts4.2/aepp-wallet-communication/connection/Browser.d.ts +0 -33
- package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserRuntime.d.ts +0 -22
- package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +0 -36
- package/types-legacy/ts4.2/aepp-wallet-communication/connection-proxy.d.ts +0 -11
- package/types-legacy/ts4.2/aepp-wallet-communication/rpc/RpcClient.d.ts +0 -34
- package/types-legacy/ts4.2/aepp-wallet-communication/rpc/types.d.ts +0 -120
- package/types-legacy/ts4.2/aepp-wallet-communication/schema.d.ts +0 -129
- package/types-legacy/ts4.2/aepp-wallet-communication/wallet-detector.d.ts +0 -22
- package/types-legacy/ts4.2/apis/compiler/compiler.d.ts +0 -86
- package/types-legacy/ts4.2/apis/compiler/index.d.ts +0 -2
- package/types-legacy/ts4.2/apis/compiler/models/index.d.ts +0 -191
- package/types-legacy/ts4.2/apis/compiler/models/mappers.d.ts +0 -22
- package/types-legacy/ts4.2/apis/compiler/models/parameters.d.ts +0 -12
- package/types-legacy/ts4.2/apis/middleware/index.d.ts +0 -2
- package/types-legacy/ts4.2/apis/middleware/middleware.d.ts +0 -327
- package/types-legacy/ts4.2/apis/middleware/models/index.d.ts +0 -1645
- package/types-legacy/ts4.2/apis/middleware/models/mappers.d.ts +0 -109
- package/types-legacy/ts4.2/apis/middleware/models/parameters.d.ts +0 -46
- package/types-legacy/ts4.2/apis/node/index.d.ts +0 -2
- package/types-legacy/ts4.2/apis/node/models/index.d.ts +0 -1129
- package/types-legacy/ts4.2/apis/node/models/mappers.d.ts +0 -99
- package/types-legacy/ts4.2/apis/node/models/parameters.d.ts +0 -17
- package/types-legacy/ts4.2/apis/node/node.d.ts +0 -236
- package/types-legacy/ts4.2/chain.d.ts +0 -227
- package/types-legacy/ts4.2/channel/Base.d.ts +0 -168
- package/types-legacy/ts4.2/channel/Contract.d.ts +0 -239
- package/types-legacy/ts4.2/channel/Spend.d.ts +0 -213
- package/types-legacy/ts4.2/channel/handlers.d.ts +0 -21
- package/types-legacy/ts4.2/channel/internal.d.ts +0 -232
- package/types-legacy/ts4.2/contract/Contract.d.ts +0 -164
- package/types-legacy/ts4.2/contract/compiler/Base.d.ts +0 -104
- package/types-legacy/ts4.2/contract/compiler/Cli.d.ts +0 -26
- package/types-legacy/ts4.2/contract/compiler/Cli8.d.ts +0 -13
- package/types-legacy/ts4.2/contract/compiler/Http.d.ts +0 -28
- package/types-legacy/ts4.2/contract/compiler/HttpNode.d.ts +0 -15
- package/types-legacy/ts4.2/contract/compiler/getFileSystem.d.ts +0 -6
- package/types-legacy/ts4.2/contract/delegation-signature.d.ts +0 -45
- package/types-legacy/ts4.2/contract/ga.d.ts +0 -59
- package/types-legacy/ts4.2/deprecated.d.ts +0 -62
- package/types-legacy/ts4.2/globals.d.ts +0 -16
- package/types-legacy/ts4.2/index-browser.d.ts +0 -51
- package/types-legacy/ts4.2/index.d.ts +0 -6
- package/types-legacy/ts4.2/oracle.d.ts +0 -125
- package/types-legacy/ts4.2/send-transaction.d.ts +0 -53
- package/types-legacy/ts4.2/spend.d.ts +0 -56
- package/types-legacy/ts4.2/tx/builder/SchemaTypes.d.ts +0 -37
- package/types-legacy/ts4.2/tx/builder/common.d.ts +0 -32
- package/types-legacy/ts4.2/tx/builder/constants.d.ts +0 -100
- package/types-legacy/ts4.2/tx/builder/delegation/index.d.ts +0 -20
- package/types-legacy/ts4.2/tx/builder/delegation/schema.d.ts +0 -136
- package/types-legacy/ts4.2/tx/builder/delegation/schema.generated.d.ts +0 -141
- package/types-legacy/ts4.2/tx/builder/field-types/abi-version.d.ts +0 -19
- package/types-legacy/ts4.2/tx/builder/field-types/address.d.ts +0 -21
- package/types-legacy/ts4.2/tx/builder/field-types/array.d.ts +0 -7
- package/types-legacy/ts4.2/tx/builder/field-types/boolean.d.ts +0 -6
- package/types-legacy/ts4.2/tx/builder/field-types/coin-amount.d.ts +0 -11
- package/types-legacy/ts4.2/tx/builder/field-types/ct-version.d.ts +0 -72
- package/types-legacy/ts4.2/tx/builder/field-types/encoded.d.ts +0 -6
- package/types-legacy/ts4.2/tx/builder/field-types/entry.d.ts +0 -11
- package/types-legacy/ts4.2/tx/builder/field-types/enumeration.d.ts +0 -7
- package/types-legacy/ts4.2/tx/builder/field-types/fee.d.ts +0 -30
- package/types-legacy/ts4.2/tx/builder/field-types/field.d.ts +0 -6
- package/types-legacy/ts4.2/tx/builder/field-types/gas-limit.d.ts +0 -16
- package/types-legacy/ts4.2/tx/builder/field-types/gas-price.d.ts +0 -17
- package/types-legacy/ts4.2/tx/builder/field-types/index.d.ts +0 -45
- package/types-legacy/ts4.2/tx/builder/field-types/map.d.ts +0 -13
- package/types-legacy/ts4.2/tx/builder/field-types/mptree.d.ts +0 -48
- package/types-legacy/ts4.2/tx/builder/field-types/name-fee.d.ts +0 -18
- package/types-legacy/ts4.2/tx/builder/field-types/name-id.d.ts +0 -11
- package/types-legacy/ts4.2/tx/builder/field-types/name.d.ts +0 -13
- package/types-legacy/ts4.2/tx/builder/field-types/nonce.d.ts +0 -15
- package/types-legacy/ts4.2/tx/builder/field-types/pointers.d.ts +0 -26
- package/types-legacy/ts4.2/tx/builder/field-types/pointers2.d.ts +0 -26
- package/types-legacy/ts4.2/tx/builder/field-types/query-fee.d.ts +0 -19
- package/types-legacy/ts4.2/tx/builder/field-types/raw.d.ts +0 -6
- package/types-legacy/ts4.2/tx/builder/field-types/short-u-int-const.d.ts +0 -7
- package/types-legacy/ts4.2/tx/builder/field-types/short-u-int.d.ts +0 -6
- package/types-legacy/ts4.2/tx/builder/field-types/string.d.ts +0 -6
- package/types-legacy/ts4.2/tx/builder/field-types/ttl.d.ts +0 -20
- package/types-legacy/ts4.2/tx/builder/field-types/u-int.d.ts +0 -7
- package/types-legacy/ts4.2/tx/builder/field-types/with-default.d.ts +0 -7
- package/types-legacy/ts4.2/tx/builder/field-types/with-formatting.d.ts +0 -7
- package/types-legacy/ts4.2/tx/builder/field-types/wrapped.d.ts +0 -14
- package/types-legacy/ts4.2/tx/builder/helpers.d.ts +0 -119
- package/types-legacy/ts4.2/tx/builder/index.d.ts +0 -62
- package/types-legacy/ts4.2/tx/builder/schema.d.ts +0 -3256
- package/types-legacy/ts4.2/tx/builder/schema.generated.d.ts +0 -2047
- package/types-legacy/ts4.2/tx/execution-cost.d.ts +0 -53
- package/types-legacy/ts4.2/tx/transaction-signer.d.ts +0 -6
- package/types-legacy/ts4.2/tx/validator.d.ts +0 -18
- package/types-legacy/ts4.2/utils/amount-formatter.d.ts +0 -41
- package/types-legacy/ts4.2/utils/autorest.d.ts +0 -7
- package/types-legacy/ts4.2/utils/bignumber.d.ts +0 -13
- package/types-legacy/ts4.2/utils/bytes.d.ts +0 -9
- package/types-legacy/ts4.2/utils/crypto.d.ts +0 -100
- package/types-legacy/ts4.2/utils/encoder-types.d.ts +0 -61
- package/types-legacy/ts4.2/utils/encoder.d.ts +0 -24
- package/types-legacy/ts4.2/utils/errors.d.ts +0 -464
- package/types-legacy/ts4.2/utils/hd-wallet.d.ts +0 -68
- package/types-legacy/ts4.2/utils/json-big.d.ts +0 -5
- package/types-legacy/ts4.2/utils/jwt.d.ts +0 -53
- package/types-legacy/ts4.2/utils/keystore.d.ts +0 -57
- package/types-legacy/ts4.2/utils/other.d.ts +0 -32
- package/types-legacy/ts4.2/utils/semver-satisfies.d.ts +0 -1
- package/types-legacy/ts4.2/utils/string.d.ts +0 -12
- package/types-legacy/ts4.2/utils/typed-data.d.ts +0 -58
- package/types-legacy/ts4.2/utils/wrap-proxy.d.ts +0 -2
- package/types-legacy/ts4.5/AeSdk.d.ts +0 -44
- package/types-legacy/ts4.5/AeSdkAepp.d.ts +0 -71
- package/types-legacy/ts4.5/AeSdkBase.d.ts +0 -164
- package/types-legacy/ts4.5/AeSdkMethods.d.ts +0 -146
- package/types-legacy/ts4.5/AeSdkWallet.d.ts +0 -90
- package/types-legacy/ts4.5/Middleware.d.ts +0 -46
- package/types-legacy/ts4.5/MiddlewareSubscriber.d.ts +0 -30
- package/types-legacy/ts4.5/Node.d.ts +0 -95
- package/types-legacy/ts4.5/account/Base.d.ts +0 -147
- package/types-legacy/ts4.5/account/Generalized.d.ts +0 -22
- package/types-legacy/ts4.5/account/Ledger.d.ts +0 -34
- package/types-legacy/ts4.5/account/LedgerFactory.d.ts +0 -39
- package/types-legacy/ts4.5/account/Memory.d.ts +0 -46
- package/types-legacy/ts4.5/account/Rpc.d.ts +0 -35
- package/types-legacy/ts4.5/aens.d.ts +0 -193
- package/types-legacy/ts4.5/aepp-wallet-communication/connection/Browser.d.ts +0 -33
- package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserRuntime.d.ts +0 -22
- package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +0 -36
- package/types-legacy/ts4.5/aepp-wallet-communication/connection-proxy.d.ts +0 -11
- package/types-legacy/ts4.5/aepp-wallet-communication/rpc/RpcClient.d.ts +0 -34
- package/types-legacy/ts4.5/aepp-wallet-communication/rpc/types.d.ts +0 -120
- package/types-legacy/ts4.5/aepp-wallet-communication/schema.d.ts +0 -129
- package/types-legacy/ts4.5/aepp-wallet-communication/wallet-detector.d.ts +0 -22
- package/types-legacy/ts4.5/apis/compiler/compiler.d.ts +0 -86
- package/types-legacy/ts4.5/apis/compiler/index.d.ts +0 -2
- package/types-legacy/ts4.5/apis/compiler/models/index.d.ts +0 -191
- package/types-legacy/ts4.5/apis/compiler/models/mappers.d.ts +0 -22
- package/types-legacy/ts4.5/apis/compiler/models/parameters.d.ts +0 -12
- package/types-legacy/ts4.5/apis/middleware/index.d.ts +0 -2
- package/types-legacy/ts4.5/apis/middleware/middleware.d.ts +0 -327
- package/types-legacy/ts4.5/apis/middleware/models/index.d.ts +0 -1645
- package/types-legacy/ts4.5/apis/middleware/models/mappers.d.ts +0 -109
- package/types-legacy/ts4.5/apis/middleware/models/parameters.d.ts +0 -46
- package/types-legacy/ts4.5/apis/node/index.d.ts +0 -2
- package/types-legacy/ts4.5/apis/node/models/index.d.ts +0 -1129
- package/types-legacy/ts4.5/apis/node/models/mappers.d.ts +0 -99
- package/types-legacy/ts4.5/apis/node/models/parameters.d.ts +0 -17
- package/types-legacy/ts4.5/apis/node/node.d.ts +0 -236
- package/types-legacy/ts4.5/chain.d.ts +0 -227
- package/types-legacy/ts4.5/channel/Base.d.ts +0 -168
- package/types-legacy/ts4.5/channel/Contract.d.ts +0 -239
- package/types-legacy/ts4.5/channel/Spend.d.ts +0 -213
- package/types-legacy/ts4.5/channel/handlers.d.ts +0 -21
- package/types-legacy/ts4.5/channel/internal.d.ts +0 -232
- package/types-legacy/ts4.5/contract/Contract.d.ts +0 -164
- package/types-legacy/ts4.5/contract/compiler/Base.d.ts +0 -104
- package/types-legacy/ts4.5/contract/compiler/Cli.d.ts +0 -26
- package/types-legacy/ts4.5/contract/compiler/Cli8.d.ts +0 -13
- package/types-legacy/ts4.5/contract/compiler/Http.d.ts +0 -28
- package/types-legacy/ts4.5/contract/compiler/HttpNode.d.ts +0 -15
- package/types-legacy/ts4.5/contract/compiler/getFileSystem.d.ts +0 -6
- package/types-legacy/ts4.5/contract/delegation-signature.d.ts +0 -45
- package/types-legacy/ts4.5/contract/ga.d.ts +0 -59
- package/types-legacy/ts4.5/deprecated.d.ts +0 -62
- package/types-legacy/ts4.5/index-browser.d.ts +0 -51
- package/types-legacy/ts4.5/index.d.ts +0 -5
- package/types-legacy/ts4.5/oracle.d.ts +0 -125
- package/types-legacy/ts4.5/send-transaction.d.ts +0 -53
- package/types-legacy/ts4.5/spend.d.ts +0 -56
- package/types-legacy/ts4.5/tx/builder/SchemaTypes.d.ts +0 -37
- package/types-legacy/ts4.5/tx/builder/common.d.ts +0 -32
- package/types-legacy/ts4.5/tx/builder/constants.d.ts +0 -100
- package/types-legacy/ts4.5/tx/builder/delegation/index.d.ts +0 -20
- package/types-legacy/ts4.5/tx/builder/delegation/schema.d.ts +0 -136
- package/types-legacy/ts4.5/tx/builder/delegation/schema.generated.d.ts +0 -141
- package/types-legacy/ts4.5/tx/builder/field-types/abi-version.d.ts +0 -19
- package/types-legacy/ts4.5/tx/builder/field-types/address.d.ts +0 -21
- package/types-legacy/ts4.5/tx/builder/field-types/array.d.ts +0 -7
- package/types-legacy/ts4.5/tx/builder/field-types/boolean.d.ts +0 -6
- package/types-legacy/ts4.5/tx/builder/field-types/coin-amount.d.ts +0 -11
- package/types-legacy/ts4.5/tx/builder/field-types/ct-version.d.ts +0 -72
- package/types-legacy/ts4.5/tx/builder/field-types/encoded.d.ts +0 -6
- package/types-legacy/ts4.5/tx/builder/field-types/entry.d.ts +0 -11
- package/types-legacy/ts4.5/tx/builder/field-types/enumeration.d.ts +0 -7
- package/types-legacy/ts4.5/tx/builder/field-types/fee.d.ts +0 -30
- package/types-legacy/ts4.5/tx/builder/field-types/field.d.ts +0 -6
- package/types-legacy/ts4.5/tx/builder/field-types/gas-limit.d.ts +0 -16
- package/types-legacy/ts4.5/tx/builder/field-types/gas-price.d.ts +0 -17
- package/types-legacy/ts4.5/tx/builder/field-types/index.d.ts +0 -45
- package/types-legacy/ts4.5/tx/builder/field-types/map.d.ts +0 -13
- package/types-legacy/ts4.5/tx/builder/field-types/mptree.d.ts +0 -48
- package/types-legacy/ts4.5/tx/builder/field-types/name-fee.d.ts +0 -18
- package/types-legacy/ts4.5/tx/builder/field-types/name-id.d.ts +0 -11
- package/types-legacy/ts4.5/tx/builder/field-types/name.d.ts +0 -13
- package/types-legacy/ts4.5/tx/builder/field-types/nonce.d.ts +0 -15
- package/types-legacy/ts4.5/tx/builder/field-types/pointers.d.ts +0 -26
- package/types-legacy/ts4.5/tx/builder/field-types/pointers2.d.ts +0 -26
- package/types-legacy/ts4.5/tx/builder/field-types/query-fee.d.ts +0 -19
- package/types-legacy/ts4.5/tx/builder/field-types/raw.d.ts +0 -6
- package/types-legacy/ts4.5/tx/builder/field-types/short-u-int-const.d.ts +0 -7
- package/types-legacy/ts4.5/tx/builder/field-types/short-u-int.d.ts +0 -6
- package/types-legacy/ts4.5/tx/builder/field-types/string.d.ts +0 -6
- package/types-legacy/ts4.5/tx/builder/field-types/ttl.d.ts +0 -20
- package/types-legacy/ts4.5/tx/builder/field-types/u-int.d.ts +0 -7
- package/types-legacy/ts4.5/tx/builder/field-types/with-default.d.ts +0 -7
- package/types-legacy/ts4.5/tx/builder/field-types/with-formatting.d.ts +0 -7
- package/types-legacy/ts4.5/tx/builder/field-types/wrapped.d.ts +0 -14
- package/types-legacy/ts4.5/tx/builder/helpers.d.ts +0 -119
- package/types-legacy/ts4.5/tx/builder/index.d.ts +0 -62
- package/types-legacy/ts4.5/tx/builder/schema.d.ts +0 -3256
- package/types-legacy/ts4.5/tx/builder/schema.generated.d.ts +0 -2047
- package/types-legacy/ts4.5/tx/execution-cost.d.ts +0 -53
- package/types-legacy/ts4.5/tx/transaction-signer.d.ts +0 -6
- package/types-legacy/ts4.5/tx/validator.d.ts +0 -18
- package/types-legacy/ts4.5/utils/amount-formatter.d.ts +0 -41
- package/types-legacy/ts4.5/utils/autorest.d.ts +0 -7
- package/types-legacy/ts4.5/utils/bignumber.d.ts +0 -13
- package/types-legacy/ts4.5/utils/bytes.d.ts +0 -9
- package/types-legacy/ts4.5/utils/crypto.d.ts +0 -100
- package/types-legacy/ts4.5/utils/encoder-types.d.ts +0 -61
- package/types-legacy/ts4.5/utils/encoder.d.ts +0 -24
- package/types-legacy/ts4.5/utils/errors.d.ts +0 -464
- package/types-legacy/ts4.5/utils/hd-wallet.d.ts +0 -68
- package/types-legacy/ts4.5/utils/json-big.d.ts +0 -5
- package/types-legacy/ts4.5/utils/jwt.d.ts +0 -53
- package/types-legacy/ts4.5/utils/keystore.d.ts +0 -57
- package/types-legacy/ts4.5/utils/other.d.ts +0 -32
- package/types-legacy/ts4.5/utils/semver-satisfies.d.ts +0 -1
- package/types-legacy/ts4.5/utils/string.d.ts +0 -12
- package/types-legacy/ts4.5/utils/typed-data.d.ts +0 -58
- package/types-legacy/ts4.5/utils/wrap-proxy.d.ts +0 -2
- /package/dist/{aepp-sdk.browser.js.LICENSE.txt → aepp-sdk.browser.cjs.LICENSE.txt} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aepp-sdk.browser.cjs","mappings":"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","sources":["webpack://Aeternity/webpack/universalModuleDefinition","webpack://Aeternity/./node_modules/blakejs/blake2b.js","webpack://Aeternity/./node_modules/blakejs/util.js","webpack://Aeternity/./node_modules/inherits/inherits_browser.js","webpack://Aeternity/./node_modules/safe-buffer/index.js","webpack://Aeternity/./node_modules/sha.js/hash.js","webpack://Aeternity/./node_modules/sha.js/sha256.js","webpack://Aeternity/external umd \"@aeternity/aepp-calldata\"","webpack://Aeternity/external umd \"@azure/core-client\"","webpack://Aeternity/external umd \"@azure/core-rest-pipeline\"","webpack://Aeternity/external umd \"@scure/bip39\"","webpack://Aeternity/external umd \"bignumber.js\"","webpack://Aeternity/external umd \"bs58\"","webpack://Aeternity/external umd \"buffer\"","webpack://Aeternity/external umd \"canonicalize\"","webpack://Aeternity/external umd \"eventemitter3\"","webpack://Aeternity/external umd \"events\"","webpack://Aeternity/external umd \"isomorphic-ws\"","webpack://Aeternity/external umd \"json-bigint\"","webpack://Aeternity/external umd \"rlp\"","webpack://Aeternity/external umd \"tweetnacl\"","webpack://Aeternity/external umd \"tweetnacl-auth\"","webpack://Aeternity/external umd \"varuint-bitcoin\"","webpack://Aeternity/external umd \"websocket\"","webpack://Aeternity/./node_modules/core-js-pure/actual/object/define-property.js","webpack://Aeternity/./node_modules/core-js-pure/actual/symbol/index.js","webpack://Aeternity/./node_modules/core-js-pure/actual/symbol/iterator.js","webpack://Aeternity/./node_modules/core-js-pure/actual/symbol/to-primitive.js","webpack://Aeternity/./node_modules/core-js-pure/es/object/define-property.js","webpack://Aeternity/./node_modules/core-js-pure/es/symbol/index.js","webpack://Aeternity/./node_modules/core-js-pure/es/symbol/iterator.js","webpack://Aeternity/./node_modules/core-js-pure/es/symbol/to-primitive.js","webpack://Aeternity/./node_modules/core-js-pure/full/object/define-property.js","webpack://Aeternity/./node_modules/core-js-pure/full/symbol/index.js","webpack://Aeternity/./node_modules/core-js-pure/full/symbol/iterator.js","webpack://Aeternity/./node_modules/core-js-pure/full/symbol/to-primitive.js","webpack://Aeternity/./node_modules/core-js-pure/internals/a-callable.js","webpack://Aeternity/./node_modules/core-js-pure/internals/a-possible-prototype.js","webpack://Aeternity/./node_modules/core-js-pure/internals/add-to-unscopables.js","webpack://Aeternity/./node_modules/core-js-pure/internals/an-object.js","webpack://Aeternity/./node_modules/core-js-pure/internals/array-includes.js","webpack://Aeternity/./node_modules/core-js-pure/internals/array-iteration.js","webpack://Aeternity/./node_modules/core-js-pure/internals/array-method-has-species-support.js","webpack://Aeternity/./node_modules/core-js-pure/internals/array-slice.js","webpack://Aeternity/./node_modules/core-js-pure/internals/array-species-constructor.js","webpack://Aeternity/./node_modules/core-js-pure/internals/array-species-create.js","webpack://Aeternity/./node_modules/core-js-pure/internals/classof-raw.js","webpack://Aeternity/./node_modules/core-js-pure/internals/classof.js","webpack://Aeternity/./node_modules/core-js-pure/internals/correct-prototype-getter.js","webpack://Aeternity/./node_modules/core-js-pure/internals/create-iter-result-object.js","webpack://Aeternity/./node_modules/core-js-pure/internals/create-non-enumerable-property.js","webpack://Aeternity/./node_modules/core-js-pure/internals/create-property-descriptor.js","webpack://Aeternity/./node_modules/core-js-pure/internals/create-property.js","webpack://Aeternity/./node_modules/core-js-pure/internals/define-built-in-accessor.js","webpack://Aeternity/./node_modules/core-js-pure/internals/define-built-in.js","webpack://Aeternity/./node_modules/core-js-pure/internals/define-global-property.js","webpack://Aeternity/./node_modules/core-js-pure/internals/descriptors.js","webpack://Aeternity/./node_modules/core-js-pure/internals/document-create-element.js","webpack://Aeternity/./node_modules/core-js-pure/internals/does-not-exceed-safe-integer.js","webpack://Aeternity/./node_modules/core-js-pure/internals/dom-iterables.js","webpack://Aeternity/./node_modules/core-js-pure/internals/enum-bug-keys.js","webpack://Aeternity/./node_modules/core-js-pure/internals/environment-user-agent.js","webpack://Aeternity/./node_modules/core-js-pure/internals/environment-v8-version.js","webpack://Aeternity/./node_modules/core-js-pure/internals/export.js","webpack://Aeternity/./node_modules/core-js-pure/internals/fails.js","webpack://Aeternity/./node_modules/core-js-pure/internals/function-apply.js","webpack://Aeternity/./node_modules/core-js-pure/internals/function-bind-context.js","webpack://Aeternity/./node_modules/core-js-pure/internals/function-bind-native.js","webpack://Aeternity/./node_modules/core-js-pure/internals/function-call.js","webpack://Aeternity/./node_modules/core-js-pure/internals/function-name.js","webpack://Aeternity/./node_modules/core-js-pure/internals/function-uncurry-this-accessor.js","webpack://Aeternity/./node_modules/core-js-pure/internals/function-uncurry-this-clause.js","webpack://Aeternity/./node_modules/core-js-pure/internals/function-uncurry-this.js","webpack://Aeternity/./node_modules/core-js-pure/internals/get-built-in.js","webpack://Aeternity/./node_modules/core-js-pure/internals/get-json-replacer-function.js","webpack://Aeternity/./node_modules/core-js-pure/internals/get-method.js","webpack://Aeternity/./node_modules/core-js-pure/internals/global-this.js","webpack://Aeternity/./node_modules/core-js-pure/internals/has-own-property.js","webpack://Aeternity/./node_modules/core-js-pure/internals/hidden-keys.js","webpack://Aeternity/./node_modules/core-js-pure/internals/html.js","webpack://Aeternity/./node_modules/core-js-pure/internals/ie8-dom-define.js","webpack://Aeternity/./node_modules/core-js-pure/internals/indexed-object.js","webpack://Aeternity/./node_modules/core-js-pure/internals/inspect-source.js","webpack://Aeternity/./node_modules/core-js-pure/internals/internal-state.js","webpack://Aeternity/./node_modules/core-js-pure/internals/is-array.js","webpack://Aeternity/./node_modules/core-js-pure/internals/is-callable.js","webpack://Aeternity/./node_modules/core-js-pure/internals/is-constructor.js","webpack://Aeternity/./node_modules/core-js-pure/internals/is-forced.js","webpack://Aeternity/./node_modules/core-js-pure/internals/is-null-or-undefined.js","webpack://Aeternity/./node_modules/core-js-pure/internals/is-object.js","webpack://Aeternity/./node_modules/core-js-pure/internals/is-possible-prototype.js","webpack://Aeternity/./node_modules/core-js-pure/internals/is-pure.js","webpack://Aeternity/./node_modules/core-js-pure/internals/is-symbol.js","webpack://Aeternity/./node_modules/core-js-pure/internals/iterator-create-constructor.js","webpack://Aeternity/./node_modules/core-js-pure/internals/iterator-define.js","webpack://Aeternity/./node_modules/core-js-pure/internals/iterators-core.js","webpack://Aeternity/./node_modules/core-js-pure/internals/iterators.js","webpack://Aeternity/./node_modules/core-js-pure/internals/length-of-array-like.js","webpack://Aeternity/./node_modules/core-js-pure/internals/math-trunc.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-create.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-define-properties.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-define-property.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-get-own-property-descriptor.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-get-own-property-names-external.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-get-own-property-names.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-get-own-property-symbols.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-get-prototype-of.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-is-prototype-of.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-keys-internal.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-keys.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-property-is-enumerable.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-set-prototype-of.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-to-string.js","webpack://Aeternity/./node_modules/core-js-pure/internals/ordinary-to-primitive.js","webpack://Aeternity/./node_modules/core-js-pure/internals/path.js","webpack://Aeternity/./node_modules/core-js-pure/internals/require-object-coercible.js","webpack://Aeternity/./node_modules/core-js-pure/internals/set-to-string-tag.js","webpack://Aeternity/./node_modules/core-js-pure/internals/shared-key.js","webpack://Aeternity/./node_modules/core-js-pure/internals/shared-store.js","webpack://Aeternity/./node_modules/core-js-pure/internals/shared.js","webpack://Aeternity/./node_modules/core-js-pure/internals/string-multibyte.js","webpack://Aeternity/./node_modules/core-js-pure/internals/symbol-constructor-detection.js","webpack://Aeternity/./node_modules/core-js-pure/internals/symbol-define-to-primitive.js","webpack://Aeternity/./node_modules/core-js-pure/internals/symbol-is-registered.js","webpack://Aeternity/./node_modules/core-js-pure/internals/symbol-is-well-known.js","webpack://Aeternity/./node_modules/core-js-pure/internals/symbol-registry-detection.js","webpack://Aeternity/./node_modules/core-js-pure/internals/to-absolute-index.js","webpack://Aeternity/./node_modules/core-js-pure/internals/to-indexed-object.js","webpack://Aeternity/./node_modules/core-js-pure/internals/to-integer-or-infinity.js","webpack://Aeternity/./node_modules/core-js-pure/internals/to-length.js","webpack://Aeternity/./node_modules/core-js-pure/internals/to-object.js","webpack://Aeternity/./node_modules/core-js-pure/internals/to-primitive.js","webpack://Aeternity/./node_modules/core-js-pure/internals/to-property-key.js","webpack://Aeternity/./node_modules/core-js-pure/internals/to-string-tag-support.js","webpack://Aeternity/./node_modules/core-js-pure/internals/to-string.js","webpack://Aeternity/./node_modules/core-js-pure/internals/try-to-string.js","webpack://Aeternity/./node_modules/core-js-pure/internals/uid.js","webpack://Aeternity/./node_modules/core-js-pure/internals/use-symbol-as-uid.js","webpack://Aeternity/./node_modules/core-js-pure/internals/v8-prototype-define-bug.js","webpack://Aeternity/./node_modules/core-js-pure/internals/weak-map-basic-detection.js","webpack://Aeternity/./node_modules/core-js-pure/internals/well-known-symbol-define.js","webpack://Aeternity/./node_modules/core-js-pure/internals/well-known-symbol-wrapped.js","webpack://Aeternity/./node_modules/core-js-pure/internals/well-known-symbol.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.array.concat.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.array.iterator.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.json.stringify.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.json.to-string-tag.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.object.define-property.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.object.get-own-property-symbols.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.string.iterator.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.async-iterator.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.constructor.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.for.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.has-instance.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.is-concat-spreadable.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.iterator.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.key-for.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.match-all.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.match.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.replace.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.search.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.species.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.split.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.to-primitive.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.to-string-tag.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.unscopables.js","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.function.metadata.js","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.symbol.async-dispose.js","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.symbol.custom-matcher.js","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.symbol.dispose.js","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.symbol.is-registered-symbol.js","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.symbol.is-registered.js","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.symbol.is-well-known-symbol.js","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.symbol.is-well-known.js","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.symbol.matcher.js","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.symbol.metadata-key.js","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.symbol.metadata.js","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.symbol.observable.js","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.symbol.pattern-match.js","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.symbol.replace-all.js","webpack://Aeternity/./node_modules/core-js-pure/modules/web.dom-collections.iterator.js","webpack://Aeternity/./node_modules/core-js-pure/stable/object/define-property.js","webpack://Aeternity/./node_modules/core-js-pure/stable/symbol/index.js","webpack://Aeternity/./node_modules/core-js-pure/stable/symbol/iterator.js","webpack://Aeternity/./node_modules/core-js-pure/stable/symbol/to-primitive.js","webpack://Aeternity/webpack/bootstrap","webpack://Aeternity/webpack/runtime/compat get default export","webpack://Aeternity/webpack/runtime/define property getters","webpack://Aeternity/webpack/runtime/global","webpack://Aeternity/webpack/runtime/hasOwnProperty shorthand","webpack://Aeternity/webpack/runtime/make namespace object","webpack://Aeternity/./src/utils/bignumber.ts","webpack://Aeternity/./src/utils/errors.ts","webpack://Aeternity/./src/utils/amount-formatter.ts","webpack://Aeternity/./src/utils/other.ts","webpack://Aeternity/./src/utils/wrap-proxy.ts","webpack://Aeternity/./src/utils/encoder-types.ts","webpack://Aeternity/./src/utils/encoder.ts","webpack://Aeternity/./src/utils/crypto.ts","webpack://Aeternity/./src/utils/bytes.ts","webpack://Aeternity/./src/tx/builder/constants.ts","webpack://Aeternity/./src/tx/builder/helpers.ts","webpack://Aeternity/./src/chain.ts","webpack://Aeternity/./src/tx/builder/field-types/ct-version.ts","webpack://Aeternity/./src/tx/builder/field-types/abi-version.ts","webpack://Aeternity/./src/tx/builder/field-types/address.ts","webpack://Aeternity/./src/tx/builder/field-types/array.ts","webpack://Aeternity/./src/tx/builder/field-types/u-int.ts","webpack://Aeternity/./src/tx/builder/field-types/coin-amount.ts","webpack://Aeternity/./src/tx/builder/field-types/encoded.ts","webpack://Aeternity/./src/tx/builder/field-types/entry.ts","webpack://Aeternity/./src/tx/builder/field-types/enumeration.ts","webpack://Aeternity/./src/tx/builder/field-types/gas-price.ts","webpack://Aeternity/./src/tx/builder/field-types/fee.ts","webpack://Aeternity/./src/tx/builder/field-types/short-u-int.ts","webpack://Aeternity/./src/tx/builder/field-types/gas-limit.ts","webpack://Aeternity/./src/tx/builder/field-types/field.ts","webpack://Aeternity/./src/tx/builder/field-types/name.ts","webpack://Aeternity/./src/tx/builder/field-types/name-fee.ts","webpack://Aeternity/./src/tx/builder/field-types/name-id.ts","webpack://Aeternity/./src/tx/builder/field-types/nonce.ts","webpack://Aeternity/./src/tx/builder/field-types/pointers.ts","webpack://Aeternity/./src/tx/builder/field-types/query-fee.ts","webpack://Aeternity/./src/tx/builder/field-types/raw.ts","webpack://Aeternity/./src/tx/builder/field-types/short-u-int-const.ts","webpack://Aeternity/./src/tx/builder/field-types/string.ts","webpack://Aeternity/./src/tx/builder/field-types/transaction.ts","webpack://Aeternity/./src/tx/builder/field-types/ttl.ts","webpack://Aeternity/./src/tx/builder/field-types/with-default.ts","webpack://Aeternity/./src/tx/builder/field-types/with-formatting.ts","webpack://Aeternity/./src/tx/builder/entry/constants.ts","webpack://Aeternity/./src/tx/builder/schema.ts","webpack://Aeternity/./src/tx/builder/common.ts","webpack://Aeternity/./src/tx/builder/field-types/boolean.ts","webpack://Aeternity/./src/tx/builder/field-types/map.ts","webpack://Aeternity/./src/tx/builder/field-types/mptree.ts","webpack://Aeternity/./src/tx/builder/field-types/wrapped.ts","webpack://Aeternity/./src/tx/builder/entry/schema.ts","webpack://Aeternity/./src/tx/builder/entry/index.ts","webpack://Aeternity/./src/tx/builder/index.ts","webpack://Aeternity/./src/utils/semver-satisfies.ts","webpack://Aeternity/./src/utils/autorest.ts","webpack://Aeternity/./src/apis/node/models/mappers.ts","webpack://Aeternity/./src/apis/node/models/parameters.ts","webpack://Aeternity/./src/apis/node/node.ts","webpack://Aeternity/./src/Node.ts","webpack://Aeternity/./src/tx/transaction-signer.ts","webpack://Aeternity/./src/account/Base.ts","webpack://Aeternity/./src/utils/typed-data.ts","webpack://Aeternity/./src/account/Memory.ts","webpack://Aeternity/./src/tx/execution-cost.ts","webpack://Aeternity/./src/tx/validator.ts","webpack://Aeternity/./src/send-transaction.ts","webpack://Aeternity/./src/utils/jwt.ts","webpack://Aeternity/./src/tx/builder/delegation/schema.ts","webpack://Aeternity/./src/tx/builder/delegation/index.ts","webpack://Aeternity/./src/aens.ts","webpack://Aeternity/./src/contract/Contract.ts","webpack://Aeternity/./src/oracle/OracleBase.ts","webpack://Aeternity/./src/oracle/Oracle.ts","webpack://Aeternity/./src/oracle/OracleClient.ts","webpack://Aeternity/./src/spend.ts","webpack://Aeternity/./src/contract/ga.ts","webpack://Aeternity/./node_modules/@babel/runtime-corejs3/helpers/esm/typeof.js","webpack://Aeternity/./node_modules/@babel/runtime-corejs3/helpers/esm/defineProperty.js","webpack://Aeternity/./node_modules/@babel/runtime-corejs3/helpers/esm/toPropertyKey.js","webpack://Aeternity/./node_modules/@babel/runtime-corejs3/helpers/esm/toPrimitive.js","webpack://Aeternity/./src/AeSdkMethods.ts","webpack://Aeternity/./src/AeSdkBase.ts","webpack://Aeternity/./src/AeSdk.ts","webpack://Aeternity/./src/aepp-wallet-communication/schema.ts","webpack://Aeternity/./src/account/Rpc.ts","webpack://Aeternity/./src/aepp-wallet-communication/rpc/RpcClient.ts","webpack://Aeternity/./src/AeSdkAepp.ts","webpack://Aeternity/./src/aepp-wallet-communication/rpc/types.ts","webpack://Aeternity/./src/aepp-wallet-communication/WalletConnectorFrameBase.ts","webpack://Aeternity/./src/aepp-wallet-communication/WalletConnectorFrame.ts","webpack://Aeternity/./src/aepp-wallet-communication/WalletConnectorFrameWithNode.ts","webpack://Aeternity/./src/utils/json-big.ts","webpack://Aeternity/./src/AeSdkWallet.ts","webpack://Aeternity/./src/account/BaseFactory.ts","webpack://Aeternity/./src/account/MnemonicFactory.ts","webpack://Aeternity/./src/account/Generalized.ts","webpack://Aeternity/./src/account/Ledger.ts","webpack://Aeternity/./src/account/LedgerFactory.ts","webpack://Aeternity/./src/account/Metamask.ts","webpack://Aeternity/./src/account/MetamaskFactory.ts","webpack://Aeternity/./src/contract/compiler/Base.ts","webpack://Aeternity/./src/apis/compiler/models/mappers.ts","webpack://Aeternity/./src/apis/compiler/models/parameters.ts","webpack://Aeternity/./src/apis/compiler/compiler.ts","webpack://Aeternity/./src/contract/compiler/Http.ts","webpack://Aeternity/./src/utils/string.ts","webpack://Aeternity/./src/channel/internal.ts","webpack://Aeternity/./src/channel/handlers.ts","webpack://Aeternity/./src/channel/Base.ts","webpack://Aeternity/./src/channel/Spend.ts","webpack://Aeternity/./src/channel/Contract.ts","webpack://Aeternity/./src/MiddlewareSubscriber.ts","webpack://Aeternity/./src/apis/middleware/models/parameters.ts","webpack://Aeternity/./src/apis/middleware/models/mappers.ts","webpack://Aeternity/./src/apis/middleware/middleware.ts","webpack://Aeternity/./src/utils/MiddlewarePage.ts","webpack://Aeternity/./src/Middleware.ts","webpack://Aeternity/./src/aepp-wallet-communication/connection-proxy.ts","webpack://Aeternity/./src/aepp-wallet-communication/connection/Browser.ts","webpack://Aeternity/./src/aepp-wallet-communication/connection/BrowserWindowMessage.ts","webpack://Aeternity/./src/aepp-wallet-communication/wallet-detector.ts","webpack://Aeternity/./src/aepp-wallet-communication/connection/BrowserRuntime.ts"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"bignumber.js\"), require(\"@azure/core-rest-pipeline\"), require(\"buffer\"), require(\"tweetnacl\"), require(\"varuint-bitcoin\"), require(\"bs58\"), require(\"rlp\"), require(\"@azure/core-client\"), require(\"@aeternity/aepp-calldata\"), require(\"canonicalize\"), require(\"eventemitter3\"), require(\"json-bigint\"), require(\"@scure/bip39\"), require(\"tweetnacl-auth\"), require(\"websocket\"), require(\"events\"), require(\"isomorphic-ws\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"bignumber.js\", \"@azure/core-rest-pipeline\", \"buffer\", \"tweetnacl\", \"varuint-bitcoin\", \"bs58\", \"rlp\", \"@azure/core-client\", \"@aeternity/aepp-calldata\", \"canonicalize\", \"eventemitter3\", \"json-bigint\", \"@scure/bip39\", \"tweetnacl-auth\", \"websocket\", \"events\", \"isomorphic-ws\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Aeternity\"] = factory(require(\"bignumber.js\"), require(\"@azure/core-rest-pipeline\"), require(\"buffer\"), require(\"tweetnacl\"), require(\"varuint-bitcoin\"), require(\"bs58\"), require(\"rlp\"), require(\"@azure/core-client\"), require(\"@aeternity/aepp-calldata\"), require(\"canonicalize\"), require(\"eventemitter3\"), require(\"json-bigint\"), require(\"@scure/bip39\"), require(\"tweetnacl-auth\"), require(\"websocket\"), require(\"events\"), require(\"isomorphic-ws\"));\n\telse\n\t\troot[\"Aeternity\"] = factory(root[\"bignumber.js\"], root[\"@azure/core-rest-pipeline\"], root[\"buffer\"], root[\"tweetnacl\"], root[\"varuint-bitcoin\"], root[\"bs58\"], root[\"rlp\"], root[\"@azure/core-client\"], root[\"@aeternity/aepp-calldata\"], root[\"canonicalize\"], root[\"eventemitter3\"], root[\"json-bigint\"], root[\"@scure/bip39\"], root[\"tweetnacl-auth\"], root[\"websocket\"], root[\"events\"], root[\"isomorphic-ws\"]);\n})(self, function(__WEBPACK_EXTERNAL_MODULE__6168__, __WEBPACK_EXTERNAL_MODULE__833__, __WEBPACK_EXTERNAL_MODULE__18__, __WEBPACK_EXTERNAL_MODULE__1655__, __WEBPACK_EXTERNAL_MODULE__4054__, __WEBPACK_EXTERNAL_MODULE__4578__, __WEBPACK_EXTERNAL_MODULE__6514__, __WEBPACK_EXTERNAL_MODULE__1081__, __WEBPACK_EXTERNAL_MODULE__2853__, __WEBPACK_EXTERNAL_MODULE__6016__, __WEBPACK_EXTERNAL_MODULE__1891__, __WEBPACK_EXTERNAL_MODULE__4146__, __WEBPACK_EXTERNAL_MODULE__8380__, __WEBPACK_EXTERNAL_MODULE__5196__, __WEBPACK_EXTERNAL_MODULE__8963__, __WEBPACK_EXTERNAL_MODULE__761__, __WEBPACK_EXTERNAL_MODULE__7250__) {\nreturn ","// Blake2B in pure Javascript\n// Adapted from the reference implementation in RFC7693\n// Ported to Javascript by DC - https://github.com/dcposch\n\nconst util = require('./util')\n\n// 64-bit unsigned addition\n// Sets v[a,a+1] += v[b,b+1]\n// v should be a Uint32Array\nfunction ADD64AA (v, a, b) {\n const o0 = v[a] + v[b]\n let o1 = v[a + 1] + v[b + 1]\n if (o0 >= 0x100000000) {\n o1++\n }\n v[a] = o0\n v[a + 1] = o1\n}\n\n// 64-bit unsigned addition\n// Sets v[a,a+1] += b\n// b0 is the low 32 bits of b, b1 represents the high 32 bits\nfunction ADD64AC (v, a, b0, b1) {\n let o0 = v[a] + b0\n if (b0 < 0) {\n o0 += 0x100000000\n }\n let o1 = v[a + 1] + b1\n if (o0 >= 0x100000000) {\n o1++\n }\n v[a] = o0\n v[a + 1] = o1\n}\n\n// Little-endian byte access\nfunction B2B_GET32 (arr, i) {\n return arr[i] ^ (arr[i + 1] << 8) ^ (arr[i + 2] << 16) ^ (arr[i + 3] << 24)\n}\n\n// G Mixing function\n// The ROTRs are inlined for speed\nfunction B2B_G (a, b, c, d, ix, iy) {\n const x0 = m[ix]\n const x1 = m[ix + 1]\n const y0 = m[iy]\n const y1 = m[iy + 1]\n\n ADD64AA(v, a, b) // v[a,a+1] += v[b,b+1] ... in JS we must store a uint64 as two uint32s\n ADD64AC(v, a, x0, x1) // v[a, a+1] += x ... x0 is the low 32 bits of x, x1 is the high 32 bits\n\n // v[d,d+1] = (v[d,d+1] xor v[a,a+1]) rotated to the right by 32 bits\n let xor0 = v[d] ^ v[a]\n let xor1 = v[d + 1] ^ v[a + 1]\n v[d] = xor1\n v[d + 1] = xor0\n\n ADD64AA(v, c, d)\n\n // v[b,b+1] = (v[b,b+1] xor v[c,c+1]) rotated right by 24 bits\n xor0 = v[b] ^ v[c]\n xor1 = v[b + 1] ^ v[c + 1]\n v[b] = (xor0 >>> 24) ^ (xor1 << 8)\n v[b + 1] = (xor1 >>> 24) ^ (xor0 << 8)\n\n ADD64AA(v, a, b)\n ADD64AC(v, a, y0, y1)\n\n // v[d,d+1] = (v[d,d+1] xor v[a,a+1]) rotated right by 16 bits\n xor0 = v[d] ^ v[a]\n xor1 = v[d + 1] ^ v[a + 1]\n v[d] = (xor0 >>> 16) ^ (xor1 << 16)\n v[d + 1] = (xor1 >>> 16) ^ (xor0 << 16)\n\n ADD64AA(v, c, d)\n\n // v[b,b+1] = (v[b,b+1] xor v[c,c+1]) rotated right by 63 bits\n xor0 = v[b] ^ v[c]\n xor1 = v[b + 1] ^ v[c + 1]\n v[b] = (xor1 >>> 31) ^ (xor0 << 1)\n v[b + 1] = (xor0 >>> 31) ^ (xor1 << 1)\n}\n\n// Initialization Vector\nconst BLAKE2B_IV32 = new Uint32Array([\n 0xf3bcc908, 0x6a09e667, 0x84caa73b, 0xbb67ae85, 0xfe94f82b, 0x3c6ef372,\n 0x5f1d36f1, 0xa54ff53a, 0xade682d1, 0x510e527f, 0x2b3e6c1f, 0x9b05688c,\n 0xfb41bd6b, 0x1f83d9ab, 0x137e2179, 0x5be0cd19\n])\n\nconst SIGMA8 = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 14, 10, 4, 8, 9, 15, 13,\n 6, 1, 12, 0, 2, 11, 7, 5, 3, 11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1,\n 9, 4, 7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8, 9, 0, 5, 7, 2, 4,\n 10, 15, 14, 1, 11, 12, 6, 8, 3, 13, 2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5,\n 15, 14, 1, 9, 12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11, 13, 11, 7,\n 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10, 6, 15, 14, 9, 11, 3, 0, 8, 12, 2,\n 13, 7, 1, 4, 10, 5, 10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13, 0, 0,\n 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 14, 10, 4, 8, 9, 15, 13, 6,\n 1, 12, 0, 2, 11, 7, 5, 3\n]\n\n// These are offsets into a uint64 buffer.\n// Multiply them all by 2 to make them offsets into a uint32 buffer,\n// because this is Javascript and we don't have uint64s\nconst SIGMA82 = new Uint8Array(\n SIGMA8.map(function (x) {\n return x * 2\n })\n)\n\n// Compression function. 'last' flag indicates last block.\n// Note we're representing 16 uint64s as 32 uint32s\nconst v = new Uint32Array(32)\nconst m = new Uint32Array(32)\nfunction blake2bCompress (ctx, last) {\n let i = 0\n\n // init work variables\n for (i = 0; i < 16; i++) {\n v[i] = ctx.h[i]\n v[i + 16] = BLAKE2B_IV32[i]\n }\n\n // low 64 bits of offset\n v[24] = v[24] ^ ctx.t\n v[25] = v[25] ^ (ctx.t / 0x100000000)\n // high 64 bits not supported, offset may not be higher than 2**53-1\n\n // last block flag set ?\n if (last) {\n v[28] = ~v[28]\n v[29] = ~v[29]\n }\n\n // get little-endian words\n for (i = 0; i < 32; i++) {\n m[i] = B2B_GET32(ctx.b, 4 * i)\n }\n\n // twelve rounds of mixing\n // uncomment the DebugPrint calls to log the computation\n // and match the RFC sample documentation\n // util.debugPrint(' m[16]', m, 64)\n for (i = 0; i < 12; i++) {\n // util.debugPrint(' (i=' + (i < 10 ? ' ' : '') + i + ') v[16]', v, 64)\n B2B_G(0, 8, 16, 24, SIGMA82[i * 16 + 0], SIGMA82[i * 16 + 1])\n B2B_G(2, 10, 18, 26, SIGMA82[i * 16 + 2], SIGMA82[i * 16 + 3])\n B2B_G(4, 12, 20, 28, SIGMA82[i * 16 + 4], SIGMA82[i * 16 + 5])\n B2B_G(6, 14, 22, 30, SIGMA82[i * 16 + 6], SIGMA82[i * 16 + 7])\n B2B_G(0, 10, 20, 30, SIGMA82[i * 16 + 8], SIGMA82[i * 16 + 9])\n B2B_G(2, 12, 22, 24, SIGMA82[i * 16 + 10], SIGMA82[i * 16 + 11])\n B2B_G(4, 14, 16, 26, SIGMA82[i * 16 + 12], SIGMA82[i * 16 + 13])\n B2B_G(6, 8, 18, 28, SIGMA82[i * 16 + 14], SIGMA82[i * 16 + 15])\n }\n // util.debugPrint(' (i=12) v[16]', v, 64)\n\n for (i = 0; i < 16; i++) {\n ctx.h[i] = ctx.h[i] ^ v[i] ^ v[i + 16]\n }\n // util.debugPrint('h[8]', ctx.h, 64)\n}\n\n// reusable parameterBlock\nconst parameterBlock = new Uint8Array([\n 0,\n 0,\n 0,\n 0, // 0: outlen, keylen, fanout, depth\n 0,\n 0,\n 0,\n 0, // 4: leaf length, sequential mode\n 0,\n 0,\n 0,\n 0, // 8: node offset\n 0,\n 0,\n 0,\n 0, // 12: node offset\n 0,\n 0,\n 0,\n 0, // 16: node depth, inner length, rfu\n 0,\n 0,\n 0,\n 0, // 20: rfu\n 0,\n 0,\n 0,\n 0, // 24: rfu\n 0,\n 0,\n 0,\n 0, // 28: rfu\n 0,\n 0,\n 0,\n 0, // 32: salt\n 0,\n 0,\n 0,\n 0, // 36: salt\n 0,\n 0,\n 0,\n 0, // 40: salt\n 0,\n 0,\n 0,\n 0, // 44: salt\n 0,\n 0,\n 0,\n 0, // 48: personal\n 0,\n 0,\n 0,\n 0, // 52: personal\n 0,\n 0,\n 0,\n 0, // 56: personal\n 0,\n 0,\n 0,\n 0 // 60: personal\n])\n\n// Creates a BLAKE2b hashing context\n// Requires an output length between 1 and 64 bytes\n// Takes an optional Uint8Array key\n// Takes an optinal Uint8Array salt\n// Takes an optinal Uint8Array personal\nfunction blake2bInit (outlen, key, salt, personal) {\n if (outlen === 0 || outlen > 64) {\n throw new Error('Illegal output length, expected 0 < length <= 64')\n }\n if (key && key.length > 64) {\n throw new Error('Illegal key, expected Uint8Array with 0 < length <= 64')\n }\n if (salt && salt.length !== 16) {\n throw new Error('Illegal salt, expected Uint8Array with length is 16')\n }\n if (personal && personal.length !== 16) {\n throw new Error('Illegal personal, expected Uint8Array with length is 16')\n }\n\n // state, 'param block'\n const ctx = {\n b: new Uint8Array(128),\n h: new Uint32Array(16),\n t: 0, // input count\n c: 0, // pointer within buffer\n outlen: outlen // output length in bytes\n }\n\n // initialize parameterBlock before usage\n parameterBlock.fill(0)\n parameterBlock[0] = outlen\n if (key) parameterBlock[1] = key.length\n parameterBlock[2] = 1 // fanout\n parameterBlock[3] = 1 // depth\n if (salt) parameterBlock.set(salt, 32)\n if (personal) parameterBlock.set(personal, 48)\n\n // initialize hash state\n for (let i = 0; i < 16; i++) {\n ctx.h[i] = BLAKE2B_IV32[i] ^ B2B_GET32(parameterBlock, i * 4)\n }\n\n // key the hash, if applicable\n if (key) {\n blake2bUpdate(ctx, key)\n // at the end\n ctx.c = 128\n }\n\n return ctx\n}\n\n// Updates a BLAKE2b streaming hash\n// Requires hash context and Uint8Array (byte array)\nfunction blake2bUpdate (ctx, input) {\n for (let i = 0; i < input.length; i++) {\n if (ctx.c === 128) {\n // buffer full ?\n ctx.t += ctx.c // add counters\n blake2bCompress(ctx, false) // compress (not last)\n ctx.c = 0 // counter to zero\n }\n ctx.b[ctx.c++] = input[i]\n }\n}\n\n// Completes a BLAKE2b streaming hash\n// Returns a Uint8Array containing the message digest\nfunction blake2bFinal (ctx) {\n ctx.t += ctx.c // mark last block offset\n\n while (ctx.c < 128) {\n // fill up with zeros\n ctx.b[ctx.c++] = 0\n }\n blake2bCompress(ctx, true) // final block flag = 1\n\n // little endian convert and store\n const out = new Uint8Array(ctx.outlen)\n for (let i = 0; i < ctx.outlen; i++) {\n out[i] = ctx.h[i >> 2] >> (8 * (i & 3))\n }\n return out\n}\n\n// Computes the BLAKE2B hash of a string or byte array, and returns a Uint8Array\n//\n// Returns a n-byte Uint8Array\n//\n// Parameters:\n// - input - the input bytes, as a string, Buffer or Uint8Array\n// - key - optional key Uint8Array, up to 64 bytes\n// - outlen - optional output length in bytes, default 64\n// - salt - optional salt bytes, string, Buffer or Uint8Array\n// - personal - optional personal bytes, string, Buffer or Uint8Array\nfunction blake2b (input, key, outlen, salt, personal) {\n // preprocess inputs\n outlen = outlen || 64\n input = util.normalizeInput(input)\n if (salt) {\n salt = util.normalizeInput(salt)\n }\n if (personal) {\n personal = util.normalizeInput(personal)\n }\n\n // do the math\n const ctx = blake2bInit(outlen, key, salt, personal)\n blake2bUpdate(ctx, input)\n return blake2bFinal(ctx)\n}\n\n// Computes the BLAKE2B hash of a string or byte array\n//\n// Returns an n-byte hash in hex, all lowercase\n//\n// Parameters:\n// - input - the input bytes, as a string, Buffer, or Uint8Array\n// - key - optional key Uint8Array, up to 64 bytes\n// - outlen - optional output length in bytes, default 64\n// - salt - optional salt bytes, string, Buffer or Uint8Array\n// - personal - optional personal bytes, string, Buffer or Uint8Array\nfunction blake2bHex (input, key, outlen, salt, personal) {\n const output = blake2b(input, key, outlen, salt, personal)\n return util.toHex(output)\n}\n\nmodule.exports = {\n blake2b: blake2b,\n blake2bHex: blake2bHex,\n blake2bInit: blake2bInit,\n blake2bUpdate: blake2bUpdate,\n blake2bFinal: blake2bFinal\n}\n","const ERROR_MSG_INPUT = 'Input must be an string, Buffer or Uint8Array'\n\n// For convenience, let people hash a string, not just a Uint8Array\nfunction normalizeInput (input) {\n let ret\n if (input instanceof Uint8Array) {\n ret = input\n } else if (typeof input === 'string') {\n const encoder = new TextEncoder()\n ret = encoder.encode(input)\n } else {\n throw new Error(ERROR_MSG_INPUT)\n }\n return ret\n}\n\n// Converts a Uint8Array to a hexadecimal string\n// For example, toHex([255, 0, 255]) returns \"ff00ff\"\nfunction toHex (bytes) {\n return Array.prototype.map\n .call(bytes, function (n) {\n return (n < 16 ? '0' : '') + n.toString(16)\n })\n .join('')\n}\n\n// Converts any value in [0...2^32-1] to an 8-character hex string\nfunction uint32ToHex (val) {\n return (0x100000000 + val).toString(16).substring(1)\n}\n\n// For debugging: prints out hash state in the same format as the RFC\n// sample computation exactly, so that you can diff\nfunction debugPrint (label, arr, size) {\n let msg = '\\n' + label + ' = '\n for (let i = 0; i < arr.length; i += 2) {\n if (size === 32) {\n msg += uint32ToHex(arr[i]).toUpperCase()\n msg += ' '\n msg += uint32ToHex(arr[i + 1]).toUpperCase()\n } else if (size === 64) {\n msg += uint32ToHex(arr[i + 1]).toUpperCase()\n msg += uint32ToHex(arr[i]).toUpperCase()\n } else throw new Error('Invalid size ' + size)\n if (i % 6 === 4) {\n msg += '\\n' + new Array(label.length + 4).join(' ')\n } else if (i < arr.length - 2) {\n msg += ' '\n }\n }\n console.log(msg)\n}\n\n// For performance testing: generates N bytes of input, hashes M times\n// Measures and prints MB/second hash performance each time\nfunction testSpeed (hashFn, N, M) {\n let startMs = new Date().getTime()\n\n const input = new Uint8Array(N)\n for (let i = 0; i < N; i++) {\n input[i] = i % 256\n }\n const genMs = new Date().getTime()\n console.log('Generated random input in ' + (genMs - startMs) + 'ms')\n startMs = genMs\n\n for (let i = 0; i < M; i++) {\n const hashHex = hashFn(input)\n const hashMs = new Date().getTime()\n const ms = hashMs - startMs\n startMs = hashMs\n console.log('Hashed in ' + ms + 'ms: ' + hashHex.substring(0, 20) + '...')\n console.log(\n Math.round((N / (1 << 20) / (ms / 1000)) * 100) / 100 + ' MB PER SECOND'\n )\n }\n}\n\nmodule.exports = {\n normalizeInput: normalizeInput,\n toHex: toHex,\n debugPrint: debugPrint,\n testSpeed: testSpeed\n}\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */\n/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.prototype = Object.create(Buffer.prototype)\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","var Buffer = require('safe-buffer').Buffer\n\n// prototype class for hash functions\nfunction Hash (blockSize, finalSize) {\n this._block = Buffer.alloc(blockSize)\n this._finalSize = finalSize\n this._blockSize = blockSize\n this._len = 0\n}\n\nHash.prototype.update = function (data, enc) {\n if (typeof data === 'string') {\n enc = enc || 'utf8'\n data = Buffer.from(data, enc)\n }\n\n var block = this._block\n var blockSize = this._blockSize\n var length = data.length\n var accum = this._len\n\n for (var offset = 0; offset < length;) {\n var assigned = accum % blockSize\n var remainder = Math.min(length - offset, blockSize - assigned)\n\n for (var i = 0; i < remainder; i++) {\n block[assigned + i] = data[offset + i]\n }\n\n accum += remainder\n offset += remainder\n\n if ((accum % blockSize) === 0) {\n this._update(block)\n }\n }\n\n this._len += length\n return this\n}\n\nHash.prototype.digest = function (enc) {\n var rem = this._len % this._blockSize\n\n this._block[rem] = 0x80\n\n // zero (rem + 1) trailing bits, where (rem + 1) is the smallest\n // non-negative solution to the equation (length + 1 + (rem + 1)) === finalSize mod blockSize\n this._block.fill(0, rem + 1)\n\n if (rem >= this._finalSize) {\n this._update(this._block)\n this._block.fill(0)\n }\n\n var bits = this._len * 8\n\n // uint32\n if (bits <= 0xffffffff) {\n this._block.writeUInt32BE(bits, this._blockSize - 4)\n\n // uint64\n } else {\n var lowBits = (bits & 0xffffffff) >>> 0\n var highBits = (bits - lowBits) / 0x100000000\n\n this._block.writeUInt32BE(highBits, this._blockSize - 8)\n this._block.writeUInt32BE(lowBits, this._blockSize - 4)\n }\n\n this._update(this._block)\n var hash = this._hash()\n\n return enc ? hash.toString(enc) : hash\n}\n\nHash.prototype._update = function () {\n throw new Error('_update must be implemented by subclass')\n}\n\nmodule.exports = Hash\n","/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5,\n 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5,\n 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3,\n 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174,\n 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC,\n 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,\n 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7,\n 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967,\n 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13,\n 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85,\n 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3,\n 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,\n 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5,\n 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3,\n 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208,\n 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2\n]\n\nvar W = new Array(64)\n\nfunction Sha256 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha256, Hash)\n\nSha256.prototype.init = function () {\n this._a = 0x6a09e667\n this._b = 0xbb67ae85\n this._c = 0x3c6ef372\n this._d = 0xa54ff53a\n this._e = 0x510e527f\n this._f = 0x9b05688c\n this._g = 0x1f83d9ab\n this._h = 0x5be0cd19\n\n return this\n}\n\nfunction ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x) {\n return (x >>> 2 | x << 30) ^ (x >>> 13 | x << 19) ^ (x >>> 22 | x << 10)\n}\n\nfunction sigma1 (x) {\n return (x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7)\n}\n\nfunction gamma0 (x) {\n return (x >>> 7 | x << 25) ^ (x >>> 18 | x << 14) ^ (x >>> 3)\n}\n\nfunction gamma1 (x) {\n return (x >>> 17 | x << 15) ^ (x >>> 19 | x << 13) ^ (x >>> 10)\n}\n\nSha256.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n var f = this._f | 0\n var g = this._g | 0\n var h = this._h | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 64; ++i) W[i] = (gamma1(W[i - 2]) + W[i - 7] + gamma0(W[i - 15]) + W[i - 16]) | 0\n\n for (var j = 0; j < 64; ++j) {\n var T1 = (h + sigma1(e) + ch(e, f, g) + K[j] + W[j]) | 0\n var T2 = (sigma0(a) + maj(a, b, c)) | 0\n\n h = g\n g = f\n f = e\n e = (d + T1) | 0\n d = c\n c = b\n b = a\n a = (T1 + T2) | 0\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n this._f = (f + this._f) | 0\n this._g = (g + this._g) | 0\n this._h = (h + this._h) | 0\n}\n\nSha256.prototype._hash = function () {\n var H = Buffer.allocUnsafe(32)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n H.writeInt32BE(this._h, 28)\n\n return H\n}\n\nmodule.exports = Sha256\n","module.exports = __WEBPACK_EXTERNAL_MODULE__2853__;","module.exports = __WEBPACK_EXTERNAL_MODULE__1081__;","module.exports = __WEBPACK_EXTERNAL_MODULE__833__;","module.exports = __WEBPACK_EXTERNAL_MODULE__8380__;","module.exports = __WEBPACK_EXTERNAL_MODULE__6168__;","module.exports = __WEBPACK_EXTERNAL_MODULE__4578__;","module.exports = __WEBPACK_EXTERNAL_MODULE__18__;","module.exports = __WEBPACK_EXTERNAL_MODULE__6016__;","module.exports = __WEBPACK_EXTERNAL_MODULE__1891__;","module.exports = __WEBPACK_EXTERNAL_MODULE__761__;","module.exports = __WEBPACK_EXTERNAL_MODULE__7250__;","module.exports = __WEBPACK_EXTERNAL_MODULE__4146__;","module.exports = __WEBPACK_EXTERNAL_MODULE__6514__;","module.exports = __WEBPACK_EXTERNAL_MODULE__1655__;","module.exports = __WEBPACK_EXTERNAL_MODULE__5196__;","module.exports = __WEBPACK_EXTERNAL_MODULE__4054__;","module.exports = __WEBPACK_EXTERNAL_MODULE__8963__;","'use strict';\nvar parent = require('../../stable/object/define-property');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../stable/symbol');\n\nrequire('../../modules/esnext.function.metadata');\nrequire('../../modules/esnext.symbol.async-dispose');\nrequire('../../modules/esnext.symbol.dispose');\nrequire('../../modules/esnext.symbol.metadata');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../stable/symbol/iterator');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../stable/symbol/to-primitive');\n\nmodule.exports = parent;\n","'use strict';\nrequire('../../modules/es.object.define-property');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nvar defineProperty = module.exports = function defineProperty(it, key, desc) {\n return Object.defineProperty(it, key, desc);\n};\n\nif (Object.defineProperty.sham) defineProperty.sham = true;\n","'use strict';\nrequire('../../modules/es.array.concat');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.symbol');\nrequire('../../modules/es.symbol.async-iterator');\nrequire('../../modules/es.symbol.description');\nrequire('../../modules/es.symbol.has-instance');\nrequire('../../modules/es.symbol.is-concat-spreadable');\nrequire('../../modules/es.symbol.iterator');\nrequire('../../modules/es.symbol.match');\nrequire('../../modules/es.symbol.match-all');\nrequire('../../modules/es.symbol.replace');\nrequire('../../modules/es.symbol.search');\nrequire('../../modules/es.symbol.species');\nrequire('../../modules/es.symbol.split');\nrequire('../../modules/es.symbol.to-primitive');\nrequire('../../modules/es.symbol.to-string-tag');\nrequire('../../modules/es.symbol.unscopables');\nrequire('../../modules/es.json.to-string-tag');\nrequire('../../modules/es.math.to-string-tag');\nrequire('../../modules/es.reflect.to-string-tag');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Symbol;\n","'use strict';\nrequire('../../modules/es.array.iterator');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.string.iterator');\nrequire('../../modules/es.symbol.iterator');\nvar WrappedWellKnownSymbolModule = require('../../internals/well-known-symbol-wrapped');\n\nmodule.exports = WrappedWellKnownSymbolModule.f('iterator');\n","'use strict';\nrequire('../../modules/es.date.to-primitive');\nrequire('../../modules/es.symbol.to-primitive');\nvar WrappedWellKnownSymbolModule = require('../../internals/well-known-symbol-wrapped');\n\nmodule.exports = WrappedWellKnownSymbolModule.f('toPrimitive');\n","'use strict';\nvar parent = require('../../actual/object/define-property');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../actual/symbol');\nrequire('../../modules/esnext.symbol.is-registered-symbol');\nrequire('../../modules/esnext.symbol.is-well-known-symbol');\nrequire('../../modules/esnext.symbol.custom-matcher');\nrequire('../../modules/esnext.symbol.observable');\n// TODO: Remove from `core-js@4`\nrequire('../../modules/esnext.symbol.is-registered');\nrequire('../../modules/esnext.symbol.is-well-known');\nrequire('../../modules/esnext.symbol.matcher');\nrequire('../../modules/esnext.symbol.metadata-key');\nrequire('../../modules/esnext.symbol.pattern-match');\nrequire('../../modules/esnext.symbol.replace-all');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../actual/symbol/iterator');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../actual/symbol/to-primitive');\n\nmodule.exports = parent;\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar isPossiblePrototype = require('../internals/is-possible-prototype');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (isPossiblePrototype(argument)) return argument;\n throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\nmodule.exports = function () { /* empty */ };\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n if (length === 0) return !IS_INCLUDES && -1;\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE === 1;\n var IS_FILTER = TYPE === 2;\n var IS_SOME = TYPE === 3;\n var IS_EVERY = TYPE === 4;\n var IS_FIND_INDEX = TYPE === 6;\n var IS_FILTER_REJECT = TYPE === 7;\n var NO_HOLES = TYPE === 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var length = lengthOfArrayLike(self);\n var boundFunction = bind(callbackfn, that);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/environment-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? $Array : C;\n};\n","'use strict';\nvar arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\n// `CreateIterResultObject` abstract operation\n// https://tc39.es/ecma262/#sec-createiterresultobject\nmodule.exports = function (value, done) {\n return { value: value, done: done };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n if (DESCRIPTORS) definePropertyModule.f(object, key, createPropertyDescriptor(0, value));\n else object[key] = value;\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (target, key, value, options) {\n if (options && options.enumerable) target[key] = value;\n else createNonEnumerableProperty(target, key, value);\n return target;\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(globalThis, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n globalThis[key] = value;\n } return value;\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\n\nvar document = globalThis.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","'use strict';\n// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nvar navigator = globalThis.navigator;\nvar userAgent = navigator && navigator.userAgent;\n\nmodule.exports = userAgent ? String(userAgent) : '';\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\n\nvar process = globalThis.process;\nvar Deno = globalThis.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar apply = require('../internals/function-apply');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar isCallable = require('../internals/is-callable');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar isForced = require('../internals/is-forced');\nvar path = require('../internals/path');\nvar bind = require('../internals/function-bind-context');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\n// add debugging info\nrequire('../internals/shared-store');\n\nvar wrapConstructor = function (NativeConstructor) {\n var Wrapper = function (a, b, c) {\n if (this instanceof Wrapper) {\n switch (arguments.length) {\n case 0: return new NativeConstructor();\n case 1: return new NativeConstructor(a);\n case 2: return new NativeConstructor(a, b);\n } return new NativeConstructor(a, b, c);\n } return apply(NativeConstructor, this, arguments);\n };\n Wrapper.prototype = NativeConstructor.prototype;\n return Wrapper;\n};\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var PROTO = options.proto;\n\n var nativeSource = GLOBAL ? globalThis : STATIC ? globalThis[TARGET] : globalThis[TARGET] && globalThis[TARGET].prototype;\n\n var target = GLOBAL ? path : path[TARGET] || createNonEnumerableProperty(path, TARGET, {})[TARGET];\n var targetPrototype = target.prototype;\n\n var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE;\n var key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor;\n\n for (key in source) {\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contains in native\n USE_NATIVE = !FORCED && nativeSource && hasOwn(nativeSource, key);\n\n targetProperty = target[key];\n\n if (USE_NATIVE) if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(nativeSource, key);\n nativeProperty = descriptor && descriptor.value;\n } else nativeProperty = nativeSource[key];\n\n // export native or implementation\n sourceProperty = (USE_NATIVE && nativeProperty) ? nativeProperty : source[key];\n\n if (!FORCED && !PROTO && typeof targetProperty == typeof sourceProperty) continue;\n\n // bind methods to global for calling from export context\n if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, globalThis);\n // wrap global constructors for prevent changes in this version\n else if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty);\n // make static versions for prototype methods\n else if (PROTO && isCallable(sourceProperty)) resultProperty = uncurryThis(sourceProperty);\n // default case\n else resultProperty = sourceProperty;\n\n // add a flag to not completely full polyfills\n if (options.sham || (sourceProperty && sourceProperty.sham) || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(resultProperty, 'sham', true);\n }\n\n createNonEnumerableProperty(target, key, resultProperty);\n\n if (PROTO) {\n VIRTUAL_PROTOTYPE = TARGET + 'Prototype';\n if (!hasOwn(path, VIRTUAL_PROTOTYPE)) {\n createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {});\n }\n // export virtual prototype methods\n createNonEnumerableProperty(path[VIRTUAL_PROTOTYPE], key, sourceProperty);\n // export real prototype methods\n if (options.real && targetPrototype && (FORCED || !targetPrototype[key])) {\n createNonEnumerableProperty(targetPrototype, key, sourceProperty);\n }\n }\n }\n};\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar path = require('../internals/path');\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (variable) {\n return isCallable(variable) ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(globalThis[namespace])\n : path[namespace] && path[namespace][method] || globalThis[namespace] && globalThis[namespace][method];\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isArray = require('../internals/is-array');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar toString = require('../internals/to-string');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (replacer) {\n if (isCallable(replacer)) return replacer;\n if (!isArray(replacer)) return;\n var rawLength = replacer.length;\n var keys = [];\n for (var i = 0; i < rawLength; i++) {\n var element = replacer[i];\n if (typeof element == 'string') push(keys, element);\n else if (typeof element == 'number' || classof(element) === 'Number' || classof(element) === 'String') push(keys, toString(element));\n }\n var keysLength = keys.length;\n var root = true;\n return function (key, value) {\n if (root) {\n root = false;\n return value;\n }\n if (isArray(this)) return value;\n for (var j = 0; j < keysLength; j++) if (keys[j] === key) return value;\n };\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = globalThis.TypeError;\nvar WeakMap = globalThis.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) === 'Array';\n};\n","'use strict';\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.test(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, [], argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nmodule.exports = function (argument) {\n return isObject(argument) || argument === null;\n};\n","'use strict';\nmodule.exports = true;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/iterator-create-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) return IterablePrototype[KIND];\n\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n }\n\n return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n // eslint-disable-next-line no-useless-assignment -- avoid memory leak\n activeXDocument = null;\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\n/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) === 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar isObject = require('../internals/is-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n requireObjectCoercible(O);\n aPossiblePrototype(proto);\n if (!isObject(O)) return O;\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineProperty = require('../internals/object-define-property').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/object-to-string');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC, SET_METHOD) {\n var target = STATIC ? it : it && it.prototype;\n if (target) {\n if (!hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n if (SET_METHOD && !TO_STRING_TAG_SUPPORT) {\n createNonEnumerableProperty(target, 'toString', toString);\n }\n }\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar globalThis = require('../internals/global-this');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n\n(store.versions || (store.versions = [])).push({\n version: '3.38.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.38.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar store = require('../internals/shared-store');\n\nmodule.exports = function (key, value) {\n return store[key] || (store[key] = value || {});\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/environment-v8-version');\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\nvar $String = globalThis.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\nvar call = require('../internals/function-call');\nvar getBuiltIn = require('../internals/get-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function () {\n var Symbol = getBuiltIn('Symbol');\n var SymbolPrototype = Symbol && Symbol.prototype;\n var valueOf = SymbolPrototype && SymbolPrototype.valueOf;\n var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) {\n // `Symbol.prototype[@@toPrimitive]` method\n // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\n // eslint-disable-next-line no-unused-vars -- required for .length\n defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function (hint) {\n return call(valueOf, this);\n }, { arity: 1 });\n }\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar Symbol = getBuiltIn('Symbol');\nvar keyFor = Symbol.keyFor;\nvar thisSymbolValue = uncurryThis(Symbol.prototype.valueOf);\n\n// `Symbol.isRegisteredSymbol` method\n// https://tc39.es/proposal-symbol-predicates/#sec-symbol-isregisteredsymbol\nmodule.exports = Symbol.isRegisteredSymbol || function isRegisteredSymbol(value) {\n try {\n return keyFor(thisSymbolValue(value)) !== undefined;\n } catch (error) {\n return false;\n }\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isSymbol = require('../internals/is-symbol');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar Symbol = getBuiltIn('Symbol');\nvar $isWellKnownSymbol = Symbol.isWellKnownSymbol;\nvar getOwnPropertyNames = getBuiltIn('Object', 'getOwnPropertyNames');\nvar thisSymbolValue = uncurryThis(Symbol.prototype.valueOf);\nvar WellKnownSymbolsStore = shared('wks');\n\nfor (var i = 0, symbolKeys = getOwnPropertyNames(Symbol), symbolKeysLength = symbolKeys.length; i < symbolKeysLength; i++) {\n // some old engines throws on access to some keys like `arguments` or `caller`\n try {\n var symbolKey = symbolKeys[i];\n if (isSymbol(Symbol[symbolKey])) wellKnownSymbol(symbolKey);\n } catch (error) { /* empty */ }\n}\n\n// `Symbol.isWellKnownSymbol` method\n// https://tc39.es/proposal-symbol-predicates/#sec-symbol-iswellknownsymbol\n// We should patch it for newly added well-known symbols. If it's not required, this module just will not be injected\nmodule.exports = function isWellKnownSymbol(value) {\n if ($isWellKnownSymbol && $isWellKnownSymbol(value)) return true;\n try {\n var symbol = thisSymbolValue(value);\n for (var j = 0, keys = getOwnPropertyNames(WellKnownSymbolsStore), keysLength = keys.length; j < keysLength; j++) {\n // eslint-disable-next-line eqeqeq -- polyfilled symbols case\n if (WellKnownSymbolsStore[keys[j]] == symbol) return true;\n }\n } catch (error) { /* empty */ }\n return false;\n};\n","'use strict';\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\n/* eslint-disable es/no-symbol -- safe */\nmodule.exports = NATIVE_SYMBOL && !!Symbol['for'] && !!Symbol.keyFor;\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n var len = toIntegerOrInfinity(argument);\n return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = globalThis.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar path = require('../internals/path');\nvar hasOwn = require('../internals/has-own-property');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = globalThis.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/environment-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !arrayMethodHasSpeciesSupport('concat');\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = lengthOfArrayLike(E);\n doesNotExceedSafeInteger(n + len);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n doesNotExceedSafeInteger(n + 1);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineProperty = require('../internals/object-define-property').f;\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = null;\n return createIterResultObject(undefined, true);\n }\n switch (state.kind) {\n case 'keys': return createIterResultObject(index, false);\n case 'values': return createIterResultObject(target[index], false);\n } return createIterResultObject([index, target[index]], false);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nvar values = Iterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n// V8 ~ Chrome 45- bug\nif (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {\n defineProperty(values, 'name', { value: 'values' });\n} catch (error) { /* empty */ }\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isSymbol = require('../internals/is-symbol');\nvar arraySlice = require('../internals/array-slice');\nvar getReplacerFunction = require('../internals/get-json-replacer-function');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nvar $String = String;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar exec = uncurryThis(/./.exec);\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar replace = uncurryThis(''.replace);\nvar numberToString = uncurryThis(1.0.toString);\n\nvar tester = /[\\uD800-\\uDFFF]/g;\nvar low = /^[\\uD800-\\uDBFF]$/;\nvar hi = /^[\\uDC00-\\uDFFF]$/;\n\nvar WRONG_SYMBOLS_CONVERSION = !NATIVE_SYMBOL || fails(function () {\n var symbol = getBuiltIn('Symbol')('stringify detection');\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) !== '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) !== '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) !== '{}';\n});\n\n// https://github.com/tc39/proposal-well-formed-stringify\nvar ILL_FORMED_UNICODE = fails(function () {\n return $stringify('\\uDF06\\uD834') !== '\"\\\\udf06\\\\ud834\"'\n || $stringify('\\uDEAD') !== '\"\\\\udead\"';\n});\n\nvar stringifyWithSymbolsFix = function (it, replacer) {\n var args = arraySlice(arguments);\n var $replacer = getReplacerFunction(replacer);\n if (!isCallable($replacer) && (it === undefined || isSymbol(it))) return; // IE8 returns string on undefined\n args[1] = function (key, value) {\n // some old implementations (like WebKit) could pass numbers as keys\n if (isCallable($replacer)) value = call($replacer, this, $String(key), value);\n if (!isSymbol(value)) return value;\n };\n return apply($stringify, null, args);\n};\n\nvar fixIllFormed = function (match, offset, string) {\n var prev = charAt(string, offset - 1);\n var next = charAt(string, offset + 1);\n if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) {\n return '\\\\u' + numberToString(charCodeAt(match, 0), 16);\n } return match;\n};\n\nif ($stringify) {\n // `JSON.stringify` method\n // https://tc39.es/ecma262/#sec-json.stringify\n $({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n stringify: function stringify(it, replacer, space) {\n var args = arraySlice(arguments);\n var result = apply(WRONG_SYMBOLS_CONVERSION ? stringifyWithSymbolsFix : $stringify, null, args);\n return ILL_FORMED_UNICODE && typeof result == 'string' ? replace(result, tester, fixIllFormed) : result;\n }\n });\n}\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// JSON[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-json-@@tostringtag\nsetToStringTag(globalThis.JSON, 'JSON', true);\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\n// eslint-disable-next-line es/no-object-defineproperty -- safe\n$({ target: 'Object', stat: true, forced: Object.defineProperty !== defineProperty, sham: !DESCRIPTORS }, {\n defineProperty: defineProperty\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar fails = require('../internals/fails');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar toObject = require('../internals/to-object');\n\n// V8 ~ Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FORCED = !NATIVE_SYMBOL || fails(function () { getOwnPropertySymbolsModule.f(1); });\n\n// `Object.getOwnPropertySymbols` method\n// https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n$({ target: 'Object', stat: true, forced: FORCED }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n var $getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject(it)) : [];\n }\n});\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return createIterResultObject(undefined, true);\n point = charAt(string, index);\n state.index += point.length;\n return createIterResultObject(point, false);\n});\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.asyncIterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.asynciterator\ndefineWellKnownSymbol('asyncIterator');\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar $toString = require('../internals/to-string');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\nvar defineSymbolToPrimitive = require('../internals/symbol-define-to-primitive');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\n\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = globalThis.Symbol;\nvar SymbolPrototype = $Symbol && $Symbol[PROTOTYPE];\nvar RangeError = globalThis.RangeError;\nvar TypeError = globalThis.TypeError;\nvar QObject = globalThis.QObject;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar push = uncurryThis([].push);\n\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar WellKnownSymbolsStore = shared('wks');\n\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar fallbackDefineProperty = function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n};\n\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a !== 7;\n}) ? fallbackDefineProperty : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPropertyKey(P);\n anObject(Attributes);\n if (hasOwn(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, nativeObjectCreate(null)));\n O[HIDDEN][key] = true;\n } else {\n if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPropertyKey(V);\n var enumerable = call(nativePropertyIsEnumerable, this, P);\n if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P]\n ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPropertyKey(P);\n if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function (O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) {\n push(result, AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (isPrototypeOf(SymbolPrototype, this)) throw new TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n var $this = this === undefined ? globalThis : this;\n if ($this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value);\n if (hasOwn($this, HIDDEN) && hasOwn($this[HIDDEN], tag)) $this[HIDDEN][tag] = false;\n var descriptor = createPropertyDescriptor(1, value);\n try {\n setSymbolDescriptor($this, tag, descriptor);\n } catch (error) {\n if (!(error instanceof RangeError)) throw error;\n fallbackDefineProperty($this, tag, descriptor);\n }\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n SymbolPrototype = $Symbol[PROTOTYPE];\n\n defineBuiltIn(SymbolPrototype, 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n defineBuiltIn($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n definePropertiesModule.f = $defineProperties;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n defineBuiltInAccessor(SymbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n defineBuiltIn(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.es/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.es/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.es/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.es/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames\n});\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\ndefineSymbolToPrimitive();\n\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/symbol-registry-detection');\n\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.for` method\n// https://tc39.es/ecma262/#sec-symbol.for\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n 'for': function (key) {\n var string = toString(key);\n if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = getBuiltIn('Symbol')(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n }\n});\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.hasInstance` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.hasinstance\ndefineWellKnownSymbol('hasInstance');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.isConcatSpreadable` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.isconcatspreadable\ndefineWellKnownSymbol('isConcatSpreadable');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.symbol.constructor');\nrequire('../modules/es.symbol.for');\nrequire('../modules/es.symbol.key-for');\nrequire('../modules/es.json.stringify');\nrequire('../modules/es.object.get-own-property-symbols');\n","'use strict';\nvar $ = require('../internals/export');\nvar hasOwn = require('../internals/has-own-property');\nvar isSymbol = require('../internals/is-symbol');\nvar tryToString = require('../internals/try-to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/symbol-registry-detection');\n\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.keyFor` method\n// https://tc39.es/ecma262/#sec-symbol.keyfor\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw new TypeError(tryToString(sym) + ' is not a symbol');\n if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n }\n});\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.matchAll` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.matchall\ndefineWellKnownSymbol('matchAll');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.match` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.match\ndefineWellKnownSymbol('match');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.replace` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.replace\ndefineWellKnownSymbol('replace');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.search` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.search\ndefineWellKnownSymbol('search');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.species` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.species\ndefineWellKnownSymbol('species');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.split` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.split\ndefineWellKnownSymbol('split');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\nvar defineSymbolToPrimitive = require('../internals/symbol-define-to-primitive');\n\n// `Symbol.toPrimitive` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.toprimitive\ndefineWellKnownSymbol('toPrimitive');\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\ndefineSymbolToPrimitive();\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// `Symbol.toStringTag` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.tostringtag\ndefineWellKnownSymbol('toStringTag');\n\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag(getBuiltIn('Symbol'), 'Symbol');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.unscopables` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.unscopables\ndefineWellKnownSymbol('unscopables');\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar METADATA = wellKnownSymbol('metadata');\nvar FunctionPrototype = Function.prototype;\n\n// Function.prototype[@@metadata]\n// https://github.com/tc39/proposal-decorator-metadata\nif (FunctionPrototype[METADATA] === undefined) {\n defineProperty(FunctionPrototype, METADATA, {\n value: null\n });\n}\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.asyncDispose` well-known symbol\n// https://github.com/tc39/proposal-async-explicit-resource-management\ndefineWellKnownSymbol('asyncDispose');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.customMatcher` well-known symbol\n// https://github.com/tc39/proposal-pattern-matching\ndefineWellKnownSymbol('customMatcher');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.dispose` well-known symbol\n// https://github.com/tc39/proposal-explicit-resource-management\ndefineWellKnownSymbol('dispose');\n","'use strict';\nvar $ = require('../internals/export');\nvar isRegisteredSymbol = require('../internals/symbol-is-registered');\n\n// `Symbol.isRegisteredSymbol` method\n// https://tc39.es/proposal-symbol-predicates/#sec-symbol-isregisteredsymbol\n$({ target: 'Symbol', stat: true }, {\n isRegisteredSymbol: isRegisteredSymbol\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar isRegisteredSymbol = require('../internals/symbol-is-registered');\n\n// `Symbol.isRegistered` method\n// obsolete version of https://tc39.es/proposal-symbol-predicates/#sec-symbol-isregisteredsymbol\n$({ target: 'Symbol', stat: true, name: 'isRegisteredSymbol' }, {\n isRegistered: isRegisteredSymbol\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar isWellKnownSymbol = require('../internals/symbol-is-well-known');\n\n// `Symbol.isWellKnownSymbol` method\n// https://tc39.es/proposal-symbol-predicates/#sec-symbol-iswellknownsymbol\n// We should patch it for newly added well-known symbols. If it's not required, this module just will not be injected\n$({ target: 'Symbol', stat: true, forced: true }, {\n isWellKnownSymbol: isWellKnownSymbol\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar isWellKnownSymbol = require('../internals/symbol-is-well-known');\n\n// `Symbol.isWellKnown` method\n// obsolete version of https://tc39.es/proposal-symbol-predicates/#sec-symbol-iswellknownsymbol\n// We should patch it for newly added well-known symbols. If it's not required, this module just will not be injected\n$({ target: 'Symbol', stat: true, name: 'isWellKnownSymbol', forced: true }, {\n isWellKnown: isWellKnownSymbol\n});\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.matcher` well-known symbol\n// https://github.com/tc39/proposal-pattern-matching\ndefineWellKnownSymbol('matcher');\n","'use strict';\n// TODO: Remove from `core-js@4`\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.metadataKey` well-known symbol\n// https://github.com/tc39/proposal-decorator-metadata\ndefineWellKnownSymbol('metadataKey');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.metadata` well-known symbol\n// https://github.com/tc39/proposal-decorators\ndefineWellKnownSymbol('metadata');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.observable` well-known symbol\n// https://github.com/tc39/proposal-observable\ndefineWellKnownSymbol('observable');\n","'use strict';\n// TODO: remove from `core-js@4`\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.patternMatch` well-known symbol\n// https://github.com/tc39/proposal-pattern-matching\ndefineWellKnownSymbol('patternMatch');\n","'use strict';\n// TODO: remove from `core-js@4`\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\ndefineWellKnownSymbol('replaceAll');\n","'use strict';\nrequire('../modules/es.array.iterator');\nvar DOMIterables = require('../internals/dom-iterables');\nvar globalThis = require('../internals/global-this');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n setToStringTag(globalThis[COLLECTION_NAME], COLLECTION_NAME);\n Iterators[COLLECTION_NAME] = Iterators.Array;\n}\n","'use strict';\nvar parent = require('../../es/object/define-property');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../es/symbol');\nrequire('../../modules/web.dom-collections.iterator');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../es/symbol/iterator');\nrequire('../../modules/web.dom-collections.iterator');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../es/symbol/to-primitive');\n\nmodule.exports = parent;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * Big Number Helpers\n */\nimport { BigNumber } from 'bignumber.js';\n\n/**\n * Check if value is BigNumber, Number, BigInt or number string representation\n * @param number - number to check\n */\nexport const isBigNumber = (number: string | number | bigint | BigNumber): boolean => {\n if (typeof number === 'bigint') return true;\n return (\n ['number', 'object', 'string'].includes(typeof number) &&\n // eslint-disable-next-line no-restricted-globals\n (!isNaN(number as number) || Number.isInteger(number) || BigNumber.isBigNumber(number))\n );\n};\n\n/**\n * BigNumber ceil operation\n */\nexport const ceil = (bigNumber: BigNumber): BigNumber =>\n bigNumber.integerValue(BigNumber.ROUND_CEIL);\n","// eslint-disable-next-line max-classes-per-file\nimport { BigNumber } from 'bignumber.js';\nimport { AensName, Int } from '../tx/builder/constants.js';\nimport * as Encoded from './encoder-types.js';\n\n/**\n * aepp-sdk originated error\n * @category exception\n */\nexport abstract class BaseError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'BaseError';\n }\n}\n\n/**\n * @category exception\n */\nexport class AccountError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'AccountError';\n }\n}\n\n/**\n * @category exception\n */\nexport class AensError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'AensError';\n }\n}\n\n/**\n * @category exception\n */\nexport class AeppError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'AeppError';\n }\n}\n\n/**\n * @category exception\n */\nexport class ChannelError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'ChannelError';\n }\n}\n\n/**\n * @category exception\n */\nexport class CompilerError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'CompilerError';\n }\n}\n\n/**\n * @category exception\n */\nexport class ContractError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'ContractError';\n }\n}\n\n/**\n * @category exception\n */\nexport class CryptographyError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'CryptographyError';\n }\n}\n\n/**\n * @category exception\n */\nexport class NodeError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'NodeError';\n }\n}\n\n/**\n * @category exception\n */\nexport class TransactionError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'TransactionError';\n }\n}\n\n/**\n * @category exception\n */\nexport class WalletError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'WalletError';\n }\n}\n\n/**\n * @category exception\n */\nexport class ArgumentError extends BaseError {\n constructor(argumentName: string, requirement: unknown, argumentValue: unknown) {\n super(`${argumentName} should be ${requirement}, got ${argumentValue} instead`);\n this.name = 'ArgumentError';\n }\n}\n\n/**\n * @category exception\n */\nexport class IllegalArgumentError extends CryptographyError {\n constructor(message: string) {\n super(message);\n this.name = 'IllegalArgumentError';\n }\n}\n\n/**\n * @category exception\n */\nexport class ArgumentCountMismatchError extends BaseError {\n constructor(functionName: string, requiredCount: number, providedCount: number) {\n super(`${functionName} expects ${requiredCount} arguments, got ${providedCount} instead`);\n this.name = 'ArgumentCountMismatchError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InsufficientBalanceError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'InsufficientBalanceError';\n }\n}\n\n/**\n * @category exception\n */\nexport class MissingParamError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'MissingParamError';\n }\n}\n\n/**\n * @category exception\n */\nexport class NoSerializerFoundError extends BaseError {\n constructor() {\n super('Byte serialization not supported');\n this.name = 'NoSerializerFoundError';\n }\n}\n\n/**\n * @category exception\n */\nexport class RequestTimedOutError extends BaseError {\n constructor(height: number) {\n super(`Giving up at height ${height}`);\n this.name = 'RequestTimedOutError';\n }\n}\n\n/**\n * @category exception\n */\nexport class TxTimedOutError extends BaseError {\n constructor(blocks: number, th: Encoded.TxHash) {\n super(`Giving up after ${blocks} blocks mined, transaction hash: ${th}`);\n this.name = 'TxTimedOutError';\n }\n}\n\n/**\n * @category exception\n */\nexport class TypeError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'TypeError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnsupportedPlatformError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'UnsupportedPlatformError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnsupportedProtocolError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'UnsupportedProtocolError';\n }\n}\n\n/**\n * @category exception\n */\nexport class NotImplementedError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'NotImplementedError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnsupportedVersionError extends BaseError {\n constructor(dependency: string, version: string, geVersion: string, ltVersion?: string) {\n super(\n `Unsupported ${dependency} version ${version}. Supported: >= ${geVersion}` +\n (ltVersion == null ? '' : ` < ${ltVersion}`),\n );\n this.name = 'UnsupportedVersionError';\n }\n}\n\n/**\n * @category exception\n */\nexport class LogicError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'LogicError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InternalError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'InternalError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnexpectedTsError extends InternalError {\n constructor(message = 'Expected to not happen, required for TS') {\n super(message);\n this.name = 'UnexpectedTsError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnavailableAccountError extends AccountError {\n constructor(address: Encoded.AccountAddress) {\n super(`Account for ${address} not available`);\n this.name = 'UnavailableAccountError';\n }\n}\n\n/**\n * @category exception\n */\nexport class AensPointerContextError extends AensError {\n constructor(nameOrId: AensName | Encoded.Name, prefix: string) {\n super(`Name ${nameOrId} don't have pointers for ${prefix}`);\n this.name = 'AensPointerContextError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InsufficientNameFeeError extends AensError {\n constructor(nameFee: BigNumber, minNameFee: BigNumber) {\n super(\n `the provided fee ${nameFee.toString()} is not enough to execute the claim, required: ${minNameFee.toString()}`,\n );\n this.name = 'InsufficientNameFeeError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InvalidAensNameError extends AensError {\n constructor(message: string) {\n super(message);\n this.name = 'InvalidAensNameError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InvalidRpcMessageError extends AeppError {\n constructor(message: string) {\n super(`Received invalid message: ${message}`);\n this.name = 'InvalidRpcMessageError';\n }\n}\n\n/**\n * @category exception\n */\nexport class MissingCallbackError extends AeppError {\n constructor(id: number) {\n super(`Can't find callback for this messageId ${id}`);\n this.name = 'MissingCallbackError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnAuthorizedAccountError extends AeppError {\n constructor(onAccount: Encoded.AccountAddress) {\n super(`You do not have access to account ${onAccount}`);\n this.name = 'UnAuthorizedAccountError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnknownRpcClientError extends AeppError {\n constructor(id: string) {\n super(`RpcClient with id ${id} do not exist`);\n this.name = 'UnknownRpcClientError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnsubscribedAccountError extends AeppError {\n constructor() {\n super('You are not subscribed for an account.');\n this.name = 'UnsubscribedAccountError';\n }\n}\n\n/**\n * @category exception\n */\nexport class ChannelCallError extends ChannelError {\n constructor(message: string) {\n super(message);\n this.name = 'ChannelCallError';\n }\n}\n\n/**\n * @category exception\n */\nexport class ChannelConnectionError extends ChannelError {\n constructor(message: string) {\n super(message);\n this.name = 'ChannelConnectionError';\n }\n}\n\n/**\n * @category exception\n */\nexport class ChannelPingTimedOutError extends ChannelError {\n constructor() {\n super('Server pong timed out');\n this.name = 'ChannelPingTimedOutError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnexpectedChannelMessageError extends ChannelError {\n constructor(message: string) {\n super(message);\n this.name = 'UnexpectedChannelMessageError';\n }\n}\n\n/**\n * @category exception\n */\nexport class ChannelIncomingMessageError extends ChannelError {\n handlerError: Error;\n\n incomingMessage: { [key: string]: any };\n\n constructor(handlerError: Error, incomingMessage: { [key: string]: any }) {\n super(handlerError.message);\n this.handlerError = handlerError;\n this.incomingMessage = incomingMessage;\n this.name = 'ChannelIncomingMessageError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnknownChannelStateError extends ChannelError {\n constructor() {\n super('State Channels FSM entered unknown state');\n this.name = 'UnknownChannelStateError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InvalidAuthDataError extends CompilerError {\n constructor(message: string) {\n super(message);\n this.name = 'InvalidAuthDataError';\n }\n}\n\n/**\n * @category exception\n */\nexport class BytecodeMismatchError extends ContractError {\n constructor(source: 'source code' | 'bytecode') {\n super(`Contract ${source} do not correspond to the bytecode deployed on the chain`);\n this.name = 'BytecodeMismatchError';\n }\n}\n\n/**\n * @category exception\n */\nexport class DuplicateContractError extends ContractError {\n constructor() {\n super('Contract already deployed');\n this.name = 'DuplicateContractError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InactiveContractError extends ContractError {\n constructor(contractAddress: Encoded.ContractAddress) {\n super(`Contract with address ${contractAddress} not active`);\n this.name = 'InactiveContractError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InvalidMethodInvocationError extends ContractError {\n constructor(message: string) {\n super(message);\n this.name = 'InvalidMethodInvocationError';\n }\n}\n\n/**\n * @category exception\n */\nexport class MissingContractAddressError extends ContractError {\n constructor(message: string) {\n super(message);\n this.name = 'MissingContractAddressError';\n }\n}\n\n/**\n * @category exception\n */\nexport class MissingContractDefError extends ContractError {\n constructor() {\n super('Either ACI or sourceCode or sourceCodePath is required');\n this.name = 'MissingContractDefError';\n }\n}\n\n/**\n * @category exception\n */\nexport class MissingFunctionNameError extends ContractError {\n constructor() {\n super('Function name is required');\n this.name = 'MissingFunctionNameError';\n }\n}\n\n/**\n * @category exception\n */\nexport class NodeInvocationError extends ContractError {\n transaction?: Encoded.Transaction;\n\n constructor(message: string, transaction?: Encoded.Transaction) {\n super(`Invocation failed${message == null ? '' : `: \"${message}\"`}`);\n this.name = 'NodeInvocationError';\n this.transaction = transaction;\n }\n}\n\n/**\n * @category exception\n */\nexport class NoSuchContractFunctionError extends ContractError {\n constructor(name: string) {\n super(`Function ${name} doesn't exist in contract`);\n this.name = 'NoSuchContractFunctionError';\n }\n}\n\n/**\n * @category exception\n */\nexport class NotPayableFunctionError extends ContractError {\n constructor(amount: Int, fn: string) {\n super(\n `You try to pay \"${amount}\" to function \"${fn}\" which is not payable. ` +\n 'Only payable function can accept coins',\n );\n this.name = 'NotPayableFunctionError';\n }\n}\n\n/**\n * @category exception\n */\nexport class MissingEventDefinitionError extends ContractError {\n constructor(eventNameHash: string, eventAddress: Encoded.ContractAddress) {\n super(\n `Can't find definition of ${eventNameHash} event emitted by ${eventAddress}` +\n ' (use omitUnknown option to ignore events like this)',\n );\n this.name = 'MissingEventDefinitionError';\n }\n}\n\n/**\n * @category exception\n */\nexport class AmbiguousEventDefinitionError extends ContractError {\n constructor(eventAddress: Encoded.ContractAddress, matchedEvents: Array<[string, string]>) {\n super(\n `Found multiple definitions of \"${matchedEvents[0][1]}\" event with different types emitted by` +\n ` ${eventAddress} in ${matchedEvents.map(([name]) => `\"${name}\"`).join(', ')} contracts` +\n ' (use contractAddressToName option to specify contract name corresponding to address)',\n );\n this.name = 'AmbiguousEventDefinitionError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InvalidChecksumError extends CryptographyError {\n constructor() {\n super('Invalid checksum');\n this.name = 'InvalidChecksumError';\n }\n}\n\n/**\n * @category exception\n */\nexport class MerkleTreeHashMismatchError extends CryptographyError {\n constructor() {\n super('Node hash is not equal to provided one');\n this.name = 'MerkleTreeHashMismatchError';\n }\n}\n\n/**\n * @category exception\n */\nexport class MissingNodeInTreeError extends CryptographyError {\n constructor(message: string) {\n super(message);\n this.name = 'MissingNodeInTreeError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnknownNodeLengthError extends CryptographyError {\n constructor(nodeLength: number) {\n super(`Unknown node length: ${nodeLength}`);\n this.name = 'UnknownNodeLengthError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnknownPathNibbleError extends CryptographyError {\n constructor(nibble: number) {\n super(`Unknown path nibble: ${nibble}`);\n this.name = 'UnknownPathNibbleError';\n }\n}\n\n/**\n * @category exception\n */\nexport class DuplicateNodeError extends NodeError {\n constructor(name: string) {\n super(`Node with name ${name} already exist`);\n this.name = 'DuplicateNodeError';\n }\n}\n\n/**\n * @category exception\n */\nexport class NodeNotFoundError extends NodeError {\n constructor(message: string) {\n super(message);\n this.name = 'NodeNotFoundError';\n }\n}\n\n/**\n * @category exception\n */\nexport class DecodeError extends TransactionError {\n constructor(message: string) {\n super(message);\n this.name = 'DecodeError';\n }\n}\n\n/**\n * @category exception\n */\nexport class PayloadLengthError extends TransactionError {\n constructor(message: string) {\n super(message);\n this.name = 'PayloadLengthError';\n }\n}\n\n/**\n * @category exception\n */\nexport class DryRunError extends TransactionError {\n constructor(message: string) {\n super(message);\n this.name = 'DryRunError';\n }\n}\n\n/**\n * @category exception\n */\nexport class IllegalBidFeeError extends TransactionError {\n constructor(message: string) {\n super(message);\n this.name = 'IllegalBidFeeError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InvalidSignatureError extends TransactionError {\n constructor(message: string) {\n super(message);\n this.name = 'InvalidSignatureError';\n }\n}\n\n/**\n * @category exception\n */\nexport class PrefixNotFoundError extends TransactionError {\n constructor(tag: number) {\n super(`Prefix for id-tag ${tag} not found.`);\n this.name = 'PrefixNotFoundError';\n }\n}\n\n/**\n * @category exception\n */\nexport class SchemaNotFoundError extends TransactionError {\n constructor(key: string, version: number) {\n super(`Transaction schema not implemented for tag ${key} version ${version}`);\n this.name = 'SchemaNotFoundError';\n }\n}\n\n/**\n * @category exception\n */\nexport class TagNotFoundError extends TransactionError {\n constructor(prefix: string) {\n super(`Id tag for prefix ${prefix} not found.`);\n this.name = 'DecodeError';\n }\n}\n\n/**\n * @category exception\n */\nexport class TxNotInChainError extends TransactionError {\n constructor(txHash: Encoded.TxHash) {\n super(`Transaction ${txHash} is removed from chain`);\n this.name = 'TxNotInChainError';\n }\n}\n\n/**\n * @category exception\n */\nexport class AlreadyConnectedError extends WalletError {\n constructor(message: string) {\n super(message);\n this.name = 'AlreadyConnectedError';\n }\n}\n\n/**\n * @category exception\n */\nexport class NoWalletConnectedError extends WalletError {\n constructor(message: string) {\n super(message);\n this.name = 'NoWalletConnectedError';\n }\n}\n\n/**\n * @category exception\n */\nexport class RpcConnectionError extends WalletError {\n constructor(message: string) {\n super(message);\n this.name = 'RpcConnectionError';\n }\n}\n","import { BigNumber } from 'bignumber.js';\nimport { isBigNumber } from './bignumber.js';\nimport { ArgumentError } from './errors.js';\n\nexport enum AE_AMOUNT_FORMATS {\n AE = 'ae',\n MILI_AE = 'miliAE',\n MICRO_AE = 'microAE',\n NANO_AE = 'nanoAE',\n PICO_AE = 'picoAE',\n FEMTO_AE = 'femtoAE',\n AETTOS = 'aettos',\n}\n\n/**\n * DENOMINATION_MAGNITUDE\n */\nconst DENOMINATION_MAGNITUDE = {\n [AE_AMOUNT_FORMATS.AE]: 0,\n [AE_AMOUNT_FORMATS.MILI_AE]: -3,\n [AE_AMOUNT_FORMATS.MICRO_AE]: -6,\n [AE_AMOUNT_FORMATS.NANO_AE]: -9,\n [AE_AMOUNT_FORMATS.PICO_AE]: -12,\n [AE_AMOUNT_FORMATS.FEMTO_AE]: -15,\n [AE_AMOUNT_FORMATS.AETTOS]: -18,\n} as const;\n\n/**\n * Convert amount from one to other denomination\n * @param value - amount to convert\n * @param options - options\n * @param options.denomination - denomination of amount, can be ['ae', 'aettos']\n * @param options.targetDenomination - target denomination,\n * can be ['ae', 'aettos']\n */\nexport const formatAmount = (\n value: string | number | bigint | BigNumber,\n {\n denomination = AE_AMOUNT_FORMATS.AETTOS,\n targetDenomination = AE_AMOUNT_FORMATS.AETTOS,\n }: { denomination?: AE_AMOUNT_FORMATS; targetDenomination?: AE_AMOUNT_FORMATS },\n): string => {\n if (!isBigNumber(value)) throw new ArgumentError('value', 'a number', value);\n\n return new BigNumber(typeof value === 'bigint' ? value.toString() : value)\n .shiftedBy(DENOMINATION_MAGNITUDE[denomination] - DENOMINATION_MAGNITUDE[targetDenomination])\n .toFixed();\n};\n\n/**\n * Convert amount to AE\n * @param value - amount to convert\n * @param options - options\n * @param options.denomination - denomination of amount, can be ['ae', 'aettos']\n */\nexport const toAe = (\n value: string | number | BigNumber,\n { denomination = AE_AMOUNT_FORMATS.AETTOS }: { denomination?: AE_AMOUNT_FORMATS } = {},\n): string => formatAmount(value, { denomination, targetDenomination: AE_AMOUNT_FORMATS.AE });\n\n/**\n * Convert amount to aettos\n * @param value - amount to convert\n * @param options - options\n * @param options.denomination - denomination of amount, can be ['ae', 'aettos']\n */\nexport const toAettos = (\n value: string | number | BigNumber,\n { denomination = AE_AMOUNT_FORMATS.AE }: { denomination?: AE_AMOUNT_FORMATS } = {},\n): string => formatAmount(value, { denomination });\n\ninterface Prefix {\n name: string;\n magnitude: number;\n}\n\nconst prefixes: Prefix[] = [\n { name: 'exa', magnitude: 18 },\n { name: 'giga', magnitude: 9 },\n { name: '', magnitude: 0 },\n { name: 'pico', magnitude: -12 },\n];\n\nconst getNearestPrefix = (exponent: number): Prefix =>\n prefixes.reduce((p, n) =>\n Math.abs(n.magnitude - exponent) < Math.abs(p.magnitude - exponent) ? n : p,\n );\n\nconst getLowerBoundPrefix = (exponent: number): Prefix =>\n prefixes.find((p) => p.magnitude <= exponent) ?? prefixes[prefixes.length - 1];\n\nexport const prefixedAmount = (rawValue: string | number | BigNumber): string => {\n const value: BigNumber = new BigNumber(rawValue);\n\n const exp = value.e ?? 0;\n const { name, magnitude } = (exp < 0 ? getNearestPrefix : getLowerBoundPrefix)(exp);\n const v = value\n .shiftedBy(-magnitude)\n .precision(9 + Math.min(exp - magnitude, 0))\n .toFixed();\n return `${v}${name !== '' ? ' ' : ''}${name}`;\n};\n","import { RestError } from '@azure/core-rest-pipeline';\n\nexport const pause = async (duration: number): Promise<void> =>\n new Promise((resolve) => {\n setTimeout(resolve, duration);\n });\n\nexport const mapObject = <InputV, OutputV>(\n object: { [k: string]: InputV },\n fn: (\n value: [string, InputV],\n index: number,\n array: Array<[string, InputV]>,\n ) => [number | string, OutputV],\n): { [k: string]: OutputV } => Object.fromEntries(Object.entries(object).map(fn));\n\n// remove after dropping webpack4 support\nconst isWebpack4Buffer = (() => {\n try {\n Buffer.concat([Uint8Array.from([])]);\n return false;\n } catch (error) {\n return true;\n }\n})();\n\nexport const concatBuffers = isWebpack4Buffer\n ? (list: readonly Uint8Array[], totalLength?: number): Buffer =>\n Buffer.concat(\n list.map((el) => Buffer.from(el)),\n totalLength,\n )\n : Buffer.concat;\n\n/**\n * Object key type guard\n * @param key - Maybe object key\n * @param object - Object\n */\nexport function isKeyOfObject<T extends object>(\n key: string | number | symbol,\n object: T,\n): key is keyof T {\n return key in object;\n}\n\n/**\n * Array item type guard\n * @param item - Maybe array item\n * @param array - Array\n */\nexport function isItemOfArray<T>(item: any, array: readonly T[]): item is T {\n return array.includes(item);\n}\n\nexport function isAccountNotFoundError(error: Error): boolean {\n return (\n error instanceof RestError &&\n error.statusCode === 404 &&\n error.message.includes('Account not found')\n );\n}\n\n// based on https://stackoverflow.com/a/50375286\nexport type UnionToIntersection<Union> = (Union extends any ? (k: Union) => void : never) extends (\n k: infer Intersection,\n) => void\n ? Intersection\n : never;\n\n// based on https://stackoverflow.com/a/61108377\nexport type Optional<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;\n\nexport function ensureError(error: unknown): asserts error is Error {\n if (error instanceof Error) return;\n throw error;\n}\n","import { ArgumentError } from './errors.js';\n\nexport function wrapWithProxy<Value extends object | undefined>(\n valueCb: () => Value,\n): NonNullable<Value> {\n return new Proxy(\n {},\n Object.fromEntries(\n (\n [\n 'apply',\n 'construct',\n 'defineProperty',\n 'deleteProperty',\n 'getOwnPropertyDescriptor',\n 'getPrototypeOf',\n 'isExtensible',\n 'ownKeys',\n 'preventExtensions',\n 'set',\n 'setPrototypeOf',\n 'get',\n 'has',\n ] as const\n ).map((name) => [\n name,\n (t: {}, ...args: unknown[]) => {\n const target = valueCb();\n if (target == null) throw new ArgumentError('wrapped value', 'defined', target);\n if (name === 'get' && args[0] === '_wrappedValue') return target;\n const res = (Reflect[name] as any)(target, ...args);\n return typeof res === 'function' && name === 'get' ? res.bind(target) : res;\n },\n ]),\n ),\n ) as NonNullable<Value>;\n}\n\nexport function unwrapProxy<Value extends object>(value: Value): Value {\n return (value as { _wrappedValue?: Value })._wrappedValue ?? value;\n}\n","/**\n * @category transaction builder\n * @see {@link https://github.com/aeternity/protocol/blob/master/node/api/api_encoding.md}\n * @see {@link https://github.com/aeternity/aeserialization/blob/eb68fe331bd476910394966b7f5ede7a74d37e35/src/aeser_api_encoder.erl#L205-L230}\n */\nexport enum Encoding {\n KeyBlockHash = 'kh',\n MicroBlockHash = 'mh',\n BlockPofHash = 'bf',\n BlockTxHash = 'bx',\n BlockStateHash = 'bs',\n Channel = 'ch',\n ContractAddress = 'ct',\n ContractBytearray = 'cb',\n ContractStoreKey = 'ck',\n ContractStoreValue = 'cv',\n Transaction = 'tx',\n TxHash = 'th',\n OracleAddress = 'ok',\n OracleQuery = 'ov',\n OracleQueryId = 'oq',\n OracleResponse = 'or',\n AccountAddress = 'ak',\n AccountSecretKey = 'sk',\n Signature = 'sg',\n Commitment = 'cm',\n PeerPubkey = 'pp',\n Name = 'nm',\n State = 'st',\n Poi = 'pi',\n StateTrees = 'ss',\n CallStateTree = 'cs',\n Bytearray = 'ba',\n}\n\nexport type KeyBlockHash = `${Encoding.KeyBlockHash}_${string}`;\nexport type MicroBlockHash = `${Encoding.MicroBlockHash}_${string}`;\nexport type BlockPofHash = `${Encoding.BlockPofHash}_${string}`;\nexport type BlockTxHash = `${Encoding.BlockTxHash}_${string}`;\nexport type BlockStateHash = `${Encoding.BlockStateHash}_${string}`;\nexport type Channel = `${Encoding.Channel}_${string}`;\nexport type ContractAddress = `${Encoding.ContractAddress}_${string}`;\nexport type ContractBytearray = `${Encoding.ContractBytearray}_${string}`;\nexport type ContractStoreKey = `${Encoding.ContractStoreKey}_${string}`;\nexport type ContractStoreValue = `${Encoding.ContractStoreValue}_${string}`;\nexport type Transaction = `${Encoding.Transaction}_${string}`;\nexport type TxHash = `${Encoding.TxHash}_${string}`;\nexport type OracleAddress = `${Encoding.OracleAddress}_${string}`;\nexport type OracleQuery = `${Encoding.OracleQuery}_${string}`;\nexport type OracleQueryId = `${Encoding.OracleQueryId}_${string}`;\nexport type OracleResponse = `${Encoding.OracleResponse}_${string}`;\nexport type AccountAddress = `${Encoding.AccountAddress}_${string}`;\nexport type AccountSecretKey = `${Encoding.AccountSecretKey}_${string}`;\nexport type Signature = `${Encoding.Signature}_${string}`;\nexport type Commitment = `${Encoding.Commitment}_${string}`;\nexport type PeerPubkey = `${Encoding.PeerPubkey}_${string}`;\nexport type Name = `${Encoding.Name}_${string}`;\nexport type State = `${Encoding.State}_${string}`;\nexport type Poi = `${Encoding.Poi}_${string}`;\nexport type StateTrees = `${Encoding.StateTrees}_${string}`;\nexport type CallStateTree = `${Encoding.CallStateTree}_${string}`;\nexport type Bytearray = `${Encoding.Bytearray}_${string}`;\n\nexport type Generic<Type extends Encoding> = `${Type}_${string}`;\nexport type Any = `${Encoding}_${string}`;\n","import bs58 from 'bs58';\n// js extension is required for mjs build, not importing the whole package to reduce bundle size\n// eslint-disable-next-line import/extensions\nimport Sha256 from 'sha.js/sha256.js';\nimport { DecodeError, ArgumentError, InvalidChecksumError, PayloadLengthError } from './errors.js';\nimport { concatBuffers, isKeyOfObject } from './other.js';\nimport * as Encoded from './encoder-types.js';\nimport { Encoding } from './encoder-types.js';\n\nexport { Encoded, Encoding };\n\n/**\n * Calculate SHA256 hash of `input`\n * @param input - Data to hash\n * @returns Hash\n */\nexport function sha256hash(input: Uint8Array | string): Buffer {\n return new Sha256().update(input).digest();\n}\n\n/**\n * @see {@link https://github.com/aeternity/aeserialization/blob/eb68fe331bd476910394966b7f5ede7a74d37e35/src/aeser_api_encoder.erl#L177-L202}\n */\nconst base64Types = [\n Encoding.ContractBytearray,\n Encoding.ContractStoreKey,\n Encoding.ContractStoreValue,\n Encoding.Transaction,\n Encoding.OracleQuery,\n Encoding.OracleResponse,\n Encoding.State,\n Encoding.Poi,\n Encoding.StateTrees,\n Encoding.CallStateTree,\n Encoding.Bytearray,\n] as const;\nconst base58Types = [\n Encoding.KeyBlockHash,\n Encoding.MicroBlockHash,\n Encoding.BlockPofHash,\n Encoding.BlockTxHash,\n Encoding.BlockStateHash,\n Encoding.Channel,\n Encoding.ContractAddress,\n Encoding.TxHash,\n Encoding.OracleAddress,\n Encoding.OracleQueryId,\n Encoding.AccountAddress,\n Encoding.AccountSecretKey,\n Encoding.Signature,\n Encoding.Commitment,\n Encoding.PeerPubkey,\n Encoding.Name,\n] as const;\n\n/**\n * @see {@link https://github.com/aeternity/aeserialization/blob/eb68fe331bd476910394966b7f5ede7a74d37e35/src/aeser_api_encoder.erl#L261-L286}\n */\nconst byteSizeForType = {\n [Encoding.KeyBlockHash]: 32,\n [Encoding.MicroBlockHash]: 32,\n [Encoding.BlockPofHash]: 32,\n [Encoding.BlockTxHash]: 32,\n [Encoding.BlockStateHash]: 32,\n [Encoding.Channel]: 32,\n [Encoding.ContractAddress]: 32,\n [Encoding.TxHash]: 32,\n [Encoding.OracleAddress]: 32,\n [Encoding.OracleQueryId]: 32,\n [Encoding.AccountAddress]: 32,\n [Encoding.AccountSecretKey]: 32,\n [Encoding.Signature]: 64,\n [Encoding.Commitment]: 32,\n [Encoding.PeerPubkey]: 32,\n [Encoding.State]: 32,\n} as const;\n\nfunction ensureValidLength(data: Uint8Array, type: Encoding): void {\n if (!isKeyOfObject(type, byteSizeForType)) return;\n const reqLen = byteSizeForType[type];\n if (reqLen == null || data.length === reqLen) return;\n throw new PayloadLengthError(`Payload should be ${reqLen} bytes, got ${data.length} instead`);\n}\n\nconst getChecksum = (payload: Uint8Array): Buffer => sha256hash(sha256hash(payload)).slice(0, 4);\n\nconst addChecksum = (payload: Uint8Array): Buffer => concatBuffers([payload, getChecksum(payload)]);\n\nfunction getPayload(buffer: Buffer): Buffer {\n const payload = buffer.slice(0, -4);\n if (!getChecksum(payload).equals(buffer.slice(-4))) throw new InvalidChecksumError();\n return payload;\n}\n\nconst base64 = {\n encode: (buffer: Uint8Array) => addChecksum(buffer).toString('base64'),\n decode: (string: string) => getPayload(Buffer.from(string, 'base64')),\n};\n\nconst base58 = {\n encode: (buffer: Uint8Array) => bs58.encode(addChecksum(buffer)),\n decode: (string: string) => getPayload(Buffer.from(bs58.decode(string))),\n};\n\nconst parseType = (maybeType: unknown): [Encoding, typeof base64] => {\n const base64Type = base64Types.find((t) => t === maybeType);\n if (base64Type != null) return [base64Type, base64];\n const base58Type = base58Types.find((t) => t === maybeType);\n if (base58Type != null) return [base58Type, base58];\n throw new ArgumentError(\n 'prefix',\n `one of ${[...base58Types, ...base64Types].join(', ')}`,\n maybeType,\n );\n};\n\n/**\n * Decode data using the default encoding/decoding algorithm\n * @param data - An Base58/64check encoded and prefixed string\n * (ex tx_..., sg_..., ak_....)\n * @returns Decoded data\n */\nexport function decode(data: Encoded.Any): Buffer {\n const [prefix, encodedPayload, extra] = data.split('_');\n if (encodedPayload == null) throw new DecodeError(`Encoded string missing payload: ${data}`);\n if (extra != null) throw new DecodeError(`Encoded string have extra parts: ${data}`);\n const [type, encoder] = parseType(prefix);\n const payload = encoder.decode(encodedPayload);\n ensureValidLength(payload, type);\n return payload;\n}\n\n/**\n * Encode data using the default encoding/decoding algorithm\n * @param data - An decoded data\n * @param type - Prefix of Transaction\n * @returns Encoded string Base58check or Base64check data\n */\nexport function encode<Type extends Encoding>(data: Uint8Array, type: Type): Encoded.Generic<Type> {\n const [, encoder] = parseType(type);\n ensureValidLength(data, type);\n return `${type}_${encoder.encode(data)}`;\n}\n","import nacl from 'tweetnacl';\n// js extension is required for mjs build, not importing the whole package to reduce bundle size\n// eslint-disable-next-line import/extensions\nimport { blake2b } from 'blakejs/blake2b.js';\nimport { encode as varuintEncode } from 'varuint-bitcoin';\n\nimport { concatBuffers, isItemOfArray } from './other.js';\nimport { decode, encode, Encoded, Encoding } from './encoder.js';\nimport { ArgumentError } from './errors.js';\n\n/**\n * Check if address is valid\n * @param maybeAddress - Address to check\n */\nexport function isAddressValid(maybeAddress: string): maybeAddress is Encoded.AccountAddress;\n/**\n * Check if data is encoded in one of provided encodings\n * @param maybeEncoded - Data to check\n * @param encodings - Rest parameters with encodings to check against\n */\nexport function isAddressValid<E extends Encoding>(\n maybeEncoded: string,\n ...encodings: E[]\n): maybeEncoded is Encoded.Generic<E>;\nexport function isAddressValid(maybeEncoded: string, ...encodings: Encoding[]): boolean {\n if (encodings.length === 0) encodings = [Encoding.AccountAddress];\n try {\n decode(maybeEncoded as Encoded.Any);\n const encoding = maybeEncoded.split('_')[0];\n if (!isItemOfArray(encoding, encodings)) {\n throw new ArgumentError(\n 'Encoded string type',\n encodings.length > 1 ? `one of ${encodings.join(', ')}` : encodings[0],\n encoding,\n );\n }\n return true;\n } catch (error) {\n return false;\n }\n}\n\n/**\n * Generate a random salt (positive integer)\n * @returns random salt\n */\nexport function genSalt(): number {\n const [random] = new BigUint64Array(nacl.randomBytes(8).buffer);\n return Number(random % BigInt(Number.MAX_SAFE_INTEGER));\n}\n\n/**\n * Converts a positive integer to the smallest possible\n * representation in a binary digit representation\n * @param value - Value to encode\n * @returns Encoded number\n */\nexport function encodeUnsigned(value: number): Buffer {\n const binary = Buffer.allocUnsafe(4);\n binary.writeUInt32BE(value);\n return binary.slice(binary.findIndex((i) => i !== 0));\n}\n\n/**\n * Calculate 256bits Blake2b hash of `input`\n * @param input - Data to hash\n * @returns Hash\n */\nexport function hash(input: string | Uint8Array): Buffer {\n return Buffer.from(blake2b(input, undefined, 32)); // 256 bits\n}\n\n// Todo Duplicated in tx builder. remove\n/**\n * Compute contract address\n * @category contract\n * @param owner - Address of contract owner\n * @param nonce - Round when contract was created\n * @returns Contract address\n */\nexport function encodeContractAddress(\n owner: Encoded.AccountAddress,\n nonce: number,\n): Encoded.ContractAddress {\n const publicKey = decode(owner);\n const binary = concatBuffers([publicKey, encodeUnsigned(nonce)]);\n return encode(hash(binary), Encoding.ContractAddress);\n}\n\n/**\n * Verify that signature was signed by public key\n * @param data - Data that was signed\n * @param signature - Signature of data\n * @param address - Address to verify against\n * @returns is data was signed by address\n */\nexport function verify(\n data: Uint8Array,\n signature: Uint8Array,\n address: Encoded.AccountAddress,\n): boolean {\n return nacl.sign.detached.verify(data, signature, decode(address));\n}\n\nconst messagePrefix = Buffer.from('aeternity Signed Message:\\n', 'utf8');\nexport const messagePrefixLength = varuintEncode(messagePrefix.length).buffer;\n\n// TODO: consider rename to hashMessage\nexport function messageToHash(message: string): Buffer {\n const msg = Buffer.from(message, 'utf8');\n return hash(\n concatBuffers([messagePrefixLength, messagePrefix, varuintEncode(msg.length).buffer, msg]),\n );\n}\n\n/**\n * Verify that message was signed by address\n * @param message - Message that was signed\n * @param signature - Signature of message\n * @param address - Address to verify against\n * @returns is data was signed by address\n */\n// TODO: deprecate in favour of `verify(messageToHash(message), ...`, also the name is confusing\n// it should contain \"signature\"\nexport function verifyMessage(\n message: string,\n signature: Uint8Array,\n address: Encoded.AccountAddress,\n): boolean {\n return verify(messageToHash(message), signature, address);\n}\n","import { BigNumber } from 'bignumber.js';\nimport { NoSerializerFoundError, TypeError } from './errors.js';\n\n/**\n * Convert string, number, or BigNumber to byte array\n * @param val - value to convert\n * @param big - enables force conversion to BigNumber\n * @returns Buffer\n */\n// eslint-disable-next-line import/prefer-default-export\nexport function toBytes(val?: null | string | number | BigNumber, big = false): Buffer {\n // Encode a value to bytes.\n // If the value is an int it will be encoded as bytes big endian\n // Raises ValueError if the input is not an int or string\n\n if (val == null) return Buffer.from([]);\n if (Number.isInteger(val) || BigNumber.isBigNumber(val) || big) {\n if (!BigNumber.isBigNumber(val)) val = new BigNumber(val);\n if (!val.isInteger()) throw new TypeError(`Unexpected not integer value: ${val.toFixed()}`);\n let hexString = val.toString(16);\n if (hexString.length % 2 === 1) hexString = `0${hexString}`;\n return Buffer.from(hexString, 'hex');\n }\n if (typeof val === 'string') {\n return Buffer.from(val);\n }\n throw new NoSerializerFoundError();\n}\n","import { BigNumber } from 'bignumber.js';\nimport { mapObject } from '../../utils/other.js';\n\nexport const DRY_RUN_ACCOUNT = {\n pub: 'ak_11111111111111111111111111111111273Yts',\n amount: 100000000000000000000000000000000000n,\n} as const;\n\nexport const MAX_AUTH_FUN_GAS = 50000;\nexport type Int = number | string | BigNumber;\nexport type AensName = `${string}.chain`;\nexport const MIN_GAS_PRICE = 1e9; // TODO: don't use number for ae\n// # see https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L67\nexport const NAME_FEE_MULTIPLIER = 1e14; // 100000000000000\nexport const NAME_FEE_BID_INCREMENT = 0.05; // # the increment is in percentage\n// # see https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L272\nexport const NAME_BID_TIMEOUT_BLOCKS = 480; // # ~1 day\n// # this is the max length for a domain that requires a base fee to be paid\nexport const NAME_MAX_LENGTH_FEE = 31;\n// # https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L290\n// # https://github.com/aeternity/protocol/blob/master/AENS.md#protocol-fees-and-protection-times\n// # bid ranges:\nexport const NAME_BID_RANGES = mapObject(\n {\n 31: 3,\n 30: 5,\n 29: 8,\n 28: 13,\n 27: 21,\n 26: 34,\n 25: 55,\n 24: 89,\n 23: 144,\n 22: 233,\n 21: 377,\n 20: 610,\n 19: 987,\n 18: 1597,\n 17: 2584,\n 16: 4181,\n 15: 6765,\n 14: 10946,\n 13: 17711,\n 12: 28657,\n 11: 46368,\n 10: 75025,\n 9: 121393,\n 8: 196418,\n 7: 317811,\n 6: 514229,\n 5: 832040,\n 4: 1346269,\n 3: 2178309,\n 2: 3524578,\n 1: 5702887,\n },\n ([key, value]) => [key, new BigNumber(value).times(NAME_FEE_MULTIPLIER)],\n);\n\nexport enum ConsensusProtocolVersion {\n Ceres = 6,\n}\n\n/**\n * @category transaction builder\n * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}\n */\nexport enum VmVersion {\n NoVm = 0,\n Sophia = 1,\n SophiaImprovementsMinerva = 3,\n SophiaImprovementsFortuna = 4,\n Fate = 5,\n SophiaImprovementsLima = 6,\n Fate2 = 7,\n Fate3 = 8,\n}\n\n/**\n * @category transaction builder\n * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}\n */\nexport enum AbiVersion {\n NoAbi = 0,\n Sophia = 1,\n Fate = 3,\n}\n\n/**\n * Enum with tag types\n * @category transaction builder\n * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/serializations.md#binary-serialization}\n * @see {@link https://github.com/aeternity/aeserialization/blob/eb68fe331bd476910394966b7f5ede7a74d37e35/src/aeser_chain_objects.erl#L39-L97}\n */\n// TODO: implement serialisation for commented-out tags\nexport enum Tag {\n SignedTx = 11,\n SpendTx = 12,\n OracleRegisterTx = 22,\n OracleQueryTx = 23,\n OracleResponseTx = 24,\n OracleExtendTx = 25,\n NameClaimTx = 32,\n NamePreclaimTx = 33,\n NameUpdateTx = 34,\n NameRevokeTx = 35,\n NameTransferTx = 36,\n ContractCreateTx = 42,\n ContractCallTx = 43,\n ChannelCreateTx = 50,\n ChannelDepositTx = 51,\n ChannelWithdrawTx = 52,\n ChannelForceProgressTx = 521,\n ChannelCloseMutualTx = 53,\n ChannelCloseSoloTx = 54,\n ChannelSlashTx = 55,\n ChannelSettleTx = 56,\n ChannelOffChainTx = 57,\n ChannelSnapshotSoloTx = 59,\n GaAttachTx = 80,\n GaMetaTx = 81,\n PayingForTx = 82,\n}\n","import { BigNumber } from 'bignumber.js';\nimport { genSalt, hash } from '../../utils/crypto.js';\nimport { decode, encode, Encoded, Encoding } from '../../utils/encoder.js';\nimport { toBytes } from '../../utils/bytes.js';\nimport { concatBuffers } from '../../utils/other.js';\nimport {\n AensName,\n NAME_BID_RANGES,\n NAME_BID_TIMEOUT_BLOCKS,\n NAME_FEE_BID_INCREMENT,\n NAME_MAX_LENGTH_FEE,\n} from './constants.js';\nimport { ceil } from '../../utils/bignumber.js';\nimport { ArgumentError, IllegalBidFeeError } from '../../utils/errors.js';\n\n/**\n * JavaScript-based Transaction builder helper function's\n */\n\n/**\n * Build a contract public key\n * @category contract\n * @param ownerId - The public key of the owner account\n * @param nonce - the nonce of the transaction\n * @returns Contract public key\n */\nexport function buildContractId(\n ownerId: Encoded.AccountAddress,\n nonce: number | BigNumber,\n): Encoded.ContractAddress {\n const ownerIdAndNonce = Buffer.from([...decode(ownerId), ...toBytes(nonce)]);\n const b2bHash = hash(ownerIdAndNonce);\n return encode(b2bHash, Encoding.ContractAddress);\n}\n\n/**\n * Build a oracle query id\n * @category oracle\n * @param senderId - The public key of the sender account\n * @param nonce - the nonce of the transaction\n * @param oracleId - The oracle public key\n * @returns Contract public key\n */\nexport function oracleQueryId(\n senderId: Encoded.AccountAddress,\n nonce: number | BigNumber | string,\n oracleId: Encoded.OracleAddress,\n): Encoded.OracleQueryId {\n function _int32(val: number | string | BigNumber): Buffer {\n const nonceBE = toBytes(val, true);\n return concatBuffers([Buffer.alloc(32 - nonceBE.length), nonceBE]);\n }\n\n const b2bHash = hash(Buffer.from([...decode(senderId), ..._int32(nonce), ...decode(oracleId)]));\n return encode(b2bHash, Encoding.OracleQueryId);\n}\n\nconst AENS_SUFFIX = '.chain';\n\nexport function nameToPunycode(maybeName: string): AensName {\n const [name, suffix, ...other] = maybeName.split('.');\n if (other.length !== 0) throw new ArgumentError('aens name', 'including only one dot', maybeName);\n if (suffix !== AENS_SUFFIX.slice(1)) {\n throw new ArgumentError('aens name', `suffixed with ${AENS_SUFFIX}`, maybeName);\n }\n if (/\\p{Emoji_Presentation}/u.test(name)) {\n throw new ArgumentError('aens name', 'not containing emoji', maybeName);\n }\n if (name[2] === '-' && name[3] === '-') {\n throw new ArgumentError(\n 'aens name',\n 'without \"-\" char in both the third and fourth positions',\n maybeName,\n );\n }\n if (name[0] === '-') {\n throw new ArgumentError('aens name', 'starting with no \"-\" char', maybeName);\n }\n if (name.at(-1) === '-') {\n throw new ArgumentError('aens name', 'ending with no \"-\" char', maybeName);\n }\n let punycode;\n try {\n const u = new URL(`http://${name}.${suffix}`);\n if (u.username + u.password + u.port + u.search + u.hash !== '' || u.pathname !== '/') {\n throw new ArgumentError('aens name', 'valid', maybeName);\n }\n punycode = u.host;\n } catch (error) {\n if (error instanceof TypeError && error.message.includes('Invalid URL')) {\n throw new ArgumentError('aens name', 'valid', maybeName);\n }\n throw error;\n }\n if (!/^[a-z0-9.-]+$/i.test(punycode)) {\n throw new ArgumentError('aens name', 'without illegal chars', maybeName);\n }\n if (punycode.length > 63 + AENS_SUFFIX.length) {\n throw new ArgumentError('aens name', 'not too long', maybeName);\n }\n return punycode as AensName;\n}\n\n/**\n * Encode an AENS name\n * @category AENS\n * @param name - Name to encode\n * @returns `nm_` prefixed encoded AENS name\n */\nexport function produceNameId(name: AensName): Encoded.Name {\n return encode(hash(nameToPunycode(name)), Encoding.Name);\n}\n\n/**\n * Generate the commitment hash by hashing the salt and\n * name, base 58 encoding the result and prepending 'cm_'\n * @category transaction builder\n * @param name - Name to be registered\n * @param salt - Random number\n * @returns Commitment hash\n */\nexport function commitmentHash(name: AensName, salt: number = genSalt()): Encoded.Commitment {\n return encode(\n hash(\n concatBuffers([\n Buffer.from(nameToPunycode(name)),\n Buffer.from(salt.toString(16).padStart(64, '0'), 'hex'),\n ]),\n ),\n Encoding.Commitment,\n );\n}\n\n/**\n * Utility function to convert bytes to int\n * @category transaction builder\n * @param buf - Value\n * @returns Buffer Buffer from number(BigEndian)\n */\nexport function readInt(buf: Buffer = Buffer.from([])): string {\n return new BigNumber(Buffer.from(buf).toString('hex'), 16).toString(10);\n}\n\n/**\n * Ensure that name is valid AENS name, would throw an exception otherwise\n * @category AENS\n * @param maybeName - AENS name\n */\nexport function ensureName(maybeName: string): asserts maybeName is AensName {\n nameToPunycode(maybeName);\n}\n\n/**\n * Is AENS name valid\n * @category AENS\n * @param maybeName - AENS name\n */\n// TODO: consider renaming to isName\nexport function isNameValid(maybeName: string): maybeName is AensName {\n try {\n ensureName(maybeName);\n return true;\n } catch (error) {\n return false;\n }\n}\n\nconst encodingToPointerKey = [\n [Encoding.AccountAddress, 'account_pubkey'],\n [Encoding.OracleAddress, 'oracle_pubkey'],\n [Encoding.ContractAddress, 'contract_pubkey'],\n [Encoding.Channel, 'channel'],\n] as const;\n\n/**\n * @category AENS\n * @param identifier - account/oracle/contract address, or channel\n * @returns default AENS pointer key\n */\nexport function getDefaultPointerKey(\n identifier: Encoded.Generic<(typeof encodingToPointerKey)[number][0]>,\n): (typeof encodingToPointerKey)[number][1] {\n decode(identifier);\n const encoding = identifier.substring(0, 2);\n const result = encodingToPointerKey.find(([e]) => e === encoding)?.[1];\n if (result != null) return result;\n throw new ArgumentError(\n 'identifier',\n `prefixed with one of ${encodingToPointerKey.map(([e]) => `${e}_`).join(', ')}`,\n identifier,\n );\n}\n\n/**\n * Get the minimum AENS name fee\n * @category AENS\n * @param name - the AENS name to get the fee for\n * @returns the minimum fee for the AENS name auction\n */\nexport function getMinimumNameFee(name: AensName): BigNumber {\n const nameLength = nameToPunycode(name).length - AENS_SUFFIX.length;\n return NAME_BID_RANGES[Math.min(nameLength, NAME_MAX_LENGTH_FEE)];\n}\n\n/**\n * Compute bid fee for AENS auction\n * @category AENS\n * @param name - the AENS name to get the fee for\n * @param options - Options\n * @param options.startFee - Auction start fee\n * @param options.increment - Bid multiplier(In percentage, must be between 0 and 1)\n * @returns Bid fee\n */\nexport function computeBidFee(\n name: AensName,\n {\n startFee,\n increment = NAME_FEE_BID_INCREMENT,\n }: { startFee?: number | string | BigNumber; increment?: number } = {},\n): BigNumber {\n if (!(Number(increment) === increment && increment % 1 !== 0))\n throw new IllegalBidFeeError(`Increment must be float. Current increment ${increment}`);\n if (increment < NAME_FEE_BID_INCREMENT)\n throw new IllegalBidFeeError(`minimum increment percentage is ${NAME_FEE_BID_INCREMENT}`);\n // FIXME: increment should be used somehow here\n return ceil(\n new BigNumber(startFee ?? getMinimumNameFee(name)).times(\n new BigNumber(NAME_FEE_BID_INCREMENT).plus(1),\n ),\n );\n}\n\n/**\n * Compute auction end height\n * @category AENS\n * @param name - Name to compute auction end for\n * @param claimHeight - Auction starting height\n * @see {@link https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L273}\n * @returns Auction end height\n */\nexport function computeAuctionEndBlock(name: AensName, claimHeight: number): number {\n const length = nameToPunycode(name).length - AENS_SUFFIX.length;\n const h =\n (length <= 4 ? 62 * NAME_BID_TIMEOUT_BLOCKS : null) ??\n (length <= 8 ? 31 * NAME_BID_TIMEOUT_BLOCKS : null) ??\n (length <= 12 ? NAME_BID_TIMEOUT_BLOCKS : null) ??\n 0;\n return h + claimHeight;\n}\n\n/**\n * Is name accept going to auction\n * @category AENS\n */\nexport function isAuctionName(name: AensName): boolean {\n return nameToPunycode(name).length < 13 + AENS_SUFFIX.length;\n}\n","import { AE_AMOUNT_FORMATS, formatAmount } from './utils/amount-formatter.js';\nimport { isAccountNotFoundError, pause } from './utils/other.js';\nimport { unwrapProxy } from './utils/wrap-proxy.js';\nimport { isNameValid, produceNameId } from './tx/builder/helpers.js';\nimport { AensName, DRY_RUN_ACCOUNT } from './tx/builder/constants.js';\nimport {\n AensPointerContextError,\n DryRunError,\n InvalidAensNameError,\n TxTimedOutError,\n TxNotInChainError,\n InternalError,\n} from './utils/errors.js';\nimport Node from './Node.js';\nimport { DryRunResult, DryRunResults, SignedTx } from './apis/node/index.js';\nimport { decode, encode, Encoded, Encoding } from './utils/encoder.js';\n\n/**\n * @category chain\n * @param type - Type\n * @param options - Options\n */\nexport async function _getPollInterval(\n type: 'key-block' | 'micro-block',\n {\n _expectedMineRate,\n _microBlockCycle,\n onNode,\n }: { _expectedMineRate?: number; _microBlockCycle?: number; onNode: Node },\n): Promise<number> {\n const getVal = async (\n t: string,\n val: number | undefined,\n devModeDef: number,\n def: number,\n ): Promise<number | null> => {\n if (t !== type) return null;\n if (val != null) return val;\n return (await onNode?.getNetworkId()) === 'ae_dev' ? devModeDef : def;\n };\n\n const base =\n (await getVal('key-block', _expectedMineRate, 0, 180000)) ??\n (await getVal('micro-block', _microBlockCycle, 0, 3000)) ??\n (() => {\n throw new InternalError(`Unknown type: ${type}`);\n })();\n return Math.floor(base / 3);\n}\n\nconst heightCache: WeakMap<Node, { time: number; height: number }> = new WeakMap();\n\n/**\n * Obtain current height of the chain\n * @category chain\n * @param options - Options\n * @param options.cached - Get height from the cache. The lag behind the actual height shouldn't\n * be more than 1 block. Use if needed to reduce requests count, and approximate value can be used.\n * For example, for timeout check in transaction status polling.\n * @returns Current chain height\n */\nexport async function getHeight({\n cached = false,\n ...options\n}: {\n onNode: Node;\n cached?: boolean;\n} & Parameters<typeof _getPollInterval>[1]): Promise<number> {\n const onNode = unwrapProxy(options.onNode);\n if (cached) {\n const cache = heightCache.get(onNode);\n if (cache != null && cache.time > Date.now() - (await _getPollInterval('key-block', options))) {\n return cache.height;\n }\n }\n const { height } = await onNode.getCurrentKeyBlockHeight();\n heightCache.set(onNode, { height, time: Date.now() });\n return height;\n}\n\n/**\n * Return transaction details if it is mined, fail otherwise.\n * If the transaction has ttl specified then would wait till it leaves the mempool.\n * Otherwise would fail if a specified amount of blocks were mined.\n * @category chain\n * @param th - The hash of transaction to poll\n * @param options - Options\n * @param options.interval - Interval (in ms) at which to poll the chain\n * @param options.blocks - Number of blocks mined after which to fail if transaction ttl is not set\n * @param options.onNode - Node to use\n * @returns The transaction as it was mined\n */\nexport async function poll(\n th: Encoded.TxHash,\n {\n blocks = 5,\n interval,\n ...options\n }: { blocks?: number; interval?: number; onNode: Node } & Parameters<typeof _getPollInterval>[1],\n): ReturnType<Node['getTransactionByHash']> {\n interval ??= await _getPollInterval('micro-block', options);\n let max;\n do {\n const tx = await options.onNode.getTransactionByHash(th);\n if (tx.blockHeight !== -1) return tx;\n if (max == null) {\n max = tx.tx.ttl !== 0 ? -1 : (await getHeight({ ...options, cached: true })) + blocks;\n }\n await pause(interval);\n } while (max === -1 ? true : (await getHeight({ ...options, cached: true })) < max);\n throw new TxTimedOutError(blocks, th);\n}\n\n/**\n * Wait for the chain to reach a specific height\n * @category chain\n * @param height - Height to wait for\n * @param options - Options\n * @param options.interval - Interval (in ms) at which to poll the chain\n * @param options.onNode - Node to use\n * @returns Current chain height\n */\nexport async function awaitHeight(\n height: number,\n {\n interval,\n ...options\n }: { interval?: number; onNode: Node } & Parameters<typeof _getPollInterval>[1],\n): Promise<number> {\n interval ??= Math.min(await _getPollInterval('key-block', options), 5000);\n let currentHeight;\n do {\n if (currentHeight != null) await pause(interval);\n currentHeight = await getHeight(options);\n } while (currentHeight < height);\n return currentHeight;\n}\n\n/**\n * Wait for transaction confirmation\n * @category chain\n * @param txHash - Transaction hash\n * @param options - Options\n * @param options.confirm - Number of micro blocks to wait for transaction confirmation\n * @param options.onNode - Node to use\n * @returns Current Height\n */\nexport async function waitForTxConfirm(\n txHash: Encoded.TxHash,\n {\n confirm = 3,\n onNode,\n ...options\n }: { confirm?: number; onNode: Node } & Parameters<typeof awaitHeight>[1],\n): Promise<number> {\n const { blockHeight } = await onNode.getTransactionByHash(txHash);\n const height = await awaitHeight(blockHeight + confirm, { onNode, ...options });\n const { blockHeight: newBlockHeight } = await onNode.getTransactionByHash(txHash);\n switch (newBlockHeight) {\n case -1:\n throw new TxNotInChainError(txHash);\n case blockHeight:\n return height;\n default:\n return waitForTxConfirm(txHash, { onNode, confirm, ...options });\n }\n}\n\n/**\n * Get account by account public key\n * @category chain\n * @param address - Account address (public key)\n * @param options - Options\n * @param options.height - Get account on specific block by block height\n * @param options.hash - Get account on specific block by micro block hash or key block hash\n * @param options.onNode - Node to use\n */\nexport async function getAccount(\n address: Encoded.AccountAddress | Encoded.ContractAddress,\n {\n height,\n hash,\n onNode,\n }: { height?: number; hash?: Encoded.KeyBlockHash | Encoded.MicroBlockHash; onNode: Node },\n): ReturnType<Node['getAccountByPubkey']> {\n if (height != null) return onNode.getAccountByPubkeyAndHeight(address, height);\n if (hash != null) return onNode.getAccountByPubkeyAndHash(address, hash);\n return onNode.getAccountByPubkey(address);\n}\n\n/**\n * Request the balance of specified account\n * @category chain\n * @param address - The public account address to obtain the balance for\n * @param options - Options\n * @param options.format\n * @param options.height - The chain height at which to obtain the balance for\n * (default: top of chain)\n * @param options.hash - The block hash on which to obtain the balance for (default: top of chain)\n */\nexport async function getBalance(\n address: Encoded.AccountAddress | Encoded.ContractAddress | Encoded.OracleAddress,\n {\n format = AE_AMOUNT_FORMATS.AETTOS,\n ...options\n }: { format?: AE_AMOUNT_FORMATS } & Parameters<typeof getAccount>[1],\n): Promise<string> {\n const addr = address.startsWith('ok_')\n ? encode(decode(address), Encoding.AccountAddress)\n : (address as Encoded.AccountAddress | Encoded.ContractAddress);\n\n const { balance } = await getAccount(addr, options).catch((error) => {\n if (!isAccountNotFoundError(error)) throw error;\n return { balance: 0n };\n });\n\n return formatAmount(balance, { targetDenomination: format });\n}\n\n/**\n * Obtain current generation\n * @category chain\n * @param options - Options\n * @param options.onNode - Node to use\n * @returns Current Generation\n */\nexport async function getCurrentGeneration({\n onNode,\n}: {\n onNode: Node;\n}): ReturnType<Node['getCurrentGeneration']> {\n return onNode.getCurrentGeneration();\n}\n\n/**\n * Get generation by hash or height\n * @category chain\n * @param hashOrHeight - Generation hash or height\n * @param options - Options\n * @param options.onNode - Node to use\n * @returns Generation\n */\nexport async function getGeneration(\n hashOrHeight: Encoded.KeyBlockHash | number,\n { onNode }: { onNode: Node },\n): ReturnType<Node['getGenerationByHash']> {\n if (typeof hashOrHeight === 'number') return onNode.getGenerationByHeight(hashOrHeight);\n return onNode.getGenerationByHash(hashOrHeight);\n}\n\n/**\n * Get micro block transactions\n * @category chain\n * @param hash - Micro block hash\n * @param options - Options\n * @param options.onNode - Node to use\n * @returns Transactions\n */\nexport async function getMicroBlockTransactions(\n hash: Encoded.MicroBlockHash,\n { onNode }: { onNode: Node },\n): Promise<SignedTx[]> {\n return (await onNode.getMicroBlockTransactionsByHash(hash)).transactions;\n}\n\n/**\n * Get key block\n * @category chain\n * @param hashOrHeight - Key block hash or height\n * @param options - Options\n * @param options.onNode - Node to use\n * @returns Key Block\n */\nexport async function getKeyBlock(\n hashOrHeight: Encoded.KeyBlockHash | number,\n { onNode }: { onNode: Node },\n): ReturnType<Node['getKeyBlockByHash']> {\n if (typeof hashOrHeight === 'number') return onNode.getKeyBlockByHeight(hashOrHeight);\n return onNode.getKeyBlockByHash(hashOrHeight);\n}\n\n/**\n * Get micro block header\n * @category chain\n * @param hash - Micro block hash\n * @param options - Options\n * @param options.onNode - Node to use\n * @returns Micro block header\n */\nexport async function getMicroBlockHeader(\n hash: Encoded.MicroBlockHash,\n { onNode }: { onNode: Node },\n): ReturnType<Node['getMicroBlockHeaderByHash']> {\n return onNode.getMicroBlockHeaderByHash(hash);\n}\n\ninterface TxDryRunArguments {\n tx: Encoded.Transaction;\n accountAddress: Encoded.AccountAddress;\n top?: number | Encoded.KeyBlockHash | Encoded.MicroBlockHash;\n txEvents?: any;\n resolve: Function;\n reject: Function;\n}\nconst txDryRunRequests: Map<string, TxDryRunArguments[] & { timeout?: NodeJS.Timeout }> = new Map();\n\nasync function txDryRunHandler(key: string, onNode: Node): Promise<void> {\n const rs = txDryRunRequests.get(key);\n txDryRunRequests.delete(key);\n if (rs == null) throw new InternalError(\"Can't get dry-run request\");\n\n let dryRunRes;\n try {\n const top =\n typeof rs[0].top === 'number' ? (await getKeyBlock(rs[0].top, { onNode })).hash : rs[0].top;\n dryRunRes = await onNode.protectedDryRunTxs({\n top,\n txEvents: rs[0].txEvents,\n txs: rs.map((req) => ({ tx: req.tx })),\n accounts: Array.from(new Set(rs.map((req) => req.accountAddress))).map((pubKey) => ({\n pubKey,\n amount: DRY_RUN_ACCOUNT.amount,\n })),\n });\n } catch (error) {\n rs.forEach(({ reject }) => reject(error));\n return;\n }\n\n const { results, txEvents } = dryRunRes;\n results.forEach(({ result, reason, ...resultPayload }, idx) => {\n const { resolve, reject, tx, accountAddress } = rs[idx];\n if (result === 'ok') resolve({ ...resultPayload, txEvents });\n else reject(Object.assign(new DryRunError(reason as string), { tx, accountAddress }));\n });\n}\n\n/**\n * Transaction dry-run\n * @category chain\n * @param tx - transaction to execute\n * @param accountAddress - address that will be used to execute transaction\n * @param options - Options\n * @param options.top - hash of block on which to make dry-run\n * @param options.txEvents - collect and return on-chain tx events that would result from the call\n * @param options.combine - Enables combining of similar requests to a single dry-run call\n * @param options.onNode - Node to use\n */\nexport async function txDryRun(\n tx: Encoded.Transaction,\n accountAddress: Encoded.AccountAddress,\n {\n top,\n txEvents,\n combine,\n onNode,\n }: { top?: TxDryRunArguments['top']; txEvents?: boolean; combine?: boolean; onNode: Node },\n): Promise<{ txEvents?: DryRunResults['txEvents'] } & DryRunResult> {\n const key = combine === true ? [top, txEvents].join() : 'immediate';\n const requests = txDryRunRequests.get(key) ?? [];\n txDryRunRequests.set(key, requests);\n return new Promise((resolve, reject) => {\n requests.push({\n tx,\n accountAddress,\n top,\n txEvents,\n resolve,\n reject,\n });\n if (combine !== true) {\n void txDryRunHandler(key, onNode);\n return;\n }\n requests.timeout ??= setTimeout(() => {\n void txDryRunHandler(key, onNode);\n });\n });\n}\n\n/**\n * Get contract byte code\n * @category contract\n * @param contractId - Contract address\n * @param options - Options\n * @param options.onNode - Node to use\n */\nexport async function getContractByteCode(\n contractId: Encoded.ContractAddress,\n { onNode }: { onNode: Node },\n): ReturnType<Node['getContractCode']> {\n return onNode.getContractCode(contractId);\n}\n\n/**\n * Get contract entry\n * @category contract\n * @param contractId - Contract address\n * @param options - Options\n * @param options.onNode - Node to use\n */\nexport async function getContract(\n contractId: Encoded.ContractAddress,\n { onNode }: { onNode: Node },\n): ReturnType<Node['getContract']> {\n return onNode.getContract(contractId);\n}\n\n/**\n * Get name entry\n * @category AENS\n * @param name - AENS name\n * @param options - Options\n * @param options.onNode - Node to use\n */\nexport async function getName(\n name: AensName,\n { onNode }: { onNode: Node },\n): ReturnType<Node['getNameEntryByName']> {\n return onNode.getNameEntryByName(name);\n}\n\n/**\n * Resolve AENS name and return name hash\n * @category AENS\n * @param nameOrId - AENS name or address\n * @param key - in AENS pointers record\n * @param options - Options\n * @param options.verify - To ensure that name exist and have a corresponding pointer\n * // TODO: avoid that to don't trust to current api gateway\n * @param options.resolveByNode - Enables pointer resolving using node\n * @param options.onNode - Node to use\n * @returns Address or AENS name hash\n */\nexport async function resolveName<Type extends Encoding.AccountAddress | Encoding.ContractAddress>(\n nameOrId: AensName | Encoded.Generic<Type>,\n key: string,\n {\n verify = true,\n resolveByNode = false,\n onNode,\n }: { verify?: boolean; resolveByNode?: boolean; onNode: Node },\n): Promise<Encoded.Generic<Type | Encoding.Name>> {\n if (isNameValid(nameOrId)) {\n if (verify || resolveByNode) {\n const name = await onNode.getNameEntryByName(nameOrId);\n const pointer = name.pointers.find((p) => p.key === key);\n if (pointer == null) throw new AensPointerContextError(nameOrId, key);\n if (resolveByNode) return pointer.id as Encoded.Generic<Type>;\n }\n return produceNameId(nameOrId);\n }\n try {\n decode(nameOrId);\n return nameOrId;\n } catch (error) {\n throw new InvalidAensNameError(`Invalid name or address: ${nameOrId}`);\n }\n}\n","import { ConsensusProtocolVersion, VmVersion, AbiVersion } from '../constants.js';\nimport Node from '../../../Node.js';\n\n/*\n * First abi/vm by default\n * @see {@link https://github.com/aeternity/protocol/blob/71cf111/contracts/contract_vms.md#virtual-machines-on-the-æternity-blockchain}\n */\nexport const ProtocolToVmAbi = {\n [ConsensusProtocolVersion.Ceres]: {\n 'contract-create': {\n vmVersion: [VmVersion.Fate3],\n abiVersion: [AbiVersion.Fate],\n },\n 'contract-call': {\n vmVersion: [],\n abiVersion: [AbiVersion.Fate],\n },\n 'oracle-call': {\n vmVersion: [],\n abiVersion: [AbiVersion.NoAbi, AbiVersion.Fate],\n },\n },\n} as const;\n\nexport interface CtVersion {\n vmVersion: VmVersion;\n abiVersion: AbiVersion;\n}\n\nexport function getProtocolDetails(\n protocolVersion: ConsensusProtocolVersion,\n type: 'contract-create' | 'contract-call' | 'oracle-call',\n): CtVersion {\n const protocol = ProtocolToVmAbi[protocolVersion][type];\n return {\n vmVersion: protocol.vmVersion[0] ?? VmVersion.Fate2,\n abiVersion: protocol.abiVersion[0],\n };\n}\n\nexport default {\n serialize(\n value: CtVersion | undefined,\n params: {},\n {\n consensusProtocolVersion = ConsensusProtocolVersion.Ceres,\n }: { consensusProtocolVersion?: ConsensusProtocolVersion },\n ): Buffer {\n value ??= getProtocolDetails(consensusProtocolVersion, 'contract-create');\n\n return Buffer.from([value.vmVersion, 0, value.abiVersion]);\n },\n\n async prepare(\n value: CtVersion | undefined,\n params: {},\n // TODO: { consensusProtocolVersion: ConsensusProtocolVersion } | { onNode: Node } | {}\n options: { consensusProtocolVersion?: ConsensusProtocolVersion; onNode?: Node },\n ): Promise<CtVersion | undefined> {\n if (value != null) return value;\n if (options.consensusProtocolVersion != null) return undefined;\n if (Object.keys(ConsensusProtocolVersion).length === 2) return undefined;\n if (options.onNode != null) {\n return getProtocolDetails(\n (await options.onNode.getNodeInfo()).consensusProtocolVersion,\n 'contract-create',\n );\n }\n return undefined;\n },\n\n deserialize(buffer: Buffer): CtVersion {\n const [vm, , abi] = buffer;\n return { vmVersion: +vm, abiVersion: +abi };\n },\n};\n","import { Tag, ConsensusProtocolVersion, AbiVersion } from '../constants.js';\nimport { getProtocolDetails } from './ct-version.js';\nimport Node from '../../../Node.js';\n\nexport default {\n _getProtocolDetails(c: ConsensusProtocolVersion, tag: Tag): AbiVersion {\n const kind =\n Tag.ContractCallTx === tag || Tag.GaMetaTx === tag ? 'contract-call' : 'oracle-call';\n return getProtocolDetails(c, kind).abiVersion;\n },\n\n serialize(\n value: AbiVersion | undefined,\n { tag }: { tag: Tag },\n {\n consensusProtocolVersion = ConsensusProtocolVersion.Ceres,\n }: { consensusProtocolVersion?: ConsensusProtocolVersion },\n ): Buffer {\n const result = value ?? this._getProtocolDetails(consensusProtocolVersion, tag);\n\n return Buffer.from([result]);\n },\n\n async prepare(\n value: AbiVersion | undefined,\n { tag }: { tag: Tag },\n // TODO: { consensusProtocolVersion: ConsensusProtocolVersion } | { onNode: Node } | {}\n options: { consensusProtocolVersion?: ConsensusProtocolVersion; onNode?: Node },\n ): Promise<AbiVersion | undefined> {\n if (value != null) return value;\n if (options.consensusProtocolVersion != null) return undefined;\n if (Object.keys(ConsensusProtocolVersion).length === 2) return undefined;\n if (options.onNode != null) {\n return this._getProtocolDetails(\n (await options.onNode.getNodeInfo()).consensusProtocolVersion,\n tag,\n );\n }\n return undefined;\n },\n\n deserialize(buffer: Buffer): AbiVersion {\n return buffer[0];\n },\n};\n","import { ArgumentError, PrefixNotFoundError, TagNotFoundError } from '../../../utils/errors.js';\nimport { toBytes } from '../../../utils/bytes.js';\nimport { decode, encode, Encoded, Encoding } from '../../../utils/encoder.js';\nimport { isItemOfArray } from '../../../utils/other.js';\n\n/**\n * Map of prefix to ID tag constant\n * @see {@link https://github.com/aeternity/protocol/blob/master/serializations.md#the-id-type}\n * @see {@link https://github.com/aeternity/aeserialization/blob/eb68fe331bd476910394966b7f5ede7a74d37e35/src/aeser_id.erl#L97-L102}\n * @see {@link https://github.com/aeternity/aeserialization/blob/eb68fe331bd476910394966b7f5ede7a74d37e35/src/aeser_api_encoder.erl#L163-L168}\n */\nexport const idTagToEncoding = [\n Encoding.AccountAddress,\n Encoding.Name,\n Encoding.Commitment,\n Encoding.OracleAddress,\n Encoding.ContractAddress,\n Encoding.Channel,\n] as const;\n\nexport type AddressEncodings = (typeof idTagToEncoding)[number];\n\nexport default function genAddressField<Encoding extends AddressEncodings>(\n ...encodings: Encoding[]\n): {\n serialize: (value: Encoded.Generic<Encoding>) => Buffer;\n deserialize: (value: Buffer) => Encoded.Generic<Encoding>;\n} {\n return {\n /**\n * Utility function to create and _id type\n * @param hashId - Encoded hash\n * @returns Buffer Buffer with ID tag and decoded HASh\n */\n serialize(hashId) {\n const enc = hashId.slice(0, 2);\n if (!isItemOfArray(enc, idTagToEncoding)) throw new TagNotFoundError(enc);\n if (!isItemOfArray(enc, encodings)) {\n throw new ArgumentError('Address encoding', encodings.join(', '), enc);\n }\n const idTag = idTagToEncoding.indexOf(enc) + 1;\n return Buffer.from([...toBytes(idTag), ...decode(hashId)]);\n },\n\n /**\n * Utility function to read and _id type\n * @param buf - Data\n * @returns Encoded hash string with prefix\n */\n deserialize(buf) {\n const idTag = Buffer.from(buf).readUIntBE(0, 1);\n const enc = idTagToEncoding[idTag - 1];\n if (enc == null) throw new PrefixNotFoundError(idTag);\n if (!isItemOfArray(enc, encodings)) {\n throw new ArgumentError('Address encoding', encodings.join(', '), enc);\n }\n return encode(buf.subarray(1), enc) as Encoded.Generic<Encoding>;\n },\n };\n}\n","export default function genArrayField<Input, Output, Binary>(itemHandler: {\n serialize: (value: Input, params: unknown) => Binary;\n deserialize: (value: Binary, params: unknown) => Output;\n}): {\n serialize: (value: readonly Input[], params: unknown) => Binary[];\n deserialize: (value: Binary[], params: unknown) => Output[];\n} {\n return {\n serialize(items, params) {\n return items.map((item) => itemHandler.serialize(item, params));\n },\n\n deserialize(buffers, params) {\n return buffers.map((buffer) => itemHandler.deserialize(buffer, params));\n },\n };\n}\n","import { readInt } from '../helpers.js';\nimport { Int } from '../constants.js';\nimport { ArgumentError } from '../../../utils/errors.js';\nimport { toBytes } from '../../../utils/bytes.js';\n\nexport default {\n serialize(value: Int): Buffer {\n if (Number(value) < 0) throw new ArgumentError('value', 'greater or equal to 0', value);\n return toBytes(value, true);\n },\n\n deserialize(value: Buffer): string {\n return readInt(value);\n },\n};\n","import uInt from './u-int.js';\nimport { Int } from '../constants.js';\nimport { AE_AMOUNT_FORMATS, formatAmount } from '../../../utils/amount-formatter.js';\n\nexport default {\n ...uInt,\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n serializeAettos(value: string | undefined, params: {}, options: {}): string {\n return value ?? '0';\n },\n\n serialize(\n value: Int | undefined,\n params: {},\n { denomination = AE_AMOUNT_FORMATS.AETTOS, ...options }: { denomination?: AE_AMOUNT_FORMATS },\n ): Buffer {\n return uInt.serialize(\n this.serializeAettos(\n value != null ? formatAmount(value, { denomination }) : value,\n params,\n options,\n ),\n );\n },\n};\n","import { decode, encode, Encoded, Encoding } from '../../../utils/encoder.js';\nimport { ArgumentError } from '../../../utils/errors.js';\n\nexport default function genEncodedField<E extends Encoding, Optional extends boolean = false>(\n encoding: E,\n optional?: Optional,\n): {\n serialize: Optional extends true\n ? (value?: Encoded.Generic<E>) => Buffer\n : (value: Encoded.Generic<E>) => Buffer;\n deserialize: (value: Buffer) => Encoded.Generic<E>;\n} {\n return {\n serialize(encodedData?: Encoded.Generic<E>) {\n if (encodedData == null) {\n if (optional === true) return Buffer.from([]);\n throw new ArgumentError('Encoded data', 'provided', encodedData);\n }\n return decode(encodedData);\n },\n\n deserialize(buffer) {\n return encode(buffer, encoding);\n },\n };\n}\n","import { decode, encode, Encoded, Encoding } from '../../../utils/encoder.js';\nimport { EntryTag } from '../entry/constants.js';\nimport type { unpackEntry as unpackEntryType, packEntry as packEntryType } from '../entry/index.js';\n\nexport default function genEntryField<T extends EntryTag = EntryTag>(\n tag?: T,\n): {\n serialize: (\n // TODO: replace with `TxParams & { tag: T }`,\n // but fix TS2502 value is referenced directly or indirectly in its own type annotation\n value: any,\n options: { packEntry: typeof packEntryType },\n ) => Buffer;\n deserialize: (\n value: Buffer,\n options: { unpackEntry: typeof unpackEntryType },\n // TODO: replace with `TxUnpacked & { tag: T }`,\n // TS2577 Return type annotation circularly references itself\n ) => any;\n} {\n return {\n serialize(txParams, { packEntry }) {\n if (ArrayBuffer.isView(txParams)) return Buffer.from(txParams as any);\n if (typeof txParams === 'string' && txParams.startsWith('tx_')) {\n return decode(txParams as Encoded.Transaction);\n }\n return decode(packEntry({ ...txParams, ...(tag != null && { tag }) }));\n },\n\n deserialize(buf, { unpackEntry }) {\n return unpackEntry(encode(buf, Encoding.Bytearray), tag);\n },\n };\n}\n","import { ArgumentError } from '../../../utils/errors.js';\nimport { isItemOfArray } from '../../../utils/other.js';\n\nexport default function genEnumerationField<Enum extends { [key: string]: number | string }>(\n enm: Enum,\n): {\n serialize: (value: Enum[keyof Enum]) => Buffer;\n deserialize: (value: Buffer) => Enum[keyof Enum];\n} {\n const values = Object.values(enm).filter((v) => typeof v === 'number');\n return {\n serialize(value) {\n if (typeof value !== 'number') throw new ArgumentError('value', 'to be a number', value);\n if (value > 0xff) throw new ArgumentError('value', 'to be less than 256', value);\n if (!isItemOfArray(value, values)) {\n throw new ArgumentError('value', 'to be a value of Enum', value);\n }\n return Buffer.from([value]);\n },\n\n deserialize(buffer) {\n if (buffer.length !== 1) {\n throw new ArgumentError('buffer', 'to have single element', buffer.length);\n }\n const value = buffer[0];\n if (!isItemOfArray(value, values)) {\n throw new ArgumentError('value', 'to be a value of Enum', value);\n }\n return value as Enum[keyof Enum];\n },\n };\n}\n","import { BigNumber } from 'bignumber.js';\nimport coinAmount from './coin-amount.js';\nimport { ArgumentError, IllegalArgumentError } from '../../../utils/errors.js';\nimport { Int, MIN_GAS_PRICE } from '../constants.js';\nimport Node from '../../../Node.js';\nimport { AE_AMOUNT_FORMATS, formatAmount } from '../../../utils/amount-formatter.js';\n\nconst gasPriceCache: WeakMap<Node, { time: number; gasPrice: bigint }> = new WeakMap();\n\nexport async function getCachedIncreasedGasPrice(node: Node): Promise<bigint> {\n const cache = gasPriceCache.get(node);\n if (cache != null && cache.time > Date.now() - 20 * 1000) {\n return cache.gasPrice;\n }\n\n const { minGasPrice, utilization } = (await node.getRecentGasPrices())[0];\n let gasPrice =\n utilization < 70\n ? 0n\n : BigInt(new BigNumber(minGasPrice.toString()).times(1.01).integerValue().toFixed());\n\n const maxSafeGasPrice = BigInt(MIN_GAS_PRICE) * 100000n; // max microblock fee is 600ae or 35usd\n if (gasPrice > maxSafeGasPrice) {\n console.warn(\n `Estimated gas price ${gasPrice} exceeds the maximum safe value for unknown reason.` +\n ` It will be limited to ${maxSafeGasPrice}.` +\n ' To overcome this restriction provide `gasPrice`/`fee` in options.',\n );\n gasPrice = maxSafeGasPrice;\n }\n\n gasPriceCache.set(node, { gasPrice, time: Date.now() });\n return gasPrice;\n}\n\n// TODO: use withFormatting after using a single type for coins representation\nexport default {\n ...coinAmount,\n\n async prepare(\n value: Int | undefined,\n params: {},\n {\n onNode,\n denomination,\n }: {\n onNode?: Node;\n denomination?: AE_AMOUNT_FORMATS;\n },\n ): Promise<Int | undefined> {\n if (value != null) return value;\n if (onNode == null) {\n throw new ArgumentError('onNode', 'provided (or provide `gasPrice` instead)', onNode);\n }\n const gasPrice = await getCachedIncreasedGasPrice(onNode);\n if (gasPrice === 0n) return undefined;\n return formatAmount(gasPrice, { targetDenomination: denomination });\n },\n\n serializeAettos(value: string | undefined = MIN_GAS_PRICE.toString()): string {\n if (+value < MIN_GAS_PRICE) {\n throw new IllegalArgumentError(\n `Gas price ${value.toString()} must be bigger than ${MIN_GAS_PRICE}`,\n );\n }\n return value;\n },\n};\n","import { BigNumber } from 'bignumber.js';\nimport { ArgumentError, IllegalArgumentError } from '../../../utils/errors.js';\nimport { Int, MIN_GAS_PRICE, Tag } from '../constants.js';\nimport uInt from './u-int.js';\nimport coinAmount from './coin-amount.js';\nimport { getCachedIncreasedGasPrice } from './gas-price.js';\nimport { isKeyOfObject } from '../../../utils/other.js';\nimport { decode, Encoded } from '../../../utils/encoder.js';\nimport type { unpackTx as unpackTxType, buildTx as buildTxType } from '../index.js';\nimport Node from '../../../Node.js';\n\nconst BASE_GAS = 15000;\nconst GAS_PER_BYTE = 20;\nconst KEY_BLOCK_INTERVAL = 3;\n\n/**\n * Calculate the base gas\n * @see {@link https://github.com/aeternity/protocol/blob/master/consensus/README.md#gas}\n * @param txType - The transaction type\n * @returns The base gas\n * @example\n * ```js\n * TX_BASE_GAS(Tag.ChannelForceProgressTx) => 30 * 15000\n * ```\n */\nconst TX_BASE_GAS = (txType: Tag): number => {\n const feeFactors = {\n [Tag.ChannelForceProgressTx]: 30,\n [Tag.ChannelOffChainTx]: 0,\n [Tag.ContractCreateTx]: 5,\n [Tag.ContractCallTx]: 12,\n [Tag.GaAttachTx]: 5,\n [Tag.GaMetaTx]: 5,\n [Tag.PayingForTx]: 1 / 5,\n } as const;\n const factor = feeFactors[txType as keyof typeof feeFactors] ?? 1;\n return factor * BASE_GAS;\n};\n\n/**\n * Calculate gas for other types of transactions\n * @see {@link https://github.com/aeternity/protocol/blob/master/consensus/README.md#gas}\n * @param txType - The transaction type\n * @param txSize - The transaction size\n * @returns parameters - The transaction parameters\n * @returns parameters.relativeTtl - The relative ttl\n * @returns parameters.innerTxSize - The size of the inner transaction\n * @returns The other gas\n * @example\n * ```js\n * TX_OTHER_GAS(Tag.OracleResponseTx, 10, { relativeTtl: 12, innerTxSize: 0 })\n * => 10 * 20 + Math.ceil(32000 * 12 / Math.floor(60 * 24 * 365 / 3))\n * ```\n */\nconst TX_OTHER_GAS = (\n txType: Tag,\n txSize: number,\n { relativeTtl, innerTxSize }: { relativeTtl: number; innerTxSize: number },\n): number => {\n switch (txType) {\n case Tag.OracleRegisterTx:\n case Tag.OracleExtendTx:\n case Tag.OracleQueryTx:\n case Tag.OracleResponseTx:\n return (\n txSize * GAS_PER_BYTE +\n Math.ceil((32000 * relativeTtl) / Math.floor((60 * 24 * 365) / KEY_BLOCK_INTERVAL))\n );\n case Tag.GaMetaTx:\n case Tag.PayingForTx:\n return (txSize - innerTxSize) * GAS_PER_BYTE;\n default:\n return txSize * GAS_PER_BYTE;\n }\n};\n\nfunction getOracleRelativeTtl(params: any): number {\n const ttlKeys = {\n [Tag.OracleRegisterTx]: 'oracleTtlValue',\n [Tag.OracleExtendTx]: 'oracleTtlValue',\n [Tag.OracleQueryTx]: 'queryTtlValue',\n [Tag.OracleResponseTx]: 'responseTtlValue',\n } as const;\n\n const { tag } = params;\n if (!isKeyOfObject(tag, ttlKeys)) return 1;\n return params[ttlKeys[tag]];\n}\n\n/**\n * Calculate gas based on tx type and params\n */\nexport function buildGas(\n builtTx: Encoded.Transaction,\n unpackTx: typeof unpackTxType,\n buildTx: typeof buildTxType,\n): number {\n const { length } = decode(builtTx);\n const txObject = unpackTx(builtTx);\n\n let innerTxSize = 0;\n if (txObject.tag === Tag.GaMetaTx || txObject.tag === Tag.PayingForTx) {\n innerTxSize = decode(buildTx(txObject.tx.encodedTx)).length;\n }\n\n return (\n TX_BASE_GAS(txObject.tag) +\n TX_OTHER_GAS(txObject.tag, length, {\n relativeTtl: getOracleRelativeTtl(txObject),\n innerTxSize,\n })\n );\n}\n\n/**\n * Calculate min fee\n * @category transaction builder\n * @param rebuildTx - Callback to get built transaction with specific fee\n */\nfunction calculateMinFee(\n rebuildTx: (value: BigNumber) => Encoded.Transaction,\n unpackTx: typeof unpackTxType,\n buildTx: typeof buildTxType,\n): BigNumber {\n let fee = new BigNumber(0);\n let previousFee;\n do {\n previousFee = fee;\n fee = new BigNumber(MIN_GAS_PRICE).times(buildGas(rebuildTx(fee), unpackTx, buildTx));\n } while (!fee.eq(previousFee));\n return fee;\n}\n\n// TODO: Get rid of this workaround. Transaction builder can't accept/return gas price instead of\n// fee because it may get a decimal gas price. So, it should accept the optional `gasPrice` even\n// if it is not a contract-related transaction. And use this `gasPrice` to calculate `fee`.\nconst gasPricePrefix = '_gas-price:';\n\nexport interface SerializeAettosParams {\n rebuildTx: (params: any) => Encoded.Transaction;\n unpackTx: typeof unpackTxType;\n buildTx: typeof buildTxType;\n _computingMinFee?: BigNumber;\n}\n\nexport default {\n ...coinAmount,\n\n async prepare(\n value: Int | undefined,\n params: {},\n { onNode }: { onNode?: Node },\n ): Promise<Int | undefined> {\n if (value != null) return value;\n if (onNode == null) {\n throw new ArgumentError('onNode', 'provided (or provide `fee` instead)', onNode);\n }\n const gasPrice = await getCachedIncreasedGasPrice(onNode);\n if (gasPrice === 0n) return undefined;\n return gasPricePrefix + gasPrice;\n },\n\n serializeAettos(\n _value: string | undefined,\n { rebuildTx, unpackTx, buildTx, _computingMinFee }: SerializeAettosParams,\n { _canIncreaseFee }: { _canIncreaseFee?: boolean },\n ): string {\n if (_computingMinFee != null) return _computingMinFee.toFixed();\n const minFee = calculateMinFee(\n (fee) => rebuildTx({ _computingMinFee: fee }),\n unpackTx,\n buildTx,\n );\n const value =\n _value?.startsWith(gasPricePrefix) === true\n ? minFee.dividedBy(MIN_GAS_PRICE).times(_value.replace(gasPricePrefix, ''))\n : new BigNumber(_value ?? minFee);\n if (minFee.gt(value)) {\n if (_canIncreaseFee === true) return minFee.toFixed();\n throw new IllegalArgumentError(`Fee ${value.toString()} must be bigger than ${minFee}`);\n }\n return value.toFixed();\n },\n\n serialize(\n value: Parameters<typeof coinAmount.serialize>[0],\n params: Parameters<typeof coinAmount.serialize>[1] & SerializeAettosParams,\n options: { _canIncreaseFee?: boolean } & Parameters<typeof coinAmount.serialize>[2],\n ): Buffer {\n if (typeof value === 'string' && value.startsWith(gasPricePrefix)) {\n return uInt.serialize(this.serializeAettos(value, params, options));\n }\n return coinAmount.serialize.call(this, value, params, options);\n },\n};\n","import uInt from './u-int.js';\n\nexport default {\n serialize(value: number): Buffer {\n return uInt.serialize(value);\n },\n\n deserialize(value: Buffer): number {\n return +uInt.deserialize(value);\n },\n};\n","import { IllegalArgumentError } from '../../../utils/errors.js';\nimport { Tag, MAX_AUTH_FUN_GAS } from '../constants.js';\nimport shortUInt from './short-u-int.js';\nimport { buildGas } from './fee.js';\nimport type { unpackTx as unpackTxType, buildTx as buildTxType } from '../index.js';\n\nfunction calculateGasLimitMax(\n gasMax: number,\n rebuildTx: (value: number) => any,\n unpackTx: typeof unpackTxType,\n buildTx: typeof buildTxType,\n): number {\n return gasMax - +buildGas(rebuildTx(gasMax), unpackTx, buildTx);\n}\n\nexport default {\n ...shortUInt,\n\n serialize(\n _value: number | undefined,\n {\n tag,\n rebuildTx,\n unpackTx,\n buildTx,\n _computingGasLimit,\n }: {\n tag: Tag;\n rebuildTx: (params: any) => any;\n unpackTx: typeof unpackTxType;\n buildTx: typeof buildTxType;\n _computingGasLimit?: number;\n },\n { gasMax = 6e6 }: { gasMax?: number },\n ): Buffer {\n if (_computingGasLimit != null) return shortUInt.serialize(_computingGasLimit);\n\n const gasLimitMax =\n tag === Tag.GaMetaTx\n ? MAX_AUTH_FUN_GAS\n : calculateGasLimitMax(\n gasMax,\n (gasLimit) => rebuildTx({ _computingGasLimit: gasLimit, _canIncreaseFee: true }),\n unpackTx,\n buildTx,\n );\n const value = _value ?? gasLimitMax;\n if (value > gasLimitMax) {\n throw new IllegalArgumentError(`Gas limit ${value} must be less or equal to ${gasLimitMax}`);\n }\n return shortUInt.serialize(value);\n },\n};\n","export default {\n serialize(value: string): Buffer {\n return Buffer.from(value);\n },\n\n deserialize(value: Buffer): string {\n return value.toString();\n },\n};\n","import field from './field.js';\nimport { AensName } from '../constants.js';\n\nexport default {\n /**\n * @param value - AENS name\n */\n serialize(value: AensName): Buffer {\n return field.serialize(value);\n },\n\n /**\n * @param value - AENS name\n */\n deserialize(value: Buffer): AensName {\n return field.deserialize(value) as AensName;\n },\n};\n","import { BigNumber } from 'bignumber.js';\nimport { getMinimumNameFee } from '../helpers.js';\nimport { InsufficientNameFeeError } from '../../../utils/errors.js';\nimport coinAmount from './coin-amount.js';\nimport { AensName, Int } from '../constants.js';\n\nexport default {\n ...coinAmount,\n\n serializeAettos(_value: string | undefined, txFields: { name: AensName }): string {\n const minNameFee = getMinimumNameFee(txFields.name);\n const value = new BigNumber(_value ?? minNameFee);\n if (minNameFee.gt(value)) throw new InsufficientNameFeeError(value, minNameFee);\n return value.toFixed();\n },\n\n /**\n * @param value - AENS name fee\n * @param txFields - Transaction fields\n * @param txFields.name - AENS Name in transaction\n */\n serialize(\n value: Int | undefined,\n txFields: { name: AensName } & Parameters<(typeof coinAmount)['serialize']>[1],\n parameters: Parameters<(typeof coinAmount)['serialize']>[2],\n ): Buffer {\n return coinAmount.serialize.call(this, value, txFields, parameters);\n },\n};\n","import { AensName } from '../constants.js';\nimport { produceNameId, isNameValid } from '../helpers.js';\nimport address from './address.js';\nimport { Encoded, Encoding } from '../../../utils/encoder.js';\n\nconst addressName = address(Encoding.Name);\n\nexport default {\n ...addressName,\n\n /**\n * @param value - AENS name ID\n */\n serialize(value: AensName | Encoded.Name): Buffer {\n return addressName.serialize(isNameValid(value) ? produceNameId(value) : value);\n },\n};\n","import { isAccountNotFoundError } from '../../../utils/other.js';\nimport shortUInt from './short-u-int.js';\nimport Node from '../../../Node.js';\nimport { ArgumentError } from '../../../utils/errors.js';\nimport { NextNonceStrategy } from '../../../apis/node/index.js';\nimport { Tag } from '../constants.js';\n\nexport default function genNonceField<SenderKey extends string>(\n senderKey: SenderKey,\n): {\n serialize: (value: number, params: { tag: Tag }) => Buffer;\n // TODO: (value: number) => Promise<number> | (value: undefined, ...) => Promise<number>\n prepare: (\n value: number | undefined,\n params: {},\n // TODO: replace `string` with AddressEncodings\n options: { [key in SenderKey]: string } & {\n strategy?: NextNonceStrategy;\n onNode?: Node;\n _isInternalBuild?: boolean;\n },\n ) => Promise<number>;\n deserialize: (value: Buffer) => number;\n senderKey: string;\n} {\n return {\n ...shortUInt,\n\n serialize(value: number, { tag }): Buffer {\n if (Tag.GaAttachTx === tag && value !== 1) {\n throw new ArgumentError('nonce', 'equal 1 if GaAttachTx', value);\n }\n return shortUInt.serialize(value);\n },\n\n async prepare(value, params, options) {\n if (value != null) return value;\n // TODO: uncomment the below line\n // if (options._isInternalBuild === true) return 0;\n const { onNode, strategy } = options;\n const senderId = options[senderKey];\n const requirement = 'provided (or provide `nonce` instead)';\n if (onNode == null) throw new ArgumentError('onNode', requirement, onNode);\n if (senderId == null) throw new ArgumentError('senderId', requirement, senderId);\n return (\n await onNode\n .getAccountNextNonce(senderId.replace(/^ok_/, 'ak_'), { strategy })\n .catch((error) => {\n if (!isAccountNotFoundError(error)) throw error;\n return { nextNonce: 1 };\n })\n ).nextNonce;\n },\n\n senderKey,\n };\n}\n","import { NamePointer as NamePointerString } from '../../../apis/node/index.js';\nimport { toBytes } from '../../../utils/bytes.js';\nimport { Encoded, Encoding, decode, encode } from '../../../utils/encoder.js';\nimport { isAddressValid } from '../../../utils/crypto.js';\nimport { IllegalArgumentError, DecodeError, ArgumentError } from '../../../utils/errors.js';\nimport address, { AddressEncodings, idTagToEncoding } from './address.js';\n\nconst ID_TAG = Buffer.from([1]);\nconst DATA_TAG = Buffer.from([2]);\nconst DATA_LENGTH_MAX = 1024;\nconst addressAny = address(...idTagToEncoding);\n\n// TODO: remove after fixing node types\ntype NamePointer = NamePointerString & {\n id: Encoded.Generic<AddressEncodings>;\n};\ntype NamePointerRaw = NamePointerString & {\n id: Encoded.Generic<AddressEncodings | Encoding.Bytearray>;\n};\n\nexport default <AllowRaw extends boolean>(\n allowRaw: AllowRaw,\n): {\n serialize: (pointers: Array<AllowRaw extends true ? NamePointerRaw : NamePointer>) => Buffer[][];\n deserialize: (\n pointers: Array<[key: Buffer, id: Buffer]>,\n ) => Array<AllowRaw extends true ? NamePointerRaw : NamePointer>;\n} => ({\n /**\n * Helper function to build pointers for name update TX\n * @param pointers - Array of pointers\n * `([ { key: 'account_pubkey', id: 'ak_32klj5j23k23j5423l434l2j3423'} ])`\n * @returns Serialized pointers array\n */\n serialize(pointers) {\n if (pointers.length > 32) {\n throw new IllegalArgumentError(\n `Expected 32 pointers or less, got ${pointers.length} instead`,\n );\n }\n return pointers.map(({ key, id }) => {\n let payload;\n if (isAddressValid(id, ...idTagToEncoding)) {\n payload = [...(allowRaw ? [ID_TAG] : []), addressAny.serialize(id)];\n }\n if (isAddressValid(id, Encoding.Bytearray)) {\n const data = decode(id);\n if (data.length > DATA_LENGTH_MAX) {\n throw new ArgumentError(\n 'Raw pointer',\n `shorter than ${DATA_LENGTH_MAX + 1} bytes`,\n `${data.length} bytes`,\n );\n }\n payload = [DATA_TAG, data];\n }\n if (payload == null) throw new DecodeError(`Unknown AENS pointer value: ${id}`);\n return [toBytes(key), Buffer.concat(payload)];\n });\n },\n\n /**\n * Helper function to read pointers from name update TX\n * @param pointers - Array of pointers\n * @returns Deserialize pointer array\n */\n deserialize(pointers) {\n return pointers.map(([bKey, bId]) => {\n if (!allowRaw) return { key: bKey.toString(), id: addressAny.deserialize(bId) };\n const tag = bId.subarray(0, 1);\n const payload = bId.subarray(1);\n let id;\n if (tag.equals(ID_TAG)) id = addressAny.deserialize(payload);\n // TS can't figure out the real type depending on allowRaw\n if (tag.equals(DATA_TAG)) id = encode(payload, Encoding.Bytearray) as Encoded.AccountAddress;\n if (id == null) throw new DecodeError(`Unknown AENS pointer tag: ${tag}`);\n return { key: bKey.toString(), id };\n });\n },\n});\n","import coinAmount from './coin-amount.js';\nimport { Int } from '../constants.js';\nimport Node from '../../../Node.js';\nimport { Encoded } from '../../../utils/encoder.js';\nimport { ArgumentError } from '../../../utils/errors.js';\n\n/**\n * Oracle query fee\n */\nexport default {\n ...coinAmount,\n\n async prepare(\n value: Int | undefined,\n params: {},\n options: { oracleId?: Encoded.OracleAddress; onNode?: Node },\n ) {\n if (value != null) return value;\n const { onNode, oracleId } = options;\n const requirement = 'provided (or provide `queryFee` instead)';\n if (onNode == null) throw new ArgumentError('onNode', requirement, onNode);\n if (oracleId == null) throw new ArgumentError('oracleId', requirement, oracleId);\n return (await onNode.getOracleByPubkey(oracleId)).queryFee.toString();\n },\n};\n","export default {\n serialize(buffer: Uint8Array): Buffer {\n return Buffer.from(buffer);\n },\n\n deserialize(buffer: Buffer): Buffer {\n return buffer;\n },\n};\n","import { ArgumentError } from '../../../utils/errors.js';\nimport shortUInt from './short-u-int.js';\n\nexport default function genShortUIntConstField<\n Value extends number,\n Optional extends boolean = false,\n>(\n constValue: Value,\n optional?: Optional,\n): {\n serialize: Optional extends true ? (value?: Value) => Buffer : (value: Value) => Buffer;\n deserialize: (value: Buffer) => Value;\n constValue: Value;\n constValueOptional: boolean;\n} {\n return {\n serialize(value?: Value) {\n if ((optional !== true || value != null) && value !== constValue) {\n throw new ArgumentError('ShortUIntConst', constValue, value);\n }\n return shortUInt.serialize(constValue);\n },\n\n deserialize(buf) {\n const value = shortUInt.deserialize(buf);\n if (value !== constValue) throw new ArgumentError('ShortUIntConst', constValue, value);\n return constValue;\n },\n\n constValue,\n\n constValueOptional: optional === true,\n };\n}\n","import { toBytes } from '../../../utils/bytes.js';\n\nexport default {\n serialize(string: string): Buffer {\n return toBytes(string);\n },\n\n deserialize(buffer: Buffer): string {\n return buffer.toString();\n },\n};\n","import { decode, encode, Encoded, Encoding } from '../../../utils/encoder.js';\nimport { Tag } from '../constants.js';\nimport type { unpackTx as unpackTxType, buildTx as buildTxType } from '../index.js';\n\nexport default function genTransactionField<T extends Tag = Tag>(\n tag?: T,\n): {\n serialize: (\n // TODO: replace with `TxParams & { tag: T }`,\n // but fix TS2502 value is referenced directly or indirectly in its own type annotation\n value: any,\n options: { buildTx: typeof buildTxType },\n ) => Buffer;\n deserialize: (\n value: Buffer,\n options: { unpackTx: typeof unpackTxType },\n // TODO: replace with `TxUnpacked & { tag: T }`,\n // TS2577 Return type annotation circularly references itself\n ) => any;\n} {\n return {\n serialize(txParams, { buildTx }) {\n if (ArrayBuffer.isView(txParams)) return Buffer.from(txParams as any);\n if (typeof txParams === 'string' && txParams.startsWith('tx_')) {\n return decode(txParams as Encoded.Transaction);\n }\n return decode(buildTx({ ...txParams, ...(tag != null && { tag }) }));\n },\n\n deserialize(buf, { unpackTx }) {\n return unpackTx(encode(buf, Encoding.Transaction), tag);\n },\n };\n}\n","import shortUInt from './short-u-int.js';\nimport Node from '../../../Node.js';\nimport { ArgumentError } from '../../../utils/errors.js';\nimport { _getPollInterval, getHeight } from '../../../chain.js';\n\n/**\n * Time to leave\n */\nexport default {\n ...shortUInt,\n\n serialize(value: number | undefined): Buffer {\n return shortUInt.serialize(value ?? 0);\n },\n\n async prepare(\n value: number | undefined,\n params: {},\n // TODO: { absoluteTtl: true } | { absoluteTtl: false, onNode: Node }\n {\n onNode,\n absoluteTtl,\n _isInternalBuild,\n ...options\n }: {\n onNode?: Node;\n absoluteTtl?: boolean;\n _isInternalBuild?: boolean;\n } & Omit<Parameters<typeof _getPollInterval>[1], 'onNode'>,\n ) {\n if (absoluteTtl !== true && value !== 0 && (value != null || _isInternalBuild === true)) {\n if (onNode == null) throw new ArgumentError('onNode', 'provided', onNode);\n value = (value ?? 3) + (await getHeight({ ...options, onNode, cached: true }));\n }\n return value;\n },\n};\n","export default function withDefault<Input, Output, Binary>(\n defaultValue: Input,\n field: {\n serialize: (value: Input, params: unknown) => Binary;\n deserialize: (value: Binary, params: unknown) => Output;\n },\n): {\n serialize: (value: Input | undefined, params: unknown) => Binary;\n deserialize: (value: Binary, params: unknown) => Output;\n} {\n return {\n ...field,\n\n serialize(value, params) {\n return field.serialize(value ?? defaultValue, params);\n },\n };\n}\n","export default function withFormatting<Input, Output, Binary, Params, Options>(\n format: (v: Input | undefined) => Input,\n field: {\n serialize: (value: Input, params: Params, options: Options) => Binary;\n deserialize: (value: Binary) => Output;\n },\n): {\n serialize: (value: Input | undefined, params: Params, options: Options) => Binary;\n deserialize: (value: Binary) => Output;\n} {\n return {\n ...field,\n\n serialize(value, params, options) {\n return field.serialize(format(value), params, options);\n },\n };\n}\n","export enum CallReturnType {\n Ok = 0,\n Error = 1,\n Revert = 2,\n}\n\n/**\n * @category entry building\n */\nexport enum EntryTag {\n Account = 10,\n Oracle = 20,\n // OracleQuery = 21,\n Name = 30,\n // NameCommitment = 31,\n // NameAuction = 37,\n Contract = 40,\n ContractCall = 41,\n ChannelOffChainUpdateTransfer = 570,\n ChannelOffChainUpdateDeposit = 571,\n ChannelOffChainUpdateWithdraw = 572,\n ChannelOffChainUpdateCreateContract = 573,\n ChannelOffChainUpdateCallContract = 574,\n // ChannelOffChainUpdateMeta = 576,\n Channel = 58,\n TreesPoi = 60,\n // TreesDb = 61,\n StateTrees = 62,\n Mtree = 63,\n MtreeValue = 64,\n ContractsMtree = 621,\n CallsMtree = 622,\n ChannelsMtree = 623,\n NameserviceMtree = 624,\n OraclesMtree = 625,\n AccountsMtree = 626,\n // CompilerSophia = 70,\n GaMetaTxAuthData = 810,\n}\n","/**\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.js';\nimport SchemaTypes from './SchemaTypes.js';\nimport abiVersion from './field-types/abi-version.js';\nimport address, { idTagToEncoding } from './field-types/address.js';\nimport array from './field-types/array.js';\nimport coinAmount from './field-types/coin-amount.js';\nimport ctVersion from './field-types/ct-version.js';\nimport encoded from './field-types/encoded.js';\nimport entry from './field-types/entry.js';\nimport enumeration from './field-types/enumeration.js';\nimport fee from './field-types/fee.js';\nimport gasLimit from './field-types/gas-limit.js';\nimport gasPrice from './field-types/gas-price.js';\nimport name from './field-types/name.js';\nimport nameFee from './field-types/name-fee.js';\nimport nameId from './field-types/name-id.js';\nimport nonce from './field-types/nonce.js';\nimport pointers from './field-types/pointers.js';\nimport queryFee from './field-types/query-fee.js';\nimport raw from './field-types/raw.js';\nimport shortUInt from './field-types/short-u-int.js';\nimport shortUIntConst from './field-types/short-u-int-const.js';\nimport string from './field-types/string.js';\nimport transaction from './field-types/transaction.js';\nimport ttl from './field-types/ttl.js';\nimport uInt from './field-types/u-int.js';\nimport withDefault from './field-types/with-default.js';\nimport withFormatting from './field-types/with-formatting.js';\nimport { Encoded, Encoding } from '../../utils/encoder.js';\nimport { ArgumentError } from '../../utils/errors.js';\nimport { EntryTag } from './entry/constants.js';\nimport { EntParams, EntUnpacked } from './entry/schema.generated.js';\n\nexport enum ORACLE_TTL_TYPES {\n delta = 0,\n block = 1,\n}\n\n// TODO: figure out how to omit overriding types of recursive fields\ninterface TransactionAny {\n serialize: (value: TxParams | Uint8Array | Encoded.Transaction) => Buffer;\n deserialize: (value: Buffer) => TxUnpacked;\n recursiveType: true;\n}\n\nconst transactionAny = transaction() as unknown as TransactionAny;\n\ninterface TransactionSignedTx {\n serialize: (\n value: (TxParams & { tag: Tag.SignedTx }) | Uint8Array | Encoded.Transaction,\n ) => Buffer;\n deserialize: (value: Buffer) => TxUnpacked & { tag: Tag.SignedTx };\n recursiveType: true;\n}\n\nconst transactionSignedTx = transaction(Tag.SignedTx) as unknown as TransactionSignedTx;\n\ninterface EntryTreesPoi {\n serialize: (\n value: (EntParams & { tag: EntryTag.TreesPoi }) | Uint8Array | Encoded.Transaction,\n ) => Buffer;\n deserialize: (value: Buffer) => EntUnpacked & { tag: EntryTag.TreesPoi };\n recursiveType: true;\n}\n\nconst entryTreesPoi = entry(EntryTag.TreesPoi) as unknown as EntryTreesPoi;\n\nconst clientTtl = withDefault(60 * 60, shortUInt);\n// https://github.com/aeternity/protocol/blob/fd17982/AENS.md#update\n/**\n * Name ttl represented in number of blocks (Max value is 50000 blocks)\n */\nconst nameTtl = withFormatting((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}, shortUInt);\n\n/**\n * @see {@link https://github.com/aeternity/protocol/blob/c007deeac4a01e401238412801ac7084ac72d60e/serializations.md#accounts-version-1-basic-accounts}\n */\nexport const txSchema = [\n {\n tag: shortUIntConst(Tag.SignedTx),\n version: shortUIntConst(1, true),\n signatures: array(raw), // TODO: use sg_ (Encoding.Signature) instead\n encodedTx: transactionAny,\n },\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 {\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 {\n tag: shortUIntConst(Tag.NameClaimTx),\n version: shortUIntConst(2, true),\n accountId: address(Encoding.AccountAddress),\n nonce: nonce('accountId'),\n name,\n nameSalt: withDefault(0, uInt),\n nameFee,\n fee,\n ttl,\n },\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: pointers(false),\n clientTtl,\n fee,\n ttl,\n },\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: pointers(true),\n clientTtl,\n fee,\n ttl,\n },\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 {\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 {\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((value = 0) => {\n if (+value === 0) return value;\n throw new ArgumentError('deposit', 'equal 0 (because is not refundable)', value);\n }, coinAmount),\n amount: coinAmount,\n gasLimit,\n gasPrice,\n callData: encoded(Encoding.ContractBytearray),\n },\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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: transactionSignedTx,\n },\n {\n tag: shortUIntConst(Tag.PayingForTx),\n version: shortUIntConst(1, true),\n payerId: address(Encoding.AccountAddress),\n nonce: nonce('payerId'),\n fee,\n tx: transactionSignedTx,\n },\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","import { decode as rlpDecode, encode as rlpEncode } from 'rlp';\nimport { Field, BinaryData } from './field-types/interface.js';\nimport {\n ArgumentError,\n DecodeError,\n SchemaNotFoundError,\n InternalError,\n} from '../../utils/errors.js';\nimport { Encoding, Encoded, encode, decode } from '../../utils/encoder.js';\nimport { readInt } from './helpers.js';\n\ntype Schemas = ReadonlyArray<{\n tag: { constValue: number } & Field;\n version: { constValue: number; constValueOptional: boolean } & Field;\n}>;\n\nexport function getSchema(\n schemas: Schemas,\n Tag: { [key: number]: string },\n tag: number,\n version: number | undefined,\n): Array<[string, Field]> {\n const subSchemas = schemas.filter((s) => s.tag.constValue === tag);\n if (subSchemas.length === 0) throw new SchemaNotFoundError(`${Tag[tag]} (${tag})`, 0);\n if (version == null) {\n const defaultSchema = subSchemas.find((schema) => schema.version.constValueOptional);\n if (defaultSchema == null)\n throw new InternalError(`Can't find default schema of ${Tag[tag]} (${tag})`);\n version = defaultSchema.version.constValue;\n }\n const schema = subSchemas.find((s) => s.version.constValue === version);\n if (schema == null) throw new SchemaNotFoundError(`${Tag[tag]} (${tag})`, version);\n return Object.entries(schema);\n}\n\nexport function packRecord<E extends Encoding>(\n schemas: Schemas,\n Tag: { [key: number]: string },\n params: {\n tag: number;\n version?: number;\n [k: string]: unknown;\n },\n extraParams: { [k: string]: unknown },\n encoding: E,\n): Encoded.Generic<E> {\n const schema = getSchema(schemas, Tag, params.tag, params.version);\n const binary = schema.map(([key, field]) =>\n field.serialize(params[key], { ...params, ...extraParams }, params),\n );\n return encode(rlpEncode(binary), encoding);\n}\n\nexport function unpackRecord(\n schemas: Schemas,\n Tag: { [key: number]: string },\n encodedRecord: Encoded.Any,\n expectedTag: number | undefined,\n extraParams: { [k: string]: unknown },\n): unknown {\n const binary = rlpDecode(decode(encodedRecord));\n const tag = +readInt(binary[0] as Buffer);\n const version = +readInt(binary[1] as Buffer);\n const schema = getSchema(schemas, Tag, tag, version);\n if (expectedTag != null && expectedTag !== tag) {\n throw new DecodeError(`Expected ${Tag[expectedTag]} tag, got ${Tag[tag]} instead`);\n }\n if (binary.length !== schema.length) {\n throw new ArgumentError('RLP length', schema.length, binary.length);\n }\n return Object.fromEntries(\n schema.map(([name, field], index) => [\n name,\n field.deserialize(binary[index] as BinaryData, extraParams),\n ]),\n );\n}\n","export default {\n serialize(value: boolean): Buffer {\n return Buffer.from([value ? 1 : 0]);\n },\n\n deserialize(buffer: Buffer): boolean {\n return buffer[0] === 1;\n },\n};\n","import { EntryTag } from '../entry/constants.js';\nimport { encode, Encoding, Encoded, decode } from '../../../utils/encoder.js';\nimport type { unpackEntry as unpackEntryType, packEntry as packEntryType } from '../entry/index.js';\n\nexport default function genMapField<E extends Encoding, T extends EntryTag>(\n encoding: E,\n tag: T,\n): {\n serialize: (\n // TODO: replace with `TxParams & { tag: T }`,\n // but fix TS2502 value is referenced directly or indirectly in its own type annotation\n value: Record<Encoded.Generic<E>, any>,\n options: { packEntry: typeof packEntryType },\n ) => Buffer;\n deserialize: (\n value: Buffer,\n options: { unpackEntry: typeof unpackEntryType },\n // TODO: replace with `TxUnpacked & { tag: T }`,\n // TS2577 Return type annotation circularly references itself\n ) => Record<Encoded.Generic<E>, any>;\n recursiveType: true;\n} {\n return {\n serialize(object, { packEntry }) {\n return decode(\n packEntry({\n tag: EntryTag.Mtree,\n values: Object.entries(object).map(\n ([key, value]) =>\n ({\n tag: EntryTag.MtreeValue,\n key: decode(key as Encoded.Generic<E>),\n value: decode(packEntry({ ...(value as any), tag })),\n }) as const,\n ),\n }),\n );\n },\n\n deserialize(buffer, { unpackEntry }) {\n const { values } = unpackEntry(encode(buffer, Encoding.Bytearray), EntryTag.Mtree);\n return Object.fromEntries(\n values\n // TODO: remove after resolving https://github.com/aeternity/aeternity/issues/4066\n .filter(({ key }) => encoding !== Encoding.ContractAddress || key.length === 32)\n .map(({ key, value }) => [\n encode(key, encoding),\n unpackEntry(encode(value, Encoding.Bytearray), tag),\n ]),\n ) as Record<Encoded.Generic<E>, any>;\n },\n\n recursiveType: true,\n };\n}\n","import { encode as rlpEncode, Input } from 'rlp';\nimport { EntryTag } from '../entry/constants.js';\nimport { hash } from '../../../utils/crypto.js';\nimport {\n MerkleTreeHashMismatchError,\n MissingNodeInTreeError,\n UnknownPathNibbleError,\n UnexpectedTsError,\n UnknownNodeLengthError,\n InternalError,\n} from '../../../utils/errors.js';\nimport { decode, encode, Encoded, Encoding } from '../../../utils/encoder.js';\nimport type { unpackEntry } from '../entry/index.js';\nimport type { EntUnpacked } from '../entry/schema.generated.js';\n\nenum NodeType {\n Branch,\n Extension,\n Leaf,\n}\n\ntype MPTreeBinary = [Buffer, Array<[Buffer, Buffer[]]>];\n\nclass MPTree<E extends Encoding, T extends EntryTag> {\n readonly #rootHash: string;\n\n #isComplete = true;\n\n get isComplete(): boolean {\n return this.#isComplete;\n }\n\n readonly #nodes: { [key: string]: Buffer[] };\n\n readonly #encoding: E;\n\n readonly #tag: T;\n\n readonly #unpackEntry: typeof unpackEntry;\n\n static #nodeHash(node: Input): string {\n return Buffer.from(hash(rlpEncode(node))).toString('hex');\n }\n\n /**\n * Deserialize Merkle Patricia Tree\n * @param binary - Binary\n * @param tag - Tag to use to decode value\n * @param unpEnt - Implementation of unpackEntry use to decode values\n * @returns Merkle Patricia Tree\n */\n constructor(binary: MPTreeBinary, encoding: E, tag: T, unpEnt: typeof unpackEntry) {\n this.#encoding = encoding;\n this.#tag = tag;\n this.#unpackEntry = unpEnt;\n this.#rootHash = binary[0].toString('hex');\n this.#nodes = Object.fromEntries(binary[1].map((node) => [node[0].toString('hex'), node[1]]));\n\n if (this.#nodes[this.#rootHash] == null) {\n if (Object.keys(this.#nodes).length !== 0) {\n throw new MissingNodeInTreeError(\"Can't find a node by root hash\");\n }\n this.#isComplete = false;\n return;\n }\n Object.entries(this.#nodes).forEach(([key, node]) => {\n if (MPTree.#nodeHash(node) !== key) throw new MerkleTreeHashMismatchError();\n const { type } = MPTree.#parseNode(node);\n switch (type) {\n case NodeType.Branch:\n node\n .slice(0, 16)\n .filter((n) => n.length)\n .forEach((n) => {\n // TODO: enable after resolving https://github.com/aeternity/aeternity/issues/4066\n // if (n.length !== 32) {\n // throw new ArgumentError('MPTree branch item length', 32, n.length);\n // }\n if (this.#nodes[n.toString('hex')] == null) this.#isComplete = false;\n });\n break;\n case NodeType.Extension:\n if (this.#nodes[node[1].toString('hex')] == null) {\n throw new MissingNodeInTreeError(\"Can't find a node by hash in extension node\");\n }\n break;\n case NodeType.Leaf:\n break;\n default:\n throw new InternalError(`Unknown MPTree node type: ${type}`);\n }\n });\n }\n\n isEqual(tree: MPTree<E, T>): boolean {\n return this.#rootHash === tree.#rootHash;\n }\n\n static #parseNode(node: Buffer[]): { type: NodeType; value?: Buffer; path?: string } {\n switch (node.length) {\n case 17:\n return {\n type: NodeType.Branch,\n ...(node[16].length !== 0 && { value: node[16] }),\n };\n case 2: {\n const nibble = node[0][0] >> 4; // eslint-disable-line no-bitwise\n if (nibble > 3) throw new UnknownPathNibbleError(nibble);\n const type = nibble <= 1 ? NodeType.Extension : NodeType.Leaf;\n const slice = [0, 2].includes(nibble) ? 2 : 1;\n return {\n type,\n ...(type === NodeType.Leaf && { value: node[1] }),\n path: node[0].toString('hex').slice(slice),\n };\n }\n default:\n throw new UnknownNodeLengthError(node.length);\n }\n }\n\n /**\n * Serialize Merkle Patricia Tree\n * @returns Binary\n */\n serialize(): MPTreeBinary {\n return [\n Buffer.from(this.#rootHash, 'hex'),\n Object.entries(this.#nodes).map(([mptHash, value]) => [Buffer.from(mptHash, 'hex'), value]),\n ];\n }\n\n /**\n * Retrieve value from Merkle Patricia Tree\n * @param _key - The key of the element to retrieve\n * @returns Value associated to the specified key\n */\n #getRaw(_key: string): Buffer | undefined {\n let searchFrom = this.#rootHash;\n let key = _key;\n while (true) {\n // eslint-disable-line no-constant-condition\n const node = this.#nodes[searchFrom];\n if (node == null) {\n if (!this.isComplete) return undefined;\n throw new InternalError(\"Can't find node in complete tree\");\n }\n const { type, value, path } = MPTree.#parseNode(node);\n switch (type) {\n case NodeType.Branch:\n if (key.length === 0) return value;\n searchFrom = node[+`0x${key[0]}`].toString('hex');\n key = key.substring(1);\n break;\n case NodeType.Extension:\n if (key.substring(0, path?.length) !== path) return undefined;\n searchFrom = node[1].toString('hex');\n key = key.substring(path.length);\n break;\n case NodeType.Leaf:\n if (path !== key) return undefined;\n return value;\n default:\n throw new InternalError(`Unknown MPTree node type: ${type}`);\n }\n }\n }\n\n /**\n * Retrieve value from Merkle Patricia Tree\n * @param key - The key of the element to retrieve\n * @returns Value associated to the specified key\n */\n get(key: Encoded.Generic<E>): (EntUnpacked & { tag: T }) | undefined {\n const d = this.#getRaw(decode(key).toString('hex'));\n if (d == null) return d;\n return this.#unpackEntry(encode(d, Encoding.Bytearray), this.#tag);\n }\n\n #entriesRaw(): Array<[string, Buffer]> {\n const entries: Array<[string, Buffer]> = [];\n const rec = (searchFrom: string, key: string): void => {\n const node = this.#nodes[searchFrom];\n if (node == null) {\n if (!this.isComplete) return;\n throw new InternalError(\"Can't find node in complete tree\");\n }\n const { type, value, path } = MPTree.#parseNode(node);\n switch (type) {\n case NodeType.Branch:\n node\n .slice(0, 16)\n .map((t, idx): [typeof t, number] => [t, idx])\n .filter(([t]) => t.length)\n .forEach(([t, idx]) => rec(t.toString('hex'), key + idx.toString(16)));\n if (value != null) entries.push([key, value]);\n break;\n case NodeType.Extension:\n rec(node[1].toString('hex'), key + path);\n break;\n case NodeType.Leaf:\n if (value == null) throw new UnexpectedTsError();\n entries.push([key + path, value]);\n break;\n default:\n throw new InternalError(`Unknown MPTree node type: ${type}`);\n }\n };\n rec(this.#rootHash, '');\n return entries;\n }\n\n toObject(): Record<Encoded.Generic<E>, EntUnpacked & { tag: T }> {\n return Object.fromEntries(\n this.#entriesRaw()\n // TODO: remove after resolving https://github.com/aeternity/aeternity/issues/4066\n .filter(([k]) => this.#encoding !== Encoding.ContractAddress || k.length !== 66)\n .map(([k, v]) => [\n encode(Buffer.from(k, 'hex'), this.#encoding),\n this.#unpackEntry(encode(v, Encoding.Bytearray), this.#tag),\n ]),\n ) as Record<Encoded.Generic<E>, EntUnpacked & { tag: T }>;\n }\n}\n\nexport default function genMPTreeField<E extends Encoding, T extends EntryTag>(\n encoding: E,\n tag: T,\n): {\n serialize: (value: MPTree<E, T>) => MPTreeBinary;\n deserialize: (value: MPTreeBinary, o: { unpackEntry: typeof unpackEntry }) => MPTree<E, T>;\n} {\n return {\n serialize(value) {\n return value.serialize();\n },\n\n deserialize(value, { unpackEntry }) {\n return new MPTree(value, encoding, tag, unpackEntry);\n },\n };\n}\n","import { EntryTag } from '../entry/constants.js';\nimport { encode, Encoding, decode } from '../../../utils/encoder.js';\nimport type { unpackEntry as unpackEntryType, packEntry as packEntryType } from '../entry/index.js';\n\ntype TagWrapping =\n | EntryTag.AccountsMtree\n | EntryTag.CallsMtree\n | EntryTag.ChannelsMtree\n | EntryTag.ContractsMtree\n | EntryTag.NameserviceMtree\n | EntryTag.OraclesMtree;\n\nexport default function genWrappedField<T extends TagWrapping>(\n tag: T,\n): {\n serialize: (\n // TODO: replace with `(EntParams & { tag: T })['payload']`,\n // but fix TS2502 value is referenced directly or indirectly in its own type annotation\n value: any,\n options: { packEntry: typeof packEntryType },\n ) => Buffer;\n deserialize: (\n value: Buffer,\n options: { unpackEntry: typeof unpackEntryType },\n // TODO: replace with `(EntUnpacked & { tag: T })['payload']`,\n // TS2577 Return type annotation circularly references itself\n ) => any;\n recursiveType: true;\n} {\n return {\n serialize(payload, { packEntry }) {\n return decode(packEntry({ tag, payload }));\n },\n\n deserialize(buffer, { unpackEntry }) {\n return unpackEntry<TagWrapping>(encode(buffer, Encoding.Bytearray), tag).payload;\n },\n\n recursiveType: true,\n };\n}\n","import SchemaTypes from '../SchemaTypes.js';\nimport abiVersion from '../field-types/abi-version.js';\nimport address, { idTagToEncoding } from '../field-types/address.js';\nimport array from '../field-types/array.js';\nimport boolean from '../field-types/boolean.js';\nimport coinAmount from '../field-types/coin-amount.js';\nimport ctVersion from '../field-types/ct-version.js';\nimport encoded from '../field-types/encoded.js';\nimport entry from '../field-types/entry.js';\nimport enumeration from '../field-types/enumeration.js';\nimport gasLimit from '../field-types/gas-limit.js';\nimport gasPrice from '../field-types/gas-price.js';\nimport map from '../field-types/map.js';\nimport mptree from '../field-types/mptree.js';\nimport pointers from '../field-types/pointers.js';\nimport raw from '../field-types/raw.js';\nimport shortUInt from '../field-types/short-u-int.js';\nimport shortUIntConst from '../field-types/short-u-int-const.js';\nimport string from '../field-types/string.js';\nimport uInt from '../field-types/u-int.js';\nimport wrapped from '../field-types/wrapped.js';\nimport { Encoded, Encoding } from '../../../utils/encoder.js';\nimport { EntryTag, CallReturnType } from './constants.js';\n\ninterface EntryMtreeValueArray {\n serialize: (\n value: Array<(EntParams & { tag: EntryTag.MtreeValue }) | Uint8Array | Encoded.Transaction>,\n ) => Buffer[];\n deserialize: (value: Buffer[]) => Array<EntUnpacked & { tag: EntryTag.MtreeValue }>;\n recursiveType: true;\n}\n\nconst entryMtreeValueArray = array(entry(EntryTag.MtreeValue)) as unknown as EntryMtreeValueArray;\n\ninterface MapContracts {\n serialize: (\n value: Record<Encoded.ContractAddress, EntParams & { tag: EntryTag.Contract }>,\n ) => Buffer;\n deserialize: (\n value: Buffer,\n ) => Record<Encoded.ContractAddress, EntUnpacked & { tag: EntryTag.Contract }>;\n recursiveType: true;\n}\n\nconst mapContracts = map(Encoding.ContractAddress, EntryTag.Contract) as unknown as MapContracts;\n\ninterface MapAccounts {\n serialize: (\n value: Record<Encoded.AccountAddress, EntParams & { tag: EntryTag.Account }>,\n ) => Buffer;\n deserialize: (\n value: Buffer,\n ) => Record<Encoded.AccountAddress, EntUnpacked & { tag: EntryTag.Account }>;\n recursiveType: true;\n}\n\nconst mapAccounts = map(Encoding.AccountAddress, EntryTag.Account) as unknown as MapAccounts;\n\ninterface MapCalls {\n serialize: (\n value: Record<Encoded.Bytearray, EntParams & { tag: EntryTag.ContractCall }>,\n ) => Buffer;\n deserialize: (\n value: Buffer,\n ) => Record<Encoded.Bytearray, EntUnpacked & { tag: EntryTag.ContractCall }>;\n recursiveType: true;\n}\n\nconst mapCalls = map(Encoding.Bytearray, EntryTag.ContractCall) as unknown as MapCalls;\n\ninterface MapChannels {\n serialize: (value: Record<Encoded.Channel, EntParams & { tag: EntryTag.Channel }>) => Buffer;\n deserialize: (value: Buffer) => Record<Encoded.Channel, EntUnpacked & { tag: EntryTag.Channel }>;\n recursiveType: true;\n}\n\nconst mapChannels = map(Encoding.Channel, EntryTag.Channel) as unknown as MapChannels;\n\ninterface MapNames {\n serialize: (value: Record<Encoded.Name, EntParams & { tag: EntryTag.Name }>) => Buffer;\n deserialize: (value: Buffer) => Record<Encoded.Name, EntUnpacked & { tag: EntryTag.Name }>;\n recursiveType: true;\n}\n\nconst mapNames = map(Encoding.Name, EntryTag.Name) as unknown as MapNames;\n\ninterface MapOracles {\n serialize: (value: Record<Encoded.OracleAddress, EntParams & { tag: EntryTag.Oracle }>) => Buffer;\n deserialize: (\n value: Buffer,\n ) => Record<Encoded.OracleAddress, EntUnpacked & { tag: EntryTag.Oracle }>;\n recursiveType: true;\n}\n\nconst mapOracles = map(Encoding.OracleAddress, EntryTag.Oracle) as unknown as MapOracles;\n\n/**\n * @see {@link https://github.com/aeternity/protocol/blob/8a9d1d1206174627f6aaef86159dc9c643080653/contracts/fate.md#from-ceres-serialized-signature-data}\n */\nexport const schemas = [\n {\n tag: shortUIntConst(EntryTag.Account),\n version: shortUIntConst(1),\n nonce: shortUInt,\n balance: uInt,\n },\n {\n tag: shortUIntConst(EntryTag.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 {\n tag: shortUIntConst(EntryTag.Name),\n version: shortUIntConst(1, true),\n accountId: address(Encoding.AccountAddress),\n nameTtl: shortUInt,\n status: raw,\n /**\n * a suggestion as to how long any clients should cache this information\n */\n clientTtl: shortUInt,\n pointers,\n },\n {\n tag: shortUIntConst(EntryTag.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 {\n tag: shortUIntConst(EntryTag.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 {\n tag: shortUIntConst(EntryTag.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 {\n tag: shortUIntConst(EntryTag.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 {\n tag: shortUIntConst(EntryTag.ChannelOffChainUpdateTransfer),\n version: shortUIntConst(1, true),\n from: address(Encoding.AccountAddress),\n to: address(Encoding.AccountAddress),\n amount: uInt,\n },\n {\n tag: shortUIntConst(EntryTag.ChannelOffChainUpdateDeposit),\n version: shortUIntConst(1, true),\n from: address(Encoding.AccountAddress),\n amount: uInt,\n },\n {\n tag: shortUIntConst(EntryTag.ChannelOffChainUpdateWithdraw),\n version: shortUIntConst(1, true),\n from: address(Encoding.AccountAddress),\n amount: uInt,\n },\n {\n tag: shortUIntConst(EntryTag.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 {\n tag: shortUIntConst(EntryTag.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 {\n tag: shortUIntConst(EntryTag.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, EntryTag.Account)),\n calls: array(mptree(Encoding.Bytearray, EntryTag.ContractCall)),\n channels: array(mptree(Encoding.Channel, EntryTag.Channel)),\n contracts: array(mptree(Encoding.ContractAddress, EntryTag.Contract)),\n ns: array(mptree(Encoding.Name, EntryTag.Name)),\n oracles: array(mptree(Encoding.OracleAddress, EntryTag.Oracle)),\n },\n {\n tag: shortUIntConst(EntryTag.StateTrees),\n version: shortUIntConst(0, true),\n contracts: wrapped(EntryTag.ContractsMtree) as unknown as MapContracts,\n calls: wrapped(EntryTag.CallsMtree) as unknown as MapCalls,\n channels: wrapped(EntryTag.ChannelsMtree) as unknown as MapChannels,\n ns: wrapped(EntryTag.NameserviceMtree) as unknown as MapNames,\n oracles: wrapped(EntryTag.OraclesMtree) as unknown as MapOracles,\n accounts: wrapped(EntryTag.AccountsMtree) as unknown as MapAccounts,\n },\n {\n tag: shortUIntConst(EntryTag.Mtree),\n version: shortUIntConst(1, true),\n values: entryMtreeValueArray,\n },\n {\n tag: shortUIntConst(EntryTag.MtreeValue),\n version: shortUIntConst(1, true),\n key: raw,\n value: raw,\n },\n {\n tag: shortUIntConst(EntryTag.ContractsMtree),\n version: shortUIntConst(1, true),\n payload: mapContracts,\n },\n {\n tag: shortUIntConst(EntryTag.CallsMtree),\n version: shortUIntConst(1, true),\n payload: mapCalls,\n },\n {\n tag: shortUIntConst(EntryTag.ChannelsMtree),\n version: shortUIntConst(1, true),\n payload: mapChannels,\n },\n {\n tag: shortUIntConst(EntryTag.NameserviceMtree),\n version: shortUIntConst(1, true),\n payload: mapNames,\n },\n {\n tag: shortUIntConst(EntryTag.OraclesMtree),\n version: shortUIntConst(1, true),\n payload: mapOracles,\n },\n {\n tag: shortUIntConst(EntryTag.AccountsMtree),\n version: shortUIntConst(1, true),\n payload: mapAccounts,\n },\n {\n tag: shortUIntConst(EntryTag.GaMetaTxAuthData),\n version: shortUIntConst(1, true),\n fee: coinAmount,\n gasPrice,\n txHash: encoded(Encoding.TxHash),\n },\n] as const;\n\ntype Schemas = SchemaTypes<typeof schemas>;\nexport type EntParams = Schemas['TxParams'];\nexport type EntUnpacked = Schemas['TxUnpacked'];\n","import { Encoded, Encoding } from '../../../utils/encoder.js';\nimport { packRecord, unpackRecord } from '../common.js';\nimport { schemas } from './schema.js';\nimport { EntryTag } from './constants.js';\nimport { EntParams, EntUnpacked } from './schema.generated.js';\n\nconst encodingTag = [\n [EntryTag.CallsMtree, Encoding.CallStateTree],\n [EntryTag.StateTrees, Encoding.StateTrees],\n [EntryTag.TreesPoi, Encoding.Poi],\n] as const;\n\nexport function packEntry(params: EntParams & { tag: EntryTag.CallsMtree }): Encoded.CallStateTree;\nexport function packEntry(params: EntParams & { tag: EntryTag.StateTrees }): Encoded.StateTrees;\nexport function packEntry(params: EntParams & { tag: EntryTag.TreesPoi }): Encoded.Poi;\n/**\n * Pack entry\n * @category entry builder\n * @param params - Params of entry\n * @returns Encoded entry\n */\nexport function packEntry(params: EntParams): Encoded.Any;\nexport function packEntry(params: EntParams): Encoded.Any {\n const encoding = encodingTag.find(([tag]) => tag === params.tag)?.[1] ?? Encoding.Bytearray;\n return packRecord(schemas, EntryTag, params, { packEntry }, encoding);\n}\n\nexport function unpackEntry(\n encoded: Encoded.CallStateTree,\n): EntUnpacked & { tag: EntryTag.CallsMtree };\nexport function unpackEntry(\n encoded: Encoded.StateTrees,\n): EntUnpacked & { tag: EntryTag.StateTrees };\nexport function unpackEntry(encoded: Encoded.Poi): EntUnpacked & { tag: EntryTag.TreesPoi };\n/**\n * Unpack entry\n * @category entry builder\n * @param encoded - Encoded entry\n * @param expectedTag - Expected entry type\n * @returns Params of entry\n */\nexport function unpackEntry<T extends EntryTag>(\n encoded: Encoded.Any,\n expectedTag?: T,\n): EntUnpacked & { tag: T };\nexport function unpackEntry(encoded: Encoded.Any, expectedTag?: EntryTag): EntUnpacked {\n expectedTag ??= encodingTag.find(([, enc]) => encoded.startsWith(enc))?.[0];\n return unpackRecord(schemas, EntryTag, encoded, expectedTag, { unpackEntry }) as any;\n}\n","import { decode, encode, Encoded, Encoding } from '../../utils/encoder.js';\nimport { hash } from '../../utils/crypto.js';\nimport { Field } from './field-types/interface.js';\nimport { txSchema } from './schema.js';\nimport { TxUnpacked, TxParams, TxParamsAsync } from './schema.generated.js';\nimport { Tag } from './constants.js';\nimport { buildContractId } from './helpers.js';\nimport { getSchema as getSchemaCommon, packRecord, unpackRecord } from './common.js';\nimport { ArgumentError } from '../../utils/errors.js';\nimport { packEntry, unpackEntry } from './entry/index.js';\n\n/**\n * JavaScript-based Transaction builder\n */\n\nexport function getSchema(tag: Tag, version?: number): Array<[string, Field]> {\n return getSchemaCommon(txSchema, Tag, tag, version);\n}\n\ntype TxEncoding =\n | Encoding.Transaction\n | Encoding.Poi\n | Encoding.StateTrees\n | Encoding.CallStateTree;\n\n/**\n * Build transaction\n * @category transaction builder\n * @param params - Transaction params\n */\nexport function buildTx(params: TxParams): Encoded.Transaction {\n return packRecord(\n txSchema,\n Tag,\n params,\n {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n unpackTx,\n buildTx,\n rebuildTx: (overrideParams: any) => buildTx({ ...params, ...overrideParams }),\n packEntry,\n },\n Encoding.Transaction,\n );\n}\n\nexport type BuildTxOptions<TxType extends Tag, OmitFields extends string> = Omit<\n TxParamsAsync & { tag: TxType },\n 'tag' | OmitFields\n>;\n\n// TODO: require onNode because it is the only reason this builder is async [breaking change]\n/**\n * Build transaction async (may request node for additional data)\n * @category transaction builder\n * @param params - Transaction params\n * @returns tx_-encoded transaction\n */\nexport async function buildTxAsync(params: TxParamsAsync): Promise<Encoded.Transaction> {\n await Promise.all(\n getSchema(params.tag, params.version).map(async ([key, field]) => {\n if (field.prepare == null) return;\n // @ts-expect-error the type of `params[key]` can't be determined accurately\n params[key] = await field.prepare(params[key], params, params);\n }),\n );\n\n // @ts-expect-error after preparation properties should be compatible with sync tx builder\n return buildTx(params);\n}\n\n/**\n * Unpack transaction encoded as string\n * @category transaction builder\n * @param encodedTx - Encoded transaction\n * @param txType - Expected transaction type\n * @returns Transaction params\n */\nexport function unpackTx<TxType extends Tag>(\n encodedTx: Encoded.Generic<TxEncoding>,\n txType?: TxType,\n): TxUnpacked & { tag: TxType } {\n return unpackRecord(txSchema, Tag, encodedTx, txType, { unpackTx, unpackEntry }) as any;\n}\n\n/**\n * Build a transaction hash\n * @category transaction builder\n * @param rawTx - base64 or rlp encoded transaction\n * @returns Transaction hash\n */\nexport function buildTxHash(rawTx: Encoded.Transaction | Uint8Array): Encoded.TxHash {\n const data = typeof rawTx === 'string' && rawTx.startsWith('tx_') ? decode(rawTx) : rawTx;\n return encode(hash(data), Encoding.TxHash);\n}\n\n/**\n * Build a contract public key by contractCreateTx, gaAttach or signedTx\n * @category contract\n * @param contractTx - Transaction\n * @returns Contract public key\n */\nexport function buildContractIdByContractTx(\n contractTx: Encoded.Transaction,\n): Encoded.ContractAddress {\n let params = unpackTx(contractTx);\n if (Tag.SignedTx === params.tag) params = params.encodedTx;\n if (Tag.ContractCreateTx !== params.tag && Tag.GaAttachTx !== params.tag) {\n throw new ArgumentError('contractTx', 'a contractCreateTx or gaAttach', params.tag);\n }\n return buildContractId(params.ownerId, params.nonce);\n}\n","function verCmp(a: string, b: string): number {\n const getComponents = (v: string): number[] =>\n v\n .split(/[-+]/)[0]\n .split('.')\n .map((i) => +i);\n\n const aComponents = getComponents(a);\n const bComponents = getComponents(b);\n\n const base = Math.max(...aComponents, ...bComponents) + 1;\n const componentsToNumber = (components: number[]): number =>\n components.reverse().reduce((acc, n, idx) => acc + n * base ** idx, 0);\n\n return componentsToNumber(aComponents) - componentsToNumber(bComponents);\n}\n\nexport default function semverSatisfies(\n version: string,\n geVersion: string,\n ltVersion?: string,\n): boolean {\n return verCmp(version, geVersion) >= 0 && (ltVersion == null || verCmp(version, ltVersion) < 0);\n}\n","import { RestError, PipelineResponse, PipelinePolicy } from '@azure/core-rest-pipeline';\nimport {\n AdditionalPolicyConfig,\n FullOperationResponse,\n OperationOptions,\n createSerializer as createSerializerOrig,\n} from '@azure/core-client';\nimport { pause } from './other.js';\nimport semverSatisfies from './semver-satisfies.js';\nimport { InternalError, UnexpectedTsError, UnsupportedVersionError } from './errors.js';\n\nconst bigIntPrefix = '_sdk-big-int-';\n\nexport const createSerializer = (\n ...args: Parameters<typeof createSerializerOrig>\n): ReturnType<typeof createSerializerOrig> => {\n const serializer = createSerializerOrig(...args);\n const { serialize, deserialize } = serializer;\n return Object.assign(serializer, {\n serialize(\n ...[mapper, object, objectName, options]: Parameters<typeof serialize>\n ): ReturnType<typeof serialize> {\n // @ts-expect-error we are extending autorest with BigInt support\n if (mapper.type.name !== 'BigInt' || object == null) {\n return serialize.call(this, mapper, object, objectName, options);\n }\n if (typeof object !== 'bigint') {\n objectName ??= mapper.serializedName;\n throw new Error(`${objectName} with value ${object} must be of type bigint.`);\n }\n return object.toString();\n },\n\n deserialize(\n ...[mapper, responseBody, objectName, options]: Parameters<typeof deserialize>\n ): ReturnType<typeof deserialize> {\n // @ts-expect-error we are extending autorest with BigInt support\n if (mapper.type.name !== 'BigInt' || responseBody == null) {\n if (typeof responseBody === 'string' && responseBody.startsWith(bigIntPrefix)) {\n console.warn(`AeSdk internal error: BigInt value ${responseBody} handled incorrectly`);\n responseBody = +responseBody.replace(bigIntPrefix, '');\n }\n const result = deserialize.call(this, mapper, responseBody, objectName, options);\n // TODO: remove after fixing https://github.com/aeternity/ae_mdw/issues/1891\n // and https://github.com/aeternity/aeternity/issues/4386\n if (result instanceof Date) return new Date(+result / 1000);\n return result;\n }\n if (typeof responseBody === 'number' && responseBody > Number.MAX_SAFE_INTEGER) {\n throw new InternalError(`Number ${responseBody} is not accurate to be converted to BigInt`);\n }\n return BigInt(responseBody.toString().replace(bigIntPrefix, ''));\n },\n });\n};\n\nconst safeLength = Number.MAX_SAFE_INTEGER.toString().length;\nconst bigIntPropertyRe = new RegExp(String.raw`(\"\\w+\":\\s*)(\\d{${safeLength},})(\\s*[,}])`, 'm');\nconst bigIntArrayItemRe = new RegExp(String.raw`([[,]\\s*)(\\d{${safeLength},})\\b`, 'm');\nexport const parseBigIntPolicy: PipelinePolicy = {\n name: 'parse-big-int',\n async sendRequest(request, next) {\n const response = await next(request);\n if (response.bodyAsText == null) return response;\n // TODO: replace with https://caniuse.com/mdn-javascript_builtins_json_parse_reviver_parameter_context_argument when it gets support in FF and Safari\n response.bodyAsText = response.bodyAsText.replaceAll(\n new RegExp(bigIntPropertyRe, 'g'),\n (matched) => {\n const match = matched.match(bigIntPropertyRe);\n if (match == null) throw new UnexpectedTsError();\n const [, name, value, end] = match;\n return [\n name,\n +value > Number.MAX_SAFE_INTEGER ? `\"${bigIntPrefix}${value}\"` : value,\n end,\n ].join('');\n },\n );\n // FIXME: may break strings inside json\n response.bodyAsText = response.bodyAsText.replaceAll(\n new RegExp(bigIntArrayItemRe, 'g'),\n (matched) => {\n const match = matched.match(bigIntArrayItemRe);\n if (match == null) throw new UnexpectedTsError();\n const [, prefix, value] = match;\n return `${prefix}\"${bigIntPrefix}${value}\"`;\n },\n );\n return response;\n },\n};\n\nexport const genRequestQueuesPolicy = (): AdditionalPolicyConfig => {\n const requestQueues = new Map<string, Promise<unknown>>();\n\n return {\n policy: {\n name: 'request-queues',\n async sendRequest(request, next) {\n const key = request.headers.get('__queue');\n request.headers.delete('__queue');\n const getResponse = async (): Promise<PipelineResponse> => next(request);\n if (key == null) return getResponse();\n const req = (requestQueues.get(key) ?? Promise.resolve()).then(getResponse);\n requestQueues.set(\n key,\n req.catch(() => {}),\n );\n return req;\n },\n },\n position: 'perCall',\n };\n};\n\nexport const genCombineGetRequestsPolicy = (): AdditionalPolicyConfig => {\n const pendingGetRequests = new Map<string, Promise<PipelineResponse>>();\n\n return {\n policy: {\n name: 'combine-get-requests',\n async sendRequest(request, next) {\n if (request.method !== 'GET') return next(request);\n const key = JSON.stringify([request.url, request.body]);\n const response = pendingGetRequests.get(key) ?? next(request);\n pendingGetRequests.set(key, response);\n try {\n return await response;\n } finally {\n pendingGetRequests.delete(key);\n }\n },\n },\n position: 'perCall',\n };\n};\n\nexport const genAggressiveCacheGetResponsesPolicy = (): AdditionalPolicyConfig => {\n const getRequests = new Map<string, Promise<PipelineResponse>>();\n\n return {\n policy: {\n name: 'aggressive-cache-get-responses',\n async sendRequest(request, next) {\n if (request.method !== 'GET') return next(request);\n const key = JSON.stringify([request.url, request.body]);\n const response = getRequests.get(key) ?? next(request);\n getRequests.set(key, response);\n return response;\n },\n },\n position: 'perCall',\n };\n};\n\nexport const genErrorFormatterPolicy = (\n getMessage: (b: any) => string,\n): AdditionalPolicyConfig => ({\n policy: {\n name: 'error-formatter',\n async sendRequest(request, next) {\n try {\n return await next(request);\n } catch (error) {\n if (\n !(error instanceof RestError) ||\n error.request == null ||\n error.message.startsWith('Error ')\n )\n throw error;\n const prefix = `${new URL(error.request.url).pathname.slice(1)} error`;\n\n if (error.response?.bodyAsText == null) {\n if (error.message === '') error.message = `${prefix}: ${error.code}`;\n throw error;\n }\n\n const body = (error.response as FullOperationResponse).parsedBody;\n error.message = prefix;\n const message = body == null ? ` ${error.response.status} status code` : getMessage(body);\n if (message !== '') error.message += `:${message}`;\n throw error;\n }\n },\n },\n position: 'perCall',\n});\n\nexport const genVersionCheckPolicy = (\n name: string,\n versionCb: (options: OperationOptions) => Promise<string>,\n geVersion: string,\n ltVersion: string,\n): AdditionalPolicyConfig => ({\n policy: {\n name: 'version-check',\n async sendRequest(request, next) {\n if (request.headers.has('__version-check')) {\n request.headers.delete('__version-check');\n return next(request);\n }\n const options = { requestOptions: { customHeaders: { '__version-check': 'true' } } };\n const args = [await versionCb(options), geVersion, ltVersion] as const;\n if (!semverSatisfies(...args)) throw new UnsupportedVersionError(name, ...args);\n return next(request);\n },\n },\n position: 'perCall',\n});\n\nexport const genRetryOnFailurePolicy = (\n retryCount: number,\n retryOverallDelay: number,\n): AdditionalPolicyConfig => ({\n policy: {\n name: 'retry-on-failure',\n async sendRequest(request, next) {\n const retryCode = request.headers.get('__retry-code') ?? NaN;\n request.headers.delete('__retry-code');\n const statusesToNotRetry = [200, 400, 403, 410, 500].filter((c) => c !== +retryCode);\n\n const intervals = new Array(retryCount)\n .fill(0)\n .map((_, idx) => ((idx + 1) / retryCount) ** 2);\n const intervalSum = intervals.reduce((a, b) => a + b, 0);\n const intervalsInMs = intervals.map((e) => Math.floor((e / intervalSum) * retryOverallDelay));\n\n let error = new RestError('Not expected to be thrown');\n for (let attempt = 0; attempt <= retryCount; attempt += 1) {\n if (attempt !== 0) {\n await pause(intervalsInMs[attempt - 1]);\n const urlParsed = new URL(request.url);\n urlParsed.searchParams.set('__sdk-retry', attempt.toString());\n request.url = urlParsed.toString();\n }\n try {\n return await next(request);\n } catch (e) {\n if (!(e instanceof RestError)) throw e;\n if (statusesToNotRetry.includes(e.response?.status ?? 0)) throw e;\n error = e;\n }\n }\n throw error;\n },\n },\n position: 'perCall',\n});\n","import * as coreClient from \"@azure/core-client\";\n\nexport const Account: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Account\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n balance: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"balance\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n nonce: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"nonce\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n payable: {\n serializedName: \"payable\",\n type: {\n name: \"Boolean\",\n },\n },\n kind: {\n serializedName: \"kind\",\n type: {\n name: \"Enum\",\n allowedValues: [\"basic\", \"generalized\"],\n },\n },\n contractId: {\n serializedName: \"contract_id\",\n type: {\n name: \"String\",\n },\n },\n authFun: {\n serializedName: \"auth_fun\",\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const ErrorModel: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ErrorModel\",\n modelProperties: {\n reason: {\n serializedName: \"reason\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n errorCode: {\n serializedName: \"error_code\",\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const NextNonceResponse: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"NextNonceResponse\",\n modelProperties: {\n nextNonce: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"next_nonce\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const SignedTxs: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SignedTxs\",\n modelProperties: {\n transactions: {\n serializedName: \"transactions\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SignedTx\",\n },\n },\n },\n },\n },\n },\n};\n\nexport const SignedTx: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SignedTx\",\n modelProperties: {\n tx: {\n serializedName: \"tx\",\n type: {\n name: \"Composite\",\n className: \"Tx\",\n },\n },\n blockHeight: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: -1,\n },\n serializedName: \"block_height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n blockHash: {\n serializedName: \"block_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n hash: {\n serializedName: \"hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n encodedTx: {\n serializedName: \"encoded_tx\",\n type: {\n name: \"String\",\n },\n },\n signatures: {\n serializedName: \"signatures\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\",\n },\n },\n },\n },\n },\n },\n};\n\nexport const Tx: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Tx\",\n modelProperties: {\n recipientId: {\n serializedName: \"recipient_id\",\n type: {\n name: \"String\",\n },\n },\n amount: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"amount\",\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n fee: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"fee\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n ttl: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"ttl\",\n type: {\n name: \"Number\",\n },\n },\n senderId: {\n serializedName: \"sender_id\",\n type: {\n name: \"String\",\n },\n },\n nonce: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"nonce\",\n type: {\n name: \"Number\",\n },\n },\n payload: {\n serializedName: \"payload\",\n type: {\n name: \"String\",\n },\n },\n initiatorId: {\n serializedName: \"initiator_id\",\n type: {\n name: \"String\",\n },\n },\n initiatorAmount: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"initiator_amount\",\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n responderId: {\n serializedName: \"responder_id\",\n type: {\n name: \"String\",\n },\n },\n responderAmount: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"responder_amount\",\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n channelReserve: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"channel_reserve\",\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n lockPeriod: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"lock_period\",\n type: {\n name: \"Number\",\n },\n },\n stateHash: {\n serializedName: \"state_hash\",\n type: {\n name: \"String\",\n },\n },\n delegateIds: {\n serializedName: \"delegate_ids\",\n type: {\n name: \"Composite\",\n className: \"Delegates\",\n },\n },\n channelId: {\n serializedName: \"channel_id\",\n type: {\n name: \"String\",\n },\n },\n fromId: {\n serializedName: \"from_id\",\n type: {\n name: \"String\",\n },\n },\n round: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"round\",\n type: {\n name: \"Number\",\n },\n },\n toId: {\n serializedName: \"to_id\",\n type: {\n name: \"String\",\n },\n },\n update: {\n serializedName: \"update\",\n type: {\n name: \"Composite\",\n className: \"OffChainUpdate\",\n },\n },\n offchainTrees: {\n serializedName: \"offchain_trees\",\n type: {\n name: \"String\",\n },\n },\n initiatorAmountFinal: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"initiator_amount_final\",\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n responderAmountFinal: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"responder_amount_final\",\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n poi: {\n serializedName: \"poi\",\n type: {\n name: \"String\",\n },\n },\n initiatorDelegateIds: {\n serializedName: \"initiator_delegate_ids\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\",\n },\n },\n },\n },\n responderDelegateIds: {\n serializedName: \"responder_delegate_ids\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\",\n },\n },\n },\n },\n queryFormat: {\n serializedName: \"query_format\",\n type: {\n name: \"String\",\n },\n },\n responseFormat: {\n serializedName: \"response_format\",\n type: {\n name: \"String\",\n },\n },\n queryFee: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"query_fee\",\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n oracleTtl: {\n serializedName: \"oracle_ttl\",\n type: {\n name: \"Composite\",\n className: \"RelativeTTL\",\n },\n },\n accountId: {\n serializedName: \"account_id\",\n type: {\n name: \"String\",\n },\n },\n abiVersion: {\n constraints: {\n InclusiveMaximum: 65535,\n InclusiveMinimum: 0,\n },\n serializedName: \"abi_version\",\n type: {\n name: \"Number\",\n },\n },\n oracleId: {\n serializedName: \"oracle_id\",\n type: {\n name: \"String\",\n },\n },\n query: {\n serializedName: \"query\",\n type: {\n name: \"String\",\n },\n },\n queryTtl: {\n serializedName: \"query_ttl\",\n type: {\n name: \"Composite\",\n className: \"Ttl\",\n },\n },\n responseTtl: {\n serializedName: \"response_ttl\",\n type: {\n name: \"Composite\",\n className: \"RelativeTTL\",\n },\n },\n queryId: {\n serializedName: \"query_id\",\n type: {\n name: \"String\",\n },\n },\n response: {\n serializedName: \"response\",\n type: {\n name: \"String\",\n },\n },\n commitmentId: {\n serializedName: \"commitment_id\",\n type: {\n name: \"String\",\n },\n },\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\",\n },\n },\n nameSalt: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"name_salt\",\n type: {\n name: \"Number\",\n },\n },\n nameFee: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"name_fee\",\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n nameId: {\n serializedName: \"name_id\",\n type: {\n name: \"String\",\n },\n },\n nameTtl: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"name_ttl\",\n type: {\n name: \"Number\",\n },\n },\n pointers: {\n serializedName: \"pointers\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"NamePointer\",\n },\n },\n },\n },\n clientTtl: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"client_ttl\",\n type: {\n name: \"Number\",\n },\n },\n ownerId: {\n serializedName: \"owner_id\",\n type: {\n name: \"String\",\n },\n },\n code: {\n serializedName: \"code\",\n type: {\n name: \"String\",\n },\n },\n vmVersion: {\n constraints: {\n InclusiveMaximum: 65535,\n InclusiveMinimum: 0,\n },\n serializedName: \"vm_version\",\n type: {\n name: \"Number\",\n },\n },\n deposit: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"deposit\",\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n gas: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"gas\",\n type: {\n name: \"Number\",\n },\n },\n gasPrice: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"gas_price\",\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n callData: {\n serializedName: \"call_data\",\n type: {\n name: \"String\",\n },\n },\n callerId: {\n serializedName: \"caller_id\",\n type: {\n name: \"String\",\n },\n },\n contractId: {\n serializedName: \"contract_id\",\n type: {\n name: \"String\",\n },\n },\n authFun: {\n constraints: {\n Pattern: new RegExp(\"^(0x|0X)?[a-fA-F0-9]+$\"),\n },\n serializedName: \"auth_fun\",\n type: {\n name: \"String\",\n },\n },\n gaId: {\n serializedName: \"ga_id\",\n type: {\n name: \"String\",\n },\n },\n authData: {\n serializedName: \"auth_data\",\n type: {\n name: \"String\",\n },\n },\n tx: {\n serializedName: \"tx\",\n type: {\n name: \"Composite\",\n className: \"SignedTx\",\n },\n },\n payerId: {\n serializedName: \"payer_id\",\n type: {\n name: \"String\",\n },\n },\n version: {\n constraints: {\n InclusiveMaximum: 4294967295,\n InclusiveMinimum: 0,\n },\n serializedName: \"version\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n type: {\n serializedName: \"type\",\n required: true,\n type: {\n name: \"Enum\",\n allowedValues: [\n \"SpendTx\",\n \"ChannelCreateTx\",\n \"ChannelDepositTx\",\n \"ChannelWithdrawTx\",\n \"ChannelForceProgressTx\",\n \"ChannelCloseMutualTx\",\n \"ChannelCloseSoloTx\",\n \"ChannelSlashTx\",\n \"ChannelSettleTx\",\n \"ChannelSnapshotSoloTx\",\n \"ChannelSetDelegatesTx\",\n \"OracleRegisterTx\",\n \"OracleExtendTx\",\n \"OracleQueryTx\",\n \"OracleRespondTx\",\n \"NamePreclaimTx\",\n \"NameClaimTx\",\n \"NameUpdateTx\",\n \"NameTransferTx\",\n \"NameRevokeTx\",\n \"ContractCreateTx\",\n \"ContractCallTx\",\n \"GAAttachTx\",\n \"GAMetaTx\",\n \"PayingForTx\",\n ],\n },\n },\n },\n },\n};\n\nexport const Delegates: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Delegates\",\n modelProperties: {\n initiator: {\n serializedName: \"initiator\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\",\n },\n },\n },\n },\n responder: {\n serializedName: \"responder\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\",\n },\n },\n },\n },\n },\n },\n};\n\nexport const OffChainUpdate: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"OffChainUpdate\",\n uberParent: \"OffChainUpdate\",\n polymorphicDiscriminator: {\n serializedName: \"op\",\n clientName: \"op\",\n },\n modelProperties: {\n op: {\n serializedName: \"op\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const RelativeTTL: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"RelativeTTL\",\n modelProperties: {\n type: {\n defaultValue: \"delta\",\n isConstant: true,\n serializedName: \"type\",\n type: {\n name: \"String\",\n },\n },\n value: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"value\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const Ttl: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Ttl\",\n modelProperties: {\n type: {\n serializedName: \"type\",\n required: true,\n type: {\n name: \"Enum\",\n allowedValues: [\"delta\", \"block\"],\n },\n },\n value: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"value\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const NamePointer: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"NamePointer\",\n modelProperties: {\n key: {\n serializedName: \"key\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n encodedKey: {\n serializedName: \"encoded_key\",\n type: {\n name: \"String\",\n },\n },\n id: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const AuctionEntry: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AuctionEntry\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n startedAt: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"started_at\",\n type: {\n name: \"Number\",\n },\n },\n endsAt: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"ends_at\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n highestBidder: {\n serializedName: \"highest_bidder\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n highestBid: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"highest_bid\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const Channel: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Channel\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n initiatorId: {\n serializedName: \"initiator_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n responderId: {\n serializedName: \"responder_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n channelAmount: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"channel_amount\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n initiatorAmount: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"initiator_amount\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n responderAmount: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"responder_amount\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n channelReserve: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"channel_reserve\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n delegateIds: {\n serializedName: \"delegate_ids\",\n type: {\n name: \"Composite\",\n className: \"Delegates\",\n },\n },\n stateHash: {\n serializedName: \"state_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n round: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"round\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n soloRound: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"solo_round\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n lockPeriod: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"lock_period\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n lockedUntil: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"locked_until\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const ContractObject: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContractObject\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n ownerId: {\n serializedName: \"owner_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n vmVersion: {\n constraints: {\n InclusiveMaximum: 65535,\n InclusiveMinimum: 0,\n },\n serializedName: \"vm_version\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n abiVersion: {\n constraints: {\n InclusiveMaximum: 65535,\n InclusiveMinimum: 0,\n },\n serializedName: \"abi_version\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n active: {\n serializedName: \"active\",\n required: true,\n type: {\n name: \"Boolean\",\n },\n },\n referrerIds: {\n serializedName: \"referrer_ids\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\",\n },\n },\n },\n },\n deposit: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"deposit\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n },\n },\n};\n\nexport const ByteCode: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ByteCode\",\n modelProperties: {\n bytecode: {\n serializedName: \"bytecode\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const PoI: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PoI\",\n modelProperties: {\n poi: {\n serializedName: \"poi\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const Currency: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Currency\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n symbol: {\n serializedName: \"symbol\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n subunit: {\n serializedName: \"subunit\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n subunitsPerUnit: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"subunits_per_unit\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n fiatConverstionUrl: {\n serializedName: \"fiat_converstion_url\",\n type: {\n name: \"String\",\n },\n },\n fiatConversionUrl: {\n serializedName: \"fiat_conversion_url\",\n type: {\n name: \"String\",\n },\n },\n logo: {\n serializedName: \"logo\",\n type: {\n name: \"Composite\",\n className: \"Image\",\n },\n },\n primaryColour: {\n serializedName: \"primary_colour\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n secondaryColour: {\n serializedName: \"secondary_colour\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n networkName: {\n serializedName: \"network_name\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const Image: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Image\",\n modelProperties: {\n type: {\n serializedName: \"type\",\n type: {\n name: \"String\",\n },\n },\n data: {\n serializedName: \"data\",\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const DryRunInput: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DryRunInput\",\n modelProperties: {\n top: {\n serializedName: \"top\",\n type: {\n name: \"String\",\n },\n },\n accounts: {\n serializedName: \"accounts\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DryRunAccount\",\n },\n },\n },\n },\n txs: {\n serializedName: \"txs\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DryRunInputItem\",\n },\n },\n },\n },\n txEvents: {\n defaultValue: false,\n serializedName: \"tx_events\",\n type: {\n name: \"Boolean\",\n },\n },\n },\n },\n};\n\nexport const DryRunAccount: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DryRunAccount\",\n modelProperties: {\n pubKey: {\n serializedName: \"pub_key\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n amount: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"amount\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n },\n },\n};\n\nexport const DryRunInputItem: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DryRunInputItem\",\n modelProperties: {\n tx: {\n serializedName: \"tx\",\n type: {\n name: \"String\",\n },\n },\n txHash: {\n serializedName: \"tx_hash\",\n type: {\n name: \"String\",\n },\n },\n callReq: {\n serializedName: \"call_req\",\n type: {\n name: \"Composite\",\n className: \"DryRunCallReq\",\n },\n },\n },\n },\n};\n\nexport const DryRunCallReq: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DryRunCallReq\",\n modelProperties: {\n calldata: {\n serializedName: \"calldata\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n contract: {\n serializedName: \"contract\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n amount: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"amount\",\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n gas: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"gas\",\n type: {\n name: \"Number\",\n },\n },\n caller: {\n serializedName: \"caller\",\n type: {\n name: \"String\",\n },\n },\n nonce: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"nonce\",\n type: {\n name: \"Number\",\n },\n },\n abiVersion: {\n constraints: {\n InclusiveMaximum: 65535,\n InclusiveMinimum: 0,\n },\n serializedName: \"abi_version\",\n type: {\n name: \"Number\",\n },\n },\n context: {\n serializedName: \"context\",\n type: {\n name: \"Composite\",\n className: \"DryRunCallContext\",\n },\n },\n },\n },\n};\n\nexport const DryRunCallContext: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DryRunCallContext\",\n modelProperties: {\n tx: {\n serializedName: \"tx\",\n type: {\n name: \"String\",\n },\n },\n txHash: {\n serializedName: \"tx_hash\",\n type: {\n name: \"String\",\n },\n },\n stateful: {\n serializedName: \"stateful\",\n type: {\n name: \"Boolean\",\n },\n },\n },\n },\n};\n\nexport const DryRunResults: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DryRunResults\",\n modelProperties: {\n results: {\n serializedName: \"results\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DryRunResult\",\n },\n },\n },\n },\n txEvents: {\n serializedName: \"tx_events\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } },\n },\n },\n },\n },\n },\n },\n};\n\nexport const DryRunResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DryRunResult\",\n modelProperties: {\n type: {\n serializedName: \"type\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n result: {\n serializedName: \"result\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n reason: {\n serializedName: \"reason\",\n type: {\n name: \"String\",\n },\n },\n callObj: {\n serializedName: \"call_obj\",\n type: {\n name: \"Composite\",\n className: \"ContractCallObject\",\n },\n },\n },\n },\n};\n\nexport const ContractCallObject: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContractCallObject\",\n modelProperties: {\n callerId: {\n serializedName: \"caller_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n callerNonce: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"caller_nonce\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n height: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n contractId: {\n serializedName: \"contract_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n gasPrice: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"gas_price\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n gasUsed: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"gas_used\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n log: {\n serializedName: \"log\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Event\",\n },\n },\n },\n },\n returnValue: {\n serializedName: \"return_value\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n returnType: {\n serializedName: \"return_type\",\n required: true,\n type: {\n name: \"Enum\",\n allowedValues: [\"ok\", \"error\", \"revert\"],\n },\n },\n },\n },\n};\n\nexport const Event: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Event\",\n modelProperties: {\n address: {\n serializedName: \"address\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n topics: {\n serializedName: \"topics\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n constraints: {\n InclusiveMinimum: 0,\n },\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n },\n },\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const Generation: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Generation\",\n modelProperties: {\n keyBlock: {\n serializedName: \"key_block\",\n type: {\n name: \"Composite\",\n className: \"KeyBlock\",\n },\n },\n microBlocks: {\n serializedName: \"micro_blocks\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\",\n },\n },\n },\n },\n },\n },\n};\n\nexport const KeyBlock: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"KeyBlock\",\n modelProperties: {\n hash: {\n serializedName: \"hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n height: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n prevHash: {\n serializedName: \"prev_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n prevKeyHash: {\n serializedName: \"prev_key_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n stateHash: {\n serializedName: \"state_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n miner: {\n serializedName: \"miner\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n beneficiary: {\n serializedName: \"beneficiary\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n target: {\n constraints: {\n InclusiveMaximum: 4294967295,\n InclusiveMinimum: 0,\n },\n serializedName: \"target\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n pow: {\n constraints: {\n MinItems: 42,\n MaxItems: 42,\n },\n serializedName: \"pow\",\n type: {\n name: \"Sequence\",\n element: {\n constraints: {\n InclusiveMaximum: 4294967295,\n InclusiveMinimum: 0,\n },\n type: {\n name: \"Number\",\n },\n },\n },\n },\n nonce: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"nonce\",\n type: {\n name: \"Number\",\n },\n },\n time: {\n serializedName: \"time\",\n required: true,\n type: {\n name: \"UnixTime\",\n },\n },\n version: {\n constraints: {\n InclusiveMaximum: 4294967295,\n InclusiveMinimum: 0,\n },\n serializedName: \"version\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n info: {\n serializedName: \"info\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const Header: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Header\",\n modelProperties: {\n hash: {\n serializedName: \"hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n height: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n prevHash: {\n serializedName: \"prev_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n prevKeyHash: {\n serializedName: \"prev_key_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n stateHash: {\n serializedName: \"state_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n miner: {\n serializedName: \"miner\",\n type: {\n name: \"String\",\n },\n },\n beneficiary: {\n serializedName: \"beneficiary\",\n type: {\n name: \"String\",\n },\n },\n target: {\n constraints: {\n InclusiveMaximum: 4294967295,\n InclusiveMinimum: 0,\n },\n serializedName: \"target\",\n type: {\n name: \"Number\",\n },\n },\n pow: {\n constraints: {\n MinItems: 42,\n MaxItems: 42,\n },\n serializedName: \"pow\",\n type: {\n name: \"Sequence\",\n element: {\n constraints: {\n InclusiveMaximum: 4294967295,\n InclusiveMinimum: 0,\n },\n type: {\n name: \"Number\",\n },\n },\n },\n },\n nonce: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"nonce\",\n type: {\n name: \"Number\",\n },\n },\n time: {\n serializedName: \"time\",\n required: true,\n type: {\n name: \"UnixTime\",\n },\n },\n version: {\n constraints: {\n InclusiveMaximum: 4294967295,\n InclusiveMinimum: 0,\n },\n serializedName: \"version\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n info: {\n serializedName: \"info\",\n type: {\n name: \"String\",\n },\n },\n pofHash: {\n serializedName: \"pof_hash\",\n type: {\n name: \"String\",\n },\n },\n txsHash: {\n serializedName: \"txs_hash\",\n type: {\n name: \"String\",\n },\n },\n signature: {\n serializedName: \"signature\",\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const HashResponse: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"HashResponse\",\n modelProperties: {\n hash: {\n serializedName: \"hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const HeightResponse: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"HeightResponse\",\n modelProperties: {\n height: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const MicroBlockHeader: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"MicroBlockHeader\",\n modelProperties: {\n hash: {\n serializedName: \"hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n height: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n pofHash: {\n serializedName: \"pof_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n prevHash: {\n serializedName: \"prev_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n prevKeyHash: {\n serializedName: \"prev_key_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n stateHash: {\n serializedName: \"state_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n txsHash: {\n serializedName: \"txs_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n signature: {\n serializedName: \"signature\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n time: {\n serializedName: \"time\",\n required: true,\n type: {\n name: \"UnixTime\",\n },\n },\n version: {\n constraints: {\n InclusiveMaximum: 4294967295,\n InclusiveMinimum: 0,\n },\n serializedName: \"version\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const CountResponse: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CountResponse\",\n modelProperties: {\n count: {\n constraints: {\n InclusiveMaximum: 4294967295,\n InclusiveMinimum: 0,\n },\n serializedName: \"count\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const NameEntry: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"NameEntry\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n owner: {\n serializedName: \"owner\",\n type: {\n name: \"String\",\n },\n },\n ttl: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"ttl\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n pointers: {\n serializedName: \"pointers\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"NamePointer\",\n },\n },\n },\n },\n },\n },\n};\n\nexport const RegisteredOracle: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"RegisteredOracle\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n queryFormat: {\n serializedName: \"query_format\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n responseFormat: {\n serializedName: \"response_format\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n queryFee: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"query_fee\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n ttl: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"ttl\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n abiVersion: {\n constraints: {\n InclusiveMaximum: 65535,\n InclusiveMinimum: 0,\n },\n serializedName: \"abi_version\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const OracleQueries: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"OracleQueries\",\n modelProperties: {\n oracleQueries: {\n serializedName: \"oracle_queries\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"OracleQuery\",\n },\n },\n },\n },\n },\n },\n};\n\nexport const OracleQuery: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"OracleQuery\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n senderId: {\n serializedName: \"sender_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n senderNonce: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"sender_nonce\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n oracleId: {\n serializedName: \"oracle_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n query: {\n serializedName: \"query\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n response: {\n serializedName: \"response\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n ttl: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"ttl\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n responseTtl: {\n serializedName: \"response_ttl\",\n type: {\n name: \"Composite\",\n className: \"Ttl\",\n },\n },\n fee: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"fee\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n },\n },\n};\n\nexport const PeerPubKey: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeerPubKey\",\n modelProperties: {\n pubkey: {\n serializedName: \"pubkey\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const GasPricesItem: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"GasPricesItem\",\n modelProperties: {\n minGasPrice: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"min_gas_price\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n utilization: {\n constraints: {\n InclusiveMaximum: 100,\n InclusiveMinimum: 0,\n },\n serializedName: \"utilization\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n minutes: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"minutes\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const Status: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Status\",\n modelProperties: {\n genesisKeyBlockHash: {\n serializedName: \"genesis_key_block_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n solutions: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"solutions\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n difficulty: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"difficulty\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n hashrate: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"hashrate\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n syncing: {\n serializedName: \"syncing\",\n required: true,\n type: {\n name: \"Boolean\",\n },\n },\n syncProgress: {\n constraints: {\n InclusiveMaximum: 100,\n InclusiveMinimum: 0,\n },\n serializedName: \"sync_progress\",\n type: {\n name: \"Number\",\n },\n },\n uptime: {\n serializedName: \"uptime\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n listening: {\n serializedName: \"listening\",\n required: true,\n type: {\n name: \"Boolean\",\n },\n },\n protocols: {\n serializedName: \"protocols\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Protocol\",\n },\n },\n },\n },\n nodeVersion: {\n serializedName: \"node_version\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n nodeRevision: {\n serializedName: \"node_revision\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n peerCount: {\n constraints: {\n InclusiveMaximum: 4294967295,\n InclusiveMinimum: 0,\n },\n serializedName: \"peer_count\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n peerConnections: {\n serializedName: \"peer_connections\",\n type: {\n name: \"Composite\",\n className: \"PeerConnections\",\n },\n },\n pendingTransactionsCount: {\n constraints: {\n InclusiveMaximum: 4294967295,\n InclusiveMinimum: 0,\n },\n serializedName: \"pending_transactions_count\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n networkId: {\n serializedName: \"network_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n peerPubkey: {\n serializedName: \"peer_pubkey\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n topKeyBlockHash: {\n serializedName: \"top_key_block_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n topBlockHeight: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"top_block_height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const Protocol: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Protocol\",\n modelProperties: {\n version: {\n constraints: {\n InclusiveMaximum: 4294967295,\n InclusiveMinimum: 0,\n },\n serializedName: \"version\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n effectiveAtHeight: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"effective_at_height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const PeerConnections: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeerConnections\",\n modelProperties: {\n inbound: {\n constraints: {\n InclusiveMaximum: 4294967295,\n InclusiveMinimum: 0,\n },\n serializedName: \"inbound\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n outbound: {\n constraints: {\n InclusiveMaximum: 4294967295,\n InclusiveMinimum: 0,\n },\n serializedName: \"outbound\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const SyncStatus: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SyncStatus\",\n modelProperties: {\n progress: {\n serializedName: \"progress\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n target: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"target\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n speed: {\n serializedName: \"speed\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n estimate: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"estimate\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const EncodedTx: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"EncodedTx\",\n modelProperties: {\n tx: {\n serializedName: \"tx\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const PostTxResponse: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PostTxResponse\",\n modelProperties: {\n txHash: {\n serializedName: \"tx_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const TxInfoObject: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"TxInfoObject\",\n modelProperties: {\n callInfo: {\n serializedName: \"call_info\",\n type: {\n name: \"Composite\",\n className: \"ContractCallObject\",\n },\n },\n gaInfo: {\n serializedName: \"ga_info\",\n type: {\n name: \"Composite\",\n className: \"GAObject\",\n },\n },\n txInfo: {\n serializedName: \"tx_info\",\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const GAObject: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"GAObject\",\n modelProperties: {\n callerId: {\n serializedName: \"caller_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n height: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n gasPrice: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"gas_price\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n gasUsed: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"gas_used\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n returnValue: {\n serializedName: \"return_value\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n returnType: {\n serializedName: \"return_type\",\n required: true,\n type: {\n name: \"Enum\",\n allowedValues: [\"ok\", \"error\"],\n },\n },\n innerObject: {\n serializedName: \"inner_object\",\n type: {\n name: \"Composite\",\n className: \"TxInfoObject\",\n },\n },\n },\n },\n};\n\nexport const ChannelCloseMutualTx: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChannelCloseMutualTx\",\n modelProperties: {\n channelId: {\n serializedName: \"channel_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n fromId: {\n serializedName: \"from_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n initiatorAmountFinal: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"initiator_amount_final\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n responderAmountFinal: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"responder_amount_final\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n ttl: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"ttl\",\n type: {\n name: \"Number\",\n },\n },\n fee: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"fee\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n nonce: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"nonce\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const ChannelCloseSoloTx: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChannelCloseSoloTx\",\n modelProperties: {\n channelId: {\n serializedName: \"channel_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n fromId: {\n serializedName: \"from_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n payload: {\n serializedName: \"payload\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n ttl: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"ttl\",\n type: {\n name: \"Number\",\n },\n },\n fee: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"fee\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n nonce: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"nonce\",\n type: {\n name: \"Number\",\n },\n },\n poi: {\n serializedName: \"poi\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const ChannelCreateTx: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChannelCreateTx\",\n modelProperties: {\n initiatorId: {\n serializedName: \"initiator_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n initiatorAmount: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"initiator_amount\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n responderId: {\n serializedName: \"responder_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n responderAmount: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"responder_amount\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n channelReserve: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"channel_reserve\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n lockPeriod: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"lock_period\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n ttl: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"ttl\",\n type: {\n name: \"Number\",\n },\n },\n fee: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"fee\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n nonce: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"nonce\",\n type: {\n name: \"Number\",\n },\n },\n stateHash: {\n serializedName: \"state_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n delegateIds: {\n serializedName: \"delegate_ids\",\n type: {\n name: \"Composite\",\n className: \"Delegates\",\n },\n },\n },\n },\n};\n\nexport const ChannelDepositTx: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChannelDepositTx\",\n modelProperties: {\n channelId: {\n serializedName: \"channel_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n fromId: {\n serializedName: \"from_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n amount: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"amount\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n ttl: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"ttl\",\n type: {\n name: \"Number\",\n },\n },\n fee: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"fee\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n nonce: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"nonce\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n stateHash: {\n serializedName: \"state_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n round: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"round\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const ChannelForceProgressTx: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChannelForceProgressTx\",\n modelProperties: {\n channelId: {\n serializedName: \"channel_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n fromId: {\n serializedName: \"from_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n payload: {\n serializedName: \"payload\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n round: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"round\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n update: {\n serializedName: \"update\",\n type: {\n name: \"Composite\",\n className: \"OffChainUpdate\",\n },\n },\n stateHash: {\n serializedName: \"state_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n ttl: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"ttl\",\n type: {\n name: \"Number\",\n },\n },\n fee: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"fee\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n nonce: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"nonce\",\n type: {\n name: \"Number\",\n },\n },\n offchainTrees: {\n serializedName: \"offchain_trees\",\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const ChannelSetDelegatesTx: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChannelSetDelegatesTx\",\n modelProperties: {\n channelId: {\n serializedName: \"channel_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n fromId: {\n serializedName: \"from_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n initiatorDelegateIds: {\n serializedName: \"initiator_delegate_ids\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\",\n },\n },\n },\n },\n responderDelegateIds: {\n serializedName: \"responder_delegate_ids\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\",\n },\n },\n },\n },\n stateHash: {\n serializedName: \"state_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n round: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"round\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n payload: {\n serializedName: \"payload\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n ttl: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"ttl\",\n type: {\n name: \"Number\",\n },\n },\n fee: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"fee\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n nonce: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"nonce\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const ChannelSettleTx: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChannelSettleTx\",\n modelProperties: {\n channelId: {\n serializedName: \"channel_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n fromId: {\n serializedName: \"from_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n initiatorAmountFinal: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"initiator_amount_final\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n responderAmountFinal: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"responder_amount_final\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n ttl: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"ttl\",\n type: {\n name: \"Number\",\n },\n },\n fee: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"fee\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n nonce: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"nonce\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const ChannelSlashTx: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChannelSlashTx\",\n modelProperties: {\n channelId: {\n serializedName: \"channel_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n fromId: {\n serializedName: \"from_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n payload: {\n serializedName: \"payload\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n ttl: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"ttl\",\n type: {\n name: \"Number\",\n },\n },\n fee: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"fee\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n nonce: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"nonce\",\n type: {\n name: \"Number\",\n },\n },\n poi: {\n serializedName: \"poi\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const ChannelSnapshotSoloTx: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChannelSnapshotSoloTx\",\n modelProperties: {\n channelId: {\n serializedName: \"channel_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n fromId: {\n serializedName: \"from_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n payload: {\n serializedName: \"payload\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n ttl: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"ttl\",\n type: {\n name: \"Number\",\n },\n },\n fee: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"fee\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n nonce: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"nonce\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const ChannelWithdrawTx: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ChannelWithdrawTx\",\n modelProperties: {\n channelId: {\n serializedName: \"channel_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n toId: {\n serializedName: \"to_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n amount: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"amount\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n ttl: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"ttl\",\n type: {\n name: \"Number\",\n },\n },\n fee: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"fee\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n nonce: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"nonce\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n stateHash: {\n serializedName: \"state_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n round: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"round\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const CheckTxInPoolResponse: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CheckTxInPoolResponse\",\n modelProperties: {\n status: {\n serializedName: \"status\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const CommitmentId: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommitmentId\",\n modelProperties: {\n commitmentId: {\n serializedName: \"commitment_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const ContractCallTx: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContractCallTx\",\n modelProperties: {\n callerId: {\n serializedName: \"caller_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n nonce: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"nonce\",\n type: {\n name: \"Number\",\n },\n },\n contractId: {\n serializedName: \"contract_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n abiVersion: {\n constraints: {\n InclusiveMaximum: 65535,\n InclusiveMinimum: 0,\n },\n serializedName: \"abi_version\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n fee: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"fee\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n ttl: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"ttl\",\n type: {\n name: \"Number\",\n },\n },\n amount: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"amount\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n gas: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"gas\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n gasPrice: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"gas_price\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n callData: {\n serializedName: \"call_data\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const ContractCreateTx: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContractCreateTx\",\n modelProperties: {\n ownerId: {\n serializedName: \"owner_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n nonce: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"nonce\",\n type: {\n name: \"Number\",\n },\n },\n code: {\n serializedName: \"code\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n vmVersion: {\n constraints: {\n InclusiveMaximum: 65535,\n InclusiveMinimum: 0,\n },\n serializedName: \"vm_version\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n abiVersion: {\n constraints: {\n InclusiveMaximum: 65535,\n InclusiveMinimum: 0,\n },\n serializedName: \"abi_version\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n deposit: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"deposit\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n amount: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"amount\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n gas: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"gas\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n gasPrice: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"gas_price\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n fee: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"fee\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n ttl: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"ttl\",\n type: {\n name: \"Number\",\n },\n },\n callData: {\n serializedName: \"call_data\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const UnsignedTx: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"UnsignedTx\",\n modelProperties: {\n tx: {\n serializedName: \"tx\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const GAAttachTx: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"GAAttachTx\",\n modelProperties: {\n ownerId: {\n serializedName: \"owner_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n nonce: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"nonce\",\n type: {\n name: \"Number\",\n },\n },\n code: {\n serializedName: \"code\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n vmVersion: {\n constraints: {\n InclusiveMaximum: 65535,\n InclusiveMinimum: 0,\n },\n serializedName: \"vm_version\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n abiVersion: {\n constraints: {\n InclusiveMaximum: 65535,\n InclusiveMinimum: 0,\n },\n serializedName: \"abi_version\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n gas: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"gas\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n gasPrice: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"gas_price\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n fee: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"fee\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n ttl: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"ttl\",\n type: {\n name: \"Number\",\n },\n },\n callData: {\n serializedName: \"call_data\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n authFun: {\n constraints: {\n Pattern: new RegExp(\"^(0x|0X)?[a-fA-F0-9]+$\"),\n },\n serializedName: \"auth_fun\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const GAMetaTx: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"GAMetaTx\",\n modelProperties: {\n gaId: {\n serializedName: \"ga_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n abiVersion: {\n constraints: {\n InclusiveMaximum: 65535,\n InclusiveMinimum: 0,\n },\n serializedName: \"abi_version\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n gas: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"gas\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n gasPrice: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"gas_price\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n fee: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"fee\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n ttl: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"ttl\",\n type: {\n name: \"Number\",\n },\n },\n authData: {\n serializedName: \"auth_data\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n tx: {\n serializedName: \"tx\",\n type: {\n name: \"Composite\",\n className: \"SignedTx\",\n },\n },\n },\n },\n};\n\nexport const NameClaimTx: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"NameClaimTx\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n nameSalt: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"name_salt\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n nameFee: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"name_fee\",\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n fee: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"fee\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n ttl: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"ttl\",\n type: {\n name: \"Number\",\n },\n },\n accountId: {\n serializedName: \"account_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n nonce: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"nonce\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const NameHash: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"NameHash\",\n modelProperties: {\n nameId: {\n serializedName: \"name_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const NamePreclaimTx: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"NamePreclaimTx\",\n modelProperties: {\n commitmentId: {\n serializedName: \"commitment_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n fee: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"fee\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n ttl: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"ttl\",\n type: {\n name: \"Number\",\n },\n },\n accountId: {\n serializedName: \"account_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n nonce: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"nonce\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const NameRevokeTx: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"NameRevokeTx\",\n modelProperties: {\n nameId: {\n serializedName: \"name_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n fee: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"fee\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n ttl: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"ttl\",\n type: {\n name: \"Number\",\n },\n },\n accountId: {\n serializedName: \"account_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n nonce: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"nonce\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const NameTransferTx: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"NameTransferTx\",\n modelProperties: {\n nameId: {\n serializedName: \"name_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n recipientId: {\n serializedName: \"recipient_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n fee: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"fee\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n ttl: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"ttl\",\n type: {\n name: \"Number\",\n },\n },\n accountId: {\n serializedName: \"account_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n nonce: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"nonce\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const NameUpdateTx: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"NameUpdateTx\",\n modelProperties: {\n nameId: {\n serializedName: \"name_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n nameTtl: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"name_ttl\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n pointers: {\n serializedName: \"pointers\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"NamePointer\",\n },\n },\n },\n },\n clientTtl: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"client_ttl\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n fee: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"fee\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n ttl: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"ttl\",\n type: {\n name: \"Number\",\n },\n },\n accountId: {\n serializedName: \"account_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n nonce: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"nonce\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const PeerDetails: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeerDetails\",\n modelProperties: {\n host: {\n serializedName: \"host\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n port: {\n constraints: {\n InclusiveMaximum: 4294967295,\n InclusiveMinimum: 0,\n },\n serializedName: \"port\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n firstSeen: {\n constraints: {\n InclusiveMaximum: 4294967295,\n InclusiveMinimum: 0,\n },\n serializedName: \"first_seen\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n lastSeen: {\n constraints: {\n InclusiveMaximum: 4294967295,\n InclusiveMinimum: 0,\n },\n serializedName: \"last_seen\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n genesisHash: {\n serializedName: \"genesis_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n topHash: {\n serializedName: \"top_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n topDifficulty: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"top_difficulty\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n networkId: {\n serializedName: \"network_id\",\n type: {\n name: \"String\",\n },\n },\n nodeVersion: {\n serializedName: \"node_version\",\n type: {\n name: \"String\",\n },\n },\n nodeRevision: {\n serializedName: \"node_revision\",\n type: {\n name: \"String\",\n },\n },\n nodeVendor: {\n serializedName: \"node_vendor\",\n type: {\n name: \"String\",\n },\n },\n nodeOs: {\n serializedName: \"node_os\",\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const OracleExtendTx: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"OracleExtendTx\",\n modelProperties: {\n fee: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"fee\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n oracleTtl: {\n serializedName: \"oracle_ttl\",\n type: {\n name: \"Composite\",\n className: \"RelativeTTL\",\n },\n },\n oracleId: {\n serializedName: \"oracle_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n nonce: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"nonce\",\n type: {\n name: \"Number\",\n },\n },\n ttl: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"ttl\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const OracleQueryTx: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"OracleQueryTx\",\n modelProperties: {\n oracleId: {\n serializedName: \"oracle_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n query: {\n serializedName: \"query\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n queryFee: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"query_fee\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n queryTtl: {\n serializedName: \"query_ttl\",\n type: {\n name: \"Composite\",\n className: \"Ttl\",\n },\n },\n responseTtl: {\n serializedName: \"response_ttl\",\n type: {\n name: \"Composite\",\n className: \"RelativeTTL\",\n },\n },\n fee: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"fee\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n ttl: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"ttl\",\n type: {\n name: \"Number\",\n },\n },\n senderId: {\n serializedName: \"sender_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n nonce: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"nonce\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const OracleRegisterTx: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"OracleRegisterTx\",\n modelProperties: {\n queryFormat: {\n serializedName: \"query_format\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n responseFormat: {\n serializedName: \"response_format\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n queryFee: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"query_fee\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n oracleTtl: {\n serializedName: \"oracle_ttl\",\n type: {\n name: \"Composite\",\n className: \"Ttl\",\n },\n },\n accountId: {\n serializedName: \"account_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n nonce: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"nonce\",\n type: {\n name: \"Number\",\n },\n },\n fee: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"fee\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n ttl: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"ttl\",\n type: {\n name: \"Number\",\n },\n },\n abiVersion: {\n constraints: {\n InclusiveMaximum: 65535,\n InclusiveMinimum: 0,\n },\n serializedName: \"abi_version\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const OracleRespondTx: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"OracleRespondTx\",\n modelProperties: {\n queryId: {\n serializedName: \"query_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n response: {\n serializedName: \"response\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n responseTtl: {\n serializedName: \"response_ttl\",\n type: {\n name: \"Composite\",\n className: \"RelativeTTL\",\n },\n },\n fee: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"fee\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n ttl: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"ttl\",\n type: {\n name: \"Number\",\n },\n },\n oracleId: {\n serializedName: \"oracle_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n nonce: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"nonce\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const PayingForTx: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PayingForTx\",\n modelProperties: {\n payerId: {\n serializedName: \"payer_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n fee: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"fee\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n nonce: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"nonce\",\n type: {\n name: \"Number\",\n },\n },\n tx: {\n serializedName: \"tx\",\n type: {\n name: \"Composite\",\n className: \"SignedTx\",\n },\n },\n },\n },\n};\n\nexport const PeerCount: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeerCount\",\n modelProperties: {\n connected: {\n serializedName: \"connected\",\n type: {\n name: \"Composite\",\n className: \"PeerCountConnected\",\n },\n },\n available: {\n serializedName: \"available\",\n type: {\n name: \"Composite\",\n className: \"PeerCountAvailable\",\n },\n },\n blocked: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"blocked\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const PeerCountConnected: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeerCountConnected\",\n modelProperties: {\n inbound: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"inbound\",\n type: {\n name: \"Number\",\n },\n },\n outbound: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"outbound\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const PeerCountAvailable: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PeerCountAvailable\",\n modelProperties: {\n verified: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"verified\",\n type: {\n name: \"Number\",\n },\n },\n unverified: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"unverified\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const Peers: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Peers\",\n modelProperties: {\n peers: {\n serializedName: \"peers\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\",\n },\n },\n },\n },\n blocked: {\n serializedName: \"blocked\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\",\n },\n },\n },\n },\n },\n },\n};\n\nexport const PubKey: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PubKey\",\n modelProperties: {\n pubKey: {\n serializedName: \"pub_key\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const SpendTx: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SpendTx\",\n modelProperties: {\n recipientId: {\n serializedName: \"recipient_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n amount: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"amount\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n fee: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"fee\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n ttl: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"ttl\",\n type: {\n name: \"Number\",\n },\n },\n senderId: {\n serializedName: \"sender_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n nonce: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"nonce\",\n type: {\n name: \"Number\",\n },\n },\n payload: {\n serializedName: \"payload\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const TokenSupply: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"TokenSupply\",\n modelProperties: {\n accounts: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"accounts\",\n type: {\n name: \"Number\",\n },\n },\n contracts: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"contracts\",\n type: {\n name: \"Number\",\n },\n },\n contractOracles: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"contract_oracles\",\n type: {\n name: \"Number\",\n },\n },\n locked: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"locked\",\n type: {\n name: \"Number\",\n },\n },\n oracles: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"oracles\",\n type: {\n name: \"Number\",\n },\n },\n oracleQueries: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"oracle_queries\",\n type: {\n name: \"Number\",\n },\n },\n pendingRewards: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"pending_rewards\",\n type: {\n name: \"Number\",\n },\n },\n total: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"total\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const OffChainCallContract: coreClient.CompositeMapper = {\n serializedName: \"OffChainCallContract\",\n type: {\n name: \"Composite\",\n className: \"OffChainCallContract\",\n uberParent: \"OffChainUpdate\",\n polymorphicDiscriminator: OffChainUpdate.type.polymorphicDiscriminator,\n modelProperties: {\n ...OffChainUpdate.type.modelProperties,\n caller: {\n serializedName: \"caller\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n contract: {\n serializedName: \"contract\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n abiVersion: {\n constraints: {\n InclusiveMaximum: 65535,\n InclusiveMinimum: 0,\n },\n serializedName: \"abi_version\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n amount: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"amount\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n gas: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"gas\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n gasPrice: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"gas_price\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n callData: {\n serializedName: \"call_data\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const OffChainDeposit: coreClient.CompositeMapper = {\n serializedName: \"OffChainDeposit\",\n type: {\n name: \"Composite\",\n className: \"OffChainDeposit\",\n uberParent: \"OffChainUpdate\",\n polymorphicDiscriminator: OffChainUpdate.type.polymorphicDiscriminator,\n modelProperties: {\n ...OffChainUpdate.type.modelProperties,\n from: {\n serializedName: \"from\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n amount: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"amount\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n },\n },\n};\n\nexport const OffChainNewContract: coreClient.CompositeMapper = {\n serializedName: \"OffChainNewContract\",\n type: {\n name: \"Composite\",\n className: \"OffChainNewContract\",\n uberParent: \"OffChainUpdate\",\n polymorphicDiscriminator: OffChainUpdate.type.polymorphicDiscriminator,\n modelProperties: {\n ...OffChainUpdate.type.modelProperties,\n owner: {\n serializedName: \"owner\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n vmVersion: {\n constraints: {\n InclusiveMaximum: 65535,\n InclusiveMinimum: 0,\n },\n serializedName: \"vm_version\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n abiVersion: {\n constraints: {\n InclusiveMaximum: 65535,\n InclusiveMinimum: 0,\n },\n serializedName: \"abi_version\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n code: {\n serializedName: \"code\",\n type: {\n name: \"Composite\",\n className: \"ByteCode\",\n },\n },\n deposit: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"deposit\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n callData: {\n serializedName: \"call_data\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const OffChainTransfer: coreClient.CompositeMapper = {\n serializedName: \"OffChainTransfer\",\n type: {\n name: \"Composite\",\n className: \"OffChainTransfer\",\n uberParent: \"OffChainUpdate\",\n polymorphicDiscriminator: OffChainUpdate.type.polymorphicDiscriminator,\n modelProperties: {\n ...OffChainUpdate.type.modelProperties,\n from: {\n serializedName: \"from\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n to: {\n serializedName: \"to\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n amount: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"amount\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n },\n },\n};\n\nexport const OffChainWithdrawal: coreClient.CompositeMapper = {\n serializedName: \"OffChainWithdrawal\",\n type: {\n name: \"Composite\",\n className: \"OffChainWithdrawal\",\n uberParent: \"OffChainUpdate\",\n polymorphicDiscriminator: OffChainUpdate.type.polymorphicDiscriminator,\n modelProperties: {\n ...OffChainUpdate.type.modelProperties,\n to: {\n serializedName: \"to\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n amount: {\n constraints: {\n InclusiveMinimum: 0,\n },\n serializedName: \"amount\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n },\n },\n};\n\nexport const CreateContractUnsignedTx: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CreateContractUnsignedTx\",\n modelProperties: {\n ...UnsignedTx.type.modelProperties,\n contractId: {\n serializedName: \"contract_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport let discriminators = {\n OffChainUpdate: OffChainUpdate,\n \"OffChainUpdate.OffChainCallContract\": OffChainCallContract,\n \"OffChainUpdate.OffChainDeposit\": OffChainDeposit,\n \"OffChainUpdate.OffChainNewContract\": OffChainNewContract,\n \"OffChainUpdate.OffChainTransfer\": OffChainTransfer,\n \"OffChainUpdate.OffChainWithdrawal\": OffChainWithdrawal,\n};\n","import {\n OperationParameter,\n OperationURLParameter,\n OperationQueryParameter,\n} from \"@azure/core-client\";\nimport {\n DryRunInput as DryRunInputMapper,\n EncodedTx as EncodedTxMapper,\n} from \"../models/mappers.js\";\n\nexport const accept: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Accept\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const $host: OperationURLParameter = {\n parameterPath: \"$host\",\n mapper: {\n serializedName: \"$host\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n skipEncoding: true,\n};\n\nexport const pubkey: OperationURLParameter = {\n parameterPath: \"pubkey\",\n mapper: {\n serializedName: \"pubkey\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const hash: OperationURLParameter = {\n parameterPath: \"hash\",\n mapper: {\n serializedName: \"hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const height: OperationURLParameter = {\n parameterPath: \"height\",\n mapper: {\n constraints: {\n InclusiveMaximum: 18446744073709552000,\n InclusiveMinimum: 0,\n },\n serializedName: \"height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n};\n\nexport const strategy: OperationQueryParameter = {\n parameterPath: [\"options\", \"strategy\"],\n mapper: {\n defaultValue: \"max\",\n serializedName: \"strategy\",\n type: {\n name: \"Enum\",\n allowedValues: [\"max\", \"continuity\"],\n },\n },\n};\n\nexport const name: OperationURLParameter = {\n parameterPath: \"name\",\n mapper: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const contentType: OperationParameter = {\n parameterPath: [\"options\", \"contentType\"],\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const body: OperationParameter = {\n parameterPath: \"body\",\n mapper: DryRunInputMapper,\n};\n\nexport const index: OperationURLParameter = {\n parameterPath: \"index\",\n mapper: {\n constraints: {\n InclusiveMinimum: 1,\n },\n serializedName: \"index\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n};\n\nexport const nameHash: OperationURLParameter = {\n parameterPath: \"nameHash\",\n mapper: {\n serializedName: \"name_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const fromParam: OperationQueryParameter = {\n parameterPath: [\"options\", \"from\"],\n mapper: {\n serializedName: \"from\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const limit: OperationQueryParameter = {\n parameterPath: [\"options\", \"limit\"],\n mapper: {\n defaultValue: 20,\n constraints: {\n InclusiveMaximum: 1000,\n InclusiveMinimum: 1,\n },\n serializedName: \"limit\",\n type: {\n name: \"Number\",\n },\n },\n};\n\nexport const typeParam: OperationQueryParameter = {\n parameterPath: [\"options\", \"type\"],\n mapper: {\n defaultValue: \"all\",\n serializedName: \"type\",\n type: {\n name: \"Enum\",\n allowedValues: [\"open\", \"closed\", \"all\"],\n },\n },\n};\n\nexport const queryId: OperationURLParameter = {\n parameterPath: \"queryId\",\n mapper: {\n serializedName: \"query-id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const body1: OperationParameter = {\n parameterPath: \"body\",\n mapper: EncodedTxMapper,\n};\n","import { createSerializer } from \"../../utils/autorest.js\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Parameters from \"./models/parameters.js\";\nimport * as Mappers from \"./models/mappers.js\";\nimport {\n NodeOptionalParams,\n GetAccountByPubkeyOptionalParams,\n GetAccountByPubkeyResponse,\n GetAccountByPubkeyAndHashOptionalParams,\n GetAccountByPubkeyAndHashResponse,\n GetAccountByPubkeyAndHeightOptionalParams,\n GetAccountByPubkeyAndHeightResponse,\n GetAccountNextNonceOptionalParams,\n GetAccountNextNonceResponse,\n GetPendingAccountTransactionsByPubkeyOptionalParams,\n GetPendingAccountTransactionsByPubkeyResponse,\n GetAuctionEntryByNameOptionalParams,\n GetAuctionEntryByNameResponse,\n GetChannelByPubkeyOptionalParams,\n GetChannelByPubkeyResponse,\n GetContractOptionalParams,\n GetContractResponse,\n GetContractCodeOptionalParams,\n GetContractCodeResponse,\n GetContractPoIOptionalParams,\n GetContractPoIResponse,\n GetCurrencyOptionalParams,\n GetCurrencyResponse,\n DryRunInput,\n ProtectedDryRunTxsOptionalParams,\n ProtectedDryRunTxsResponse,\n GetCurrentGenerationOptionalParams,\n GetCurrentGenerationResponse,\n GetGenerationByHashOptionalParams,\n GetGenerationByHashResponse,\n GetGenerationByHeightOptionalParams,\n GetGenerationByHeightResponse,\n GetTopHeaderOptionalParams,\n GetTopHeaderResponse,\n GetCurrentKeyBlockOptionalParams,\n GetCurrentKeyBlockResponse,\n GetCurrentKeyBlockHashOptionalParams,\n GetCurrentKeyBlockHashResponse,\n GetCurrentKeyBlockHeightOptionalParams,\n GetCurrentKeyBlockHeightResponse,\n GetKeyBlockByHashOptionalParams,\n GetKeyBlockByHashResponse,\n GetKeyBlockByHeightOptionalParams,\n GetKeyBlockByHeightResponse,\n GetPendingKeyBlockOptionalParams,\n GetPendingKeyBlockResponse,\n GetMicroBlockHeaderByHashOptionalParams,\n GetMicroBlockHeaderByHashResponse,\n GetMicroBlockTransactionsByHashOptionalParams,\n GetMicroBlockTransactionsByHashResponse,\n GetMicroBlockTransactionsCountByHashOptionalParams,\n GetMicroBlockTransactionsCountByHashResponse,\n GetMicroBlockTransactionByHashAndIndexOptionalParams,\n GetMicroBlockTransactionByHashAndIndexResponse,\n GetNameEntryByNameOptionalParams,\n GetNameEntryByNameResponse,\n GetNameEntryByNameHashOptionalParams,\n GetNameEntryByNameHashResponse,\n GetOracleByPubkeyOptionalParams,\n GetOracleByPubkeyResponse,\n GetOracleQueriesByPubkeyOptionalParams,\n GetOracleQueriesByPubkeyResponse,\n GetOracleQueryByPubkeyAndQueryIdOptionalParams,\n GetOracleQueryByPubkeyAndQueryIdResponse,\n GetPeerPubkeyOptionalParams,\n GetPeerPubkeyResponse,\n GetRecentGasPricesOptionalParams,\n GetRecentGasPricesResponse,\n GetStatusOptionalParams,\n GetStatusResponse,\n GetChainEndsOptionalParams,\n GetChainEndsResponse,\n GetSyncStatusOptionalParams,\n GetSyncStatusResponse,\n EncodedTx,\n PostTransactionOptionalParams,\n PostTransactionResponse,\n GetTransactionByHashOptionalParams,\n GetTransactionByHashResponse,\n GetTransactionInfoByHashOptionalParams,\n GetTransactionInfoByHashResponse,\n} from \"./models/index.js\";\n\nexport class Node extends coreClient.ServiceClient {\n readonly $host: string;\n\n /**\n * Initializes a new instance of the Node class.\n * @param $host server parameter\n * @param options The parameter options\n */\n constructor($host: string, options?: NodeOptionalParams) {\n if ($host === undefined) {\n throw new Error(\"'$host' cannot be null\");\n }\n\n // Initializing default values for options\n if (!options) {\n options = {};\n }\n const defaults: NodeOptionalParams = {\n requestContentType: \"application/json; charset=utf-8\",\n };\n\n const packageDetails = `azsdk-js-node/1.0.0-beta.1`;\n const userAgentPrefix =\n options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`\n : `${packageDetails}`;\n\n const optionsWithDefaults = {\n ...defaults,\n ...options,\n userAgentOptions: {\n userAgentPrefix,\n },\n endpoint: options.endpoint ?? options.baseUri ?? \"{$host}\",\n };\n super(optionsWithDefaults);\n // Parameter assignments\n this.$host = $host;\n }\n\n /**\n * Get an account by public key\n * @param pubkey The public key of the account\n * @param options The options parameters.\n */\n getAccountByPubkey(\n pubkey: string,\n options?: GetAccountByPubkeyOptionalParams,\n ): Promise<GetAccountByPubkeyResponse> {\n return this.sendOperationRequest(\n { pubkey, options },\n getAccountByPubkeyOperationSpec,\n );\n }\n\n /**\n * Get an account by public key after the block indicated by hash. Can be either a micro block or a\n * keyblock hash\n * @param pubkey The public key of the account\n * @param hash The hash of the block - either a keyblock or a microblock\n * @param options The options parameters.\n */\n getAccountByPubkeyAndHash(\n pubkey: string,\n hash: string,\n options?: GetAccountByPubkeyAndHashOptionalParams,\n ): Promise<GetAccountByPubkeyAndHashResponse> {\n return this.sendOperationRequest(\n { pubkey, hash, options },\n getAccountByPubkeyAndHashOperationSpec,\n );\n }\n\n /**\n * Get an account by public key after the opening key block of the generation at height\n * @param pubkey The public key of the account\n * @param height The height\n * @param options The options parameters.\n */\n getAccountByPubkeyAndHeight(\n pubkey: string,\n height: number,\n options?: GetAccountByPubkeyAndHeightOptionalParams,\n ): Promise<GetAccountByPubkeyAndHeightResponse> {\n return this.sendOperationRequest(\n { pubkey, height, options },\n getAccountByPubkeyAndHeightOperationSpec,\n );\n }\n\n /**\n * Get an account's next nonce; This is computed according to whatever is the current account nonce and\n * what transactions are currently present in the transaction pool\n * @param pubkey The public key of the account\n * @param options The options parameters.\n */\n getAccountNextNonce(\n pubkey: string,\n options?: GetAccountNextNonceOptionalParams,\n ): Promise<GetAccountNextNonceResponse> {\n return this.sendOperationRequest(\n { pubkey, options },\n getAccountNextNonceOperationSpec,\n );\n }\n\n /**\n * Get pending account transactions by public key\n * @param pubkey The public key of the account\n * @param options The options parameters.\n */\n getPendingAccountTransactionsByPubkey(\n pubkey: string,\n options?: GetPendingAccountTransactionsByPubkeyOptionalParams,\n ): Promise<GetPendingAccountTransactionsByPubkeyResponse> {\n return this.sendOperationRequest(\n { pubkey, options },\n getPendingAccountTransactionsByPubkeyOperationSpec,\n );\n }\n\n /**\n * Get auction entry from naming system\n * @param name The name key of the name entry\n * @param options The options parameters.\n */\n getAuctionEntryByName(\n name: string,\n options?: GetAuctionEntryByNameOptionalParams,\n ): Promise<GetAuctionEntryByNameResponse> {\n return this.sendOperationRequest(\n { name, options },\n getAuctionEntryByNameOperationSpec,\n );\n }\n\n /**\n * Get channel by public key\n * @param pubkey The pubkey of the channel\n * @param options The options parameters.\n */\n getChannelByPubkey(\n pubkey: string,\n options?: GetChannelByPubkeyOptionalParams,\n ): Promise<GetChannelByPubkeyResponse> {\n return this.sendOperationRequest(\n { pubkey, options },\n getChannelByPubkeyOperationSpec,\n );\n }\n\n /**\n * Get a contract by pubkey\n * @param pubkey Contract pubkey to get proof for\n * @param options The options parameters.\n */\n getContract(\n pubkey: string,\n options?: GetContractOptionalParams,\n ): Promise<GetContractResponse> {\n return this.sendOperationRequest(\n { pubkey, options },\n getContractOperationSpec,\n );\n }\n\n /**\n * Get contract code by pubkey\n * @param pubkey Contract pubkey to get proof for\n * @param options The options parameters.\n */\n getContractCode(\n pubkey: string,\n options?: GetContractCodeOptionalParams,\n ): Promise<GetContractCodeResponse> {\n return this.sendOperationRequest(\n { pubkey, options },\n getContractCodeOperationSpec,\n );\n }\n\n /**\n * Get a proof of inclusion for a contract\n * @param pubkey Contract pubkey to get proof for\n * @param options The options parameters.\n */\n getContractPoI(\n pubkey: string,\n options?: GetContractPoIOptionalParams,\n ): Promise<GetContractPoIResponse> {\n return this.sendOperationRequest(\n { pubkey, options },\n getContractPoIOperationSpec,\n );\n }\n\n /**\n * Get the currency metadata of a node\n * @param options The options parameters.\n */\n getCurrency(\n options?: GetCurrencyOptionalParams,\n ): Promise<GetCurrencyResponse> {\n return this.sendOperationRequest({ options }, getCurrencyOperationSpec);\n }\n\n /**\n * Dry-run unsigned transactions on top of a given block. Supports all TXs except GAMetaTx, PayingForTx\n * and OffchainTx. The maximum gas limit of all calls is capped. The maximum gas limit per request is a\n * global node setting. Since DryRunCallReq object do not have a mandatory gas field, if not set a\n * default value of 1000000 is being used instead.\n * @param body transactions\n * @param options The options parameters.\n */\n protectedDryRunTxs(\n body: DryRunInput,\n options?: ProtectedDryRunTxsOptionalParams,\n ): Promise<ProtectedDryRunTxsResponse> {\n return this.sendOperationRequest(\n { body, options },\n protectedDryRunTxsOperationSpec,\n );\n }\n\n /**\n * Get the current generation\n * @param options The options parameters.\n */\n getCurrentGeneration(\n options?: GetCurrentGenerationOptionalParams,\n ): Promise<GetCurrentGenerationResponse> {\n return this.sendOperationRequest(\n { options },\n getCurrentGenerationOperationSpec,\n );\n }\n\n /**\n * Get a generation by hash\n * @param hash The hash of the key block\n * @param options The options parameters.\n */\n getGenerationByHash(\n hash: string,\n options?: GetGenerationByHashOptionalParams,\n ): Promise<GetGenerationByHashResponse> {\n return this.sendOperationRequest(\n { hash, options },\n getGenerationByHashOperationSpec,\n );\n }\n\n /**\n * Get a generation by height\n * @param height The height\n * @param options The options parameters.\n */\n getGenerationByHeight(\n height: number,\n options?: GetGenerationByHeightOptionalParams,\n ): Promise<GetGenerationByHeightResponse> {\n return this.sendOperationRequest(\n { height, options },\n getGenerationByHeightOperationSpec,\n );\n }\n\n /**\n * Get the top header (either key or micro block)\n * @param options The options parameters.\n */\n getTopHeader(\n options?: GetTopHeaderOptionalParams,\n ): Promise<GetTopHeaderResponse> {\n return this.sendOperationRequest({ options }, getTopHeaderOperationSpec);\n }\n\n /**\n * Get the current key block\n * @param options The options parameters.\n */\n getCurrentKeyBlock(\n options?: GetCurrentKeyBlockOptionalParams,\n ): Promise<GetCurrentKeyBlockResponse> {\n return this.sendOperationRequest(\n { options },\n getCurrentKeyBlockOperationSpec,\n );\n }\n\n /**\n * Get the hash of the current key block\n * @param options The options parameters.\n */\n getCurrentKeyBlockHash(\n options?: GetCurrentKeyBlockHashOptionalParams,\n ): Promise<GetCurrentKeyBlockHashResponse> {\n return this.sendOperationRequest(\n { options },\n getCurrentKeyBlockHashOperationSpec,\n );\n }\n\n /**\n * Get the height of the current key block\n * @param options The options parameters.\n */\n getCurrentKeyBlockHeight(\n options?: GetCurrentKeyBlockHeightOptionalParams,\n ): Promise<GetCurrentKeyBlockHeightResponse> {\n return this.sendOperationRequest(\n { options },\n getCurrentKeyBlockHeightOperationSpec,\n );\n }\n\n /**\n * Get a key block by hash\n * @param hash The hash of the block - either a keyblock or a microblock\n * @param options The options parameters.\n */\n getKeyBlockByHash(\n hash: string,\n options?: GetKeyBlockByHashOptionalParams,\n ): Promise<GetKeyBlockByHashResponse> {\n return this.sendOperationRequest(\n { hash, options },\n getKeyBlockByHashOperationSpec,\n );\n }\n\n /**\n * Get a key block by height\n * @param height The height\n * @param options The options parameters.\n */\n getKeyBlockByHeight(\n height: number,\n options?: GetKeyBlockByHeightOptionalParams,\n ): Promise<GetKeyBlockByHeightResponse> {\n return this.sendOperationRequest(\n { height, options },\n getKeyBlockByHeightOperationSpec,\n );\n }\n\n /**\n * Get the pending key block\n * @param options The options parameters.\n */\n getPendingKeyBlock(\n options?: GetPendingKeyBlockOptionalParams,\n ): Promise<GetPendingKeyBlockResponse> {\n return this.sendOperationRequest(\n { options },\n getPendingKeyBlockOperationSpec,\n );\n }\n\n /**\n * Get a micro block header by hash\n * @param hash The hash of the block - either a keyblock or a microblock\n * @param options The options parameters.\n */\n getMicroBlockHeaderByHash(\n hash: string,\n options?: GetMicroBlockHeaderByHashOptionalParams,\n ): Promise<GetMicroBlockHeaderByHashResponse> {\n return this.sendOperationRequest(\n { hash, options },\n getMicroBlockHeaderByHashOperationSpec,\n );\n }\n\n /**\n * Get micro block transactions by hash\n * @param hash The hash of the micro block\n * @param options The options parameters.\n */\n getMicroBlockTransactionsByHash(\n hash: string,\n options?: GetMicroBlockTransactionsByHashOptionalParams,\n ): Promise<GetMicroBlockTransactionsByHashResponse> {\n return this.sendOperationRequest(\n { hash, options },\n getMicroBlockTransactionsByHashOperationSpec,\n );\n }\n\n /**\n * Get micro block transaction count by hash\n * @param hash The hash of the micro block\n * @param options The options parameters.\n */\n getMicroBlockTransactionsCountByHash(\n hash: string,\n options?: GetMicroBlockTransactionsCountByHashOptionalParams,\n ): Promise<GetMicroBlockTransactionsCountByHashResponse> {\n return this.sendOperationRequest(\n { hash, options },\n getMicroBlockTransactionsCountByHashOperationSpec,\n );\n }\n\n /**\n * Get a micro block transaction by hash and index\n * @param hash The hash of the micro block\n * @param index The index of the transaction in a block\n * @param options The options parameters.\n */\n getMicroBlockTransactionByHashAndIndex(\n hash: string,\n index: number,\n options?: GetMicroBlockTransactionByHashAndIndexOptionalParams,\n ): Promise<GetMicroBlockTransactionByHashAndIndexResponse> {\n return this.sendOperationRequest(\n { hash, index, options },\n getMicroBlockTransactionByHashAndIndexOperationSpec,\n );\n }\n\n /**\n * Get name entry from naming system\n * @param name The name key of the name entry\n * @param options The options parameters.\n */\n getNameEntryByName(\n name: string,\n options?: GetNameEntryByNameOptionalParams,\n ): Promise<GetNameEntryByNameResponse> {\n return this.sendOperationRequest(\n { name, options },\n getNameEntryByNameOperationSpec,\n );\n }\n\n /**\n * Get name entry from naming system\n * @param nameHash The name hash of the name entry\n * @param options The options parameters.\n */\n getNameEntryByNameHash(\n nameHash: string,\n options?: GetNameEntryByNameHashOptionalParams,\n ): Promise<GetNameEntryByNameHashResponse> {\n return this.sendOperationRequest(\n { nameHash, options },\n getNameEntryByNameHashOperationSpec,\n );\n }\n\n /**\n * Get an oracle by public key\n * @param pubkey The public key of the oracle\n * @param options The options parameters.\n */\n getOracleByPubkey(\n pubkey: string,\n options?: GetOracleByPubkeyOptionalParams,\n ): Promise<GetOracleByPubkeyResponse> {\n return this.sendOperationRequest(\n { pubkey, options },\n getOracleByPubkeyOperationSpec,\n );\n }\n\n /**\n * Get oracle queries by public key\n * @param pubkey The public key of the oracle\n * @param options The options parameters.\n */\n getOracleQueriesByPubkey(\n pubkey: string,\n options?: GetOracleQueriesByPubkeyOptionalParams,\n ): Promise<GetOracleQueriesByPubkeyResponse> {\n return this.sendOperationRequest(\n { pubkey, options },\n getOracleQueriesByPubkeyOperationSpec,\n );\n }\n\n /**\n * Get an oracle query by public key and query ID\n * @param pubkey The public key of the oracle\n * @param queryId The ID of the query\n * @param options The options parameters.\n */\n getOracleQueryByPubkeyAndQueryId(\n pubkey: string,\n queryId: string,\n options?: GetOracleQueryByPubkeyAndQueryIdOptionalParams,\n ): Promise<GetOracleQueryByPubkeyAndQueryIdResponse> {\n return this.sendOperationRequest(\n { pubkey, queryId, options },\n getOracleQueryByPubkeyAndQueryIdOperationSpec,\n );\n }\n\n /**\n * Get peer public key\n * @param options The options parameters.\n */\n getPeerPubkey(\n options?: GetPeerPubkeyOptionalParams,\n ): Promise<GetPeerPubkeyResponse> {\n return this.sendOperationRequest({ options }, getPeerPubkeyOperationSpec);\n }\n\n /**\n * Get minimum gas prices in recent blocks\n * @param options The options parameters.\n */\n getRecentGasPrices(\n options?: GetRecentGasPricesOptionalParams,\n ): Promise<GetRecentGasPricesResponse> {\n return this.sendOperationRequest(\n { options },\n getRecentGasPricesOperationSpec,\n );\n }\n\n /**\n * Get the status of a node\n * @param options The options parameters.\n */\n getStatus(options?: GetStatusOptionalParams): Promise<GetStatusResponse> {\n return this.sendOperationRequest({ options }, getStatusOperationSpec);\n }\n\n /**\n * Get oldest keyblock hashes counting from genesis including orphans\n * @param options The options parameters.\n */\n getChainEnds(\n options?: GetChainEndsOptionalParams,\n ): Promise<GetChainEndsResponse> {\n return this.sendOperationRequest({ options }, getChainEndsOperationSpec);\n }\n\n /**\n * Get the sync status of a node\n * @param options The options parameters.\n */\n getSyncStatus(\n options?: GetSyncStatusOptionalParams,\n ): Promise<GetSyncStatusResponse> {\n return this.sendOperationRequest({ options }, getSyncStatusOperationSpec);\n }\n\n /**\n * Post a new transaction\n * @param body The new transaction\n * @param options The options parameters.\n */\n postTransaction(\n body: EncodedTx,\n options?: PostTransactionOptionalParams,\n ): Promise<PostTransactionResponse> {\n return this.sendOperationRequest(\n { body, options },\n postTransactionOperationSpec,\n );\n }\n\n /**\n * Get a transaction by hash\n * @param hash The hash of the transaction\n * @param options The options parameters.\n */\n getTransactionByHash(\n hash: string,\n options?: GetTransactionByHashOptionalParams,\n ): Promise<GetTransactionByHashResponse> {\n return this.sendOperationRequest(\n { hash, options },\n getTransactionByHashOperationSpec,\n );\n }\n\n /**\n * @param hash The hash of the transaction\n * @param options The options parameters.\n */\n getTransactionInfoByHash(\n hash: string,\n options?: GetTransactionInfoByHashOptionalParams,\n ): Promise<GetTransactionInfoByHashResponse> {\n return this.sendOperationRequest(\n { hash, options },\n getTransactionInfoByHashOperationSpec,\n );\n }\n}\n// Operation Specifications\nconst serializer = createSerializer(Mappers, /* isXml */ false);\n\nconst getAccountByPubkeyOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/accounts/{pubkey}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.Account,\n },\n 400: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n 404: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host, Parameters.pubkey],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getAccountByPubkeyAndHashOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/accounts/{pubkey}/hash/{hash}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.Account,\n },\n 400: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n 404: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host, Parameters.pubkey, Parameters.hash],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getAccountByPubkeyAndHeightOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/accounts/{pubkey}/height/{height}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.Account,\n },\n 400: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n 404: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n 410: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host, Parameters.pubkey, Parameters.height],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getAccountNextNonceOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/accounts/{pubkey}/next-nonce\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.NextNonceResponse,\n },\n 400: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n 404: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n queryParameters: [Parameters.strategy],\n urlParameters: [Parameters.$host, Parameters.pubkey],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getPendingAccountTransactionsByPubkeyOperationSpec: coreClient.OperationSpec =\n {\n path: \"/v3/accounts/{pubkey}/transactions/pending\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.SignedTxs,\n },\n 400: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n 404: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host, Parameters.pubkey],\n headerParameters: [Parameters.accept],\n serializer,\n };\nconst getAuctionEntryByNameOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/auctions/{name}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.AuctionEntry,\n },\n 400: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n 404: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host, Parameters.name],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getChannelByPubkeyOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/channels/{pubkey}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.Channel,\n },\n 400: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n 404: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host, Parameters.pubkey],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getContractOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/contracts/{pubkey}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ContractObject,\n },\n 400: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n 404: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host, Parameters.pubkey],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getContractCodeOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/contracts/{pubkey}/code\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ByteCode,\n },\n 400: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n 404: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host, Parameters.pubkey],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getContractPoIOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/contracts/{pubkey}/poi\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PoI,\n },\n 400: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n 404: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host, Parameters.pubkey],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getCurrencyOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/currency\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.Currency,\n },\n },\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst protectedDryRunTxsOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/dry-run\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.DryRunResults,\n },\n 400: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n 403: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n requestBody: Parameters.body,\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer,\n};\nconst getCurrentGenerationOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/generations/current\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.Generation,\n },\n 404: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getGenerationByHashOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/generations/hash/{hash}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.Generation,\n },\n 400: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n 404: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host, Parameters.hash],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getGenerationByHeightOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/generations/height/{height}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.Generation,\n },\n 404: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host, Parameters.height],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getTopHeaderOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/headers/top\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.Header,\n },\n 404: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getCurrentKeyBlockOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/key-blocks/current\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.KeyBlock,\n },\n 404: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getCurrentKeyBlockHashOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/key-blocks/current/hash\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.HashResponse,\n },\n 404: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getCurrentKeyBlockHeightOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/key-blocks/current/height\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.HeightResponse,\n },\n 404: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getKeyBlockByHashOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/key-blocks/hash/{hash}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.KeyBlock,\n },\n 400: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n 404: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host, Parameters.hash],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getKeyBlockByHeightOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/key-blocks/height/{height}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.KeyBlock,\n },\n 404: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host, Parameters.height],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getPendingKeyBlockOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/key-blocks/pending\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.KeyBlock,\n },\n 400: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n 404: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getMicroBlockHeaderByHashOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/micro-blocks/hash/{hash}/header\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.MicroBlockHeader,\n },\n 400: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n 404: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host, Parameters.hash],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getMicroBlockTransactionsByHashOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/micro-blocks/hash/{hash}/transactions\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.SignedTxs,\n },\n 400: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n 404: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host, Parameters.hash],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getMicroBlockTransactionsCountByHashOperationSpec: coreClient.OperationSpec =\n {\n path: \"/v3/micro-blocks/hash/{hash}/transactions/count\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.CountResponse,\n },\n 400: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n 404: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host, Parameters.hash],\n headerParameters: [Parameters.accept],\n serializer,\n };\nconst getMicroBlockTransactionByHashAndIndexOperationSpec: coreClient.OperationSpec =\n {\n path: \"/v3/micro-blocks/hash/{hash}/transactions/index/{index}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.SignedTx,\n },\n 400: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n 404: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host, Parameters.hash, Parameters.index],\n headerParameters: [Parameters.accept],\n serializer,\n };\nconst getNameEntryByNameOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/names/{name}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.NameEntry,\n },\n 400: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n 404: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host, Parameters.name],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getNameEntryByNameHashOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/names/hash/{name_hash}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.NameEntry,\n },\n 400: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n 404: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host, Parameters.nameHash],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getOracleByPubkeyOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/oracles/{pubkey}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.RegisteredOracle,\n },\n 400: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n 404: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host, Parameters.pubkey],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getOracleQueriesByPubkeyOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/oracles/{pubkey}/queries\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.OracleQueries,\n },\n 400: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n 404: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n queryParameters: [\n Parameters.fromParam,\n Parameters.limit,\n Parameters.typeParam,\n ],\n urlParameters: [Parameters.$host, Parameters.pubkey],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getOracleQueryByPubkeyAndQueryIdOperationSpec: coreClient.OperationSpec =\n {\n path: \"/v3/oracles/{pubkey}/queries/{query-id}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.OracleQuery,\n },\n 400: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n 404: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host, Parameters.pubkey, Parameters.queryId],\n headerParameters: [Parameters.accept],\n serializer,\n };\nconst getPeerPubkeyOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/peers/pubkey\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PeerPubKey,\n },\n },\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getRecentGasPricesOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/recent-gas-prices\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: {\n type: {\n name: \"Sequence\",\n element: { type: { name: \"Composite\", className: \"GasPricesItem\" } },\n },\n },\n },\n 400: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getStatusOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/status\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.Status,\n },\n },\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getChainEndsOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/status/chain-ends\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: {\n type: { name: \"Sequence\", element: { type: { name: \"String\" } } },\n },\n },\n },\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getSyncStatusOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/sync-status\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.SyncStatus,\n },\n 404: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst postTransactionOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/transactions\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.PostTxResponse,\n },\n 400: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n requestBody: Parameters.body1,\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer,\n};\nconst getTransactionByHashOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/transactions/{hash}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.SignedTx,\n },\n 400: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n 404: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host, Parameters.hash],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getTransactionInfoByHashOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/transactions/{hash}/info\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.TxInfoObject,\n },\n 400: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n 404: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n 410: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host, Parameters.hash],\n headerParameters: [Parameters.accept],\n serializer,\n};\n","// eslint-disable-next-line max-classes-per-file\nimport { OperationOptions } from '@azure/core-client';\nimport { userAgentPolicyName, setClientRequestIdPolicyName } from '@azure/core-rest-pipeline';\nimport {\n genRequestQueuesPolicy,\n genCombineGetRequestsPolicy,\n genErrorFormatterPolicy,\n parseBigIntPolicy,\n genVersionCheckPolicy,\n genRetryOnFailurePolicy,\n} from './utils/autorest.js';\nimport { Node as NodeApi, NodeOptionalParams, ErrorModel } from './apis/node/index.js';\nimport { UnsupportedVersionError } from './utils/errors.js';\nimport { ConsensusProtocolVersion } from './tx/builder/constants.js';\n\ninterface NodeInfo {\n url: string;\n nodeNetworkId: string;\n version: string;\n consensusProtocolVersion: ConsensusProtocolVersion;\n}\n\nexport default class Node extends NodeApi {\n /**\n * @param url - Url for node API\n * @param options - Options\n * @param options.ignoreVersion - Don't ensure that the node is supported\n * @param options.retryCount - Amount of extra requests to do in case of failure\n * @param options.retryOverallDelay - Time in ms to wait between all retries\n */\n constructor(\n url: string,\n {\n ignoreVersion = false,\n retryCount = 3,\n retryOverallDelay = 800,\n ...options\n }: NodeOptionalParams & {\n ignoreVersion?: boolean;\n retryCount?: number;\n retryOverallDelay?: number;\n } = {},\n ) {\n const getVersion = async (opts: OperationOptions): Promise<string> =>\n (await this._getCachedStatus(opts)).nodeVersion;\n // eslint-disable-next-line constructor-super\n super(url, {\n allowInsecureConnection: true,\n additionalPolicies: [\n ...(ignoreVersion ? [] : [genVersionCheckPolicy('node', getVersion, '7.1.0', '8.0.0')]),\n genRequestQueuesPolicy(),\n genCombineGetRequestsPolicy(),\n genRetryOnFailurePolicy(retryCount, retryOverallDelay),\n genErrorFormatterPolicy((body: ErrorModel) =>\n [' ', body.reason, body.errorCode == null ? '' : ` (${body.errorCode})`].join(''),\n ),\n ],\n ...options,\n });\n this.pipeline.addPolicy(parseBigIntPolicy, { phase: 'Deserialize' });\n this.pipeline.removePolicy({ name: userAgentPolicyName });\n this.pipeline.removePolicy({ name: setClientRequestIdPolicyName });\n // TODO: use instead our retry policy\n this.pipeline.removePolicy({ name: 'defaultRetryPolicy' });\n }\n\n #cachedStatusPromise?: ReturnType<NodeApi['getStatus']>;\n\n async _getCachedStatus(options?: OperationOptions): ReturnType<NodeApi['getStatus']> {\n if (this.#cachedStatusPromise != null) return this.#cachedStatusPromise;\n return this.getStatus(options);\n }\n\n override async getStatus(\n ...args: Parameters<NodeApi['getStatus']>\n ): ReturnType<NodeApi['getStatus']> {\n const promise = super.getStatus(...args);\n promise.then(\n () => {\n this.#cachedStatusPromise = promise;\n },\n () => {},\n );\n return promise;\n }\n\n /**\n * Returns network ID provided by node.\n * This method won't do extra requests on subsequent calls.\n */\n async getNetworkId(): Promise<string> {\n return (await this._getCachedStatus()).networkId;\n }\n\n async getNodeInfo(): Promise<NodeInfo> {\n const {\n nodeVersion,\n networkId: nodeNetworkId,\n protocols,\n topBlockHeight,\n } = await this.getStatus();\n\n const consensusProtocolVersion = protocols\n .filter(({ effectiveAtHeight }) => topBlockHeight >= effectiveAtHeight)\n .reduce((acc, p) => (p.effectiveAtHeight > acc.effectiveAtHeight ? p : acc), {\n effectiveAtHeight: -1,\n version: 0,\n }).version;\n if (ConsensusProtocolVersion[consensusProtocolVersion] == null) {\n const version = consensusProtocolVersion.toString();\n const versions = Object.values(ConsensusProtocolVersion)\n .filter((el) => typeof el === 'number')\n .map((el) => +el);\n const geVersion = Math.min(...versions).toString();\n const ltVersion = (Math.max(...versions) + 1).toString();\n throw new UnsupportedVersionError('consensus protocol', version, geVersion, ltVersion);\n }\n\n return {\n url: this.$host,\n nodeNetworkId,\n version: nodeVersion,\n consensusProtocolVersion,\n };\n }\n}\n","import { Encoded } from '../utils/encoder.js';\nimport { buildTx, getSchema, unpackTx } from './builder/index.js';\nimport { Tag } from './builder/constants.js';\nimport { TransactionError, UnexpectedTsError } from '../utils/errors.js';\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)\n 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","import { Encoded } from '../utils/encoder.js';\nimport Node from '../Node.js';\nimport CompilerBase from '../contract/compiler/Base.js';\nimport { Int } from '../tx/builder/constants.js';\nimport { AciValue, Domain } from '../utils/typed-data.js';\n\ninterface AuthData {\n fee?: Int;\n gasLimit?: number;\n gasPrice?: Int;\n callData?: Encoded.ContractBytearray;\n sourceCode?: string;\n args?: any[];\n}\n\n/**\n * Account is one of the three basic building blocks of an\n * {@link AeSdk} and provides access to a signing key pair.\n */\nexport default abstract class AccountBase {\n /**\n * Sign encoded transaction\n * @param tx - Transaction to sign\n * @param options - Options\n * @param options.innerTx - Sign as inner transaction for PayingFor\n * @param options.authData - Object with gaMeta params\n * @returns Signed transaction\n */\n abstract signTransaction(\n tx: Encoded.Transaction,\n options: {\n innerTx?: boolean;\n networkId?: string;\n authData?: AuthData | ((tx: Encoded.Transaction) => Promise<AuthData>);\n onNode?: Node;\n onCompiler?: CompilerBase;\n aeppOrigin?: string;\n aeppRpcClientId?: string;\n },\n ): Promise<Encoded.Transaction>;\n\n /**\n * Sign message\n * @param message - Message to sign\n * @param options - Options\n * @returns Signature\n */\n abstract signMessage(\n message: string,\n options?: {\n aeppOrigin?: string;\n aeppRpcClientId?: string;\n },\n ): Promise<Uint8Array>;\n\n /**\n * Sign typed data\n * @param data - Encoded data to sign\n * @param aci - Type of data to sign\n * @param options - Options\n * @returns Signature\n */\n abstract signTypedData(\n data: Encoded.ContractBytearray,\n aci: AciValue,\n options?: Domain & {\n aeppOrigin?: string;\n aeppRpcClientId?: string;\n },\n ): Promise<Encoded.Signature>;\n\n /**\n * Sign data blob\n * @param data - Data blob to sign\n * @param options - Options\n * @returns Signature\n */\n abstract sign(\n data: string | Uint8Array,\n options?: {\n aeppOrigin?: string;\n aeppRpcClientId?: string;\n },\n ): Promise<Uint8Array>;\n\n /**\n * Account address\n */\n readonly address!: Encoded.AccountAddress;\n\n /**\n * Sign delegation, works only in Ceres\n * @param delegation - Delegation to sign\n * @param options - Options\n * @returns Signature\n */\n abstract signDelegation(\n delegation: Encoded.Bytearray,\n options?: {\n networkId?: string;\n aeppOrigin?: string;\n aeppRpcClientId?: string;\n },\n ): Promise<Encoded.Signature>;\n}\n","import { TypeResolver, ContractByteArrayEncoder } from '@aeternity/aepp-calldata';\nimport canonicalize from 'canonicalize';\nimport { Encoded, decode } from './encoder.js';\nimport { hash, messagePrefixLength } from './crypto.js';\nimport { concatBuffers } from './other.js';\n\n/**\n * Hashes arbitrary object, can be used to inline the aci hash to contract source code\n */\nexport function hashJson(data: unknown): Buffer {\n return hash(canonicalize(data) ?? '');\n}\n\n// TODO: move this type to calldata library https://github.com/aeternity/aepp-calldata-js/issues/215\n// based on https://github.com/aeternity/aepp-calldata-js/blob/82b5a98f9b308482627da8d7484d213e9cf87151/src/AciTypeResolver.js#L129\nexport type AciValue =\n | 'void'\n | 'unit'\n | 'int'\n | 'bool'\n | 'string'\n | 'bits'\n | 'hash'\n | 'signature'\n | 'address'\n | 'contract_pubkey'\n | 'Chain.ttl'\n | 'Chain.ga_meta_tx'\n | 'Chain.paying_for_tx'\n | 'Chain.base_tx'\n | 'AENS.pointee'\n | 'AENS.name'\n | 'MCL_BLS12_381.fr'\n | 'MCL_BLS12_381.fp'\n | { 'Set.set': readonly [AciValue] }\n | { bytes: number }\n | { list: readonly [AciValue] }\n | { map: readonly [AciValue, AciValue] }\n | { tuple: readonly AciValue[] }\n | { record: ReadonlyArray<{ name: string; type: AciValue }> }\n | { variant: ReadonlyArray<{ [key: string]: readonly AciValue[] }> }\n | { option: readonly [AciValue] }\n | { oracle: readonly [AciValue, AciValue] }\n | { oracle_query: readonly [AciValue, AciValue] };\n\nexport interface Domain {\n name?: string;\n version?: number;\n networkId?: string;\n contractAddress?: Encoded.ContractAddress;\n}\n\n/**\n * Hashes domain object, can be used to inline domain hash to contract source code\n */\nexport function hashDomain(domain: Domain): Buffer {\n const domainAci = {\n record: [\n {\n name: 'name',\n type: { option: ['string'] },\n },\n {\n name: 'version',\n type: { option: ['int'] },\n },\n {\n name: 'networkId',\n type: { option: ['string'] },\n },\n {\n name: 'contractAddress',\n type: { option: ['contract_pubkey'] },\n },\n ],\n } as const;\n const domainType = new TypeResolver().resolveType(domainAci, {});\n const fateValue = new ContractByteArrayEncoder().encodeWithType(domain, domainType);\n return hash(decode(fateValue));\n}\n\nexport function hashTypedData(\n data: Encoded.ContractBytearray,\n aci: AciValue,\n domain: Domain,\n): Buffer {\n return hash(\n concatBuffers([\n messagePrefixLength,\n new Uint8Array([0]),\n hashDomain(domain),\n hashJson(aci),\n hash(decode(data)),\n ]),\n );\n}\n","import nacl from 'tweetnacl';\nimport AccountBase from './Base.js';\nimport { hash, messageToHash, messagePrefixLength } from '../utils/crypto.js';\nimport { ArgumentError } from '../utils/errors.js';\nimport { decode, encode, Encoded, Encoding } from '../utils/encoder.js';\nimport { concatBuffers } from '../utils/other.js';\nimport { hashTypedData, AciValue } from '../utils/typed-data.js';\nimport { buildTx } from '../tx/builder/index.js';\nimport { Tag } from '../tx/builder/constants.js';\n\nexport function getBufferToSign(\n transaction: Encoded.Transaction,\n networkId: string,\n innerTx: boolean,\n): Uint8Array {\n const prefixes = [networkId];\n if (innerTx) prefixes.push('inner_tx');\n const rlpBinaryTx = decode(transaction);\n return concatBuffers([Buffer.from(prefixes.join('-')), hash(rlpBinaryTx)]);\n}\n\n/**\n * In-memory account class\n */\nexport default class AccountMemory extends AccountBase {\n override readonly address: Encoded.AccountAddress;\n\n readonly #secretKeyDecoded: Uint8Array;\n\n /**\n * @param secretKey - Secret key\n */\n constructor(public readonly secretKey: Encoded.AccountSecretKey) {\n super();\n const keyPair = nacl.sign.keyPair.fromSeed(decode(secretKey));\n this.#secretKeyDecoded = keyPair.secretKey;\n this.address = encode(keyPair.publicKey, Encoding.AccountAddress);\n }\n\n /**\n * Generates a new AccountMemory using a random secret key\n */\n static generate(): AccountMemory {\n const secretKey = encode(nacl.randomBytes(32), Encoding.AccountSecretKey);\n return new AccountMemory(secretKey);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n override async sign(data: string | Uint8Array, options?: any): Promise<Uint8Array> {\n return nacl.sign.detached(Buffer.from(data), this.#secretKeyDecoded);\n }\n\n override async signTransaction(\n transaction: Encoded.Transaction,\n { innerTx, networkId, ...options }: { innerTx?: boolean; networkId?: string } = {},\n ): Promise<Encoded.Transaction> {\n if (networkId == null) {\n throw new ArgumentError('networkId', 'provided', networkId);\n }\n const rlpBinaryTx = decode(transaction);\n const txWithNetworkId = getBufferToSign(transaction, networkId, innerTx === true);\n\n const signatures = [await this.sign(txWithNetworkId, options)];\n return buildTx({ tag: Tag.SignedTx, encodedTx: rlpBinaryTx, signatures });\n }\n\n override async signMessage(message: string, options?: any): Promise<Uint8Array> {\n return this.sign(messageToHash(message), options);\n }\n\n override async signTypedData(\n data: Encoded.ContractBytearray,\n aci: AciValue,\n {\n name,\n version,\n networkId,\n contractAddress,\n ...options\n }: Parameters<AccountBase['signTypedData']>[2] = {},\n ): Promise<Encoded.Signature> {\n const dHash = hashTypedData(data, aci, {\n name,\n version,\n networkId,\n contractAddress,\n });\n const signature = await this.sign(dHash, options);\n return encode(signature, Encoding.Signature);\n }\n\n override async signDelegation(\n delegation: Encoded.Bytearray,\n { networkId }: { networkId?: string } = {},\n ): Promise<Encoded.Signature> {\n if (networkId == null) throw new ArgumentError('networkId', 'provided', networkId);\n const payload = concatBuffers([\n messagePrefixLength,\n new Uint8Array([1]),\n Buffer.from(networkId),\n decode(delegation),\n ]);\n const signature = await this.sign(payload);\n return encode(signature, Encoding.Signature);\n }\n}\n","import { Encoded } from '../utils/encoder.js';\nimport { buildTx, buildTxHash, unpackTx } from './builder/index.js';\nimport { Tag } from './builder/constants.js';\nimport { verify } from '../utils/crypto.js';\nimport { getBufferToSign } from '../account/Memory.js';\nimport { IllegalArgumentError, InternalError, TransactionError } from '../utils/errors.js';\nimport Node from '../Node.js';\nimport getTransactionSignerAddress from './transaction-signer.js';\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,\n gasUsed,\n queryFee,\n 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(\n \"Transaction shouldn't be a SignedTx, use `getExecutionCostBySignedTx` instead\",\n );\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 ||\n params.tag === Tag.ContractCreateTx ||\n params.tag === Tag.ContractCallTx ||\n params.tag === Tag.ChannelDepositTx) &&\n 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 ||\n params.tag === Tag.ContractCallTx ||\n params.tag === Tag.GaAttachTx ||\n 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].map((f) =>\n verify(getBufferToSign(tx, networkId, f), params.signatures[0], address),\n );\n if (!isInnerTx && !isNotInnerTx) throw new TransactionError(\"Can't verify signature\");\n return getExecutionCost(buildTx(params.encodedTx), {\n ...(isInnerTx && { innerTx: 'freeloader' }),\n ...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 &&\n 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","import { RestError } from '@azure/core-rest-pipeline';\nimport { hash, isAddressValid, verify } from '../utils/crypto.js';\nimport { TxUnpacked } from './builder/schema.generated.js';\nimport { CtVersion, ProtocolToVmAbi } from './builder/field-types/ct-version.js';\nimport { Tag, ConsensusProtocolVersion } from './builder/constants.js';\nimport { buildTx, unpackTx } from './builder/index.js';\nimport { concatBuffers, isAccountNotFoundError } from '../utils/other.js';\nimport { Encoded, Encoding, decode } from '../utils/encoder.js';\nimport Node from '../Node.js';\nimport { Account } from '../apis/node/index.js';\nimport { genAggressiveCacheGetResponsesPolicy } from '../utils/autorest.js';\nimport { UnexpectedTsError } from '../utils/errors.js';\nimport getTransactionSignerAddress from './transaction-signer.js';\nimport { getExecutionCostUsingNode } from './execution-cost.js';\n\nexport interface ValidatorResult {\n message: string;\n key: string;\n checkedKeys: string[];\n}\n\ntype Validator = (\n tx: TxUnpacked,\n options: {\n // TODO: remove after fixing node types\n account: Account & { id: Encoded.AccountAddress };\n nodeNetworkId: string;\n parentTxTypes: Tag[];\n node: Node;\n height: number;\n consensusProtocolVersion: ConsensusProtocolVersion;\n },\n) => ValidatorResult[] | Promise<ValidatorResult[]>;\n\nconst validators: Validator[] = [];\n\nasync function verifyTransactionInternal(\n tx: TxUnpacked,\n node: Node,\n parentTxTypes: Tag[],\n): Promise<ValidatorResult[]> {\n const address = getTransactionSignerAddress(buildTx(tx));\n const [account, { height }, { consensusProtocolVersion, nodeNetworkId }] = await Promise.all([\n node\n .getAccountByPubkey(address)\n .catch((error) => {\n if (!isAccountNotFoundError(error)) throw error;\n return { id: address, balance: 0n, nonce: 0 };\n })\n // TODO: remove after fixing https://github.com/aeternity/aepp-sdk-js/issues/1537\n .then((acc) => ({ ...acc, id: acc.id as Encoded.AccountAddress })),\n node.getCurrentKeyBlockHeight(), // TODO: don't request height on each validation, use caching\n node.getNodeInfo(),\n ]);\n\n return (\n await Promise.all(\n validators.map(async (v) =>\n v(tx, {\n node,\n account,\n height,\n consensusProtocolVersion,\n nodeNetworkId,\n parentTxTypes,\n }),\n ),\n )\n ).flat();\n}\n\n/**\n * Transaction Validator\n * This function validates some transaction properties,\n * to make sure it can be posted it to the chain\n * @category transaction builder\n * @param transaction - Base64Check-encoded transaction\n * @param nodeNotCached - Node to validate transaction against\n * @returns Array with verification errors\n * @example const errors = await verifyTransaction(transaction, node)\n */\nexport default async function verifyTransaction(\n transaction: Parameters<typeof unpackTx>[0],\n nodeNotCached: Node,\n): Promise<ValidatorResult[]> {\n const pipeline = nodeNotCached.pipeline.clone();\n pipeline.removePolicy({ name: 'parse-big-int' });\n const node = new Node(nodeNotCached.$host, {\n ignoreVersion: true,\n pipeline,\n additionalPolicies: [genAggressiveCacheGetResponsesPolicy()],\n });\n return verifyTransactionInternal(unpackTx(transaction), node, []);\n}\n\nvalidators.push(\n (tx, { account, nodeNetworkId, parentTxTypes }) => {\n if (tx.tag !== Tag.SignedTx) return [];\n const { encodedTx, signatures } = tx;\n if ((encodedTx ?? signatures) == null) return [];\n if (signatures.length !== 1) return []; // TODO: Support multisignature like in state channels\n const prefix = Buffer.from(\n [nodeNetworkId, ...(parentTxTypes.includes(Tag.PayingForTx) ? ['inner_tx'] : [])].join('-'),\n );\n const txBinary = decode(buildTx(encodedTx));\n const txWithNetworkId = concatBuffers([prefix, txBinary]);\n const txHashWithNetworkId = concatBuffers([prefix, hash(txBinary)]);\n if (\n verify(txWithNetworkId, signatures[0], account.id) ||\n verify(txHashWithNetworkId, signatures[0], account.id)\n )\n return [];\n return [\n {\n message:\n 'Signature cannot be verified, please ensure that you transaction have' +\n ' the correct prefix and the correct private key for the sender address',\n key: 'InvalidSignature',\n checkedKeys: ['encodedTx', 'signatures'],\n },\n ];\n },\n async (tx, { node, parentTxTypes }) => {\n let nestedTx;\n if ('encodedTx' in tx) nestedTx = tx.encodedTx;\n if ('tx' in tx) nestedTx = tx.tx;\n if (nestedTx == null) return [];\n return verifyTransactionInternal(nestedTx, node, [...parentTxTypes, tx.tag]);\n },\n (tx, { height }) => {\n if (!('ttl' in tx)) return [];\n if (tx.ttl === 0 || tx.ttl > height) return [];\n return [\n {\n message: `TTL ${tx.ttl} is already expired, current height is ${height}`,\n key: 'ExpiredTTL',\n checkedKeys: ['ttl'],\n },\n ];\n },\n async (tx, { account, parentTxTypes, node }) => {\n if (parentTxTypes.length !== 0) return [];\n const cost = await getExecutionCostUsingNode(buildTx(tx), node).catch(() => 0n);\n if (cost <= account.balance) return [];\n return [\n {\n message: `Account balance ${account.balance} is not enough to execute the transaction that costs ${cost}`,\n key: 'InsufficientBalance',\n checkedKeys: ['amount', 'fee', 'nameFee', 'gasLimit', 'gasPrice'],\n },\n ];\n },\n async (tx, { node }) => {\n if (tx.tag !== Tag.SpendTx || isAddressValid(tx.recipientId, Encoding.Name)) return [];\n const recipient = await node.getAccountByPubkey(tx.recipientId).catch((error) => {\n if (!isAccountNotFoundError(error)) throw error;\n return null;\n });\n if (recipient == null || recipient.payable === true) return [];\n return [\n {\n message: 'Recipient account is not payable',\n key: 'RecipientAccountNotPayable',\n checkedKeys: ['recipientId'],\n },\n ];\n },\n (tx, { account }) => {\n let message;\n if (tx.tag === Tag.SignedTx && account.kind === 'generalized' && tx.signatures.length !== 0) {\n message = \"Generalized account can't be used to generate SignedTx with signatures\";\n }\n if (tx.tag === Tag.GaMetaTx && account.kind === 'basic') {\n message = \"Basic account can't be used to generate GaMetaTx\";\n }\n if (message == null) return [];\n return [{ message, key: 'InvalidAccountType', checkedKeys: ['tag'] }];\n },\n // TODO: revert nonce check\n // TODO: ensure nonce valid when paying for own tx\n (tx, { consensusProtocolVersion }) => {\n const oracleCall = Tag.OracleRegisterTx === tx.tag;\n const contractCreate = Tag.ContractCreateTx === tx.tag || Tag.GaAttachTx === tx.tag;\n const contractCall = Tag.ContractCallTx === tx.tag || Tag.GaMetaTx === tx.tag;\n const type =\n (oracleCall ? 'oracle-call' : null) ??\n (contractCreate ? 'contract-create' : null) ??\n (contractCall ? 'contract-call' : null);\n if (type == null) return [];\n const protocol = ProtocolToVmAbi[consensusProtocolVersion][type] as {\n abiVersion: readonly any[];\n vmVersion: readonly any[];\n };\n\n let ctVersion: Partial<CtVersion> | undefined;\n if ('abiVersion' in tx) ctVersion = { abiVersion: tx.abiVersion };\n if ('ctVersion' in tx) ctVersion = tx.ctVersion;\n if (ctVersion == null) throw new UnexpectedTsError();\n if (\n !protocol.abiVersion.includes(ctVersion.abiVersion) ||\n (contractCreate && !protocol.vmVersion.includes(ctVersion.vmVersion))\n ) {\n return [\n {\n message: `ABI/VM version ${JSON.stringify(ctVersion)} is wrong, supported is: ${JSON.stringify(protocol)}`,\n key: 'VmAndAbiVersionMismatch',\n checkedKeys: ['ctVersion', 'abiVersion'],\n },\n ];\n }\n return [];\n },\n async (tx, { node }) => {\n if (Tag.ContractCallTx !== tx.tag) return [];\n // TODO: remove after solving https://github.com/aeternity/aeternity/issues/3669\n if (tx.contractId.startsWith('nm_')) return [];\n try {\n const { active } = await node.getContract(tx.contractId);\n if (active) return [];\n return [\n {\n message: `Contract ${tx.contractId} is not active`,\n key: 'ContractNotActive',\n checkedKeys: ['contractId'],\n },\n ];\n } catch (error) {\n if (!(error instanceof RestError) || error.response?.bodyAsText == null) throw error;\n return [\n {\n message: JSON.parse(error.response.bodyAsText).reason, // TODO: use parsedBody instead\n key: 'ContractNotFound',\n checkedKeys: ['contractId'],\n },\n ];\n }\n },\n);\n","import verifyTransaction, { ValidatorResult } from './tx/validator.js';\nimport { ensureError } from './utils/other.js';\nimport { TransactionError } from './utils/errors.js';\nimport Node from './Node.js';\nimport { SignedTx } from './apis/node/index.js';\nimport { Encoded } from './utils/encoder.js';\nimport AccountBase from './account/Base.js';\nimport { buildTxHash } from './tx/builder/index.js';\nimport { poll, waitForTxConfirm } from './chain.js';\n\n/**\n * @category exception\n */\nexport class InvalidTxError extends TransactionError {\n validation: ValidatorResult[];\n\n transaction: Encoded.Transaction;\n\n constructor(message: string, validation: ValidatorResult[], transaction: Encoded.Transaction) {\n super(message);\n this.name = 'InvalidTxError';\n this.validation = validation;\n this.transaction = transaction;\n }\n}\n\n/**\n * Signs and submits transaction for mining\n * @category chain\n * @param txUnsigned - Transaction to sign and submit\n * @param options - Options\n * @returns Transaction details\n */\nexport async function sendTransaction(\n txUnsigned: Encoded.Transaction,\n {\n onNode,\n onAccount,\n verify = true,\n waitMined = true,\n confirm,\n innerTx,\n ...options\n }: SendTransactionOptions,\n): Promise<SendTransactionReturnType> {\n const tx = await onAccount.signTransaction(txUnsigned, {\n ...options,\n onNode,\n innerTx,\n networkId: await onNode.getNetworkId(),\n });\n\n if (innerTx === true) return { hash: buildTxHash(tx), rawTx: tx };\n\n if (verify) {\n const validation = await verifyTransaction(tx, onNode);\n if (validation.length > 0) {\n const message = `Transaction verification errors: ${validation\n .map((v: { message: string }) => v.message)\n .join(', ')}`;\n throw new InvalidTxError(message, validation, tx);\n }\n }\n\n try {\n let __queue;\n try {\n __queue = onAccount != null ? `tx-${onAccount.address}` : null;\n } catch (error) {\n __queue = null;\n }\n const { txHash } = await onNode.postTransaction(\n { tx },\n {\n requestOptions: {\n customHeaders: {\n // TODO: remove __retry-code after fixing https://github.com/aeternity/aeternity/issues/3803\n '__retry-code': '400',\n ...(__queue != null ? { __queue } : {}),\n },\n },\n },\n );\n\n if (waitMined) {\n const pollResult = await poll(txHash, { onNode, ...options });\n const txData = {\n ...pollResult,\n hash: pollResult.hash as Encoded.TxHash,\n rawTx: tx,\n };\n // wait for transaction confirmation\n if (confirm != null && +confirm > 0) {\n const c = typeof confirm === 'boolean' ? undefined : confirm;\n return {\n ...txData,\n confirmationHeight: await waitForTxConfirm(txHash, { onNode, confirm: c, ...options }),\n };\n }\n return txData;\n }\n return { hash: txHash, rawTx: tx };\n } catch (error) {\n ensureError(error);\n throw Object.assign(error, {\n rawTx: tx,\n verifyTx: async () => verifyTransaction(tx, onNode),\n });\n }\n}\n\ntype SendTransactionOptionsType = {\n /**\n * Node to use\n */\n onNode: Node;\n /**\n * Account to use\n */\n onAccount: AccountBase;\n /**\n * Verify transaction before broadcast, throw error if not\n */\n verify?: boolean;\n /**\n * Ensure that transaction get into block\n */\n waitMined?: boolean;\n /**\n * Number of micro blocks that should be mined after tx get included\n */\n confirm?: boolean | number;\n} & Parameters<typeof poll>[1] &\n Omit<Parameters<typeof waitForTxConfirm>[1], 'confirm'> &\n Parameters<AccountBase['signTransaction']>[1];\nexport interface SendTransactionOptions extends SendTransactionOptionsType {}\ninterface SendTransactionReturnType extends Partial<SignedTx> {\n hash: Encoded.TxHash;\n // TODO: use `SignedTx.encodedTx` instead\n rawTx: Encoded.Transaction;\n confirmationHeight?: number;\n}\n","import canonicalize from 'canonicalize';\nimport AccountBase from '../account/Base.js';\nimport { Encoded, Encoding, decode, encode } from './encoder.js';\nimport { verify } from './crypto.js';\nimport { ArgumentError, InvalidSignatureError } from './errors.js';\n\n// TODO: use Buffer.from(data, 'base64url') after solving https://github.com/feross/buffer/issues/309\nconst toBase64Url = (data: Buffer | Uint8Array | string): string =>\n Buffer.from(data).toString('base64').replaceAll('/', '_').replaceAll('+', '-').replace(/=+$/, '');\n\nconst fromBase64Url = (data: string): Buffer =>\n Buffer.from(data.replaceAll('_', '/').replaceAll('-', '+'), 'base64');\n\nconst objectToBase64Url = (data: any): string => toBase64Url(canonicalize(data) ?? '');\n\nconst header = 'eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9'; // objectToBase64Url({ alg: 'EdDSA', typ: 'JWT' })\n\n/**\n * JWT including specific header\n * @category JWT\n */\nexport type Jwt = `${typeof header}.${string}.${string}`;\n\n/**\n * Generate a signed JWT\n * Provide `\"sub_jwk\": undefined` in payload to omit signer public key added by default.\n * @param originalPayload - Payload to sign\n * @param account - Account to sign by\n * @category JWT\n */\nexport async function signJwt(originalPayload: any, account: AccountBase): Promise<Jwt> {\n const payload = { ...originalPayload };\n if (!('sub_jwk' in payload)) {\n payload.sub_jwk = {\n kty: 'OKP',\n crv: 'Ed25519',\n x: toBase64Url(decode(account.address)),\n };\n }\n if (payload.sub_jwk === undefined) delete payload.sub_jwk;\n const body = `${header}.${objectToBase64Url(payload)}` as const;\n const signature = await account.sign(body);\n return `${body}.${toBase64Url(signature)}`;\n}\n\n/**\n * Unpack JWT. It will check signature if address or \"sub_jwk\" provided.\n * @param jwt - JWT to unpack\n * @param address - Address to check signature\n * @category JWT\n */\nexport function unpackJwt(\n jwt: Jwt,\n address?: Encoded.AccountAddress,\n): {\n /**\n * JWT payload as object\n */\n payload: any;\n /**\n * Undefined returned in case signature is not checked\n */\n signer: Encoded.AccountAddress | undefined;\n} {\n const components = jwt.split('.');\n if (components.length !== 3)\n throw new ArgumentError('JWT components count', 3, components.length);\n const [h, payloadEncoded, signature] = components;\n if (h !== header) throw new ArgumentError('JWT header', header, h);\n const payload = JSON.parse(fromBase64Url(payloadEncoded).toString());\n const jwk = payload.sub_jwk ?? {};\n const signer =\n jwk.x == null || jwk.kty !== 'OKP' || jwk.crv !== 'Ed25519'\n ? address\n : encode(fromBase64Url(jwk.x), Encoding.AccountAddress);\n if (address != null && signer !== address) {\n throw new ArgumentError('address', `${signer} (\"sub_jwk\")`, address);\n }\n if (\n signer != null &&\n !verify(Buffer.from(`${h}.${payloadEncoded}`), fromBase64Url(signature), signer)\n ) {\n throw new InvalidSignatureError(`JWT is not signed by ${signer}`);\n }\n return { payload, signer };\n}\n\n/**\n * Check is string a JWT or not. Use to validate the user input.\n * @param maybeJwt - A string to check\n * @returns True if argument is a JWT\n * @category JWT\n */\nexport function isJwt(maybeJwt: string): maybeJwt is Jwt {\n try {\n unpackJwt(maybeJwt as Jwt);\n return true;\n } catch (error) {\n return false;\n }\n}\n\n/**\n * Throws an error if argument is not JWT. Use to ensure that a value is JWT.\n * @param maybeJwt - A string to check\n * @category JWT\n */\nexport function ensureJwt(maybeJwt: string): asserts maybeJwt is Jwt {\n unpackJwt(maybeJwt as Jwt);\n}\n\n/**\n * Check is JWT signed by address from arguments or \"sub_jwk\"\n * @param jwt - JWT to check\n * @param address - Address to check signature\n * @category JWT\n */\nexport function verifyJwt(jwt: Jwt, address?: Encoded.AccountAddress): boolean {\n try {\n const { signer } = unpackJwt(jwt, address);\n return signer != null;\n } catch (error) {\n return false;\n }\n}\n","import SchemaTypes from '../SchemaTypes.js';\nimport address from '../field-types/address.js';\nimport nameId from '../field-types/name-id.js';\nimport shortUIntConst from '../field-types/short-u-int-const.js';\nimport { Encoded, Encoding, decode, encode } from '../../../utils/encoder.js';\n\n/**\n * @category delegation signature\n */\nexport enum DelegationTag {\n /**\n * Delegation of all AENS names to a contract\n */\n AensWildcard = 1,\n /**\n * Delegation of an AENS name to a contract\n */\n AensName = 2,\n /**\n * Delegation of AENS preclaim to a contract\n */\n AensPreclaim = 3,\n /**\n * Delegation of oracle operations to a contract\n */\n Oracle = 4,\n /**\n * Delegation of oracle query to a contract\n */\n OracleResponse = 5,\n}\n\nconst oracleAddressField = address(Encoding.OracleAddress);\n/**\n * Oracle query ID to reply by a contract\n */\nconst queryIdField = {\n serialize(value: Encoded.OracleQueryId): Buffer {\n return oracleAddressField.serialize(encode(decode(value), Encoding.OracleAddress));\n },\n deserialize(value: Buffer): Encoded.OracleQueryId {\n return encode(decode(oracleAddressField.deserialize(value)), Encoding.OracleQueryId);\n },\n} as const;\n\n/**\n * Address of a contract to delegate permissions to\n */\nconst contractAddress = address(Encoding.ContractAddress);\n\n/**\n * @see {@link https://github.com/aeternity/protocol/blob/8a9d1d1206174627f6aaef86159dc9c643080653/contracts/fate.md#from-ceres-serialized-signature-data}\n */\nexport const schemas = [\n {\n tag: shortUIntConst(DelegationTag.AensWildcard),\n version: shortUIntConst(1, true),\n accountAddress: address(Encoding.AccountAddress),\n contractAddress,\n },\n {\n tag: shortUIntConst(DelegationTag.AensName),\n version: shortUIntConst(1, true),\n accountAddress: address(Encoding.AccountAddress),\n /**\n * AENS name to manage by a contract\n */\n nameId,\n contractAddress,\n },\n {\n tag: shortUIntConst(DelegationTag.AensPreclaim),\n version: shortUIntConst(1, true),\n accountAddress: address(Encoding.AccountAddress),\n contractAddress,\n },\n {\n tag: shortUIntConst(DelegationTag.Oracle),\n version: shortUIntConst(1, true),\n accountAddress: address(Encoding.AccountAddress),\n contractAddress,\n },\n {\n tag: shortUIntConst(DelegationTag.OracleResponse),\n version: shortUIntConst(1, true),\n queryId: queryIdField,\n contractAddress,\n },\n] as const;\n\ntype Schemas = SchemaTypes<typeof schemas>;\nexport type DlgParams = Schemas['TxParams'];\nexport type DlgUnpacked = Schemas['TxUnpacked'];\n","import { Encoded, Encoding } from '../../../utils/encoder.js';\nimport { packRecord, unpackRecord } from '../common.js';\nimport { DelegationTag, schemas } from './schema.js';\nimport { DlgParams, DlgUnpacked } from './schema.generated.js';\n\n/**\n * Pack delegation\n * @category delegation signature\n * @param params - Params of delegation\n * @returns Encoded delegation\n */\nexport function packDelegation(params: DlgParams): Encoded.Bytearray {\n return packRecord(schemas, DelegationTag, params, {}, Encoding.Bytearray);\n}\n\n/**\n * Unpack delegation\n * @category delegation signature\n * @param encoded - Encoded delegation\n * @param expectedTag - Expected delegation signature type\n * @returns Params of delegation\n */\nexport function unpackDelegation<T extends DelegationTag>(\n encoded: Encoded.Bytearray,\n expectedTag?: T,\n): DlgUnpacked & { tag: T } {\n return unpackRecord(schemas, DelegationTag, encoded, expectedTag, {}) as any;\n}\n","/**\n * Aens methods - routines to interact with the æternity naming system\n *\n * The high-level description of the naming system is\n * https://github.com/aeternity/protocol/blob/master/AENS.md in the protocol\n * repository.\n */\n\nimport { BigNumber } from 'bignumber.js';\nimport { genSalt, isAddressValid } from './utils/crypto.js';\nimport { commitmentHash, isAuctionName } from './tx/builder/helpers.js';\nimport { Tag, AensName } from './tx/builder/constants.js';\nimport { Encoded, Encoding } from './utils/encoder.js';\nimport { LogicError } from './utils/errors.js';\nimport { getName } from './chain.js';\nimport { sendTransaction, SendTransactionOptions } from './send-transaction.js';\nimport { Optional } from './utils/other.js';\nimport { buildTxAsync, BuildTxOptions } from './tx/builder/index.js';\nimport Node from './Node.js';\nimport AccountBase from './account/Base.js';\nimport { AddressEncodings } from './tx/builder/field-types/address.js';\n\ninterface NameRevokeOptions\n extends BuildTxOptions<Tag.NameRevokeTx, 'nameId' | 'accountId'>,\n Optional<SendTransactionOptions, 'onAccount' | 'onNode'> {}\n\ninterface KeyPointers {\n [key: string]: Encoded.Generic<AddressEncodings | Encoding.Bytearray>;\n}\n\ninterface NameUpdateOptions\n extends BuildTxOptions<Tag.NameUpdateTx, 'nameId' | 'accountId' | 'pointers'>,\n Optional<SendTransactionOptions, 'onAccount' | 'onNode'> {\n /**\n * Get the pointers from the node and merge with provided ones. Pointers with the same key will be\n * overwritten.\n */\n extendPointers?: boolean;\n}\n\ninterface NameTransferOptions\n extends BuildTxOptions<Tag.NameTransferTx, 'nameId' | 'accountId' | 'recipientId'>,\n Optional<SendTransactionOptions, 'onAccount' | 'onNode'> {}\n\ninterface NamePreclaimOptions\n extends BuildTxOptions<Tag.NamePreclaimTx, 'accountId' | 'commitmentId'>,\n Optional<SendTransactionOptions, 'onAccount' | 'onNode'> {}\n\ninterface NameClaimOptions\n extends BuildTxOptions<Tag.NameClaimTx, 'accountId' | 'nameSalt' | 'name'>,\n Optional<SendTransactionOptions, 'onAccount' | 'onNode'> {}\n\n/**\n * @category AENS\n * @example\n * ```js\n * const name = new Name('test.chain', aeSdk.getContext())\n * ```\n */\nexport default class Name {\n #salt?: number;\n\n /**\n * @param value - AENS name\n * @param options - Options\n * @param options.onNode - Node to use\n * @param options.onAccount - Account to use\n */\n constructor(\n public readonly value: AensName,\n public options: { onNode: Node; onAccount: AccountBase } & Omit<\n NameRevokeOptions &\n NameUpdateOptions &\n NameTransferOptions &\n NamePreclaimOptions &\n NameClaimOptions,\n 'version'\n >,\n ) {\n this.options = options;\n }\n\n /**\n * Revoke a name\n * @param options - Options\n * @returns mined transaction details\n * @example\n * ```js\n * await name.revoke({ fee, ttl, nonce })\n * ```\n */\n async revoke(options: NameRevokeOptions = {}): ReturnType<typeof sendTransaction> {\n const opt = { ...this.options, ...options };\n const tx = await buildTxAsync({\n _isInternalBuild: true,\n ...opt,\n tag: Tag.NameRevokeTx,\n nameId: this.value,\n accountId: opt.onAccount.address,\n });\n return sendTransaction(tx, opt);\n }\n\n /**\n * Update a name\n * @param pointers - Map of pointer keys to corresponding addresses\n * @param options - Options\n * @example\n * ```js\n * const name = 'test.chain'\n * const channel = 'ch_2519mBs...'\n * const pointers = {\n * account_pubkey: 'ak_asd23dasdas...,',\n * contract_pubkey: 'ct_asdf34fasdasd...',\n * [getDefaultPointerKey(channel)]: channel,\n * }\n * await name.update(pointers, { nameTtl, ttl, fee, nonce, clientTtl })\n * ```\n */\n async update(\n pointers: KeyPointers,\n options: NameUpdateOptions = {},\n ): ReturnType<typeof sendTransaction> {\n const { extendPointers, ...opt } = { ...this.options, ...options };\n const allPointers = {\n ...(extendPointers === true &&\n Object.fromEntries(\n (await getName(this.value, opt)).pointers.map(({ key, id }) => [key, id]),\n )),\n ...pointers,\n };\n\n const hasRawPointers = Object.values(allPointers).some((v) =>\n isAddressValid(v, Encoding.Bytearray),\n );\n\n const tx = await buildTxAsync({\n _isInternalBuild: true,\n ...opt,\n tag: Tag.NameUpdateTx,\n version: hasRawPointers ? 2 : 1,\n nameId: this.value,\n accountId: opt.onAccount.address,\n pointers: Object.entries(allPointers).map(\n ([key, id]: [string, Encoded.Generic<AddressEncodings>]) => ({ key, id }),\n ),\n });\n return sendTransaction(tx, opt);\n }\n\n /**\n * Transfer a name to another account\n * @param address - Recipient account public key\n * @param options - Options\n * @returns mined transaction details\n * @example\n * ```js\n * await name.transfer('ak_asd23dasdas...', { ttl, fee, nonce })\n * ```\n */\n async transfer(\n address: Encoded.AccountAddress,\n options: NameTransferOptions = {},\n ): ReturnType<typeof sendTransaction> {\n const opt = { ...this.options, ...options };\n const tx = await buildTxAsync({\n _isInternalBuild: true,\n ...opt,\n tag: Tag.NameTransferTx,\n nameId: this.value,\n accountId: opt.onAccount.address,\n recipientId: address,\n });\n return sendTransaction(tx, opt);\n }\n\n /**\n * Query the AENS name info from the node\n * and return the object with info and predefined functions for manipulating name\n * @param options - Options\n * @example\n * ```js\n * const nameEntry = await name.getState()\n * console.log(nameEntry.owner)\n * ```\n */\n async getState(options: { onNode?: Node } = {}): Promise<\n Awaited<ReturnType<Node['getNameEntryByName']>> & {\n id: Encoded.Name;\n owner: Encoded.AccountAddress;\n }\n > {\n const onNode = this.options.onNode ?? options.onNode;\n const nameEntry = await onNode.getNameEntryByName(this.value);\n return {\n ...nameEntry,\n id: nameEntry.id as Encoded.Name,\n owner: nameEntry.owner as Encoded.AccountAddress,\n };\n }\n\n /**\n *\n * @param nameTtl - represents in number of blocks (max and default is 180000)\n * @param options - Options\n * @returns mined transaction details\n */\n async extendTtl(\n nameTtl?: number,\n options: Omit<Parameters<Name['update']>[1], 'extendPointers' | 'nameTtl'> = {},\n ): ReturnType<Name['update']> {\n return this.update({}, { ...options, nameTtl, extendPointers: true });\n }\n\n /**\n * Claim a previously preclaimed registration. This can only be done after the preclaim step\n * @param options - options\n * @returns mined transaction details\n * @example\n * ```js\n * await name.claim({ ttl, fee, nonce, nameFee })\n * ```\n */\n async claim(options: NameClaimOptions = {}): ReturnType<typeof sendTransaction> {\n const opt = { ...this.options, ...options };\n const tx = await buildTxAsync({\n _isInternalBuild: true,\n ...opt,\n tag: Tag.NameClaimTx,\n accountId: opt.onAccount.address,\n nameSalt: this.#salt,\n name: this.value,\n });\n return sendTransaction(tx, opt);\n }\n\n /**\n * Preclaim a name. Sends a hash of the name and a random salt to the node\n * @param options - Options\n * @example\n * ```js\n * await name.preclaim({ ttl, fee, nonce })\n * ```\n */\n async preclaim(options: NamePreclaimOptions = {}): ReturnType<typeof sendTransaction> {\n const opt = { ...this.options, ...options };\n const salt = genSalt();\n const tx = await buildTxAsync({\n _isInternalBuild: true,\n ...opt,\n tag: Tag.NamePreclaimTx,\n accountId: opt.onAccount.address,\n commitmentId: commitmentHash(this.value, salt),\n });\n const result = await sendTransaction(tx, opt);\n this.#salt = salt;\n return result;\n }\n\n /**\n * Bid to name auction\n * @param nameFee - Name fee (bid fee)\n * @param options - Options\n * @returns mined transaction details\n * @example\n * ```js\n * const bidFee = computeBidFee(name.value, { startFee, increment: 0.42 })\n * await name.bid(213109412839123, { ttl, fee, nonce })\n * ```\n */\n async bid(\n nameFee: number | string | BigNumber,\n options: Omit<NameClaimOptions, 'nameFee'> = {},\n ): ReturnType<typeof sendTransaction> {\n if (!isAuctionName(this.value)) {\n throw new LogicError('This is not auction name, so cant make a bid!');\n }\n const opt = { ...this.options, ...options };\n const tx = await buildTxAsync({\n _isInternalBuild: true,\n ...opt,\n tag: Tag.NameClaimTx,\n accountId: opt.onAccount.address,\n nameSalt: 0,\n name: this.value,\n nameFee,\n });\n return sendTransaction(tx, opt);\n }\n}\n","/**\n * Contract module - routines to interact with the æternity contract\n *\n * High level documentation of the contracts are available at\n * https://github.com/aeternity/protocol/tree/master/contracts and\n */\n\nimport { Encoder as Calldata } from '@aeternity/aepp-calldata';\nimport { Tag, AensName, DRY_RUN_ACCOUNT } from '../tx/builder/constants.js';\nimport {\n buildContractIdByContractTx,\n unpackTx,\n buildTxAsync,\n BuildTxOptions,\n buildTxHash,\n} from '../tx/builder/index.js';\nimport { decode, Encoded } from '../utils/encoder.js';\nimport {\n MissingContractDefError,\n MissingContractAddressError,\n InactiveContractError,\n BytecodeMismatchError,\n DuplicateContractError,\n MissingFunctionNameError,\n InvalidMethodInvocationError,\n NotPayableFunctionError,\n TypeError,\n NodeInvocationError,\n IllegalArgumentError,\n NoSuchContractFunctionError,\n MissingEventDefinitionError,\n AmbiguousEventDefinitionError,\n UnexpectedTsError,\n InternalError,\n NoWalletConnectedError,\n ContractError,\n} from '../utils/errors.js';\nimport { hash as calcHash } from '../utils/crypto.js';\nimport {\n ContractCallObject as NodeContractCallObject,\n Event as NodeEvent,\n} from '../apis/node/index.js';\nimport CompilerBase, { Aci } from './compiler/Base.js';\nimport Node from '../Node.js';\nimport { getAccount, getContract, getContractByteCode, resolveName, txDryRun } from '../chain.js';\nimport { sendTransaction, SendTransactionOptions } from '../send-transaction.js';\nimport { TxUnpacked } from '../tx/builder/schema.generated.js';\nimport { Optional, isAccountNotFoundError } from '../utils/other.js';\nimport { isNameValid, produceNameId } from '../tx/builder/helpers.js';\n\ntype ContractAci = NonNullable<Aci[0]['contract']>;\ntype FunctionAci = ContractAci['functions'][0];\n\ninterface Event extends NodeEvent {\n address: Encoded.ContractAddress;\n data: Encoded.ContractBytearray;\n}\n\nexport interface ContractCallObject extends NodeContractCallObject {\n returnValue: Encoded.ContractBytearray;\n log: Event[];\n}\n\ninterface DecodedEvent {\n name: string;\n args: unknown[];\n contract: {\n name: string;\n address: Encoded.ContractAddress;\n };\n}\n\ntype TxData = Awaited<ReturnType<typeof sendTransaction>>;\n\ninterface SendAndProcessReturnType {\n result?: ContractCallObject;\n hash: TxData['hash'];\n tx: TxUnpacked & { tag: Tag.SignedTx | Tag.ContractCallTx | Tag.ContractCreateTx };\n txData: TxData;\n rawTx: Encoded.Transaction;\n}\n\nexport interface ContractMethodsBase {\n [key: string]: (...args: any[]) => any;\n}\n\ntype MethodsToContractApi<M extends ContractMethodsBase> = {\n [Name in keyof M]: M[Name] extends (...args: infer Args) => any\n ? (\n ...args: [\n ...Args,\n ...(\n | []\n | [\n Name extends 'init'\n ? Parameters<Contract<M>['$deploy']>[1]\n : Parameters<Contract<M>['$call']>[2],\n ]\n ),\n ]\n ) => ReturnType<Contract<M>['$call']>\n : never;\n};\n\ntype ContractWithMethods<M extends ContractMethodsBase> = Contract<M> & MethodsToContractApi<M>;\n\ntype MethodNames<M extends ContractMethodsBase> = (keyof M & string) | 'init';\n\ntype MethodParameters<M extends ContractMethodsBase, Fn extends MethodNames<M>> = Fn extends 'init'\n ? M extends { init: any }\n ? Parameters<M['init']>\n : []\n : Parameters<M[Fn]>;\n\ninterface GetContractNameByEventOptions {\n contractAddressToName?: { [key: Encoded.ContractAddress]: string };\n}\n\ninterface GetCallResultByHashReturnType<M extends ContractMethodsBase, Fn extends MethodNames<M>> {\n decodedResult: ReturnType<M[Fn]>;\n decodedEvents?: ReturnType<Contract<M>['$decodeEvents']>;\n}\n\n/**\n * Generate contract ACI object with predefined js methods for contract usage - can be used for\n * creating a reference to already deployed contracts\n * @category contract\n * @param options - Options object\n * @returns JS Contract API\n * @example\n * ```js\n * const contractIns = await Contract.initialize({ ...aeSdk.getContext(), sourceCode })\n * await contractIns.$deploy([321]) or await contractIns.init(321)\n * const callResult = await contractIns.$call('setState', [123])\n * const staticCallResult = await contractIns.$call('setState', [123], { callStatic: true })\n * ```\n * Also you can call contract like: `await contractIns.setState(123, options)`\n * Then sdk decide to make on-chain or static call (dry-run API) transaction based on function is\n * stateful or not\n */\nclass Contract<M extends ContractMethodsBase> {\n /**\n * Compile contract\n * @returns bytecode\n */\n async $compile(): Promise<Encoded.ContractBytearray> {\n if (this.$options.bytecode != null) return this.$options.bytecode;\n if (this.$options.onCompiler == null)\n throw new IllegalArgumentError(\"Can't compile without compiler\");\n if (this.$options.sourceCode != null) {\n const { bytecode } = await this.$options.onCompiler.compileBySourceCode(\n this.$options.sourceCode,\n this.$options.fileSystem,\n );\n this.$options.bytecode = bytecode;\n }\n if (this.$options.sourceCodePath != null) {\n const { bytecode } = await this.$options.onCompiler.compile(this.$options.sourceCodePath);\n this.$options.bytecode = bytecode;\n }\n if (this.$options.bytecode == null) {\n throw new IllegalArgumentError(\"Can't compile without sourceCode and sourceCodePath\");\n }\n return this.$options.bytecode;\n }\n\n #getCallResult<Fn extends MethodNames<M>>(\n { returnType, returnValue, log }: ContractCallObject,\n fnName: Fn,\n transaction: Encoded.Transaction | undefined,\n options: Parameters<Contract<M>['$decodeEvents']>[1],\n ): GetCallResultByHashReturnType<M, Fn> {\n let message: string;\n switch (returnType) {\n case 'ok': {\n const fnAci = this.#getFunctionAci(fnName);\n return {\n decodedResult: this._calldata.decode(this._name, fnAci.name, returnValue),\n decodedEvents: this.$decodeEvents(log, options),\n };\n }\n case 'revert':\n message = this._calldata.decodeFateString(returnValue);\n break;\n case 'error':\n message = decode(returnValue).toString();\n if (/Expected \\d+ arguments, got \\d+/.test(message)) {\n throw new ContractError(\n `ACI doesn't match called contract. Error provided by node: ${message}`,\n );\n }\n break;\n default:\n throw new InternalError(`Unknown return type: ${returnType}`);\n }\n throw new NodeInvocationError(message, transaction);\n }\n\n async #sendAndProcess<Fn extends MethodNames<M>>(\n tx: Encoded.Transaction,\n fnName: Fn,\n options: SendTransactionOptions & Parameters<Contract<M>['$getCallResultByTxHash']>[2],\n ): Promise<SendAndProcessReturnType & Partial<GetCallResultByHashReturnType<M, Fn>>> {\n const txData = await sendTransaction(tx, { ...this.$options, ...options });\n return {\n hash: txData.hash,\n tx: unpackTx<Tag.ContractCallTx | Tag.ContractCreateTx>(txData.rawTx),\n txData,\n rawTx: txData.rawTx,\n ...(txData.blockHeight != null &&\n (await this.$getCallResultByTxHash(txData.hash, fnName, options))),\n };\n }\n\n async $getCallResultByTxHash<Fn extends MethodNames<M>>(\n hash: Encoded.TxHash,\n fnName: Fn,\n options?: Parameters<Contract<M>['$decodeEvents']>[1],\n ): Promise<GetCallResultByHashReturnType<M, Fn> & { result: ContractCallObject }> {\n const { callInfo } = await this.$options.onNode.getTransactionInfoByHash(hash);\n if (callInfo == null) {\n throw new ContractError(`callInfo is not available for transaction ${hash}`);\n }\n const callInfoTyped = callInfo as ContractCallObject;\n return {\n ...this.#getCallResult(callInfoTyped, fnName, undefined, options),\n result: callInfoTyped,\n };\n }\n\n async _estimateGas<Fn extends MethodNames<M>>(\n name: Fn,\n params: MethodParameters<M, Fn>,\n options: Omit<Parameters<Contract<M>['$call']>[2], 'callStatic'> = {},\n ): Promise<number> {\n const { result } = await this.$call(name, params, { ...options, callStatic: true });\n if (result == null) throw new UnexpectedTsError();\n const { gasUsed } = result;\n // taken from https://github.com/aeternity/aepp-sdk-js/issues/1286#issuecomment-977814771\n return Math.floor(gasUsed * 1.25);\n }\n\n /**\n * Deploy contract\n * @param params - Contract init function arguments array\n * @param options - Options\n * @returns deploy info\n */\n async $deploy(\n params: MethodParameters<M, 'init'>,\n options?: Parameters<Contract<M>['$call']>[2] &\n Partial<BuildTxOptions<Tag.ContractCreateTx, 'ownerId' | 'code' | 'callData'>>,\n ): Promise<\n Omit<SendAndProcessReturnType, 'hash'> & {\n transaction?: Encoded.TxHash;\n owner?: Encoded.AccountAddress;\n address?: Encoded.ContractAddress;\n decodedEvents?: ReturnType<Contract<M>['$decodeEvents']>;\n }\n > {\n const { callStatic, ...opt } = { ...this.$options, ...options };\n if (this.$options.bytecode == null) await this.$compile();\n if (callStatic === true) return this.$call('init', params, { ...opt, callStatic });\n if (this.$options.address != null) throw new DuplicateContractError();\n\n if (opt.onAccount == null) throw new IllegalArgumentError(\"Can't deploy without account\");\n const ownerId = opt.onAccount.address;\n if (this.$options.bytecode == null)\n throw new IllegalArgumentError(\"Can't deploy without bytecode\");\n const tx = await buildTxAsync({\n _isInternalBuild: true,\n ...opt,\n tag: Tag.ContractCreateTx,\n gasLimit: opt.gasLimit ?? (await this._estimateGas('init', params, opt)),\n callData: this._calldata.encode(this._name, 'init', params),\n code: this.$options.bytecode,\n ownerId,\n });\n const { hash, ...other } = await this.#sendAndProcess(tx, 'init', {\n ...opt,\n onAccount: opt.onAccount,\n });\n this.$options.address = buildContractIdByContractTx(other.rawTx);\n return {\n ...other,\n ...(other.result?.log != null && {\n decodedEvents: this.$decodeEvents(other.result.log, opt),\n }),\n owner: ownerId,\n transaction: hash,\n address: this.$options.address,\n };\n }\n\n /**\n * Get function schema from contract ACI object\n * @param name - Function name\n * @returns function ACI\n */\n #getFunctionAci(name: string): FunctionAci {\n const fn = this.#aciContract.functions.find((f: { name: string }) => f.name === name);\n if (fn != null) {\n return fn;\n }\n if (name === 'init') {\n return {\n arguments: [],\n name: 'init',\n payable: false,\n returns: 'unit',\n stateful: true,\n };\n }\n throw new NoSuchContractFunctionError(name);\n }\n\n /**\n * Call contract function\n * @param fn - Function name\n * @param params - Array of function arguments\n * @param options - Array of function arguments\n * @returns CallResult\n */\n async $call<Fn extends MethodNames<M>>(\n fn: Fn,\n params: MethodParameters<M, Fn>,\n options: Partial<BuildTxOptions<Tag.ContractCallTx, 'callerId' | 'contractId' | 'callData'>> &\n Parameters<Contract<M>['$decodeEvents']>[1] &\n Optional<SendTransactionOptions, 'onAccount' | 'onNode'> &\n Omit<Parameters<typeof txDryRun>[2], 'onNode'> & { callStatic?: boolean } = {},\n ): Promise<SendAndProcessReturnType & Partial<GetCallResultByHashReturnType<M, Fn>>> {\n const { callStatic, top, ...opt } = { ...this.$options, ...options };\n const fnAci = this.#getFunctionAci(fn);\n const { address, name } = this.$options;\n // TODO: call `produceNameId` on buildTx side\n const contractId = name != null ? produceNameId(name) : address;\n const { onNode } = opt;\n\n if (fn == null) throw new MissingFunctionNameError();\n if (fn === 'init' && callStatic !== true)\n throw new InvalidMethodInvocationError('\"init\" can be called only via dryRun');\n if (fn !== 'init' && opt.amount != null && Number(opt.amount) > 0 && !fnAci.payable) {\n throw new NotPayableFunctionError(opt.amount, fn);\n }\n\n let callerId;\n try {\n if (opt.onAccount == null) throw new InternalError('Use fallback account');\n callerId = opt.onAccount.address;\n } catch (error) {\n const useFallbackAccount =\n callStatic === true &&\n ((error instanceof TypeError &&\n error.message ===\n 'Account should be an address (ak-prefixed string), or instance of AccountBase, got undefined instead') ||\n error instanceof NoWalletConnectedError ||\n (error instanceof InternalError && error.message === 'Use fallback account'));\n if (!useFallbackAccount) throw error;\n callerId = DRY_RUN_ACCOUNT.pub;\n }\n const callData = this._calldata.encode(this._name, fn, params);\n\n if (callStatic === true) {\n if (opt.nonce == null) {\n const topOption = top != null && { [typeof top === 'number' ? 'height' : 'hash']: top };\n const account = await getAccount(callerId, { ...topOption, onNode }).catch((error) => {\n if (!isAccountNotFoundError(error)) throw error;\n return { kind: 'basic', nonce: 0 };\n });\n opt.nonce = account.kind === 'generalized' ? 0 : account.nonce + 1;\n }\n\n const txOpt = { ...opt, onNode, callData };\n let tx;\n if (fn === 'init') {\n if (this.$options.bytecode == null)\n throw new IllegalArgumentError('Can\\'t dry-run \"init\" without bytecode');\n tx = await buildTxAsync({\n ...txOpt,\n tag: Tag.ContractCreateTx,\n code: this.$options.bytecode,\n ownerId: callerId,\n });\n } else {\n if (contractId == null)\n throw new MissingContractAddressError(\"Can't dry-run contract without address\");\n tx = await buildTxAsync({\n ...txOpt,\n tag: Tag.ContractCallTx,\n callerId,\n contractId,\n });\n }\n\n const { callObj, ...dryRunOther } = await txDryRun(tx, callerId, { ...opt, top });\n if (callObj == null) {\n throw new InternalError(`callObj is not available for transaction ${tx}`);\n }\n const callInfoTyped = callObj as ContractCallObject;\n return {\n ...dryRunOther,\n ...this.#getCallResult(callInfoTyped, fn, tx, opt),\n tx: unpackTx(tx),\n result: callInfoTyped,\n rawTx: tx,\n hash: buildTxHash(tx),\n txData: undefined as any,\n };\n }\n\n if (top != null)\n throw new IllegalArgumentError(\"Can't handle `top` option in on-chain contract call\");\n if (contractId == null)\n throw new MissingContractAddressError(\"Can't call contract without address\");\n const tx = await buildTxAsync({\n _isInternalBuild: true,\n ...opt,\n tag: Tag.ContractCallTx,\n gasLimit: opt.gasLimit ?? (await this._estimateGas(fn, params, opt)),\n callerId,\n contractId,\n callData,\n });\n if (opt.onAccount == null)\n throw new IllegalArgumentError(\"Can't call contract on chain without account\");\n return this.#sendAndProcess(tx, fn, { ...opt, onAccount: opt.onAccount });\n }\n\n /**\n * @param ctAddress - Contract address that emitted event\n * @param nameHash - Hash of emitted event name\n * @param options - Options\n * @returns Contract name\n * @throws {@link MissingEventDefinitionError}\n * @throws {@link AmbiguousEventDefinitionError}\n */\n #getContractNameByEvent(\n ctAddress: Encoded.ContractAddress,\n nameHash: BigInt,\n { contractAddressToName }: GetContractNameByEventOptions,\n ): string {\n const addressToName = { ...this.$options.contractAddressToName, ...contractAddressToName };\n if (addressToName[ctAddress] != null) return addressToName[ctAddress];\n\n // TODO: consider using a third-party library\n const isEqual = (a: any, b: any): boolean => JSON.stringify(a) === JSON.stringify(b);\n\n const contracts = this._aci\n .map(({ contract }) => contract)\n .filter((contract) => contract?.event) as ContractAci[];\n const matchedEvents = contracts\n .map((contract) => [contract.name, contract.event.variant])\n .map(([name, events]) =>\n events.map((event: {}) => [name, Object.keys(event)[0], Object.values(event)[0]]),\n )\n .flat()\n .filter(([, eventName]) => BigInt(`0x${calcHash(eventName).toString('hex')}`) === nameHash)\n .filter(([, , type], idx, arr) => !arr.slice(0, idx).some((el) => isEqual(el[2], type)));\n switch (matchedEvents.length) {\n case 0:\n throw new MissingEventDefinitionError(nameHash.toString(), ctAddress);\n case 1:\n return matchedEvents[0][0];\n default:\n throw new AmbiguousEventDefinitionError(ctAddress, matchedEvents);\n }\n }\n\n /**\n * Decode Events\n * @param events - Array of encoded events (callRes.result.log)\n * @param options - Options\n * @returns DecodedEvents\n */\n $decodeEvents(\n events: Event[],\n { omitUnknown, ...opt }: { omitUnknown?: boolean } & GetContractNameByEventOptions = {},\n ): DecodedEvent[] {\n return events\n .map((event) => {\n let contractName;\n try {\n contractName = this.#getContractNameByEvent(event.address, event.topics[0], opt);\n } catch (error) {\n if ((omitUnknown ?? false) && error instanceof MissingEventDefinitionError) return null;\n throw error;\n }\n const decoded = this._calldata.decodeEvent(contractName, event.data, event.topics);\n const [name, args] = Object.entries(decoded)[0];\n return {\n name,\n args,\n contract: {\n name: contractName,\n address: event.address,\n },\n };\n })\n .filter((e: DecodedEvent | null): e is DecodedEvent => e != null);\n }\n\n static async initialize<M extends ContractMethodsBase>({\n onCompiler,\n onNode,\n bytecode,\n aci,\n address,\n sourceCodePath,\n sourceCode,\n fileSystem,\n validateBytecode,\n ...otherOptions\n }: Omit<ConstructorParameters<typeof Contract>[0], 'aci' | 'address'> & {\n validateBytecode?: boolean;\n aci?: Aci;\n address?: Encoded.ContractAddress | AensName;\n }): Promise<ContractWithMethods<M>> {\n if (aci == null && onCompiler != null) {\n let res;\n if (sourceCodePath != null) res = await onCompiler.compile(sourceCodePath);\n if (sourceCode != null) res = await onCompiler.compileBySourceCode(sourceCode, fileSystem);\n if (res != null) {\n aci = res.aci;\n bytecode ??= res.bytecode;\n }\n }\n if (aci == null) throw new MissingContractDefError();\n\n let name;\n if (address != null) {\n address = (await resolveName(address, 'contract_pubkey', {\n resolveByNode: true,\n onNode,\n })) as Encoded.ContractAddress;\n if (isNameValid(address)) name = address;\n }\n\n if (address == null && sourceCode == null && sourceCodePath == null && bytecode == null) {\n throw new MissingContractAddressError(\"Can't create instance by ACI without address\");\n }\n\n if (address != null) {\n const contract = await getContract(address, { onNode });\n if (contract.active == null) throw new InactiveContractError(address);\n }\n\n if (validateBytecode === true) {\n if (address == null)\n throw new MissingContractAddressError(\"Can't validate bytecode without contract address\");\n const onChanBytecode = (await getContractByteCode(address, { onNode })).bytecode;\n let isValid = false;\n if (bytecode != null) isValid = bytecode === onChanBytecode;\n else if (sourceCode != null) {\n if (onCompiler == null)\n throw new IllegalArgumentError(\"Can't validate bytecode without compiler\");\n isValid = await onCompiler.validateBySourceCode(onChanBytecode, sourceCode, fileSystem);\n } else if (sourceCodePath != null) {\n if (onCompiler == null)\n throw new IllegalArgumentError(\"Can't validate bytecode without compiler\");\n isValid = await onCompiler.validate(onChanBytecode, sourceCodePath);\n }\n if (!isValid) {\n throw new BytecodeMismatchError(\n (sourceCode ?? sourceCodePath) != null ? 'source code' : 'bytecode',\n );\n }\n }\n\n return new ContractWithMethods<M>({\n onCompiler,\n onNode,\n sourceCode,\n sourceCodePath,\n bytecode,\n aci,\n address,\n name,\n fileSystem,\n ...otherOptions,\n });\n }\n\n _aci: Aci;\n\n readonly #aciContract: ContractAci;\n\n _name: string;\n\n _calldata: Calldata;\n\n $options: Omit<ConstructorParameters<typeof Contract>[0], 'aci'>;\n\n /**\n * @param options - Options\n */\n constructor({\n aci,\n ...otherOptions\n }: {\n onCompiler?: CompilerBase;\n onNode: Node;\n bytecode?: Encoded.ContractBytearray;\n aci: Aci;\n address?: Encoded.ContractAddress;\n /**\n * Supported only in Ceres\n */\n name?: AensName;\n sourceCodePath?: Parameters<CompilerBase['compile']>[0];\n sourceCode?: Parameters<CompilerBase['compileBySourceCode']>[0];\n fileSystem?: Parameters<CompilerBase['compileBySourceCode']>[1];\n } & Parameters<Contract<M>['$deploy']>[1]) {\n this._aci = aci;\n const aciLast = aci[aci.length - 1];\n if (aciLast.contract == null) {\n throw new IllegalArgumentError(\n `The last 'aci' item should have 'contract' key, got ${Object.keys(aciLast)} keys instead`,\n );\n }\n this.#aciContract = aciLast.contract;\n this._name = this.#aciContract.name;\n this._calldata = new Calldata(aci);\n this.$options = otherOptions;\n\n /**\n * Generate proto function based on contract function using Contract ACI schema\n * All function can be called like:\n * ```js\n * await contract.testFunction()\n * ```\n * then sdk will decide to use dry-run or send tx\n * on-chain base on if function stateful or not.\n * Also, you can manually do that:\n * ```js\n * await contract.testFunction({ callStatic: true }) // use call-static (dry-run)\n * await contract.testFunction({ callStatic: false }) // send tx on-chain\n * ```\n */\n Object.assign(\n this,\n Object.fromEntries(\n this.#aciContract.functions.map(({ name, arguments: aciArgs, stateful }: FunctionAci) => {\n const callStatic = name !== 'init' && !stateful;\n return [\n name,\n async (...args: any) => {\n const options = args.length === aciArgs.length + 1 ? args.pop() : {};\n if (typeof options !== 'object')\n throw new TypeError(`Options should be an object: ${options}`);\n if (name === 'init') return this.$deploy(args, { callStatic, ...options });\n return this.$call(name, args, { callStatic, ...options });\n },\n ];\n }),\n ),\n );\n }\n}\n\ninterface ContractWithMethodsClass {\n new <M extends ContractMethodsBase>(\n options: ConstructorParameters<typeof Contract>[0],\n ): ContractWithMethods<M>;\n initialize: (typeof Contract)['initialize'];\n}\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nconst ContractWithMethods: ContractWithMethodsClass = Contract as any;\n\nexport default ContractWithMethods;\n","import { decode, Encoded } from '../utils/encoder.js';\nimport Node from '../Node.js';\n\ntype OracleQueryNode = Awaited<\n ReturnType<Node['getOracleQueriesByPubkey']>\n>['oracleQueries'][number];\nexport interface OracleQuery extends OracleQueryNode {\n // TODO: type should be corrected in node api\n id: Encoded.OracleQueryId;\n decodedQuery: string;\n decodedResponse: string;\n}\n\nexport function decodeQuery(queryEntry: OracleQueryNode): OracleQuery {\n return {\n ...queryEntry,\n id: queryEntry.id as Encoded.OracleQueryId,\n decodedQuery: decode(queryEntry.query as Encoded.OracleQuery).toString(),\n decodedResponse: decode(queryEntry.response as Encoded.OracleResponse).toString(),\n };\n}\n\n/**\n * This class is needed because `getOracleQuery` would return different values depending on the\n * oracle type.\n */\nexport default class OracleBase {\n /**\n * @param address - Oracle public key\n */\n constructor(\n public readonly address: Encoded.OracleAddress,\n public options: { onNode: Node },\n ) {}\n\n /**\n * Get oracle entry from the node\n * @param options - Options object\n */\n async getState(options: { onNode?: Node } = {}): ReturnType<Node['getOracleByPubkey']> {\n const opt = { ...this.options, ...options };\n return opt.onNode.getOracleByPubkey(this.address);\n }\n\n /**\n * Get oracle query entry from the node\n * @param queryId - Oracle query ID\n * @param options - Options object\n */\n async getQuery(\n queryId: Encoded.OracleQueryId,\n options: { onNode?: Node } = {},\n ): Promise<OracleQuery> {\n const { onNode } = { ...this.options, ...options };\n const queryEntry = await onNode.getOracleQueryByPubkeyAndQueryId(this.address, queryId);\n return decodeQuery(queryEntry);\n }\n}\n","import { buildTxAsync, BuildTxOptions } from '../tx/builder/index.js';\nimport { Tag } from '../tx/builder/constants.js';\nimport { LogicError, UnexpectedTsError } from '../utils/errors.js';\nimport { decode, encode, Encoded, Encoding } from '../utils/encoder.js';\nimport { _getPollInterval } from '../chain.js';\nimport { sendTransaction, SendTransactionOptions } from '../send-transaction.js';\nimport Node from '../Node.js';\nimport AccountBase from '../account/Base.js';\nimport OracleBase, { OracleQuery, decodeQuery } from './OracleBase.js';\n\ninterface OracleRegisterOptions\n extends BuildTxOptions<Tag.OracleRegisterTx, 'accountId' | 'queryFormat' | 'responseFormat'>,\n Omit<SendTransactionOptions, 'onNode' | 'onAccount'> {}\n\ninterface OracleExtendTtlOptions\n extends BuildTxOptions<Tag.OracleExtendTx, 'callerId' | 'oracleId'>,\n Omit<SendTransactionOptions, 'onNode' | 'onAccount'> {}\n\ninterface OracleRespondToQueryOptions\n extends BuildTxOptions<Tag.OracleResponseTx, 'callerId' | 'oracleId' | 'queryId' | 'response'>,\n Omit<SendTransactionOptions, 'onNode' | 'onAccount'> {}\n\n/**\n * @category oracle\n */\nexport default class Oracle extends OracleBase {\n /**\n * @param account - Account to use as oracle\n * @param options - Options object\n */\n constructor(\n public readonly account: AccountBase,\n public override options: OracleRegisterOptions &\n OracleExtendTtlOptions &\n Parameters<Oracle['handleQueries']>[1] & { onNode: Node },\n ) {\n super(encode(decode(account.address), Encoding.OracleAddress), options);\n }\n\n // TODO: support abiVersion other than 0\n /**\n * Register oracle\n * @param queryFormat - Format of query\n * @param responseFormat - Format of query response\n * @param options - Options object\n */\n async register(\n queryFormat: string,\n responseFormat: string,\n options: OracleRegisterOptions = {},\n ): ReturnType<typeof sendTransaction> {\n const opt = { ...this.options, ...options };\n const oracleRegisterTx = await buildTxAsync({\n _isInternalBuild: true,\n ...opt,\n tag: Tag.OracleRegisterTx,\n accountId: this.account.address,\n queryFormat,\n responseFormat,\n });\n return sendTransaction(oracleRegisterTx, { ...opt, onAccount: this.account });\n }\n\n /**\n * Extend oracle ttl\n * @param options - Options object\n */\n async extendTtl(options: OracleExtendTtlOptions = {}): ReturnType<typeof sendTransaction> {\n const opt = { ...this.options, ...options };\n const oracleExtendTx = await buildTxAsync({\n _isInternalBuild: true,\n ...opt,\n tag: Tag.OracleExtendTx,\n oracleId: this.address,\n });\n return sendTransaction(oracleExtendTx, { ...opt, onAccount: this.account });\n }\n\n /**\n * Poll for oracle queries\n * @param onQuery - OnQuery callback\n * @param options - Options object\n * @param options.interval - Poll interval (default: 5000)\n * @returns Callback to stop polling function\n */\n pollQueries(\n onQuery: (query: OracleQuery) => void,\n options: { interval?: number; includeResponded?: boolean } & Partial<\n Parameters<typeof _getPollInterval>[1]\n > = {},\n ): () => void {\n const opt = { ...this.options, ...options };\n const knownQueryIds = new Set();\n\n let isChecking = false;\n const checkNewQueries = async (): Promise<void> => {\n if (isChecking) return;\n isChecking = true;\n const queries = (await opt.onNode.getOracleQueriesByPubkey(this.address)).oracleQueries ?? [];\n const filtered = queries\n .filter(({ id }) => !knownQueryIds.has(id))\n .map((query) => decodeQuery(query))\n .filter((query) => options.includeResponded === true || query.decodedResponse === '');\n filtered.forEach((query) => knownQueryIds.add(query.id));\n isChecking = false;\n await Promise.all(filtered.map((query) => onQuery(query)));\n };\n\n checkNewQueries();\n const idPromise = (async () => {\n const interval = opt.interval ?? (await _getPollInterval('micro-block', opt));\n return setInterval(async () => checkNewQueries(), interval);\n })();\n\n return async () => {\n const id = await idPromise;\n clearInterval(id);\n };\n }\n\n /**\n * Respond to a query\n * @param queryId - Oracle query id\n * @param response - The response to query\n * @param options - Options object\n */\n async respondToQuery(\n queryId: Encoded.OracleQueryId,\n response: string,\n options: OracleRespondToQueryOptions = {},\n ): ReturnType<typeof sendTransaction> {\n const opt = { ...this.options, ...options };\n const oracleRespondTx = await buildTxAsync({\n _isInternalBuild: true,\n ...opt,\n tag: Tag.OracleResponseTx,\n oracleId: this.address,\n queryId,\n response,\n });\n return sendTransaction(oracleRespondTx, { ...opt, onAccount: this.account });\n }\n\n #handleQueriesPromise?: Promise<void>;\n\n /**\n * Respond to queries to oracle based on callback value\n * @param getResponse - Callback to respond on query\n * @param options - Options object\n * @param options.interval - Poll interval (default: 5000)\n * @returns Callback to stop polling function\n */\n handleQueries(\n getResponse: (q: OracleQuery) => Promise<string> | string,\n options: Parameters<Oracle['pollQueries']>[1] & OracleRespondToQueryOptions = {},\n ): () => void {\n if (this.#handleQueriesPromise != null) {\n throw new LogicError(\n 'Another query handler already running, it needs to be stopped to run a new one',\n );\n }\n const opt = { ...this.options, ...options };\n\n let queuePromise = Promise.resolve();\n const handler = async (q: OracleQuery): Promise<void> => {\n const response = await getResponse(q);\n const respondPromise = queuePromise.then(async () =>\n this.respondToQuery(q.id, response, opt),\n );\n queuePromise = respondPromise.then(\n () => {},\n () => {},\n );\n await respondPromise;\n };\n\n this.#handleQueriesPromise = Promise.resolve();\n const stopPoll = this.pollQueries(async (query: OracleQuery) => {\n const promise = handler(query);\n if (this.#handleQueriesPromise == null) throw new UnexpectedTsError();\n this.#handleQueriesPromise = this.#handleQueriesPromise\n .then(async () => promise)\n .then(\n () => {},\n () => {},\n );\n return promise;\n }, opt);\n\n return async () => {\n stopPoll();\n await this.#handleQueriesPromise;\n this.#handleQueriesPromise = undefined;\n };\n }\n}\n","import { pause, Optional } from '../utils/other.js';\nimport { oracleQueryId } from '../tx/builder/helpers.js';\nimport { unpackTx, buildTxAsync, BuildTxOptions } from '../tx/builder/index.js';\nimport { Tag } from '../tx/builder/constants.js';\nimport { RequestTimedOutError } from '../utils/errors.js';\nimport { decode, Encoded } from '../utils/encoder.js';\nimport { _getPollInterval, getHeight } from '../chain.js';\nimport { sendTransaction } from '../send-transaction.js';\nimport Node from '../Node.js';\nimport AccountBase from '../account/Base.js';\nimport OracleBase from './OracleBase.js';\n\ninterface OracleClientPostQueryOptions\n extends Optional<Parameters<typeof sendTransaction>[1], 'onNode' | 'onAccount'>,\n BuildTxOptions<Tag.OracleQueryTx, 'oracleId' | 'senderId' | 'query'> {}\n\n/**\n * @category oracle\n */\nexport default class OracleClient extends OracleBase {\n /**\n * @param address - Oracle public key\n * @param options - Options object\n * @param options.onAccount - Account to use\n * @param options.onNode - Node to use\n */\n constructor(\n address: Encoded.OracleAddress,\n public override options: { onAccount: AccountBase; onNode: Node } & Parameters<\n OracleClient['query']\n >[1],\n ) {\n super(address, options);\n }\n\n /**\n * Post query to oracle\n * @param query - Query to oracle\n * @param options - Options object\n * @returns Transaction details and query ID\n */\n async postQuery(\n query: string,\n options: OracleClientPostQueryOptions = {},\n ): Promise<Awaited<ReturnType<typeof sendTransaction>> & { queryId: Encoded.OracleQueryId }> {\n const opt = { ...this.options, ...options };\n const senderId = opt.onAccount.address;\n\n const oracleQueryTx = await buildTxAsync({\n _isInternalBuild: true,\n ...opt,\n tag: Tag.OracleQueryTx,\n oracleId: this.address,\n senderId,\n query,\n });\n const { nonce } = unpackTx(oracleQueryTx, Tag.OracleQueryTx);\n return {\n ...(await sendTransaction(oracleQueryTx, opt)),\n queryId: oracleQueryId(senderId, nonce, this.address),\n };\n }\n\n /**\n * Poll for oracle response to query\n * @param queryId - Oracle Query id\n * @param options - Options object\n * @param options.interval - Poll interval\n * @returns Oracle response\n */\n async pollForResponse(\n queryId: Encoded.OracleQueryId,\n options: { interval?: number } & Partial<Parameters<typeof _getPollInterval>[1]> = {},\n ): Promise<string> {\n const opt = { ...this.options, ...options };\n const interval = opt.interval ?? (await _getPollInterval('micro-block', opt));\n let height;\n let ttl;\n let response;\n do {\n ({ response, ttl } = await opt.onNode.getOracleQueryByPubkeyAndQueryId(\n this.address,\n queryId,\n ));\n const responseBuffer = decode(response as Encoded.OracleResponse);\n if (responseBuffer.length > 0) return responseBuffer.toString();\n await pause(interval);\n height = await getHeight({ ...opt, cached: true });\n } while (ttl >= height);\n throw new RequestTimedOutError(height);\n }\n\n /**\n * Post query to oracle and wait for response\n * @param query - Query to oracle\n * @param options - Options object\n * @returns Oracle response\n */\n async query(\n query: string,\n options: OracleClientPostQueryOptions & Parameters<OracleClient['pollForResponse']>[1] = {},\n ): Promise<string> {\n const { queryId } = await this.postQuery(query, options);\n return this.pollForResponse(queryId, options);\n }\n}\n","import { BigNumber } from 'bignumber.js';\nimport { getBalance, resolveName } from './chain.js';\nimport { sendTransaction, SendTransactionOptions } from './send-transaction.js';\nimport { buildTxAsync, BuildTxOptions, unpackTx } from './tx/builder/index.js';\nimport { ArgumentError } from './utils/errors.js';\nimport { Encoded } from './utils/encoder.js';\nimport { Tag, AensName } from './tx/builder/constants.js';\n\n// TODO: name verify should not overlap with transaction verify\ntype ResolveNameOptions = Omit<Parameters<typeof resolveName>[2], 'onNode' | 'verify'>;\n\n/**\n * Send coins to another account\n * @category chain\n * @param amount - Amount to spend\n * @param recipientIdOrName - Address or name of recipient account\n * @param options - Options\n * @returns Transaction\n */\nexport async function spend(\n amount: number | string,\n recipientIdOrName: Encoded.AccountAddress | Encoded.ContractAddress | AensName,\n options: SpendOptions,\n): ReturnType<typeof sendTransaction> {\n return sendTransaction(\n await buildTxAsync({\n _isInternalBuild: true,\n ...options,\n tag: Tag.SpendTx,\n senderId: options.onAccount.address,\n recipientId: await resolveName(recipientIdOrName, 'account_pubkey', options),\n amount,\n }),\n options,\n );\n}\n\ntype SpendOptionsType = BuildTxOptions<\n Tag.SpendTx,\n 'senderId' | 'recipientId' | 'amount' | 'onNode'\n> &\n ResolveNameOptions &\n SendTransactionOptions;\ninterface SpendOptions extends SpendOptionsType {}\n\n// TODO: Rename to spendFraction\n/**\n * Spend a fraction of coin balance to another account. Useful if needed to drain account balance\n * completely, sending funds to another account (with fraction set to 1).\n * @category chain\n * @param fraction - Fraction of balance to spend (between 0 and 1)\n * @param recipientIdOrName - Address or name of recipient account\n * @param options - Options\n * @example\n * ```js\n * // `fraction` * 100 = % of AE to be transferred (e.g. `0.42` for 42% or `1` for 100%)\n * const { blockHeight } = await aeSdk.transferFunds(\n * 0.42,\n * 'ak_21A27UVVt3hDkBE5J7rhhqnH5YNb4Y1dqo4PnSybrH85pnWo7E',\n * );\n * console.log('Transaction mined at', blockHeight);\n * ```\n */\nexport async function transferFunds(\n fraction: number | string, // TODO: accept only number\n recipientIdOrName: AensName | Encoded.AccountAddress | Encoded.ContractAddress,\n options: TransferFundsOptions,\n): ReturnType<typeof sendTransaction> {\n if (+fraction < 0 || +fraction > 1) {\n throw new ArgumentError('fraction', 'a number between 0 and 1', fraction);\n }\n const recipientId = await resolveName(recipientIdOrName, 'account_pubkey', options);\n const senderId = options.onAccount.address;\n const balance = new BigNumber(await getBalance.bind(options.onAccount)(senderId, options));\n const desiredAmount = balance.times(fraction).integerValue(BigNumber.ROUND_HALF_UP);\n const { fee } = unpackTx(\n await buildTxAsync({\n _isInternalBuild: true,\n ...options,\n tag: Tag.SpendTx,\n senderId,\n recipientId,\n amount: desiredAmount,\n }),\n Tag.SpendTx,\n );\n // Reducing of the amount may reduce transaction fee, so this is not completely accurate\n const amount = desiredAmount.plus(fee).gt(balance) ? balance.minus(fee) : desiredAmount;\n return sendTransaction(\n await buildTxAsync({\n _isInternalBuild: true,\n ...options,\n tag: Tag.SpendTx,\n senderId,\n recipientId,\n amount,\n }),\n options,\n );\n}\n\ntype TransferFundsOptionsType = BuildTxOptions<\n Tag.SpendTx,\n 'senderId' | 'recipientId' | 'amount' | 'onNode'\n> &\n ResolveNameOptions &\n SendTransactionOptions;\ninterface TransferFundsOptions extends TransferFundsOptionsType {}\n\n/**\n * Submit transaction of another account paying for it (fee and gas)\n * @category chain\n * @param transaction - tx_<base64>-encoded transaction\n * @param options - Options\n * @returns Object Transaction\n */\nexport async function payForTransaction(\n transaction: Encoded.Transaction,\n options: PayForTransactionOptions,\n): ReturnType<typeof sendTransaction> {\n return sendTransaction(\n await buildTxAsync({\n _isInternalBuild: true,\n ...options,\n tag: Tag.PayingForTx,\n payerId: options.onAccount.address,\n tx: transaction,\n }),\n options,\n );\n}\n\ninterface PayForTransactionOptions\n extends BuildTxOptions<Tag.PayingForTx, 'payerId' | 'tx' | 'onNode'>,\n SendTransactionOptions {}\n","/**\n * Generalized Account module - routines to use generalized account\n */\n\nimport { ConsensusProtocolVersion, Int, Tag } from '../tx/builder/constants.js';\nimport {\n buildContractIdByContractTx,\n buildTx,\n buildTxAsync,\n BuildTxOptions,\n unpackTx,\n} from '../tx/builder/index.js';\nimport { hash } from '../utils/crypto.js';\nimport { decode, encode, Encoded, Encoding } from '../utils/encoder.js';\nimport { ArgumentError, IllegalArgumentError } from '../utils/errors.js';\nimport { concatBuffers } from '../utils/other.js';\nimport Contract from './Contract.js';\nimport Node from '../Node.js';\nimport { getAccount } from '../chain.js';\nimport { sendTransaction, SendTransactionOptions } from '../send-transaction.js';\nimport CompilerBase from './compiler/Base.js';\nimport { packEntry } from '../tx/builder/entry/index.js';\nimport { EntryTag } from '../tx/builder/entry/constants.js';\n\n/**\n * Convert current account to GA\n * @category contract\n * @param authFnName - Authorization function name\n * @param args - init arguments\n * @param options - Options\n * @returns General Account Object\n */\nexport async function createGeneralizedAccount(\n authFnName: string,\n args: any[],\n {\n onAccount,\n onCompiler,\n onNode,\n bytecode,\n aci,\n sourceCodePath,\n sourceCode,\n fileSystem,\n ...options\n }: CreateGeneralizedAccountOptions,\n): Promise<\n Readonly<{\n owner: Encoded.AccountAddress;\n transaction: Encoded.TxHash;\n rawTx: Encoded.Transaction;\n gaContractId: Encoded.ContractAddress;\n }>\n> {\n const ownerId = onAccount.address;\n if ((await getAccount(ownerId, { onNode })).kind === 'generalized') {\n throw new IllegalArgumentError(`Account ${ownerId} is already GA`);\n }\n\n const contract = await Contract.initialize<{ init: (...a: any[]) => void }>({\n onAccount,\n onCompiler,\n onNode,\n bytecode,\n aci,\n sourceCodePath,\n sourceCode,\n fileSystem,\n });\n\n const tx = await buildTxAsync({\n _isInternalBuild: true,\n ...options,\n tag: Tag.GaAttachTx,\n onNode,\n code: await contract.$compile(),\n gasLimit: options.gasLimit ?? (await contract._estimateGas('init', args, options)),\n ownerId,\n callData: contract._calldata.encode(contract._name, 'init', args),\n authFun: hash(authFnName),\n });\n const { hash: transaction, rawTx } = await sendTransaction(tx, {\n onNode,\n onAccount,\n onCompiler,\n ...options,\n });\n const contractId = buildContractIdByContractTx(rawTx);\n\n return Object.freeze({\n owner: ownerId,\n transaction,\n rawTx,\n gaContractId: contractId,\n });\n}\n\ninterface CreateGeneralizedAccountOptions\n extends BuildTxOptions<\n Tag.GaAttachTx,\n 'authFun' | 'callData' | 'code' | 'ownerId' | 'gasLimit' | 'onNode'\n >,\n SendTransactionOptions,\n Pick<\n Parameters<typeof Contract.initialize>[0],\n 'bytecode' | 'aci' | 'sourceCodePath' | 'sourceCode' | 'fileSystem'\n > {\n onCompiler: CompilerBase;\n gasLimit?: number;\n}\n\n/**\n * Build a transaction hash the same as `Auth.tx_hash` by GaMetaTx payload\n * @category contract\n * @param transaction - tx-encoded transaction\n * @param options - Options\n * @param options.fee - GaMetaTx fee, required in Ceres\n * @param options.gasPrice - GaMetaTx gasPrice, required in Ceres\n * @param options.onNode - Node to use\n * @returns Transaction hash\n */\nexport async function buildAuthTxHash(\n transaction: Encoded.Transaction,\n { fee, gasPrice, onNode }: { fee?: Int; gasPrice?: Int; onNode: Node },\n): Promise<Buffer> {\n const { nodeNetworkId, consensusProtocolVersion } = await onNode.getNodeInfo();\n let payload = hash(concatBuffers([Buffer.from(nodeNetworkId), decode(transaction)]));\n if (consensusProtocolVersion === ConsensusProtocolVersion.Ceres) {\n if (fee == null) throw new ArgumentError('fee', 'provided (in Ceres)', fee);\n if (gasPrice == null) throw new ArgumentError('gasPrice', 'provided (in Ceres)', gasPrice);\n payload = hash(\n decode(\n packEntry({\n tag: EntryTag.GaMetaTxAuthData,\n fee,\n gasPrice,\n txHash: encode(payload, Encoding.TxHash),\n }),\n ),\n );\n }\n return payload;\n}\n\n/**\n * Build a transaction hash the same as `Auth.tx_hash` by GaMetaTx\n * @category contract\n * @param transaction - tx-encoded signed GaMeta transaction\n * @param options - Options\n * @param options.onNode - Node to use\n * @returns Transaction hash\n */\nexport async function buildAuthTxHashByGaMetaTx(\n transaction: Encoded.Transaction,\n { onNode }: { onNode: Node },\n): Promise<Buffer> {\n const txParams = unpackTx(transaction, Tag.SignedTx);\n if (txParams.encodedTx.tag !== Tag.GaMetaTx) {\n throw new ArgumentError('transaction', 'to include GaMetaTx', Tag[txParams.encodedTx.tag]);\n }\n return buildAuthTxHash(buildTx(txParams.encodedTx.tx.encodedTx), {\n fee: txParams.encodedTx.fee,\n gasPrice: txParams.encodedTx.gasPrice,\n onNode,\n });\n}\n","import _Symbol from \"core-js-pure/features/symbol/index.js\";\nimport _Symbol$iterator from \"core-js-pure/features/symbol/iterator.js\";\nfunction _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof _Symbol && \"symbol\" == typeof _Symbol$iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof _Symbol && o.constructor === _Symbol && o !== _Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _Object$defineProperty from \"core-js-pure/features/object/define-property.js\";\nimport toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? _Object$defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nimport _Symbol$toPrimitive from \"core-js-pure/features/symbol/to-primitive.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[_Symbol$toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import * as chainMethods from './chain.js';\nimport { sendTransaction } from './send-transaction.js';\nimport * as spendMethods from './spend.js';\nimport * as contractGaMethods from './contract/ga.js';\nimport { buildTxAsync } from './tx/builder/index.js';\nimport { mapObject, UnionToIntersection } from './utils/other.js';\nimport { wrapWithProxy } from './utils/wrap-proxy.js';\nimport Node from './Node.js';\nimport { TxParamsAsync } from './tx/builder/schema.generated.js';\nimport AccountBase from './account/Base.js';\nimport { Encoded } from './utils/encoder.js';\nimport CompilerBase from './contract/compiler/Base.js';\n\nexport type OnAccount = Encoded.AccountAddress | AccountBase | undefined;\n\nconst methods = {\n ...chainMethods,\n sendTransaction,\n ...spendMethods,\n ...contractGaMethods,\n} as const;\n\ntype Decrement<Number extends number> = [-1, 0, 1, 2, 3, 4, 5][Number];\ntype GetMethodsOptions<Methods extends { [key: string]: Function }> = {\n [Name in keyof Methods]: Methods[Name] extends (...args: infer Args) => any\n ? Args[Decrement<Args['length']>]\n : never;\n};\ntype MethodsOptions = GetMethodsOptions<typeof methods>;\nexport interface AeSdkMethodsOptions\n extends Partial<UnionToIntersection<MethodsOptions[keyof MethodsOptions]>> {}\n\nexport interface WrappedOptions {\n onAccount: AccountBase;\n onCompiler: CompilerBase;\n onNode: Node;\n}\n\n/**\n * AeSdkMethods is the composition of:\n * - chain methods\n * - tx methods\n * - aens methods\n * - spend methods\n * - oracle methods\n * - contract methods\n * - contract ga methods\n *\n * While these methods can be used separately, this class provides a handy way to store\n * their context (current account, network, and compiler to use).\n */\nclass AeSdkMethods {\n _options: AeSdkMethodsOptions = {};\n\n readonly #wrappedOptions: WrappedOptions;\n\n /**\n * @param options - Options\n */\n constructor(options: AeSdkMethodsOptions = {}) {\n Object.assign(this._options, options);\n this.#wrappedOptions = {\n onAccount: wrapWithProxy(() => this._options.onAccount),\n onNode: wrapWithProxy(() => this._options.onNode),\n onCompiler: wrapWithProxy(() => this._options.onCompiler),\n };\n }\n\n /**\n * Returns sdk instance options with references to current account, node, compiler.\n * Used to create an instance (Contract, Oracle) bound to AeSdk state.\n * @param mergeWith - Merge context with these extra options\n * @returns Context object\n */\n getContext(mergeWith: AeSdkMethodsOptions = {}): AeSdkMethodsOptions & WrappedOptions {\n return {\n ...this._options,\n ...this.#wrappedOptions,\n ...mergeWith,\n };\n }\n\n // TODO: omit onNode from options, because it is already in context\n async buildTx(options: TxParamsAsync): Promise<Encoded.Transaction> {\n // TODO: remove `any` at the same time as AeSdk class\n return buildTxAsync({ ...(this.getContext() as any), ...options });\n }\n}\n\ntype RequiredKeys<T> = {\n [K in keyof T]-?: {} extends Pick<T, K> ? never : K;\n}[keyof T];\n\ntype OptionalIfNotRequired<T extends [any]> = RequiredKeys<T[0]> extends never ? T | [] : T;\n\ntype ReplaceOnAccount<Options> = Options extends { onAccount: any }\n ? Omit<Options, 'onAccount'> & {\n /**\n * Make operation on specific account by providing address (to use account from sdk) or instance\n * of AccountBase (like MemoryAccount)\n */\n onAccount: OnAccount;\n }\n : Options;\n\ntype MakeOptional<Options> = OptionalIfNotRequired<\n [Omit<Options, 'onNode' | 'onCompiler' | 'onAccount'> & Partial<ReplaceOnAccount<Options>>]\n>;\n\ntype TransformMethods<Methods extends { [key: string]: Function }> = {\n [Name in keyof Methods]: Methods[Name] extends (\n ...args: [...infer Args, infer Options]\n ) => infer Ret\n ? (...args: [...Args, ...MakeOptional<Options>]) => Ret\n : never;\n};\n\ninterface AeSdkMethodsTransformed extends TransformMethods<typeof methods> {}\n\nObject.assign(\n AeSdkMethods.prototype,\n mapObject<Function, Function>(methods, ([name, handler]) => [\n name,\n function methodWrapper(this: AeSdkMethods, ...args: any[]) {\n args.length = handler.length;\n const options = args[args.length - 1];\n args[args.length - 1] = this.getContext(options);\n return handler(...args);\n },\n ]),\n);\n\ntype AeSdkMethodsTyped = AeSdkMethods & AeSdkMethodsTransformed;\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nconst AeSdkMethodsTyped = AeSdkMethods as new (options?: AeSdkMethodsOptions) => AeSdkMethodsTyped;\nexport default AeSdkMethodsTyped;\n","import Node from './Node.js';\nimport AccountBase from './account/Base.js';\nimport {\n CompilerError,\n DuplicateNodeError,\n NodeNotFoundError,\n NotImplementedError,\n TypeError,\n} from './utils/errors.js';\nimport { Encoded } from './utils/encoder.js';\nimport { wrapWithProxy } from './utils/wrap-proxy.js';\nimport CompilerBase from './contract/compiler/Base.js';\nimport AeSdkMethods, { OnAccount, AeSdkMethodsOptions, WrappedOptions } from './AeSdkMethods.js';\n\ntype NodeInfo = Awaited<ReturnType<Node['getNodeInfo']>> & { name: string };\n\n/**\n * Basic AeSdk class implements:\n * - node selector,\n * - integrated compiler support,\n * - wrappers of account methods mapped to the current account.\n */\nexport default class AeSdkBase extends AeSdkMethods {\n pool: Map<string, Node> = new Map();\n\n selectedNodeName?: string;\n\n readonly #wrappedOptions: WrappedOptions;\n\n /**\n * @param options - Options\n * @param options.nodes - Array of nodes\n */\n constructor({\n nodes = [],\n ...options\n }: AeSdkMethodsOptions & {\n nodes?: Array<{ name: string; instance: Node }>;\n } = {}) {\n super(options);\n\n nodes.forEach(({ name, instance }, i) => this.addNode(name, instance, i === 0));\n\n this.#wrappedOptions = {\n onNode: wrapWithProxy(() => this.api),\n onCompiler: wrapWithProxy(() => this.compilerApi),\n onAccount: wrapWithProxy(() => this._resolveAccount()),\n };\n }\n\n // TODO: consider dropping this getter, because:\n // compiler is not intended to be used separately any more (functionality limited to sdk needs)\n // and user creates its instance by himself\n get compilerApi(): CompilerBase {\n if (this._options.onCompiler == null) {\n throw new CompilerError(\"You can't use Compiler API. Compiler is not ready!\");\n }\n return this._options.onCompiler;\n }\n\n get api(): Node {\n this.ensureNodeConnected();\n return this.pool.get(this.selectedNodeName) as Node;\n }\n\n /**\n * Add Node\n * @param name - Node name\n * @param node - Node instance\n * @param select - Select this node as current\n * @example\n * ```js\n * // add and select new node with name 'testNode'\n * aeSdkBase.addNode('testNode', new Node({ url }), true)\n * ```\n */\n addNode(name: string, node: Node, select = false): void {\n if (this.pool.has(name)) throw new DuplicateNodeError(name);\n\n this.pool.set(name, node);\n if (select || this.selectedNodeName == null) {\n this.selectNode(name);\n }\n }\n\n /**\n * Select Node\n * @param name - Node name\n * @example\n * nodePool.selectNode('testNode')\n */\n selectNode(name: string): void {\n if (!this.pool.has(name)) throw new NodeNotFoundError(`Node with name ${name} not in pool`);\n this.selectedNodeName = name;\n }\n\n /**\n * Check if you have selected node\n * @example\n * nodePool.isNodeConnected()\n */\n isNodeConnected(): this is AeSdkBase & { selectedNodeName: string } {\n return this.selectedNodeName != null;\n }\n\n protected ensureNodeConnected(): asserts this is AeSdkBase & { selectedNodeName: string } {\n if (!this.isNodeConnected()) {\n throw new NodeNotFoundError(\"You can't use Node API. Node is not connected or not defined!\");\n }\n }\n\n /**\n * Get information about node\n * @example\n * ```js\n * nodePool.getNodeInfo() // { name, version, networkId, protocol, ... }\n * ```\n */\n async getNodeInfo(): Promise<NodeInfo> {\n this.ensureNodeConnected();\n return {\n name: this.selectedNodeName,\n ...(await this.api.getNodeInfo()),\n };\n }\n\n /**\n * Get array of available nodes\n * @example\n * nodePool.getNodesInPool()\n */\n async getNodesInPool(): Promise<NodeInfo[]> {\n return Promise.all(\n Array.from(this.pool.entries()).map(async ([name, node]) => ({\n name,\n ...(await node.getNodeInfo()),\n })),\n );\n }\n\n // eslint-disable-next-line class-methods-use-this\n addresses(): Encoded.AccountAddress[] {\n return [];\n }\n\n /**\n * Resolves an account\n * @param account - ak-address, instance of AccountBase, or keypair\n */\n _resolveAccount(account: OnAccount = this._options.onAccount): AccountBase {\n if (typeof account === 'string') throw new NotImplementedError('Address in AccountResolver');\n if (typeof account === 'object') return account;\n throw new TypeError(\n 'Account should be an address (ak-prefixed string), ' +\n `or instance of AccountBase, got ${String(account)} instead`,\n );\n }\n\n get address(): Encoded.AccountAddress {\n return this._resolveAccount().address;\n }\n\n /**\n * Sign data blob\n * @param data - Data to sign\n * @param options - Options\n */\n async sign(\n data: string | Uint8Array,\n { onAccount, ...options }: { onAccount?: OnAccount } = {},\n ): Promise<Uint8Array> {\n return this._resolveAccount(onAccount).sign(data, options);\n }\n\n /**\n * Sign encoded transaction\n * @param tx - Transaction to sign\n * @param options - Options\n */\n async signTransaction(\n tx: Encoded.Transaction,\n {\n onAccount,\n ...options\n }: { onAccount?: OnAccount } & Parameters<AccountBase['signTransaction']>[1] = {},\n ): Promise<Encoded.Transaction> {\n const networkId = this.selectedNodeName !== null ? await this.api.getNetworkId() : undefined;\n return this._resolveAccount(onAccount).signTransaction(tx, { networkId, ...options });\n }\n\n /**\n * Sign message\n * @param message - Message to sign\n * @param options - Options\n */\n async signMessage(\n message: string,\n {\n onAccount,\n ...options\n }: { onAccount?: OnAccount } & Parameters<AccountBase['signMessage']>[1] = {},\n ): Promise<Uint8Array> {\n return this._resolveAccount(onAccount).signMessage(message, options);\n }\n\n /**\n * Sign typed data\n * @param data - Encoded data to sign\n * @param aci - Type of data to sign\n * @param options - Options\n */\n async signTypedData(\n data: Encoded.ContractBytearray,\n aci: Parameters<AccountBase['signTypedData']>[1],\n {\n onAccount,\n ...options\n }: { onAccount?: OnAccount } & Parameters<AccountBase['signTypedData']>[2] = {},\n ): Promise<Encoded.Signature> {\n return this._resolveAccount(onAccount).signTypedData(data, aci, options);\n }\n\n /**\n * Sign delegation, works only in Ceres\n * @param delegation - Delegation to sign\n * @param options - Options\n */\n async signDelegation(\n delegation: Encoded.Bytearray,\n {\n onAccount,\n ...options\n }: { onAccount?: OnAccount } & Parameters<AccountBase['signDelegation']>[1] = {},\n ): Promise<Encoded.Signature> {\n options.networkId ??=\n this.selectedNodeName !== null ? await this.api.getNetworkId() : undefined;\n return this._resolveAccount(onAccount).signDelegation(delegation, options);\n }\n\n /**\n * The same as AeSdkMethods:getContext, but it would resolve ak_-prefixed address in\n * `mergeWith.onAccount` to AccountBase.\n */\n override getContext(mergeWith: AeSdkMethodsOptions = {}): AeSdkMethodsOptions & WrappedOptions {\n return {\n ...this._options,\n ...this.#wrappedOptions,\n ...mergeWith,\n ...(mergeWith.onAccount != null && {\n onAccount: this._resolveAccount(mergeWith.onAccount),\n }),\n };\n }\n}\n","import AeSdkBase from './AeSdkBase.js';\nimport { OnAccount } from './AeSdkMethods.js';\nimport AccountBase from './account/Base.js';\nimport { decode, Encoded } from './utils/encoder.js';\nimport { UnavailableAccountError } from './utils/errors.js';\n\nexport default class AeSdk extends AeSdkBase {\n accounts: { [key: Encoded.AccountAddress]: AccountBase } = {};\n\n selectedAddress?: Encoded.AccountAddress;\n\n /**\n * @param options - Options\n */\n constructor({\n accounts,\n ...options\n }: { accounts?: AccountBase[] } & ConstructorParameters<typeof AeSdkBase>[0] = {}) {\n super(options);\n accounts?.forEach((account, idx) => this.addAccount(account, { select: idx === 0 }));\n }\n\n override _resolveAccount(account: OnAccount = this.selectedAddress): AccountBase {\n if (typeof account === 'string') {\n const address = account as Encoded.AccountAddress;\n decode(address);\n if (this.accounts[address] == null) throw new UnavailableAccountError(account);\n account = this.accounts[address];\n }\n return super._resolveAccount(account);\n }\n\n /**\n * Get accounts addresses\n * @example addresses()\n */\n override addresses(): Encoded.AccountAddress[] {\n return Object.keys(this.accounts) as Encoded.AccountAddress[];\n }\n\n /**\n * Add specific account\n * @param account - Account instance\n * @param options - Options\n * @param options.select - Select account\n * @example addAccount(account)\n */\n addAccount(account: AccountBase, { select }: { select?: boolean } = {}): void {\n const { address } = account;\n this.accounts[address] = account;\n if (select === true) this.selectAccount(address);\n }\n\n /**\n * Remove specific account\n * @param address - Address of account to remove\n * @example removeAccount(address)\n */\n removeAccount(address: Encoded.AccountAddress): void {\n if (this.accounts[address] == null) throw new UnavailableAccountError(address);\n delete this.accounts[address]; // eslint-disable-line @typescript-eslint/no-dynamic-delete\n if (this.selectedAddress === address) delete this.selectedAddress;\n }\n\n /**\n * Select specific account\n * @param address - Address of account to select\n * @example selectAccount('ak_xxxxxxxx')\n */\n selectAccount(address: Encoded.AccountAddress): void {\n decode(address);\n if (this.accounts[address] == null) throw new UnavailableAccountError(address);\n this.selectedAddress = address;\n }\n}\n","// eslint-disable-next-line max-classes-per-file\nimport { Encoded } from '../utils/encoder.js';\nimport { BaseError, InternalError } from '../utils/errors.js';\n\n/**\n * @category aepp wallet communication\n */\nexport const enum MESSAGE_DIRECTION {\n to_waellet = 'to_waellet',\n to_aepp = 'to_aepp',\n}\n\n/**\n * @category aepp wallet communication\n */\nexport const enum WALLET_TYPE {\n window = 'window',\n extension = 'extension',\n}\n\n/**\n * @category aepp wallet communication\n */\nexport const enum SUBSCRIPTION_TYPES {\n subscribe = 'subscribe',\n unsubscribe = 'unsubscribe',\n}\n\n/**\n * @category aepp wallet communication\n */\nexport const enum METHODS {\n readyToConnect = 'connection.announcePresence',\n updateAddress = 'address.update',\n address = 'address.get',\n connect = 'connection.open',\n unsafeSign = 'data.unsafeSign',\n sign = 'transaction.sign',\n signMessage = 'message.sign',\n signTypedData = 'typedData.sign',\n signDelegation = 'delegation.sign',\n subscribeAddress = 'address.subscribe',\n updateNetwork = 'networkId.update',\n closeConnection = 'connection.close',\n}\n\n/**\n * @category aepp wallet communication\n */\nexport const enum RPC_STATUS {\n CONNECTED = 'CONNECTED',\n DISCONNECTED = 'DISCONNECTED',\n WAITING_FOR_CONNECTION_REQUEST = 'WAITING_FOR_CONNECTION_REQUEST',\n}\n\ninterface RpcErrorAsJson {\n code: number;\n message: string;\n data?: any;\n}\n\nconst rpcErrors: Array<(new (data?: any) => RpcError) & { code: number }> = [];\n\n/**\n * @category exception\n */\nexport abstract class RpcError extends BaseError {\n static code: number;\n\n code!: number;\n\n data?: any;\n\n toJSON(): RpcErrorAsJson {\n return {\n code: this.code,\n message: this.message,\n data: this.data,\n };\n }\n\n static deserialize(json: RpcErrorAsJson): RpcError {\n const RpcErr = rpcErrors.find((cl) => cl.code === json.code);\n if (RpcErr == null) throw new InternalError(`Can't find RpcError with code: ${json.code}`);\n return new RpcErr(json.data);\n }\n}\n\n/**\n * @category exception\n */\nexport class RpcInvalidTransactionError extends RpcError {\n static override code = 2;\n\n override code = 2;\n\n constructor(data?: any) {\n super('Invalid transaction');\n this.data = data;\n this.name = 'RpcInvalidTransactionError';\n }\n}\nrpcErrors.push(RpcInvalidTransactionError);\n\n/**\n * @category exception\n */\nexport class RpcRejectedByUserError extends RpcError {\n static override code = 4;\n\n override code = 4;\n\n constructor(data?: any) {\n super('Operation rejected by user');\n this.data = data;\n this.name = 'RpcRejectedByUserError';\n }\n}\nrpcErrors.push(RpcRejectedByUserError);\n\n/**\n * @category exception\n */\nexport class RpcUnsupportedProtocolError extends RpcError {\n static override code = 5;\n\n override code = 5;\n\n constructor() {\n super('Unsupported Protocol Version');\n this.name = 'RpcUnsupportedProtocolError';\n }\n}\nrpcErrors.push(RpcUnsupportedProtocolError);\n\n/**\n * @category exception\n */\nexport class RpcConnectionDenyError extends RpcError {\n static override code = 9;\n\n override code = 9;\n\n constructor(data?: any) {\n super('Wallet deny your connection request');\n this.data = data;\n this.name = 'RpcConnectionDenyError';\n }\n}\nrpcErrors.push(RpcConnectionDenyError);\n\n/**\n * @category exception\n */\nexport class RpcNotAuthorizeError extends RpcError {\n static override code = 10;\n\n override code = 10;\n\n constructor() {\n super('You are not connected to the wallet');\n this.name = 'RpcNotAuthorizeError';\n }\n}\nrpcErrors.push(RpcNotAuthorizeError);\n\n/**\n * @category exception\n */\nexport class RpcPermissionDenyError extends RpcError {\n static override code = 11;\n\n override code = 11;\n\n constructor(address: Encoded.AccountAddress) {\n super(`You are not subscribed for account ${address}`);\n this.data = address;\n this.name = 'RpcPermissionDenyError';\n }\n}\nrpcErrors.push(RpcPermissionDenyError);\n\n/**\n * @category exception\n */\nexport class RpcInternalError extends RpcError {\n static override code = 12;\n\n override code = 12;\n\n constructor() {\n super('The peer failed to execute your request due to unknown error');\n this.name = 'RpcInternalError';\n }\n}\nrpcErrors.push(RpcInternalError);\n\n/**\n * @category exception\n */\nexport class RpcNoNetworkById extends RpcError {\n static override code = 13;\n\n override code = 13;\n\n constructor(networkId: string) {\n super(`Wallet can't find a network by id \"${networkId}\"`);\n this.data = networkId;\n this.name = 'RpcNoNetworkById';\n }\n}\nrpcErrors.push(RpcNoNetworkById);\n\n/**\n * @category exception\n */\nexport class RpcMethodNotFoundError extends RpcError {\n static override code = -32601;\n\n override code = -32601;\n\n constructor() {\n super('Method not found');\n this.name = 'RpcMethodNotFoundError';\n }\n}\nrpcErrors.push(RpcMethodNotFoundError);\n","import AccountBase from './Base.js';\nimport { METHODS } from '../aepp-wallet-communication/schema.js';\nimport { ArgumentError, UnsupportedProtocolError } from '../utils/errors.js';\nimport { Encoded, Encoding, decode, encode } from '../utils/encoder.js';\nimport RpcClient from '../aepp-wallet-communication/rpc/RpcClient.js';\nimport { AeppApi, WalletApi } from '../aepp-wallet-communication/rpc/types.js';\n\n/**\n * Account provided by wallet\n * @param params - Params\n * @param params.rpcClient - RpcClient instance\n * @param params.address - RPC account address\n * @returns AccountRpc instance\n */\nexport default class AccountRpc extends AccountBase {\n _rpcClient: RpcClient<WalletApi, AeppApi>;\n\n override readonly address: Encoded.AccountAddress;\n\n constructor(rpcClient: RpcClient<WalletApi, AeppApi>, address: Encoded.AccountAddress) {\n super();\n this._rpcClient = rpcClient;\n this.address = address;\n }\n\n async sign(dataRaw: string | Uint8Array): Promise<Uint8Array> {\n const data = encode(Buffer.from(dataRaw), Encoding.Bytearray);\n const { signature } = await this._rpcClient.request(METHODS.unsafeSign, {\n onAccount: this.address,\n data,\n });\n return decode(signature);\n }\n\n override async signTransaction(\n tx: Encoded.Transaction,\n { innerTx, networkId }: Parameters<AccountBase['signTransaction']>[1] = {},\n ): Promise<Encoded.Transaction> {\n if (networkId == null) throw new ArgumentError('networkId', 'provided', networkId);\n const res = await this._rpcClient.request(METHODS.sign, {\n onAccount: this.address,\n tx,\n returnSigned: true,\n networkId,\n innerTx,\n });\n if (res.signedTransaction == null) {\n throw new UnsupportedProtocolError('signedTransaction is missed in wallet response');\n }\n return res.signedTransaction;\n }\n\n override async signMessage(message: string): Promise<Uint8Array> {\n const { signature } = await this._rpcClient.request(METHODS.signMessage, {\n onAccount: this.address,\n message,\n });\n return Buffer.from(signature, 'hex');\n }\n\n override async signTypedData(\n data: Encoded.ContractBytearray,\n aci: Parameters<AccountBase['signTypedData']>[1],\n { name, version, contractAddress, networkId }: Parameters<AccountBase['signTypedData']>[2] = {},\n ): Promise<Encoded.Signature> {\n const { signature } = await this._rpcClient.request(METHODS.signTypedData, {\n onAccount: this.address,\n domain: {\n name,\n version,\n networkId,\n contractAddress,\n },\n aci,\n data,\n });\n return signature;\n }\n\n override async signDelegation(delegation: Encoded.Bytearray): Promise<Encoded.Signature> {\n const { signature } = await this._rpcClient.request(METHODS.signDelegation, {\n delegation,\n onAccount: this.address,\n });\n return signature;\n }\n}\n","import { RpcError, RpcInternalError, RpcMethodNotFoundError } from '../schema.js';\nimport BrowserConnection from '../connection/Browser.js';\nimport { InvalidRpcMessageError, MissingCallbackError } from '../../utils/errors.js';\nimport { ensureError } from '../../utils/other.js';\n\ninterface JsonRpcRequest {\n jsonrpc: '2.0';\n id: number;\n method: string;\n params?: any;\n}\n\ninterface JsonRpcResponse {\n jsonrpc: '2.0';\n id: number;\n method: string;\n result?: any;\n error?: {\n code: number;\n message: string;\n data?: any;\n };\n}\n\ntype RpcApiHandler = (p?: any) => any | undefined;\ntype RpcApi<Api> = { [k in keyof Api]: RpcApiHandler };\ntype WithOrigin<Api extends RpcApi<Api>> = {\n [k in keyof Api]: (p: Parameters<Api[k]>[0], origin: string) => ReturnType<Api[k]>;\n};\n\n/**\n * Contain functionality for using RPC conection\n * @category aepp wallet communication\n * @param connection - Connection object\n * @param onDisconnect - Disconnect callback\n * @param methods - Object containing handlers for each request by name\n */\nexport default class RpcClient<\n RemoteApi extends RpcApi<RemoteApi>,\n LocalApi extends RpcApi<LocalApi>,\n> {\n connection: BrowserConnection;\n\n readonly #callbacks = new Map<\n number,\n { resolve: (v: any) => void; reject: (e: Error) => void }\n >();\n\n #messageId = 0;\n\n readonly #methods: WithOrigin<LocalApi>;\n\n constructor(\n connection: BrowserConnection,\n onDisconnect: () => void,\n methods: WithOrigin<LocalApi>,\n ) {\n this.connection = connection;\n this.#methods = methods;\n connection.connect(this.#handleMessage.bind(this), onDisconnect);\n }\n\n async #handleMessage(msg: JsonRpcRequest | JsonRpcResponse, origin: string): Promise<void> {\n if (msg?.jsonrpc !== '2.0') throw new InvalidRpcMessageError(JSON.stringify(msg));\n if ('result' in msg || 'error' in msg) {\n this.#processResponse(msg);\n return;\n }\n\n const request = msg as JsonRpcRequest;\n let result;\n let error: Error | undefined;\n try {\n if (!(request.method in this.#methods)) throw new RpcMethodNotFoundError();\n const methodName = request.method as keyof LocalApi;\n result = await this.#methods[methodName](request.params, origin);\n } catch (e) {\n ensureError(e);\n error = e;\n }\n if (request.id != null) {\n this.#sendResponse(\n request.id,\n request.method as keyof LocalApi,\n result,\n error == null || error instanceof RpcError ? error : new RpcInternalError(),\n );\n }\n if (error != null && !(error instanceof RpcError)) throw error;\n }\n\n #sendRequest(\n id: number | undefined,\n method: keyof RemoteApi | keyof LocalApi,\n params?: any,\n ): void {\n this.connection.sendMessage({\n jsonrpc: '2.0',\n ...(id != null ? { id } : {}),\n method,\n ...(params != null ? { params } : {}),\n });\n }\n\n #sendResponse(\n id: number,\n method: keyof RemoteApi | keyof LocalApi, // TODO: remove as far it is not required in JSON RPC\n result?: any,\n error?: RpcError,\n ): void {\n this.connection.sendMessage({\n jsonrpc: '2.0',\n id,\n method,\n ...(error != null ? { error: error.toJSON() } : { result }),\n });\n }\n\n /**\n * Make a request\n * @param name - Method name\n * @param params - Method params\n * @returns Promise which will be resolved after receiving response message\n */\n async request<Name extends keyof RemoteApi>(\n name: Name,\n params: Parameters<RemoteApi[Name]>[0],\n ): Promise<ReturnType<RemoteApi[Name]>> {\n this.#sendRequest((this.#messageId += 1), name, params);\n return new Promise((resolve, reject) => {\n this.#callbacks.set(this.#messageId, { resolve, reject });\n });\n }\n\n /**\n * Make a notification\n * @param name - Method name\n * @param params - Method params\n */\n notify<Name extends keyof RemoteApi>(name: Name, params: Parameters<RemoteApi[Name]>[0]): void {\n this.#sendRequest(undefined, name, params);\n }\n\n /**\n * Process response message\n * @param msg - Message object\n */\n #processResponse({ id, error, result }: { id: number; error?: any; result?: any }): void {\n const callbacks = this.#callbacks.get(id);\n if (callbacks == null) throw new MissingCallbackError(id);\n if (error != null) callbacks.reject(RpcError.deserialize(error));\n else callbacks.resolve(result);\n this.#callbacks.delete(id);\n }\n}\n","import AeSdkBase from './AeSdkBase.js';\nimport { OnAccount } from './AeSdkMethods.js';\nimport AccountBase from './account/Base.js';\nimport AccountRpc from './account/Rpc.js';\nimport { decode, Encoded } from './utils/encoder.js';\nimport {\n Accounts,\n RPC_VERSION,\n WalletInfo,\n Network,\n WalletApi,\n AeppApi,\n Node as NodeRpc,\n NetworkToSelect,\n} from './aepp-wallet-communication/rpc/types.js';\nimport RpcClient from './aepp-wallet-communication/rpc/RpcClient.js';\nimport { METHODS, SUBSCRIPTION_TYPES } from './aepp-wallet-communication/schema.js';\nimport {\n AlreadyConnectedError,\n NoWalletConnectedError,\n UnsubscribedAccountError,\n UnAuthorizedAccountError,\n RpcConnectionError,\n} from './utils/errors.js';\nimport Node from './Node.js';\nimport BrowserConnection from './aepp-wallet-communication/connection/Browser.js';\n\n/**\n * RPC handler for AEPP side\n * Contain functionality for wallet interaction and connect it to sdk\n * @deprecated use WalletConnectorFrame instead\n * @category aepp wallet communication\n */\nexport default class AeSdkAepp extends AeSdkBase {\n name: string;\n\n onAddressChange: (a: Accounts) => void;\n\n onDisconnect: (p: any) => void;\n\n onNetworkChange: (a: Network) => void;\n\n rpcClient?: RpcClient<WalletApi, AeppApi>;\n\n _accounts?: Accounts;\n\n /**\n * @param options - Options\n * @param options.name - Aepp name\n * @param options.onAddressChange - Call-back function for update address event\n * @param options.onDisconnect - Call-back function for disconnect event\n * @param options.onNetworkChange - Call-back function for update network event\n */\n constructor({\n name,\n onAddressChange = () => {},\n onDisconnect = () => {},\n onNetworkChange = () => {},\n ...other\n }: {\n name: string;\n onAddressChange?: (a: Accounts) => void;\n onDisconnect?: (p: any) => void;\n onNetworkChange?: (a: Network) => void;\n } & ConstructorParameters<typeof AeSdkBase>[0]) {\n super(other);\n this.onAddressChange = onAddressChange;\n this.onDisconnect = onDisconnect;\n this.onNetworkChange = onNetworkChange;\n this.name = name;\n }\n\n override _resolveAccount(account: OnAccount = this.addresses()[0]): AccountBase {\n if (typeof account === 'string') {\n const address = account as Encoded.AccountAddress;\n decode(address);\n if (!this.addresses().includes(address)) throw new UnAuthorizedAccountError(address);\n this._ensureConnected();\n account = new AccountRpc(this.rpcClient, address);\n }\n if (account == null) this._ensureAccountAccess();\n return super._resolveAccount(account);\n }\n\n override addresses(): Encoded.AccountAddress[] {\n if (this._accounts == null) return [];\n const current = Object.keys(this._accounts.current)[0];\n return [\n ...(current != null ? [current] : []),\n ...Object.keys(this._accounts.connected),\n ] as Encoded.AccountAddress[];\n }\n\n /**\n * Connect to wallet\n * @param connection - Wallet connection object\n * @param options - Options\n * @param options.connectNode - Request wallet to bind node\n * @param options.name - Node name\n */\n async connectToWallet(\n connection: BrowserConnection,\n { connectNode = false, name = 'wallet-node' }: { connectNode?: boolean; name?: string } = {},\n ): Promise<WalletInfo & { node?: NodeRpc }> {\n if (this.rpcClient != null)\n throw new AlreadyConnectedError('You are already connected to wallet');\n let disconnectParams: any;\n\n const updateNetwork = (params: Network): void => {\n if (connectNode) {\n if (params.node?.url == null) throw new RpcConnectionError('Missing URLs of the Node');\n this.pool.delete(name);\n this.addNode(name, new Node(params.node.url), true);\n }\n this.onNetworkChange(params);\n };\n\n const client = new RpcClient<WalletApi, AeppApi>(\n connection,\n () => {\n delete this.rpcClient;\n delete this._accounts;\n this.onDisconnect(disconnectParams);\n },\n {\n [METHODS.updateAddress]: (params) => {\n this._accounts = params;\n this.onAddressChange(params);\n },\n [METHODS.updateNetwork]: updateNetwork,\n [METHODS.closeConnection]: (params) => {\n disconnectParams = params;\n client.connection.disconnect();\n },\n [METHODS.readyToConnect]: () => {},\n },\n );\n const walletInfo = await client.request(METHODS.connect, {\n name: this.name,\n version: RPC_VERSION,\n connectNode,\n });\n updateNetwork(walletInfo);\n this.rpcClient = client;\n return walletInfo;\n }\n\n /**\n * Disconnect from wallet\n */\n disconnectWallet(): void {\n this._ensureConnected();\n this.rpcClient.notify(METHODS.closeConnection, { reason: 'bye' });\n this.rpcClient.connection.disconnect();\n }\n\n /**\n * Ask addresses from wallet\n * @returns Addresses from wallet\n */\n async askAddresses(): Promise<Encoded.AccountAddress[]> {\n this._ensureConnected();\n return this.rpcClient.request(METHODS.address, undefined);\n }\n\n /**\n * Subscribe for addresses from wallet\n * @param type - Subscription type\n * @param value - Should be one of 'current' (the selected account), 'connected' (all)\n * @returns Accounts from wallet\n */\n async subscribeAddress(\n type: SUBSCRIPTION_TYPES,\n value: 'current' | 'connected',\n ): Promise<ReturnType<WalletApi[METHODS.subscribeAddress]>> {\n this._ensureConnected();\n const result = await this.rpcClient.request(METHODS.subscribeAddress, { type, value });\n this._accounts = result.address;\n return result;\n }\n\n /**\n * Ask wallet to select a network\n */\n async askToSelectNetwork(network: NetworkToSelect): Promise<void> {\n this._ensureConnected();\n await this.rpcClient.request(METHODS.updateNetwork, network);\n }\n\n _ensureConnected(): asserts this is AeSdkAepp & {\n rpcClient: NonNullable<AeSdkAepp['rpcClient']>;\n } {\n if (this.rpcClient != null) return;\n throw new NoWalletConnectedError('You are not connected to Wallet');\n }\n\n _ensureAccountAccess(): asserts this is AeSdkAepp & {\n rpcClient: NonNullable<AeSdkAepp['rpcClient']>;\n } {\n this._ensureConnected();\n if (this.addresses().length !== 0) return;\n throw new UnsubscribedAccountError();\n }\n}\n","import { Encoded } from '../../utils/encoder.js';\nimport { Domain, AciValue } from '../../utils/typed-data.js';\nimport { METHODS, SUBSCRIPTION_TYPES, WALLET_TYPE } from '../schema.js';\nimport { SignedTx } from '../../apis/node/index.js';\n\nexport interface WalletInfo {\n id: string;\n name: string;\n networkId: string;\n origin: string; // TODO: origin needs to be provided by transport\n type: WALLET_TYPE;\n}\n\nexport interface Accounts {\n connected: { [pub: Encoded.AccountAddress]: {} };\n current: { [pub: Encoded.AccountAddress]: {} };\n}\n\nexport interface Node {\n // TODO: name is not used, can be removed\n name: string;\n url: string;\n}\n\nexport interface Network {\n networkId: string;\n node?: Node;\n}\n\ntype Icons = Array<{ src: string; sizes?: string; type?: string; purpose?: string }>;\n\nexport const RPC_VERSION = 1;\n\nexport type NetworkToSelect = { networkId: string } | { nodeUrl: string };\n\nexport interface WalletApi {\n [METHODS.connect]: (p: {\n name: string;\n icons?: Icons;\n version: typeof RPC_VERSION;\n connectNode: boolean;\n }) => Promise<WalletInfo & { node?: Node }>;\n\n [METHODS.closeConnection]: (p: any) => void;\n\n [METHODS.subscribeAddress]: (p: {\n type: SUBSCRIPTION_TYPES;\n value: 'connected' | 'current';\n }) => Promise<{ subscription: Array<'connected' | 'current'>; address: Accounts }>;\n\n [METHODS.address]: () => Promise<Encoded.AccountAddress[]>;\n\n [METHODS.unsafeSign]: (p: {\n data: Encoded.Bytearray;\n onAccount: Encoded.AccountAddress;\n }) => Promise<{ signature: Encoded.Signature }>;\n\n [METHODS.sign]: (p: {\n tx: Encoded.Transaction;\n onAccount: Encoded.AccountAddress;\n returnSigned: boolean;\n /**\n * @deprecated Wallet provided networkId will be used (current network)\n * required to maintain backward compatibility with wallets using SDK v11.0.1 and below\n * @see {@link https://github.com/aeternity/aepp-sdk-js/commit/153fd89a52c4eab39fcd659b356b36d32129c1ba}\n */\n networkId: string;\n innerTx?: boolean;\n }) => Promise<{\n /**\n * @deprecated this is not a hash at all, will be removed later at the same time\n * as dropping ability to broadcast transaction by wallet\n */\n transactionHash?: Partial<SignedTx> & {\n hash: Encoded.TxHash;\n rawTx: Encoded.Transaction;\n };\n signedTransaction?: Encoded.Transaction;\n }>;\n\n [METHODS.signMessage]: (p: {\n message: string;\n onAccount: Encoded.AccountAddress;\n }) => Promise<{ signature: string }>;\n\n [METHODS.signTypedData]: (p: {\n domain: Domain;\n aci: AciValue;\n data: Encoded.ContractBytearray;\n onAccount: Encoded.AccountAddress;\n }) => Promise<{ signature: Encoded.Signature }>;\n\n [METHODS.signDelegation]: (p: {\n delegation: Encoded.Bytearray;\n onAccount: Encoded.AccountAddress;\n }) => Promise<{ signature: Encoded.Signature }>;\n\n [METHODS.updateNetwork]: (a: NetworkToSelect) => Promise<null>;\n}\n\nexport interface AeppApi {\n [METHODS.updateAddress]: (a: Accounts) => void;\n [METHODS.updateNetwork]: (a: Network) => void;\n [METHODS.readyToConnect]: (w: WalletInfo) => void;\n [METHODS.closeConnection]: (p: any) => void;\n}\n","import { EventEmitter } from 'eventemitter3';\nimport AccountRpc from '../account/Rpc.js';\nimport { Encoded } from '../utils/encoder.js';\nimport {\n Accounts,\n RPC_VERSION,\n Network,\n WalletApi,\n AeppApi,\n NetworkToSelect,\n} from './rpc/types.js';\nimport RpcClient from './rpc/RpcClient.js';\nimport { METHODS, SUBSCRIPTION_TYPES } from './schema.js';\nimport { NoWalletConnectedError } from '../utils/errors.js';\nimport BrowserConnection from './connection/Browser.js';\n\ninterface EventsBase {\n accountsChange: (accounts: AccountRpc[]) => void;\n disconnect: (p: any) => void;\n}\n\nexport default abstract class WalletConnectorFrameBase<T extends {}> extends EventEmitter<\n EventsBase | T\n> {\n #rpcClient?: RpcClient<WalletApi, AeppApi>;\n\n #getRpcClient(): RpcClient<WalletApi, AeppApi> {\n if (this.#rpcClient == null)\n throw new NoWalletConnectedError('You are not connected to Wallet');\n return this.#rpcClient;\n }\n\n /**\n * Is connected to wallet\n */\n get isConnected(): boolean {\n return this.#rpcClient != null;\n }\n\n #accounts: AccountRpc[] = [];\n\n /**\n * Accounts provided by wallet over subscription\n */\n get accounts(): AccountRpc[] {\n return this.#accounts;\n }\n\n protected constructor() {\n super();\n }\n\n protected abstract _updateNetwork(params: Network): void;\n\n #updateAccounts(params: Accounts): void {\n const addresses = [\n ...new Set([...Object.keys(params.current), ...Object.keys(params.connected)]),\n ] as Encoded.AccountAddress[];\n this.#accounts = addresses.map((address) => new AccountRpc(this.#getRpcClient(), address));\n this.emit('accountsChange', this.#accounts);\n }\n\n static async _connect(\n name: string,\n connection: BrowserConnection,\n connector: WalletConnectorFrameBase<any>,\n connectNode: boolean,\n ): Promise<void> {\n let disconnectParams: any;\n\n const client = new RpcClient<WalletApi, AeppApi>(\n connection,\n () => {\n connector.#rpcClient = undefined;\n connector.#accounts = [];\n connector.emit('disconnect', disconnectParams);\n },\n {\n [METHODS.updateAddress]: connector.#updateAccounts.bind(connector),\n [METHODS.updateNetwork]: connector._updateNetwork.bind(connector),\n [METHODS.closeConnection]: (params) => {\n disconnectParams = params;\n client.connection.disconnect();\n },\n [METHODS.readyToConnect]: () => {},\n },\n );\n connector.#rpcClient = client;\n const walletInfo = await connector.#rpcClient.request(METHODS.connect, {\n name,\n version: RPC_VERSION,\n connectNode,\n });\n connector._updateNetwork(walletInfo);\n }\n\n /**\n * Disconnect from wallet\n */\n disconnect(): void {\n const client = this.#getRpcClient();\n client.notify(METHODS.closeConnection, { reason: 'bye' });\n client.connection.disconnect();\n }\n\n /**\n * Request accounts from wallet\n */\n async getAccounts(): Promise<AccountRpc[]> {\n const client = this.#getRpcClient();\n const addresses = await client.request(METHODS.address, undefined);\n return addresses.map((address) => new AccountRpc(client, address));\n }\n\n /**\n * Subscribe for wallet accounts, get account updates adding handler to `accountsChange` event\n * @param type - Subscription type\n * @param value - Should be one of 'current' (the selected account), 'connected' (all)\n * @returns Accounts from wallet\n */\n async subscribeAccounts(\n type: SUBSCRIPTION_TYPES,\n value: 'current' | 'connected',\n ): Promise<AccountRpc[]> {\n const result = await this.#getRpcClient().request(METHODS.subscribeAddress, { type, value });\n this.#updateAccounts(result.address);\n return this.#accounts;\n }\n\n /**\n * Ask wallet to select a network\n */\n async askToSelectNetwork(network: NetworkToSelect): Promise<void> {\n await this.#getRpcClient().request(METHODS.updateNetwork, network);\n }\n}\n","import { Network } from './rpc/types.js';\nimport BrowserConnection from './connection/Browser.js';\nimport WalletConnectorFrameBase from './WalletConnectorFrameBase.js';\n\ninterface EventsNetworkId {\n networkIdChange: (networkId: string) => void;\n}\n\n/**\n * Connect to wallet as iframe/web-extension\n * @category aepp wallet communication\n */\nexport default class WalletConnectorFrame extends WalletConnectorFrameBase<EventsNetworkId> {\n #networkId = '';\n\n /**\n * The last network id reported by wallet\n */\n get networkId(): string {\n return this.#networkId;\n }\n\n protected override _updateNetwork(params: Network): void {\n this.#networkId = params.networkId;\n this.emit('networkIdChange', this.#networkId);\n }\n\n /**\n * Connect to wallet\n * @param name - Aepp name\n * @param connection - Wallet connection object\n */\n static async connect(name: string, connection: BrowserConnection): Promise<WalletConnectorFrame> {\n const connector = new WalletConnectorFrame();\n await WalletConnectorFrame._connect(name, connection, connector, false);\n return connector;\n }\n}\n","import { Network } from './rpc/types.js';\nimport { RpcConnectionError } from '../utils/errors.js';\nimport Node from '../Node.js';\nimport BrowserConnection from './connection/Browser.js';\nimport WalletConnectorFrameBase from './WalletConnectorFrameBase.js';\n\ninterface EventsWithNode {\n nodeChange: (node: Node) => void;\n}\n\n/**\n * Connect to wallet as iframe/web-extension, asks wallet to provide node url\n * In comparison with WalletConnectorFrame, this would work better for decentralized applications\n * @category aepp wallet communication\n */\nexport default class WalletConnectorFrameWithNode extends WalletConnectorFrameBase<EventsWithNode> {\n #node: Node = null as unknown as Node;\n\n /**\n * The node instance provided by wallet\n */\n get node(): Node {\n return this.#node;\n }\n\n protected override _updateNetwork(params: Network): void {\n if (params.node?.url == null) throw new RpcConnectionError('Missing URLs of the Node');\n this.#node = new Node(params.node.url);\n this.emit('nodeChange', this.#node);\n }\n\n /**\n * Connect to wallet\n * @param name - Aepp name\n * @param connection - Wallet connection object\n */\n static async connect(\n name: string,\n connection: BrowserConnection,\n ): Promise<WalletConnectorFrameWithNode> {\n const connector = new WalletConnectorFrameWithNode();\n await super._connect(name, connection, connector, true);\n return connector;\n }\n}\n","import JsonBig from 'json-bigint';\nimport { BigNumber } from 'bignumber.js';\nimport { mapObject } from './other.js';\n\nconst jsonBig = JsonBig({ storeAsString: true });\n\nconst convertValuesToBigNumbers = (value: any): any => {\n if (typeof value === 'object' && value !== null && value.constructor === Object) {\n return mapObject(value, ([k, v]) => [k, convertValuesToBigNumbers(v)]);\n }\n if (Array.isArray(value)) {\n return value.map((item) => convertValuesToBigNumbers(item));\n }\n if (typeof value === 'string' && new BigNumber(value).toString(10) === value) {\n const bn = new BigNumber(value);\n bn.toJSON = () => bn.toString(10);\n return bn;\n }\n return value;\n};\n\nexport default {\n stringify: (...args: Parameters<(typeof JsonBig)['stringify']>): string =>\n jsonBig.stringify(convertValuesToBigNumbers(args[0]), ...args.slice(1)),\n parse: jsonBig.parse,\n};\n","import nacl from 'tweetnacl';\nimport AeSdk from './AeSdk.js';\nimport verifyTransaction from './tx/validator.js';\nimport RpcClient from './aepp-wallet-communication/rpc/RpcClient.js';\nimport {\n METHODS,\n RPC_STATUS,\n SUBSCRIPTION_TYPES,\n WALLET_TYPE,\n RpcInvalidTransactionError,\n RpcNotAuthorizeError,\n RpcPermissionDenyError,\n RpcUnsupportedProtocolError,\n} from './aepp-wallet-communication/schema.js';\nimport { InternalError, UnknownRpcClientError } from './utils/errors.js';\nimport AccountBase from './account/Base.js';\nimport BrowserConnection from './aepp-wallet-communication/connection/Browser.js';\nimport {\n Accounts,\n AeppApi,\n Network,\n NetworkToSelect,\n RPC_VERSION,\n WalletApi,\n WalletInfo,\n} from './aepp-wallet-communication/rpc/types.js';\nimport { Encoded, Encoding, encode, decode } from './utils/encoder.js';\nimport jsonBig from './utils/json-big.js';\n\ntype RpcClientWallet = RpcClient<AeppApi, WalletApi>;\n\ntype OnConnection = (\n clientId: string,\n params: Omit<Parameters<WalletApi[METHODS.connect]>[0], 'version'>,\n origin: string,\n) => void;\n\ntype OnSubscription = (\n clientId: string,\n params: Parameters<WalletApi[METHODS.subscribeAddress]>[0],\n origin: string,\n) => void;\n\ntype OnDisconnect = (\n clientId: string,\n params: Parameters<WalletApi[METHODS.closeConnection]>[0],\n) => void;\n\ntype OnAskAccounts = (clientId: string, params: undefined, origin: string) => void;\n\ntype OnAskToSelectNetwork = (clientId: string, params: NetworkToSelect, origin: string) => void;\n\ninterface RpcClientsInfo {\n id: string;\n status: RPC_STATUS;\n connectNode: boolean;\n addressSubscription: Set<'connected' | 'current'>;\n rpc: RpcClientWallet;\n}\n\n/**\n * Contain functionality for aepp interaction and managing multiple aepps\n * @category aepp wallet communication\n */\nexport default class AeSdkWallet extends AeSdk {\n id: string;\n\n _type: WALLET_TYPE;\n\n name: string;\n\n _clients = new Map<string, RpcClientsInfo>();\n\n onConnection: OnConnection;\n\n onSubscription: OnSubscription;\n\n onDisconnect: OnDisconnect;\n\n onAskAccounts: OnAskAccounts;\n\n onAskToSelectNetwork: OnAskToSelectNetwork;\n\n /**\n * @param options - Options\n * @param options.name - Wallet name\n * @param options.id - Wallet id\n * @param options.type - Wallet type\n * @param options.onConnection - Call-back function for incoming AEPP connection\n * @param options.onSubscription - Call-back function for incoming AEPP account subscription\n * @param options.onAskAccounts - Call-back function for incoming AEPP get address request\n * @param options.onAskToSelectNetwork - Call-back function for incoming AEPP select network\n * request. If the request is fine then this function should change the current network.\n * @param options.onDisconnect - Call-back function for disconnect event\n */\n constructor({\n name,\n id,\n type,\n onConnection,\n onSubscription,\n onDisconnect,\n onAskAccounts,\n onAskToSelectNetwork,\n ...options\n }: {\n id: string;\n type: WALLET_TYPE;\n name: string;\n onConnection: OnConnection;\n onSubscription: OnSubscription;\n onDisconnect: OnDisconnect;\n onAskAccounts: OnAskAccounts;\n onAskToSelectNetwork: OnAskToSelectNetwork;\n } & ConstructorParameters<typeof AeSdk>[0]) {\n super(options);\n this.onConnection = onConnection;\n this.onSubscription = onSubscription;\n this.onDisconnect = onDisconnect;\n this.onAskAccounts = onAskAccounts;\n this.onAskToSelectNetwork = onAskToSelectNetwork;\n this.name = name;\n this.id = id;\n this._type = type;\n }\n\n _getAccountsForClient({ addressSubscription }: RpcClientsInfo): Accounts {\n const { current, connected } = this.getAccounts();\n return {\n current:\n addressSubscription.has('current') || addressSubscription.has('connected') ? current : {},\n connected: addressSubscription.has('connected') ? connected : {},\n };\n }\n\n _pushAccountsToApps(): void {\n if (this._clients == null) return;\n Array.from(this._clients.keys())\n .filter((clientId) => this._isRpcClientConnected(clientId))\n .map((clientId) => this._getClient(clientId))\n .filter((client) => client.addressSubscription.size !== 0)\n .forEach((client) =>\n client.rpc.notify(METHODS.updateAddress, this._getAccountsForClient(client)),\n );\n }\n\n override selectAccount(address: Encoded.AccountAddress): void {\n super.selectAccount(address);\n this._pushAccountsToApps();\n }\n\n override addAccount(account: AccountBase, options?: Parameters<AeSdk['addAccount']>[1]): void {\n super.addAccount(account, options);\n this._pushAccountsToApps();\n }\n\n _getNode(): { node: Network['node'] } {\n this.ensureNodeConnected();\n return { node: { url: this.api.$host, name: this.selectedNodeName } };\n }\n\n override async selectNode(name: string): Promise<void> {\n super.selectNode(name);\n const networkId = await this.api.getNetworkId();\n Array.from(this._clients.keys())\n .filter((clientId) => this._isRpcClientConnected(clientId))\n .map((clientId) => this._getClient(clientId))\n .forEach((client) => {\n client.rpc.notify(METHODS.updateNetwork, {\n networkId,\n ...(client.connectNode && this._getNode()),\n });\n });\n }\n\n _getClient(clientId: string): RpcClientsInfo {\n const client = this._clients.get(clientId);\n if (client == null) throw new UnknownRpcClientError(clientId);\n return client;\n }\n\n _isRpcClientConnected(clientId: string): boolean {\n return (\n RPC_STATUS.CONNECTED === this._getClient(clientId).status &&\n this._getClient(clientId).rpc.connection.isConnected()\n );\n }\n\n _disconnectRpcClient(clientId: string): void {\n const client = this._getClient(clientId);\n client.rpc.connection.disconnect();\n client.status = RPC_STATUS.DISCONNECTED;\n client.addressSubscription = new Set();\n }\n\n /**\n * Remove specific RpcClient by ID\n * @param id - Client ID\n */\n removeRpcClient(id: string): void {\n this._disconnectRpcClient(id);\n this._clients.delete(id);\n }\n\n /**\n * Add new client by AEPP connection\n * @param clientConnection - AEPP connection object\n * @returns Client ID\n */\n addRpcClient(clientConnection: BrowserConnection): string {\n // @TODO detect if aepp has some history based on origin????\n // if yes use this instance for connection\n const id = Buffer.from(nacl.randomBytes(8)).toString('base64');\n let disconnectParams: any;\n const client: RpcClientsInfo = {\n id,\n status: RPC_STATUS.WAITING_FOR_CONNECTION_REQUEST,\n addressSubscription: new Set(),\n connectNode: false,\n rpc: new RpcClient<AeppApi, WalletApi>(\n clientConnection,\n () => {\n this._clients.delete(id);\n this.onDisconnect(id, disconnectParams); // also related info\n },\n {\n [METHODS.closeConnection]: (params) => {\n disconnectParams = params;\n this._disconnectRpcClient(id);\n },\n // Store client info and prepare two fn for each client `connect` and `denyConnection`\n // which automatically prepare and send response for that client\n [METHODS.connect]: async ({ name, version, icons, connectNode }, origin) => {\n if (version !== RPC_VERSION) throw new RpcUnsupportedProtocolError();\n\n await this.onConnection(id, { name, icons, connectNode }, origin);\n client.status = RPC_STATUS.CONNECTED;\n client.connectNode = connectNode;\n return {\n ...(await this.getWalletInfo()),\n ...(connectNode && this._getNode()),\n };\n },\n [METHODS.subscribeAddress]: async ({ type, value }, origin) => {\n if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n\n switch (type) {\n case SUBSCRIPTION_TYPES.subscribe:\n // TODO: remove `type` as it always subscribe\n await this.onSubscription(id, { type, value }, origin);\n client.addressSubscription.add(value);\n break;\n case SUBSCRIPTION_TYPES.unsubscribe:\n client.addressSubscription.delete(value);\n break;\n default:\n throw new InternalError(`Unknown subscription type: ${type}`);\n }\n\n return {\n subscription: Array.from(client.addressSubscription),\n address: this._getAccountsForClient(client),\n };\n },\n [METHODS.address]: async (params, origin) => {\n if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n await this.onAskAccounts(id, params, origin);\n return this.addresses();\n },\n [METHODS.sign]: async (\n { tx, onAccount = this.address, returnSigned, innerTx },\n origin,\n ) => {\n if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n if (!this.addresses().includes(onAccount)) {\n throw new RpcPermissionDenyError(onAccount);\n }\n\n const parameters = {\n onAccount,\n aeppOrigin: origin,\n aeppRpcClientId: id,\n innerTx,\n };\n if (returnSigned || innerTx === true) {\n return { signedTransaction: await this.signTransaction(tx, parameters) };\n }\n try {\n return jsonBig.parse(\n jsonBig.stringify({\n transactionHash: await this.sendTransaction(tx, { ...parameters, verify: false }),\n }),\n );\n } catch (error) {\n const validation = await verifyTransaction(tx, this.api);\n if (validation.length > 0) throw new RpcInvalidTransactionError(validation);\n throw error;\n }\n },\n [METHODS.signMessage]: async ({ message, onAccount = this.address }, origin) => {\n if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n if (!this.addresses().includes(onAccount)) {\n throw new RpcPermissionDenyError(onAccount);\n }\n\n const parameters = { onAccount, aeppOrigin: origin, aeppRpcClientId: id };\n return {\n signature: Buffer.from(await this.signMessage(message, parameters)).toString('hex'),\n };\n },\n [METHODS.signTypedData]: async (\n { domain, aci, data, onAccount = this.address },\n origin,\n ) => {\n if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n if (!this.addresses().includes(onAccount)) {\n throw new RpcPermissionDenyError(onAccount);\n }\n\n const parameters = {\n ...domain,\n onAccount,\n aeppOrigin: origin,\n aeppRpcClientId: id,\n };\n return {\n signature: await this.signTypedData(data, aci, parameters),\n };\n },\n [METHODS.unsafeSign]: async ({ data, onAccount = this.address }, origin) => {\n if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n if (!this.addresses().includes(onAccount)) throw new RpcPermissionDenyError(onAccount);\n const parameters = { onAccount, aeppOrigin: origin, aeppRpcClientId: id };\n const signature = encode(await this.sign(decode(data), parameters), Encoding.Signature);\n return { signature };\n },\n [METHODS.signDelegation]: async ({ delegation, onAccount = this.address }, origin) => {\n if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n if (!this.addresses().includes(onAccount)) throw new RpcPermissionDenyError(onAccount);\n const parameters = { onAccount, aeppOrigin: origin, aeppRpcClientId: id };\n const signature = await this.signDelegation(delegation, parameters);\n return { signature };\n },\n [METHODS.updateNetwork]: async (params, origin) => {\n if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n await this.onAskToSelectNetwork(id, params, origin);\n return null;\n },\n },\n ),\n };\n this._clients.set(id, client);\n return id;\n }\n\n /**\n * Send shareWalletInfo message to notify AEPP about wallet\n * @param clientId - ID of RPC client send message to\n */\n async shareWalletInfo(clientId: string): Promise<void> {\n this._getClient(clientId).rpc.notify(METHODS.readyToConnect, await this.getWalletInfo());\n }\n\n /**\n * Get Wallet info object\n * @returns Object with wallet information\n */\n async getWalletInfo(): Promise<WalletInfo> {\n const { origin } = window.location;\n return {\n id: this.id,\n name: this.name,\n networkId: await this.api.getNetworkId(),\n origin: origin === 'file://' ? '*' : origin,\n type: this._type,\n };\n }\n\n /**\n * Get Wallet accounts\n * @returns Object with accounts information (\\{ connected: Object, current: Object \\})\n */\n getAccounts(): Accounts {\n return {\n current: this.selectedAddress != null ? { [this.selectedAddress]: {} } : {},\n connected: this.addresses()\n .filter((a) => a !== this.selectedAddress)\n .reduce((acc, a) => ({ ...acc, [a]: {} }), {}),\n };\n }\n}\n","import Node from '../Node.js';\nimport AccountBase from './Base.js';\n\n/**\n * A factory class that generates instances of AccountBase by index.\n */\nexport default abstract class AccountBaseFactory {\n /**\n * Get an instance of AccountBase for a given account index.\n * @param accountIndex - Index of account\n */\n abstract initialize(accountIndex: number): Promise<AccountBase>;\n\n /**\n * Discovers accounts in set that already have been used (has any on-chain transactions).\n * It returns an empty array if none of accounts been used.\n * If a used account is preceded by an unused account then it would be ignored.\n * @param node - Instance of Node to get account information from\n */\n async discover(node: Node): Promise<AccountBase[]> {\n let index = 0;\n const result = [];\n let account;\n do {\n if (account != null) result.push(account);\n account = await this.initialize(index);\n index += 1;\n } while (\n await node.getAccountByPubkey(account.address).then(\n () => true,\n () => false,\n )\n );\n return result;\n }\n}\n","import { mnemonicToSeed } from '@scure/bip39';\nimport tweetnaclAuth from 'tweetnacl-auth';\nimport AccountBaseFactory from './BaseFactory.js';\nimport AccountMemory from './Memory.js';\nimport { encode, Encoding, Encoded, decode } from '../utils/encoder.js';\nimport { concatBuffers } from '../utils/other.js';\nimport { InternalError } from '../utils/errors.js';\n\nexport const ED25519_CURVE = Buffer.from('ed25519 seed');\nconst HARDENED_OFFSET = 0x80000000;\n\ninterface KeyTreeNode {\n secretKey: Uint8Array;\n chainCode: Uint8Array;\n}\n\nexport function deriveKey(message: Uint8Array, key: Uint8Array): KeyTreeNode {\n const I = tweetnaclAuth.full(message, key);\n const IL = I.slice(0, 32);\n const IR = I.slice(32);\n return {\n secretKey: IL,\n chainCode: IR,\n };\n}\n\nexport function derivePathFromKey(key: KeyTreeNode, segments: readonly number[]): KeyTreeNode {\n return segments.reduce(({ secretKey, chainCode }, segment) => {\n const indexBuffer = Buffer.allocUnsafe(4);\n indexBuffer.writeUInt32BE(segment + HARDENED_OFFSET, 0);\n const data = concatBuffers([Buffer.alloc(1, 0), secretKey, indexBuffer]);\n return deriveKey(data, chainCode);\n }, key);\n}\n\ninterface Wallet {\n secretKey: Encoded.Bytearray;\n chainCode: Encoded.Bytearray;\n}\n\n/**\n * A factory class that generates instances of AccountMemory based on provided mnemonic phrase.\n */\nexport default class AccountMnemonicFactory extends AccountBaseFactory {\n readonly #mnemonic: string | undefined;\n\n #wallet: Wallet | undefined;\n\n /**\n * @param mnemonicOrWallet - BIP39-compatible mnemonic phrase or a wallet derived from mnemonic\n */\n constructor(mnemonicOrWallet: string | Wallet) {\n super();\n if (typeof mnemonicOrWallet === 'string') this.#mnemonic = mnemonicOrWallet;\n else this.#wallet = mnemonicOrWallet;\n }\n\n /**\n * Get a wallet to initialize AccountMnemonicFactory instead mnemonic phrase.\n * In comparison with mnemonic, the wallet can be used to derive aeternity accounts only.\n */\n async getWallet(): Promise<Wallet> {\n if (this.#wallet != null) return this.#wallet;\n if (this.#mnemonic == null)\n throw new InternalError(\n 'AccountMnemonicFactory should be initialized with mnemonic or wallet',\n );\n const seed = await mnemonicToSeed(this.#mnemonic);\n const masterKey = deriveKey(seed, ED25519_CURVE);\n const walletKey = derivePathFromKey(masterKey, [44, 457]);\n this.#wallet = {\n secretKey: encode(walletKey.secretKey, Encoding.Bytearray),\n chainCode: encode(walletKey.chainCode, Encoding.Bytearray),\n };\n return this.#wallet;\n }\n\n async #getAccountSecretKey(accountIndex: number): Promise<Encoded.AccountSecretKey> {\n const wallet = await this.getWallet();\n const walletKey = {\n secretKey: decode(wallet.secretKey),\n chainCode: decode(wallet.chainCode),\n };\n const raw = derivePathFromKey(walletKey, [accountIndex, 0, 0]).secretKey;\n return encode(raw, Encoding.AccountSecretKey);\n }\n\n /**\n * Get an instance of AccountMemory for a given account index.\n * @param accountIndex - Index of account\n */\n async initialize(accountIndex: number): Promise<AccountMemory> {\n return new AccountMemory(await this.#getAccountSecretKey(accountIndex));\n }\n}\n","import AccountBase from './Base.js';\nimport {\n ArgumentError,\n InternalError,\n InvalidAuthDataError,\n NotImplementedError,\n} from '../utils/errors.js';\nimport { decode, Encoded } from '../utils/encoder.js';\nimport { getAccount } from '../chain.js';\nimport Contract from '../contract/Contract.js';\nimport { buildTxAsync, buildTx } from '../tx/builder/index.js';\nimport { Tag } from '../tx/builder/constants.js';\n\n/**\n * Generalized account class\n */\nexport default class AccountGeneralized extends AccountBase {\n override readonly address: Encoded.AccountAddress;\n\n #authFun?: string;\n\n /**\n * @param address - Address of generalized account\n */\n constructor(address: Encoded.AccountAddress) {\n super();\n decode(address);\n this.address = address;\n }\n\n // eslint-disable-next-line class-methods-use-this\n override async sign(): Promise<Uint8Array> {\n throw new NotImplementedError(\"Can't sign using generalized account\");\n }\n\n // eslint-disable-next-line class-methods-use-this\n override async signMessage(): Promise<Uint8Array> {\n throw new NotImplementedError(\"Can't sign using generalized account\");\n }\n\n // eslint-disable-next-line class-methods-use-this\n override async signTypedData(): Promise<Encoded.Signature> {\n throw new NotImplementedError(\"Can't sign using generalized account\");\n }\n\n // eslint-disable-next-line class-methods-use-this\n override async signDelegation(): Promise<Encoded.Signature> {\n throw new NotImplementedError('signing delegation using generalized account');\n }\n\n override async signTransaction(\n tx: Encoded.Transaction,\n { authData, onCompiler, onNode }: Parameters<AccountBase['signTransaction']>[1],\n ): Promise<Encoded.Transaction> {\n if (authData == null || onCompiler == null || onNode == null) {\n throw new ArgumentError('authData, onCompiler, onNode', 'provided', null);\n }\n const { callData, sourceCode, args, fee, gasLimit, gasPrice } =\n typeof authData === 'function' ? await authData(tx) : authData;\n\n const authCallData =\n callData ??\n (await (async () => {\n if (this.#authFun == null) {\n const account = await getAccount(this.address, { onNode });\n if (account.kind !== 'generalized') {\n throw new ArgumentError('account kind', 'generalized', account.kind);\n }\n this.#authFun = account.authFun;\n }\n if (this.#authFun == null) {\n throw new InternalError('Account in generalised, but authFun not provided');\n }\n\n if (sourceCode == null || args == null) {\n throw new InvalidAuthDataError('Auth data must contain sourceCode and args or callData.');\n }\n const contract = await Contract.initialize({ onCompiler, onNode, sourceCode });\n return contract._calldata.encode(contract._name, this.#authFun, args);\n })());\n\n const gaMetaTx = await buildTxAsync({\n tag: Tag.GaMetaTx,\n tx: { tag: Tag.SignedTx, encodedTx: decode(tx), signatures: [] },\n gaId: this.address,\n authData: authCallData,\n fee,\n gasLimit,\n gasPrice,\n onNode,\n });\n return buildTx({ tag: Tag.SignedTx, encodedTx: decode(gaMetaTx), signatures: [] });\n }\n}\n","import type Transport from '@ledgerhq/hw-transport';\nimport AccountBase from './Base.js';\nimport { ArgumentError, NotImplementedError } from '../utils/errors.js';\nimport { decode, Encoded } from '../utils/encoder.js';\nimport { buildTx } from '../tx/builder/index.js';\nimport { Tag } from '../tx/builder/constants.js';\n\nexport const CLA = 0xe0;\nexport const GET_ADDRESS = 0x02;\nexport const SIGN_TRANSACTION = 0x04;\nexport const GET_APP_CONFIGURATION = 0x06;\nexport const SIGN_PERSONAL_MESSAGE = 0x08;\n\n/**\n * Ledger wallet account class\n */\nexport default class AccountLedger extends AccountBase {\n /**\n * @param transport - Connection to Ledger to use\n * @param index - Index of account\n * @param address - Address of account\n */\n constructor(\n readonly transport: Transport,\n readonly index: number,\n override readonly address: Encoded.AccountAddress,\n ) {\n super();\n transport.decorateAppAPIMethods(this, ['signTransaction', 'signMessage'], 'w0w');\n }\n\n // eslint-disable-next-line class-methods-use-this\n override async sign(): Promise<Uint8Array> {\n throw new NotImplementedError('RAW signing using Ledger HW');\n }\n\n // eslint-disable-next-line class-methods-use-this\n override async signTypedData(): Promise<Encoded.Signature> {\n throw new NotImplementedError('Typed data signing using Ledger HW');\n }\n\n // eslint-disable-next-line class-methods-use-this\n override async signDelegation(): Promise<Encoded.Signature> {\n throw new NotImplementedError('signing delegation using Ledger HW');\n }\n\n override async signTransaction(\n tx: Encoded.Transaction,\n { innerTx, networkId }: { innerTx?: boolean; networkId?: string } = {},\n ): Promise<Encoded.Transaction> {\n if (innerTx != null) throw new NotImplementedError('innerTx option in AccountLedger');\n if (networkId == null) throw new ArgumentError('networkId', 'provided', networkId);\n\n const rawTx = decode(tx);\n let offset = 0;\n const headerLength = 4 + 1 + 4;\n const networkIdBuffer = Buffer.from(networkId);\n const toSend = [];\n while (offset !== rawTx.length) {\n const maxChunkSize = offset === 0 ? 150 - headerLength - networkIdBuffer.length : 150;\n const chunkSize = offset + maxChunkSize > rawTx.length ? rawTx.length - offset : maxChunkSize;\n const buffer = Buffer.alloc(\n offset === 0 ? headerLength + networkIdBuffer.length + chunkSize : chunkSize,\n );\n if (offset === 0) {\n let bufferOffset = buffer.writeUInt32BE(this.index, 0);\n bufferOffset = buffer.writeUInt32BE(rawTx.length, bufferOffset);\n bufferOffset = buffer.writeUInt8(networkIdBuffer.length, bufferOffset);\n bufferOffset += networkIdBuffer.copy(buffer, bufferOffset, 0, networkIdBuffer.length);\n rawTx.copy(buffer, bufferOffset, 0, 150 - bufferOffset);\n } else {\n rawTx.copy(buffer, 0, offset, offset + chunkSize);\n }\n toSend.push(buffer);\n offset += chunkSize;\n }\n const response = await toSend.reduce(\n async (previous, data, i) => {\n await previous;\n return this.transport.send(CLA, SIGN_TRANSACTION, i === 0 ? 0x00 : 0x80, 0x00, data);\n },\n Promise.resolve(Buffer.alloc(0)),\n );\n const signatures = [response.subarray(0, 64)];\n\n return buildTx({ tag: Tag.SignedTx, encodedTx: rawTx, signatures });\n }\n\n override async signMessage(messageStr: string): Promise<Uint8Array> {\n let offset = 0;\n const message = Buffer.from(messageStr);\n const toSend = [];\n while (offset !== message.length) {\n const maxChunkSize = offset === 0 ? 150 - 4 - 4 : 150;\n const chunkSize =\n offset + maxChunkSize > message.length ? message.length - offset : maxChunkSize;\n const buffer = Buffer.alloc(offset === 0 ? 4 + 4 + chunkSize : chunkSize);\n if (offset === 0) {\n buffer.writeUInt32BE(this.index, 0);\n buffer.writeUInt32BE(message.length, 4);\n message.copy(buffer, 4 + 4, offset, offset + chunkSize);\n } else {\n message.copy(buffer, 0, offset, offset + chunkSize);\n }\n toSend.push(buffer);\n offset += chunkSize;\n }\n const response = await toSend.reduce(\n async (previous, data, i) => {\n await previous;\n return this.transport.send(CLA, SIGN_PERSONAL_MESSAGE, i === 0 ? 0x00 : 0x80, 0x00, data);\n },\n Promise.resolve(Buffer.alloc(0)),\n );\n return response.subarray(0, 64);\n }\n}\n","import type Transport from '@ledgerhq/hw-transport';\nimport AccountLedger, { CLA, GET_ADDRESS, GET_APP_CONFIGURATION } from './Ledger.js';\nimport { UnsupportedVersionError } from '../utils/errors.js';\nimport { Encoded } from '../utils/encoder.js';\nimport semverSatisfies from '../utils/semver-satisfies.js';\nimport AccountBaseFactory from './BaseFactory.js';\n\ninterface AppConfiguration {\n version: string;\n}\n\n/**\n * A factory class that generates instances of AccountLedger based on provided transport.\n */\nexport default class AccountLedgerFactory extends AccountBaseFactory {\n /**\n * @param transport - Connection to Ledger to use\n */\n constructor(readonly transport: Transport) {\n super();\n transport.decorateAppAPIMethods(this, ['getAddress', 'getAppConfiguration'], 'w0w');\n }\n\n #ensureReadyPromise?: Promise<void>;\n\n /**\n * It throws an exception if Aeternity app on Ledger has an incompatible version, not opened or\n * not installed.\n */\n async ensureReady(): Promise<void> {\n const { version } = await this.#getAppConfiguration();\n const args = [version, '0.4.4', '0.5.0'] as const;\n if (!semverSatisfies(...args))\n throw new UnsupportedVersionError('Aeternity app on Ledger', ...args);\n this.#ensureReadyPromise = Promise.resolve();\n }\n\n async #ensureReady(): Promise<void> {\n this.#ensureReadyPromise ??= this.ensureReady();\n return this.#ensureReadyPromise;\n }\n\n async #getAppConfiguration(): Promise<AppConfiguration> {\n const response = await this.transport.send(CLA, GET_APP_CONFIGURATION, 0x00, 0x00);\n return {\n version: [response[1], response[2], response[3]].join('.'),\n };\n }\n\n /**\n * @returns the version of Aeternity app installed on Ledger wallet\n */\n async getAppConfiguration(): Promise<AppConfiguration> {\n return this.#getAppConfiguration();\n }\n\n /**\n * Get `ak_`-prefixed address for a given account index.\n * @param accountIndex - Index of account\n * @param verify - Ask user to confirm address by showing it on the device screen\n */\n async getAddress(accountIndex: number, verify = false): Promise<Encoded.AccountAddress> {\n await this.#ensureReady();\n const buffer = Buffer.alloc(4);\n buffer.writeUInt32BE(accountIndex, 0);\n const response = await this.transport.send(\n CLA,\n GET_ADDRESS,\n verify ? 0x01 : 0x00,\n 0x00,\n buffer,\n );\n const addressLength = response[0];\n return response.subarray(1, 1 + addressLength).toString('ascii') as Encoded.AccountAddress;\n }\n\n /**\n * Get an instance of AccountLedger for a given account index.\n * @param accountIndex - Index of account\n */\n async initialize(accountIndex: number): Promise<AccountLedger> {\n return new AccountLedger(this.transport, accountIndex, await this.getAddress(accountIndex));\n }\n}\n","import type { BaseProvider } from '@metamask/providers';\nimport AccountBase from './Base.js';\nimport { Encoded } from '../utils/encoder.js';\nimport { ArgumentError, InternalError, NotImplementedError } from '../utils/errors.js';\n\nexport const snapId = 'npm:@aeternity-snap/plugin';\n\nexport async function invokeSnap<R>(\n provider: BaseProvider,\n method: string,\n params: unknown,\n key: string,\n): Promise<R> {\n const response = await provider.request<{ [k in string]: unknown }>({\n method: 'wallet_invokeSnap',\n params: { snapId, request: { method, params } },\n });\n if (response == null) throw new InternalError('Empty MetaMask response');\n if (!(key in response)) {\n throw new InternalError(`Key ${key} missed in response ${JSON.stringify(response)}`);\n }\n return response[key] as R;\n}\n\n/**\n * Account connected to Aeternity Snap for MetaMask\n * https://www.npmjs.com/package/\\@aeternity-snap/plugin\n */\nexport default class AccountMetamask extends AccountBase {\n readonly provider: BaseProvider;\n\n readonly index: number;\n\n override readonly address: Encoded.AccountAddress;\n\n /**\n * @param address - Address of account\n */\n constructor(provider: BaseProvider, index: number, address: Encoded.AccountAddress) {\n super();\n this.provider = provider;\n this.index = index;\n this.address = address;\n }\n\n // eslint-disable-next-line class-methods-use-this\n override async sign(): Promise<Uint8Array> {\n throw new NotImplementedError('RAW signing using MetaMask');\n }\n\n // eslint-disable-next-line class-methods-use-this\n override async signTypedData(): Promise<Encoded.Signature> {\n throw new NotImplementedError('Typed data signing using MetaMask');\n }\n\n // eslint-disable-next-line class-methods-use-this\n override async signDelegation(): Promise<Encoded.Signature> {\n throw new NotImplementedError('signing delegation using MetaMask');\n }\n\n // eslint-disable-next-line class-methods-use-this\n override async signTransaction(\n tx: Encoded.Transaction,\n { innerTx, networkId }: { innerTx?: boolean; networkId?: string } = {},\n ): Promise<Encoded.Transaction> {\n if (innerTx != null) throw new NotImplementedError('innerTx option in AccountMetamask');\n if (networkId == null) throw new ArgumentError('networkId', 'provided', networkId);\n\n return invokeSnap<Encoded.Transaction>(\n this.provider,\n 'signTransaction',\n { derivationPath: [`${this.index}'`, \"0'\", \"0'\"], tx, networkId },\n 'signedTx',\n );\n }\n\n // eslint-disable-next-line class-methods-use-this\n override async signMessage(message: string): Promise<Uint8Array> {\n const signature = await invokeSnap<string>(\n this.provider,\n 'signMessage',\n {\n derivationPath: [`${this.index}'`, \"0'\", \"0'\"],\n message: Buffer.from(message).toString('base64'),\n },\n 'signature',\n );\n return Buffer.from(signature, 'base64');\n }\n}\n","import type { BaseProvider } from '@metamask/providers';\nimport {\n InternalError,\n UnsupportedPlatformError,\n UnsupportedVersionError,\n} from '../utils/errors.js';\nimport { Encoded } from '../utils/encoder.js';\nimport semverSatisfies from '../utils/semver-satisfies.js';\nimport AccountBaseFactory from './BaseFactory.js';\nimport AccountMetamask, { invokeSnap, snapId } from './Metamask.js';\n\nconst snapMinVersion = '0.0.9';\nconst snapMaxVersion = '0.1.0';\n\ninterface SnapDetails {\n blocked: boolean;\n enabled: boolean;\n id: typeof snapId;\n version: string;\n initialPermissions: Record<string, unknown>;\n}\n\n/**\n * A factory class that generates instances of AccountMetamask.\n */\nexport default class AccountMetamaskFactory extends AccountBaseFactory {\n readonly provider: BaseProvider;\n\n /**\n * @param provider - Connection to MetaMask to use\n */\n constructor(provider?: BaseProvider) {\n super();\n if (provider != null) {\n this.provider = provider;\n return;\n }\n if (window == null) {\n throw new UnsupportedPlatformError(\n 'Window object not found, you can run AccountMetamaskFactory only in browser or setup a provider',\n );\n }\n if (!('ethereum' in window) || window.ethereum == null) {\n throw new UnsupportedPlatformError(\n '`ethereum` object not found, you can run AccountMetamaskFactory only with Metamask enabled or setup a provider',\n );\n }\n this.provider = window.ethereum as BaseProvider;\n }\n\n /**\n * It throws an exception if MetaMask has an incompatible version.\n */\n async #ensureMetamaskSupported(): Promise<void> {\n const version = await this.provider.request<string>({ method: 'web3_clientVersion' });\n if (version == null) throw new InternalError(\"Can't get Ethereum Provider version\");\n const metamaskPrefix = 'MetaMask/v';\n if (!version.startsWith(metamaskPrefix)) {\n throw new UnsupportedPlatformError(`Expected Metamask, got ${version} instead`);\n }\n const args = [version.slice(metamaskPrefix.length), '12.2.4'] as const;\n if (!semverSatisfies(...args)) throw new UnsupportedVersionError('Metamask', ...args);\n }\n\n #ensureReadyPromise?: Promise<void>;\n\n /**\n * Request MetaMask to install Aeternity snap.\n */\n async installSnap(): Promise<SnapDetails> {\n await this.#ensureMetamaskSupported();\n const details = (await this.provider.request({\n method: 'wallet_requestSnaps',\n params: { [snapId]: { version: snapMinVersion } },\n })) as { [key in typeof snapId]: SnapDetails };\n this.#ensureReadyPromise = Promise.resolve();\n return details[snapId];\n }\n\n /**\n * It throws an exception if MetaMask or Aeternity snap has an incompatible version or is not\n * installed.\n */\n async ensureReady(): Promise<void> {\n const snapVersion = await this.getSnapVersion();\n const args = [snapVersion, snapMinVersion, snapMaxVersion] as const;\n if (!semverSatisfies(...args))\n throw new UnsupportedVersionError('Aeternity snap in MetaMask', ...args);\n this.#ensureReadyPromise = Promise.resolve();\n }\n\n async #ensureReady(): Promise<void> {\n this.#ensureReadyPromise ??= this.ensureReady();\n return this.#ensureReadyPromise;\n }\n\n /**\n * @returns the version of snap installed in MetaMask\n */\n async getSnapVersion(): Promise<string> {\n await this.#ensureMetamaskSupported();\n const snaps = (await this.provider.request({ method: 'wallet_getSnaps' })) as Record<\n string,\n { version: string }\n >;\n const version = snaps[snapId]?.version;\n if (version == null)\n throw new UnsupportedPlatformError('Aeternity snap is not installed to MetaMask');\n return version;\n }\n\n /**\n * Get an instance of AccountMetaMask for a given account index.\n * @param accountIndex - Index of account\n */\n async initialize(accountIndex: number): Promise<AccountMetamask> {\n await this.#ensureReady();\n const address = await invokeSnap<Encoded.AccountAddress>(\n this.provider,\n 'getPublicKey',\n { derivationPath: [`${accountIndex}'`, \"0'\", \"0'\"] },\n 'publicKey',\n );\n return new AccountMetamask(this.provider, accountIndex, address);\n }\n}\n","import { Encoded } from '../../utils/encoder.js';\n\ninterface FunctionAci {\n arguments: any[];\n name: string;\n payable: boolean;\n returns: any;\n stateful: boolean;\n}\n\nexport type Aci = Array<{\n contract?: {\n name: string;\n event?: any;\n functions: FunctionAci[];\n kind: string; // known values: 'contract_main'\n payable: boolean;\n typedefs: any[];\n };\n}>;\n\nexport type CompileResult = Promise<{\n bytecode: Encoded.ContractBytearray;\n aci: Aci;\n warnings: Array<{\n message: string;\n pos: {\n file?: string;\n line: number;\n col: number;\n };\n }>;\n}>;\n\n/**\n * A base class for all compiler implementations\n */\nexport default abstract class CompilerBase {\n /**\n * Compile contract by contract's path\n * Available only in Node.js\n * @param path - Path to contract source code\n * @returns ACI and bytecode\n */\n abstract compile(path: string): CompileResult;\n\n /**\n * Compile contract by contract's source code\n * @param sourceCode - Contract source code as string\n * @param fileSystem - A map of contract filename to the corresponding contract source code to\n * include into the main contract\n * @example\n * ```js\n * {\n * 'library.aes': 'namespace TestLib =\\n function sum(x: int, y: int) : int = x + y'\n * }\n * ```\n * @returns ACI and bytecode\n */\n abstract compileBySourceCode(\n sourceCode: string,\n fileSystem?: Record<string, string>,\n ): CompileResult;\n\n /**\n * Generate contract's ACI by contract's path\n * Available only in Node.js\n * @param path - Path to contract source code\n * @returns ACI\n */\n abstract generateAci(path: string): Promise<Aci>;\n\n /**\n * Generate contract's ACI by contract's source code\n * @param sourceCode - Contract source code as string\n * @param fileSystem - A map of contract filename to the corresponding contract source code to\n * include into the main contract\n * @example\n * ```js\n * {\n * 'library.aes': 'namespace TestLib =\\n function sum(x: int, y: int) : int = x + y'\n * }\n * ```\n * @returns ACI\n */\n abstract generateAciBySourceCode(\n sourceCode: string,\n fileSystem?: Record<string, string>,\n ): Promise<Aci>;\n\n /**\n * Verify that a contract bytecode is the result of compiling the given source code\n * Available only in Node.js\n * @param bytecode - Contract bytecode to verify\n * @param path - Path to contract source code\n * @returns ACI and bytecode\n */\n abstract validate(bytecode: Encoded.ContractBytearray, path: string): Promise<boolean>;\n\n /**\n * Verify that a contract bytecode is the result of compiling the given source code\n * @param bytecode - Contract bytecode to verify\n * @param sourceCode - Contract source code as string\n * @param fileSystem - A map of contract filename to the corresponding contract source code to\n * include into the main contract\n * @example\n * ```js\n * {\n * 'library.aes': 'namespace TestLib =\\n function sum(x: int, y: int) : int = x + y'\n * }\n * ```\n */\n abstract validateBySourceCode(\n bytecode: Encoded.ContractBytearray,\n sourceCode: string,\n fileSystem?: Record<string, string>,\n ): Promise<boolean>;\n\n /**\n * @returns Compiler version\n */\n abstract version(): Promise<string>;\n}\n","import * as coreClient from \"@azure/core-client\";\n\nexport const Contract: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Contract\",\n modelProperties: {\n code: {\n serializedName: \"code\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n options: {\n serializedName: \"options\",\n type: {\n name: \"Composite\",\n className: \"CompileOpts\",\n },\n },\n },\n },\n};\n\nexport const CompileOpts: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CompileOpts\",\n modelProperties: {\n fileSystem: {\n serializedName: \"file_system\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } },\n },\n },\n srcFile: {\n serializedName: \"src_file\",\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const CompilerError: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CompilerError\",\n modelProperties: {\n type: {\n serializedName: \"type\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n pos: {\n serializedName: \"pos\",\n type: {\n name: \"Composite\",\n className: \"ErrorPos\",\n },\n },\n message: {\n serializedName: \"message\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n context: {\n serializedName: \"context\",\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const ErrorPos: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ErrorPos\",\n modelProperties: {\n file: {\n serializedName: \"file\",\n type: {\n name: \"String\",\n },\n },\n line: {\n serializedName: \"line\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n col: {\n serializedName: \"col\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const CompileResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CompileResult\",\n modelProperties: {\n bytecode: {\n serializedName: \"bytecode\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n aci: {\n serializedName: \"aci\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } },\n },\n },\n },\n },\n warnings: {\n serializedName: \"warnings\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"CompilerError\",\n },\n },\n },\n },\n },\n },\n};\n\nexport const SophiaCallResultInput: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SophiaCallResultInput\",\n modelProperties: {\n source: {\n serializedName: \"source\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n options: {\n serializedName: \"options\",\n type: {\n name: \"Composite\",\n className: \"CompileOpts\",\n },\n },\n function: {\n serializedName: \"function\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n callResult: {\n serializedName: \"call-result\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n callValue: {\n serializedName: \"call-value\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const BytecodeCallResultInput: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"BytecodeCallResultInput\",\n modelProperties: {\n bytecode: {\n serializedName: \"bytecode\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n function: {\n serializedName: \"function\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n callResult: {\n serializedName: \"call-result\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n callValue: {\n serializedName: \"call-value\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const DecodedCallresult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DecodedCallresult\",\n modelProperties: {\n function: {\n serializedName: \"function\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n result: {\n serializedName: \"result\",\n required: true,\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } },\n },\n },\n },\n },\n};\n\nexport const FunctionCallInput: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"FunctionCallInput\",\n modelProperties: {\n source: {\n serializedName: \"source\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n options: {\n serializedName: \"options\",\n type: {\n name: \"Composite\",\n className: \"CompileOpts\",\n },\n },\n function: {\n serializedName: \"function\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n arguments: {\n serializedName: \"arguments\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\",\n },\n },\n },\n },\n },\n },\n};\n\nexport const Calldata: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Calldata\",\n modelProperties: {\n calldata: {\n serializedName: \"calldata\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const DecodeCalldataBytecode: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DecodeCalldataBytecode\",\n modelProperties: {\n calldata: {\n serializedName: \"calldata\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n bytecode: {\n serializedName: \"bytecode\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const DecodedCalldata: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DecodedCalldata\",\n modelProperties: {\n function: {\n serializedName: \"function\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n arguments: {\n serializedName: \"arguments\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } },\n },\n },\n },\n },\n },\n },\n};\n\nexport const ErrorModel: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ErrorModel\",\n modelProperties: {\n reason: {\n serializedName: \"reason\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const DecodeCalldataSource: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DecodeCalldataSource\",\n modelProperties: {\n source: {\n serializedName: \"source\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n options: {\n serializedName: \"options\",\n type: {\n name: \"Composite\",\n className: \"CompileOpts\",\n },\n },\n calldata: {\n serializedName: \"calldata\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n function: {\n serializedName: \"function\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const ByteCodeInput: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ByteCodeInput\",\n modelProperties: {\n bytecode: {\n serializedName: \"bytecode\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const FateAssembler: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"FateAssembler\",\n modelProperties: {\n fateAssembler: {\n serializedName: \"fate-assembler\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const ValidateByteCodeInput: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ValidateByteCodeInput\",\n modelProperties: {\n bytecode: {\n serializedName: \"bytecode\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n source: {\n serializedName: \"source\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n options: {\n serializedName: \"options\",\n type: {\n name: \"Composite\",\n className: \"CompileOpts\",\n },\n },\n },\n },\n};\n\nexport const CompilerVersion: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CompilerVersion\",\n modelProperties: {\n version: {\n serializedName: \"version\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const ApiVersion: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ApiVersion\",\n modelProperties: {\n apiVersion: {\n serializedName: \"api-version\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const SophiaBinaryData: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SophiaBinaryData\",\n modelProperties: {\n sophiaType: {\n serializedName: \"sophia-type\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const SophiaJsonData: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SophiaJsonData\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } },\n },\n },\n },\n },\n};\n","import { OperationParameter, OperationURLParameter } from \"@azure/core-client\";\nimport {\n Contract as ContractMapper,\n SophiaCallResultInput as SophiaCallResultInputMapper,\n BytecodeCallResultInput as BytecodeCallResultInputMapper,\n FunctionCallInput as FunctionCallInputMapper,\n DecodeCalldataBytecode as DecodeCalldataBytecodeMapper,\n DecodeCalldataSource as DecodeCalldataSourceMapper,\n ByteCodeInput as ByteCodeInputMapper,\n ValidateByteCodeInput as ValidateByteCodeInputMapper,\n} from \"../models/mappers.js\";\n\nexport const contentType: OperationParameter = {\n parameterPath: [\"options\", \"contentType\"],\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const body: OperationParameter = {\n parameterPath: \"body\",\n mapper: ContractMapper,\n};\n\nexport const accept: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Accept\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const $host: OperationURLParameter = {\n parameterPath: \"$host\",\n mapper: {\n serializedName: \"$host\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n skipEncoding: true,\n};\n\nexport const body1: OperationParameter = {\n parameterPath: \"body\",\n mapper: SophiaCallResultInputMapper,\n};\n\nexport const body2: OperationParameter = {\n parameterPath: \"body\",\n mapper: BytecodeCallResultInputMapper,\n};\n\nexport const body3: OperationParameter = {\n parameterPath: \"body\",\n mapper: FunctionCallInputMapper,\n};\n\nexport const body4: OperationParameter = {\n parameterPath: \"body\",\n mapper: DecodeCalldataBytecodeMapper,\n};\n\nexport const body5: OperationParameter = {\n parameterPath: \"body\",\n mapper: DecodeCalldataSourceMapper,\n};\n\nexport const body6: OperationParameter = {\n parameterPath: \"body\",\n mapper: ByteCodeInputMapper,\n};\n\nexport const body7: OperationParameter = {\n parameterPath: \"body\",\n mapper: ValidateByteCodeInputMapper,\n};\n","import * as coreClient from \"@azure/core-client\";\nimport * as Parameters from \"./models/parameters.js\";\nimport * as Mappers from \"./models/mappers.js\";\nimport {\n CompilerOptionalParams,\n Contract,\n GenerateACIOptionalParams,\n GenerateACIResponse,\n CompileContractOptionalParams,\n CompileContractResponse,\n SophiaCallResultInput,\n DecodeCallResultOptionalParams,\n DecodeCallResultResponse,\n BytecodeCallResultInput,\n DecodeCallResultBytecodeOptionalParams,\n DecodeCallResultBytecodeResponse,\n FunctionCallInput,\n EncodeCalldataOptionalParams,\n EncodeCalldataResponse,\n DecodeCalldataBytecode,\n DecodeCalldataBytecodeOptionalParams,\n DecodeCalldataBytecodeResponse,\n DecodeCalldataSource,\n DecodeCalldataSourceOptionalParams,\n DecodeCalldataSourceResponse,\n ByteCodeInput,\n GetFateAssemblerCodeOptionalParams,\n GetFateAssemblerCodeResponse,\n ValidateByteCodeInput,\n ValidateByteCodeOptionalParams,\n GetCompilerVersionOptionalParams,\n GetCompilerVersionResponse,\n VersionOptionalParams,\n VersionResponse,\n ApiVersionOptionalParams,\n ApiVersionResponse,\n ApiOptionalParams,\n ApiResponse,\n} from \"./models/index.js\";\n\nexport class Compiler extends coreClient.ServiceClient {\n readonly $host: string;\n\n /**\n * Initializes a new instance of the Compiler class.\n * @param $host server parameter\n * @param options The parameter options\n */\n constructor($host: string, options?: CompilerOptionalParams) {\n if ($host === undefined) {\n throw new Error(\"'$host' cannot be null\");\n }\n\n // Initializing default values for options\n if (!options) {\n options = {};\n }\n const defaults: CompilerOptionalParams = {\n requestContentType: \"application/json; charset=utf-8\",\n };\n\n const packageDetails = `azsdk-js-compiler/1.0.0-beta.1`;\n const userAgentPrefix =\n options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`\n : `${packageDetails}`;\n\n const optionsWithDefaults = {\n ...defaults,\n ...options,\n userAgentOptions: {\n userAgentPrefix,\n },\n endpoint: options.endpoint ?? options.baseUri ?? \"{$host}\",\n };\n super(optionsWithDefaults);\n // Parameter assignments\n this.$host = $host;\n }\n\n /**\n * Generate an Aeternity Contract Interface (ACI) for contract\n * @param body contract code\n * @param options The options parameters.\n */\n generateACI(\n body: Contract,\n options?: GenerateACIOptionalParams,\n ): Promise<GenerateACIResponse> {\n return this.sendOperationRequest(\n { body, options },\n generateACIOperationSpec,\n );\n }\n\n /**\n * Compile a sophia contract from source and return byte code and ACI\n * @param body contract code\n * @param options The options parameters.\n */\n compileContract(\n body: Contract,\n options?: CompileContractOptionalParams,\n ): Promise<CompileContractResponse> {\n return this.sendOperationRequest(\n { body, options },\n compileContractOperationSpec,\n );\n }\n\n /**\n * Decode the result of contract call\n * @param body Binary data in Sophia ABI format\n * @param options The options parameters.\n */\n decodeCallResult(\n body: SophiaCallResultInput,\n options?: DecodeCallResultOptionalParams,\n ): Promise<DecodeCallResultResponse> {\n return this.sendOperationRequest(\n { body, options },\n decodeCallResultOperationSpec,\n );\n }\n\n /**\n * Decode the result of contract call from Bytecode\n * @param body Call result + compiled contract\n * @param options The options parameters.\n */\n decodeCallResultBytecode(\n body: BytecodeCallResultInput,\n options?: DecodeCallResultBytecodeOptionalParams,\n ): Promise<DecodeCallResultBytecodeResponse> {\n return this.sendOperationRequest(\n { body, options },\n decodeCallResultBytecodeOperationSpec,\n );\n }\n\n /**\n * Encode Sophia function call according to sophia ABI.\n * @param body Sophia function call - contract code + function name + arguments\n * @param options The options parameters.\n */\n encodeCalldata(\n body: FunctionCallInput,\n options?: EncodeCalldataOptionalParams,\n ): Promise<EncodeCalldataResponse> {\n return this.sendOperationRequest(\n { body, options },\n encodeCalldataOperationSpec,\n );\n }\n\n /**\n * Identify function name and arguments in Calldata for a compiled contract\n * @param body Calldata + compiled contract\n * @param options The options parameters.\n */\n decodeCalldataBytecode(\n body: DecodeCalldataBytecode,\n options?: DecodeCalldataBytecodeOptionalParams,\n ): Promise<DecodeCalldataBytecodeResponse> {\n return this.sendOperationRequest(\n { body, options },\n decodeCalldataBytecodeOperationSpec,\n );\n }\n\n /**\n * Identify function name and arguments in Calldata for a (partial) contract\n * @param body Calldata + contract (stub) code\n * @param options The options parameters.\n */\n decodeCalldataSource(\n body: DecodeCalldataSource,\n options?: DecodeCalldataSourceOptionalParams,\n ): Promise<DecodeCalldataSourceResponse> {\n return this.sendOperationRequest(\n { body, options },\n decodeCalldataSourceOperationSpec,\n );\n }\n\n /**\n * Get FATE assembler code from bytecode\n * @param body contract byte array\n * @param options The options parameters.\n */\n getFateAssemblerCode(\n body: ByteCodeInput,\n options?: GetFateAssemblerCodeOptionalParams,\n ): Promise<GetFateAssemblerCodeResponse> {\n return this.sendOperationRequest(\n { body, options },\n getFateAssemblerCodeOperationSpec,\n );\n }\n\n /**\n * Verify that an encoded byte array is the result of compiling a given contract\n * @param body contract byte array and source code\n * @param options The options parameters.\n */\n validateByteCode(\n body: ValidateByteCodeInput,\n options?: ValidateByteCodeOptionalParams,\n ): Promise<void> {\n return this.sendOperationRequest(\n { body, options },\n validateByteCodeOperationSpec,\n );\n }\n\n /**\n * Extract compiler version from bytecode\n * @param body contract byte array\n * @param options The options parameters.\n */\n getCompilerVersion(\n body: ByteCodeInput,\n options?: GetCompilerVersionOptionalParams,\n ): Promise<GetCompilerVersionResponse> {\n return this.sendOperationRequest(\n { body, options },\n getCompilerVersionOperationSpec,\n );\n }\n\n /**\n * Get the version of the underlying Sophia compiler version\n * @param options The options parameters.\n */\n version(options?: VersionOptionalParams): Promise<VersionResponse> {\n return this.sendOperationRequest({ options }, versionOperationSpec);\n }\n\n /**\n * Get the version of the API\n * @param options The options parameters.\n */\n apiVersion(options?: ApiVersionOptionalParams): Promise<ApiVersionResponse> {\n return this.sendOperationRequest({ options }, apiVersionOperationSpec);\n }\n\n /**\n * Get the Api description\n * @param options The options parameters.\n */\n api(options?: ApiOptionalParams): Promise<ApiResponse> {\n return this.sendOperationRequest({ options }, apiOperationSpec);\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst generateACIOperationSpec: coreClient.OperationSpec = {\n path: \"/aci\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: {\n type: {\n name: \"Sequence\",\n element: {\n type: { name: \"Dictionary\", value: { type: { name: \"any\" } } },\n },\n },\n },\n },\n 400: {\n bodyMapper: {\n type: {\n name: \"Sequence\",\n element: { type: { name: \"Composite\", className: \"CompilerError\" } },\n },\n },\n isError: true,\n },\n },\n requestBody: Parameters.body,\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer,\n};\nconst compileContractOperationSpec: coreClient.OperationSpec = {\n path: \"/compile\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.CompileResult,\n },\n 400: {\n bodyMapper: {\n type: {\n name: \"Sequence\",\n element: { type: { name: \"Composite\", className: \"CompilerError\" } },\n },\n },\n isError: true,\n },\n },\n requestBody: Parameters.body,\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer,\n};\nconst decodeCallResultOperationSpec: coreClient.OperationSpec = {\n path: \"/decode-call-result\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: { type: { name: \"any\" } },\n },\n 400: {\n bodyMapper: {\n type: {\n name: \"Sequence\",\n element: { type: { name: \"Composite\", className: \"CompilerError\" } },\n },\n },\n isError: true,\n },\n },\n requestBody: Parameters.body1,\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer,\n};\nconst decodeCallResultBytecodeOperationSpec: coreClient.OperationSpec = {\n path: \"/decode-call-result/bytecode\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.DecodedCallresult,\n },\n 400: {\n bodyMapper: {\n type: {\n name: \"Sequence\",\n element: { type: { name: \"Composite\", className: \"CompilerError\" } },\n },\n },\n isError: true,\n },\n },\n requestBody: Parameters.body2,\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer,\n};\nconst encodeCalldataOperationSpec: coreClient.OperationSpec = {\n path: \"/encode-calldata\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.Calldata,\n },\n 400: {\n bodyMapper: {\n type: {\n name: \"Sequence\",\n element: { type: { name: \"Composite\", className: \"CompilerError\" } },\n },\n },\n isError: true,\n },\n },\n requestBody: Parameters.body3,\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer,\n};\nconst decodeCalldataBytecodeOperationSpec: coreClient.OperationSpec = {\n path: \"/decode-calldata/bytecode\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.DecodedCalldata,\n },\n 400: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n requestBody: Parameters.body4,\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer,\n};\nconst decodeCalldataSourceOperationSpec: coreClient.OperationSpec = {\n path: \"/decode-calldata/source\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.DecodedCalldata,\n },\n 400: {\n bodyMapper: {\n type: {\n name: \"Sequence\",\n element: { type: { name: \"Composite\", className: \"CompilerError\" } },\n },\n },\n isError: true,\n },\n },\n requestBody: Parameters.body5,\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer,\n};\nconst getFateAssemblerCodeOperationSpec: coreClient.OperationSpec = {\n path: \"/fate-assembler\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.FateAssembler,\n },\n 400: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n requestBody: Parameters.body6,\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer,\n};\nconst validateByteCodeOperationSpec: coreClient.OperationSpec = {\n path: \"/validate-byte-code\",\n httpMethod: \"POST\",\n responses: {\n 200: {},\n 400: {\n bodyMapper: {\n type: {\n name: \"Sequence\",\n element: { type: { name: \"Composite\", className: \"CompilerError\" } },\n },\n },\n isError: true,\n },\n },\n requestBody: Parameters.body7,\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer,\n};\nconst getCompilerVersionOperationSpec: coreClient.OperationSpec = {\n path: \"/compiler-version\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.CompilerVersion,\n },\n 400: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n requestBody: Parameters.body6,\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer,\n};\nconst versionOperationSpec: coreClient.OperationSpec = {\n path: \"/version\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.CompilerVersion,\n },\n 500: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst apiVersionOperationSpec: coreClient.OperationSpec = {\n path: \"/api-version\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ApiVersion,\n },\n 500: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst apiOperationSpec: coreClient.OperationSpec = {\n path: \"/api\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: {\n type: { name: \"Dictionary\", value: { type: { name: \"any\" } } },\n },\n },\n 400: {\n bodyMapper: Mappers.ErrorModel,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer,\n};\n","import {\n RestError,\n userAgentPolicyName,\n setClientRequestIdPolicyName,\n} from '@azure/core-rest-pipeline';\nimport { OperationOptions } from '@azure/core-client';\nimport {\n Compiler as CompilerApi,\n ErrorModel,\n CompilerError as CompilerErrorApi,\n} from '../../apis/compiler/index.js';\nimport { genErrorFormatterPolicy, genVersionCheckPolicy } from '../../utils/autorest.js';\nimport CompilerBase, { Aci, CompileResult } from './Base.js';\nimport { Encoded } from '../../utils/encoder.js';\nimport { CompilerError, NotImplementedError } from '../../utils/errors.js';\n\ntype GeneralCompilerError = ErrorModel & {\n info?: object;\n parameter?: string;\n};\n\n/**\n * Contract Compiler over HTTP\n *\n * This class include api call's related to contract compiler functionality.\n * @category contract\n * @example CompilerHttp('COMPILER_URL')\n */\nexport default class CompilerHttp extends CompilerBase {\n readonly api: CompilerApi;\n\n /**\n * @param compilerUrl - Url for compiler API\n * @param options - Options\n * @param options.ignoreVersion - Don't check compiler version\n */\n constructor(compilerUrl: string, { ignoreVersion = false }: { ignoreVersion?: boolean } = {}) {\n super();\n\n let version: string | undefined;\n const getVersion = async (opts: OperationOptions): Promise<string> => {\n if (version != null) return version;\n version = (await this.api.apiVersion(opts)).apiVersion;\n return version;\n };\n\n this.api = new CompilerApi(compilerUrl, {\n allowInsecureConnection: true,\n additionalPolicies: [\n ...(ignoreVersion ? [] : [genVersionCheckPolicy('compiler', getVersion, '8.0.0', '9.0.0')]),\n genErrorFormatterPolicy((body: GeneralCompilerError | CompilerErrorApi[]) => {\n let message = '';\n if ('reason' in body) {\n message += ` ${body.reason}${\n body.parameter != null ? ` in ${body.parameter}` : ''\n // TODO: revising after improving documentation https://github.com/aeternity/aesophia_http/issues/78\n }${body.info != null ? ` (${JSON.stringify(body.info)})` : ''}`;\n }\n if (Array.isArray(body)) {\n message += `\\n${body\n .map(\n (e) =>\n `${e.type}:${e.pos.line}:${e.pos.col}: ${e.message}${e.context != null ? ` (${e.context})` : ''}`,\n )\n .join('\\n')}`;\n }\n return message;\n }),\n ],\n });\n this.api.pipeline.removePolicy({ name: userAgentPolicyName });\n this.api.pipeline.removePolicy({ name: setClientRequestIdPolicyName });\n }\n\n async compileBySourceCode(\n sourceCode: string,\n fileSystem?: Record<string, string>,\n ): CompileResult {\n try {\n const cmpOut = await this.api.compileContract({ code: sourceCode, options: { fileSystem } });\n const warnings = cmpOut.warnings.map(({ type, ...warning }) => warning);\n const res = { ...cmpOut, warnings };\n // TODO: should be fixed when the compiledAci interface gets updated\n return res as Awaited<CompileResult>;\n } catch (error) {\n if (error instanceof RestError && error.statusCode === 400) {\n throw new CompilerError(error.message);\n }\n throw error;\n }\n }\n\n // eslint-disable-next-line class-methods-use-this, @typescript-eslint/no-unused-vars\n async compile(path: string): CompileResult {\n throw new NotImplementedError('File system access, use CompilerHttpNode instead');\n }\n\n async generateAciBySourceCode(\n sourceCode: string,\n fileSystem?: Record<string, string>,\n ): Promise<Aci> {\n try {\n return await this.api.generateACI({ code: sourceCode, options: { fileSystem } });\n } catch (error) {\n if (error instanceof RestError && error.statusCode === 400) {\n throw new CompilerError(error.message);\n }\n throw error;\n }\n }\n\n // eslint-disable-next-line class-methods-use-this, @typescript-eslint/no-unused-vars\n async generateAci(path: string): Promise<Aci> {\n throw new NotImplementedError('File system access, use CompilerHttpNode instead');\n }\n\n async validateBySourceCode(\n bytecode: Encoded.ContractBytearray,\n sourceCode: string,\n fileSystem?: Record<string, string>,\n ): Promise<boolean> {\n try {\n await this.api.validateByteCode({ bytecode, source: sourceCode, options: { fileSystem } });\n return true;\n } catch {\n return false;\n }\n }\n\n // eslint-disable-next-line class-methods-use-this, @typescript-eslint/no-unused-vars\n async validate(bytecode: Encoded.ContractBytearray, path: string): Promise<boolean> {\n throw new NotImplementedError('File system access, use CompilerHttpNode instead');\n }\n\n async version(): Promise<string> {\n return (await this.api.version()).version;\n }\n}\n","/**\n * Convert string from snake_case to PascalCase\n * @param s - String to convert\n * @returns Converted string\n */\nexport function snakeToPascal(s: string): string {\n return s.replace(/_./g, (match) => match[1].toUpperCase());\n}\n\n/**\n * Convert string from PascalCase to snake_case\n * @param s - String to convert\n * @returns Converted string\n */\nexport function pascalToSnake(s: string): string {\n return s.replace(/[A-Z]/g, (match) => `_${match.toLowerCase()}`);\n}\n","import { default as websocket, ICloseEvent } from 'websocket';\nimport { BigNumber } from 'bignumber.js';\nimport type Channel from './Base.js';\nimport JsonBig from '../utils/json-big.js';\nimport { pascalToSnake } from '../utils/string.js';\nimport { Encoded } from '../utils/encoder.js';\nimport {\n BaseError,\n ChannelCallError,\n ChannelPingTimedOutError,\n UnexpectedTsError,\n UnknownChannelStateError,\n ChannelIncomingMessageError,\n ChannelError,\n} from '../utils/errors.js';\nimport { encodeContractAddress } from '../utils/crypto.js';\nimport { ensureError } from '../utils/other.js';\n\nconst { w3cwebsocket: W3CWebSocket } = websocket;\n\nexport interface ChannelEvents {\n statusChanged: (status: ChannelStatus) => void;\n stateChanged: (tx: Encoded.Transaction | '') => void;\n depositLocked: () => void;\n ownDepositLocked: () => void;\n withdrawLocked: () => void;\n ownWithdrawLocked: () => void;\n peerDisconnected: () => void;\n channelReestablished: () => void;\n error: (error: Error) => void;\n onChainTx: (tx: Encoded.Transaction, details: { info: string; type: string }) => void;\n message: (message: string | Object) => void;\n newContract: (contractAddress: Encoded.ContractAddress) => void;\n}\n\nexport interface ChannelAction {\n guard: (channel: Channel, state?: ChannelFsm) => boolean;\n action: (channel: Channel, state?: ChannelFsm) => ChannelFsm;\n}\n\ninterface SignOptions {\n updates?: any[];\n [k: string]: any;\n}\nexport type SignTxWithTag = (\n tag: string,\n tx: Encoded.Transaction,\n options?: SignOptions,\n) => Promise<Encoded.Transaction>;\n// TODO: SignTx shouldn't return number or null\nexport type SignTx = (\n tx: Encoded.Transaction,\n options?: SignOptions,\n) => Promise<Encoded.Transaction | number | null>;\n\n/**\n * @see {@link https://github.com/aeternity/protocol/blob/6734de2e4c7cce7e5e626caa8305fb535785131d/node/api/channels_api_usage.md#channel-establishing-parameters}\n */\ninterface CommonChannelOptions {\n /**\n * Channel url (for example: \"ws://localhost:3001\")\n */\n url: string;\n\n /**\n * Initiator's public key\n */\n initiatorId: Encoded.AccountAddress;\n /**\n * Responder's public key\n */\n responderId: Encoded.AccountAddress;\n /**\n * Amount of blocks for disputing a solo close\n */\n lockPeriod: number;\n /**\n * Initial deposit in favour of the responder by the initiator\n */\n pushAmount: BigNumber | number;\n /**\n * Amount of coins the initiator has committed to the channel\n */\n initiatorAmount: BigNumber | number;\n /**\n * Amount of coins the responder has committed to the channel\n */\n responderAmount: BigNumber | number;\n /**\n * The minimum amount both peers need to maintain\n */\n channelReserve?: BigNumber | number;\n /**\n * Minimum block height to include the channel_create_tx\n */\n ttl?: number;\n /**\n * The port of the responder's node\n */\n port: number;\n /**\n * How to calculate minimum depth (default: txfee)\n */\n minimumDepthStrategy?: 'txfee' | 'plain';\n /**\n * The minimum amount of blocks to be mined\n */\n minimumDepth?: number;\n /**\n * The fee to be used for the channel open transaction\n */\n fee?: BigNumber | number;\n /**\n * Used for the fee computation of the channel open transaction\n */\n gasPrice?: BigNumber | number;\n\n signedTx?: Encoded.Transaction;\n /**\n * Existing channel id (required if reestablishing a channel)\n */\n existingChannelId?: Encoded.Channel;\n /**\n * Existing FSM id (required if reestablishing a channel)\n */\n existingFsmId?: Encoded.Bytearray;\n /**\n * Needs to be provided if reconnecting with calling `leave` before\n */\n // TODO: remove after solving https://github.com/aeternity/aeternity/issues/4399\n reestablish?: boolean;\n /**\n * The time waiting for a new event to be initiated (default: 600000)\n */\n timeoutIdle?: number;\n /**\n * The time waiting for the initiator to produce the create channel transaction after the noise\n * session had been established (default: 120000)\n */\n timeoutFundingCreate?: number;\n /**\n * The time frame the other client has to sign an off-chain update after our client had initiated\n * and signed it. This applies only for double signed on-chain intended updates: channel create\n * transaction, deposit, withdrawal and etc. (default: 120000)\n */\n timeoutFundingSign?: number;\n /**\n * The time frame the other client has to confirm an on-chain transaction reaching maturity\n * (passing minimum depth) after the local node has detected this. This applies only for double\n * signed on-chain intended updates: channel create transaction, deposit, withdrawal and etc.\n * (default: 360000)\n */\n timeoutFundingLock?: number;\n /**\n * The time frame the client has to return a signed off-chain update or to decline it.\n * This applies for all off-chain updates (default: 500000)\n */\n timeoutSign?: number;\n /**\n * The time frame the other client has to react to an event. This applies for all off-chain\n * updates that are not meant to land on-chain, as well as some special cases: opening a noise\n * connection, mutual closing acknowledgement and reestablishing an existing channel\n * (default: 120000)\n */\n timeoutAccept?: number;\n /**\n * the time frame the responder has to accept an incoming noise session.\n * Applicable only for initiator (default: timeout_accept's value)\n */\n timeoutInitialized?: number;\n /**\n * The time frame the initiator has to start an outgoing noise session to the responder's node.\n * Applicable only for responder (default: timeout_idle's value)\n */\n timeoutAwaitingOpen?: number;\n /**\n * Log websocket communication and state changes\n */\n debug?: boolean;\n /**\n * Function which verifies and signs transactions\n */\n sign: SignTxWithTag;\n}\n\nexport type ChannelOptions = CommonChannelOptions &\n (\n | {\n /**\n * Participant role\n */\n role: 'initiator';\n /**\n * Host of the responder's node\n */\n host: string;\n }\n | {\n /**\n * Participant role\n */\n role: 'responder';\n }\n );\n\nexport interface ChannelHandler extends Function {\n enter?: Function;\n}\n\nexport interface ChannelState {\n signedTx: Encoded.Transaction;\n resolve: (r?: any) => void;\n reject: (e: BaseError) => void;\n sign: SignTx;\n handler?: ChannelHandler;\n /**\n * Called when transaction has been posted on chain\n */\n onOnChainTx?: (tx: Encoded.Transaction) => void;\n onOwnWithdrawLocked?: () => void;\n onWithdrawLocked?: () => void;\n onOwnDepositLocked?: () => void;\n onDepositLocked?: () => void;\n closeTx?: string;\n}\n\nexport interface ChannelFsm {\n handler: ChannelHandler;\n state?:\n | ChannelState\n | {\n resolve: Function;\n reject: Function;\n };\n}\n\nexport interface ChannelMessage {\n id?: number;\n method: string;\n params: any;\n payload?: any;\n data?: any;\n error?: ChannelMessageError;\n}\n\ninterface ChannelMessageError {\n code: number;\n message: string;\n data: [\n {\n message: string;\n code: number;\n },\n ];\n request: ChannelMessage;\n}\n\n// Send ping message every 10 seconds\nconst PING_TIMEOUT_MS = 10000;\n// Close connection if pong message is not received within 15 seconds\nconst PONG_TIMEOUT_MS = 15000;\n\nexport function emit<E extends keyof ChannelEvents>(\n channel: Channel,\n ...args: [E, ...Parameters<ChannelEvents[E]>]\n): void {\n const [eventName, ...rest] = args;\n channel._eventEmitter.emit(eventName, ...rest);\n}\n\nfunction enterState(channel: Channel, nextState: ChannelFsm): void {\n if (nextState == null) {\n throw new UnknownChannelStateError();\n }\n channel._debug('enter state', nextState.handler.name);\n channel._fsm = nextState;\n if (nextState?.handler?.enter != null) {\n nextState.handler.enter(channel);\n }\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n void dequeueAction(channel);\n}\n\n// TODO: rewrite to enum\nexport type ChannelStatus =\n | 'connecting'\n | 'connected'\n | 'accepted'\n | 'halfSigned'\n | 'signed'\n | 'open'\n | 'closing'\n | 'closed'\n | 'died'\n | 'disconnected';\n\nexport function changeStatus(channel: Channel, newStatus: ChannelStatus, debug?: unknown): void {\n channel._debug(newStatus, `(prev. ${channel._status})`, debug ?? '');\n if (newStatus === channel._status) return;\n channel._status = newStatus;\n emit(channel, 'statusChanged', newStatus);\n}\n\nexport function changeState(channel: Channel, newState: Encoded.Transaction | ''): void {\n channel._state = newState;\n emit(channel, 'stateChanged', newState);\n}\n\nfunction send(channel: Channel, message: ChannelMessage): void {\n channel._debug('send message', message.method, message.params);\n channel._websocket.send(JsonBig.stringify({ jsonrpc: '2.0', ...message }));\n}\n\nexport function notify(channel: Channel, method: string, params: object = {}): void {\n send(channel, { method, params });\n}\n\nasync function dequeueAction(channel: Channel): Promise<void> {\n if (channel._isActionQueueLocked) return;\n const queue = channel._actionQueue;\n if (queue.length === 0) return;\n const index = queue.findIndex((action) => action.guard(channel, channel._fsm));\n if (index === -1) return;\n channel._actionQueue = queue.filter((_, i) => index !== i);\n channel._isActionQueueLocked = true;\n const nextState: ChannelFsm = await queue[index].action(channel, channel._fsm);\n channel._isActionQueueLocked = false;\n enterState(channel, nextState);\n}\n\nexport async function enqueueAction(\n channel: Channel,\n guard: ChannelAction['guard'],\n action: () => { handler: ChannelHandler; state?: Partial<ChannelState> },\n): Promise<any> {\n const promise = new Promise((resolve, reject) => {\n channel._actionQueue.push({\n guard,\n action() {\n const res = action();\n return { ...res, state: { ...res.state, resolve, reject } };\n },\n });\n });\n void dequeueAction(channel);\n return promise;\n}\n\nasync function handleMessage(channel: Channel, message: ChannelMessage): Promise<void> {\n const { handler, state: st } = channel._fsm;\n const nextState = await Promise.resolve(handler(channel, message, st));\n enterState(channel, nextState);\n // TODO: emit message and handler name (?) to move this code to Contract constructor\n if (\n message?.params?.data?.updates?.[0]?.op === 'OffChainNewContract' &&\n // if name is channelOpen, the contract was created by other participant\n nextState?.handler.name === 'channelOpen'\n ) {\n const round = channel.round();\n if (round == null) throw new UnexpectedTsError('Round is null');\n const owner = message?.params?.data?.updates?.[0]?.owner;\n emit(channel, 'newContract', encodeContractAddress(owner, round + 1));\n }\n}\n\nasync function dequeueMessage(channel: Channel): Promise<void> {\n if (channel._isMessageQueueLocked) return;\n channel._isMessageQueueLocked = true;\n while (channel._messageQueue.length > 0) {\n const message = channel._messageQueue.shift();\n if (message == null) throw new UnexpectedTsError();\n try {\n await handleMessage(channel, message);\n } catch (error) {\n ensureError(error);\n emit(channel, 'error', new ChannelIncomingMessageError(error, message));\n }\n }\n channel._isMessageQueueLocked = false;\n}\n\nexport function disconnect(channel: Channel): void {\n channel._websocket.close();\n clearTimeout(channel._pingTimeoutId);\n}\n\nfunction ping(channel: Channel): void {\n clearTimeout(channel._pingTimeoutId);\n channel._pingTimeoutId = setTimeout(() => {\n notify(channel, 'channels.system', { action: 'ping' });\n channel._pingTimeoutId = setTimeout(() => {\n disconnect(channel);\n emit(channel, 'error', new ChannelPingTimedOutError());\n }, PONG_TIMEOUT_MS);\n }, PING_TIMEOUT_MS);\n}\n\nfunction onMessage(channel: Channel, data: string): void {\n const message = JsonBig.parse(data);\n channel._debug('received message', message.method, message.params);\n if (message.id != null) {\n const callback = channel._rpcCallbacks.get(message.id);\n if (callback == null) {\n emit(channel, 'error', new ChannelError(`Can't find callback by id: ${message.id}`));\n return;\n }\n try {\n callback(message);\n } finally {\n channel._rpcCallbacks.delete(message.id);\n }\n return;\n }\n if (message.method === 'channels.message') {\n emit(channel, 'message', message.params.data.message);\n return;\n }\n if (message.method === 'channels.system.pong') {\n if (message.params.channel_id === channel._channelId || channel._channelId == null) {\n ping(channel);\n }\n return;\n }\n channel._messageQueue.push(message);\n void dequeueMessage(channel);\n}\n\nexport async function call(channel: Channel, method: string, params: any): Promise<any> {\n return new Promise((resolve, reject) => {\n const id = channel._nextRpcMessageId;\n channel._nextRpcMessageId += 1;\n channel._rpcCallbacks.set(\n id,\n (message: { result: PromiseLike<any>; error?: ChannelMessageError }) => {\n if (message.error != null) {\n const details = message.error.data[0].message ?? '';\n reject(new ChannelCallError(message.error.message + details));\n } else resolve(message.result);\n },\n );\n send(channel, { method, id, params });\n });\n}\n\nexport async function initialize(\n channel: Channel,\n connectionHandler: Function,\n openHandler: Function,\n { url, ...channelOptions }: ChannelOptions,\n): Promise<void> {\n channel._options = { url, ...channelOptions };\n\n const wsUrl = new URL(url);\n Object.entries(channelOptions)\n .filter(([key]) => !['sign', 'debug'].includes(key))\n .forEach(([key, value]) => wsUrl.searchParams.set(pascalToSnake(key), value.toString()));\n wsUrl.searchParams.set('protocol', 'json-rpc');\n changeStatus(channel, 'connecting');\n channel._websocket = new W3CWebSocket(wsUrl.toString());\n await new Promise<void>((resolve, reject) => {\n Object.assign(channel._websocket, {\n onerror: reject,\n onopen: async (event: Event) => {\n resolve();\n changeStatus(channel, 'connected', event);\n enterState(channel, { handler: connectionHandler });\n ping(channel);\n },\n onclose: (event: ICloseEvent) => {\n changeStatus(channel, 'disconnected', event);\n clearTimeout(channel._pingTimeoutId);\n },\n onmessage: ({ data }: { data: string }) => onMessage(channel, data),\n });\n });\n}\n","/* eslint-disable consistent-return */\n/* eslint-disable default-case */\n/* eslint-disable @typescript-eslint/no-use-before-define */\nimport {\n ChannelState,\n changeStatus,\n changeState,\n notify,\n emit,\n disconnect,\n ChannelMessage,\n ChannelFsm,\n SignTx,\n ChannelStatus,\n ChannelEvents,\n} from './internal.js';\nimport { unpackTx, buildTx } from '../tx/builder/index.js';\nimport { decode, Encoded } from '../utils/encoder.js';\nimport {\n IllegalArgumentError,\n InsufficientBalanceError,\n ChannelConnectionError,\n UnexpectedChannelMessageError,\n ChannelError,\n} from '../utils/errors.js';\nimport type Channel from './Base.js';\nimport { Tag } from '../tx/builder/constants.js';\nimport { snakeToPascal } from '../utils/string.js';\n\nexport async function appendSignature(\n tx: Encoded.Transaction,\n signFn: SignTx,\n): Promise<Encoded.Transaction | number | null> {\n const { signatures, encodedTx } = unpackTx(tx, Tag.SignedTx);\n const payloadTx = buildTx(encodedTx);\n const result = await signFn(payloadTx);\n if (typeof result === 'string') {\n const { signatures: signatures2 } = unpackTx(result, Tag.SignedTx);\n return buildTx({\n tag: Tag.SignedTx,\n signatures: signatures.concat(signatures2),\n encodedTx: decode(payloadTx),\n });\n }\n return result;\n}\n\nexport async function signAndNotify(\n channel: Channel,\n method: string,\n data: {\n tx?: Encoded.Transaction;\n signed_tx?: Encoded.Transaction;\n },\n signFn: SignTx,\n): Promise<boolean> {\n let signedTx;\n if (data.tx != null) signedTx = await signFn(data.tx);\n else if (data.signed_tx != null) signedTx = await appendSignature(data.signed_tx, signFn);\n else throw new ChannelError(\"Can't find transaction in message\");\n const isError = typeof signedTx !== 'string';\n const key = data.tx != null ? 'tx' : 'signed_tx';\n notify(channel, method, isError ? { error: signedTx ?? 1 } : { [key]: signedTx });\n return isError;\n}\n\nexport function handleUnexpectedMessage(\n _channel: Channel,\n message: ChannelMessage,\n state: ChannelState,\n): ChannelFsm {\n state?.reject?.(\n Object.assign(\n new UnexpectedChannelMessageError(\n `Unexpected message received:\\n\\n${JSON.stringify(message)}`,\n ),\n { wsMessage: message },\n ),\n );\n return { handler: channelOpen };\n}\n\nexport function awaitingCompletion(\n channel: Channel,\n message: ChannelMessage,\n state: ChannelState,\n onSuccess?: typeof handleUnexpectedMessage,\n): ChannelFsm {\n if (onSuccess != null && message.method === 'channels.update') {\n return onSuccess(channel, message, state);\n }\n if (message.method === 'channels.conflict') {\n state.resolve({\n accepted: false,\n errorCode: message.params.data.error_code,\n errorMessage: message.params.data.error_msg,\n });\n return { handler: channelOpen };\n }\n if (message.method === 'channels.info') {\n if (message.params.data.event === 'aborted_update') {\n state.resolve({ accepted: false });\n return { handler: channelOpen };\n }\n }\n if (message.error != null) {\n const codes = message.error.data.map((d) => d.code);\n if (codes.includes(1001)) {\n state.reject(new InsufficientBalanceError('Insufficient balance'));\n } else if (codes.includes(1002)) {\n state.reject(new IllegalArgumentError('Amount cannot be negative'));\n } else {\n state.reject(new ChannelConnectionError(message.error.message));\n }\n return { handler: channelOpen };\n }\n return handleUnexpectedMessage(channel, message, state);\n}\n\nexport function awaitingConnection(\n channel: Channel,\n message: ChannelMessage,\n): ChannelFsm | undefined {\n if (message.method === 'channels.info') {\n const channelInfoStatus: string = message.params.data.event;\n\n let nextStatus: ChannelStatus | null = null;\n if (channelInfoStatus === 'channel_accept') nextStatus = 'accepted';\n if (channelInfoStatus === 'funding_created') nextStatus = 'halfSigned';\n if (nextStatus != null) {\n changeStatus(channel, nextStatus);\n return { handler: awaitingChannelCreateTx };\n }\n\n if (message.params.data.event === 'channel_reestablished') {\n return { handler: awaitingOpenConfirmation };\n }\n if (message.params.data.event === 'fsm_up') {\n channel._fsmId = message.params.data.fsm_id;\n return { handler: awaitingConnection };\n }\n return { handler: awaitingConnection };\n }\n if (message.method === 'channels.error') {\n emit(channel, 'error', new ChannelConnectionError(message?.payload?.message));\n return { handler: channelClosed };\n }\n}\n\nexport async function awaitingReestablish(\n channel: Channel,\n message: ChannelMessage,\n state: ChannelState,\n): Promise<ChannelFsm> {\n if (message.method === 'channels.info' && message.params.data.event === 'fsm_up') {\n channel._fsmId = message.params.data.fsm_id;\n return {\n handler: function awaitingChannelReestablished(\n _: Channel,\n message2: ChannelMessage,\n state2: ChannelState,\n ): ChannelFsm | undefined {\n if (\n message2.method === 'channels.info' &&\n message2.params.data.event === 'channel_reestablished'\n )\n return { handler: awaitingOpenConfirmation };\n return handleUnexpectedMessage(channel, message2, state2);\n },\n };\n }\n return handleUnexpectedMessage(channel, message, state);\n}\n\nexport async function awaitingReconnection(\n channel: Channel,\n message: ChannelMessage,\n state: ChannelState,\n): Promise<ChannelFsm> {\n if (message.method === 'channels.info' && message.params.data.event === 'fsm_up') {\n channel._fsmId = message.params.data.fsm_id;\n const { signedTx } = await channel.state();\n changeState(channel, signedTx == null ? '' : buildTx(signedTx));\n return { handler: channelOpen };\n }\n return handleUnexpectedMessage(channel, message, state);\n}\n\nexport async function awaitingChannelCreateTx(\n channel: Channel,\n message: ChannelMessage,\n): Promise<ChannelFsm | undefined> {\n const tag = channel._options.role === 'initiator' ? 'initiator_sign' : 'responder_sign';\n if (message.method === `channels.sign.${tag}`) {\n await signAndNotify(channel, `channels.${tag}`, message.params.data, async (tx) =>\n channel._options.sign(tag, tx),\n );\n return { handler: awaitingOnChainTx };\n }\n}\n\nexport function awaitingOnChainTx(\n channel: Channel,\n message: ChannelMessage,\n): ChannelFsm | undefined {\n function awaitingBlockInclusion(_: Channel, message2: ChannelMessage): ChannelFsm | undefined {\n if (message2.method === 'channels.info') {\n switch (message2.params.data.event) {\n case 'funding_created':\n case 'own_funding_locked':\n return { handler: awaitingBlockInclusion };\n case 'funding_locked':\n return { handler: awaitingOpenConfirmation };\n }\n }\n if (message2.method === 'channels.on_chain_tx') {\n emit(channel, 'onChainTx', message2.params.data.tx, {\n info: message2.params.data.info,\n type: message2.params.data.type,\n });\n return { handler: awaitingBlockInclusion };\n }\n }\n\n if (message.method === 'channels.on_chain_tx') {\n const { info } = message.params.data;\n const { role } = channel._options;\n if (\n (info === 'funding_signed' && role === 'initiator') ||\n (info === 'funding_created' && role === 'responder')\n ) {\n return { handler: awaitingBlockInclusion };\n }\n }\n if (\n message.method === 'channels.info' &&\n message.params.data.event === 'funding_signed' &&\n channel._options.role === 'initiator'\n ) {\n channel._channelId = message.params.channel_id;\n changeStatus(channel, 'signed');\n return { handler: awaitingOnChainTx };\n }\n}\n\nfunction awaitingOpenConfirmation(\n channel: Channel,\n message: ChannelMessage,\n state: ChannelState,\n): ChannelFsm | undefined {\n if (message.method === 'channels.info' && message.params.data.event === 'open') {\n channel._channelId = message.params.channel_id;\n return {\n handler: function awaitingChannelsUpdate(\n _: Channel,\n message2: ChannelMessage,\n state2: ChannelState,\n ): ChannelFsm | undefined {\n if (message2.method === 'channels.update') {\n changeState(channel, message2.params.data.state);\n return { handler: channelOpen };\n }\n return handleUnexpectedMessage(channel, message2, state2);\n },\n };\n }\n return handleUnexpectedMessage(channel, message, state);\n}\n\nexport async function channelOpen(\n channel: Channel,\n message: ChannelMessage,\n state: ChannelState,\n): Promise<ChannelFsm | undefined> {\n switch (message.method) {\n case 'channels.info':\n switch (message.params.data.event) {\n case 'update':\n case 'withdraw_created':\n case 'deposit_created':\n return { handler: awaitingTxSignRequest };\n case 'own_withdraw_locked':\n case 'withdraw_locked':\n case 'own_deposit_locked':\n case 'deposit_locked':\n case 'peer_disconnected':\n case 'channel_reestablished':\n case 'open':\n // TODO: Better handling of peer_disconnected event.\n //\n // We should enter intermediate state where offchain transactions\n // are blocked until channel is reestablished.\n emit(channel, snakeToPascal(message.params.data.event) as keyof ChannelEvents);\n return { handler: channelOpen };\n case 'fsm_up':\n channel._fsmId = message.params.data.fsm_id;\n return { handler: channelOpen };\n case 'timeout':\n case 'close_mutual':\n return { handler: channelOpen };\n case 'closing':\n changeStatus(channel, 'closing');\n return { handler: channelOpen };\n case 'closed_confirmed':\n changeStatus(channel, 'closed');\n return { handler: channelClosed };\n case 'died':\n changeStatus(channel, 'died');\n return { handler: channelClosed };\n case 'shutdown':\n return { handler: channelOpen };\n }\n break;\n case 'channels.on_chain_tx':\n emit(channel, 'onChainTx', message.params.data.tx, {\n info: message.params.data.info,\n type: message.params.data.type,\n });\n return { handler: channelOpen };\n case 'channels.leave':\n // TODO: emit event\n return { handler: channelOpen };\n case 'channels.update':\n changeState(channel, message.params.data.state);\n return { handler: channelOpen };\n case 'channels.sign.shutdown_sign_ack':\n return awaitingTxSignRequest(channel, message, state);\n }\n}\nchannelOpen.enter = (channel: Channel) => {\n changeStatus(channel, 'open');\n};\n\nasync function awaitingTxSignRequest(\n channel: Channel,\n message: ChannelMessage,\n state: ChannelState,\n): Promise<ChannelFsm> {\n const [, tag] = message.method.match(/^channels\\.sign\\.([^.]+)$/) ?? [];\n if (tag == null) return handleUnexpectedMessage(channel, message, state);\n const isError = await signAndNotify(channel, `channels.${tag}`, message.params.data, async (tx) =>\n channel._options.sign(tag, tx, { updates: message.params.data.updates }),\n );\n\n function awaitingUpdateConflict(_: Channel, message2: ChannelMessage): ChannelFsm {\n if (message2.error != null) {\n return { handler: awaitingUpdateConflict, state };\n }\n if (message2.method === 'channels.conflict') {\n return { handler: channelOpen };\n }\n return handleUnexpectedMessage(channel, message2, state);\n }\n return isError ? { handler: awaitingUpdateConflict, state } : { handler: channelOpen };\n}\n\nexport async function awaitingShutdownTx(\n channel: Channel,\n message: ChannelMessage,\n state: ChannelState,\n): Promise<ChannelFsm> {\n if (message.method !== 'channels.sign.shutdown_sign') {\n return handleUnexpectedMessage(channel, message, state);\n }\n await signAndNotify(channel, 'channels.shutdown_sign', message.params.data, async (tx) =>\n state.sign(tx),\n );\n return {\n handler(_: Channel, message2: ChannelMessage): ChannelFsm {\n if (message2.method !== 'channels.on_chain_tx') {\n return handleUnexpectedMessage(channel, message2, state);\n }\n // state.resolve(message.params.data.tx)\n return { handler: channelClosed, state };\n },\n state,\n };\n}\n\nexport function awaitingLeave(\n channel: Channel,\n message: ChannelMessage,\n state: ChannelState,\n): ChannelFsm {\n if (message.method === 'channels.leave') {\n state.resolve({ channelId: message.params.channel_id, signedTx: message.params.data.state });\n disconnect(channel);\n return { handler: channelClosed };\n }\n if (message.method === 'channels.error') {\n state.reject(new ChannelConnectionError(message.data.message));\n return { handler: channelOpen };\n }\n return handleUnexpectedMessage(channel, message, state);\n}\n\nexport function channelClosed(\n _channel: Channel,\n message: ChannelMessage,\n state: ChannelState,\n): ChannelFsm {\n if (state == null) return { handler: channelClosed };\n if (message.params.data.event === 'closing') return { handler: channelClosed, state };\n if (message.params.data.info === 'channel_closed') {\n state.closeTx = message.params.data.tx;\n return { handler: channelClosed, state };\n }\n if (message.params.data.event === 'closed_confirmed') {\n state.resolve(state.closeTx);\n return { handler: channelClosed };\n }\n return { handler: channelClosed, state };\n}\n","import EventEmitter from 'events';\nimport { w3cwebsocket as W3CWebSocket } from 'websocket';\nimport { snakeToPascal } from '../utils/string.js';\nimport { unpackTx } from '../tx/builder/index.js';\nimport { Tag } from '../tx/builder/constants.js';\nimport * as handlers from './handlers.js';\nimport {\n initialize,\n enqueueAction,\n notify,\n call,\n disconnect as channelDisconnect,\n SignTx,\n ChannelOptions,\n ChannelState,\n ChannelHandler,\n ChannelAction,\n ChannelStatus,\n ChannelFsm,\n ChannelMessage,\n ChannelEvents,\n} from './internal.js';\nimport { ChannelError, IllegalArgumentError } from '../utils/errors.js';\nimport { Encoded } from '../utils/encoder.js';\nimport { TxUnpacked } from '../tx/builder/schema.generated.js';\nimport { EntryTag } from '../tx/builder/entry/constants.js';\nimport { unpackEntry } from '../tx/builder/entry/index.js';\nimport { EntUnpacked } from '../tx/builder/entry/schema.generated.js';\n\nfunction snakeToPascalObjKeys<Type>(obj: object): Type {\n return Object.entries(obj).reduce(\n (result, [key, val]) => ({\n ...result,\n [snakeToPascal(key)]: val,\n }),\n {},\n ) as Type;\n}\n\nlet channelCounter = 0;\n\n/**\n * Channel\n * @example\n * ```js\n * await Channel.initialize({\n * url: 'ws://localhost:3001',\n * role: 'initiator'\n * initiatorId: 'ak_Y1NRjHuoc3CGMYMvCmdHSBpJsMDR6Ra2t5zjhRcbtMeXXLpLH',\n * responderId: 'ak_V6an1xhec1xVaAhLuak7QoEbi6t7w5hEtYWp9bMKaJ19i6A9E',\n * initiatorAmount: 1e18,\n * responderAmount: 1e18,\n * pushAmount: 0,\n * channelReserve: 0,\n * ttl: 1000,\n * host: 'localhost',\n * port: 3002,\n * lockPeriod: 10,\n * async sign (tag, tx) => await account.signTransaction(tx)\n * })\n * ```\n */\nexport default class Channel {\n _eventEmitter = new EventEmitter();\n\n _pingTimeoutId!: NodeJS.Timeout;\n\n _nextRpcMessageId = 0;\n\n _rpcCallbacks = new Map<number, (message: object) => void>();\n\n _fsmId?: Encoded.Bytearray;\n\n _messageQueue: ChannelMessage[] = [];\n\n _isMessageQueueLocked = false;\n\n _actionQueue: ChannelAction[] = [];\n\n _isActionQueueLocked = false;\n\n _status: ChannelStatus = 'disconnected';\n\n _fsm!: ChannelFsm;\n\n _websocket!: W3CWebSocket;\n\n _state: Encoded.Transaction | '' = '';\n\n _options!: ChannelOptions;\n\n readonly #debugId: number;\n\n _channelId?: Encoded.Channel;\n\n protected constructor() {\n channelCounter += 1;\n this.#debugId = channelCounter;\n }\n\n _debug(...args: any[]): void {\n if (this._options.debug !== true) return;\n console.debug(`Channel #${this.#debugId}`, ...args);\n }\n\n /**\n * @param options - Channel params\n */\n static async initialize(options: ChannelOptions): Promise<Channel> {\n return Channel._initialize(new Channel(), options);\n }\n\n static async _initialize<T extends Channel>(channel: T, options: ChannelOptions): Promise<T> {\n const reconnect = (options.existingFsmId ?? options.existingChannelId) != null;\n if (reconnect && (options.existingFsmId == null || options.existingChannelId == null)) {\n throw new IllegalArgumentError(\n '`existingChannelId`, `existingFsmId` should be both provided or missed',\n );\n }\n const reconnectHandler =\n handlers[options.reestablish === true ? 'awaitingReestablish' : 'awaitingReconnection'];\n await initialize(\n channel,\n reconnect ? reconnectHandler : handlers.awaitingConnection,\n handlers.channelOpen,\n options,\n );\n return channel;\n }\n\n /**\n * Register event listener function\n *\n * Possible events:\n *\n * - \"error\"\n * - \"stateChanged\"\n * - \"statusChanged\"\n * - \"message\"\n * - \"peerDisconnected\"\n * - \"onChainTx\"\n * - \"ownWithdrawLocked\"\n * - \"withdrawLocked\"\n * - \"ownDepositLocked\"\n * - \"depositLocked\"\n * - \"channelReestablished\"\n * - \"newContract\"\n *\n *\n * @param eventName - Event name\n * @param callback - Callback function\n */\n on<E extends keyof ChannelEvents>(eventName: E, callback: ChannelEvents[E]): void {\n this._eventEmitter.on(eventName, callback);\n }\n\n /**\n * Remove event listener function\n * @param eventName - Event name\n * @param callback - Callback function\n */\n off<E extends keyof ChannelEvents>(eventName: E, callback: ChannelEvents[E]): void {\n this._eventEmitter.removeListener(eventName, callback);\n }\n\n /**\n * Close the connection\n */\n disconnect(): void {\n return channelDisconnect(this);\n }\n\n /**\n * Get current status\n */\n status(): ChannelStatus {\n return this._status;\n }\n\n /**\n * Get current state\n */\n async state(): Promise<{\n calls: EntUnpacked & { tag: EntryTag.CallsMtree };\n halfSignedTx?: TxUnpacked & { tag: Tag.SignedTx };\n signedTx?: TxUnpacked & { tag: Tag.SignedTx };\n trees: EntUnpacked & { tag: EntryTag.StateTrees };\n }> {\n const res = snakeToPascalObjKeys<{\n calls: Encoded.CallStateTree;\n halfSignedTx: Encoded.Transaction | '';\n signedTx: Encoded.Transaction | '';\n trees: Encoded.StateTrees;\n }>(await call(this, 'channels.get.offchain_state', {}));\n return {\n calls: unpackEntry(res.calls),\n ...(res.halfSignedTx !== '' && { halfSignedTx: unpackTx(res.halfSignedTx, Tag.SignedTx) }),\n ...(res.signedTx !== '' && { signedTx: unpackTx(res.signedTx, Tag.SignedTx) }),\n trees: unpackEntry(res.trees),\n };\n }\n\n /**\n * Get current round\n *\n * If round cannot be determined (for example when channel has not been opened)\n * it will return `null`.\n */\n round(): number | null {\n if (this._state === '') {\n return null;\n }\n const params = unpackTx(this._state, Tag.SignedTx).encodedTx;\n switch (params.tag) {\n case Tag.ChannelCreateTx:\n return 1;\n case Tag.ChannelOffChainTx:\n case Tag.ChannelWithdrawTx:\n case Tag.ChannelDepositTx:\n return params.round;\n default:\n return null;\n }\n }\n\n /**\n * Get channel id\n *\n */\n id(): Encoded.Channel {\n if (this._channelId == null) throw new ChannelError('Channel is not initialized');\n return this._channelId;\n }\n\n /**\n * Get channel's fsm id\n *\n */\n fsmId(): Encoded.Bytearray {\n if (this._fsmId == null) throw new ChannelError('Channel is not initialized');\n return this._fsmId;\n }\n\n protected async enqueueAction(\n action: () => { handler: ChannelHandler; state?: Partial<ChannelState> },\n ): Promise<any> {\n return enqueueAction(this, (channel, state) => state?.handler === handlers.channelOpen, action);\n }\n\n /**\n * Leave channel\n *\n * It is possible to leave a channel and then later reestablish the channel\n * off-chain state and continue operation. When a leave method is called,\n * the channel fsm passes it on to the peer fsm, reports the current mutually\n * signed state and then terminates.\n *\n * The channel can be reestablished by instantiating another Channel instance\n * with two extra params: existingChannelId and existingFsmId.\n *\n * @example\n * ```js\n * channel.leave().then(({ channelId, signedTx }) => {\n * console.log(channelId)\n * console.log(signedTx)\n * })\n * ```\n */\n async leave(): Promise<{ channelId: Encoded.Channel; signedTx: Encoded.Transaction }> {\n return this.enqueueAction(() => {\n notify(this, 'channels.leave');\n return { handler: handlers.awaitingLeave };\n });\n }\n\n /**\n * Trigger mutual close\n *\n * At any moment after the channel is opened, a closing procedure can be triggered.\n * This can be done by either of the parties. The process is similar to the off-chain updates.\n *\n * @param sign - Function which verifies and signs mutual close transaction\n * @example\n * ```js\n * channel.shutdown(\n * async (tx) => await account.signTransaction(tx)\n * ).then(tx => console.log('on_chain_tx', tx))\n * ```\n */\n async shutdown(sign: SignTx): Promise<Encoded.Transaction> {\n return this.enqueueAction(() => {\n notify(this, 'channels.shutdown');\n return {\n handler: handlers.awaitingShutdownTx,\n state: { sign },\n };\n });\n }\n}\n","import { BigNumber } from 'bignumber.js';\nimport {\n notify,\n call,\n SignTx,\n ChannelState,\n ChannelMessage,\n ChannelFsm,\n changeState,\n} from './internal.js';\nimport { Encoded } from '../utils/encoder.js';\nimport { pause } from '../utils/other.js';\nimport Channel from './Base.js';\nimport { ChannelConnectionError } from '../utils/errors.js';\nimport {\n awaitingCompletion,\n channelOpen,\n handleUnexpectedMessage,\n signAndNotify,\n} from './handlers.js';\nimport { EntryTag } from '../tx/builder/entry/constants.js';\nimport { EntUnpacked } from '../tx/builder/entry/schema.generated.js';\nimport { unpackEntry } from '../tx/builder/entry/index.js';\n\nexport default class ChannelSpend extends Channel {\n /**\n * Trigger a transfer update\n *\n * The transfer update is moving coins from one channel account to another.\n * The update is a change to be applied on top of the latest state.\n *\n * Sender and receiver are the channel parties. Both the initiator and responder\n * can take those roles. Any public key outside the channel is considered invalid.\n *\n * @param from - Sender's public address\n * @param to - Receiver's public address\n * @param amount - Transaction amount\n * @param sign - Function which verifies and signs offchain transaction\n * @param metadata - Metadata\n\n * @example\n * ```js\n * channel.update(\n * 'ak_Y1NRjHuoc3CGMYMvCmdHSBpJsMDR6Ra2t5zjhRcbtMeXXLpLH',\n * 'ak_V6an1xhec1xVaAhLuak7QoEbi6t7w5hEtYWp9bMKaJ19i6A9E',\n * 10,\n * async (tx) => await account.signTransaction(tx)\n * ).then(({ accepted, signedTx }) =>\n * if (accepted) {\n * console.log('Update has been accepted')\n * }\n * )\n * ```\n */\n async update(\n from: Encoded.AccountAddress,\n to: Encoded.AccountAddress,\n amount: number | BigNumber,\n sign: SignTx,\n metadata: string[] = [],\n ): Promise<{\n accepted: boolean;\n signedTx?: Encoded.Transaction;\n errorCode?: number;\n errorMessage?: string;\n }> {\n return this.enqueueAction(() => {\n notify(this, 'channels.update.new', {\n from,\n to,\n amount,\n meta: metadata,\n });\n\n const awaitingOffChainTx = async (\n _: Channel,\n message: ChannelMessage,\n state: ChannelState,\n ): Promise<ChannelFsm> => {\n if (message.method === 'channels.sign.update') {\n const isError = await signAndNotify(\n this,\n 'channels.update',\n message.params.data,\n async (tx) => sign(tx, { updates: message.params.data.updates }),\n );\n if (isError) return { handler: awaitingOffChainTx, state };\n return {\n handler: (_2: Channel, message2: ChannelMessage): ChannelFsm =>\n awaitingCompletion(this, message2, state, () => {\n changeState(this, message2.params.data.state);\n state.resolve({ accepted: true, signedTx: message2.params.data.state });\n return { handler: channelOpen };\n }),\n state,\n };\n }\n if (message.method === 'channels.error') {\n state.reject(new ChannelConnectionError(message.data.message));\n return { handler: channelOpen };\n }\n return awaitingCompletion(this, message, state);\n };\n\n return { handler: awaitingOffChainTx };\n });\n }\n\n /**\n * Get proof of inclusion\n *\n * If a certain address of an account or a contract is not found\n * in the state tree - the response is an error.\n *\n * @param addresses - Addresses\n * @param addresses.accounts - List of account addresses to include in poi\n * @param addresses.contracts - List of contract addresses to include in poi\n * @example\n * ```js\n * channel.poi({\n * accounts: [\n * 'ak_Y1NRjHuoc3CGMYMvCmdHSBpJsMDR6Ra2t5zjhRcbtMeXXLpLH',\n * 'ak_V6an1xhec1xVaAhLuak7QoEbi6t7w5hEtYWp9bMKaJ19i6A9E'\n * ],\n * contracts: ['ct_2dCUAWYZdrWfACz3a2faJeKVTVrfDYxCQHCqAt5zM15f3u2UfA']\n * }).then(poi => console.log(poi))\n * ```\n */\n async poi({\n accounts,\n contracts,\n }: {\n accounts: Encoded.AccountAddress[];\n contracts?: Encoded.ContractAddress[];\n }): Promise<EntUnpacked & { tag: EntryTag.TreesPoi }> {\n const { poi }: { poi: Encoded.Poi } = await call(this, 'channels.get.poi', {\n accounts,\n contracts,\n });\n return unpackEntry(poi);\n }\n\n /**\n * Get balances\n *\n * The accounts param contains a list of addresses to fetch balances of.\n * Those can be either account balances or a contract ones, encoded as an account addresses.\n *\n * If a certain account address had not being found in the state tree - it is simply\n * skipped in the response.\n *\n * @param accounts - List of addresses to fetch balances from\n * @example\n * ```js\n * channel.balances([\n * 'ak_Y1NRjHuoc3CGMYMvCmdHSBpJsMDR6Ra2t5zjhRcbtMeXXLpLH',\n * 'ak_V6an1xhec1xVaAhLuak7QoEbi6t7w5hEtYWp9bMKaJ19i6A9E'\n * 'ct_2dCUAWYZdrWfACz3a2faJeKVTVrfDYxCQHCqAt5zM15f3u2UfA'\n * ]).then(balances =>\n * console.log(balances['ak_Y1NRjHuoc3CGMYMvCmdHSBpJsMDR6Ra2t5zjhRcbtMeXXLpLH'])\n * )\n * ```\n */\n async balances(\n accounts: Encoded.AccountAddress[],\n ): Promise<{ [key: Encoded.AccountAddress]: string }> {\n return Object.fromEntries(\n (await call(this, 'channels.get.balances', { accounts })).map(\n (item: { account: Encoded.AccountAddress; balance: string }) => [\n item.account,\n item.balance,\n ],\n ),\n );\n }\n\n private async awaitingActionTx(\n action: 'deposit' | 'withdraw',\n message: ChannelMessage,\n state: ChannelState,\n ): Promise<ChannelFsm> {\n if (message.method !== `channels.sign.${action}_tx`) {\n return handleUnexpectedMessage(this, message, state);\n }\n\n const awaitingActionCompletion = (_: Channel, message2: ChannelMessage): ChannelFsm => {\n if (message2.method === 'channels.on_chain_tx') {\n state.onOnChainTx?.(message2.params.data.tx);\n return { handler: awaitingActionCompletion, state };\n }\n if (\n message2.method === 'channels.info' &&\n [`own_${action}_locked`, `${action}_locked`].includes(message2.params.data.event)\n ) {\n const Action = action === 'deposit' ? 'Deposit' : 'Withdraw';\n const isOwn: boolean = message2.params.data.event.startsWith('own_');\n state[`on${isOwn ? 'Own' : ''}${Action}Locked`]?.();\n return { handler: awaitingActionCompletion, state };\n }\n return awaitingCompletion(this, message2, state, () => {\n changeState(this, message2.params.data.state);\n state.resolve({ accepted: true, signedTx: message2.params.data.state });\n return { handler: channelOpen };\n });\n };\n\n const { sign } = state;\n await signAndNotify(this, `channels.${action}_tx`, message.params.data, async (tx) =>\n sign(tx, { updates: message.params.data.updates }),\n );\n return { handler: awaitingActionCompletion, state };\n }\n\n /**\n * Withdraw coins from the channel\n *\n * After the channel had been opened any of the participants can initiate a withdrawal.\n * The process closely resembles the update. The most notable difference is that the\n * transaction has been co-signed: it is channel_withdraw_tx and after the procedure\n * is finished - it is being posted on-chain.\n *\n * Any of the participants can initiate a withdrawal. The only requirements are:\n *\n * - Channel is already opened\n * - No off-chain update/deposit/withdrawal is currently being performed\n * - Channel is not being closed or in a solo closing state\n * - The withdrawal amount must be equal to or greater than zero, and cannot exceed\n * the available balance on the channel (minus the channel_reserve)\n *\n * After the other party had signed the withdraw transaction, the transaction is posted\n * on-chain and onOnChainTx callback is called with on-chain transaction as first argument.\n * After computing transaction hash it can be tracked on the chain: entering the mempool,\n * block inclusion and a number of confirmations.\n *\n * After the minimum_depth block confirmations onOwnWithdrawLocked callback is called\n * (without any arguments).\n *\n * When the other party had confirmed that the block height needed is reached\n * onWithdrawLocked callback is called (without any arguments).\n *\n * @param amount - Amount of coins to withdraw\n * @param sign - Function which verifies and signs withdraw transaction\n * @param callbacks - Callbacks\n * @example\n * ```js\n * channel.withdraw(\n * 100,\n * async (tx) => await account.signTransaction(tx),\n * { onOnChainTx: (tx) => console.log('on_chain_tx', tx) }\n * ).then(({ accepted, signedTx }) => {\n * if (accepted) {\n * console.log('Withdrawal has been accepted')\n * } else {\n * console.log('Withdrawal has been rejected')\n * }\n * })\n * ```\n */\n async withdraw(\n amount: number | BigNumber,\n sign: SignTx,\n {\n onOnChainTx,\n onOwnWithdrawLocked,\n onWithdrawLocked,\n }: Pick<ChannelState, 'onOnChainTx' | 'onOwnWithdrawLocked' | 'onWithdrawLocked'> = {},\n ): Promise<{ accepted: boolean; signedTx: Encoded.Transaction }> {\n return this.enqueueAction(() => {\n notify(this, 'channels.withdraw', { amount });\n return {\n handler: async (\n _: Channel,\n message: ChannelMessage,\n state: ChannelState,\n ): Promise<ChannelFsm> => this.awaitingActionTx('withdraw', message, state),\n state: {\n sign,\n onOnChainTx,\n onOwnWithdrawLocked,\n onWithdrawLocked,\n },\n };\n });\n }\n\n /**\n * Deposit coins into the channel\n *\n * After the channel had been opened any of the participants can initiate a deposit.\n * The process closely resembles the update. The most notable difference is that the\n * transaction has been co-signed: it is channel_deposit_tx and after the procedure\n * is finished - it is being posted on-chain.\n *\n * Any of the participants can initiate a deposit. The only requirements are:\n *\n * - Channel is already opened\n * - No off-chain update/deposit/withdrawal is currently being performed\n * - Channel is not being closed or in a solo closing state\n * - The deposit amount must be equal to or greater than zero, and cannot exceed\n * the available balance on the channel (minus the channel_reserve)\n *\n * After the other party had signed the deposit transaction, the transaction is posted\n * on-chain and onOnChainTx callback is called with on-chain transaction as first argument.\n * After computing transaction hash it can be tracked on the chain: entering the mempool,\n * block inclusion and a number of confirmations.\n *\n * After the minimum_depth block confirmations onOwnDepositLocked callback is called\n * (without any arguments).\n *\n * When the other party had confirmed that the block height needed is reached\n * onDepositLocked callback is called (without any arguments).\n *\n * @param amount - Amount of coins to deposit\n * @param sign - Function which verifies and signs deposit transaction\n * @param callbacks - Callbacks\n * @example\n * ```js\n * channel.deposit(\n * 100,\n * async (tx) => await account.signTransaction(tx),\n * { onOnChainTx: (tx) => console.log('on_chain_tx', tx) }\n * ).then(({ accepted, state }) => {\n * if (accepted) {\n * console.log('Deposit has been accepted')\n * console.log('The new state is:', state)\n * } else {\n * console.log('Deposit has been rejected')\n * }\n * })\n * ```\n */\n async deposit(\n amount: number | BigNumber,\n sign: SignTx,\n {\n onOnChainTx,\n onOwnDepositLocked,\n onDepositLocked,\n }: Pick<ChannelState, 'onOnChainTx' | 'onOwnDepositLocked' | 'onDepositLocked'> = {},\n ): Promise<{ accepted: boolean; state: ChannelState }> {\n return this.enqueueAction(() => {\n notify(this, 'channels.deposit', { amount });\n return {\n handler: async (\n _: Channel,\n message: ChannelMessage,\n state: ChannelState,\n ): Promise<ChannelFsm> => this.awaitingActionTx('deposit', message, state),\n state: {\n sign,\n onOnChainTx,\n onOwnDepositLocked,\n onDepositLocked,\n },\n };\n });\n }\n\n /**\n * Send generic message\n *\n * If message is an object it will be serialized into JSON string\n * before sending.\n *\n * If there is ongoing update that has not yet been finished the message\n * will be sent after that update is finalized.\n *\n * @param message - Message\n * @param recipient - Address of the recipient\n * @example\n * ```js\n * channel.sendMessage(\n * 'hello world',\n * 'ak_Y1NRjHuoc3CGMYMvCmdHSBpJsMDR6Ra2t5zjhRcbtMeXXLpLH'\n * )\n * ```\n */\n async sendMessage(message: string | object, recipient: Encoded.AccountAddress): Promise<void> {\n const info = typeof message === 'object' ? JSON.stringify(message) : message;\n if (this.status() === 'connecting') {\n await new Promise<void>((resolve) => {\n const onStatusChanged = (status: string): void => {\n if (status === 'connecting') return;\n resolve();\n this.off('statusChanged', onStatusChanged);\n };\n this.on('statusChanged', onStatusChanged);\n });\n // For some reason we can't immediately send a message when connection is\n // established. Thus we wait 500ms which seems to work.\n await pause(500);\n }\n notify(this, 'channels.message', { info, to: recipient });\n }\n}\n","import { BigNumber } from 'bignumber.js';\nimport { snakeToPascal } from '../utils/string.js';\nimport { MIN_GAS_PRICE, Tag, AbiVersion, VmVersion } from '../tx/builder/constants.js';\nimport {\n signAndNotify,\n awaitingCompletion,\n channelClosed,\n channelOpen,\n handleUnexpectedMessage,\n} from './handlers.js';\nimport {\n notify,\n call,\n SignTx,\n ChannelState,\n ChannelOptions,\n ChannelMessage,\n ChannelFsm,\n changeState,\n emit,\n} from './internal.js';\nimport { Encoded } from '../utils/encoder.js';\nimport { ContractCallReturnType } from '../apis/node/index.js';\nimport { ContractCallObject } from '../contract/Contract.js';\nimport Channel from './Base.js';\nimport ChannelSpend from './Spend.js';\nimport { ChannelError, UnexpectedChannelMessageError } from '../utils/errors.js';\nimport { unpackTx } from '../tx/builder/index.js';\nimport { encodeContractAddress } from '../utils/crypto.js';\n\nfunction snakeToPascalObjKeys<Type>(obj: object): Type {\n return Object.entries(obj).reduce(\n (result, [key, val]) => ({\n ...result,\n [snakeToPascal(key)]: val,\n }),\n {},\n ) as Type;\n}\n\ninterface CallContractOptions {\n /**\n * Amount the caller of the contract commits to it\n */\n amount?: number | BigNumber;\n /**\n * ABI encoded compiled AEVM call data for the code\n */\n callData?: Encoded.ContractBytearray;\n /**\n * Version of the ABI\n */\n abiVersion?: AbiVersion;\n /**\n * Address of the contract to call\n */\n contract?: Encoded.ContractAddress;\n}\n\ninterface CallContractResult extends CallContractOptions {\n returnValue?: any;\n gasUsed?: number | BigNumber;\n gasPrice?: number | BigNumber;\n height?: number;\n callerNonce?: number;\n log?: any;\n returnType?: ContractCallReturnType;\n}\n\ninterface Contract {\n abiVersion: AbiVersion;\n active: boolean;\n deposit: number | BigNumber;\n id: string;\n ownerId: string;\n referrerIds: string[];\n vmVersion: VmVersion;\n}\n\nexport default class ChannelContract extends ChannelSpend {\n static override async initialize(options: ChannelOptions): Promise<ChannelContract> {\n return Channel._initialize(new ChannelContract(), options);\n }\n\n /**\n * Trigger create contract update\n *\n * The create contract update is creating a contract inside the channel's internal state tree.\n * The update is a change to be applied on top of the latest state.\n *\n * That would create a contract with the poster being the owner of it. Poster commits initially\n * a deposit amount of coins to the new contract.\n *\n * @param options - Options\n * @param options.code - Api encoded compiled AEVM byte code\n * @param options.callData - Api encoded compiled AEVM call data for the code\n * @param options.deposit - Initial amount the owner of the contract commits to it\n * @param options.vmVersion - Version of the Virtual Machine\n * @param options.abiVersion - Version of the Application Binary Interface\n * @param sign - Function which verifies and signs create contract transaction\n * @example\n * ```js\n * channel.createContract({\n * code: 'cb_HKtpipK4aCgYb17wZ...',\n * callData: 'cb_1111111111111111...',\n * deposit: 10,\n * vmVersion: 3,\n * abiVersion: 1\n * }).then(({ accepted, signedTx, address }) => {\n * if (accepted) {\n * console.log('New contract has been created')\n * console.log('Contract address:', address)\n * } else {\n * console.log('New contract has been rejected')\n * }\n * })\n * ```\n */\n async createContract(\n {\n code,\n callData,\n deposit,\n vmVersion,\n abiVersion,\n }: {\n code: Encoded.ContractBytearray;\n callData: Encoded.ContractBytearray;\n deposit: number | BigNumber;\n vmVersion: VmVersion;\n abiVersion: AbiVersion;\n },\n sign: SignTx,\n ): Promise<{\n accepted: boolean;\n signedTx: Encoded.Transaction;\n address: Encoded.ContractAddress;\n }> {\n return this.enqueueAction(() => {\n notify(this, 'channels.update.new_contract', {\n code,\n call_data: callData,\n deposit,\n vm_version: vmVersion,\n abi_version: abiVersion,\n });\n return {\n handler: async (\n _: Channel,\n message: ChannelMessage,\n state: ChannelState,\n ): Promise<ChannelFsm> => {\n if (message.method !== 'channels.sign.update') {\n return handleUnexpectedMessage(this, message, state);\n }\n await signAndNotify(this, 'channels.update', message.params.data, async (tx) =>\n state.sign(tx),\n );\n return {\n handler: (_2: Channel, message2: ChannelMessage, state2: ChannelState): ChannelFsm =>\n awaitingCompletion(this, message2, state2, () => {\n const params = unpackTx(message2.params.data.state, Tag.SignedTx).encodedTx;\n if (params.tag !== Tag.ChannelOffChainTx) {\n throw new ChannelError(\n `Tag should be ${Tag[Tag.ChannelOffChainTx]}, got ${Tag[params.tag]} instead`,\n );\n }\n const addressKey =\n this._options.role === 'initiator' ? 'initiatorId' : 'responderId';\n const owner = this._options[addressKey];\n changeState(this, message2.params.data.state);\n const address = encodeContractAddress(owner, params.round);\n emit(this, 'newContract', address);\n state2.resolve({ accepted: true, address, signedTx: message2.params.data.state });\n return { handler: channelOpen };\n }),\n state,\n };\n },\n state: { sign },\n };\n });\n }\n\n /**\n * Trigger call a contract update\n *\n * The call contract update is calling a preexisting contract inside the channel's\n * internal state tree. The update is a change to be applied on top of the latest state.\n *\n * That would call a contract with the poster being the caller of it. Poster commits\n * an amount of coins to the contract.\n *\n * The call would also create a call object inside the channel state tree. It contains\n * the result of the contract call.\n *\n * It is worth mentioning that the gas is not consumed, because this is an off-chain\n * contract call. It would be consumed if it were an on-chain one. This could happen\n * if a call with a similar computation amount is to be forced on-chain.\n *\n * @param options - Options\n * @param sign - Function which verifies and signs contract call transaction\n * @example\n * ```js\n * channel.callContract({\n * contract: 'ct_9sRA9AVE4BYTAkh5RNfJYmwQe1NZ4MErasQLXZkFWG43TPBqa',\n * callData: 'cb_1111111111111111...',\n * amount: 0,\n * abiVersion: 1\n * }).then(({ accepted, signedTx }) => {\n * if (accepted) {\n * console.log('Contract called succesfully')\n * } else {\n * console.log('Contract call has been rejected')\n * }\n * })\n * ```\n */\n async callContract(\n { amount, callData, contract, abiVersion }: CallContractOptions,\n sign: SignTx,\n ): Promise<{ accepted: boolean; signedTx: Encoded.Transaction }> {\n return this.enqueueAction(() => {\n notify(this, 'channels.update.call_contract', {\n amount,\n call_data: callData,\n contract_id: contract,\n abi_version: abiVersion,\n });\n return {\n handler: async (\n _: Channel,\n message: ChannelMessage,\n state: ChannelState,\n ): Promise<ChannelFsm> => {\n if (message.method !== 'channels.sign.update') {\n return handleUnexpectedMessage(this, message, state);\n }\n await signAndNotify(this, 'channels.update', message.params.data, async (tx) =>\n state.sign(tx, { updates: message.params.data.updates }),\n );\n return {\n handler: (_2: Channel, message2: ChannelMessage, state2: ChannelState): ChannelFsm =>\n awaitingCompletion(this, message2, state2, () => {\n changeState(this, message2.params.data.state);\n state2.resolve({ accepted: true, signedTx: message2.params.data.state });\n return { handler: channelOpen };\n }),\n state,\n };\n },\n state: { sign },\n };\n });\n }\n\n /**\n * Trigger a force progress contract call\n * This call is going on-chain\n * @param options - Options\n * @param sign - Function which verifies and signs contract force progress transaction\n * @param callbacks - Callbacks\n * @example\n * ```js\n * channel.forceProgress({\n * contract: 'ct_9sRA9AVE4BYTAkh5RNfJYmwQe1NZ4MErasQLXZkFWG43TPBqa',\n * callData: 'cb_1111111111111111...',\n * amount: 0,\n * abiVersion: 1,\n * gasPrice: 1000005554\n * }).then(({ accepted, signedTx }) => {\n * if (accepted) {\n * console.log('Contract force progress call successful')\n * } else {\n * console.log('Contract force progress call has been rejected')\n * }\n * })\n * ```\n */\n async forceProgress(\n {\n amount,\n callData,\n contract,\n abiVersion,\n gasLimit = 1000000,\n gasPrice = MIN_GAS_PRICE,\n }: CallContractOptions & {\n gasLimit?: number;\n gasPrice?: number;\n },\n sign: SignTx,\n { onOnChainTx }: Pick<ChannelState, 'onOnChainTx'> = {},\n ): Promise<{\n accepted: boolean;\n signedTx: Encoded.Transaction;\n tx: Encoded.Transaction | Uint8Array;\n }> {\n return this.enqueueAction(() => {\n notify(this, 'channels.force_progress', {\n amount,\n call_data: callData,\n contract_id: contract,\n abi_version: abiVersion,\n gas_price: gasPrice,\n gas: gasLimit,\n });\n return {\n handler: async (\n _: Channel,\n message: ChannelMessage,\n state: ChannelState,\n ): Promise<ChannelFsm> => {\n if (message.method !== 'channels.sign.force_progress_tx') {\n return handleUnexpectedMessage(this, message, state);\n }\n await signAndNotify(\n this,\n 'channels.force_progress_sign',\n message.params.data,\n async (tx) => state.sign(tx, { updates: message.params.data.updates }),\n );\n return {\n handler: (_2: Channel, message2: ChannelMessage, state2: ChannelState): ChannelFsm => {\n if (message2.method === 'channels.on_chain_tx') {\n state2.onOnChainTx?.(message2.params.data.tx);\n emit(this, 'onChainTx', message2.params.data.tx, {\n info: message2.params.data.info,\n type: message2.params.data.type,\n });\n state2.resolve({ accepted: true, tx: message2.params.data.tx });\n // TODO: shouldn't be unexpected message in this case\n }\n return handleUnexpectedMessage(this, message2, state2);\n },\n state,\n };\n },\n state: { sign, onOnChainTx },\n };\n });\n }\n\n /**\n * Call contract using dry-run\n *\n * In order to get the result of a potential contract call, one might need to\n * dry-run a contract call. It takes the exact same arguments as a call would\n * and returns the call object.\n *\n * The call is executed in the channel's state, but it does not impact the state\n * whatsoever. It uses as an environment the latest channel's state and the current\n * top of the blockchain as seen by the node.\n *\n * @param options - Options\n * @example\n * ```js\n * channel.callContractStatic({\n * contract: 'ct_9sRA9AVE4BYTAkh5RNfJYmwQe1NZ4MErasQLXZkFWG43TPBqa',\n * callData: 'cb_1111111111111111...',\n * amount: 0,\n * abiVersion: 1\n * }).then(({ returnValue, gasUsed }) => {\n * console.log('Returned value:', returnValue)\n * console.log('Gas used:', gasUsed)\n * })\n * ```\n */\n async callContractStatic({\n amount,\n callData,\n contract,\n abiVersion,\n }: CallContractOptions): Promise<CallContractResult> {\n return snakeToPascalObjKeys(\n await call(this, 'channels.dry_run.call_contract', {\n amount,\n call_data: callData,\n contract_id: contract,\n abi_version: abiVersion,\n }),\n );\n }\n\n /**\n * Get contract call result\n *\n * The combination of a caller, contract and a round of execution determines the\n * contract call. Providing an incorrect set of those results in an error response.\n *\n * @param options - Options\n * @param options.caller - Address of contract caller\n * @param options.contract - Address of the contract\n * @param options.round - Round when contract was called\n * @example\n * ```js\n * channel.getContractCall({\n * caller: 'ak_Y1NRjHuoc3CGMYMvCmdHSBpJsMDR6Ra2t5zjhRcbtMeXXLpLH',\n * contract: 'ct_9sRA9AVE4BYTAkh5RNfJYmwQe1NZ4MErasQLXZkFWG43TPBqa',\n * round: 3\n * }).then(({ returnType, returnValue }) => {\n * if (returnType === 'ok') console.log(returnValue)\n * })\n * ```\n */\n async getContractCall({\n caller,\n contract,\n round,\n }: {\n caller: Encoded.AccountAddress;\n contract: Encoded.ContractAddress;\n round: number;\n }): Promise<ContractCallObject> {\n return snakeToPascalObjKeys(\n await call(this, 'channels.get.contract_call', {\n caller_id: caller,\n contract_id: contract,\n round,\n }),\n );\n }\n\n /**\n * Get the latest contract state\n *\n * @param contract - Address of the contract\n * @example\n * ```js\n * channel.getContractState(\n * 'ct_9sRA9AVE4BYTAkh5RNfJYmwQe1NZ4MErasQLXZkFWG43TPBqa'\n * ).then(({ contract }) => {\n * console.log('deposit:', contract.deposit)\n * })\n * ```\n */\n async getContractState(\n contract: Encoded.ContractAddress,\n ): Promise<{ contract: Contract; contractState: object }> {\n const result = await call(this, 'channels.get.contract', { pubkey: contract });\n return snakeToPascalObjKeys({\n ...result,\n contract: snakeToPascalObjKeys(result.contract),\n });\n }\n\n /**\n * Clean up all locally stored contract calls\n *\n * Contract calls are kept locally in order for the participant to be able to look them up.\n * They consume memory and in order for the participant to free it - one can prune all messages.\n * This cleans up all locally stored contract calls and those will no longer be available for\n * fetching and inspection.\n */\n async cleanContractCalls(): Promise<void> {\n return this.enqueueAction(() => {\n notify(this, 'channels.clean_contract_calls');\n return {\n handler(_: Channel, message: ChannelMessage, state: ChannelState): ChannelFsm {\n if (message.method === 'channels.calls_pruned.reply') {\n state.resolve();\n return { handler: channelOpen };\n }\n state.reject(new UnexpectedChannelMessageError('Unexpected message received'));\n return { handler: channelClosed };\n },\n };\n });\n }\n}\n","/* eslint-disable max-classes-per-file */\nimport WebSocket from 'isomorphic-ws';\nimport { BaseError, UnexpectedTsError, InternalError } from './utils/errors.js';\nimport { Encoded } from './utils/encoder.js';\n\ninterface Message {\n payload: Object;\n source: Source.Middleware | Source.Node;\n subscription: 'KeyBlocks' | 'MicroBlocks' | 'Transactions' | 'Object';\n target?: string;\n}\n\nenum Source {\n Middleware = 'mdw',\n Node = 'node',\n All = 'all',\n}\n\nexport class MiddlewareSubscriberError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'MiddlewareSubscriberError';\n }\n}\n\nexport class MiddlewareSubscriberDisconnected extends MiddlewareSubscriberError {\n constructor(readonly closeEvent: WebSocket.CloseEvent) {\n super('Connection closed');\n this.name = 'MiddlewareSubscriberDisconnected';\n }\n}\n\nexport default class MiddlewareSubscriber {\n #subscriptions: Array<readonly [target: string, s: Source, cb: (p?: Object, e?: Error) => void]> =\n [];\n\n readonly #requestQueue: Array<[isSubscribe: boolean, target: string]> = [];\n\n #webSocket?: WebSocket;\n\n get webSocket(): WebSocket | undefined {\n return this.#webSocket;\n }\n\n get #targets(): Set<string> {\n return new Set(this.#subscriptions.map(([target]) => target));\n }\n\n #sendMessage(message: any): void {\n if (this.#webSocket == null) throw new UnexpectedTsError();\n this.#webSocket.send(JSON.stringify(message));\n }\n\n #sendSubscribe(isSubscribe: boolean, target: string): void {\n if (this.#webSocket == null) return;\n const payload = ['KeyBlocks', 'MicroBlocks', 'Transactions'].includes(target)\n ? target\n : 'Object';\n this.#sendMessage({\n op: isSubscribe ? 'Subscribe' : 'Unsubscribe',\n payload,\n ...(payload === 'Object' && { target }),\n });\n this.#requestQueue.push([isSubscribe, target]);\n }\n\n #emit(condition: (target: string, source: Source) => boolean, p?: Object, e?: Error): void {\n this.#subscriptions\n .filter(([target, source]) => condition(target, source))\n .forEach(([, , cb]) => cb(p, e));\n }\n\n constructor(readonly url: string) {}\n\n #disconnect(onlyReset = false): void {\n if (this.#webSocket == null) return;\n if (!onlyReset) this.#webSocket.close();\n Object.assign(this.#webSocket, {\n onopen: undefined,\n onerror: undefined,\n onmessage: undefined,\n });\n this.#webSocket = undefined;\n }\n\n async reconnect(): Promise<void> {\n this.#disconnect();\n this.#webSocket = await new Promise((resolve) => {\n const webSocket = new WebSocket(this.url);\n Object.assign(webSocket, {\n onopen: () => resolve(webSocket),\n onerror: (errorEvent: WebSocket.ErrorEvent) => {\n this.#emit(() => true, undefined, errorEvent.error);\n },\n onmessage: (event: WebSocket.MessageEvent) => {\n if (typeof event.data !== 'string') {\n throw new InternalError(`Unknown incoming message type: ${typeof event.data}`);\n }\n this.#messageHandler(JSON.parse(event.data));\n },\n onclose: (event: WebSocket.CloseEvent) => {\n this.#emit(() => true, undefined, new MiddlewareSubscriberDisconnected(event));\n this.#disconnect(true);\n },\n });\n });\n await Promise.all([...this.#targets].map((target) => this.#sendSubscribe(true, target)));\n }\n\n #messageHandler(message: string | string[] | Message): void {\n if (typeof message === 'string' || Array.isArray(message)) {\n const request = this.#requestQueue.shift();\n if (request == null) throw new InternalError('Request queue is empty');\n const [isSubscribe, target] = request;\n let error;\n if (typeof message === 'string') error = new MiddlewareSubscriberError(message);\n if (message.includes(target) !== isSubscribe) {\n error = new InternalError(\n `Expected ${target} to be${isSubscribe ? '' : ' not'} included into ${message}`,\n );\n }\n if (error != null) this.#emit((t) => target === t, undefined, error);\n return;\n }\n this.#emit(\n (target, source) =>\n (target === message.subscription || target === message.target) &&\n (source === message.source || source === Source.All),\n message.payload,\n );\n }\n\n #subscribe(target: string, source: Source, cb: (p?: Object, e?: Error) => void): () => void {\n const subscription = [target, source, cb] as const;\n if (this.#targets.size === 0) this.reconnect();\n if (!this.#targets.has(target)) this.#sendSubscribe(true, target);\n this.#subscriptions.push(subscription);\n return () => {\n this.#subscriptions = this.#subscriptions.filter((item) => item !== subscription);\n if (!this.#targets.has(target)) this.#sendSubscribe(false, target);\n if (this.#targets.size === 0) this.#disconnect();\n };\n }\n\n // TODO: replace p?: any with a proper type definition\n\n subscribeKeyBlocks(cb: (p?: any, e?: Error) => void): () => void {\n return this.#subscribe('KeyBlocks', Source.Middleware, cb);\n }\n\n subscribeKeyBlocksNode(cb: (p?: any, e?: Error) => void): () => void {\n return this.#subscribe('KeyBlocks', Source.Node, cb);\n }\n\n subscribeKeyBlocksAll(cb: (p?: any, e?: Error) => void): () => void {\n return this.#subscribe('KeyBlocks', Source.All, cb);\n }\n\n subscribeMicroBlocks(cb: (p?: any, e?: Error) => void): () => void {\n return this.#subscribe('MicroBlocks', Source.Middleware, cb);\n }\n\n subscribeMicroBlocksNode(cb: (p?: any, e?: Error) => void): () => void {\n return this.#subscribe('MicroBlocks', Source.Node, cb);\n }\n\n subscribeMicroBlocksAll(cb: (p?: any, e?: Error) => void): () => void {\n return this.#subscribe('MicroBlocks', Source.All, cb);\n }\n\n subscribeTransactions(cb: (p?: any, e?: Error) => void): () => void {\n return this.#subscribe('Transactions', Source.Middleware, cb);\n }\n\n subscribeTransactionsNode(cb: (p?: any, e?: Error) => void): () => void {\n return this.#subscribe('Transactions', Source.Node, cb);\n }\n\n subscribeTransactionsAll(cb: (p?: any, e?: Error) => void): () => void {\n return this.#subscribe('Transactions', Source.All, cb);\n }\n\n subscribeObject(\n target:\n | Encoded.KeyBlockHash\n | Encoded.Channel\n | Encoded.ContractAddress\n | Encoded.OracleAddress\n | Encoded.OracleQueryId\n | Encoded.AccountAddress\n | Encoded.Name\n | `${string}.chain`,\n cb: (p?: any, e?: Error) => void,\n ): () => void {\n return this.#subscribe(target, Source.Middleware, cb);\n }\n\n subscribeObjectNode(\n target:\n | Encoded.KeyBlockHash\n | Encoded.Channel\n | Encoded.ContractAddress\n | Encoded.OracleAddress\n | Encoded.OracleQueryId\n | Encoded.AccountAddress\n | Encoded.Name\n | `${string}.chain`,\n cb: (p?: any, e?: Error) => void,\n ): () => void {\n return this.#subscribe(target, Source.Node, cb);\n }\n\n subscribeObjectAll(\n target:\n | Encoded.KeyBlockHash\n | Encoded.Channel\n | Encoded.ContractAddress\n | Encoded.OracleAddress\n | Encoded.OracleQueryId\n | Encoded.AccountAddress\n | Encoded.Name\n | `${string}.chain`,\n cb: (p?: any, e?: Error) => void,\n ): () => void {\n return this.#subscribe(target, Source.All, cb);\n }\n}\n","import {\n OperationParameter,\n OperationURLParameter,\n OperationQueryParameter,\n} from \"@azure/core-client\";\n\nexport const accept: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Accept\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const $host: OperationURLParameter = {\n parameterPath: \"$host\",\n mapper: {\n serializedName: \"$host\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n skipEncoding: true,\n};\n\nexport const limit: OperationQueryParameter = {\n parameterPath: [\"options\", \"limit\"],\n mapper: {\n defaultValue: 10,\n constraints: {\n InclusiveMaximum: 100,\n InclusiveMinimum: 1,\n },\n serializedName: \"limit\",\n type: {\n name: \"Number\",\n },\n },\n};\n\nexport const direction: OperationQueryParameter = {\n parameterPath: [\"options\", \"direction\"],\n mapper: {\n serializedName: \"direction\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const accountId: OperationURLParameter = {\n parameterPath: \"accountId\",\n mapper: {\n constraints: {\n Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n },\n serializedName: \"accountId\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const contract: OperationQueryParameter = {\n parameterPath: [\"options\", \"contract\"],\n mapper: {\n constraints: {\n Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n },\n serializedName: \"contract\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const direction1: OperationQueryParameter = {\n parameterPath: [\"options\", \"direction\"],\n mapper: {\n serializedName: \"direction\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const accountId1: OperationURLParameter = {\n parameterPath: \"accountId\",\n mapper: {\n constraints: {\n Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n },\n serializedName: \"account_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const id: OperationURLParameter = {\n parameterPath: \"id\",\n mapper: {\n constraints: {\n Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n },\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const ownedOnly: OperationQueryParameter = {\n parameterPath: [\"options\", \"ownedOnly\"],\n mapper: {\n serializedName: \"owned_only\",\n type: {\n name: \"Boolean\",\n },\n },\n};\n\nexport const typeParam: OperationQueryParameter = {\n parameterPath: [\"options\", \"type\"],\n mapper: {\n serializedName: \"type\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const scope: OperationQueryParameter = {\n parameterPath: [\"options\", \"scope\"],\n mapper: {\n constraints: {\n Pattern: new RegExp(\"(txi|gen):\\\\d+(-\\\\d+)?\"),\n },\n serializedName: \"scope\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const direction2: OperationQueryParameter = {\n parameterPath: [\"options\", \"direction\"],\n mapper: {\n serializedName: \"direction\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const direction3: OperationQueryParameter = {\n parameterPath: [\"options\", \"direction\"],\n mapper: {\n serializedName: \"direction\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const by: OperationQueryParameter = {\n parameterPath: [\"options\", \"by\"],\n mapper: {\n serializedName: \"by\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const prefix: OperationQueryParameter = {\n parameterPath: [\"options\", \"prefix\"],\n mapper: {\n serializedName: \"prefix\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const exact: OperationQueryParameter = {\n parameterPath: [\"options\", \"exact\"],\n mapper: {\n serializedName: \"exact\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const direction4: OperationQueryParameter = {\n parameterPath: [\"options\", \"direction\"],\n mapper: {\n serializedName: \"direction\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const contractId: OperationURLParameter = {\n parameterPath: \"contractId\",\n mapper: {\n constraints: {\n Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n },\n serializedName: \"contractId\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const direction5: OperationQueryParameter = {\n parameterPath: [\"options\", \"direction\"],\n mapper: {\n serializedName: \"direction\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const templateId: OperationURLParameter = {\n parameterPath: \"templateId\",\n mapper: {\n serializedName: \"templateId\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n};\n\nexport const direction6: OperationQueryParameter = {\n parameterPath: [\"options\", \"direction\"],\n mapper: {\n serializedName: \"direction\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const tokenId: OperationURLParameter = {\n parameterPath: \"tokenId\",\n mapper: {\n serializedName: \"tokenId\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n};\n\nexport const direction7: OperationQueryParameter = {\n parameterPath: [\"options\", \"direction\"],\n mapper: {\n serializedName: \"direction\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const fromParam: OperationQueryParameter = {\n parameterPath: [\"options\", \"from\"],\n mapper: {\n constraints: {\n Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n },\n serializedName: \"from\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const to: OperationQueryParameter = {\n parameterPath: [\"options\", \"to\"],\n mapper: {\n constraints: {\n Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n },\n serializedName: \"to\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const id1: OperationURLParameter = {\n parameterPath: \"id\",\n mapper: {\n constraints: {\n Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n },\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const direction8: OperationQueryParameter = {\n parameterPath: [\"options\", \"direction\"],\n mapper: {\n serializedName: \"direction\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const by1: OperationQueryParameter = {\n parameterPath: [\"options\", \"by\"],\n mapper: {\n serializedName: \"by\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const direction9: OperationQueryParameter = {\n parameterPath: [\"options\", \"direction\"],\n mapper: {\n serializedName: \"direction\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const by2: OperationQueryParameter = {\n parameterPath: [\"options\", \"by\"],\n mapper: {\n serializedName: \"by\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const blockHash: OperationQueryParameter = {\n parameterPath: [\"options\", \"blockHash\"],\n mapper: {\n constraints: {\n Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n },\n serializedName: \"block_hash\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const hash: OperationQueryParameter = {\n parameterPath: [\"options\", \"hash\"],\n mapper: {\n constraints: {\n Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n },\n serializedName: \"hash\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const direction10: OperationQueryParameter = {\n parameterPath: [\"options\", \"direction\"],\n mapper: {\n serializedName: \"direction\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const direction11: OperationQueryParameter = {\n parameterPath: [\"options\", \"direction\"],\n mapper: {\n serializedName: \"direction\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const state: OperationQueryParameter = {\n parameterPath: [\"options\", \"state\"],\n mapper: {\n serializedName: \"state\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const id2: OperationURLParameter = {\n parameterPath: \"id\",\n mapper: {\n constraints: {\n Pattern: new RegExp(\"^ch_\\\\w{38,50}$\"),\n },\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const direction12: OperationQueryParameter = {\n parameterPath: [\"options\", \"direction\"],\n mapper: {\n serializedName: \"direction\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const contractId1: OperationQueryParameter = {\n parameterPath: [\"options\", \"contractId\"],\n mapper: {\n constraints: {\n Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n },\n serializedName: \"contract_id\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const event: OperationQueryParameter = {\n parameterPath: [\"options\", \"event\"],\n mapper: {\n serializedName: \"event\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const functionParam: OperationQueryParameter = {\n parameterPath: [\"options\", \"function\"],\n mapper: {\n serializedName: \"function\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const functionPrefix: OperationQueryParameter = {\n parameterPath: [\"options\", \"functionPrefix\"],\n mapper: {\n serializedName: \"function_prefix\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const data: OperationQueryParameter = {\n parameterPath: [\"options\", \"data\"],\n mapper: {\n serializedName: \"data\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const aexnArgs: OperationQueryParameter = {\n parameterPath: [\"options\", \"aexnArgs\"],\n mapper: {\n serializedName: \"aexn-args\",\n type: {\n name: \"Boolean\",\n },\n },\n};\n\nexport const direction13: OperationQueryParameter = {\n parameterPath: [\"options\", \"direction\"],\n mapper: {\n serializedName: \"direction\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const direction14: OperationQueryParameter = {\n parameterPath: [\"options\", \"direction\"],\n mapper: {\n serializedName: \"direction\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const direction15: OperationQueryParameter = {\n parameterPath: [\"options\", \"direction\"],\n mapper: {\n serializedName: \"direction\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const contractId2: OperationURLParameter = {\n parameterPath: \"contractId\",\n mapper: {\n constraints: {\n Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n },\n serializedName: \"contract_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const direction16: OperationQueryParameter = {\n parameterPath: [\"options\", \"direction\"],\n mapper: {\n serializedName: \"direction\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const hashOrKbi: OperationURLParameter = {\n parameterPath: \"hashOrKbi\",\n mapper: {\n serializedName: \"hash_or_kbi\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const direction17: OperationQueryParameter = {\n parameterPath: [\"options\", \"direction\"],\n mapper: {\n serializedName: \"direction\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const hash1: OperationURLParameter = {\n parameterPath: \"hash\",\n mapper: {\n constraints: {\n Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n },\n serializedName: \"hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const ownedBy: OperationQueryParameter = {\n parameterPath: [\"options\", \"ownedBy\"],\n mapper: {\n constraints: {\n Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n },\n serializedName: \"owned_by\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const state1: OperationQueryParameter = {\n parameterPath: [\"options\", \"state\"],\n mapper: {\n serializedName: \"state\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const direction18: OperationQueryParameter = {\n parameterPath: [\"options\", \"direction\"],\n mapper: {\n serializedName: \"direction\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const direction19: OperationQueryParameter = {\n parameterPath: [\"options\", \"direction\"],\n mapper: {\n serializedName: \"direction\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const id3: OperationURLParameter = {\n parameterPath: \"id\",\n mapper: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const direction20: OperationQueryParameter = {\n parameterPath: [\"options\", \"direction\"],\n mapper: {\n serializedName: \"direction\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const direction21: OperationQueryParameter = {\n parameterPath: [\"options\", \"direction\"],\n mapper: {\n serializedName: \"direction\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const direction22: OperationQueryParameter = {\n parameterPath: [\"options\", \"direction\"],\n mapper: {\n serializedName: \"direction\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const direction23: OperationQueryParameter = {\n parameterPath: [\"options\", \"direction\"],\n mapper: {\n serializedName: \"direction\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const direction24: OperationQueryParameter = {\n parameterPath: [\"options\", \"direction\"],\n mapper: {\n serializedName: \"direction\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const direction25: OperationQueryParameter = {\n parameterPath: [\"options\", \"direction\"],\n mapper: {\n serializedName: \"direction\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const id4: OperationURLParameter = {\n parameterPath: \"id\",\n mapper: {\n constraints: {\n Pattern: new RegExp(\"^ok_\\\\w{38,50}$\"),\n },\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const intervalBy: OperationQueryParameter = {\n parameterPath: [\"options\", \"intervalBy\"],\n mapper: {\n serializedName: \"interval_by\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const minStartDate: OperationQueryParameter = {\n parameterPath: [\"options\", \"minStartDate\"],\n mapper: {\n serializedName: \"min_start_date\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const maxStartDate: OperationQueryParameter = {\n parameterPath: [\"options\", \"maxStartDate\"],\n mapper: {\n serializedName: \"max_start_date\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const typeParam1: OperationQueryParameter = {\n parameterPath: [\"options\", \"type\"],\n mapper: {\n serializedName: \"type\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const direction26: OperationQueryParameter = {\n parameterPath: [\"options\", \"direction\"],\n mapper: {\n serializedName: \"direction\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const direction27: OperationQueryParameter = {\n parameterPath: [\"options\", \"direction\"],\n mapper: {\n serializedName: \"direction\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const direction28: OperationQueryParameter = {\n parameterPath: [\"options\", \"direction\"],\n mapper: {\n serializedName: \"direction\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const intervalBy1: OperationQueryParameter = {\n parameterPath: [\"options\", \"intervalBy\"],\n mapper: {\n serializedName: \"interval_by\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const direction29: OperationQueryParameter = {\n parameterPath: [\"options\", \"direction\"],\n mapper: {\n serializedName: \"direction\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const direction30: OperationQueryParameter = {\n parameterPath: [\"options\", \"direction\"],\n mapper: {\n serializedName: \"direction\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const intervalBy2: OperationQueryParameter = {\n parameterPath: [\"options\", \"intervalBy\"],\n mapper: {\n serializedName: \"interval_by\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const txType: OperationQueryParameter = {\n parameterPath: [\"options\", \"txType\"],\n mapper: {\n serializedName: \"tx_type\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const direction31: OperationQueryParameter = {\n parameterPath: [\"options\", \"direction\"],\n mapper: {\n serializedName: \"direction\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const typeParam2: OperationQueryParameter = {\n parameterPath: [\"options\", \"type\"],\n mapper: {\n serializedName: \"type\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\",\n },\n },\n },\n },\n collectionFormat: \"Multi\",\n};\n\nexport const typeGroup: OperationQueryParameter = {\n parameterPath: [\"options\", \"typeGroup\"],\n mapper: {\n serializedName: \"type_group\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\",\n },\n },\n },\n },\n collectionFormat: \"Multi\",\n};\n\nexport const account: OperationQueryParameter = {\n parameterPath: [\"options\", \"account\"],\n mapper: {\n constraints: {\n Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n },\n serializedName: \"account\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const channel: OperationQueryParameter = {\n parameterPath: [\"options\", \"channel\"],\n mapper: {\n constraints: {\n Pattern: new RegExp(\"^ch_\\\\w{38,50}$\"),\n },\n serializedName: \"channel\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const oracle: OperationQueryParameter = {\n parameterPath: [\"options\", \"oracle\"],\n mapper: {\n constraints: {\n Pattern: new RegExp(\"^ok_\\\\w{38,50}$\"),\n },\n serializedName: \"oracle\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const senderId: OperationQueryParameter = {\n parameterPath: [\"options\", \"senderId\"],\n mapper: {\n constraints: {\n Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n },\n serializedName: \"sender_id\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const recipientId: OperationQueryParameter = {\n parameterPath: [\"options\", \"recipientId\"],\n mapper: {\n constraints: {\n Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n },\n serializedName: \"recipient_id\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const entrypoint: OperationQueryParameter = {\n parameterPath: [\"options\", \"entrypoint\"],\n mapper: {\n serializedName: \"entrypoint\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const direction32: OperationQueryParameter = {\n parameterPath: [\"options\", \"direction\"],\n mapper: {\n serializedName: \"direction\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const id5: OperationQueryParameter = {\n parameterPath: [\"options\", \"id\"],\n mapper: {\n constraints: {\n Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n },\n serializedName: \"id\",\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const hash2: OperationURLParameter = {\n parameterPath: \"hash\",\n mapper: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n};\n\nexport const direction33: OperationQueryParameter = {\n parameterPath: [\"options\", \"direction\"],\n mapper: {\n serializedName: \"direction\",\n type: {\n name: \"String\",\n },\n },\n};\n","import * as coreClient from \"@azure/core-client\";\n\nexport const Paths1Q9E32FV3AccountsAccountidAex141TokensGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths1Q9E32FV3AccountsAccountidAex141TokensGetResponses200ContentApplicationJsonSchemaAllof0\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Aex141TokenResponse\",\n },\n },\n },\n },\n },\n },\n };\n\nexport const Aex141TokenResponse: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Aex141TokenResponse\",\n modelProperties: {\n contractId: {\n constraints: {\n Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n },\n serializedName: \"contract_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n ownerId: {\n constraints: {\n Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n },\n serializedName: \"owner_id\",\n type: {\n name: \"String\",\n },\n },\n tokenId: {\n serializedName: \"token_id\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const PaginatedResponse: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PaginatedResponse\",\n modelProperties: {\n next: {\n serializedName: \"next\",\n required: true,\n nullable: true,\n type: {\n name: \"String\",\n },\n },\n prev: {\n serializedName: \"prev\",\n required: true,\n nullable: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const ErrorResponse: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ErrorResponse\",\n modelProperties: {\n error: {\n serializedName: \"error\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const PathsZ92TkfV3AccountsAccountidAex9BalancesGetResponses200ContentApplicationJsonSchemaAllof1: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsZ92TkfV3AccountsAccountidAex9BalancesGetResponses200ContentApplicationJsonSchemaAllof1\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Aex9BalanceResponse\",\n },\n },\n },\n },\n },\n },\n };\n\nexport const Aex9BalanceResponse: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Aex9BalanceResponse\",\n modelProperties: {\n amount: {\n serializedName: \"amount\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n blockHash: {\n serializedName: \"block_hash\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n contractId: {\n constraints: {\n Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n },\n serializedName: \"contract_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n decimals: {\n serializedName: \"decimals\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n height: {\n serializedName: \"height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n tokenName: {\n serializedName: \"token_name\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n tokenSymbol: {\n serializedName: \"token_symbol\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n txHash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"tx_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n txIndex: {\n serializedName: \"tx_index\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n txType: {\n serializedName: \"tx_type\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const Paths1Ymnu9GV3AccountsAccountIdDexSwapsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths1Ymnu9GV3AccountsAccountIdDexSwapsGetResponses200ContentApplicationJsonSchemaAllof0\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DexSwap\",\n },\n },\n },\n },\n },\n },\n };\n\nexport const DexSwap: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DexSwap\",\n modelProperties: {\n action: {\n serializedName: \"action\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n amounts: {\n serializedName: \"amounts\",\n type: {\n name: \"Composite\",\n className: \"DexSwapAmounts\",\n },\n },\n caller: {\n constraints: {\n Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n },\n serializedName: \"caller\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n fromAmount: {\n serializedName: \"from_amount\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n fromContract: {\n constraints: {\n Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n },\n serializedName: \"from_contract\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n fromDecimals: {\n serializedName: \"from_decimals\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n fromToken: {\n serializedName: \"from_token\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n height: {\n serializedName: \"height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n logIdx: {\n serializedName: \"log_idx\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n microTime: {\n serializedName: \"micro_time\",\n required: true,\n type: {\n name: \"UnixTime\",\n },\n },\n toAccount: {\n constraints: {\n Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n },\n serializedName: \"to_account\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n toAmount: {\n serializedName: \"to_amount\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n toContract: {\n constraints: {\n Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n },\n serializedName: \"to_contract\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n toDecimals: {\n serializedName: \"to_decimals\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n toToken: {\n serializedName: \"to_token\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n txHash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"tx_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const DexSwapAmounts: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DexSwapAmounts\",\n modelProperties: {\n amount0In: {\n serializedName: \"amount0_in\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n amount0Out: {\n serializedName: \"amount0_out\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n amount1In: {\n serializedName: \"amount1_in\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n amount1Out: {\n serializedName: \"amount1_out\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n },\n },\n};\n\nexport const Paths1Ent1R1V3AccountsIdActivitiesGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths1Ent1R1V3AccountsIdActivitiesGetResponses200ContentApplicationJsonSchemaAllof0\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Activity\",\n },\n },\n },\n },\n },\n },\n };\n\nexport const Activity: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Activity\",\n modelProperties: {\n blockHash: {\n constraints: {\n Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n },\n serializedName: \"block_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n blockTime: {\n serializedName: \"block_time\",\n required: true,\n type: {\n name: \"UnixTime\",\n },\n },\n height: {\n serializedName: \"height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n payload: {\n serializedName: \"payload\",\n type: {\n name: \"Composite\",\n className: \"ActivityPayload\",\n },\n },\n type: {\n serializedName: \"type\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const ActivityPayload: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ActivityPayload\",\n modelProperties: {\n blockHash: {\n constraints: {\n Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n },\n serializedName: \"block_hash\",\n type: {\n name: \"String\",\n },\n },\n blockHeight: {\n serializedName: \"block_height\",\n type: {\n name: \"Number\",\n },\n },\n encodedTx: {\n constraints: {\n Pattern: new RegExp(\"^tx_\\\\w+$\"),\n },\n serializedName: \"encoded_tx\",\n type: {\n name: \"String\",\n },\n },\n hash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"hash\",\n type: {\n name: \"String\",\n },\n },\n microIndex: {\n serializedName: \"micro_index\",\n type: {\n name: \"Number\",\n },\n },\n microTime: {\n serializedName: \"micro_time\",\n type: {\n name: \"UnixTime\",\n },\n },\n signatures: {\n serializedName: \"signatures\",\n type: {\n name: \"Sequence\",\n element: {\n constraints: {\n Pattern: new RegExp(\"^sg_\\\\w+$\"),\n },\n type: {\n name: \"String\",\n },\n },\n },\n },\n tx: {\n serializedName: \"tx\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } },\n },\n },\n amount: {\n serializedName: \"amount\",\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n contractId: {\n constraints: {\n Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n },\n serializedName: \"contract_id\",\n type: {\n name: \"String\",\n },\n },\n logIdx: {\n serializedName: \"log_idx\",\n type: {\n name: \"Number\",\n },\n },\n recipientId: {\n constraints: {\n Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n },\n serializedName: \"recipient_id\",\n type: {\n name: \"String\",\n },\n },\n senderId: {\n constraints: {\n Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n },\n serializedName: \"sender_id\",\n type: {\n name: \"String\",\n },\n },\n txHash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"tx_hash\",\n type: {\n name: \"String\",\n },\n },\n recipient: {\n constraints: {\n Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n },\n serializedName: \"recipient\",\n type: {\n name: \"String\",\n },\n },\n sender: {\n constraints: {\n Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n },\n serializedName: \"sender\",\n type: {\n name: \"String\",\n },\n },\n tokenId: {\n serializedName: \"token_id\",\n type: {\n name: \"Number\",\n },\n },\n callTxHash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"call_tx_hash\",\n type: {\n name: \"String\",\n },\n },\n contractTxHash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"contract_tx_hash\",\n type: {\n name: \"String\",\n },\n },\n function: {\n serializedName: \"function\",\n type: {\n name: \"String\",\n },\n },\n height: {\n serializedName: \"height\",\n type: {\n name: \"Number\",\n },\n },\n internalTx: {\n serializedName: \"internal_tx\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } },\n },\n },\n kind: {\n serializedName: \"kind\",\n type: {\n name: \"String\",\n },\n },\n refTxHash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"ref_tx_hash\",\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const PathsC0UvfgV3AccountsIdNamesPointeesGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsC0UvfgV3AccountsIdNamesPointeesGetResponses200ContentApplicationJsonSchemaAllof0\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Pointee\",\n },\n },\n },\n },\n },\n },\n };\n\nexport const Pointee: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Pointee\",\n modelProperties: {\n active: {\n serializedName: \"active\",\n required: true,\n type: {\n name: \"Boolean\",\n },\n },\n blockHash: {\n constraints: {\n Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n },\n serializedName: \"block_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n blockHeight: {\n serializedName: \"block_height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n blockTime: {\n serializedName: \"block_time\",\n required: true,\n type: {\n name: \"UnixTime\",\n },\n },\n key: {\n constraints: {\n Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n },\n serializedName: \"key\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n name: {\n constraints: {\n Pattern: new RegExp(\"^\\\\w+\\\\.chain$\"),\n },\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n sourceTxHash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"source_tx_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n sourceTxType: {\n serializedName: \"source_tx_type\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n tx: {\n serializedName: \"tx\",\n required: true,\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } },\n },\n },\n },\n },\n};\n\nexport const NotFoundResponse: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"NotFoundResponse\",\n modelProperties: {\n error: {\n serializedName: \"error\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const PathsLv15NfV3TransactionsCountIdGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsLv15NfV3TransactionsCountIdGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n channelCloseMutualTx: {\n serializedName: \"channel_close_mutual_tx\",\n type: {\n name: \"Composite\",\n className: \"Get200ApplicationJsonProperties\",\n },\n },\n channelCloseSoloTx: {\n serializedName: \"channel_close_solo_tx\",\n type: {\n name: \"Composite\",\n className:\n \"PathsKcpsuzV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesChannelCloseSoloTx\",\n },\n },\n channelCreateTx: {\n serializedName: \"channel_create_tx\",\n type: {\n name: \"Composite\",\n className:\n \"Paths1W3C1Z4V3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesChannelCreateTx\",\n },\n },\n channelDepositTx: {\n serializedName: \"channel_deposit_tx\",\n type: {\n name: \"Composite\",\n className:\n \"PathsTvtzmvV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesChannelDepositTx\",\n },\n },\n channelForceProgressTx: {\n serializedName: \"channel_force_progress_tx\",\n type: {\n name: \"Composite\",\n className:\n \"PathsMxcme6V3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesChannelForceProgressTx\",\n },\n },\n channelOffchainTx: {\n serializedName: \"channel_offchain_tx\",\n type: {\n name: \"Composite\",\n className:\n \"Paths1Cnk4LbV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesChannelOffchainTx\",\n },\n },\n channelSetDelegatesTx: {\n serializedName: \"channel_set_delegates_tx\",\n type: {\n name: \"Composite\",\n className:\n \"Paths13Ss1Q2V3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesChannelSetDelegatesTx\",\n },\n },\n channelSettleTx: {\n serializedName: \"channel_settle_tx\",\n type: {\n name: \"Composite\",\n className:\n \"Paths1Gime4MV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesChannelSettleTx\",\n },\n },\n channelSlashTx: {\n serializedName: \"channel_slash_tx\",\n type: {\n name: \"Composite\",\n className:\n \"PathsVn5L1LV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesChannelSlashTx\",\n },\n },\n channelSnapshotSoloTx: {\n serializedName: \"channel_snapshot_solo_tx\",\n type: {\n name: \"Composite\",\n className:\n \"Paths10T1AqyV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesChannelSnapshotSoloTx\",\n },\n },\n channelWithdrawTx: {\n serializedName: \"channel_withdraw_tx\",\n type: {\n name: \"Composite\",\n className:\n \"PathsTr523PV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesChannelWithdrawTx\",\n },\n },\n contractCallTx: {\n serializedName: \"contract_call_tx\",\n type: {\n name: \"Composite\",\n className:\n \"PathsChduayV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesContractCallTx\",\n },\n },\n contractCreateTx: {\n serializedName: \"contract_create_tx\",\n type: {\n name: \"Composite\",\n className:\n \"Paths5Shu25V3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesContractCreateTx\",\n },\n },\n gaAttachTx: {\n serializedName: \"ga_attach_tx\",\n type: {\n name: \"Composite\",\n className:\n \"Paths1RkuxepV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesGaAttachTx\",\n },\n },\n gaMetaTx: {\n serializedName: \"ga_meta_tx\",\n type: {\n name: \"Composite\",\n className:\n \"PathsQklaaxV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesGaMetaTx\",\n },\n },\n nameClaimTx: {\n serializedName: \"name_claim_tx\",\n type: {\n name: \"Composite\",\n className:\n \"Paths1Hacjy0V3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesNameClaimTx\",\n },\n },\n namePreclaimTx: {\n serializedName: \"name_preclaim_tx\",\n type: {\n name: \"Composite\",\n className:\n \"Paths139X1XaV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesNamePreclaimTx\",\n },\n },\n nameRevokeTx: {\n serializedName: \"name_revoke_tx\",\n type: {\n name: \"Composite\",\n className:\n \"Paths1R3Fb8MV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesNameRevokeTx\",\n },\n },\n nameTransferTx: {\n serializedName: \"name_transfer_tx\",\n type: {\n name: \"Composite\",\n className:\n \"PathsZdcclfV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesNameTransferTx\",\n },\n },\n nameUpdateTx: {\n serializedName: \"name_update_tx\",\n type: {\n name: \"Composite\",\n className:\n \"Paths1VkyqhtV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesNameUpdateTx\",\n },\n },\n oracleExtendTx: {\n serializedName: \"oracle_extend_tx\",\n type: {\n name: \"Composite\",\n className:\n \"Paths107D9HzV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesOracleExtendTx\",\n },\n },\n oracleQueryTx: {\n serializedName: \"oracle_query_tx\",\n type: {\n name: \"Composite\",\n className:\n \"PathsS6Nx2KV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesOracleQueryTx\",\n },\n },\n oracleRegisterTx: {\n serializedName: \"oracle_register_tx\",\n type: {\n name: \"Composite\",\n className:\n \"Paths184Oz8CV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesOracleRegisterTx\",\n },\n },\n oracleResponseTx: {\n serializedName: \"oracle_response_tx\",\n type: {\n name: \"Composite\",\n className:\n \"PathsLm5DjtV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesOracleResponseTx\",\n },\n },\n payingForTx: {\n serializedName: \"paying_for_tx\",\n type: {\n name: \"Composite\",\n className:\n \"Paths16B89KuV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesPayingForTx\",\n },\n },\n spendTx: {\n serializedName: \"spend_tx\",\n type: {\n name: \"Composite\",\n className:\n \"Paths1Ljyzq7V3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesSpendTx\",\n },\n },\n total: {\n serializedName: \"total\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n };\n\nexport const Get200ApplicationJsonProperties: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Get200ApplicationJsonProperties\",\n modelProperties: {\n channelId: {\n serializedName: \"channel_id\",\n type: {\n name: \"Number\",\n },\n },\n fromId: {\n serializedName: \"from_id\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const PathsKcpsuzV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesChannelCloseSoloTx: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsKcpsuzV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesChannelCloseSoloTx\",\n modelProperties: {\n channelId: {\n serializedName: \"channel_id\",\n type: {\n name: \"Number\",\n },\n },\n fromId: {\n serializedName: \"from_id\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n };\n\nexport const Paths1W3C1Z4V3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesChannelCreateTx: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths1W3C1Z4V3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesChannelCreateTx\",\n modelProperties: {\n initiatorId: {\n serializedName: \"initiator_id\",\n type: {\n name: \"Number\",\n },\n },\n responderId: {\n serializedName: \"responder_id\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n };\n\nexport const PathsTvtzmvV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesChannelDepositTx: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsTvtzmvV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesChannelDepositTx\",\n modelProperties: {\n channelId: {\n serializedName: \"channel_id\",\n type: {\n name: \"Number\",\n },\n },\n fromId: {\n serializedName: \"from_id\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n };\n\nexport const PathsMxcme6V3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesChannelForceProgressTx: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsMxcme6V3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesChannelForceProgressTx\",\n modelProperties: {\n channelId: {\n serializedName: \"channel_id\",\n type: {\n name: \"Number\",\n },\n },\n fromId: {\n serializedName: \"from_id\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n };\n\nexport const Paths1Cnk4LbV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesChannelOffchainTx: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths1Cnk4LbV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesChannelOffchainTx\",\n modelProperties: {\n channelId: {\n serializedName: \"channel_id\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n };\n\nexport const Paths13Ss1Q2V3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesChannelSetDelegatesTx: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths13Ss1Q2V3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesChannelSetDelegatesTx\",\n modelProperties: {\n channelId: {\n serializedName: \"channel_id\",\n type: {\n name: \"Number\",\n },\n },\n fromId: {\n serializedName: \"from_id\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n };\n\nexport const Paths1Gime4MV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesChannelSettleTx: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths1Gime4MV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesChannelSettleTx\",\n modelProperties: {\n channelId: {\n serializedName: \"channel_id\",\n type: {\n name: \"Number\",\n },\n },\n fromId: {\n serializedName: \"from_id\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n };\n\nexport const PathsVn5L1LV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesChannelSlashTx: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsVn5L1LV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesChannelSlashTx\",\n modelProperties: {\n channelId: {\n serializedName: \"channel_id\",\n type: {\n name: \"Number\",\n },\n },\n fromId: {\n serializedName: \"from_id\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n };\n\nexport const Paths10T1AqyV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesChannelSnapshotSoloTx: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths10T1AqyV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesChannelSnapshotSoloTx\",\n modelProperties: {\n channelId: {\n serializedName: \"channel_id\",\n type: {\n name: \"Number\",\n },\n },\n fromId: {\n serializedName: \"from_id\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n };\n\nexport const PathsTr523PV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesChannelWithdrawTx: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsTr523PV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesChannelWithdrawTx\",\n modelProperties: {\n channelId: {\n serializedName: \"channel_id\",\n type: {\n name: \"Number\",\n },\n },\n toId: {\n serializedName: \"to_id\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n };\n\nexport const PathsChduayV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesContractCallTx: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsChduayV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesContractCallTx\",\n modelProperties: {\n callerId: {\n serializedName: \"caller_id\",\n type: {\n name: \"Number\",\n },\n },\n contractId: {\n serializedName: \"contract_id\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n };\n\nexport const Paths5Shu25V3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesContractCreateTx: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths5Shu25V3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesContractCreateTx\",\n modelProperties: {\n ownerId: {\n serializedName: \"owner_id\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n };\n\nexport const Paths1RkuxepV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesGaAttachTx: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths1RkuxepV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesGaAttachTx\",\n modelProperties: {\n ownerId: {\n serializedName: \"owner_id\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n };\n\nexport const PathsQklaaxV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesGaMetaTx: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsQklaaxV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesGaMetaTx\",\n modelProperties: {\n gaId: {\n serializedName: \"ga_id\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n };\n\nexport const Paths1Hacjy0V3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesNameClaimTx: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths1Hacjy0V3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesNameClaimTx\",\n modelProperties: {\n accountId: {\n serializedName: \"account_id\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n };\n\nexport const Paths139X1XaV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesNamePreclaimTx: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths139X1XaV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesNamePreclaimTx\",\n modelProperties: {\n accountId: {\n serializedName: \"account_id\",\n type: {\n name: \"Number\",\n },\n },\n commitmentId: {\n serializedName: \"commitment_id\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n };\n\nexport const Paths1R3Fb8MV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesNameRevokeTx: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths1R3Fb8MV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesNameRevokeTx\",\n modelProperties: {\n accountId: {\n serializedName: \"account_id\",\n type: {\n name: \"Number\",\n },\n },\n nameId: {\n serializedName: \"name_id\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n };\n\nexport const PathsZdcclfV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesNameTransferTx: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsZdcclfV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesNameTransferTx\",\n modelProperties: {\n accountId: {\n serializedName: \"account_id\",\n type: {\n name: \"Number\",\n },\n },\n nameId: {\n serializedName: \"name_id\",\n type: {\n name: \"Number\",\n },\n },\n recipientId: {\n serializedName: \"recipient_id\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n };\n\nexport const Paths1VkyqhtV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesNameUpdateTx: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths1VkyqhtV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesNameUpdateTx\",\n modelProperties: {\n accountId: {\n serializedName: \"account_id\",\n type: {\n name: \"Number\",\n },\n },\n nameId: {\n serializedName: \"name_id\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n };\n\nexport const Paths107D9HzV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesOracleExtendTx: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths107D9HzV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesOracleExtendTx\",\n modelProperties: {\n oracleId: {\n serializedName: \"oracle_id\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n };\n\nexport const PathsS6Nx2KV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesOracleQueryTx: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsS6Nx2KV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesOracleQueryTx\",\n modelProperties: {\n oracleId: {\n serializedName: \"oracle_id\",\n type: {\n name: \"Number\",\n },\n },\n senderId: {\n serializedName: \"sender_id\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n };\n\nexport const Paths184Oz8CV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesOracleRegisterTx: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths184Oz8CV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesOracleRegisterTx\",\n modelProperties: {\n accountId: {\n serializedName: \"account_id\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n };\n\nexport const PathsLm5DjtV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesOracleResponseTx: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsLm5DjtV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesOracleResponseTx\",\n modelProperties: {\n oracleId: {\n serializedName: \"oracle_id\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n };\n\nexport const Paths16B89KuV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesPayingForTx: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths16B89KuV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesPayingForTx\",\n modelProperties: {\n payerId: {\n serializedName: \"payer_id\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n };\n\nexport const Paths1Ljyzq7V3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesSpendTx: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths1Ljyzq7V3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesSpendTx\",\n modelProperties: {\n recipientId: {\n serializedName: \"recipient_id\",\n type: {\n name: \"Number\",\n },\n },\n senderId: {\n serializedName: \"sender_id\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n };\n\nexport const Paths8I0YgwV3Aex141GetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths8I0YgwV3Aex141GetResponses200ContentApplicationJsonSchemaAllof0\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Aex141Response\",\n },\n },\n },\n },\n },\n },\n };\n\nexport const Aex141Response: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Aex141Response\",\n modelProperties: {\n baseUrl: {\n serializedName: \"base_url\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n blockHeight: {\n serializedName: \"block_height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n contractId: {\n constraints: {\n Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n },\n serializedName: \"contract_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n contractTxHash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"contract_tx_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n creationTime: {\n serializedName: \"creation_time\",\n required: true,\n type: {\n name: \"UnixTime\",\n },\n },\n extensions: {\n serializedName: \"extensions\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\",\n },\n },\n },\n },\n invalid: {\n serializedName: \"invalid\",\n required: true,\n type: {\n name: \"Boolean\",\n },\n },\n limits: {\n serializedName: \"limits\",\n required: true,\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } },\n },\n },\n },\n },\n};\n\nexport const PathsWkpcwaV3Aex141ContractidTemplatesGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsWkpcwaV3Aex141ContractidTemplatesGetResponses200ContentApplicationJsonSchemaAllof0\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Aex141TemplatesResponse\",\n },\n },\n },\n },\n },\n },\n };\n\nexport const Aex141TemplatesResponse: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Aex141TemplatesResponse\",\n modelProperties: {\n contractId: {\n constraints: {\n Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n },\n serializedName: \"contract_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n edition: {\n serializedName: \"edition\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } },\n },\n },\n logIdx: {\n serializedName: \"log_idx\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n templateId: {\n serializedName: \"template_id\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n txHash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"tx_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const PathsRay4X0V3Aex141ContractidTemplatesTemplateidTokensGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsRay4X0V3Aex141ContractidTemplatesTemplateidTokensGetResponses200ContentApplicationJsonSchemaAllof0\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Aex141TemplateTokensResponse\",\n },\n },\n },\n },\n },\n },\n };\n\nexport const Aex141TemplateTokensResponse: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Aex141TemplateTokensResponse\",\n modelProperties: {\n logIdx: {\n serializedName: \"log_idx\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n ownerId: {\n constraints: {\n Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n },\n serializedName: \"owner_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n tokenId: {\n serializedName: \"token_id\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n txHash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"tx_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const Paths1TkisghV3Aex141ContractidTokensGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths1TkisghV3Aex141ContractidTokensGetResponses200ContentApplicationJsonSchemaAllof0\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Aex141TokenResponse\",\n },\n },\n },\n },\n },\n },\n };\n\nexport const Paths1Fbvaw8V3Aex141ContractidTokensTokenidGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths1Fbvaw8V3Aex141ContractidTokensTokenidGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n data: {\n constraints: {\n Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n },\n serializedName: \"data\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n };\n\nexport const Paths1A8Ah39V3Aex141ContractidTransfersGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths1A8Ah39V3Aex141ContractidTransfersGetResponses200ContentApplicationJsonSchemaAllof0\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Aex141TransferEvent\",\n },\n },\n },\n },\n },\n },\n };\n\nexport const Aex141TransferEvent: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Aex141TransferEvent\",\n modelProperties: {\n blockHeight: {\n serializedName: \"block_height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n contractId: {\n constraints: {\n Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n },\n serializedName: \"contract_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n logIdx: {\n serializedName: \"log_idx\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n microIndex: {\n serializedName: \"micro_index\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n microTime: {\n serializedName: \"micro_time\",\n required: true,\n type: {\n name: \"UnixTime\",\n },\n },\n recipient: {\n constraints: {\n Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n },\n serializedName: \"recipient\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n sender: {\n constraints: {\n Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n },\n serializedName: \"sender\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n tokenId: {\n serializedName: \"token_id\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n txHash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"tx_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const Paths1Uqqby0V3Aex9GetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths1Uqqby0V3Aex9GetResponses200ContentApplicationJsonSchemaAllof0\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Aex9Response\",\n },\n },\n },\n },\n },\n },\n };\n\nexport const Aex9Response: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Aex9Response\",\n modelProperties: {\n contractId: {\n constraints: {\n Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n },\n serializedName: \"contract_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n contractTxHash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"contract_tx_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n decimals: {\n serializedName: \"decimals\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n eventSupply: {\n serializedName: \"event_supply\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n extensions: {\n serializedName: \"extensions\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\",\n },\n },\n },\n },\n holders: {\n serializedName: \"holders\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n initialSupply: {\n serializedName: \"initial_supply\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n invalid: {\n serializedName: \"invalid\",\n required: true,\n type: {\n name: \"Boolean\",\n },\n },\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n symbol: {\n serializedName: \"symbol\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const Paths19IxhsmV3Aex9CountGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths19IxhsmV3Aex9CountGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n };\n\nexport const PathsEeiffwV3Aex9ContractidBalancesGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsEeiffwV3Aex9ContractidBalancesGetResponses200ContentApplicationJsonSchemaAllof0\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Aex9ContractBalanceResponse\",\n },\n },\n },\n },\n },\n },\n };\n\nexport const Aex9ContractBalanceResponse: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Aex9ContractBalanceResponse\",\n modelProperties: {\n accountId: {\n constraints: {\n Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n },\n serializedName: \"account_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n amount: {\n serializedName: \"amount\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n blockHash: {\n serializedName: \"block_hash\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n contractId: {\n serializedName: \"contract_id\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n height: {\n serializedName: \"height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n lastLogIdx: {\n serializedName: \"last_log_idx\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n lastTxHash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"last_tx_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const PathsKr825V3Aex9ContractidBalancesAccountidGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsKr825V3Aex9ContractidBalancesAccountidGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n account: {\n constraints: {\n Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n },\n serializedName: \"account\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n amount: {\n serializedName: \"amount\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n contract: {\n constraints: {\n Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n },\n serializedName: \"contract\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n };\n\nexport const Paths108B3VtV3Aex9ContractidBalancesAccountidHistoryGetResponses200ContentApplicationJsonSchemaAllof1: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths108B3VtV3Aex9ContractidBalancesAccountidHistoryGetResponses200ContentApplicationJsonSchemaAllof1\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Get200ApplicationJsonAllOfPropertiesItemsItem\",\n },\n },\n },\n },\n },\n },\n };\n\nexport const Get200ApplicationJsonAllOfPropertiesItemsItem: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className: \"Get200ApplicationJsonAllOfPropertiesItemsItem\",\n modelProperties: {\n account: {\n constraints: {\n Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n },\n serializedName: \"account\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n amount: {\n serializedName: \"amount\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n contract: {\n constraints: {\n Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n },\n serializedName: \"contract\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n height: {\n serializedName: \"height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n };\n\nexport const PathsQmewnaV3ChannelsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsQmewnaV3ChannelsGetResponses200ContentApplicationJsonSchemaAllof0\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Channel\",\n },\n },\n },\n },\n },\n },\n };\n\nexport const Channel: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Channel\",\n modelProperties: {\n active: {\n serializedName: \"active\",\n required: true,\n type: {\n name: \"Boolean\",\n },\n },\n amount: {\n serializedName: \"amount\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n channel: {\n constraints: {\n Pattern: new RegExp(\"^ch_\\\\w{38,50}$\"),\n },\n serializedName: \"channel\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n channelReserve: {\n serializedName: \"channel_reserve\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n delegateIds: {\n serializedName: \"delegate_ids\",\n required: true,\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } },\n },\n },\n initiator: {\n constraints: {\n Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n },\n serializedName: \"initiator\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n initiatorAmount: {\n serializedName: \"initiator_amount\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n lastUpdatedHeight: {\n serializedName: \"last_updated_height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n lastUpdatedTime: {\n serializedName: \"last_updated_time\",\n required: true,\n type: {\n name: \"UnixTime\",\n },\n },\n lastUpdatedTxHash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"last_updated_tx_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n lastUpdatedTxType: {\n serializedName: \"last_updated_tx_type\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n lockPeriod: {\n serializedName: \"lock_period\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n lockedUntil: {\n serializedName: \"locked_until\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n responder: {\n constraints: {\n Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n },\n serializedName: \"responder\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n responderAmount: {\n serializedName: \"responder_amount\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n round: {\n serializedName: \"round\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n soloRound: {\n serializedName: \"solo_round\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n stateHash: {\n constraints: {\n Pattern: new RegExp(\"^st_\\\\w+$\"),\n },\n serializedName: \"state_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n updatesCount: {\n serializedName: \"updates_count\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const Paths18L84JcV3ContractsCallsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths18L84JcV3ContractsCallsGetResponses200ContentApplicationJsonSchemaAllof0\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ContractCall\",\n },\n },\n },\n },\n },\n },\n };\n\nexport const ContractCall: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContractCall\",\n modelProperties: {\n blockHash: {\n constraints: {\n Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n },\n serializedName: \"block_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n callTxHash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"call_tx_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n contractId: {\n constraints: {\n Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n },\n serializedName: \"contract_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n contractTxHash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"contract_tx_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n function: {\n serializedName: \"function\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n height: {\n serializedName: \"height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n internalTx: {\n serializedName: \"internal_tx\",\n required: true,\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } },\n },\n },\n localIdx: {\n serializedName: \"local_idx\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n microIndex: {\n serializedName: \"micro_index\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const Paths10Kk1UxV3ContractsLogsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths10Kk1UxV3ContractsLogsGetResponses200ContentApplicationJsonSchemaAllof0\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ContractLog\",\n },\n },\n },\n },\n },\n },\n };\n\nexport const ContractLog: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContractLog\",\n modelProperties: {\n args: {\n serializedName: \"args\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\",\n },\n },\n },\n },\n blockHash: {\n constraints: {\n Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n },\n serializedName: \"block_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n blockTime: {\n serializedName: \"block_time\",\n required: true,\n type: {\n name: \"UnixTime\",\n },\n },\n callTxHash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"call_tx_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n contractId: {\n constraints: {\n Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n },\n serializedName: \"contract_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n contractTxHash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"contract_tx_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n eventHash: {\n serializedName: \"event_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n eventName: {\n serializedName: \"event_name\",\n required: true,\n nullable: true,\n type: {\n name: \"String\",\n },\n },\n extCallerContractId: {\n constraints: {\n Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n },\n serializedName: \"ext_caller_contract_id\",\n required: true,\n nullable: true,\n type: {\n name: \"String\",\n },\n },\n extCallerContractTxHash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"ext_caller_contract_tx_hash\",\n required: true,\n nullable: true,\n type: {\n name: \"String\",\n },\n },\n height: {\n serializedName: \"height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n logIdx: {\n serializedName: \"log_idx\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n microIndex: {\n serializedName: \"micro_index\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n parentContractId: {\n serializedName: \"parent_contract_id\",\n required: true,\n nullable: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const Contract: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Contract\",\n modelProperties: {\n aexnType: {\n serializedName: \"aexn_type\",\n required: true,\n nullable: true,\n type: {\n name: \"String\",\n },\n },\n blockHash: {\n constraints: {\n Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n },\n serializedName: \"block_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n contract: {\n constraints: {\n Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n },\n serializedName: \"contract\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n createTx: {\n serializedName: \"create_tx\",\n required: true,\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } },\n },\n },\n sourceTxHash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"source_tx_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n sourceTxType: {\n serializedName: \"source_tx_type\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const Paths9Yfxl2V3DexSwapsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths9Yfxl2V3DexSwapsGetResponses200ContentApplicationJsonSchemaAllof0\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DexSwap\",\n },\n },\n },\n },\n },\n },\n };\n\nexport const Paths6Vze8ZV3DexContractIdSwapsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths6Vze8ZV3DexContractIdSwapsGetResponses200ContentApplicationJsonSchemaAllof0\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DexSwap\",\n },\n },\n },\n },\n },\n },\n };\n\nexport const PathsEue6HzV3KeyBlocksGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsEue6HzV3KeyBlocksGetResponses200ContentApplicationJsonSchemaAllof0\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"KeyBlock\",\n },\n },\n },\n },\n },\n },\n };\n\nexport const KeyBlock: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"KeyBlock\",\n modelProperties: {\n beneficiary: {\n constraints: {\n Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n },\n serializedName: \"beneficiary\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n beneficiaryReward: {\n serializedName: \"beneficiary_reward\",\n type: {\n name: \"Number\",\n },\n },\n hash: {\n constraints: {\n Pattern: new RegExp(\"^kh_\\\\w{38,50}$\"),\n },\n serializedName: \"hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n height: {\n serializedName: \"height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n info: {\n constraints: {\n Pattern: new RegExp(\"^cb_\\\\w+$\"),\n },\n serializedName: \"info\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n microBlocksCount: {\n serializedName: \"micro_blocks_count\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n miner: {\n constraints: {\n Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n },\n serializedName: \"miner\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n nonce: {\n serializedName: \"nonce\",\n type: {\n name: \"Number\",\n },\n },\n pow: {\n serializedName: \"pow\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Number\",\n },\n },\n },\n },\n prevHash: {\n serializedName: \"prev_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n prevKeyHash: {\n constraints: {\n Pattern: new RegExp(\"^kh_\\\\w{38,50}$\"),\n },\n serializedName: \"prev_key_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n stateHash: {\n constraints: {\n Pattern: new RegExp(\"^bs_\\\\w{38,50}$\"),\n },\n serializedName: \"state_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n target: {\n serializedName: \"target\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n time: {\n serializedName: \"time\",\n required: true,\n type: {\n name: \"UnixTime\",\n },\n },\n transactionsCount: {\n serializedName: \"transactions_count\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n version: {\n serializedName: \"version\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const PathsNn60D7V3KeyBlocksHashOrKbiMicroBlocksGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsNn60D7V3KeyBlocksHashOrKbiMicroBlocksGetResponses200ContentApplicationJsonSchemaAllof0\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"MicroBlock\",\n },\n },\n },\n },\n },\n },\n };\n\nexport const MicroBlock: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"MicroBlock\",\n modelProperties: {\n hash: {\n constraints: {\n Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n },\n serializedName: \"hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n height: {\n serializedName: \"height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n microBlockIndex: {\n serializedName: \"micro_block_index\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n pofHash: {\n constraints: {\n Pattern: new RegExp(\"^no_fraud|bf_\\\\w{38,50}$\"),\n },\n serializedName: \"pof_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n prevHash: {\n serializedName: \"prev_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n prevKeyHash: {\n constraints: {\n Pattern: new RegExp(\"^kh_\\\\w{38,50}$\"),\n },\n serializedName: \"prev_key_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n signature: {\n constraints: {\n Pattern: new RegExp(\"^sg_\\\\w+$\"),\n },\n serializedName: \"signature\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n stateHash: {\n constraints: {\n Pattern: new RegExp(\"^bs_\\\\w{38,50}$\"),\n },\n serializedName: \"state_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n time: {\n serializedName: \"time\",\n required: true,\n type: {\n name: \"UnixTime\",\n },\n },\n transactionsCount: {\n serializedName: \"transactions_count\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n txsHash: {\n constraints: {\n Pattern: new RegExp(\"^bx_\\\\w{38,50}$\"),\n },\n serializedName: \"txs_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n version: {\n serializedName: \"version\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const PathsXhlqwrV3MicroBlocksHashTransactionsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsXhlqwrV3MicroBlocksHashTransactionsGetResponses200ContentApplicationJsonSchemaAllof0\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Transaction\",\n },\n },\n },\n },\n },\n },\n };\n\nexport const Transaction: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Transaction\",\n modelProperties: {\n blockHash: {\n constraints: {\n Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n },\n serializedName: \"block_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n blockHeight: {\n serializedName: \"block_height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n encodedTx: {\n constraints: {\n Pattern: new RegExp(\"^tx_\\\\w+$\"),\n },\n serializedName: \"encoded_tx\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n hash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n microIndex: {\n serializedName: \"micro_index\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n microTime: {\n serializedName: \"micro_time\",\n required: true,\n type: {\n name: \"UnixTime\",\n },\n },\n signatures: {\n serializedName: \"signatures\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n constraints: {\n Pattern: new RegExp(\"^sg_\\\\w+$\"),\n },\n type: {\n name: \"String\",\n },\n },\n },\n },\n tx: {\n serializedName: \"tx\",\n required: true,\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } },\n },\n },\n },\n },\n};\n\nexport const Paths181Cs9V3NamesGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths181Cs9V3NamesGetResponses200ContentApplicationJsonSchemaAllof0\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Name\",\n },\n },\n },\n },\n },\n },\n };\n\nexport const Name: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Name\",\n modelProperties: {\n active: {\n serializedName: \"active\",\n required: true,\n type: {\n name: \"Boolean\",\n },\n },\n activeFrom: {\n serializedName: \"active_from\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n approximateActivationTime: {\n serializedName: \"approximate_activation_time\",\n required: true,\n type: {\n name: \"UnixTime\",\n },\n },\n approximateExpireTime: {\n serializedName: \"approximate_expire_time\",\n required: true,\n type: {\n name: \"UnixTime\",\n },\n },\n auction: {\n serializedName: \"auction\",\n type: {\n name: \"Composite\",\n className: \"Auction\",\n },\n },\n auctionTimeout: {\n serializedName: \"auction_timeout\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n expireHeight: {\n serializedName: \"expire_height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n hash: {\n constraints: {\n Pattern: new RegExp(\"^nm_\\\\w{38,50}$\"),\n },\n serializedName: \"hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n name: {\n constraints: {\n Pattern: new RegExp(\"^\\\\w+\\\\.chain$\"),\n },\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n nameFee: {\n serializedName: \"name_fee\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n ownership: {\n serializedName: \"ownership\",\n type: {\n name: \"Composite\",\n className: \"NameOwnership\",\n },\n },\n pointers: {\n serializedName: \"pointers\",\n required: true,\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } },\n },\n },\n revoke: {\n serializedName: \"revoke\",\n type: {\n name: \"Composite\",\n className: \"NameTx\",\n },\n },\n },\n },\n};\n\nexport const Auction: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Auction\",\n modelProperties: {\n activationTime: {\n serializedName: \"activation_time\",\n required: true,\n type: {\n name: \"UnixTime\",\n },\n },\n approximateExpireTime: {\n serializedName: \"approximate_expire_time\",\n required: true,\n type: {\n name: \"UnixTime\",\n },\n },\n auctionEnd: {\n serializedName: \"auction_end\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n lastBid: {\n serializedName: \"last_bid\",\n type: {\n name: \"Composite\",\n className: \"AuctionLastBid\",\n },\n },\n name: {\n constraints: {\n Pattern: new RegExp(\"^\\\\w+\\\\.chain$\"),\n },\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n nameFee: {\n serializedName: \"name_fee\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n },\n },\n};\n\nexport const AuctionLastBid: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AuctionLastBid\",\n modelProperties: {\n blockHash: {\n constraints: {\n Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n },\n serializedName: \"block_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n blockHeight: {\n serializedName: \"block_height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n encodedTx: {\n constraints: {\n Pattern: new RegExp(\"^tx_\\\\w+$\"),\n },\n serializedName: \"encoded_tx\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n hash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n microIndex: {\n serializedName: \"micro_index\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n microTime: {\n serializedName: \"micro_time\",\n required: true,\n type: {\n name: \"UnixTime\",\n },\n },\n signatures: {\n serializedName: \"signatures\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n constraints: {\n Pattern: new RegExp(\"^sg_\\\\w+$\"),\n },\n type: {\n name: \"String\",\n },\n },\n },\n },\n tx: {\n serializedName: \"tx\",\n required: true,\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } },\n },\n },\n },\n },\n};\n\nexport const NameOwnership: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"NameOwnership\",\n modelProperties: {\n current: {\n constraints: {\n Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n },\n serializedName: \"current\",\n type: {\n name: \"String\",\n },\n },\n original: {\n constraints: {\n Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n },\n serializedName: \"original\",\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const NameTx: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"NameTx\",\n modelProperties: {\n blockHash: {\n constraints: {\n Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n },\n serializedName: \"block_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n blockHeight: {\n serializedName: \"block_height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n hash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n microIndex: {\n serializedName: \"micro_index\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n microTime: {\n serializedName: \"micro_time\",\n required: true,\n type: {\n name: \"UnixTime\",\n },\n },\n signatures: {\n serializedName: \"signatures\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n constraints: {\n Pattern: new RegExp(\"^sg_\\\\w+$\"),\n },\n type: {\n name: \"String\",\n },\n },\n },\n },\n tx: {\n serializedName: \"tx\",\n type: {\n name: \"Composite\",\n className: \"NameTxTx\",\n },\n },\n },\n },\n};\n\nexport const NameTxTx: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"NameTxTx\",\n modelProperties: {\n accountId: {\n constraints: {\n Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n },\n serializedName: \"account_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n fee: {\n serializedName: \"fee\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n nameId: {\n constraints: {\n Pattern: new RegExp(\"^nm_\\\\w{38,50}$\"),\n },\n serializedName: \"name_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n nonce: {\n serializedName: \"nonce\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n ttl: {\n serializedName: \"ttl\",\n type: {\n name: \"Number\",\n },\n },\n type: {\n serializedName: \"type\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n version: {\n serializedName: \"version\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const Paths1R08F8HV3NamesAuctionsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths1R08F8HV3NamesAuctionsGetResponses200ContentApplicationJsonSchemaAllof0\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Auction\",\n },\n },\n },\n },\n },\n },\n };\n\nexport const PathsCrb9BgV3NamesAuctionsIdClaimsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsCrb9BgV3NamesAuctionsIdClaimsGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"NameClaim\",\n },\n },\n },\n },\n },\n },\n };\n\nexport const NameClaim: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"NameClaim\",\n modelProperties: {\n activeFrom: {\n serializedName: \"active_from\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n blockHash: {\n constraints: {\n Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n },\n serializedName: \"block_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n height: {\n serializedName: \"height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n internalSource: {\n serializedName: \"internal_source\",\n type: {\n name: \"Boolean\",\n },\n },\n sourceTxHash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"source_tx_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n sourceTxType: {\n serializedName: \"source_tx_type\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n tx: {\n serializedName: \"tx\",\n required: true,\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } },\n },\n },\n },\n },\n};\n\nexport const PathsMyl4W2V3NamesIdClaimsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsMyl4W2V3NamesIdClaimsGetResponses200ContentApplicationJsonSchemaAllof0\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"NameClaim\",\n },\n },\n },\n },\n },\n },\n };\n\nexport const Paths1Ukwk06V3NamesIdTransfersGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths1Ukwk06V3NamesIdTransfersGetResponses200ContentApplicationJsonSchemaAllof0\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"NameTransfer\",\n },\n },\n },\n },\n },\n },\n };\n\nexport const NameTransfer: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"NameTransfer\",\n modelProperties: {\n activeFrom: {\n serializedName: \"active_from\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n blockHash: {\n constraints: {\n Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n },\n serializedName: \"block_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n height: {\n serializedName: \"height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n internalSource: {\n serializedName: \"internal_source\",\n type: {\n name: \"Boolean\",\n },\n },\n sourceTxHash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"source_tx_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n sourceTxType: {\n serializedName: \"source_tx_type\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n tx: {\n serializedName: \"tx\",\n required: true,\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } },\n },\n },\n },\n },\n};\n\nexport const PathsRcnvllV3NamesIdUpdatesGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsRcnvllV3NamesIdUpdatesGetResponses200ContentApplicationJsonSchemaAllof0\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"NameUpdate\",\n },\n },\n },\n },\n },\n },\n };\n\nexport const NameUpdate: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"NameUpdate\",\n modelProperties: {\n activeFrom: {\n serializedName: \"active_from\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n blockHash: {\n constraints: {\n Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n },\n serializedName: \"block_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n height: {\n serializedName: \"height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n internalSource: {\n serializedName: \"internal_source\",\n type: {\n name: \"Boolean\",\n },\n },\n sourceTxHash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"source_tx_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n sourceTxType: {\n serializedName: \"source_tx_type\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n tx: {\n serializedName: \"tx\",\n required: true,\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } },\n },\n },\n },\n },\n};\n\nexport const PathsGcr9MrV3OraclesGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsGcr9MrV3OraclesGetResponses200ContentApplicationJsonSchemaAllof0\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Oracle\",\n },\n },\n },\n },\n },\n },\n };\n\nexport const Oracle: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Oracle\",\n modelProperties: {\n active: {\n serializedName: \"active\",\n required: true,\n type: {\n name: \"Boolean\",\n },\n },\n activeFrom: {\n serializedName: \"active_from\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n approximateExpireTime: {\n serializedName: \"approximate_expire_time\",\n required: true,\n type: {\n name: \"UnixTime\",\n },\n },\n expireHeight: {\n serializedName: \"expire_height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n format: {\n serializedName: \"format\",\n type: {\n name: \"Composite\",\n className: \"OracleFormat\",\n },\n },\n oracle: {\n constraints: {\n Pattern: new RegExp(\"^ok_\\\\w{38,50}$\"),\n },\n serializedName: \"oracle\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n queryFee: {\n serializedName: \"query_fee\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n register: {\n serializedName: \"register\",\n type: {\n name: \"Composite\",\n className: \"OracleTx\",\n },\n },\n registerTime: {\n serializedName: \"register_time\",\n required: true,\n type: {\n name: \"UnixTime\",\n },\n },\n registerTxHash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"register_tx_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const OracleFormat: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"OracleFormat\",\n modelProperties: {\n query: {\n serializedName: \"query\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n response: {\n serializedName: \"response\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const OracleTx: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"OracleTx\",\n modelProperties: {\n blockHash: {\n constraints: {\n Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n },\n serializedName: \"block_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n blockHeight: {\n serializedName: \"block_height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n encodedTx: {\n constraints: {\n Pattern: new RegExp(\"^tx_\\\\w+$\"),\n },\n serializedName: \"encoded_tx\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n hash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n microIndex: {\n serializedName: \"micro_index\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n microTime: {\n serializedName: \"micro_time\",\n required: true,\n type: {\n name: \"UnixTime\",\n },\n },\n signatures: {\n serializedName: \"signatures\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n constraints: {\n Pattern: new RegExp(\"^sg_\\\\w+$\"),\n },\n type: {\n name: \"String\",\n },\n },\n },\n },\n tx: {\n serializedName: \"tx\",\n type: {\n name: \"Composite\",\n className: \"OracleTxTx\",\n },\n },\n txHash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"tx_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const OracleTxTx: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"OracleTxTx\",\n modelProperties: {\n abiVersion: {\n serializedName: \"abi_version\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n accountId: {\n constraints: {\n Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n },\n serializedName: \"account_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n fee: {\n serializedName: \"fee\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n nonce: {\n serializedName: \"nonce\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n oracleId: {\n constraints: {\n Pattern: new RegExp(\"^ok_\\\\w{38,50}$\"),\n },\n serializedName: \"oracle_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n oracleTtl: {\n serializedName: \"oracle_ttl\",\n type: {\n name: \"Composite\",\n className: \"OracleTxOracleTtl\",\n },\n },\n queryFee: {\n serializedName: \"query_fee\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n queryFormat: {\n serializedName: \"query_format\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n responseFormat: {\n serializedName: \"response_format\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n ttl: {\n serializedName: \"ttl\",\n type: {\n name: \"Number\",\n },\n },\n type: {\n serializedName: \"type\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n version: {\n serializedName: \"version\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const OracleTxOracleTtl: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"OracleTxOracleTtl\",\n modelProperties: {\n type: {\n serializedName: \"type\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n value: {\n serializedName: \"value\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const PathsZ4L2QlV3OraclesIdExtendsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsZ4L2QlV3OraclesIdExtendsGetResponses200ContentApplicationJsonSchemaAllof0\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"OracleExtend\",\n },\n },\n },\n },\n },\n },\n };\n\nexport const OracleExtend: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"OracleExtend\",\n modelProperties: {\n blockHash: {\n constraints: {\n Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n },\n serializedName: \"block_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n height: {\n serializedName: \"height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n sourceTxHash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"source_tx_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n sourceTxType: {\n serializedName: \"source_tx_type\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n tx: {\n serializedName: \"tx\",\n type: {\n name: \"Composite\",\n className: \"OracleExtendTx\",\n },\n },\n },\n },\n};\n\nexport const OracleExtendTx: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"OracleExtendTx\",\n modelProperties: {\n fee: {\n serializedName: \"fee\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n nonce: {\n serializedName: \"nonce\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n oracleId: {\n constraints: {\n Pattern: new RegExp(\"^ok_\\\\w{38,50}$\"),\n },\n serializedName: \"oracle_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n oracleTtl: {\n serializedName: \"oracle_ttl\",\n type: {\n name: \"Composite\",\n className: \"OracleExtendTxOracleTtl\",\n },\n },\n ttl: {\n serializedName: \"ttl\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const OracleExtendTxOracleTtl: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"OracleExtendTxOracleTtl\",\n modelProperties: {\n type: {\n serializedName: \"type\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n value: {\n serializedName: \"value\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const Paths1Uni7AtV3OraclesIdQueriesGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths1Uni7AtV3OraclesIdQueriesGetResponses200ContentApplicationJsonSchemaAllof0\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"OracleQuery\",\n },\n },\n },\n },\n },\n },\n };\n\nexport const OracleQuery: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"OracleQuery\",\n modelProperties: {\n blockHash: {\n constraints: {\n Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n },\n serializedName: \"block_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n blockTime: {\n serializedName: \"block_time\",\n required: true,\n type: {\n name: \"UnixTime\",\n },\n },\n fee: {\n serializedName: \"fee\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n height: {\n serializedName: \"height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n nonce: {\n serializedName: \"nonce\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n oracleId: {\n constraints: {\n Pattern: new RegExp(\"^ok_\\\\w{38,50}$\"),\n },\n serializedName: \"oracle_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n query: {\n serializedName: \"query\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n queryFee: {\n serializedName: \"query_fee\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n queryId: {\n constraints: {\n Pattern: new RegExp(\"^oq_\\\\w{38,50}$\"),\n },\n serializedName: \"query_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n queryTtl: {\n serializedName: \"query_ttl\",\n required: true,\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } },\n },\n },\n response: {\n serializedName: \"response\",\n type: {\n name: \"Composite\",\n className: \"OracleResponse\",\n },\n },\n responseTtl: {\n serializedName: \"response_ttl\",\n required: true,\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } },\n },\n },\n senderId: {\n constraints: {\n Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n },\n serializedName: \"sender_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n sourceTxHash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"source_tx_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n sourceTxType: {\n serializedName: \"source_tx_type\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n ttl: {\n serializedName: \"ttl\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const OracleResponse: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"OracleResponse\",\n modelProperties: {\n blockHash: {\n constraints: {\n Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n },\n serializedName: \"block_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n blockTime: {\n serializedName: \"block_time\",\n required: true,\n type: {\n name: \"UnixTime\",\n },\n },\n fee: {\n serializedName: \"fee\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n height: {\n serializedName: \"height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n nonce: {\n serializedName: \"nonce\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n oracleId: {\n constraints: {\n Pattern: new RegExp(\"^ok_\\\\w{38,50}$\"),\n },\n serializedName: \"oracle_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n query: {\n serializedName: \"query\",\n type: {\n name: \"Composite\",\n className: \"OracleResponse\",\n },\n },\n queryId: {\n constraints: {\n Pattern: new RegExp(\"^oq_\\\\w{38,50}$\"),\n },\n serializedName: \"query_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n response: {\n serializedName: \"response\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n responseTtl: {\n serializedName: \"response_ttl\",\n required: true,\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } },\n },\n },\n sourceTxHash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"source_tx_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n sourceTxType: {\n serializedName: \"source_tx_type\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n ttl: {\n serializedName: \"ttl\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const Paths1Tcj5A9V3OraclesIdResponsesGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths1Tcj5A9V3OraclesIdResponsesGetResponses200ContentApplicationJsonSchemaAllof0\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"OracleResponse\",\n },\n },\n },\n },\n },\n },\n };\n\nexport const Stats: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Stats\",\n modelProperties: {\n feesTrend: {\n serializedName: \"fees_trend\",\n type: {\n name: \"Number\",\n },\n },\n last24HsAverageTransactionFees: {\n serializedName: \"last_24hs_average_transaction_fees\",\n type: {\n name: \"Number\",\n },\n },\n last24HsTransactions: {\n serializedName: \"last_24hs_transactions\",\n type: {\n name: \"Number\",\n },\n },\n maxTransactionsPerSecond: {\n serializedName: \"max_transactions_per_second\",\n type: {\n name: \"Number\",\n },\n },\n maxTransactionsPerSecondBlockHash: {\n constraints: {\n Pattern: new RegExp(\"^kh_\\\\w{38,50}$\"),\n },\n serializedName: \"max_transactions_per_second_block_hash\",\n type: {\n name: \"String\",\n },\n },\n minersCount: {\n serializedName: \"miners_count\",\n type: {\n name: \"Number\",\n },\n },\n transactionsTrend: {\n serializedName: \"transactions_trend\",\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const PathsV2Gh3TV3StatisticsBlocksGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsV2Gh3TV3StatisticsBlocksGetResponses200ContentApplicationJsonSchemaAllof0\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Stat\",\n },\n },\n },\n },\n },\n },\n };\n\nexport const Stat: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Stat\",\n modelProperties: {\n count: {\n serializedName: \"count\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n endDate: {\n serializedName: \"end_date\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n startDate: {\n serializedName: \"start_date\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const PathsYpljbvV3DeltastatsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsYpljbvV3DeltastatsGetResponses200ContentApplicationJsonSchemaAllof0\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DeltaStat\",\n },\n },\n },\n },\n },\n },\n };\n\nexport const DeltaStat: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DeltaStat\",\n modelProperties: {\n auctionsStarted: {\n serializedName: \"auctions_started\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n blockReward: {\n serializedName: \"block_reward\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n burnedInAuctions: {\n serializedName: \"burned_in_auctions\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n channelsClosed: {\n serializedName: \"channels_closed\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n channelsOpened: {\n serializedName: \"channels_opened\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n contractsCreated: {\n serializedName: \"contracts_created\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n devReward: {\n serializedName: \"dev_reward\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n height: {\n serializedName: \"height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n lastTxHash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"last_tx_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n lockedInAuctions: {\n serializedName: \"locked_in_auctions\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n lockedInChannels: {\n serializedName: \"locked_in_channels\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n namesActivated: {\n serializedName: \"names_activated\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n namesExpired: {\n serializedName: \"names_expired\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n namesRevoked: {\n serializedName: \"names_revoked\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n oraclesExpired: {\n serializedName: \"oracles_expired\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n oraclesRegistered: {\n serializedName: \"oracles_registered\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const Paths10OmbqhV3MinerstatsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths10OmbqhV3MinerstatsGetResponses200ContentApplicationJsonSchemaAllof0\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Miner\",\n },\n },\n },\n },\n },\n },\n };\n\nexport const Miner: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Miner\",\n modelProperties: {\n miner: {\n constraints: {\n Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n },\n serializedName: \"miner\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n totalReward: {\n serializedName: \"total_reward\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n },\n },\n};\n\nexport const PathsAc89GqV3StatisticsNamesGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsAc89GqV3StatisticsNamesGetResponses200ContentApplicationJsonSchemaAllof0\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Stat\",\n },\n },\n },\n },\n },\n },\n };\n\nexport const Paths1Vms155V3TotalstatsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths1Vms155V3TotalstatsGetResponses200ContentApplicationJsonSchemaAllof0\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"TotalStat\",\n },\n },\n },\n },\n },\n },\n };\n\nexport const TotalStat: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"TotalStat\",\n modelProperties: {\n activeAuctions: {\n serializedName: \"active_auctions\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n activeNames: {\n serializedName: \"active_names\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n activeOracles: {\n serializedName: \"active_oracles\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n burnedInAuctions: {\n serializedName: \"burned_in_auctions\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n contracts: {\n serializedName: \"contracts\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n height: {\n serializedName: \"height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n inactiveNames: {\n serializedName: \"inactive_names\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n inactiveOracles: {\n serializedName: \"inactive_oracles\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n lastTxHash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"last_tx_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n lockedInAuctions: {\n serializedName: \"locked_in_auctions\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n lockedInChannels: {\n serializedName: \"locked_in_channels\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n openChannels: {\n serializedName: \"open_channels\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n sumBlockReward: {\n serializedName: \"sum_block_reward\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n sumDevReward: {\n serializedName: \"sum_dev_reward\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n totalTokenSupply: {\n serializedName: \"total_token_supply\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n },\n },\n};\n\nexport const Paths1Syc8AnV3StatisticsTransactionsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths1Syc8AnV3StatisticsTransactionsGetResponses200ContentApplicationJsonSchemaAllof0\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Stat\",\n },\n },\n },\n },\n },\n },\n };\n\nexport const Status: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Status\",\n modelProperties: {\n mdwAsyncTasks: {\n serializedName: \"mdw_async_tasks\",\n type: {\n name: \"Composite\",\n className: \"StatusMdwAsyncTasks\",\n },\n },\n mdwGensPerMinute: {\n serializedName: \"mdw_gens_per_minute\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n mdwHeight: {\n serializedName: \"mdw_height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n mdwLastMigration: {\n serializedName: \"mdw_last_migration\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n mdwRevision: {\n serializedName: \"mdw_revision\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n mdwSynced: {\n serializedName: \"mdw_synced\",\n required: true,\n type: {\n name: \"Boolean\",\n },\n },\n mdwSyncing: {\n serializedName: \"mdw_syncing\",\n required: true,\n type: {\n name: \"Boolean\",\n },\n },\n mdwTxIndex: {\n serializedName: \"mdw_tx_index\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n mdwVersion: {\n serializedName: \"mdw_version\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n nodeHeight: {\n serializedName: \"node_height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n nodeProgress: {\n serializedName: \"node_progress\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n nodeRevision: {\n serializedName: \"node_revision\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n nodeSyncing: {\n serializedName: \"node_syncing\",\n required: true,\n type: {\n name: \"Boolean\",\n },\n },\n nodeVersion: {\n serializedName: \"node_version\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const StatusMdwAsyncTasks: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"StatusMdwAsyncTasks\",\n modelProperties: {\n longTasks: {\n serializedName: \"long_tasks\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n producerBuffer: {\n serializedName: \"producer_buffer\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n totalPending: {\n serializedName: \"total_pending\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const PathsHa9C78V3TransactionsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsHa9C78V3TransactionsGetResponses200ContentApplicationJsonSchemaAllof0\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Transaction\",\n },\n },\n },\n },\n },\n },\n };\n\nexport const PathsVdg67V3TransfersGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsVdg67V3TransfersGetResponses200ContentApplicationJsonSchemaAllof0\",\n modelProperties: {\n data: {\n serializedName: \"data\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Transfer\",\n },\n },\n },\n },\n },\n },\n };\n\nexport const Transfer: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Transfer\",\n modelProperties: {\n accountId: {\n constraints: {\n Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n },\n serializedName: \"account_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n amount: {\n serializedName: \"amount\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n height: {\n serializedName: \"height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n kind: {\n serializedName: \"kind\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n refBlockHash: {\n constraints: {\n Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n },\n serializedName: \"ref_block_hash\",\n required: true,\n nullable: true,\n type: {\n name: \"String\",\n },\n },\n refTxHash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"ref_tx_hash\",\n required: true,\n nullable: true,\n type: {\n name: \"String\",\n },\n },\n refTxType: {\n serializedName: \"ref_tx_type\",\n required: true,\n nullable: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const Aex9TransferEvent: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Aex9TransferEvent\",\n modelProperties: {\n amount: {\n serializedName: \"amount\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n blockHeight: {\n serializedName: \"block_height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n contractId: {\n constraints: {\n Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n },\n serializedName: \"contract_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n logIdx: {\n serializedName: \"log_idx\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n microIndex: {\n serializedName: \"micro_index\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n microTime: {\n serializedName: \"micro_time\",\n required: true,\n type: {\n name: \"UnixTime\",\n },\n },\n recipientId: {\n constraints: {\n Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n },\n serializedName: \"recipient_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n senderId: {\n constraints: {\n Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n },\n serializedName: \"sender_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n txHash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"tx_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const Aex9TransferResponse: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Aex9TransferResponse\",\n modelProperties: {\n amount: {\n serializedName: \"amount\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n blockHeight: {\n serializedName: \"block_height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n callTxi: {\n serializedName: \"call_txi\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n contractId: {\n constraints: {\n Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n },\n serializedName: \"contract_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n logIdx: {\n serializedName: \"log_idx\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n microTime: {\n serializedName: \"micro_time\",\n required: true,\n type: {\n name: \"UnixTime\",\n },\n },\n recipient: {\n constraints: {\n Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n },\n serializedName: \"recipient\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n sender: {\n constraints: {\n Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n },\n serializedName: \"sender\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const InternalContractCallEvent: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"InternalContractCallEvent\",\n modelProperties: {\n blockHash: {\n constraints: {\n Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n },\n serializedName: \"block_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n callTxHash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"call_tx_hash\",\n type: {\n name: \"String\",\n },\n },\n contractId: {\n constraints: {\n Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n },\n serializedName: \"contract_id\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n contractTxHash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"contract_tx_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n function: {\n serializedName: \"function\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n height: {\n serializedName: \"height\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n internalTx: {\n serializedName: \"internal_tx\",\n required: true,\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } },\n },\n },\n microIndex: {\n serializedName: \"micro_index\",\n required: true,\n type: {\n name: \"Number\",\n },\n },\n },\n },\n};\n\nexport const InternalTransferEvent: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"InternalTransferEvent\",\n modelProperties: {\n amount: {\n serializedName: \"amount\",\n required: true,\n type: {\n // @ts-expect-error we are extending autorest with BigInt support\n name: \"BigInt\",\n },\n },\n kind: {\n serializedName: \"kind\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n refTxHash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"ref_tx_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const NameClaimEvent: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"NameClaimEvent\",\n modelProperties: {\n tx: {\n serializedName: \"tx\",\n required: true,\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } },\n },\n },\n txHash: {\n constraints: {\n Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n },\n serializedName: \"tx_hash\",\n required: true,\n type: {\n name: \"String\",\n },\n },\n },\n },\n};\n\nexport const Paths3Hsv3GV3AccountsAccountidAex141TokensGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths3Hsv3GV3AccountsAccountidAex141TokensGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n ...Paths1Q9E32FV3AccountsAccountidAex141TokensGetResponses200ContentApplicationJsonSchemaAllof0\n .type.modelProperties,\n ...PaginatedResponse.type.modelProperties,\n },\n },\n };\n\nexport const PathsKm52GqV3AccountsAccountidAex9BalancesGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsKm52GqV3AccountsAccountidAex9BalancesGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n ...PaginatedResponse.type.modelProperties,\n ...PathsZ92TkfV3AccountsAccountidAex9BalancesGetResponses200ContentApplicationJsonSchemaAllof1\n .type.modelProperties,\n },\n },\n };\n\nexport const Paths1Ceolv9V3AccountsAccountIdDexSwapsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths1Ceolv9V3AccountsAccountIdDexSwapsGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n ...Paths1Ymnu9GV3AccountsAccountIdDexSwapsGetResponses200ContentApplicationJsonSchemaAllof0\n .type.modelProperties,\n ...PaginatedResponse.type.modelProperties,\n },\n },\n };\n\nexport const Paths1Opead5V3AccountsIdActivitiesGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths1Opead5V3AccountsIdActivitiesGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n ...Paths1Ent1R1V3AccountsIdActivitiesGetResponses200ContentApplicationJsonSchemaAllof0\n .type.modelProperties,\n ...PaginatedResponse.type.modelProperties,\n },\n },\n };\n\nexport const Paths1Gc4HwtV3AccountsIdNamesPointeesGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths1Gc4HwtV3AccountsIdNamesPointeesGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n ...PathsC0UvfgV3AccountsIdNamesPointeesGetResponses200ContentApplicationJsonSchemaAllof0\n .type.modelProperties,\n ...PaginatedResponse.type.modelProperties,\n },\n },\n };\n\nexport const Paths1XwlyjtV3Aex141GetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths1XwlyjtV3Aex141GetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n ...Paths8I0YgwV3Aex141GetResponses200ContentApplicationJsonSchemaAllof0\n .type.modelProperties,\n ...PaginatedResponse.type.modelProperties,\n },\n },\n };\n\nexport const Paths181AjwxV3Aex141ContractidTemplatesGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths181AjwxV3Aex141ContractidTemplatesGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n ...PathsWkpcwaV3Aex141ContractidTemplatesGetResponses200ContentApplicationJsonSchemaAllof0\n .type.modelProperties,\n ...PaginatedResponse.type.modelProperties,\n },\n },\n };\n\nexport const Paths15Mi2TaV3Aex141ContractidTemplatesTemplateidTokensGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths15Mi2TaV3Aex141ContractidTemplatesTemplateidTokensGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n ...PathsRay4X0V3Aex141ContractidTemplatesTemplateidTokensGetResponses200ContentApplicationJsonSchemaAllof0\n .type.modelProperties,\n ...PaginatedResponse.type.modelProperties,\n },\n },\n };\n\nexport const PathsWl652MV3Aex141ContractidTokensGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsWl652MV3Aex141ContractidTokensGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n ...Paths1TkisghV3Aex141ContractidTokensGetResponses200ContentApplicationJsonSchemaAllof0\n .type.modelProperties,\n ...PaginatedResponse.type.modelProperties,\n },\n },\n };\n\nexport const Paths1O7Q6IhV3Aex141ContractidTransfersGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths1O7Q6IhV3Aex141ContractidTransfersGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n ...Paths1A8Ah39V3Aex141ContractidTransfersGetResponses200ContentApplicationJsonSchemaAllof0\n .type.modelProperties,\n ...PaginatedResponse.type.modelProperties,\n },\n },\n };\n\nexport const Paths1Vr3Y2EV3Aex9GetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths1Vr3Y2EV3Aex9GetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n ...Paths1Uqqby0V3Aex9GetResponses200ContentApplicationJsonSchemaAllof0\n .type.modelProperties,\n ...PaginatedResponse.type.modelProperties,\n },\n },\n };\n\nexport const Paths1N61UurV3Aex9ContractidBalancesGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths1N61UurV3Aex9ContractidBalancesGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n ...PathsEeiffwV3Aex9ContractidBalancesGetResponses200ContentApplicationJsonSchemaAllof0\n .type.modelProperties,\n ...PaginatedResponse.type.modelProperties,\n },\n },\n };\n\nexport const Paths1Uybd4PV3Aex9ContractidBalancesAccountidHistoryGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths1Uybd4PV3Aex9ContractidBalancesAccountidHistoryGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n ...PaginatedResponse.type.modelProperties,\n ...Paths108B3VtV3Aex9ContractidBalancesAccountidHistoryGetResponses200ContentApplicationJsonSchemaAllof1\n .type.modelProperties,\n },\n },\n };\n\nexport const Paths3EzhapV3ChannelsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths3EzhapV3ChannelsGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n ...PathsQmewnaV3ChannelsGetResponses200ContentApplicationJsonSchemaAllof0\n .type.modelProperties,\n ...PaginatedResponse.type.modelProperties,\n },\n },\n };\n\nexport const Paths1Txblx8V3ContractsCallsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths1Txblx8V3ContractsCallsGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n ...Paths18L84JcV3ContractsCallsGetResponses200ContentApplicationJsonSchemaAllof0\n .type.modelProperties,\n ...PaginatedResponse.type.modelProperties,\n },\n },\n };\n\nexport const Paths7A1M6RV3ContractsLogsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths7A1M6RV3ContractsLogsGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n ...Paths10Kk1UxV3ContractsLogsGetResponses200ContentApplicationJsonSchemaAllof0\n .type.modelProperties,\n ...PaginatedResponse.type.modelProperties,\n },\n },\n };\n\nexport const Paths1Di8FnjV3DexSwapsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths1Di8FnjV3DexSwapsGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n ...Paths9Yfxl2V3DexSwapsGetResponses200ContentApplicationJsonSchemaAllof0\n .type.modelProperties,\n ...PaginatedResponse.type.modelProperties,\n },\n },\n };\n\nexport const PathsKwxlzlV3DexContractIdSwapsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsKwxlzlV3DexContractIdSwapsGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n ...Paths6Vze8ZV3DexContractIdSwapsGetResponses200ContentApplicationJsonSchemaAllof0\n .type.modelProperties,\n ...PaginatedResponse.type.modelProperties,\n },\n },\n };\n\nexport const Paths277OngV3KeyBlocksGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths277OngV3KeyBlocksGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n ...PathsEue6HzV3KeyBlocksGetResponses200ContentApplicationJsonSchemaAllof0\n .type.modelProperties,\n ...PaginatedResponse.type.modelProperties,\n },\n },\n };\n\nexport const Paths1159W94V3KeyBlocksHashOrKbiMicroBlocksGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths1159W94V3KeyBlocksHashOrKbiMicroBlocksGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n ...PathsNn60D7V3KeyBlocksHashOrKbiMicroBlocksGetResponses200ContentApplicationJsonSchemaAllof0\n .type.modelProperties,\n ...PaginatedResponse.type.modelProperties,\n },\n },\n };\n\nexport const Paths15Bkk50V3MicroBlocksHashTransactionsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths15Bkk50V3MicroBlocksHashTransactionsGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n ...PathsXhlqwrV3MicroBlocksHashTransactionsGetResponses200ContentApplicationJsonSchemaAllof0\n .type.modelProperties,\n ...PaginatedResponse.type.modelProperties,\n },\n },\n };\n\nexport const Paths12S1Nd4V3NamesGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths12S1Nd4V3NamesGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n ...Paths181Cs9V3NamesGetResponses200ContentApplicationJsonSchemaAllof0\n .type.modelProperties,\n ...PaginatedResponse.type.modelProperties,\n },\n },\n };\n\nexport const PathsKjq4D4V3NamesAuctionsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsKjq4D4V3NamesAuctionsGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n ...Paths1R08F8HV3NamesAuctionsGetResponses200ContentApplicationJsonSchemaAllof0\n .type.modelProperties,\n ...PaginatedResponse.type.modelProperties,\n },\n },\n };\n\nexport const Paths1F98AqgV3NamesIdClaimsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths1F98AqgV3NamesIdClaimsGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n ...PathsMyl4W2V3NamesIdClaimsGetResponses200ContentApplicationJsonSchemaAllof0\n .type.modelProperties,\n ...PaginatedResponse.type.modelProperties,\n },\n },\n };\n\nexport const Paths1Raw8PV3NamesIdTransfersGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths1Raw8PV3NamesIdTransfersGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n ...Paths1Ukwk06V3NamesIdTransfersGetResponses200ContentApplicationJsonSchemaAllof0\n .type.modelProperties,\n ...PaginatedResponse.type.modelProperties,\n },\n },\n };\n\nexport const Paths1Ec8CltV3NamesIdUpdatesGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths1Ec8CltV3NamesIdUpdatesGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n ...PathsRcnvllV3NamesIdUpdatesGetResponses200ContentApplicationJsonSchemaAllof0\n .type.modelProperties,\n ...PaginatedResponse.type.modelProperties,\n },\n },\n };\n\nexport const Paths1E14NekV3OraclesGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths1E14NekV3OraclesGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n ...PathsGcr9MrV3OraclesGetResponses200ContentApplicationJsonSchemaAllof0\n .type.modelProperties,\n ...PaginatedResponse.type.modelProperties,\n },\n },\n };\n\nexport const Paths1L5C64RV3OraclesIdExtendsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths1L5C64RV3OraclesIdExtendsGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n ...PathsZ4L2QlV3OraclesIdExtendsGetResponses200ContentApplicationJsonSchemaAllof0\n .type.modelProperties,\n ...PaginatedResponse.type.modelProperties,\n },\n },\n };\n\nexport const Paths8722JhV3OraclesIdQueriesGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths8722JhV3OraclesIdQueriesGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n ...Paths1Uni7AtV3OraclesIdQueriesGetResponses200ContentApplicationJsonSchemaAllof0\n .type.modelProperties,\n ...PaginatedResponse.type.modelProperties,\n },\n },\n };\n\nexport const PathsVron83V3OraclesIdResponsesGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsVron83V3OraclesIdResponsesGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n ...Paths1Tcj5A9V3OraclesIdResponsesGetResponses200ContentApplicationJsonSchemaAllof0\n .type.modelProperties,\n ...PaginatedResponse.type.modelProperties,\n },\n },\n };\n\nexport const PathsJd68YV3StatisticsBlocksGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsJd68YV3StatisticsBlocksGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n ...PathsV2Gh3TV3StatisticsBlocksGetResponses200ContentApplicationJsonSchemaAllof0\n .type.modelProperties,\n ...PaginatedResponse.type.modelProperties,\n },\n },\n };\n\nexport const PathsQtodvgV3DeltastatsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsQtodvgV3DeltastatsGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n ...PathsYpljbvV3DeltastatsGetResponses200ContentApplicationJsonSchemaAllof0\n .type.modelProperties,\n ...PaginatedResponse.type.modelProperties,\n },\n },\n };\n\nexport const PathsZ2B507V3MinerstatsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsZ2B507V3MinerstatsGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n ...Paths10OmbqhV3MinerstatsGetResponses200ContentApplicationJsonSchemaAllof0\n .type.modelProperties,\n ...PaginatedResponse.type.modelProperties,\n },\n },\n };\n\nexport const PathsD2HmjxV3StatisticsNamesGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsD2HmjxV3StatisticsNamesGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n ...PathsAc89GqV3StatisticsNamesGetResponses200ContentApplicationJsonSchemaAllof0\n .type.modelProperties,\n ...PaginatedResponse.type.modelProperties,\n },\n },\n };\n\nexport const PathsFrvc1LV3TotalstatsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsFrvc1LV3TotalstatsGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n ...Paths1Vms155V3TotalstatsGetResponses200ContentApplicationJsonSchemaAllof0\n .type.modelProperties,\n ...PaginatedResponse.type.modelProperties,\n },\n },\n };\n\nexport const Paths150Ou6YV3StatisticsTransactionsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths150Ou6YV3StatisticsTransactionsGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n ...Paths1Syc8AnV3StatisticsTransactionsGetResponses200ContentApplicationJsonSchemaAllof0\n .type.modelProperties,\n ...PaginatedResponse.type.modelProperties,\n },\n },\n };\n\nexport const Paths1Pymq07V3TransactionsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"Paths1Pymq07V3TransactionsGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n ...PathsHa9C78V3TransactionsGetResponses200ContentApplicationJsonSchemaAllof0\n .type.modelProperties,\n ...PaginatedResponse.type.modelProperties,\n },\n },\n };\n\nexport const PathsA7P0KiV3TransfersGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n {\n type: {\n name: \"Composite\",\n className:\n \"PathsA7P0KiV3TransfersGetResponses200ContentApplicationJsonSchema\",\n modelProperties: {\n ...PathsVdg67V3TransfersGetResponses200ContentApplicationJsonSchemaAllof0\n .type.modelProperties,\n ...PaginatedResponse.type.modelProperties,\n },\n },\n };\n","import { createSerializer } from \"../../utils/autorest.js\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Parameters from \"./models/parameters.js\";\nimport * as Mappers from \"./models/mappers.js\";\nimport {\n MiddlewareOptionalParams,\n GetAex141OwnedTokensOptionalParams,\n GetAex141OwnedTokensResponse,\n GetAex9AccountBalancesOptionalParams,\n GetAex9AccountBalancesResponse,\n GetAccountDexSwapsOptionalParams,\n GetAccountDexSwapsResponse,\n GetAccountActivitiesOptionalParams,\n GetAccountActivitiesResponse,\n GetAccountPointeesOptionalParams,\n GetAccountPointeesResponse,\n GetAccountTransactionsCountOptionalParams,\n GetAccountTransactionsCountResponse,\n GetSortedAex141ContractsOptionalParams,\n GetSortedAex141ContractsResponse,\n GetAex141ContractTemplatesOptionalParams,\n GetAex141ContractTemplatesResponse,\n GetAex141TemplateTokensOptionalParams,\n GetAex141TemplateTokensResponse,\n GetAex141ContractTokensOptionalParams,\n GetAex141ContractTokensResponse,\n GetAex141TokenOwnerOptionalParams,\n GetAex141TokenOwnerResponse,\n GetAex141ContractTransfersOptionalParams,\n GetAex141ContractTransfersResponse,\n GetAex141ByContractOptionalParams,\n GetAex141ByContractResponse,\n GetSortedAex9TokensOptionalParams,\n GetSortedAex9TokensResponse,\n GetAex9TokensCountOptionalParams,\n GetAex9TokensCountResponse,\n GetAex9ContractBalancesOptionalParams,\n GetAex9ContractBalancesResponse,\n GetAex9ContractAccountBalanceOptionalParams,\n GetAex9ContractAccountBalanceResponse,\n GetAex9ContractAccountBalanceHistoryOptionalParams,\n GetAex9ContractAccountBalanceHistoryResponse,\n GetAex9ByContractOptionalParams,\n GetAex9ByContractResponse,\n GetChannelsOptionalParams,\n GetChannelsResponse,\n GetChannelOptionalParams,\n GetChannelResponse,\n GetContractCallsOptionalParams,\n GetContractCallsResponse,\n GetContractLogsOptionalParams,\n GetContractLogsResponse,\n GetContractOptionalParams,\n GetContractResponse,\n GetDexSwapsOptionalParams,\n GetDexSwapsResponse,\n GetDexSwapsByContractIdOptionalParams,\n GetDexSwapsByContractIdResponse,\n GetKeyBlocksOptionalParams,\n GetKeyBlocksResponse,\n GetKeyBlockOptionalParams,\n GetKeyBlockResponse,\n GetKeyBlockMicroBlocksOptionalParams,\n GetKeyBlockMicroBlocksResponse,\n GetMicroBlockOptionalParams,\n GetMicroBlockResponse,\n GetMicroBlockTransactionsOptionalParams,\n GetMicroBlockTransactionsResponse,\n GetNamesOptionalParams,\n GetNamesResponse,\n GetNamesAuctionsOptionalParams,\n GetNamesAuctionsResponse,\n GetNameAuctionOptionalParams,\n GetNameAuctionResponse,\n GetNameAuctionClaimsOptionalParams,\n GetNameAuctionClaimsResponse,\n GetNamesCountOptionalParams,\n GetNamesCountResponse,\n GetNameOptionalParams,\n GetNameResponse,\n GetNameClaimsOptionalParams,\n GetNameClaimsResponse,\n GetNameTransfersOptionalParams,\n GetNameTransfersResponse,\n GetNameUpdatesOptionalParams,\n GetNameUpdatesResponse,\n GetOraclesOptionalParams,\n GetOraclesResponse,\n GetOracleOptionalParams,\n GetOracleResponse,\n GetOracleExtendsOptionalParams,\n GetOracleExtendsResponse,\n GetOracleQueriesOptionalParams,\n GetOracleQueriesResponse,\n GetOracleResponsesOptionalParams,\n GetOracleResponsesResponse,\n GetStatsOptionalParams,\n GetStatsResponse,\n GetBlocksStatsOptionalParams,\n GetBlocksStatsResponse,\n GetDeltaStatsOptionalParams,\n GetDeltaStatsResponse,\n GetMinerStatsOptionalParams,\n GetMinerStatsResponse,\n GetNamesStatsOptionalParams,\n GetNamesStatsResponse,\n GetTotalStatsOptionalParams,\n GetTotalStatsResponse,\n GetTransactionsStatsOptionalParams,\n GetTransactionsStatsResponse,\n GetStatusOptionalParams,\n GetStatusResponse,\n GetTransactionsOptionalParams,\n GetTransactionsResponse,\n GetTransactionsCountOptionalParams,\n GetTransactionsCountResponse,\n GetTransactionOptionalParams,\n GetTransactionResponse,\n GetTransfersOptionalParams,\n GetTransfersResponse,\n} from \"./models/index.js\";\n\nexport class Middleware extends coreClient.ServiceClient {\n readonly $host: string;\n\n /**\n * Initializes a new instance of the Middleware class.\n * @param $host server parameter\n * @param options The parameter options\n */\n constructor($host: string, options?: MiddlewareOptionalParams) {\n if ($host === undefined) {\n throw new Error(\"'$host' cannot be null\");\n }\n\n // Initializing default values for options\n if (!options) {\n options = {};\n }\n const defaults: MiddlewareOptionalParams = {\n requestContentType: \"application/json; charset=utf-8\",\n };\n\n const packageDetails = `azsdk-js-middleware/1.0.0-beta.1`;\n const userAgentPrefix =\n options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`\n : `${packageDetails}`;\n\n const optionsWithDefaults = {\n ...defaults,\n ...options,\n userAgentOptions: {\n userAgentPrefix,\n },\n endpoint: options.endpoint ?? options.baseUri ?? \"{$host}\",\n };\n super(optionsWithDefaults);\n // Parameter assignments\n this.$host = $host;\n }\n\n /**\n * Get tokens owned by an account.\n * @param accountId The account id Account address\n * @param options The options parameters.\n */\n getAex141OwnedTokens(\n accountId: `ak_${string}`,\n options?: GetAex141OwnedTokensOptionalParams,\n ): Promise<GetAex141OwnedTokensResponse> {\n return this.sendOperationRequest(\n { accountId, options },\n getAex141OwnedTokensOperationSpec,\n );\n }\n\n /**\n * Get all AEX9 balances for an account on the last block.\n * @param accountId Account id Account address\n * @param options The options parameters.\n */\n getAex9AccountBalances(\n accountId: `ak_${string}`,\n options?: GetAex9AccountBalancesOptionalParams,\n ): Promise<GetAex9AccountBalancesResponse> {\n return this.sendOperationRequest(\n { accountId, options },\n getAex9AccountBalancesOperationSpec,\n );\n }\n\n /**\n * Get DEX swap tokens\n * @param accountId The account id Account address\n * @param options The options parameters.\n */\n getAccountDexSwaps(\n accountId: `ak_${string}`,\n options?: GetAccountDexSwapsOptionalParams,\n ): Promise<GetAccountDexSwapsResponse> {\n return this.sendOperationRequest(\n { accountId, options },\n getAccountDexSwapsOperationSpec,\n );\n }\n\n /**\n * Get an account activities.\n * @param id The account address Account address\n * @param options The options parameters.\n */\n getAccountActivities(\n id: `ak_${string}`,\n options?: GetAccountActivitiesOptionalParams,\n ): Promise<GetAccountActivitiesResponse> {\n return this.sendOperationRequest(\n { id, options },\n getAccountActivitiesOperationSpec,\n );\n }\n\n /**\n * Get account pointees\n * @param id The account that names point to Account address\n * @param options The options parameters.\n */\n getAccountPointees(\n id: `ak_${string}`,\n options?: GetAccountPointeesOptionalParams,\n ): Promise<GetAccountPointeesResponse> {\n return this.sendOperationRequest(\n { id, options },\n getAccountPointeesOperationSpec,\n );\n }\n\n /**\n * Get transactions count and its type for given aeternity ID.\n * @param id The ID of the address/name/oracle/etc Account address\n * @param options The options parameters.\n */\n getAccountTransactionsCount(\n id: `ak_${string}`,\n options?: GetAccountTransactionsCountOptionalParams,\n ): Promise<GetAccountTransactionsCountResponse> {\n return this.sendOperationRequest(\n { id, options },\n getAccountTransactionsCountOperationSpec,\n );\n }\n\n /**\n * Get AEX141 contracts sorted by creation time, name or symbol.\n * @param options The options parameters.\n */\n getSortedAex141Contracts(\n options?: GetSortedAex141ContractsOptionalParams,\n ): Promise<GetSortedAex141ContractsResponse> {\n return this.sendOperationRequest(\n { options },\n getSortedAex141ContractsOperationSpec,\n );\n }\n\n /**\n * Get templates AEX-141 contract tokens.\n * @param contractId The contract id Contract address\n * @param options The options parameters.\n */\n getAex141ContractTemplates(\n contractId: `ct_${string}`,\n options?: GetAex141ContractTemplatesOptionalParams,\n ): Promise<GetAex141ContractTemplatesResponse> {\n return this.sendOperationRequest(\n { contractId, options },\n getAex141ContractTemplatesOperationSpec,\n );\n }\n\n /**\n * Get AEX-141 template tokens.\n * @param contractId Contract id Contract address\n * @param templateId Template id\n * @param options The options parameters.\n */\n getAex141TemplateTokens(\n contractId: `ct_${string}`,\n templateId: number,\n options?: GetAex141TemplateTokensOptionalParams,\n ): Promise<GetAex141TemplateTokensResponse> {\n return this.sendOperationRequest(\n { contractId, templateId, options },\n getAex141TemplateTokensOperationSpec,\n );\n }\n\n /**\n * Get owners of tokens of a AEX-141 contract.\n * @param contractId The contract id Contract address\n * @param options The options parameters.\n */\n getAex141ContractTokens(\n contractId: `ct_${string}`,\n options?: GetAex141ContractTokensOptionalParams,\n ): Promise<GetAex141ContractTokensResponse> {\n return this.sendOperationRequest(\n { contractId, options },\n getAex141ContractTokensOperationSpec,\n );\n }\n\n /**\n * Get owner of a NFT (AEX-141 token).\n * @param contractId The contract id Contract address\n * @param tokenId The nft token id\n * @param options The options parameters.\n */\n getAex141TokenOwner(\n contractId: `ct_${string}`,\n tokenId: number,\n options?: GetAex141TokenOwnerOptionalParams,\n ): Promise<GetAex141TokenOwnerResponse> {\n return this.sendOperationRequest(\n { contractId, tokenId, options },\n getAex141TokenOwnerOperationSpec,\n );\n }\n\n /**\n * Get AEX-141 transfers on a contract.\n * @param contractId Contract id Contract address\n * @param options The options parameters.\n */\n getAex141ContractTransfers(\n contractId: `ct_${string}`,\n options?: GetAex141ContractTransfersOptionalParams,\n ): Promise<GetAex141ContractTransfersResponse> {\n return this.sendOperationRequest(\n { contractId, options },\n getAex141ContractTransfersOperationSpec,\n );\n }\n\n /**\n * Get AEX141 contract meta-info, extensions, limits and stats.\n * @param id The contract id Contract address\n * @param options The options parameters.\n */\n getAex141ByContract(\n id: `ct_${string}`,\n options?: GetAex141ByContractOptionalParams,\n ): Promise<GetAex141ByContractResponse> {\n return this.sendOperationRequest(\n { id, options },\n getAex141ByContractOperationSpec,\n );\n }\n\n /**\n * Get AEX9 tokens sorted by creation time, name or symbol.\n * @param options The options parameters.\n */\n getSortedAex9Tokens(\n options?: GetSortedAex9TokensOptionalParams,\n ): Promise<GetSortedAex9TokensResponse> {\n return this.sendOperationRequest(\n { options },\n getSortedAex9TokensOperationSpec,\n );\n }\n\n /**\n * Get AEX9 tokens count.\n * @param options The options parameters.\n */\n getAex9TokensCount(\n options?: GetAex9TokensCountOptionalParams,\n ): Promise<GetAex9TokensCountResponse> {\n return this.sendOperationRequest(\n { options },\n getAex9TokensCountOperationSpec,\n );\n }\n\n /**\n * Get AEX9 balances on a contract.\n * @param contractId Contract id Contract address\n * @param options The options parameters.\n */\n getAex9ContractBalances(\n contractId: `ct_${string}`,\n options?: GetAex9ContractBalancesOptionalParams,\n ): Promise<GetAex9ContractBalancesResponse> {\n return this.sendOperationRequest(\n { contractId, options },\n getAex9ContractBalancesOperationSpec,\n );\n }\n\n /**\n * Get AEX9 balance for an account on a contract.\n * @param contractId Contract id Contract address\n * @param accountId Account id Account address\n * @param options The options parameters.\n */\n getAex9ContractAccountBalance(\n contractId: `ct_${string}`,\n accountId: `ak_${string}`,\n options?: GetAex9ContractAccountBalanceOptionalParams,\n ): Promise<GetAex9ContractAccountBalanceResponse> {\n return this.sendOperationRequest(\n { contractId, accountId, options },\n getAex9ContractAccountBalanceOperationSpec,\n );\n }\n\n /**\n * Get AEX9 account balance on a contract throughout all heights when changed.\n * @param contractId Contract id Contract address\n * @param accountId Account id Account address\n * @param options The options parameters.\n */\n getAex9ContractAccountBalanceHistory(\n contractId: `ct_${string}`,\n accountId: `ak_${string}`,\n options?: GetAex9ContractAccountBalanceHistoryOptionalParams,\n ): Promise<GetAex9ContractAccountBalanceHistoryResponse> {\n return this.sendOperationRequest(\n { contractId, accountId, options },\n getAex9ContractAccountBalanceHistoryOperationSpec,\n );\n }\n\n /**\n * Get AEX9 creation and meta_info information by contract id.\n * @param id The contract id Contract address\n * @param options The options parameters.\n */\n getAex9ByContract(\n id: `ct_${string}`,\n options?: GetAex9ByContractOptionalParams,\n ): Promise<GetAex9ByContractResponse> {\n return this.sendOperationRequest(\n { id, options },\n getAex9ByContractOperationSpec,\n );\n }\n\n /**\n * Get multiple channels.\n * @param options The options parameters.\n */\n getChannels(\n options?: GetChannelsOptionalParams,\n ): Promise<GetChannelsResponse> {\n return this.sendOperationRequest({ options }, getChannelsOperationSpec);\n }\n\n /**\n * Get a single channel.\n * @param id The channel Channel ID\n * @param options The options parameters.\n */\n getChannel(\n id: `ch_${string}`,\n options?: GetChannelOptionalParams,\n ): Promise<GetChannelResponse> {\n return this.sendOperationRequest({ id, options }, getChannelOperationSpec);\n }\n\n /**\n * Get contract calls.\n * @param options The options parameters.\n */\n getContractCalls(\n options?: GetContractCallsOptionalParams,\n ): Promise<GetContractCallsResponse> {\n return this.sendOperationRequest(\n { options },\n getContractCallsOperationSpec,\n );\n }\n\n /**\n * Get contract logs.\n * @param options The options parameters.\n */\n getContractLogs(\n options?: GetContractLogsOptionalParams,\n ): Promise<GetContractLogsResponse> {\n return this.sendOperationRequest({ options }, getContractLogsOperationSpec);\n }\n\n /**\n * Gets contract creation info.\n * @param id Contract that emitted the logs Contract address\n * @param options The options parameters.\n */\n getContract(\n id: `ct_${string}`,\n options?: GetContractOptionalParams,\n ): Promise<GetContractResponse> {\n return this.sendOperationRequest({ id, options }, getContractOperationSpec);\n }\n\n /**\n * Get DEX swap tokens\n * @param options The options parameters.\n */\n getDexSwaps(\n options?: GetDexSwapsOptionalParams,\n ): Promise<GetDexSwapsResponse> {\n return this.sendOperationRequest({ options }, getDexSwapsOperationSpec);\n }\n\n /**\n * Get DEX swap tokens\n * @param contractId The contract id Contract address\n * @param options The options parameters.\n */\n getDexSwapsByContractId(\n contractId: `ct_${string}`,\n options?: GetDexSwapsByContractIdOptionalParams,\n ): Promise<GetDexSwapsByContractIdResponse> {\n return this.sendOperationRequest(\n { contractId, options },\n getDexSwapsByContractIdOperationSpec,\n );\n }\n\n /**\n * Get multiple key blocks.\n * @param options The options parameters.\n */\n getKeyBlocks(\n options?: GetKeyBlocksOptionalParams,\n ): Promise<GetKeyBlocksResponse> {\n return this.sendOperationRequest({ options }, getKeyBlocksOperationSpec);\n }\n\n /**\n * Get a single key block.\n * @param hashOrKbi The key block encoded hash or key block index \n * @param options The options parameters.\n */\n getKeyBlock(\n hashOrKbi: `kh_${string}` | number,\n options?: GetKeyBlockOptionalParams,\n ): Promise<GetKeyBlockResponse> {\n return this.sendOperationRequest(\n { hashOrKbi, options },\n getKeyBlockOperationSpec,\n );\n }\n\n /**\n * Get the key block micro blocks.\n * @param hashOrKbi The key block encoded hash or key block index \n * @param options The options parameters.\n */\n getKeyBlockMicroBlocks(\n hashOrKbi: `kh_${string}` | number,\n options?: GetKeyBlockMicroBlocksOptionalParams,\n ): Promise<GetKeyBlockMicroBlocksResponse> {\n return this.sendOperationRequest(\n { hashOrKbi, options },\n getKeyBlockMicroBlocksOperationSpec,\n );\n }\n\n /**\n * Get a micro block\n * @param hash The micro block encoded hash Micro block hash\n * @param options The options parameters.\n */\n getMicroBlock(\n hash: `mh_${string}`,\n options?: GetMicroBlockOptionalParams,\n ): Promise<GetMicroBlockResponse> {\n return this.sendOperationRequest(\n { hash, options },\n getMicroBlockOperationSpec,\n );\n }\n\n /**\n * Get a micro block transactions\n * @param hash The micro block encoded hash Micro block hash\n * @param options The options parameters.\n */\n getMicroBlockTransactions(\n hash: `mh_${string}`,\n options?: GetMicroBlockTransactionsOptionalParams,\n ): Promise<GetMicroBlockTransactionsResponse> {\n return this.sendOperationRequest(\n { hash, options },\n getMicroBlockTransactionsOperationSpec,\n );\n }\n\n /**\n * Get multiple names.\n * @param options The options parameters.\n */\n getNames(options?: GetNamesOptionalParams): Promise<GetNamesResponse> {\n return this.sendOperationRequest({ options }, getNamesOperationSpec);\n }\n\n /**\n * Get multiple names.\n * @param options The options parameters.\n */\n getNamesAuctions(\n options?: GetNamesAuctionsOptionalParams,\n ): Promise<GetNamesAuctionsResponse> {\n return this.sendOperationRequest(\n { options },\n getNamesAuctionsOperationSpec,\n );\n }\n\n /**\n * Get name auction\n * @param id The name \n * @param options The options parameters.\n */\n getNameAuction(\n id: `${string}.chain` | `nm_${string}`,\n options?: GetNameAuctionOptionalParams,\n ): Promise<GetNameAuctionResponse> {\n return this.sendOperationRequest(\n { id, options },\n getNameAuctionOperationSpec,\n );\n }\n\n /**\n * Get name auction claims\n * @param id The name \n * @param options The options parameters.\n */\n getNameAuctionClaims(\n id: `${string}.chain` | `nm_${string}`,\n options?: GetNameAuctionClaimsOptionalParams,\n ): Promise<GetNameAuctionClaimsResponse> {\n return this.sendOperationRequest(\n { id, options },\n getNameAuctionClaimsOperationSpec,\n );\n }\n\n /**\n * Get the total number of active names.\n * @param options The options parameters.\n */\n getNamesCount(\n options?: GetNamesCountOptionalParams,\n ): Promise<GetNamesCountResponse> {\n return this.sendOperationRequest({ options }, getNamesCountOperationSpec);\n }\n\n /**\n * Get a single name.\n * @param id The name \n * @param options The options parameters.\n */\n getName(\n id: `${string}.chain` | `nm_${string}`,\n options?: GetNameOptionalParams,\n ): Promise<GetNameResponse> {\n return this.sendOperationRequest({ id, options }, getNameOperationSpec);\n }\n\n /**\n * Get name claims\n * @param id The name or name hash \n * @param options The options parameters.\n */\n getNameClaims(\n id: `${string}.chain` | `nm_${string}`,\n options?: GetNameClaimsOptionalParams,\n ): Promise<GetNameClaimsResponse> {\n return this.sendOperationRequest(\n { id, options },\n getNameClaimsOperationSpec,\n );\n }\n\n /**\n * Get name transfers\n * @param id The name or name hash \n * @param options The options parameters.\n */\n getNameTransfers(\n id: `${string}.chain` | `nm_${string}`,\n options?: GetNameTransfersOptionalParams,\n ): Promise<GetNameTransfersResponse> {\n return this.sendOperationRequest(\n { id, options },\n getNameTransfersOperationSpec,\n );\n }\n\n /**\n * Get name updates\n * @param id The name or name hash \n * @param options The options parameters.\n */\n getNameUpdates(\n id: `${string}.chain` | `nm_${string}`,\n options?: GetNameUpdatesOptionalParams,\n ): Promise<GetNameUpdatesResponse> {\n return this.sendOperationRequest(\n { id, options },\n getNameUpdatesOperationSpec,\n );\n }\n\n /**\n * Get multiple oracles.\n * @param options The options parameters.\n */\n getOracles(options?: GetOraclesOptionalParams): Promise<GetOraclesResponse> {\n return this.sendOperationRequest({ options }, getOraclesOperationSpec);\n }\n\n /**\n * Get a single oracle.\n * @param id The oracle Oracle address\n * @param options The options parameters.\n */\n getOracle(\n id: `ok_${string}`,\n options?: GetOracleOptionalParams,\n ): Promise<GetOracleResponse> {\n return this.sendOperationRequest({ id, options }, getOracleOperationSpec);\n }\n\n /**\n * Get an oracle's extensions.\n * @param id The oracle Oracle address\n * @param options The options parameters.\n */\n getOracleExtends(\n id: `ok_${string}`,\n options?: GetOracleExtendsOptionalParams,\n ): Promise<GetOracleExtendsResponse> {\n return this.sendOperationRequest(\n { id, options },\n getOracleExtendsOperationSpec,\n );\n }\n\n /**\n * Get an oracle's queries.\n * @param id The oracle Oracle address\n * @param options The options parameters.\n */\n getOracleQueries(\n id: `ok_${string}`,\n options?: GetOracleQueriesOptionalParams,\n ): Promise<GetOracleQueriesResponse> {\n return this.sendOperationRequest(\n { id, options },\n getOracleQueriesOperationSpec,\n );\n }\n\n /**\n * Get an oracle's responses.\n * @param id The oracle Oracle address\n * @param options The options parameters.\n */\n getOracleResponses(\n id: `ok_${string}`,\n options?: GetOracleResponsesOptionalParams,\n ): Promise<GetOracleResponsesResponse> {\n return this.sendOperationRequest(\n { id, options },\n getOracleResponsesOperationSpec,\n );\n }\n\n /**\n * Get stats.\n * @param options The options parameters.\n */\n getStats(options?: GetStatsOptionalParams): Promise<GetStatsResponse> {\n return this.sendOperationRequest({ options }, getStatsOperationSpec);\n }\n\n /**\n * Get total blocks count stats.\n * @param options The options parameters.\n */\n getBlocksStats(\n options?: GetBlocksStatsOptionalParams,\n ): Promise<GetBlocksStatsResponse> {\n return this.sendOperationRequest({ options }, getBlocksStatsOperationSpec);\n }\n\n /**\n * Get delta stats.\n * @param options The options parameters.\n */\n getDeltaStats(\n options?: GetDeltaStatsOptionalParams,\n ): Promise<GetDeltaStatsResponse> {\n return this.sendOperationRequest({ options }, getDeltaStatsOperationSpec);\n }\n\n /**\n * Get miners list with total rewards obtained through mining.\n * @param options The options parameters.\n */\n getMinerStats(\n options?: GetMinerStatsOptionalParams,\n ): Promise<GetMinerStatsResponse> {\n return this.sendOperationRequest({ options }, getMinerStatsOperationSpec);\n }\n\n /**\n * Get total names count stats.\n * @param options The options parameters.\n */\n getNamesStats(\n options?: GetNamesStatsOptionalParams,\n ): Promise<GetNamesStatsResponse> {\n return this.sendOperationRequest({ options }, getNamesStatsOperationSpec);\n }\n\n /**\n * Get total accumulated stats.\n * @param options The options parameters.\n */\n getTotalStats(\n options?: GetTotalStatsOptionalParams,\n ): Promise<GetTotalStatsResponse> {\n return this.sendOperationRequest({ options }, getTotalStatsOperationSpec);\n }\n\n /**\n * Get total transactions count stats.\n * @param options The options parameters.\n */\n getTransactionsStats(\n options?: GetTransactionsStatsOptionalParams,\n ): Promise<GetTransactionsStatsResponse> {\n return this.sendOperationRequest(\n { options },\n getTransactionsStatsOperationSpec,\n );\n }\n\n /**\n * Gets the current syncing status of both middleware and the node\n * @param options The options parameters.\n */\n getStatus(options?: GetStatusOptionalParams): Promise<GetStatusResponse> {\n return this.sendOperationRequest({ options }, getStatusOperationSpec);\n }\n\n /**\n * Get multiple transactions.\n * @param options The options parameters.\n */\n getTransactions(\n options?: GetTransactionsOptionalParams,\n ): Promise<GetTransactionsResponse> {\n return this.sendOperationRequest({ options }, getTransactionsOperationSpec);\n }\n\n /**\n * Get count of transactions at the latest height.\n * @param options The options parameters.\n */\n getTransactionsCount(\n options?: GetTransactionsCountOptionalParams,\n ): Promise<GetTransactionsCountResponse> {\n return this.sendOperationRequest(\n { options },\n getTransactionsCountOperationSpec,\n );\n }\n\n /**\n * Get a single transaction.\n * @param hash The transaction encoded hash Transaction hash\n * @param options The options parameters.\n */\n getTransaction(\n hash: `th_${string}`,\n options?: GetTransactionOptionalParams,\n ): Promise<GetTransactionResponse> {\n return this.sendOperationRequest(\n { hash, options },\n getTransactionOperationSpec,\n );\n }\n\n /**\n * Get multiple transfers.\n * @param options The options parameters.\n */\n getTransfers(\n options?: GetTransfersOptionalParams,\n ): Promise<GetTransfersResponse> {\n return this.sendOperationRequest({ options }, getTransfersOperationSpec);\n }\n}\n// Operation Specifications\nconst serializer = createSerializer(Mappers, /* isXml */ false);\n\nconst getAex141OwnedTokensOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/accounts/{accountId}/aex141/tokens\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.Paths3Hsv3GV3AccountsAccountidAex141TokensGetResponses200ContentApplicationJsonSchema,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n },\n queryParameters: [\n Parameters.limit,\n Parameters.direction,\n Parameters.contract,\n ],\n urlParameters: [Parameters.$host, Parameters.accountId],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getAex9AccountBalancesOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/accounts/{accountId}/aex9/balances\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.PathsKm52GqV3AccountsAccountidAex9BalancesGetResponses200ContentApplicationJsonSchema,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host, Parameters.accountId],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getAccountDexSwapsOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/accounts/{account_id}/dex/swaps\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.Paths1Ceolv9V3AccountsAccountIdDexSwapsGetResponses200ContentApplicationJsonSchema,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n },\n queryParameters: [Parameters.direction1],\n urlParameters: [Parameters.$host, Parameters.accountId1],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getAccountActivitiesOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/accounts/{id}/activities\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.Paths1Opead5V3AccountsIdActivitiesGetResponses200ContentApplicationJsonSchema,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n },\n queryParameters: [\n Parameters.limit,\n Parameters.ownedOnly,\n Parameters.typeParam,\n Parameters.scope,\n Parameters.direction2,\n ],\n urlParameters: [Parameters.$host, Parameters.id],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getAccountPointeesOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/accounts/{id}/names/pointees\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.Paths1Gc4HwtV3AccountsIdNamesPointeesGetResponses200ContentApplicationJsonSchema,\n },\n 404: {\n bodyMapper: Mappers.NotFoundResponse,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host, Parameters.id],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getAccountTransactionsCountOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/transactions/count/{id}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.PathsLv15NfV3TransactionsCountIdGetResponses200ContentApplicationJsonSchema,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host, Parameters.id],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getSortedAex141ContractsOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/aex141\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.Paths1XwlyjtV3Aex141GetResponses200ContentApplicationJsonSchema,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n },\n queryParameters: [\n Parameters.limit,\n Parameters.direction3,\n Parameters.by,\n Parameters.prefix,\n Parameters.exact,\n ],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getAex141ContractTemplatesOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/aex141/{contractId}/templates\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.Paths181AjwxV3Aex141ContractidTemplatesGetResponses200ContentApplicationJsonSchema,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n },\n queryParameters: [Parameters.limit, Parameters.direction4],\n urlParameters: [Parameters.$host, Parameters.contractId],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getAex141TemplateTokensOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/aex141/{contractId}/templates/{templateId}/tokens\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.Paths15Mi2TaV3Aex141ContractidTemplatesTemplateidTokensGetResponses200ContentApplicationJsonSchema,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n },\n queryParameters: [Parameters.limit, Parameters.direction5],\n urlParameters: [\n Parameters.$host,\n Parameters.contractId,\n Parameters.templateId,\n ],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getAex141ContractTokensOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/aex141/{contractId}/tokens\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.PathsWl652MV3Aex141ContractidTokensGetResponses200ContentApplicationJsonSchema,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n },\n queryParameters: [Parameters.limit, Parameters.direction6],\n urlParameters: [Parameters.$host, Parameters.contractId],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getAex141TokenOwnerOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/aex141/{contractId}/tokens/{tokenId}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.Paths1Fbvaw8V3Aex141ContractidTokensTokenidGetResponses200ContentApplicationJsonSchema,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host, Parameters.contractId, Parameters.tokenId],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getAex141ContractTransfersOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/aex141/{contractId}/transfers\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.Paths1O7Q6IhV3Aex141ContractidTransfersGetResponses200ContentApplicationJsonSchema,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n },\n queryParameters: [\n Parameters.limit,\n Parameters.direction7,\n Parameters.fromParam,\n Parameters.to,\n ],\n urlParameters: [Parameters.$host, Parameters.contractId],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getAex141ByContractOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/aex141/{id}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.Aex141Response,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host, Parameters.id1],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getSortedAex9TokensOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/aex9\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.Paths1Vr3Y2EV3Aex9GetResponses200ContentApplicationJsonSchema,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n },\n queryParameters: [\n Parameters.limit,\n Parameters.prefix,\n Parameters.exact,\n Parameters.direction8,\n Parameters.by1,\n ],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getAex9TokensCountOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/aex9/count\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.Paths19IxhsmV3Aex9CountGetResponses200ContentApplicationJsonSchema,\n },\n },\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getAex9ContractBalancesOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/aex9/{contractId}/balances\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.Paths1N61UurV3Aex9ContractidBalancesGetResponses200ContentApplicationJsonSchema,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n },\n queryParameters: [\n Parameters.limit,\n Parameters.direction9,\n Parameters.by2,\n Parameters.blockHash,\n ],\n urlParameters: [Parameters.$host, Parameters.contractId],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getAex9ContractAccountBalanceOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/aex9/{contractId}/balances/{accountId}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.PathsKr825V3Aex9ContractidBalancesAccountidGetResponses200ContentApplicationJsonSchema,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n },\n queryParameters: [Parameters.hash],\n urlParameters: [\n Parameters.$host,\n Parameters.accountId,\n Parameters.contractId,\n ],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getAex9ContractAccountBalanceHistoryOperationSpec: coreClient.OperationSpec =\n {\n path: \"/v3/aex9/{contractId}/balances/{accountId}/history\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.Paths1Uybd4PV3Aex9ContractidBalancesAccountidHistoryGetResponses200ContentApplicationJsonSchema,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n },\n queryParameters: [\n Parameters.limit,\n Parameters.scope,\n Parameters.direction10,\n ],\n urlParameters: [\n Parameters.$host,\n Parameters.accountId,\n Parameters.contractId,\n ],\n headerParameters: [Parameters.accept],\n serializer,\n };\nconst getAex9ByContractOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/aex9/{id}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.Aex9Response,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host, Parameters.id1],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getChannelsOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/channels\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.Paths3EzhapV3ChannelsGetResponses200ContentApplicationJsonSchema,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n },\n queryParameters: [\n Parameters.limit,\n Parameters.scope,\n Parameters.direction11,\n Parameters.state,\n ],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getChannelOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/channels/{id}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.Channel,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n 404: {\n bodyMapper: Mappers.NotFoundResponse,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host, Parameters.id2],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getContractCallsOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/contracts/calls\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.Paths1Txblx8V3ContractsCallsGetResponses200ContentApplicationJsonSchema,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n },\n queryParameters: [Parameters.limit, Parameters.scope, Parameters.direction12],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getContractLogsOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/contracts/logs\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.Paths7A1M6RV3ContractsLogsGetResponses200ContentApplicationJsonSchema,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n },\n queryParameters: [\n Parameters.limit,\n Parameters.scope,\n Parameters.contractId1,\n Parameters.event,\n Parameters.functionParam,\n Parameters.functionPrefix,\n Parameters.data,\n Parameters.aexnArgs,\n Parameters.direction13,\n ],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getContractOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/contracts/{id}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.Contract,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n 404: {\n bodyMapper: Mappers.NotFoundResponse,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host, Parameters.id1],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getDexSwapsOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/dex/swaps\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.Paths1Di8FnjV3DexSwapsGetResponses200ContentApplicationJsonSchema,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n },\n queryParameters: [Parameters.direction14],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getDexSwapsByContractIdOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/dex/{contract_id}/swaps\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.PathsKwxlzlV3DexContractIdSwapsGetResponses200ContentApplicationJsonSchema,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n },\n queryParameters: [Parameters.direction15],\n urlParameters: [Parameters.$host, Parameters.contractId2],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getKeyBlocksOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/key-blocks\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.Paths277OngV3KeyBlocksGetResponses200ContentApplicationJsonSchema,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n },\n queryParameters: [Parameters.limit, Parameters.scope, Parameters.direction16],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getKeyBlockOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/key-blocks/{hash_or_kbi}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.KeyBlock,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n 404: {\n bodyMapper: Mappers.NotFoundResponse,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host, Parameters.hashOrKbi],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getKeyBlockMicroBlocksOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/key-blocks/{hash_or_kbi}/micro-blocks\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.Paths1159W94V3KeyBlocksHashOrKbiMicroBlocksGetResponses200ContentApplicationJsonSchema,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n },\n queryParameters: [Parameters.limit, Parameters.scope, Parameters.direction17],\n urlParameters: [Parameters.$host, Parameters.hashOrKbi],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getMicroBlockOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/micro-blocks/{hash}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.MicroBlock,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n 404: {\n bodyMapper: Mappers.NotFoundResponse,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host, Parameters.hash1],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getMicroBlockTransactionsOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/micro-blocks/{hash}/transactions\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.Paths15Bkk50V3MicroBlocksHashTransactionsGetResponses200ContentApplicationJsonSchema,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host, Parameters.hash1],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getNamesOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/names\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.Paths12S1Nd4V3NamesGetResponses200ContentApplicationJsonSchema,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n },\n queryParameters: [\n Parameters.limit,\n Parameters.prefix,\n Parameters.by2,\n Parameters.ownedBy,\n Parameters.state1,\n Parameters.direction18,\n ],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getNamesAuctionsOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/names/auctions\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.PathsKjq4D4V3NamesAuctionsGetResponses200ContentApplicationJsonSchema,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n },\n queryParameters: [Parameters.limit, Parameters.scope, Parameters.direction19],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getNameAuctionOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/names/auctions/{id}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.Auction,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n 404: {\n bodyMapper: Mappers.NotFoundResponse,\n isError: true,\n },\n },\n queryParameters: [Parameters.limit, Parameters.scope, Parameters.direction20],\n urlParameters: [Parameters.$host, Parameters.id3],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getNameAuctionClaimsOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/names/auctions/{id}/claims\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.PathsCrb9BgV3NamesAuctionsIdClaimsGetResponses200ContentApplicationJsonSchema,\n },\n 404: {\n bodyMapper: Mappers.NotFoundResponse,\n isError: true,\n },\n },\n queryParameters: [Parameters.limit, Parameters.scope, Parameters.direction21],\n urlParameters: [Parameters.$host, Parameters.id3],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getNamesCountOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/names/count\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: { type: { name: \"Number\" } },\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n },\n queryParameters: [Parameters.ownedBy],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getNameOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/names/{id}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.Name,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n 404: {\n bodyMapper: Mappers.NotFoundResponse,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host, Parameters.id3],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getNameClaimsOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/names/{id}/claims\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.Paths1F98AqgV3NamesIdClaimsGetResponses200ContentApplicationJsonSchema,\n },\n 404: {\n bodyMapper: Mappers.NotFoundResponse,\n isError: true,\n },\n },\n queryParameters: [Parameters.limit, Parameters.scope, Parameters.direction22],\n urlParameters: [Parameters.$host, Parameters.id3],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getNameTransfersOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/names/{id}/transfers\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.Paths1Raw8PV3NamesIdTransfersGetResponses200ContentApplicationJsonSchema,\n },\n 404: {\n bodyMapper: Mappers.NotFoundResponse,\n isError: true,\n },\n },\n queryParameters: [Parameters.limit, Parameters.scope, Parameters.direction23],\n urlParameters: [Parameters.$host, Parameters.id3],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getNameUpdatesOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/names/{id}/updates\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.Paths1Ec8CltV3NamesIdUpdatesGetResponses200ContentApplicationJsonSchema,\n },\n 404: {\n bodyMapper: Mappers.NotFoundResponse,\n isError: true,\n },\n },\n queryParameters: [Parameters.limit, Parameters.scope, Parameters.direction24],\n urlParameters: [Parameters.$host, Parameters.id3],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getOraclesOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/oracles\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.Paths1E14NekV3OraclesGetResponses200ContentApplicationJsonSchema,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n },\n queryParameters: [\n Parameters.limit,\n Parameters.scope,\n Parameters.state1,\n Parameters.direction25,\n ],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getOracleOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/oracles/{id}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.Oracle,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n 404: {\n bodyMapper: Mappers.NotFoundResponse,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host, Parameters.id4],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getOracleExtendsOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/oracles/{id}/extends\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.Paths1L5C64RV3OraclesIdExtendsGetResponses200ContentApplicationJsonSchema,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n 404: {\n bodyMapper: Mappers.NotFoundResponse,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host, Parameters.id4],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getOracleQueriesOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/oracles/{id}/queries\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.Paths8722JhV3OraclesIdQueriesGetResponses200ContentApplicationJsonSchema,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n 404: {\n bodyMapper: Mappers.NotFoundResponse,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host, Parameters.id4],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getOracleResponsesOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/oracles/{id}/responses\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.PathsVron83V3OraclesIdResponsesGetResponses200ContentApplicationJsonSchema,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n 404: {\n bodyMapper: Mappers.NotFoundResponse,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host, Parameters.id4],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getStatsOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/stats\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.Stats,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getBlocksStatsOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/statistics/blocks\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.PathsJd68YV3StatisticsBlocksGetResponses200ContentApplicationJsonSchema,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n },\n queryParameters: [\n Parameters.limit,\n Parameters.intervalBy,\n Parameters.minStartDate,\n Parameters.maxStartDate,\n Parameters.typeParam1,\n Parameters.direction26,\n ],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getDeltaStatsOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/deltastats\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.PathsQtodvgV3DeltastatsGetResponses200ContentApplicationJsonSchema,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n },\n queryParameters: [Parameters.limit, Parameters.scope, Parameters.direction27],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getMinerStatsOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/minerstats\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.PathsZ2B507V3MinerstatsGetResponses200ContentApplicationJsonSchema,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n },\n queryParameters: [Parameters.limit, Parameters.direction28],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getNamesStatsOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/statistics/names\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.PathsD2HmjxV3StatisticsNamesGetResponses200ContentApplicationJsonSchema,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n },\n queryParameters: [\n Parameters.limit,\n Parameters.minStartDate,\n Parameters.maxStartDate,\n Parameters.intervalBy1,\n Parameters.direction29,\n ],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getTotalStatsOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/totalstats\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.PathsFrvc1LV3TotalstatsGetResponses200ContentApplicationJsonSchema,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n },\n queryParameters: [Parameters.limit, Parameters.scope, Parameters.direction30],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getTransactionsStatsOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/statistics/transactions\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.Paths150Ou6YV3StatisticsTransactionsGetResponses200ContentApplicationJsonSchema,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n },\n queryParameters: [\n Parameters.limit,\n Parameters.minStartDate,\n Parameters.maxStartDate,\n Parameters.intervalBy2,\n Parameters.txType,\n Parameters.direction31,\n ],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getStatusOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/status\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.Status,\n },\n },\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getTransactionsOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/transactions\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.Paths1Pymq07V3TransactionsGetResponses200ContentApplicationJsonSchema,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n },\n queryParameters: [\n Parameters.limit,\n Parameters.contract,\n Parameters.scope,\n Parameters.typeParam2,\n Parameters.typeGroup,\n Parameters.account,\n Parameters.channel,\n Parameters.oracle,\n Parameters.senderId,\n Parameters.recipientId,\n Parameters.entrypoint,\n Parameters.direction32,\n ],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getTransactionsCountOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/transactions/count\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: { type: { name: \"Number\" } },\n },\n },\n queryParameters: [Parameters.scope, Parameters.txType, Parameters.id5],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getTransactionOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/transactions/{hash}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.Transaction,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n 404: {\n bodyMapper: Mappers.NotFoundResponse,\n isError: true,\n },\n },\n urlParameters: [Parameters.$host, Parameters.hash2],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getTransfersOperationSpec: coreClient.OperationSpec = {\n path: \"/v3/transfers\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper:\n Mappers.PathsA7P0KiV3TransfersGetResponses200ContentApplicationJsonSchema,\n },\n 400: {\n bodyMapper: Mappers.ErrorResponse,\n isError: true,\n },\n },\n queryParameters: [Parameters.limit, Parameters.scope, Parameters.direction33],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept],\n serializer,\n};\n\nexport const operationSpecs = [\n getAex141OwnedTokensOperationSpec,\n getAex9AccountBalancesOperationSpec,\n getAccountDexSwapsOperationSpec,\n getAccountActivitiesOperationSpec,\n getAccountPointeesOperationSpec,\n getAccountTransactionsCountOperationSpec,\n getSortedAex141ContractsOperationSpec,\n getAex141ContractTemplatesOperationSpec,\n getAex141TemplateTokensOperationSpec,\n getAex141ContractTokensOperationSpec,\n getAex141TokenOwnerOperationSpec,\n getAex141ContractTransfersOperationSpec,\n getAex141ByContractOperationSpec,\n getSortedAex9TokensOperationSpec,\n getAex9TokensCountOperationSpec,\n getAex9ContractBalancesOperationSpec,\n getAex9ContractAccountBalanceOperationSpec,\n getAex9ByContractOperationSpec,\n getChannelsOperationSpec,\n getChannelOperationSpec,\n getContractCallsOperationSpec,\n getContractLogsOperationSpec,\n getContractOperationSpec,\n getDexSwapsOperationSpec,\n getDexSwapsByContractIdOperationSpec,\n getKeyBlocksOperationSpec,\n getKeyBlockOperationSpec,\n getKeyBlockMicroBlocksOperationSpec,\n getMicroBlockOperationSpec,\n getMicroBlockTransactionsOperationSpec,\n getNamesOperationSpec,\n getNamesAuctionsOperationSpec,\n getNameAuctionOperationSpec,\n getNameAuctionClaimsOperationSpec,\n getNamesCountOperationSpec,\n getNameOperationSpec,\n getNameClaimsOperationSpec,\n getNameTransfersOperationSpec,\n getNameUpdatesOperationSpec,\n getOraclesOperationSpec,\n getOracleOperationSpec,\n getOracleExtendsOperationSpec,\n getOracleQueriesOperationSpec,\n getOracleResponsesOperationSpec,\n getStatsOperationSpec,\n getBlocksStatsOperationSpec,\n getDeltaStatsOperationSpec,\n getMinerStatsOperationSpec,\n getNamesStatsOperationSpec,\n getTotalStatsOperationSpec,\n getTransactionsStatsOperationSpec,\n getStatusOperationSpec,\n getTransactionsOperationSpec,\n getTransactionsCountOperationSpec,\n getTransactionOperationSpec,\n getTransfersOperationSpec,\n] as const;\n","/* eslint-disable max-classes-per-file */\nimport type Middleware from '../Middleware.js';\nimport { BaseError } from './errors.js';\n\nexport interface MiddlewareRawPage {\n data: unknown[];\n next: string | null;\n prev: string | null;\n}\n\nexport function isMiddlewareRawPage(maybePage: unknown): maybePage is MiddlewareRawPage {\n const testPage = maybePage as MiddlewareRawPage;\n return (\n testPage?.data != null &&\n Array.isArray(testPage.data) &&\n 'next' in testPage &&\n 'prev' in testPage\n );\n}\n\n/**\n * @category exception\n */\nexport class MiddlewarePageMissed extends BaseError {\n constructor(isNext: boolean) {\n super(`There is no ${isNext ? 'next' : 'previous'} page`);\n this.name = 'MiddlewarePageMissed';\n }\n}\n\n/**\n * A wrapper around the middleware's page allowing to get the next/previous pages.\n */\nexport class MiddlewarePage<Item> {\n readonly data: Item[];\n\n readonly nextPath: null | string;\n\n readonly prevPath: null | string;\n\n readonly #middleware: Middleware;\n\n constructor(rawPage: MiddlewareRawPage, middleware: Middleware) {\n this.data = rawPage.data as Item[];\n this.nextPath = rawPage.next;\n this.prevPath = rawPage.prev;\n this.#middleware = middleware;\n }\n\n /**\n * Get the next page.\n * Check the presence of `nextPath` to not fall outside existing pages.\n * @throws MiddlewarePageMissed\n */\n async next(): Promise<MiddlewarePage<Item>> {\n if (this.nextPath == null) throw new MiddlewarePageMissed(true);\n return this.#middleware.requestByPath(this.nextPath);\n }\n\n /**\n * Get the previous page.\n * Check the presence of `prevPath` to not fall outside existing pages.\n * @throws MiddlewarePageMissed\n */\n async prev(): Promise<MiddlewarePage<Item>> {\n if (this.prevPath == null) throw new MiddlewarePageMissed(false);\n return this.#middleware.requestByPath(this.prevPath);\n }\n}\n","import { OperationArguments, OperationOptions, OperationSpec } from '@azure/core-client';\nimport { userAgentPolicyName, setClientRequestIdPolicyName } from '@azure/core-rest-pipeline';\nimport {\n genRequestQueuesPolicy,\n genCombineGetRequestsPolicy,\n genErrorFormatterPolicy,\n parseBigIntPolicy,\n genVersionCheckPolicy,\n genRetryOnFailurePolicy,\n} from './utils/autorest.js';\nimport {\n Middleware as MiddlewareApi,\n MiddlewareOptionalParams,\n ErrorResponse,\n} from './apis/middleware/index.js';\nimport { operationSpecs } from './apis/middleware/middleware.js';\nimport { IllegalArgumentError, InternalError } from './utils/errors.js';\nimport { MiddlewarePage, isMiddlewareRawPage } from './utils/MiddlewarePage.js';\n\nexport default class Middleware extends MiddlewareApi {\n /**\n * @param url - Url for middleware API\n * @param options - Options\n * @param options.ignoreVersion - Don't ensure that the middleware is supported\n * @param options.retryCount - Amount of extra requests to do in case of failure\n * @param options.retryOverallDelay - Time in ms to wait between all retries\n */\n constructor(\n url: string,\n {\n ignoreVersion = false,\n retryCount = 3,\n retryOverallDelay = 800,\n ...options\n }: MiddlewareOptionalParams & {\n ignoreVersion?: boolean;\n retryCount?: number;\n retryOverallDelay?: number;\n } = {},\n ) {\n let version: string | undefined;\n const getVersion = async (opts: OperationOptions): Promise<string> => {\n if (version != null) return version;\n version = (await this.getStatus(opts)).mdwVersion;\n return version;\n };\n\n // eslint-disable-next-line constructor-super\n super(url, {\n allowInsecureConnection: true,\n additionalPolicies: [\n ...(ignoreVersion\n ? []\n : [genVersionCheckPolicy('middleware', getVersion, '1.81.0', '2.0.0')]),\n genRequestQueuesPolicy(),\n genCombineGetRequestsPolicy(),\n genRetryOnFailurePolicy(retryCount, retryOverallDelay),\n genErrorFormatterPolicy((body: ErrorResponse) => ` ${body.error}`),\n ],\n ...options,\n });\n this.pipeline.addPolicy(parseBigIntPolicy, { phase: 'Deserialize' });\n this.pipeline.removePolicy({ name: userAgentPolicyName });\n this.pipeline.removePolicy({ name: setClientRequestIdPolicyName });\n // TODO: use instead our retry policy\n this.pipeline.removePolicy({ name: 'defaultRetryPolicy' });\n }\n\n /**\n * Get a middleware response by path instead of a method name and arguments.\n * @param pathWithQuery - a path to request starting with `/v3/`\n */\n async requestByPath<Response = unknown>(pathWithQuery: string): Promise<Response> {\n const queryPos = pathWithQuery.indexOf('?');\n const path = pathWithQuery.slice(0, queryPos === -1 ? pathWithQuery.length : queryPos);\n const query = pathWithQuery.slice(queryPos === -1 ? pathWithQuery.length : queryPos + 1);\n\n const operationSpec = operationSpecs.find((os) => {\n let p = path;\n if (os.path == null) return false;\n const groups = os.path.replace(/{\\w+}/g, '{param}').split('{param}');\n while (groups.length > 0) {\n const part = groups.shift();\n if (part == null) throw new InternalError(`Unexpected operation spec path: ${os.path}`);\n if (!p.startsWith(part)) return false;\n p = p.replace(part, '');\n if (groups.length > 0) p = p.replace(/^[\\w.]+/, '');\n }\n return p === '';\n });\n if (operationSpec == null) {\n throw new IllegalArgumentError(`Can't find operation spec corresponding to ${path}`);\n }\n\n return this.sendOperationRequest(\n {},\n {\n ...operationSpec,\n path,\n urlParameters: operationSpec.urlParameters?.filter(\n ({ parameterPath }) => parameterPath === '$host',\n ),\n queryParameters: Array.from(new URLSearchParams(query)).map(([key, value]) => ({\n parameterPath: ['options', key],\n mapper: {\n defaultValue: value.toString(),\n serializedName: key,\n type: {\n name: 'String',\n },\n },\n })),\n },\n );\n }\n\n override async sendOperationRequest<T>(\n operationArguments: OperationArguments,\n operationSpec: OperationSpec,\n ): Promise<T> {\n const response = await super.sendOperationRequest(operationArguments, operationSpec);\n if (!isMiddlewareRawPage(response)) return response as T;\n return new MiddlewarePage(response, this) as T;\n }\n}\n","import BrowserConnection from './connection/Browser.js';\n\n/**\n * Browser connection proxy\n * Provide functionality to easily forward messages from one connection to another and back\n * @category aepp wallet communication\n * @param con1 - first connection\n * @param con2 - second connection\n * @returns a function to stop proxying\n */\nexport default (con1: BrowserConnection, con2: BrowserConnection): (() => void) => {\n con1.connect(\n (msg: any) => con2.sendMessage(msg),\n () => con2.disconnect(),\n );\n con2.connect(\n (msg: any) => con1.sendMessage(msg),\n () => con1.disconnect(),\n );\n\n return () => {\n con1.disconnect();\n con2.disconnect();\n };\n};\n","import { AlreadyConnectedError, NoWalletConnectedError } from '../../utils/errors.js';\n\n/**\n * Browser connection base interface\n * @category aepp wallet communication\n */\nexport default abstract class BrowserConnection {\n debug: boolean;\n\n protected constructor({ debug = false }: { debug?: boolean }) {\n this.debug = debug;\n }\n\n /**\n * Connect\n * @param onMessage - Message handler\n * @param onDisconnect - trigger when runtime connection in closed\n */\n connect(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onMessage: (message: any, origin: string, source: any) => void,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onDisconnect: () => void,\n ): void {\n if (this.isConnected()) throw new AlreadyConnectedError('You already connected');\n }\n\n /**\n * Disconnect\n */\n disconnect(): void {\n if (!this.isConnected())\n throw new NoWalletConnectedError('You dont have connection. Please connect before');\n }\n\n /**\n * Receive message\n */\n protected receiveMessage(message: any): void {\n if (this.debug) console.log('Receive message:', message);\n }\n\n /**\n * Send message\n */\n sendMessage(message: any): void {\n if (this.debug) console.log('Send message:', message);\n }\n\n /**\n * Check if connected\n * @returns Is connected\n */\n abstract isConnected(): boolean;\n}\n","import BrowserConnection from './Browser.js';\nimport { MESSAGE_DIRECTION } from '../schema.js';\nimport { InternalError, RpcConnectionError } from '../../utils/errors.js';\n\nexport type ImplPostMessage = Pick<\n Window,\n 'addEventListener' | 'removeEventListener' | 'postMessage'\n>;\n\n/**\n * Browser window Post Message connector module\n * @category aepp wallet communication\n */\nexport default class BrowserWindowMessageConnection extends BrowserConnection {\n origin?: string;\n\n sendDirection?: MESSAGE_DIRECTION;\n\n receiveDirection: MESSAGE_DIRECTION;\n\n listener?: (this: Window, ev: MessageEvent<any>) => void;\n\n #onDisconnect?: () => void;\n\n readonly #target?: ImplPostMessage;\n\n readonly #self: ImplPostMessage;\n\n /**\n * @param options - Options\n * @param options.target Target window for message\n * @param options.self Host window for message\n * @param options.origin Origin of receiver\n * @param options.sendDirection Wrapping messages into additional struct\n * `({ type: 'to_aepp' || 'to_waellet', data })`\n * Used for handling messages between content script and page\n * @param options.receiveDirection Unwrapping messages from additional struct\n */\n constructor({\n target,\n self = window,\n origin,\n sendDirection,\n receiveDirection = MESSAGE_DIRECTION.to_aepp,\n ...options\n }: {\n target?: ImplPostMessage;\n self?: ImplPostMessage;\n origin?: string;\n sendDirection?: MESSAGE_DIRECTION;\n receiveDirection?: MESSAGE_DIRECTION;\n debug?: boolean;\n } = {}) {\n super(options);\n this.#target = target;\n this.#self = self;\n this.origin = origin;\n this.sendDirection = sendDirection;\n this.receiveDirection = receiveDirection;\n }\n\n isConnected(): boolean {\n return this.listener != null;\n }\n\n override connect(\n onMessage: (message: any, origin: string, source: MessageEventSource | null) => void,\n onDisconnect: () => void,\n ): void {\n super.connect(onMessage, onDisconnect);\n this.listener = (message: MessageEvent<any>) => {\n // TODO: strict validate origin and source instead of checking message structure\n if (\n typeof message.data !== 'object' ||\n (message.data.jsonrpc ?? message.data.data?.jsonrpc) !== '2.0'\n )\n return;\n if (this.origin != null && this.origin !== message.origin) return;\n if (this.#target != null && this.#target !== message.source) return;\n this.receiveMessage(message);\n let { data } = message;\n if (data.type != null) {\n if (message.data.type !== this.receiveDirection) return;\n data = data.data;\n }\n onMessage(data, message.origin, message.source);\n };\n this.#self.addEventListener('message', this.listener);\n this.#onDisconnect = onDisconnect;\n }\n\n override disconnect(): void {\n super.disconnect();\n if (this.listener == null || this.#onDisconnect == null) {\n throw new InternalError('Expected to not happen, required for TS');\n }\n this.#self.removeEventListener('message', this.listener);\n delete this.listener;\n this.#onDisconnect();\n this.#onDisconnect = undefined;\n }\n\n override sendMessage(msg: any): void {\n if (this.#target == null) throw new RpcConnectionError(\"Can't send messages without target\");\n const message = this.sendDirection != null ? { type: this.sendDirection, data: msg } : msg;\n super.sendMessage(message);\n this.#target.postMessage(message, this.origin ?? '*');\n }\n}\n","import BrowserConnection from './connection/Browser.js';\nimport BrowserWindowMessageConnection from './connection/BrowserWindowMessage.js';\nimport { MESSAGE_DIRECTION, METHODS } from './schema.js';\nimport { WalletInfo } from './rpc/types.js';\nimport { UnsupportedPlatformError } from '../utils/errors.js';\n\ninterface Wallet {\n info: WalletInfo;\n getConnection: () => BrowserWindowMessageConnection;\n}\ninterface Wallets {\n [key: string]: Wallet;\n}\n\n/**\n * A function to detect available wallets\n * @category aepp wallet communication\n * @param connection - connection to use to detect wallets\n * @param onDetected - call-back function which trigger on new wallet\n * @returns a function to stop scanning\n */\nexport default (\n connection: BrowserConnection,\n onDetected: ({ wallets, newWallet }: { wallets: Wallets; newWallet: Wallet }) => void,\n): (() => void) => {\n if (window == null)\n throw new UnsupportedPlatformError(\n 'Window object not found, you can run wallet detector only in browser',\n );\n const wallets: Wallets = {};\n\n connection.connect(\n (\n { method, params }: { method: string; params: WalletInfo },\n origin: string,\n source: Window,\n ) => {\n if (method !== METHODS.readyToConnect || wallets[params.id] != null) return;\n\n const wallet = {\n info: params,\n getConnection() {\n return new BrowserWindowMessageConnection({\n target: source,\n ...(params.type === 'extension'\n ? {\n sendDirection: MESSAGE_DIRECTION.to_waellet,\n receiveDirection: MESSAGE_DIRECTION.to_aepp,\n ...(window.origin !== 'null' && { origin: window.origin }),\n }\n : {\n origin: params.origin,\n }),\n });\n },\n };\n wallets[wallet.info.id] = wallet;\n onDetected({ wallets, newWallet: wallet });\n },\n () => {},\n );\n\n return () => connection.disconnect();\n};\n","import { Runtime } from 'webextension-polyfill';\nimport BrowserConnection from './Browser.js';\nimport { UnexpectedTsError } from '../../utils/errors.js';\n\n/**\n * BrowserRuntimeConnection\n * Handle browser runtime communication\n * @category aepp wallet communication\n */\nexport default class BrowserRuntimeConnection extends BrowserConnection {\n port: Runtime.Port;\n\n #listeners?: [(message: any, port: Runtime.Port) => void, () => void];\n\n /**\n * @param options - Options\n */\n constructor({ port, ...options }: { port: Runtime.Port; debug: boolean }) {\n super(options);\n this.port = port;\n }\n\n override disconnect(): void {\n super.disconnect();\n this.port.disconnect();\n if (this.#listeners == null) throw new UnexpectedTsError();\n this.port.onMessage.removeListener(this.#listeners[0]);\n this.port.onDisconnect.removeListener(this.#listeners[1]);\n this.#listeners = undefined;\n }\n\n override connect(\n onMessage: (message: any, origin: string, source: Runtime.Port) => void,\n onDisconnect: () => void,\n ): void {\n super.connect(onMessage, onDisconnect);\n this.#listeners = [\n (message, port) => {\n this.receiveMessage(message);\n // TODO: make `origin` optional because sender url is not available on aepp side\n onMessage(message, port.sender?.url ?? '', port);\n },\n onDisconnect,\n ];\n this.port.onMessage.addListener(this.#listeners[0]);\n this.port.onDisconnect.addListener(this.#listeners[1]);\n }\n\n override sendMessage(message: any): void {\n super.sendMessage(message);\n this.port.postMessage(message);\n }\n\n isConnected(): boolean {\n return this.#listeners != null;\n }\n}\n"],"names":["root","factory","exports","module","require","define","amd","self","__WEBPACK_EXTERNAL_MODULE__6168__","__WEBPACK_EXTERNAL_MODULE__833__","__WEBPACK_EXTERNAL_MODULE__18__","__WEBPACK_EXTERNAL_MODULE__1655__","__WEBPACK_EXTERNAL_MODULE__4054__","__WEBPACK_EXTERNAL_MODULE__4578__","__WEBPACK_EXTERNAL_MODULE__6514__","__WEBPACK_EXTERNAL_MODULE__1081__","__WEBPACK_EXTERNAL_MODULE__2853__","__WEBPACK_EXTERNAL_MODULE__6016__","__WEBPACK_EXTERNAL_MODULE__1891__","__WEBPACK_EXTERNAL_MODULE__4146__","__WEBPACK_EXTERNAL_MODULE__8380__","__WEBPACK_EXTERNAL_MODULE__5196__","__WEBPACK_EXTERNAL_MODULE__8963__","__WEBPACK_EXTERNAL_MODULE__761__","__WEBPACK_EXTERNAL_MODULE__7250__","util","ADD64AA","v","a","b","o0","o1","ADD64AC","b0","b1","B2B_GET32","arr","i","B2B_G","c","d","ix","iy","x0","m","x1","y0","y1","xor0","xor1","BLAKE2B_IV32","Uint32Array","SIGMA82","Uint8Array","map","x","blake2bCompress","ctx","last","h","t","parameterBlock","blake2bInit","outlen","key","salt","personal","Error","length","fill","set","blake2bUpdate","input","blake2bFinal","out","blake2b","normalizeInput","blake2bHex","output","toHex","uint32ToHex","val","toString","substring","ret","TextEncoder","encode","bytes","Array","prototype","call","n","join","debugPrint","label","size","msg","toUpperCase","console","log","testSpeed","hashFn","N","M","startMs","Date","getTime","genMs","hashHex","hashMs","ms","Math","round","Object","create","ctor","superCtor","super_","constructor","value","enumerable","writable","configurable","TempCtor","buffer","Buffer","copyProps","src","dst","SafeBuffer","arg","encodingOrOffset","from","alloc","allocUnsafe","allocUnsafeSlow","TypeError","encoding","buf","undefined","SlowBuffer","Hash","blockSize","finalSize","this","_block","_finalSize","_blockSize","_len","update","data","enc","block","accum","offset","assigned","remainder","min","_update","digest","rem","bits","writeUInt32BE","lowBits","highBits","hash","_hash","inherits","K","W","Sha256","init","_w","ch","y","z","maj","sigma0","sigma1","gamma0","_a","_b","_c","_d","_e","_f","_g","_h","e","f","g","readInt32BE","j","T1","T2","H","writeInt32BE","parent","defineProperty","it","desc","sham","path","Symbol","WrappedWellKnownSymbolModule","isCallable","tryToString","$TypeError","argument","isPossiblePrototype","$String","String","isObject","toIndexedObject","toAbsoluteIndex","lengthOfArrayLike","createMethod","IS_INCLUDES","$this","el","fromIndex","O","index","includes","indexOf","bind","uncurryThis","IndexedObject","toObject","arraySpeciesCreate","push","TYPE","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","callbackfn","that","specificCreate","result","boundFunction","target","forEach","filter","some","every","find","findIndex","filterReject","fails","wellKnownSymbol","V8_VERSION","SPECIES","METHOD_NAME","array","foo","Boolean","slice","isArray","isConstructor","$Array","originalArray","C","arraySpeciesConstructor","stringSlice","TO_STRING_TAG_SUPPORT","classofRaw","TO_STRING_TAG","$Object","CORRECT_ARGUMENTS","arguments","tag","error","tryGet","callee","F","getPrototypeOf","done","DESCRIPTORS","definePropertyModule","createPropertyDescriptor","object","bitmap","name","descriptor","createNonEnumerableProperty","options","globalThis","get","document","EXISTS","createElement","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","navigator","userAgent","match","version","process","Deno","versions","v8","split","apply","getOwnPropertyDescriptor","isForced","hasOwn","wrapConstructor","NativeConstructor","Wrapper","source","FORCED","USE_NATIVE","VIRTUAL_PROTOTYPE","sourceProperty","targetProperty","nativeProperty","resultProperty","TARGET","GLOBAL","global","STATIC","stat","PROTO","proto","nativeSource","targetPrototype","forced","dontCallGetSet","wrap","real","exec","NATIVE_BIND","FunctionPrototype","Function","Reflect","aCallable","fn","test","hasOwnProperty","getDescriptor","PROPER","CONFIGURABLE","method","uncurryThisWithBind","aFunction","variable","namespace","classof","replacer","rawLength","keys","element","keysLength","isNullOrUndefined","V","P","func","check","window","getBuiltIn","propertyIsEnumerable","store","functionToString","inspectSource","has","NATIVE_WEAK_MAP","shared","sharedKey","hiddenKeys","OBJECT_ALREADY_INITIALIZED","WeakMap","state","metadata","facade","STATE","enforce","getterFor","type","documentAll","all","noop","construct","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","called","replacement","feature","detection","normalize","POLYFILL","NATIVE","string","replace","toLowerCase","isPrototypeOf","USE_SYMBOL_AS_UID","$Symbol","IteratorPrototype","setToStringTag","Iterators","returnThis","IteratorConstructor","NAME","next","ENUMERABLE_NEXT","$","IS_PURE","FunctionName","createIteratorConstructor","setPrototypeOf","defineBuiltIn","IteratorsCore","PROPER_FUNCTION_NAME","CONFIGURABLE_FUNCTION_NAME","BUGGY_SAFARI_ITERATORS","ITERATOR","KEYS","VALUES","ENTRIES","Iterable","DEFAULT","IS_SET","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","values","PrototypeOfArrayIteratorPrototype","arrayIterator","toLength","obj","ceil","floor","trunc","activeXDocument","anObject","definePropertiesModule","enumBugKeys","html","documentCreateElement","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","LT","NullProtoObjectViaActiveX","write","close","temp","parentWindow","NullProtoObject","ActiveXObject","iframeDocument","iframe","JS","domain","style","display","appendChild","contentWindow","open","Properties","V8_PROTOTYPE_DEFINE_BUG","objectKeys","defineProperties","props","IE8_DOM_DEFINE","toPropertyKey","$defineProperty","$getOwnPropertyDescriptor","ENUMERABLE","WRITABLE","Attributes","current","propertyIsEnumerableModule","$getOwnPropertyNames","arraySlice","windowNames","getOwnPropertyNames","getWindowNames","internalObjectKeys","concat","getOwnPropertySymbols","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","names","$propertyIsEnumerable","NASHORN_BUG","uncurryThisAccessor","requireObjectCoercible","aPossiblePrototype","setter","CORRECT_SETTER","__proto__","pref","valueOf","TAG","SET_METHOD","uid","defineGlobalProperty","SHARED","mode","copyright","license","toIntegerOrInfinity","charAt","charCodeAt","CONVERT_TO_STRING","pos","first","second","S","position","codeAt","symbol","SymbolPrototype","TO_PRIMITIVE","hint","arity","keyFor","thisSymbolValue","isRegisteredSymbol","isSymbol","$isWellKnownSymbol","isWellKnownSymbol","WellKnownSymbolsStore","symbolKeys","symbolKeysLength","symbolKey","NATIVE_SYMBOL","max","integer","number","len","getMethod","ordinaryToPrimitive","exoticToPrim","toPrimitive","id","postfix","random","iterator","wrappedWellKnownSymbolModule","createWellKnownSymbol","withoutSetter","doesNotExceedSafeInteger","createProperty","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","IS_CONCAT_SPREADABLE_SUPPORT","isConcatSpreadable","spreadable","k","E","A","addToUnscopables","InternalStateModule","defineIterator","createIterResultObject","ARRAY_ITERATOR","setInternalState","getInternalState","iterated","kind","Arguments","getReplacerFunction","$stringify","numberToString","tester","low","hi","WRONG_SYMBOLS_CONVERSION","ILL_FORMED_UNICODE","stringifyWithSymbolsFix","args","$replacer","fixIllFormed","prev","stringify","space","JSON","getOwnPropertySymbolsModule","$getOwnPropertySymbols","STRING_ITERATOR","point","defineWellKnownSymbol","$toString","nativeObjectCreate","getOwnPropertyNamesModule","getOwnPropertyNamesExternal","getOwnPropertyDescriptorModule","defineBuiltInAccessor","defineSymbolToPrimitive","$forEach","HIDDEN","SYMBOL","RangeError","QObject","nativeGetOwnPropertyDescriptor","nativeDefineProperty","nativeGetOwnPropertyNames","nativePropertyIsEnumerable","AllSymbols","ObjectPrototypeSymbols","USE_SETTER","findChild","fallbackDefineProperty","ObjectPrototypeDescriptor","setSymbolDescriptor","description","$defineProperties","properties","IS_OBJECT_PROTOTYPE","unsafe","useSetter","useSimple","NATIVE_SYMBOL_REGISTRY","StringToSymbolRegistry","SymbolToStringRegistry","sym","METADATA","isRegistered","isWellKnown","DOMIterables","COLLECTION_NAME","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","__esModule","definition","o","prop","r","toStringTag","bigNumber","integerValue","BigNumber","ROUND_CEIL","BaseError","message","super","AccountError","AensError","AeppError","ChannelError","CompilerError","ContractError","CryptographyError","NodeError","TransactionError","WalletError","ArgumentError","argumentName","requirement","argumentValue","IllegalArgumentError","ArgumentCountMismatchError","functionName","requiredCount","providedCount","InsufficientBalanceError","MissingParamError","NoSerializerFoundError","RequestTimedOutError","height","TxTimedOutError","blocks","th","UnsupportedPlatformError","UnsupportedProtocolError","NotImplementedError","UnsupportedVersionError","dependency","geVersion","ltVersion","LogicError","InternalError","UnexpectedTsError","UnavailableAccountError","address","AensPointerContextError","nameOrId","prefix","InsufficientNameFeeError","nameFee","minNameFee","InvalidAensNameError","InvalidRpcMessageError","MissingCallbackError","UnAuthorizedAccountError","onAccount","UnknownRpcClientError","UnsubscribedAccountError","ChannelCallError","ChannelConnectionError","ChannelPingTimedOutError","UnexpectedChannelMessageError","ChannelIncomingMessageError","handlerError","incomingMessage","UnknownChannelStateError","InvalidAuthDataError","BytecodeMismatchError","DuplicateContractError","InactiveContractError","contractAddress","InvalidMethodInvocationError","MissingContractAddressError","MissingContractDefError","MissingFunctionNameError","NodeInvocationError","transaction","NoSuchContractFunctionError","NotPayableFunctionError","amount","MissingEventDefinitionError","eventNameHash","eventAddress","AmbiguousEventDefinitionError","matchedEvents","InvalidChecksumError","MerkleTreeHashMismatchError","MissingNodeInTreeError","UnknownNodeLengthError","nodeLength","UnknownPathNibbleError","nibble","DuplicateNodeError","NodeNotFoundError","DecodeError","PayloadLengthError","DryRunError","IllegalBidFeeError","InvalidSignatureError","PrefixNotFoundError","SchemaNotFoundError","TagNotFoundError","TxNotInChainError","txHash","AlreadyConnectedError","NoWalletConnectedError","RpcConnectionError","AE_AMOUNT_FORMATS","DENOMINATION_MAGNITUDE","AE","MILI_AE","MICRO_AE","NANO_AE","PICO_AE","FEMTO_AE","AETTOS","formatAmount","denomination","targetDenomination","isNaN","Number","isInteger","isBigNumber","shiftedBy","toFixed","toAe","toAettos","prefixes","magnitude","getNearestPrefix","exponent","reduce","p","abs","getLowerBoundPrefix","_prefixes$find","prefixedAmount","rawValue","_value$e","exp","precision","pause","async","Promise","resolve","setTimeout","duration","mapObject","fromEntries","concatBuffers","list","totalLength","isKeyOfObject","isItemOfArray","item","isAccountNotFoundError","RestError","statusCode","ensureError","wrapWithProxy","valueCb","Proxy","res","Encoding","sha256hash","base64Types","ContractBytearray","ContractStoreKey","ContractStoreValue","Transaction","OracleQuery","OracleResponse","State","Poi","StateTrees","CallStateTree","Bytearray","base58Types","KeyBlockHash","MicroBlockHash","BlockPofHash","BlockTxHash","BlockStateHash","Channel","ContractAddress","TxHash","OracleAddress","OracleQueryId","AccountAddress","AccountSecretKey","Signature","Commitment","PeerPubkey","Name","byteSizeForType","ensureValidLength","reqLen","getChecksum","payload","addChecksum","getPayload","equals","base64","decode","base58","bs58","parseType","maybeType","base64Type","base58Type","encodedPayload","extra","encoder","isAddressValid","maybeEncoded","encodings","genSalt","BigUint64Array","nacl","BigInt","MAX_SAFE_INTEGER","encodeUnsigned","binary","encodeContractAddress","owner","nonce","publicKey","verify","signature","detached","messagePrefix","messagePrefixLength","varuintEncode","messageToHash","verifyMessage","toBytes","big","hexString","DRY_RUN_ACCOUNT","pub","MAX_AUTH_FUN_GAS","MIN_GAS_PRICE","NAME_FEE_MULTIPLIER","NAME_FEE_BID_INCREMENT","NAME_BID_TIMEOUT_BLOCKS","NAME_MAX_LENGTH_FEE","NAME_BID_RANGES","times","ConsensusProtocolVersion","VmVersion","AbiVersion","Tag","buildContractId","ownerId","oracleQueryId","senderId","oracleId","nonceBE","_int32","AENS_SUFFIX","nameToPunycode","maybeName","suffix","other","at","punycode","u","URL","username","password","port","search","pathname","host","produceNameId","commitmentHash","padStart","readInt","ensureName","isNameValid","encodingToPointerKey","getDefaultPointerKey","identifier","getMinimumNameFee","nameLength","computeBidFee","startFee","increment","plus","computeAuctionEndBlock","claimHeight","_ref","_ref2","_ref3","isAuctionName","_getPollInterval","_expectedMineRate","_microBlockCycle","onNode","_await$getVal","getVal","devModeDef","def","getNetworkId","base","heightCache","getHeight","cached","_wrappedValue","cache","time","now","getCurrentKeyBlockHeight","poll","interval","_interval","tx","getTransactionByHash","blockHeight","ttl","awaitHeight","_interval2","currentHeight","waitForTxConfirm","confirm","newBlockHeight","getAccount","getAccountByPubkeyAndHeight","getAccountByPubkeyAndHash","getAccountByPubkey","getBalance","format","addr","startsWith","balance","catch","getCurrentGeneration","getGeneration","hashOrHeight","getGenerationByHeight","getGenerationByHash","getMicroBlockTransactions","getMicroBlockTransactionsByHash","transactions","getKeyBlock","getKeyBlockByHeight","getKeyBlockByHash","getMicroBlockHeader","getMicroBlockHeaderByHash","txDryRunRequests","Map","txDryRunHandler","rs","delete","dryRunRes","top","protectedDryRunTxs","txEvents","txs","req","accounts","Set","accountAddress","pubKey","reject","results","reason","resultPayload","idx","assign","txDryRun","combine","_txDryRunRequests$get","requests","_requests$timeout","timeout","getContractByteCode","contractId","getContractCode","getContract","getName","getNameEntryByName","resolveName","resolveByNode","pointer","pointers","ProtocolToVmAbi","Ceres","vmVersion","Fate3","abiVersion","Fate","NoAbi","getProtocolDetails","protocolVersion","_protocol$vmVersion$","protocol","Fate2","serialize","params","consensusProtocolVersion","_value","prepare","getNodeInfo","deserialize","vm","abi","_getProtocolDetails","ContractCallTx","GaMetaTx","idTagToEncoding","genAddressField","hashId","idTag","readUIntBE","subarray","genArrayField","itemHandler","items","buffers","uInt","serializeAettos","genEncodedField","optional","encodedData","genEntryField","txParams","packEntry","ArrayBuffer","isView","unpackEntry","genEnumerationField","enm","gasPriceCache","getCachedIncreasedGasPrice","node","gasPrice","minGasPrice","utilization","getRecentGasPrices","maxSafeGasPrice","warn","coinAmount","getOracleRelativeTtl","ttlKeys","OracleRegisterTx","OracleExtendTx","OracleQueryTx","OracleResponseTx","buildGas","builtTx","unpackTx","buildTx","txObject","innerTxSize","PayingForTx","encodedTx","txType","_feeFactors","ChannelForceProgressTx","ChannelOffChainTx","ContractCreateTx","GaAttachTx","TX_BASE_GAS","TX_OTHER_GAS","txSize","relativeTtl","gasPricePrefix","rebuildTx","_computingMinFee","_canIncreaseFee","minFee","previousFee","fee","eq","calculateMinFee","dividedBy","gt","shortUInt","_computingGasLimit","gasMax","gasLimitMax","calculateGasLimitMax","gasLimit","field","txFields","parameters","addressName","genNonceField","senderKey","strategy","getAccountNextNonce","nextNonce","ID_TAG","DATA_TAG","addressAny","allowRaw","bKey","bId","getOracleByPubkey","queryFee","genShortUIntConstField","constValue","constValueOptional","genTransactionField","absoluteTtl","_isInternalBuild","withDefault","defaultValue","withFormatting","CallReturnType","EntryTag","ORACLE_TTL_TYPES","transactionAny","transactionSignedTx","SignedTx","entryTreesPoi","entry","TreesPoi","clientTtl","nameTtl","NAME_TTL","txSchema","shortUIntConst","signatures","raw","SpendTx","recipientId","encoded","NamePreclaimTx","accountId","commitmentId","NameClaimTx","nameSalt","NameUpdateTx","nameId","NameTransferTx","NameRevokeTx","code","ctVersion","deposit","callData","callerId","queryFormat","responseFormat","oracleTtlType","delta","enumeration","oracleTtlValue","query","queryTtlType","queryTtlValue","responseTtlType","responseTtlValue","queryId","response","ChannelCreateTx","initiator","initiatorAmount","responder","responderAmount","channelReserve","lockPeriod","initiatorDelegateIds","responderDelegateIds","stateHash","ChannelCloseMutualTx","channelId","fromId","initiatorAmountFinal","responderAmountFinal","ChannelCloseSoloTx","poi","ChannelSlashTx","ChannelDepositTx","ChannelWithdrawTx","toId","ChannelSettleTx","offChainTrees","ChannelSnapshotSoloTx","authFun","gaId","authData","payerId","getSchema","schemas","subSchemas","s","defaultSchema","schema","packRecord","extraParams","rlpEncode","unpackRecord","encodedRecord","expectedTag","rlpDecode","genMapField","Mtree","MtreeValue","recursiveType","NodeType","_rootHash","_isComplete","_nodes","_encoding","_tag","_unpackEntry","_MPTree_brand","WeakSet","MPTree","isComplete","_classPrivateFieldGet","unpEnt","_classPrivateFieldInitSpec","_classPrivateFieldSet","_nodeHash","_parseNode","Branch","Extension","Leaf","isEqual","tree","mptHash","_assertClassBrand","_getRaw","_entriesRaw","_key","searchFrom","rec","genMPTreeField","genWrappedField","_MPTree","entryMtreeValueArray","mapContracts","Contract","mapAccounts","Account","mapCalls","ContractCall","mapChannels","mapNames","mapOracles","Oracle","flags","gaContract","gaAuthFun","status","active","boolean","referers","callerNonce","gasUsed","returnValue","returnType","channelAmount","soloRound","lockedUntil","initiatorAuth","responderAuth","ChannelOffChainUpdateTransfer","to","ChannelOffChainUpdateDeposit","ChannelOffChainUpdateWithdraw","ChannelOffChainUpdateCreateContract","ChannelOffChainUpdateCallContract","caller","contract","callStack","mptree","calls","channels","contracts","ns","oracles","wrapped","ContractsMtree","CallsMtree","ChannelsMtree","NameserviceMtree","OraclesMtree","AccountsMtree","GaMetaTxAuthData","encodingTag","_encodingTag$find$","_expectedTag","getSchemaCommon","overrideParams","buildTxAsync","buildTxHash","rawTx","buildContractIdByContractTx","contractTx","verCmp","getComponents","aComponents","bComponents","componentsToNumber","components","reverse","acc","semverSatisfies","bigIntPrefix","createSerializer","serializer","createSerializerOrig","mapper","objectName","_objectName","serializedName","responseBody","safeLength","bigIntPropertyRe","RegExp","bigIntArrayItemRe","parseBigIntPolicy","sendRequest","request","bodyAsText","replaceAll","matched","end","genRequestQueuesPolicy","requestQueues","policy","_requestQueues$get","headers","getResponse","then","genCombineGetRequestsPolicy","pendingGetRequests","_pendingGetRequests$g","url","body","genAggressiveCacheGetResponsesPolicy","getRequests","_getRequests$get","genErrorFormatterPolicy","getMessage","parsedBody","genVersionCheckPolicy","versionCb","requestOptions","customHeaders","genRetryOnFailurePolicy","retryCount","retryOverallDelay","_request$headers$get","retryCode","NaN","statusesToNotRetry","intervals","_","intervalSum","intervalsInMs","attempt","urlParsed","searchParams","_e$response$status","className","modelProperties","required","constraints","InclusiveMinimum","InclusiveMaximum","payable","allowedValues","ErrorModel","errorCode","NextNonceResponse","SignedTxs","blockHash","Tx","initiatorId","responderId","delegateIds","offchainTrees","oracleTtl","queryTtl","responseTtl","gas","Pattern","Delegates","OffChainUpdate","uberParent","polymorphicDiscriminator","clientName","op","RelativeTTL","isConstant","Ttl","NamePointer","encodedKey","AuctionEntry","startedAt","endsAt","highestBidder","highestBid","ContractObject","referrerIds","ByteCode","bytecode","PoI","Currency","subunit","subunitsPerUnit","fiatConverstionUrl","fiatConversionUrl","logo","primaryColour","secondaryColour","networkName","Image","DryRunInput","DryRunAccount","DryRunInputItem","callReq","DryRunCallReq","calldata","context","DryRunCallContext","stateful","DryRunResults","DryRunResult","callObj","ContractCallObject","Event","topics","Generation","keyBlock","microBlocks","KeyBlock","prevHash","prevKeyHash","miner","beneficiary","pow","MinItems","MaxItems","info","Header","pofHash","txsHash","HashResponse","HeightResponse","MicroBlockHeader","CountResponse","count","NameEntry","RegisteredOracle","OracleQueries","oracleQueries","senderNonce","PeerPubKey","pubkey","GasPricesItem","minutes","Status","genesisKeyBlockHash","solutions","difficulty","hashrate","syncing","syncProgress","uptime","listening","protocols","nodeVersion","nodeRevision","peerCount","peerConnections","pendingTransactionsCount","networkId","peerPubkey","topKeyBlockHash","topBlockHeight","Protocol","effectiveAtHeight","PeerConnections","inbound","outbound","SyncStatus","progress","speed","estimate","EncodedTx","PostTxResponse","TxInfoObject","callInfo","gaInfo","txInfo","GAObject","innerObject","ChannelSetDelegatesTx","CheckTxInPoolResponse","CommitmentId","UnsignedTx","GAAttachTx","GAMetaTx","NameHash","PeerDetails","firstSeen","lastSeen","genesisHash","topHash","topDifficulty","nodeVendor","nodeOs","OracleRespondTx","PeerCount","connected","available","blocked","PeerCountConnected","PeerCountAvailable","verified","unverified","Peers","peers","PubKey","TokenSupply","contractOracles","locked","pendingRewards","total","OffChainCallContract","OffChainDeposit","OffChainNewContract","OffChainTransfer","OffChainWithdrawal","CreateContractUnsignedTx","discriminators","accept","parameterPath","$host","skipEncoding","contentType","DryRunInputMapper","body1","EncodedTxMapper","Node","coreClient","_options$endpoint","packageDetails","userAgentPrefix","userAgentOptions","requestContentType","endpoint","baseUri","sendOperationRequest","getAccountByPubkeyOperationSpec","getAccountByPubkeyAndHashOperationSpec","getAccountByPubkeyAndHeightOperationSpec","getAccountNextNonceOperationSpec","getPendingAccountTransactionsByPubkey","getPendingAccountTransactionsByPubkeyOperationSpec","getAuctionEntryByName","getAuctionEntryByNameOperationSpec","getChannelByPubkey","getChannelByPubkeyOperationSpec","getContractOperationSpec","getContractCodeOperationSpec","getContractPoI","getContractPoIOperationSpec","getCurrency","getCurrencyOperationSpec","protectedDryRunTxsOperationSpec","getCurrentGenerationOperationSpec","getGenerationByHashOperationSpec","getGenerationByHeightOperationSpec","getTopHeader","getTopHeaderOperationSpec","getCurrentKeyBlock","getCurrentKeyBlockOperationSpec","getCurrentKeyBlockHash","getCurrentKeyBlockHashOperationSpec","getCurrentKeyBlockHeightOperationSpec","getKeyBlockByHashOperationSpec","getKeyBlockByHeightOperationSpec","getPendingKeyBlock","getPendingKeyBlockOperationSpec","getMicroBlockHeaderByHashOperationSpec","getMicroBlockTransactionsByHashOperationSpec","getMicroBlockTransactionsCountByHash","getMicroBlockTransactionsCountByHashOperationSpec","getMicroBlockTransactionByHashAndIndex","getMicroBlockTransactionByHashAndIndexOperationSpec","getNameEntryByNameOperationSpec","getNameEntryByNameHash","nameHash","getNameEntryByNameHashOperationSpec","getOracleByPubkeyOperationSpec","getOracleQueriesByPubkey","getOracleQueriesByPubkeyOperationSpec","getOracleQueryByPubkeyAndQueryId","getOracleQueryByPubkeyAndQueryIdOperationSpec","getPeerPubkey","getPeerPubkeyOperationSpec","getRecentGasPricesOperationSpec","getStatus","getStatusOperationSpec","getChainEnds","getChainEndsOperationSpec","getSyncStatus","getSyncStatusOperationSpec","postTransaction","postTransactionOperationSpec","getTransactionByHashOperationSpec","getTransactionInfoByHash","getTransactionInfoByHashOperationSpec","Mappers","httpMethod","responses","bodyMapper","isError","urlParameters","Parameters","headerParameters","queryParameters","requestBody","mediaType","_cachedStatusPromise","NodeApi","ignoreVersion","allowInsecureConnection","additionalPolicies","_getCachedStatus","opts","pipeline","addPolicy","phase","removePolicy","userAgentPolicyName","setClientRequestIdPolicyName","promise","nodeNetworkId","getTransactionSignerAddress","AccountBase","hashJson","_canonicalize","canonicalize","hashDomain","domainType","TypeResolver","resolveType","record","option","ContractByteArrayEncoder","encodeWithType","hashTypedData","aci","getBufferToSign","innerTx","rlpBinaryTx","_secretKeyDecoded","AccountMemory","secretKey","keyPair","fromSeed","generate","sign","signTransaction","txWithNetworkId","signMessage","signTypedData","dHash","signDelegation","delegation","getExecutionCost","isInitiator","getExecutionCostBySignedTx","isInnerTx","isNotInnerTx","getExecutionCostUsingNode","isMined","isSignedTx","combinedInfo","validators","verifyTransactionInternal","parentTxTypes","account","flat","verifyTransaction","nodeNotCached","clone","txBinary","txHashWithNetworkId","checkedKeys","nestedTx","cost","recipient","oracleCall","contractCreate","contractCall","parse","InvalidTxError","validation","sendTransaction","txUnsigned","waitMined","__queue","pollResult","txData","confirmationHeight","verifyTx","toBase64Url","fromBase64Url","objectToBase64Url","header","signJwt","originalPayload","sub_jwk","kty","crv","unpackJwt","jwt","_payload$sub_jwk","payloadEncoded","jwk","signer","isJwt","maybeJwt","ensureJwt","verifyJwt","DelegationTag","oracleAddressField","queryIdField","AensWildcard","AensName","AensPreclaim","packDelegation","unpackDelegation","_salt","revoke","opt","extendPointers","allPointers","hasRawPointers","transfer","getState","_this$options$onNode","nameEntry","extendTtl","claim","preclaim","bid","_Contract_brand","_aciContract","_getCallResult","fnName","fnAci","_getFunctionAci","decodedResult","_calldata","_name","decodedEvents","$decodeEvents","decodeFateString","_sendAndProcess","$options","$getCallResultByTxHash","functions","returns","_getContractNameByEvent","ctAddress","contractAddressToName","addressToName","_aci","event","variant","events","eventName","calcHash","ContractWithMethods","$compile","onCompiler","sourceCode","compileBySourceCode","fileSystem","sourceCodePath","compile","callInfoTyped","_estimateGas","$call","callStatic","$deploy","_opt$gasLimit","_opt$gasLimit2","topOption","txOpt","dryRunOther","omitUnknown","contractName","decoded","decodeEvent","initialize","validateBytecode","otherOptions","_bytecode","onChanBytecode","isValid","validateBySourceCode","validate","aciLast","Calldata","aciArgs","pop","decodeQuery","queryEntry","decodedQuery","decodedResponse","OracleBase","getQuery","_handleQueriesPromise","register","pollQueries","onQuery","knownQueryIds","isChecking","checkNewQueries","_await$opt$onNode$get","filtered","includeResponded","add","idPromise","_opt$interval","setInterval","clearInterval","respondToQuery","handleQueries","queuePromise","handler","q","respondPromise","stopPoll","OracleClient","postQuery","oracleQueryTx","pollForResponse","responseBuffer","spend","recipientIdOrName","transferFunds","fraction","desiredAmount","ROUND_HALF_UP","minus","payForTransaction","createGeneralizedAccount","authFnName","_options$gasLimit","freeze","gaContractId","buildAuthTxHash","buildAuthTxHashByGaMetaTx","_typeof","_defineProperty","chainMethods","spendMethods","contractGaMethods","_wrappedOptions","AeSdkMethods","_options","getContext","mergeWith","AeSdkBase","nodes","instance","addNode","api","compilerApi","_resolveAccount","ensureNodeConnected","pool","selectedNodeName","select","selectNode","isNodeConnected","getNodesInPool","addresses","_options$networkId","AeSdk","addAccount","selectedAddress","selectAccount","removeAccount","MESSAGE_DIRECTION","WALLET_TYPE","SUBSCRIPTION_TYPES","METHODS","RPC_STATUS","rpcErrors","RpcError","toJSON","json","RpcErr","cl","RpcInvalidTransactionError","RpcRejectedByUserError","RpcUnsupportedProtocolError","RpcConnectionDenyError","RpcNotAuthorizeError","RpcPermissionDenyError","RpcInternalError","RpcNoNetworkById","RpcMethodNotFoundError","AccountRpc","rpcClient","_rpcClient","dataRaw","unsafeSign","returnSigned","signedTransaction","_callbacks","_messageId","_methods","_RpcClient_brand","RpcClient","connection","onDisconnect","connect","_handleMessage","_sendRequest","notify","origin","jsonrpc","_processResponse","methodName","_sendResponse","sendMessage","callbacks","AeSdkAepp","onAddressChange","onNetworkChange","_ensureConnected","_ensureAccountAccess","_accounts","connectToWallet","connectNode","disconnectParams","updateNetwork","client","updateAddress","closeConnection","disconnect","readyToConnect","walletInfo","disconnectWallet","askAddresses","subscribeAddress","askToSelectNetwork","network","_WalletConnectorFrameBase_brand","WalletConnectorFrameBase","EventEmitter","isConnected","_connect","connector","emit","_updateAccounts","_updateNetwork","_getRpcClient","getAccounts","subscribeAccounts","_networkId","WalletConnectorFrame","_node","WalletConnectorFrameWithNode","jsonBig","JsonBig","storeAsString","convertValuesToBigNumbers","bn","AeSdkWallet","onConnection","onSubscription","onAskAccounts","onAskToSelectNetwork","_type","_getAccountsForClient","addressSubscription","_pushAccountsToApps","_clients","clientId","_isRpcClientConnected","_getClient","rpc","_getNode","CONNECTED","_disconnectRpcClient","DISCONNECTED","removeRpcClient","addRpcClient","clientConnection","WAITING_FOR_CONNECTION_REQUEST","icons","getWalletInfo","subscribe","unsubscribe","subscription","aeppOrigin","aeppRpcClientId","transactionHash","shareWalletInfo","location","AccountBaseFactory","discover","ED25519_CURVE","deriveKey","I","tweetnaclAuth","chainCode","derivePathFromKey","segments","segment","indexBuffer","_mnemonic","_wallet","_AccountMnemonicFactory_brand","AccountMnemonicFactory","mnemonicOrWallet","getWallet","walletKey","mnemonicToSeed","accountIndex","_getAccountSecretKey","wallet","_authFun","AccountGeneralized","authCallData","gaMetaTx","CLA","AccountLedger","transport","decorateAppAPIMethods","networkIdBuffer","toSend","maxChunkSize","chunkSize","bufferOffset","writeUInt8","copy","previous","send","messageStr","_ensureReadyPromise","_AccountLedgerFactory_brand","AccountLedgerFactory","ensureReady","_getAppConfiguration","getAppConfiguration","getAddress","_ensureReady","addressLength","_classPrivateFieldGet2","snapId","invokeSnap","provider","AccountMetamask","derivationPath","snapMinVersion","_AccountMetamaskFactory_brand","AccountMetamaskFactory","ethereum","installSnap","_ensureMetamaskSupported","details","getSnapVersion","snaps","metamaskPrefix","CompilerBase","CompileOpts","srcFile","ErrorPos","file","line","col","CompileResult","warnings","SophiaCallResultInput","function","callResult","callValue","BytecodeCallResultInput","DecodedCallresult","FunctionCallInput","DecodeCalldataBytecode","DecodedCalldata","DecodeCalldataSource","ByteCodeInput","FateAssembler","fateAssembler","ValidateByteCodeInput","CompilerVersion","ApiVersion","apiVersion","SophiaBinaryData","sophiaType","SophiaJsonData","ContractMapper","SophiaCallResultInputMapper","body2","BytecodeCallResultInputMapper","body3","FunctionCallInputMapper","body4","DecodeCalldataBytecodeMapper","body5","DecodeCalldataSourceMapper","body6","ByteCodeInputMapper","body7","ValidateByteCodeInputMapper","Compiler","generateACI","generateACIOperationSpec","compileContract","compileContractOperationSpec","decodeCallResult","decodeCallResultOperationSpec","decodeCallResultBytecode","decodeCallResultBytecodeOperationSpec","encodeCalldata","encodeCalldataOperationSpec","decodeCalldataBytecode","decodeCalldataBytecodeOperationSpec","decodeCalldataSource","decodeCalldataSourceOperationSpec","getFateAssemblerCode","getFateAssemblerCodeOperationSpec","validateByteCode","validateByteCodeOperationSpec","getCompilerVersion","getCompilerVersionOperationSpec","versionOperationSpec","apiVersionOperationSpec","apiOperationSpec","CompilerHttp","compilerUrl","CompilerApi","parameter","cmpOut","warning","generateAciBySourceCode","generateAci","snakeToPascal","w3cwebsocket","W3CWebSocket","websocket","channel","rest","_eventEmitter","enterState","nextState","_debug","_fsm","enter","dequeueAction","changeStatus","newStatus","debug","_status","changeState","newState","_state","_websocket","_isActionQueueLocked","queue","_actionQueue","action","guard","handleMessage","st","updates","clearTimeout","_pingTimeoutId","ping","_nextRpcMessageId","_rpcCallbacks","_message$error$data$","appendSignature","signFn","payloadTx","signatures2","signAndNotify","_signedTx","signedTx","signed_tx","handleUnexpectedMessage","_channel","wsMessage","channelOpen","awaitingCompletion","onSuccess","accepted","error_code","errorMessage","error_msg","codes","awaitingConnection","channelInfoStatus","nextStatus","awaitingChannelCreateTx","awaitingOpenConfirmation","_fsmId","fsm_id","channelClosed","awaitingReestablish","message2","state2","awaitingReconnection","role","awaitingOnChainTx","awaitingBlockInclusion","_channelId","channel_id","awaitingTxSignRequest","_message$method$match","awaitingUpdateConflict","awaitingShutdownTx","awaitingLeave","closeTx","channelCounter","_debugId","_initialize","_options$existingFsmI","reconnect","existingFsmId","existingChannelId","reconnectHandler","handlers","reestablish","connectionHandler","openHandler","channelOptions","wsUrl","onerror","onopen","onclose","onmessage","_messageQueue","_isMessageQueueLocked","shift","dequeueMessage","callback","onMessage","on","off","removeListener","channelDisconnect","halfSignedTx","trees","fsmId","enqueueAction","leave","shutdown","ChannelSpend","meta","awaitingOffChainTx","_2","balances","awaitingActionTx","awaitingActionCompletion","onOnChainTx","Action","isOwn","withdraw","onOwnWithdrawLocked","onWithdrawLocked","onOwnDepositLocked","onDepositLocked","onStatusChanged","snakeToPascalObjKeys","ChannelContract","createContract","call_data","vm_version","abi_version","addressKey","callContract","contract_id","forceProgress","gas_price","callContractStatic","getContractCall","caller_id","getContractState","cleanContractCalls","Source","MiddlewareSubscriberError","MiddlewareSubscriberDisconnected","closeEvent","_subscriptions","_requestQueue","_webSocket","_MiddlewareSubscriber_brand","MiddlewareSubscriber","webSocket","_disconnect","WebSocket","errorEvent","_emit","_messageHandler","_classPrivateGetter","_get_targets","_sendSubscribe","subscribeKeyBlocks","cb","_subscribe","Middleware","subscribeKeyBlocksNode","subscribeKeyBlocksAll","All","subscribeMicroBlocks","subscribeMicroBlocksNode","subscribeMicroBlocksAll","subscribeTransactions","subscribeTransactionsNode","subscribeTransactionsAll","subscribeObject","subscribeObjectNode","subscribeObjectAll","_this","_sendMessage","isSubscribe","condition","onlyReset","limit","accountId1","scope","exact","fromParam","id1","by2","id2","contractId1","contractId2","hashOrKbi","hash1","ownedBy","state1","id3","id4","minStartDate","maxStartDate","oracle","id5","hash2","Paths1Q9E32FV3AccountsAccountidAex141TokensGetResponses200ContentApplicationJsonSchemaAllof0","Aex141TokenResponse","tokenId","PaginatedResponse","nullable","ErrorResponse","PathsZ92TkfV3AccountsAccountidAex9BalancesGetResponses200ContentApplicationJsonSchemaAllof1","Aex9BalanceResponse","decimals","tokenName","tokenSymbol","txIndex","Paths1Ymnu9GV3AccountsAccountIdDexSwapsGetResponses200ContentApplicationJsonSchemaAllof0","DexSwap","amounts","fromAmount","fromContract","fromDecimals","fromToken","logIdx","microTime","toAccount","toAmount","toContract","toDecimals","toToken","DexSwapAmounts","amount0In","amount0Out","amount1In","amount1Out","Paths1Ent1R1V3AccountsIdActivitiesGetResponses200ContentApplicationJsonSchemaAllof0","Activity","blockTime","ActivityPayload","microIndex","sender","callTxHash","contractTxHash","internalTx","refTxHash","PathsC0UvfgV3AccountsIdNamesPointeesGetResponses200ContentApplicationJsonSchemaAllof0","Pointee","sourceTxHash","sourceTxType","NotFoundResponse","PathsLv15NfV3TransactionsCountIdGetResponses200ContentApplicationJsonSchema","channelCloseMutualTx","channelCloseSoloTx","channelCreateTx","channelDepositTx","channelForceProgressTx","channelOffchainTx","channelSetDelegatesTx","channelSettleTx","channelSlashTx","channelSnapshotSoloTx","channelWithdrawTx","contractCallTx","contractCreateTx","gaAttachTx","nameClaimTx","namePreclaimTx","nameRevokeTx","nameTransferTx","nameUpdateTx","oracleExtendTx","oracleRegisterTx","oracleResponseTx","payingForTx","spendTx","Get200ApplicationJsonProperties","PathsKcpsuzV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesChannelCloseSoloTx","Paths1W3C1Z4V3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesChannelCreateTx","PathsTvtzmvV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesChannelDepositTx","PathsMxcme6V3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesChannelForceProgressTx","Paths1Cnk4LbV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesChannelOffchainTx","Paths13Ss1Q2V3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesChannelSetDelegatesTx","Paths1Gime4MV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesChannelSettleTx","PathsVn5L1LV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesChannelSlashTx","Paths10T1AqyV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesChannelSnapshotSoloTx","PathsTr523PV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesChannelWithdrawTx","PathsChduayV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesContractCallTx","Paths5Shu25V3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesContractCreateTx","Paths1RkuxepV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesGaAttachTx","PathsQklaaxV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesGaMetaTx","Paths1Hacjy0V3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesNameClaimTx","Paths139X1XaV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesNamePreclaimTx","Paths1R3Fb8MV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesNameRevokeTx","PathsZdcclfV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesNameTransferTx","Paths1VkyqhtV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesNameUpdateTx","Paths107D9HzV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesOracleExtendTx","PathsS6Nx2KV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesOracleQueryTx","Paths184Oz8CV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesOracleRegisterTx","PathsLm5DjtV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesOracleResponseTx","Paths16B89KuV3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesPayingForTx","Paths1Ljyzq7V3TransactionsCountIdGetResponses200ContentApplicationJsonSchemaPropertiesSpendTx","Paths8I0YgwV3Aex141GetResponses200ContentApplicationJsonSchemaAllof0","Aex141Response","baseUrl","creationTime","extensions","invalid","limits","PathsWkpcwaV3Aex141ContractidTemplatesGetResponses200ContentApplicationJsonSchemaAllof0","Aex141TemplatesResponse","edition","templateId","PathsRay4X0V3Aex141ContractidTemplatesTemplateidTokensGetResponses200ContentApplicationJsonSchemaAllof0","Aex141TemplateTokensResponse","Paths1TkisghV3Aex141ContractidTokensGetResponses200ContentApplicationJsonSchemaAllof0","Paths1Fbvaw8V3Aex141ContractidTokensTokenidGetResponses200ContentApplicationJsonSchema","Paths1A8Ah39V3Aex141ContractidTransfersGetResponses200ContentApplicationJsonSchemaAllof0","Aex141TransferEvent","Paths1Uqqby0V3Aex9GetResponses200ContentApplicationJsonSchemaAllof0","Aex9Response","eventSupply","holders","initialSupply","Paths19IxhsmV3Aex9CountGetResponses200ContentApplicationJsonSchema","PathsEeiffwV3Aex9ContractidBalancesGetResponses200ContentApplicationJsonSchemaAllof0","Aex9ContractBalanceResponse","lastLogIdx","lastTxHash","PathsKr825V3Aex9ContractidBalancesAccountidGetResponses200ContentApplicationJsonSchema","Paths108B3VtV3Aex9ContractidBalancesAccountidHistoryGetResponses200ContentApplicationJsonSchemaAllof1","Get200ApplicationJsonAllOfPropertiesItemsItem","PathsQmewnaV3ChannelsGetResponses200ContentApplicationJsonSchemaAllof0","lastUpdatedHeight","lastUpdatedTime","lastUpdatedTxHash","lastUpdatedTxType","updatesCount","Paths18L84JcV3ContractsCallsGetResponses200ContentApplicationJsonSchemaAllof0","localIdx","Paths10Kk1UxV3ContractsLogsGetResponses200ContentApplicationJsonSchemaAllof0","ContractLog","eventHash","extCallerContractId","extCallerContractTxHash","parentContractId","aexnType","createTx","Paths9Yfxl2V3DexSwapsGetResponses200ContentApplicationJsonSchemaAllof0","Paths6Vze8ZV3DexContractIdSwapsGetResponses200ContentApplicationJsonSchemaAllof0","PathsEue6HzV3KeyBlocksGetResponses200ContentApplicationJsonSchemaAllof0","beneficiaryReward","microBlocksCount","transactionsCount","PathsNn60D7V3KeyBlocksHashOrKbiMicroBlocksGetResponses200ContentApplicationJsonSchemaAllof0","MicroBlock","microBlockIndex","PathsXhlqwrV3MicroBlocksHashTransactionsGetResponses200ContentApplicationJsonSchemaAllof0","Paths181Cs9V3NamesGetResponses200ContentApplicationJsonSchemaAllof0","activeFrom","approximateActivationTime","approximateExpireTime","auction","auctionTimeout","expireHeight","ownership","Auction","activationTime","auctionEnd","lastBid","AuctionLastBid","NameOwnership","original","NameTx","NameTxTx","Paths1R08F8HV3NamesAuctionsGetResponses200ContentApplicationJsonSchemaAllof0","PathsCrb9BgV3NamesAuctionsIdClaimsGetResponses200ContentApplicationJsonSchema","NameClaim","internalSource","PathsMyl4W2V3NamesIdClaimsGetResponses200ContentApplicationJsonSchemaAllof0","Paths1Ukwk06V3NamesIdTransfersGetResponses200ContentApplicationJsonSchemaAllof0","NameTransfer","PathsRcnvllV3NamesIdUpdatesGetResponses200ContentApplicationJsonSchemaAllof0","NameUpdate","PathsGcr9MrV3OraclesGetResponses200ContentApplicationJsonSchemaAllof0","registerTime","registerTxHash","OracleFormat","OracleTx","OracleTxTx","OracleTxOracleTtl","PathsZ4L2QlV3OraclesIdExtendsGetResponses200ContentApplicationJsonSchemaAllof0","OracleExtend","OracleExtendTxOracleTtl","Paths1Uni7AtV3OraclesIdQueriesGetResponses200ContentApplicationJsonSchemaAllof0","Paths1Tcj5A9V3OraclesIdResponsesGetResponses200ContentApplicationJsonSchemaAllof0","Stats","feesTrend","last24HsAverageTransactionFees","last24HsTransactions","maxTransactionsPerSecond","maxTransactionsPerSecondBlockHash","minersCount","transactionsTrend","PathsV2Gh3TV3StatisticsBlocksGetResponses200ContentApplicationJsonSchemaAllof0","Stat","endDate","startDate","PathsYpljbvV3DeltastatsGetResponses200ContentApplicationJsonSchemaAllof0","DeltaStat","auctionsStarted","blockReward","burnedInAuctions","channelsClosed","channelsOpened","contractsCreated","devReward","lockedInAuctions","lockedInChannels","namesActivated","namesExpired","namesRevoked","oraclesExpired","oraclesRegistered","Paths10OmbqhV3MinerstatsGetResponses200ContentApplicationJsonSchemaAllof0","Miner","totalReward","PathsAc89GqV3StatisticsNamesGetResponses200ContentApplicationJsonSchemaAllof0","Paths1Vms155V3TotalstatsGetResponses200ContentApplicationJsonSchemaAllof0","TotalStat","activeAuctions","activeNames","activeOracles","inactiveNames","inactiveOracles","openChannels","sumBlockReward","sumDevReward","totalTokenSupply","Paths1Syc8AnV3StatisticsTransactionsGetResponses200ContentApplicationJsonSchemaAllof0","mdwAsyncTasks","mdwGensPerMinute","mdwHeight","mdwLastMigration","mdwRevision","mdwSynced","mdwSyncing","mdwTxIndex","mdwVersion","nodeHeight","nodeProgress","nodeSyncing","StatusMdwAsyncTasks","longTasks","producerBuffer","totalPending","PathsHa9C78V3TransactionsGetResponses200ContentApplicationJsonSchemaAllof0","PathsVdg67V3TransfersGetResponses200ContentApplicationJsonSchemaAllof0","Transfer","refBlockHash","refTxType","Aex9TransferEvent","Aex9TransferResponse","callTxi","InternalContractCallEvent","InternalTransferEvent","NameClaimEvent","Paths3Hsv3GV3AccountsAccountidAex141TokensGetResponses200ContentApplicationJsonSchema","PathsKm52GqV3AccountsAccountidAex9BalancesGetResponses200ContentApplicationJsonSchema","Paths1Ceolv9V3AccountsAccountIdDexSwapsGetResponses200ContentApplicationJsonSchema","Paths1Opead5V3AccountsIdActivitiesGetResponses200ContentApplicationJsonSchema","Paths1Gc4HwtV3AccountsIdNamesPointeesGetResponses200ContentApplicationJsonSchema","Paths1XwlyjtV3Aex141GetResponses200ContentApplicationJsonSchema","Paths181AjwxV3Aex141ContractidTemplatesGetResponses200ContentApplicationJsonSchema","Paths15Mi2TaV3Aex141ContractidTemplatesTemplateidTokensGetResponses200ContentApplicationJsonSchema","PathsWl652MV3Aex141ContractidTokensGetResponses200ContentApplicationJsonSchema","Paths1O7Q6IhV3Aex141ContractidTransfersGetResponses200ContentApplicationJsonSchema","Paths1Vr3Y2EV3Aex9GetResponses200ContentApplicationJsonSchema","Paths1N61UurV3Aex9ContractidBalancesGetResponses200ContentApplicationJsonSchema","Paths1Uybd4PV3Aex9ContractidBalancesAccountidHistoryGetResponses200ContentApplicationJsonSchema","Paths3EzhapV3ChannelsGetResponses200ContentApplicationJsonSchema","Paths1Txblx8V3ContractsCallsGetResponses200ContentApplicationJsonSchema","Paths7A1M6RV3ContractsLogsGetResponses200ContentApplicationJsonSchema","Paths1Di8FnjV3DexSwapsGetResponses200ContentApplicationJsonSchema","PathsKwxlzlV3DexContractIdSwapsGetResponses200ContentApplicationJsonSchema","Paths277OngV3KeyBlocksGetResponses200ContentApplicationJsonSchema","Paths1159W94V3KeyBlocksHashOrKbiMicroBlocksGetResponses200ContentApplicationJsonSchema","Paths15Bkk50V3MicroBlocksHashTransactionsGetResponses200ContentApplicationJsonSchema","Paths12S1Nd4V3NamesGetResponses200ContentApplicationJsonSchema","PathsKjq4D4V3NamesAuctionsGetResponses200ContentApplicationJsonSchema","Paths1F98AqgV3NamesIdClaimsGetResponses200ContentApplicationJsonSchema","Paths1Raw8PV3NamesIdTransfersGetResponses200ContentApplicationJsonSchema","Paths1Ec8CltV3NamesIdUpdatesGetResponses200ContentApplicationJsonSchema","Paths1E14NekV3OraclesGetResponses200ContentApplicationJsonSchema","Paths1L5C64RV3OraclesIdExtendsGetResponses200ContentApplicationJsonSchema","Paths8722JhV3OraclesIdQueriesGetResponses200ContentApplicationJsonSchema","PathsVron83V3OraclesIdResponsesGetResponses200ContentApplicationJsonSchema","PathsJd68YV3StatisticsBlocksGetResponses200ContentApplicationJsonSchema","PathsQtodvgV3DeltastatsGetResponses200ContentApplicationJsonSchema","PathsZ2B507V3MinerstatsGetResponses200ContentApplicationJsonSchema","PathsD2HmjxV3StatisticsNamesGetResponses200ContentApplicationJsonSchema","PathsFrvc1LV3TotalstatsGetResponses200ContentApplicationJsonSchema","Paths150Ou6YV3StatisticsTransactionsGetResponses200ContentApplicationJsonSchema","Paths1Pymq07V3TransactionsGetResponses200ContentApplicationJsonSchema","PathsA7P0KiV3TransfersGetResponses200ContentApplicationJsonSchema","getAex141OwnedTokens","getAex141OwnedTokensOperationSpec","getAex9AccountBalances","getAex9AccountBalancesOperationSpec","getAccountDexSwaps","getAccountDexSwapsOperationSpec","getAccountActivities","getAccountActivitiesOperationSpec","getAccountPointees","getAccountPointeesOperationSpec","getAccountTransactionsCount","getAccountTransactionsCountOperationSpec","getSortedAex141Contracts","getSortedAex141ContractsOperationSpec","getAex141ContractTemplates","getAex141ContractTemplatesOperationSpec","getAex141TemplateTokens","getAex141TemplateTokensOperationSpec","getAex141ContractTokens","getAex141ContractTokensOperationSpec","getAex141TokenOwner","getAex141TokenOwnerOperationSpec","getAex141ContractTransfers","getAex141ContractTransfersOperationSpec","getAex141ByContract","getAex141ByContractOperationSpec","getSortedAex9Tokens","getSortedAex9TokensOperationSpec","getAex9TokensCount","getAex9TokensCountOperationSpec","getAex9ContractBalances","getAex9ContractBalancesOperationSpec","getAex9ContractAccountBalance","getAex9ContractAccountBalanceOperationSpec","getAex9ContractAccountBalanceHistory","getAex9ContractAccountBalanceHistoryOperationSpec","getAex9ByContract","getAex9ByContractOperationSpec","getChannels","getChannelsOperationSpec","getChannel","getChannelOperationSpec","getContractCalls","getContractCallsOperationSpec","getContractLogs","getContractLogsOperationSpec","getDexSwaps","getDexSwapsOperationSpec","getDexSwapsByContractId","getDexSwapsByContractIdOperationSpec","getKeyBlocks","getKeyBlocksOperationSpec","getKeyBlockOperationSpec","getKeyBlockMicroBlocks","getKeyBlockMicroBlocksOperationSpec","getMicroBlock","getMicroBlockOperationSpec","getMicroBlockTransactionsOperationSpec","getNames","getNamesOperationSpec","getNamesAuctions","getNamesAuctionsOperationSpec","getNameAuction","getNameAuctionOperationSpec","getNameAuctionClaims","getNameAuctionClaimsOperationSpec","getNamesCount","getNamesCountOperationSpec","getNameOperationSpec","getNameClaims","getNameClaimsOperationSpec","getNameTransfers","getNameTransfersOperationSpec","getNameUpdates","getNameUpdatesOperationSpec","getOracles","getOraclesOperationSpec","getOracle","getOracleOperationSpec","getOracleExtends","getOracleExtendsOperationSpec","getOracleQueries","getOracleQueriesOperationSpec","getOracleResponses","getOracleResponsesOperationSpec","getStats","getStatsOperationSpec","getBlocksStats","getBlocksStatsOperationSpec","getDeltaStats","getDeltaStatsOperationSpec","getMinerStats","getMinerStatsOperationSpec","getNamesStats","getNamesStatsOperationSpec","getTotalStats","getTotalStatsOperationSpec","getTransactionsStats","getTransactionsStatsOperationSpec","getTransactions","getTransactionsOperationSpec","getTransactionsCount","getTransactionsCountOperationSpec","getTransaction","getTransactionOperationSpec","getTransfers","getTransfersOperationSpec","collectionFormat","operationSpecs","MiddlewarePageMissed","isNext","_middleware","MiddlewarePage","rawPage","middleware","nextPath","prevPath","requestByPath","MiddlewareApi","pathWithQuery","queryPos","operationSpec","os","groups","part","URLSearchParams","operationArguments","maybePage","testPage","isMiddlewareRawPage","con1","con2","BrowserConnection","receiveMessage","_onDisconnect","_target","_self","BrowserWindowMessageConnection","sendDirection","receiveDirection","to_aepp","listener","_message$data$jsonrpc","addEventListener","removeEventListener","_this$origin","postMessage","onDetected","wallets","getConnection","to_waellet","newWallet","_listeners","BrowserRuntimeConnection","_port$sender$url","addListener"],"sourceRoot":""}
|