@aeternity/aepp-sdk 11.0.1 → 12.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/dist/aepp-sdk.browser-script.js +1 -1
- package/dist/aepp-sdk.browser-script.js.LICENSE.txt +12 -19
- package/dist/aepp-sdk.browser-script.js.map +1 -1
- package/dist/aepp-sdk.browser.js +1 -1
- package/dist/aepp-sdk.browser.js.map +1 -1
- package/dist/aepp-sdk.js +1 -1
- package/dist/aepp-sdk.js.map +1 -1
- package/es/AeSdk.d.ts +37 -0
- package/es/AeSdk.mjs +81 -0
- package/es/AeSdk.mjs.map +1 -0
- package/es/AeSdkAepp.d.ts +69 -0
- package/es/AeSdkAepp.mjs +175 -0
- package/es/AeSdkAepp.mjs.map +1 -0
- package/es/AeSdkBase.d.ts +212 -0
- package/es/AeSdkBase.mjs +310 -0
- package/es/AeSdkBase.mjs.map +1 -0
- package/es/AeSdkWallet.d.ts +103 -0
- package/es/AeSdkWallet.mjs +322 -0
- package/es/AeSdkWallet.mjs.map +1 -0
- package/es/Node.d.ts +44 -0
- package/es/Node.mjs +141 -0
- package/es/Node.mjs.map +1 -0
- package/es/account/Base.d.ts +65 -0
- package/es/account/Base.mjs +123 -0
- package/es/account/Base.mjs.map +1 -0
- package/es/account/Memory.d.ts +25 -0
- package/es/account/Memory.mjs +81 -0
- package/es/account/Memory.mjs.map +1 -0
- package/es/account/Rpc.d.ts +27 -0
- package/es/account/Rpc.mjs +79 -0
- package/es/account/Rpc.mjs.map +1 -0
- package/es/aens.d.ts +209 -0
- package/es/aens.mjs +332 -0
- package/es/aens.mjs.map +1 -0
- package/es/aepp-wallet-communication/connection/Browser.d.ts +32 -0
- package/es/aepp-wallet-communication/connection/Browser.mjs +70 -0
- package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -0
- package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +17 -0
- package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +57 -0
- package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -0
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +35 -0
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +142 -0
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -0
- package/es/aepp-wallet-communication/connection-proxy.d.ts +10 -0
- package/{src/utils/crypto-ts.ts → es/aepp-wallet-communication/connection-proxy.mjs} +15 -11
- package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -0
- package/es/aepp-wallet-communication/rpc/RpcClient.d.ts +33 -0
- package/es/aepp-wallet-communication/rpc/RpcClient.mjs +169 -0
- package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -0
- package/es/aepp-wallet-communication/rpc/types.d.ts +77 -0
- package/es/aepp-wallet-communication/rpc/types.mjs +3 -0
- package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -0
- package/es/aepp-wallet-communication/schema.d.ts +90 -46
- package/es/aepp-wallet-communication/schema.mjs +214 -0
- package/es/aepp-wallet-communication/schema.mjs.map +1 -0
- package/es/aepp-wallet-communication/wallet-detector.d.ts +24 -0
- package/es/aepp-wallet-communication/wallet-detector.mjs +63 -0
- package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -0
- package/es/apis/compiler/compiler.d.ts +92 -0
- package/es/apis/compiler/compiler.mjs +576 -0
- package/es/apis/compiler/compiler.mjs.map +1 -0
- package/es/apis/compiler/index.d.ts +2 -0
- package/es/apis/compiler/index.mjs +3 -0
- package/es/apis/compiler/index.mjs.map +1 -0
- package/es/apis/compiler/models/index.d.ts +248 -0
- package/es/apis/compiler/models/index.mjs +48 -0
- package/es/apis/compiler/models/index.mjs.map +1 -0
- package/es/apis/compiler/models/mappers.d.ts +23 -0
- package/es/apis/compiler/models/mappers.mjs +585 -0
- package/es/apis/compiler/models/mappers.mjs.map +1 -0
- package/es/apis/compiler/models/parameters.d.ts +13 -0
- package/es/apis/compiler/models/parameters.mjs +71 -0
- package/es/apis/compiler/models/parameters.mjs.map +1 -0
- package/es/apis/node/index.d.ts +2 -0
- package/es/apis/node/index.mjs +3 -0
- package/es/apis/node/index.mjs.map +1 -0
- package/es/apis/node/models/index.d.ts +1061 -0
- package/es/apis/node/models/index.mjs +2 -0
- package/es/apis/node/models/index.mjs.map +1 -0
- package/es/apis/node/models/mappers.d.ts +95 -0
- package/es/apis/node/models/mappers.mjs +4164 -0
- package/es/apis/node/models/mappers.mjs.map +1 -0
- package/es/apis/node/models/parameters.d.ts +17 -0
- package/es/apis/node/models/parameters.mjs +165 -0
- package/es/apis/node/models/parameters.mjs.map +1 -0
- package/es/apis/node/node.d.ts +215 -0
- package/es/apis/node/node.mjs +1165 -0
- package/es/apis/node/node.mjs.map +1 -0
- package/es/chain.d.ts +220 -0
- package/es/chain.mjs +524 -0
- package/es/chain.mjs.map +1 -0
- package/es/channel/handlers.d.ts +34 -0
- package/es/channel/handlers.mjs +147 -112
- package/es/channel/handlers.mjs.map +1 -1
- package/es/channel/index.d.ts +634 -0
- package/es/channel/index.mjs +898 -900
- package/es/channel/index.mjs.map +1 -1
- package/es/channel/internal.d.ts +100 -0
- package/es/channel/internal.mjs +97 -51
- package/es/channel/internal.mjs.map +1 -1
- package/es/contract/Compiler.d.ts +17 -0
- package/es/contract/Compiler.mjs +67 -0
- package/es/contract/Compiler.mjs.map +1 -0
- package/es/contract/aci.d.ts +125 -0
- package/es/contract/aci.mjs +199 -180
- package/es/contract/aci.mjs.map +1 -1
- package/es/contract/ga.d.ts +68 -0
- package/es/contract/ga.mjs +190 -0
- package/es/contract/ga.mjs.map +1 -0
- package/es/contract/methods.d.ts +68 -0
- package/es/contract/methods.mjs +101 -0
- package/es/contract/methods.mjs.map +1 -0
- package/es/index.d.ts +32 -0
- package/es/index.mjs +32 -40
- package/es/index.mjs.map +1 -1
- package/es/oracle.d.ts +154 -0
- package/es/oracle.mjs +288 -0
- package/es/oracle.mjs.map +1 -0
- package/es/spend.d.ts +61 -0
- package/es/spend.mjs +122 -0
- package/es/spend.mjs.map +1 -0
- package/es/tx/builder/constants.d.ts +41 -0
- package/es/tx/builder/constants.mjs +11 -19
- package/es/tx/builder/constants.mjs.map +1 -1
- package/es/tx/builder/field-types.d.ts +62 -0
- package/es/tx/builder/field-types.mjs +62 -10
- package/es/tx/builder/field-types.mjs.map +1 -1
- package/es/tx/builder/helpers.d.ts +131 -0
- package/es/tx/builder/helpers.mjs +71 -169
- package/es/tx/builder/helpers.mjs.map +1 -1
- package/es/tx/builder/index.d.ts +75 -0
- package/es/tx/builder/index.mjs +141 -323
- package/es/tx/builder/index.mjs.map +1 -1
- package/es/tx/builder/schema.d.ts +350 -0
- package/es/tx/builder/schema.mjs +173 -510
- package/es/tx/builder/schema.mjs.map +1 -1
- package/es/tx/index.d.ts +63 -0
- package/es/tx/index.mjs +171 -265
- package/es/tx/index.mjs.map +1 -1
- package/es/tx/min-fee.d.ts +20 -0
- package/es/tx/min-fee.mjs +148 -0
- package/es/tx/min-fee.mjs.map +1 -0
- package/es/tx/validator.d.ts +19 -0
- package/es/tx/validator.mjs +64 -71
- package/es/tx/validator.mjs.map +1 -1
- package/es/typings/@aeternity__argon2-browser/index.d.mjs +2 -0
- package/es/typings/@aeternity__argon2-browser/index.d.mjs.map +1 -0
- package/es/typings/@aeternity__uuid/index.d.mjs +2 -0
- package/es/typings/@aeternity__uuid/index.d.mjs.map +1 -0
- package/es/typings/bip32-path/index.d.mjs +2 -0
- package/es/typings/bip32-path/index.d.mjs.map +1 -0
- package/es/typings/blakejs/index.d.mjs.map +1 -1
- package/es/typings/tweetnacl-auth/index.d.mjs +2 -0
- package/es/typings/tweetnacl-auth/index.d.mjs.map +1 -0
- package/es/utils/amount-formatter.d.ts +42 -0
- package/es/utils/amount-formatter.mjs +28 -41
- package/es/utils/amount-formatter.mjs.map +1 -1
- package/es/utils/autorest.d.ts +6 -0
- package/es/utils/autorest.mjs +97 -0
- package/es/utils/autorest.mjs.map +1 -0
- package/es/utils/bignumber.d.ts +13 -0
- package/es/utils/bignumber.mjs +10 -8
- package/es/utils/bignumber.mjs.map +1 -1
- package/es/{bytes.d.ts → utils/bytes.d.ts} +10 -13
- package/es/utils/bytes.mjs +10 -14
- package/es/utils/bytes.mjs.map +1 -1
- package/es/utils/crypto.d.ts +103 -0
- package/es/utils/crypto.mjs +60 -68
- package/es/utils/crypto.mjs.map +1 -1
- package/es/utils/encoder.d.ts +26 -0
- package/es/utils/encoder.mjs +47 -51
- package/es/utils/encoder.mjs.map +1 -1
- package/es/{errors.d.ts → utils/errors.d.ts} +254 -57
- package/es/utils/errors.mjs +318 -125
- package/es/utils/errors.mjs.map +1 -1
- package/es/utils/hd-wallet.d.ts +34 -0
- package/es/utils/hd-wallet.mjs +27 -16
- package/es/utils/hd-wallet.mjs.map +1 -1
- package/es/utils/json-big.d.ts +5 -0
- package/es/utils/json-big.mjs +10 -14
- package/es/utils/json-big.mjs.map +1 -1
- package/es/utils/keystore.d.ts +51 -0
- package/es/utils/keystore.mjs +98 -193
- package/es/utils/keystore.mjs.map +1 -1
- package/es/{mptree.d.ts → utils/mptree.d.ts} +5 -8
- package/es/utils/mptree.mjs +13 -14
- package/es/utils/mptree.mjs.map +1 -1
- package/es/utils/other.d.ts +14 -0
- package/es/utils/other.mjs +21 -36
- package/es/utils/other.mjs.map +1 -1
- package/es/{semver-satisfies.d.ts → utils/semver-satisfies.d.ts} +0 -0
- package/es/utils/semver-satisfies.mjs.map +1 -1
- package/es/utils/string.d.ts +24 -0
- package/es/utils/string.mjs +8 -10
- package/es/utils/string.mjs.map +1 -1
- package/package.json +49 -39
- package/src/AeSdk.ts +65 -0
- package/src/AeSdkAepp.ts +167 -0
- package/src/AeSdkBase.ts +320 -0
- package/src/AeSdkWallet.ts +332 -0
- package/src/Node.ts +167 -0
- package/src/account/Base.ts +114 -0
- package/src/account/Memory.ts +83 -0
- package/src/account/Rpc.ts +67 -0
- package/src/aens.ts +391 -0
- package/src/aepp-wallet-communication/connection/Browser.ts +68 -0
- package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +58 -0
- package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +111 -0
- package/{es/utils/crypto-ts.mjs → src/aepp-wallet-communication/connection-proxy.ts} +16 -17
- package/src/aepp-wallet-communication/rpc/RpcClient.ts +137 -0
- package/src/aepp-wallet-communication/rpc/types.ts +66 -0
- package/src/aepp-wallet-communication/schema.ts +181 -0
- package/src/aepp-wallet-communication/wallet-detector.ts +71 -0
- package/src/apis/compiler/code-model-v4.yaml +2649 -0
- package/src/apis/compiler/compiler.ts +585 -0
- package/src/apis/compiler/index.ts +2 -0
- package/src/apis/compiler/models/index.ts +301 -0
- package/src/apis/compiler/models/mappers.ts +583 -0
- package/src/apis/compiler/models/parameters.ts +93 -0
- package/src/apis/node/code-model-v4.yaml +10046 -0
- package/src/apis/node/index.ts +2 -0
- package/src/apis/node/models/index.ts +1253 -0
- package/src/apis/node/models/mappers.ts +4278 -0
- package/src/apis/node/models/parameters.ts +188 -0
- package/src/apis/node/node.ts +1299 -0
- package/src/chain.ts +444 -0
- package/src/channel/{handlers.js → handlers.ts} +220 -128
- package/src/channel/index.ts +991 -0
- package/src/channel/internal.ts +345 -0
- package/src/contract/Compiler.ts +66 -0
- package/src/contract/aci.ts +529 -0
- package/src/contract/ga.ts +178 -0
- package/src/contract/methods.ts +118 -0
- package/src/index.ts +51 -0
- package/src/oracle.ts +342 -0
- package/src/spend.ts +152 -0
- package/src/tx/builder/{constants.js → constants.ts} +12 -16
- package/src/tx/builder/field-types.ts +111 -0
- package/src/tx/builder/helpers.ts +253 -0
- package/src/tx/builder/index.ts +394 -0
- package/src/tx/builder/schema.ts +771 -0
- package/src/tx/index.ts +199 -0
- package/src/tx/min-fee.ts +136 -0
- package/src/tx/validator.ts +226 -0
- package/src/typings/@aeternity__argon2-browser/index.d.ts +3 -0
- package/src/typings/@aeternity__uuid/index.d.ts +3 -0
- package/src/typings/bip32-path/index.d.ts +33 -0
- package/src/typings/tweetnacl-auth/index.d.ts +14 -0
- package/src/utils/amount-formatter.ts +29 -42
- package/src/utils/autorest.ts +90 -0
- package/src/utils/bignumber.ts +9 -11
- package/src/utils/bytes.ts +12 -14
- package/src/utils/crypto.ts +217 -0
- package/src/utils/encoder.ts +52 -55
- package/src/utils/errors.ts +268 -134
- package/src/utils/hd-wallet.ts +134 -0
- package/src/utils/json-big.ts +26 -0
- package/src/utils/keystore.ts +179 -0
- package/src/utils/mptree.ts +14 -14
- package/src/utils/other.ts +28 -43
- package/src/utils/string.ts +8 -10
- package/es/account/base.mjs +0 -179
- package/es/account/base.mjs.map +0 -1
- package/es/account/memory.mjs +0 -99
- package/es/account/memory.mjs.map +0 -1
- package/es/account/multiple.mjs +0 -179
- package/es/account/multiple.mjs.map +0 -1
- package/es/ae/aens.mjs +0 -404
- package/es/ae/aens.mjs.map +0 -1
- package/es/ae/aepp.mjs +0 -45
- package/es/ae/aepp.mjs.map +0 -1
- package/es/ae/contract.mjs +0 -159
- package/es/ae/contract.mjs.map +0 -1
- package/es/ae/index.mjs +0 -207
- package/es/ae/index.mjs.map +0 -1
- package/es/ae/oracle.mjs +0 -339
- package/es/ae/oracle.mjs.map +0 -1
- package/es/ae/universal.mjs +0 -45
- package/es/ae/universal.mjs.map +0 -1
- package/es/ae/wallet.mjs +0 -50
- package/es/ae/wallet.mjs.map +0 -1
- package/es/amount-formatter.d.ts +0 -58
- package/es/bignumber.d.ts +0 -18
- package/es/chain/index.mjs +0 -272
- package/es/chain/index.mjs.map +0 -1
- package/es/chain/node.mjs +0 -442
- package/es/chain/node.mjs.map +0 -1
- package/es/contract/compiler.mjs +0 -115
- package/es/contract/compiler.mjs.map +0 -1
- package/es/contract/ga/helpers.mjs +0 -30
- package/es/contract/ga/helpers.mjs.map +0 -1
- package/es/contract/ga/index.mjs +0 -178
- package/es/contract/ga/index.mjs.map +0 -1
- package/es/crypto-ts.d.ts +0 -9
- package/es/encoder.d.ts +0 -26
- package/es/node-pool/index.mjs +0 -188
- package/es/node-pool/index.mjs.map +0 -1
- package/es/node.mjs +0 -133
- package/es/node.mjs.map +0 -1
- package/es/other.d.ts +0 -31
- package/es/string.d.ts +0 -26
- package/es/tx/tx-object.mjs +0 -283
- package/es/tx/tx-object.mjs.map +0 -1
- package/es/tx/tx.mjs +0 -938
- package/es/tx/tx.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs +0 -132
- package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs +0 -183
- package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/connection/index.mjs +0 -87
- package/es/utils/aepp-wallet-communication/connection/index.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/content-script-bridge.mjs +0 -98
- package/es/utils/aepp-wallet-communication/content-script-bridge.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/helpers.mjs +0 -92
- package/es/utils/aepp-wallet-communication/helpers.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs +0 -375
- package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs +0 -275
- package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs +0 -541
- package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/schema.mjs +0 -102
- package/es/utils/aepp-wallet-communication/schema.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/wallet-detector.mjs +0 -110
- package/es/utils/aepp-wallet-communication/wallet-detector.mjs.map +0 -1
- package/es/utils/async-init.mjs +0 -64
- package/es/utils/async-init.mjs.map +0 -1
- package/es/utils/crypto-ts.mjs.map +0 -1
- package/es/utils/swagger.mjs +0 -164
- package/es/utils/swagger.mjs.map +0 -1
- package/src/account/base.js +0 -153
- package/src/account/memory.js +0 -83
- package/src/account/multiple.js +0 -162
- package/src/ae/aens.js +0 -361
- package/src/ae/aepp.js +0 -45
- package/src/ae/contract.js +0 -148
- package/src/ae/index.js +0 -168
- package/src/ae/oracle.js +0 -311
- package/src/ae/universal.js +0 -47
- package/src/ae/wallet.js +0 -50
- package/src/chain/index.js +0 -269
- package/src/chain/node.js +0 -320
- package/src/channel/index.js +0 -903
- package/src/channel/internal.js +0 -236
- package/src/contract/aci.js +0 -376
- package/src/contract/compiler.js +0 -100
- package/src/contract/ga/helpers.js +0 -19
- package/src/contract/ga/index.js +0 -150
- package/src/index.js +0 -89
- package/src/node-pool/index.js +0 -172
- package/src/node.js +0 -116
- package/src/tx/builder/field-types.js +0 -61
- package/src/tx/builder/helpers.js +0 -334
- package/src/tx/builder/index.js +0 -465
- package/src/tx/builder/schema.js +0 -1100
- package/src/tx/index.js +0 -301
- package/src/tx/tx-object.js +0 -187
- package/src/tx/tx.js +0 -631
- package/src/tx/validator.js +0 -181
- package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +0 -119
- package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +0 -165
- package/src/utils/aepp-wallet-communication/connection/index.js +0 -85
- package/src/utils/aepp-wallet-communication/content-script-bridge.js +0 -86
- package/src/utils/aepp-wallet-communication/helpers.js +0 -60
- package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +0 -294
- package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +0 -232
- package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +0 -401
- package/src/utils/aepp-wallet-communication/schema.ts +0 -80
- package/src/utils/aepp-wallet-communication/wallet-detector.js +0 -92
- package/src/utils/async-init.js +0 -45
- package/src/utils/crypto.js +0 -219
- package/src/utils/hd-wallet.js +0 -100
- package/src/utils/json-big.js +0 -26
- package/src/utils/keystore.js +0 -219
- package/src/utils/swagger.js +0 -156
package/dist/aepp-sdk.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@stamp/it"),require("@aeternity/uuid"),require("@stamp/required"),require("bignumber.js"),require("bs58"),require("tweetnacl"),require("aes-js"),require("@aeternity/blakejs"),require("sha.js"),require("rlp"),require("swagger-client"),require("cross-fetch"),require("@aeternity/json-bigint"),require("@aeternity/aepp-calldata"),require("websocket"),require("events"),require("@aeternity/argon2-browser/dist/argon2-bundled.min.js"),require("tweetnacl-auth"),require("bip32-path")):"function"==typeof define&&define.amd?define(["@stamp/it","@aeternity/uuid","@stamp/required","bignumber.js","bs58","tweetnacl","aes-js","@aeternity/blakejs","sha.js","rlp","swagger-client","cross-fetch","@aeternity/json-bigint","@aeternity/aepp-calldata","websocket","events","@aeternity/argon2-browser/dist/argon2-bundled.min.js","tweetnacl-auth","bip32-path"],t):"object"==typeof exports?exports.Ae=t(require("@stamp/it"),require("@aeternity/uuid"),require("@stamp/required"),require("bignumber.js"),require("bs58"),require("tweetnacl"),require("aes-js"),require("@aeternity/blakejs"),require("sha.js"),require("rlp"),require("swagger-client"),require("cross-fetch"),require("@aeternity/json-bigint"),require("@aeternity/aepp-calldata"),require("websocket"),require("events"),require("@aeternity/argon2-browser/dist/argon2-bundled.min.js"),require("tweetnacl-auth"),require("bip32-path")):e.Ae=t(e["@stamp/it"],e["@aeternity/uuid"],e["@stamp/required"],e["bignumber.js"],e.bs58,e.tweetnacl,e["aes-js"],e["@aeternity/blakejs"],e["sha.js"],e.rlp,e["swagger-client"],e["cross-fetch"],e["@aeternity/json-bigint"],e["@aeternity/aepp-calldata"],e.websocket,e.events,e["@aeternity/argon2-browser/dist/argon2-bundled.min.js"],e["tweetnacl-auth"],e["bip32-path"])}(global,(function(e,t,n,r,a,s,o,i,c,d,l,u,h,p,f,m,g,y,w){return(()=>{"use strict";var b={946:e=>{e.exports=p},289:e=>{e.exports=g},343:e=>{e.exports=i},911:e=>{e.exports=h},983:e=>{e.exports=t},910:t=>{t.exports=e},180:e=>{e.exports=n},236:e=>{e.exports=o},192:e=>{e.exports=r},986:e=>{e.exports=w},783:e=>{e.exports=a},503:e=>{e.exports=u},735:e=>{e.exports=m},485:e=>{e.exports=d},433:e=>{e.exports=c},659:e=>{e.exports=l},79:e=>{e.exports=s},882:e=>{e.exports=y},397:e=>{e.exports=f}},x={};function v(e){var t=x[e];if(void 0!==t)return t.exports;var n=x[e]={exports:{}};return b[e](n,n.exports,v),n.exports}v.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return v.d(t,{a:t}),t},v.d=(e,t)=>{for(var n in t)v.o(t,n)&&!v.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},v.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),v.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var T={};return(()=>{v.r(T),v.d(T,{AccountBase:()=>Hs,AccountError:()=>y,AccountMultiple:()=>co,Ae:()=>Ws,Aens:()=>uo,AensError:()=>w,AensPointerContextError:()=>Q,AeppError:()=>b,AeppWalletHelpers:()=>d,AeppWalletSchema:()=>c,AlreadyConnectedError:()=>Je,AmbiguousEventDefinitionError:()=>xe,AmountFormatter:()=>r,ArgumentCountMismatchError:()=>S,ArgumentError:()=>O,BaseError:()=>g,BrowserRuntimeConnection:()=>uc,BrowserWindowMessageConnection:()=>dc,BytecodeMismatchError:()=>de,Bytes:()=>e,Chain:()=>Is,ChainNode:()=>Js,Channel:()=>ac,ChannelCallError:()=>re,ChannelConnectionError:()=>ae,ChannelError:()=>x,ChannelPingTimedOutError:()=>se,CompilerError:()=>I,ContentScriptBridge:()=>oc,Contract:()=>go,ContractCompilerHttp:()=>ho,ContractError:()=>C,Crypto:()=>t,CryptographyError:()=>E,DecodeError:()=>Me,DisconnectedError:()=>Pe,DryRunError:()=>Fe,DuplicateCallbackError:()=>X,DuplicateContractError:()=>le,DuplicateNodeError:()=>Be,EncodeError:()=>Re,GeneralizedAccount:()=>bo,HdWallet:()=>i,IllegalArgumentError:()=>N,IllegalBidFeeError:()=>Ve,InactiveContractError:()=>ue,InsufficientBalanceError:()=>P,InsufficientNameFeeError:()=>z,InternalError:()=>W,InvalidAensNameError:()=>Y,InvalidAuthDataError:()=>ce,InvalidChecksumError:()=>ve,InvalidDenominationError:()=>B,InvalidDerivationPathError:()=>Te,InvalidKeyError:()=>Ie,InvalidKeypairError:()=>L,InvalidMethodInvocationError:()=>he,InvalidNameError:()=>j,InvalidPasswordError:()=>Ce,InvalidRpcMessageError:()=>J,InvalidSignatureError:()=>qe,InvalidTxError:()=>$e,InvalidTxParamsError:()=>Ue,Keystore:()=>n,MemoryAccount:()=>io,MerkleTreeHashMismatchError:()=>Ee,MessageDirectionError:()=>Ze,MissingCallbackError:()=>Z,MissingContractAddressError:()=>pe,MissingContractDefError:()=>fe,MissingEventDefinitionError:()=>be,MissingFunctionNameError:()=>me,MissingNodeInTreeError:()=>Ae,MissingParamError:()=>M,NoBrowserFoundError:()=>R,NoDefaultAensPointerError:()=>He,NoSerializerFoundError:()=>D,NoSuchContractFunctionError:()=>ye,NoWalletConnectedError:()=>et,Node:()=>$s,NodeError:()=>A,NodeInvocationError:()=>ge,NodeNotFoundError:()=>je,NodePool:()=>zs,NotHardenedSegmentError:()=>_e,NotImplementedError:()=>H,NotPayableFunctionError:()=>we,Oracle:()=>Uo,PayloadLengthError:()=>De,PrefixMismatchError:()=>Ke,PrefixNotFoundError:()=>We,RequestTimedOutError:()=>F,RpcAepp:()=>Ho,RpcConnectionError:()=>tt,RpcWallet:()=>Yo,SCHEMA:()=>s,SchemaNotFoundError:()=>Le,TagNotFoundError:()=>Ge,Transaction:()=>so,TransactionError:()=>k,Tx:()=>vs,TxBuilder:()=>o,TxBuilderHelper:()=>a,TxNotInChainError:()=>Qe,TxTimedOutError:()=>V,TypeError:()=>q,UnAuthorizedAccountError:()=>ee,UnavailableAccountError:()=>G,UnexpectedChannelMessageError:()=>oe,Universal:()=>sc,UnknownChannelStateError:()=>ie,UnknownNodeLengthError:()=>Oe,UnknownPathNibbleError:()=>Ne,UnknownRpcClientError:()=>te,UnknownTxError:()=>ze,UnsubscribedAccountError:()=>ne,UnsupportedABIversionError:()=>Ye,UnsupportedAlgorithmError:()=>ke,UnsupportedChildIndexError:()=>Se,UnsupportedPlatformError:()=>$,UnsupportedProtocolError:()=>U,UnsupportedVMversionError:()=>Xe,UnsupportedVersionError:()=>K,WalletDetector:()=>lc,WalletError:()=>_,genSwaggerClient:()=>Ms,getDefaultPointerKey:()=>hc,verifyTransaction:()=>Qs});var e={};v.r(e),v.d(e,{bigNumberToByteArray:()=>st,str2buf:()=>it,toBytes:()=>ot});var t={};v.r(t),v.d(t,{decryptKey:()=>Bt,encodeContractAddress:()=>Ot,encodeUnsigned:()=>_t,encryptKey:()=>Pt,generateKeyPair:()=>St,generateKeyPairFromSecret:()=>Nt,getAddressFromPriv:()=>Et,hash:()=>It,isAddressValid:()=>At,isValidKeypair:()=>Vt,messageToHash:()=>Rt,salt:()=>kt,sha256hash:()=>lt,sign:()=>jt,signMessage:()=>Dt,verify:()=>Mt,verifyMessage:()=>Ft});var n={};v.r(n),v.d(n,{deriveKeyUsingArgon2id:()=>Kt,dump:()=>Xt,getAddressFromPriv:()=>zt,recover:()=>Yt,validateKeyObj:()=>Jt});var r={};v.r(r),v.d(r,{AE_AMOUNT_FORMATS:()=>nn,DENOMINATION_MAGNITUDE:()=>rn,default:()=>un,formatAmount:()=>on,toAe:()=>an,toAettos:()=>sn});var a={};v.r(a),v.d(a,{buildContractId:()=>jn,buildPointers:()=>Hn,commitmentHash:()=>Fn,computeAuctionEndBlock:()=>Xn,computeBidFee:()=>Yn,createSalt:()=>Bn,decode:()=>xt,encode:()=>vt,ensureNameValid:()=>Ln,formatSalt:()=>Rn,getDefaultPointerKey:()=>Qn,getMinimumNameFee:()=>zn,isAuctionName:()=>Jn,isNameValid:()=>Gn,oracleQueryId:()=>Mn,produceNameId:()=>Dn,readId:()=>qn,readInt:()=>Un,readPointers:()=>Kn,writeId:()=>Vn,writeInt:()=>$n});var s={};v.r(s),v.d(s,{ABI_VERSIONS:()=>Pr,AMOUNT:()=>dr,BASE_GAS:()=>Dr,CLIENT_TTL:()=>vn,CONTRACT_BYTE_CODE_LIMA:()=>Kr,DEFAULT_FEE:()=>Vr,DRY_RUN_ACCOUNT:()=>pr,FIELD_TYPES:()=>Rr,GAS_MAX:()=>lr,GAS_PER_BYTE:()=>Fr,ID_TAG:()=>Nn,ID_TAG_PREFIX:()=>Pn,KEY_BLOCK_INTERVAL:()=>qr,MAX_AUTH_FUN_GAS:()=>hr,MIN_GAS_PRICE:()=>ur,NAME_BID_MAX_LENGTH:()=>An,NAME_BID_RANGES:()=>_n,NAME_BID_TIMEOUTS:()=>On,NAME_BID_TIMEOUT_BLOCKS:()=>Cn,NAME_FEE_BID_INCREMENT:()=>In,NAME_FEE_MULTIPLIER:()=>Tn,NAME_MAX_CLIENT_TTL:()=>xn,NAME_MAX_LENGTH_FEE:()=>En,NAME_MAX_TTL:()=>bn,NAME_TTL:()=>wn,OBJECT_ID_TX_TYPE:()=>Mr,OBJECT_TAG_SIGNED_TRANSACTION:()=>fr,ORACLE_TTL:()=>or,POINTER_KEY_BY_PREFIX:()=>kn,PREFIX_ID_TAG:()=>Sn,PROTOCOL_VERSIONS:()=>Br,PROTOCOL_VM_ABI:()=>jr,QUERY_FEE:()=>sr,QUERY_TTL:()=>ir,RESPONSE_TTL:()=>cr,TX_DESERIALIZATION_SCHEMA:()=>Fa,TX_FEE_BASE_GAS:()=>$r,TX_FEE_OTHER_GAS:()=>Ur,TX_SERIALIZATION_SCHEMA:()=>Da,TX_TTL:()=>ar,TX_TYPE:()=>Nr,VM_VERSIONS:()=>Sr,VSN:()=>nr,VSN_2:()=>rr});var o={};v.r(o),v.d(o,{buildRawTx:()=>Xa,buildTx:()=>es,buildTxHash:()=>ns,calculateFee:()=>za,calculateMinFee:()=>Ga,default:()=>rs,unpackRawTx:()=>Ja,unpackTx:()=>ts,validateParams:()=>Ya});var i={};v.r(i),v.d(i,{deriveChild:()=>fs,derivePathFromKey:()=>ds,derivePathFromSeed:()=>ls,generateSaveHDWalletFromSeed:()=>ms,getHdWalletAccountFromSeed:()=>ys,getKeyPair:()=>hs,getMasterKeyFromSeed:()=>ps,getSaveHDWalletAccounts:()=>gs});var c={};v.r(c),v.d(c,{ERRORS:()=>ko,MESSAGE_DIRECTION:()=>To,METHODS:()=>Eo,RPC_STATUS:()=>Ao,SUBSCRIPTION_TYPES:()=>Co,VERSION:()=>vo,WALLET_TYPE:()=>Io});var d={};v.r(d),v.d(d,{getBrowserAPI:()=>_o,getHandler:()=>So,isInIframe:()=>Oo,isValidAccounts:()=>Mo,message:()=>Po,responseMessage:()=>Bo,sendMessage:()=>No,sendResponseMessage:()=>jo});var l=v(79),u=v.n(l),h=v(236),p=v.n(h),f=v(192),m=v.n(f);class g extends Error{constructor(e){super(e),this.name="BaseError"}}class y extends g{constructor(e){super(e),this.name="AccountError"}}class w extends g{constructor(e){super(e),this.name="AensError"}}class b extends g{constructor(e){super(e),this.name="AeppError"}}class x extends g{constructor(e){super(e),this.name="ChannelError"}}class I extends g{constructor(e){super(e),this.name="CompilerError"}}class C extends g{constructor(e){super(e),this.name="ContractError"}}class E extends g{constructor(e){super(e),this.name="CryptographyError"}}class A extends g{constructor(e){super(e),this.name="NodeError"}}class k extends g{constructor(e){super(e),this.name="TransactionError"}}class _ extends g{constructor(e){super(e),this.name="WalletError"}}class O extends g{constructor(e,t,n){super(`${e} should be ${t}, got ${n} instead`),this.name="ArgumentError"}}class N extends E{constructor(e){super(e),this.name="IllegalArgumentError"}}class S extends g{constructor(e,t,n){super(`${e} expects ${t} arguments, got ${n} instead`),this.name="ArgumentCountMismatchError"}}class P extends g{constructor(e){super(e),this.name="InsufficientBalanceError"}}class B extends g{constructor(e){super(e),this.name="InvalidDenominationError"}}class j extends g{constructor(e){super(e),this.name="InvalidNameError"}}class M extends g{constructor(e){super(e),this.name="MissingParamError"}}class R extends g{constructor(){super("Browser is not detected"),this.name="NoBrowserFoundError"}}class D extends g{constructor(){super("Byte serialization not supported"),this.name="NoSerializerFoundError"}}class F extends g{constructor(e,t,n){super(void 0!==t&&void 0!==n?`Giving up after ${e}ms, current height: ${t}, desired height: ${n}`:`Giving up after ${e} ms`),this.name="RequestTimedOutError"}}class V extends g{constructor(e,t,n){super([`Giving up after ${e} blocks mined`,`transaction hash: ${t}`,...n?[`status: ${n}`]:[]].join(", ")),this.name="TxTimedOutError"}}class q extends g{constructor(e){super(e),this.name="TypeError"}}class $ extends g{constructor(e){super(e),this.name="UnsupportedPlatformError"}}class U extends g{constructor(e){super(e),this.name="UnsupportedProtocolError"}}class H extends g{constructor(e){super(e),this.name="NotImplementedError"}}class K extends g{constructor(e,t,n,r){super(`Unsupported ${e} version ${t}. Supported: >= ${n} < ${r}`),this.name="UnsupportedVersionError"}}class W extends g{constructor(e){super(e),this.name="InternalError"}}class L extends y{constructor(e){super(e),this.name="InvalidKeypairError"}}class G extends y{constructor(e){super(`Account for ${e} not available`),this.name="UnavailableAccountError"}}class Q extends w{constructor(e,t){super(`Name ${e} don't have pointers for ${t}`),this.name="AensPointerContextError"}}class z extends w{constructor(e,t){super(`the provided fee ${e} is not enough to execute the claim, required: ${t}`),this.name="InsufficientNameFeeError"}}class Y extends w{constructor(e){super(e),this.name="InvalidAensNameError"}}class X extends b{constructor(){super("Callback Already exist"),this.name="DuplicateCallbackError"}}class J extends b{constructor(e){super(`Received invalid message: ${e}`),this.name="InvalidRpcMessageError"}}class Z extends b{constructor(e){super(`Can't find callback for this messageId ${e}`),this.name="MissingCallbackError"}}class ee extends b{constructor(e){super(`You do not have access to account ${e}`),this.name="UnAuthorizedAccountError"}}class te extends b{constructor(e){super(`RpcClient with id ${e} do not exist`),this.name="UnknownRpcClientError"}}class ne extends b{constructor(){super("You are not subscribed for an account."),this.name="UnsubscribedAccountError"}}class re extends x{constructor(e){super(e),this.name="ChannelCallError"}}class ae extends x{constructor(e){super(e),this.name="ChannelConnectionError"}}class se extends x{constructor(){super("Server pong timed out"),this.name="ChannelPingTimedOutError"}}class oe extends x{constructor(e){super(e),this.name="UnexpectedChannelMessageError"}}class ie extends x{constructor(){super("State Channels FSM entered unknown state"),this.name="UnknownChannelStateError"}}class ce extends I{constructor(e){super(e),this.name="InvalidAuthDataError"}}class de extends C{constructor(e){super(`Contract ${e} do not correspond to the bytecode deployed on the chain`),this.name="BytecodeMismatchError"}}class le extends C{constructor(){super("Contract already deployed"),this.name="DuplicateContractError"}}class ue extends C{constructor(e){super(`Contract with address ${e} not active`),this.name="InactiveContractError"}}class he extends C{constructor(e){super(e),this.name="InvalidMethodInvocationError"}}class pe extends C{constructor(e){super(e),this.name="MissingContractAddressError"}}class fe extends C{constructor(){super("Either ACI or source code is required"),this.name="MissingContractDefError"}}class me extends C{constructor(){super("Function name is required"),this.name="MissingFunctionNameError"}}class ge extends C{constructor(e){var t;super("Invocation failed"+(""===(e=null!==(t=e)&&void 0!==t?t:"")?"":`: "${e}"`)),this.name="NodeInvocationError"}}class ye extends C{constructor(e){super(`Function ${e} doesn't exist in contract`),this.name="NoSuchContractFunctionError"}}class we extends C{constructor(e,t){super(`You try to pay "${e}" to function "${t}" which is not payable. Only payable function can accept tokens`),this.name="NotPayableFunctionError"}}class be extends C{constructor(e,t){super(`Can't find definition of ${e} event emitted by ${t} (use omitUnknown option to ignore events like this)`),this.name="MissingEventDefinitionError"}}class xe extends C{constructor(e,t){super(`Found multiple definitions of "${t[0][1]}" event emitted by ${e} in ${t.map((e=>{let[t]=e;return`"${t}"`})).join(", ")} contracts (use contractAddressToName option to specify contract name corresponding to address)`),this.name="AmbiguousEventDefinitionError"}}class ve extends E{constructor(){super("Invalid checksum"),this.name="InvalidChecksumError"}}class Te extends E{constructor(){super("Invalid path"),this.name="InvalidDerivationPathError"}}class Ie extends E{constructor(e){super(e),this.name="InvalidKeyError"}}class Ce extends E{constructor(e){super(e),this.name="InvalidPasswordError"}}class Ee extends E{constructor(){super("Node hash is not equal to provided one"),this.name="MerkleTreeHashMismatchError"}}class Ae extends E{constructor(e){super(e),this.name="MissingNodeInTreeError"}}class ke extends E{constructor(e){super(e+" is not available"),this.name="UnsupportedAlgorithmError"}}class _e extends E{constructor(e){super(e),this.name="NotHardenedSegmentError"}}class Oe extends E{constructor(e){super(`Unknown node length: ${e}`),this.name="UnknownNodeLengthError"}}class Ne extends E{constructor(e){super(`Unknown path nibble: ${e}`),this.name="UnknownPathNibbleError"}}class Se extends E{constructor(e){super(`Child index #${e} is not supported`),this.name="UnsupportedChildIndexError"}}class Pe extends A{constructor(){super("Can not get node info. Node is not connected"),this.name="DisconnectedError"}}class Be extends A{constructor(e){super(`Node with name ${e} already exist`),this.name="DuplicateNodeError"}}class je extends A{constructor(e){super(e),this.name="NodeNotFoundError"}}class Me extends k{constructor(e){super(e),this.name="DecodeError"}}class Re extends k{constructor(e){super(e),this.name="EncodeError"}}class De extends k{constructor(e){super(e),this.name="PayloadLengthError"}}class Fe extends k{constructor(e){super(e),this.name="DryRunError"}}class Ve extends k{constructor(e){super(e),this.name="IllegalBidFeeError"}}class qe extends k{constructor(e){super(e),this.name="InvalidSignatureError"}}class $e extends k{constructor(e){super(e),this.name="InvalidTxError"}}class Ue extends k{constructor(e){super(e),this.name="InvalidTxParamsError"}}class He extends k{constructor(e){super(`Default AENS pointer key is not defined for ${e} prefix`),this.name="NoDefaultAensPointerError"}}class Ke extends k{constructor(e,t){super(`Encoded string have a wrong type: ${e} (expected: ${t})`),this.name="PrefixMismatchError"}}class We extends k{constructor(e){super(`Prefix for id-tag ${e} not found.`),this.name="PrefixNotFoundError"}}class Le extends k{constructor(e){super(e),this.name="SchemaNotFoundError"}}class Ge extends k{constructor(e){super(`Id tag for prefix ${e} not found.`),this.name="DecodeError"}}class Qe extends k{constructor(e){super(`Transaction ${e} is removed from chain`),this.name="TxNotInChainError"}}class ze extends k{constructor(e){super(e),this.name="UnknownTxError"}}class Ye extends k{constructor(e){super(e),this.name="UnsupportedABIversionError"}}class Xe extends k{constructor(e){super(e),this.name="UnsupportedVMversionError"}}class Je extends _{constructor(e){super(e),this.name="AlreadyConnectedError"}}class Ze extends _{constructor(e){super(e),this.name="MessageDirectionError"}}class et extends _{constructor(e){super(e),this.name="NoWalletConnectedError"}}class tt extends _{constructor(e){super(e),this.name="RpcConnectionError"}}function nt(e){return e.replace(/_./g,(e=>e[1].toUpperCase()))}function rt(e){return e.replace(/[A-Z]/g,(e=>`_${e.toLowerCase()}`))}function at(e){return e.length%2==0&&/^[0-9a-f]+$/i.test(e)}function st(e){if(!e.isInteger())throw new q(`Unexpected not integer value: ${e.toFixed()}`);let t=e.toString(16);return t.length%2==1&&(t="0"+t),Buffer.from(t,"hex")}function ot(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(null==e)return Buffer.from([]);if(Number.isInteger(e)||m().isBigNumber(e)||t)return m().isBigNumber(e)||(e=new(m())(e)),st(e);if("string"==typeof e)return Buffer.from(e);throw new D}function it(e,t){var n;return Buffer.from(e,null!==(n=null!=t?t:at(e)?"hex":void 0)&&void 0!==n?n:function(e){if(e.length%4>0||/[^0-9a-z+/=]/i.test(e))return!1;const t=e.indexOf("=");return-1===t||/={1,2}/.test(e.slice(t))}(e)?"base64":void 0)}var ct=v(783),dt=v(433);function lt(e){return(new dt.sha256).update(e).digest()}const ut=["ba","cb","or","ov","pi","ss","cs","ck","cv","st","tx"],ht=["ak","bf","bs","bx","ch","cm","ct","kh","mh","nm","ok","oq","pp","sg","th"],pt={ak:32,ct:32,ok:32};function ft(e,t){if(pt[t]&&e.length!==pt[t])throw new De(`Payload should be ${pt[t]} bytes, got ${e.length} instead`)}const mt=e=>lt(lt(e)).slice(0,4),gt=e=>{const t=Buffer.from(e);return Buffer.concat([t,mt(t)])};function yt(e){const t=e.slice(0,-4);if(!mt(t).equals(e.slice(-4)))throw new ve;return t}const wt={encode:e=>gt(e).toString("base64"),decode:e=>yt(Buffer.from(e,"base64"))},bt={encode:e=>ct.encode(gt(e)),decode:e=>yt(ct.decode(e))};function xt(e,t){const[n,r,a]=e.split("_");if(!r)throw new Me(`Encoded string missing payload: ${e}`);if(a)throw new Me(`Encoded string have extra parts: ${e}`);if(t&&t!==n)throw new Ke(n,t);const s=ut.includes(n)&&wt.decode||ht.includes(n)&&bt.decode;if(!s)throw new Me(`Encoded string have unknown type: ${n}`);const o=s(r);return ft(o,n),o}function vt(e,t){const n=ut.includes(t)&&wt.encode||ht.includes(t)&&bt.encode;if(!n)throw new Re(`Unknown type: ${t}`);return ft(e,t),`${t}_${n(e)}`}var Tt=v(343);function It(e){return Buffer.from((0,Tt.blake2b)(e,void 0,32))}const Ct=p().ModeOfOperation.ecb;function Et(e){const t=u().sign.keyPair.fromSecretKey(it(e));return vt(Buffer.from(t.publicKey),"ak")}function At(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ak";try{return xt(e,t),!0}catch(e){return!1}}function kt(){return Math.floor(Math.random()*Math.floor(Number.MAX_SAFE_INTEGER))}function _t(e){const t=Buffer.allocUnsafe(4);return t.writeUInt32BE(e),t.slice(t.findIndex((e=>0!==e)))}function Ot(e,t){const n=xt(e,"ak");return vt(It(Buffer.concat([n,_t(t)])),"ct")}function Nt(e){return u().sign.keyPair.fromSecretKey(e)}function St(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const t=u().sign.keyPair(),n=Buffer.from(t.publicKey),r=Buffer.from(t.secretKey);return e?{publicKey:n,secretKey:r}:{publicKey:vt(n,"ak"),secretKey:r.toString("hex")}}function Pt(e,t){const n=lt(e);return new Ct(n).encrypt(t)}function Bt(e,t){const n=Buffer.from(t),r=lt(e),a=new Ct(r);return Buffer.from(a.decrypt(n))}function jt(e,t){return u().sign.detached(Buffer.from(e),Buffer.from(t))}function Mt(e,t,n){return u().sign.detached.verify(new Uint8Array(e),t,n)}function Rt(e){const t=Buffer.from("aeternity Signed Message:\n","utf8"),n=Buffer.from(e,"utf8");if(n.length>=253)throw new H("Message too long");return It(Buffer.concat([Buffer.from([t.length]),t,Buffer.from([n.length]),n]))}function Dt(e,t){return jt(Rt(e),t)}function Ft(e,t,n){return Mt(Rt(e),t,n)}function Vt(e,t){const n=Buffer.from("TheMessage");return Mt(n,jt(n,e),t)}var qt=v(983),$t=v(289);const Ut={crypto:{secret_type:"ed25519",symmetric_alg:"xsalsa20-poly1305",kdf:"argon2id",kdf_params:{memlimit_kib:65536,opslimit:3,parallelism:1}}},Ht={argon2id:Kt};async function Kt(e,t,n){const{memlimit_kib:r,opslimit:a}=n.kdf_params,s=(await(0,$t.hash)({hashLen:32,pass:e,salt:t,time:a,mem:r,type:$t.ArgonType.Argon2id})).hash;return Buffer.from(s)}const Wt={"xsalsa20-poly1305":{encrypt:function(e){let{plaintext:t,key:n,nonce:r}=e;return u().secretbox(t,r,n)},decrypt:function(e){let{ciphertext:t,key:n,nonce:r}=e;const a=u().secretbox.open(t,r,n);if(!a)throw new Ce("Invalid password or nonce");return a}}};function Lt(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Ut.crypto.symmetric_alg;if(!Wt[r])throw new ke(r);return Wt[r].encrypt({plaintext:e,nonce:n,key:t})}async function Gt(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{kdf_params:Ut.crypto.kdf_params,kdf:Ut.crypto.kdf};if(!t)throw new O("nonce","provided",t);if(null==e)throw new O("password","provided",e);if(!Object.prototype.hasOwnProperty.call(Ht,n.kdf))throw new ke(n.kdf);return Ht[n.kdf](e,t,n)}function Qt(e,t,n,r,a){let s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};const o=Object.assign({},Ut.crypto,s);return Object.assign({name:e,version:1,public_key:zt(n),id:(0,qt.v4)()},{crypto:Object.assign({secret_type:o.secret_type,symmetric_alg:o.symmetric_alg,ciphertext:Buffer.from(Lt(Buffer.from(n),t,r,o.symmetric_alg)).toString("hex"),cipher_params:{nonce:Buffer.from(r).toString("hex")}},{kdf:o.kdf,kdf_params:{...o.kdf_params,salt:Buffer.from(a).toString("hex")}})})}function zt(e){const t=u().sign.keyPair.fromSecretKey(it(e));return vt(Buffer.from(t.publicKey),"ak")}async function Yt(e,t){Jt(t);const n=Uint8Array.from(it(t.crypto.cipher_params.nonce)),r=Uint8Array.from(it(t.crypto.kdf_params.salt)),a=t.crypto.kdf_params,s=t.crypto.kdf,o=await function(e,t,n,r){if(!Wt[r])throw new ke(r);return Wt[r].decrypt({ciphertext:e,nonce:n,key:t})}(Uint8Array.from(it(t.crypto.ciphertext)),await Gt(e,r,{kdf:s,kdf_params:a}),n,t.crypto.symmetric_alg);if(!o)throw new Ce("Invalid password");return 64===Buffer.from(o).length?Buffer.from(o).toString("hex"):Buffer.from(o).toString("utf-8")}async function Xt(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:u().randomBytes(24),a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:u().randomBytes(16),s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};const o=Object.assign({},Ut.crypto,s);return Qt(e,await Gt(t,a,o),"string"==typeof n?Buffer.from(n,"hex"):n,r,a,o)}function Jt(e){const t=["crypto","id","version","public_key"].filter((t=>!Object.prototype.hasOwnProperty.call(e,t)));if(t.length)throw new Ie(`Invalid key file format. Require properties: ${t}`);const n=["cipher_params","ciphertext","symmetric_alg","kdf","kdf_params"].filter((t=>!Object.prototype.hasOwnProperty.call(e.crypto,t)));if(n.length)throw new Ie(`Invalid key file format. Require properties: ${n}`);return!0}var Zt=v(485);const en=e=>["number","object","string","bigint"].includes(typeof e)&&(!isNaN(e)||Number.isInteger(e)||m().isBigNumber(e)),tn=e=>e.integerValue(m().ROUND_CEIL),nn={AE:"ae",MILI_AE:"miliAE",MICRO_AE:"microAE",NANO_AE:"nanoAE",PICO_AE:"picoAE",FEMTO_AE:"femtoAE",AETTOS:"aettos"},rn={[nn.AE]:0,[nn.MILI_AE]:-3,[nn.MICRO_AE]:-6,[nn.NANO_AE]:-9,[nn.PICO_AE]:-12,[nn.FEMTO_AE]:-15,[nn.AETTOS]:-18},an=function(e){let{denomination:t=nn.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return on(e,{denomination:t,targetDenomination:nn.AE})},sn=function(e){let{denomination:t=nn.AE}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return on(e,{denomination:t})},on=function(e){let{denomination:t=nn.AETTOS,targetDenomination:n=nn.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=Object.values(nn);if(!r.includes(t))throw new B(`Invalid denomination: ${t}`);if(!r.includes(n))throw new B(`Invalid target denomination: ${n}`);if(!en(e))throw new O("value","a number",e);return new(m())(e).shiftedBy(rn[t]-rn[n]).toFixed()},cn=[{name:"exa",magnitude:18},{name:"giga",magnitude:9},{name:"",magnitude:0},{name:"pico",magnitude:-12}],dn=e=>cn.reduce(((t,n)=>Math.abs(n.magnitude-e)<Math.abs(t.magnitude-e)?n:t)),ln=e=>{var t;return null!==(t=cn.find((t=>t.magnitude<=e)))&&void 0!==t?t:cn[cn.length-1]},un=e=>{var t;const n=new(m())(e),r=null!==(t=n.e)&&void 0!==t?t:0,{name:a,magnitude:s}=(r<0?dn:ln)(r);return`${n.shiftedBy(-s).precision(9+Math.min(r-s,0)).toFixed()}${""!==a?" ":""}${a}`},hn=async e=>await new Promise((t=>setTimeout(t,e))),pn=(e,t)=>Object.fromEntries(Object.entries(e).map(t)),fn=(e,t)=>Object.fromEntries(Object.entries(e).filter(t)),mn=(e,t)=>"object"!=typeof t||null===t?t:Array.isArray(t)?t.map((t=>mn(e,t))):pn(t,(t=>{let[n,r]=t;return[e(n),mn(e,r)]})),gn=mn.bind(null,rt),yn=mn.bind(null,nt),wn=18e4,bn=36e3,xn=84600,vn=xn,Tn=1e14,In=.05,Cn=480,En=31,An=12,kn={ak:"account_pubkey",ok:"oracle_pubkey",ct:"contract_pubkey",ch:"channel"},_n=pn({31:3,30:5,29:8,28:13,27:21,26:34,25:55,24:89,23:144,22:233,21:377,20:610,19:987,18:1597,17:2584,16:4181,15:6765,14:10946,13:17711,12:28657,11:46368,10:75025,9:121393,8:196418,7:317811,6:514229,5:832040,4:1346269,3:2178309,2:3524578,1:5702887},(e=>{let[t,n]=e;return[t,new(m())(n).times(Tn)]})),On={13:m()(0),12:m()(Cn),8:m()(31).times(Cn),4:m()(62).times(Cn)},Nn={account:1,name:2,commitment:3,oracle:4,contract:5,channel:6},Sn={ak:Nn.account,nm:Nn.name,cm:Nn.commitment,ok:Nn.oracle,ct:Nn.contract,ch:Nn.channel},Pn=pn(Sn,(e=>{let[t,n]=e;return[n,t]})),Bn=kt;function jn(e,t){return vt(It(Buffer.from([...xt(e,"ak"),...ot(t)])),"ct")}function Mn(e,t,n){return vt(It(Buffer.from([...xt(e,"ak"),...function(e){const t=ot(e,!0);return Buffer.concat([Buffer.alloc(32-t.length),t])}(t),...xt(n,"ok")])),"oq")}function Rn(e){return Buffer.from(e.toString(16).padStart(64,"0"),"hex")}function Dn(e){return Ln(e),vt(It(e.toLowerCase()),"nm")}function Fn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Bn();return Ln(e),vt(It(Buffer.concat([Buffer.from(e.toLowerCase()),Rn(t)])),"cm")}function Vn(e){if("string"!=typeof e)throw new O("hashId","a string",e);const t=e.slice(0,2),n=Sn[t];if(!n)throw new Ge(t);return Buffer.from([...ot(n),...xt(e,t)])}function qn(e){const t=Buffer.from(e).readUIntBE(0,1),n=Pn[t];if(!n)throw new We(t);return vt(e.slice(1,e.length),n)}function $n(e){return ot(e,!0)}function Un(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Buffer.from([]);return new(m())(Buffer.from(e).toString("hex"),16).toString(10)}function Hn(e){return e.map((e=>[ot(e.key),Vn(e.id)]))}function Kn(e){return e.map((e=>{let[t,n]=e;return Object.assign({key:t.toString(),id:qn(n)})}))}const Wn=".chain";function Ln(e){if(!e||"string"!=typeof e)throw new j("Name must be a string");if(!e.endsWith(Wn))throw new j(`Name should end with .chain: ${e}`)}function Gn(e){try{return Ln(e),!0}catch(e){return!1}}function Qn(e){xt(e);const t=e.substr(0,2);return kn[t]||(()=>{throw new He(t)})()}function zn(e){Ln(e);const t=e.length-Wn.length;return _n[Math.min(t,En)]}function Yn(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:In;if(Number(n)!==n||n%1==0)throw new Ve(`Increment must be float. Current increment ${n}`);if(n<In)throw new Ve(`minimum increment percentage is ${In}`);return tn(m()(null!=t?t:zn(e)).times(m()(In).plus(1)))}function Xn(e,t){Ln(e);const n=e.length-Wn.length;return(n<=4&&On[4]||n<=8&&On[8]||n<=12&&On[12]||On[13]).plus(t).toString(10)}function Jn(e){return Ln(e),e.length<13+Wn.length}class Zn{static serialize(e){return e}static deserialize(e){return e}}class er extends Zn{static serialize(e){return Vn(Gn(e)?Dn(e):e)}static deserialize(e){return qn(e)}}class tr extends Zn{static serialize(e,t){let{name:n}=t;if(+e)throw new N(`Contract deposit is not refundable, so it should be equal 0, got ${e} instead`);return $n(0)}static deserialize(e){return Un(e)}}const nr=1,rr=2,ar=0,sr=3e4,or={type:"delta",value:500},ir={type:"delta",value:10},cr={type:"delta",value:10},dr=0,lr=1579e3,ur=1e9,hr=5e4,pr={pub:"ak_11111111111111111111111111111111273Yts",amount:"100000000000000000000000000000000000"},fr=11,mr=521,gr=570,yr=571,wr=572,br=573,xr=574,vr=575,Tr=621,Ir=622,Cr=623,Er=624,Ar=625,kr=626,_r=(e,t,n)=>[e,t,n],Or=(e,t)=>[e,t],Nr={account:"account",signed:"signedTx",spend:"spendTx",nameClaim:"nameClaimTx",namePreClaim:"namePreClaimTx",nameUpdate:"nameUpdateTx",nameRevoke:"nameRevokeTx",nameTransfer:"nameTransfer",contract:"contract",contractCreate:"contractCreateTx",contractCall:"contractCallTx",contractCallResult:"contractCallResult",oracleRegister:"oracleRegister",oracleExtend:"oracleExtend",oracleQuery:"oracleQuery",oracleResponse:"oracleResponse",channelCreate:"channelCreate",channelCloseMutual:"channelCloseMutual",channelCloseSolo:"channelCloseSolo",channelSlash:"channelSlash",channelDeposit:"channelDeposit",channelWithdraw:"channelWithdraw",channelSettle:"channelSettle",channelOffChain:"channelOffChain",channelForceProgress:"channelForceProgress",channel:"channel",channelSnapshotSolo:"channelSnapshotSolo",channelOffChainUpdateTransfer:"channelOffChainUpdateTransfer",channelOffChainUpdateDeposit:"channelOffChainUpdateDeposit",channelOffChainUpdateWithdrawal:"channelOffChainUpdateWithdrawal",channelOffChainCreateContract:"channelOffChainCreateContract",channelOffChainCallContract:"channelOffChainCallContract",channelReconnect:"channelReconnect",proofOfInclusion:"proofOfInclusion",stateTrees:"stateTrees",merklePatriciaTree:"merklePatriciaTree",merklePatriciaTreeValue:"merklePatriciaTreeValue",contractsTree:"contractsTree",contractCallsTree:"contractCallsTree",channelsTree:"channelsTree",nameserviceTree:"nameserviceTree",oraclesTree:"oraclesTree",accountsTree:"accountsTree",gaAttach:"gaAttach",gaMeta:"gaMeta",payingFor:"payingFor",sophiaByteCode:"sophiaByteCode"},Sr={NO_VM:0,SOPHIA:1,SOPHIA_IMPROVEMENTS_MINERVA:3,SOPHIA_IMPROVEMENTS_FORTUNA:4,FATE:5,SOPHIA_IMPROVEMENTS_LIMA:6,FATE_2:7},Pr={NO_ABI:0,SOPHIA:1,FATE:3},Br={IRIS:5},jr={[Br.IRIS]:{[Nr.contractCreate]:{vmVersion:[Sr.FATE_2],abiVersion:[Pr.FATE]},[Nr.contractCall]:{vmVersion:[Sr.FATE_2,Sr.FATE,Sr.SOPHIA_IMPROVEMENTS_LIMA,Sr.SOPHIA_IMPROVEMENTS_FORTUNA,Sr.SOPHIA,Sr.SOPHIA_IMPROVEMENTS_MINERVA],abiVersion:[Pr.FATE,Pr.SOPHIA]},[Nr.oracleRegister]:{vmVersion:[],abiVersion:[Pr.NO_ABI,Pr.SOPHIA]}}},Mr={10:Nr.account,[fr]:Nr.signed,12:Nr.spend,32:Nr.nameClaim,33:Nr.namePreClaim,34:Nr.nameUpdate,35:Nr.nameRevoke,36:Nr.nameTransfer,40:Nr.contract,42:Nr.contractCreate,43:Nr.contractCall,41:Nr.contractCallResult,22:Nr.oracleRegister,25:Nr.oracleExtend,23:Nr.oracleQuery,24:Nr.oracleResponse,50:Nr.channelCreate,53:Nr.channelCloseMutual,54:Nr.channelCloseSolo,55:Nr.channelSlash,[mr]:Nr.channelForceProgress,51:Nr.channelDeposit,52:Nr.channelWithdraw,56:Nr.channelSettle,57:Nr.channelOffChain,58:Nr.channel,59:Nr.channelSnapshotSolo,[gr]:Nr.channelOffChainUpdateTransfer,[yr]:Nr.channelOffChainUpdateDeposit,[wr]:Nr.channelOffChainUpdateWithdrawal,[br]:Nr.channelOffChainCreateContract,[xr]:Nr.channelOffChainCallContract,[vr]:Nr.channelReconnect,60:Nr.proofOfInclusion,62:Nr.stateTrees,63:Nr.merklePatriciaTree,64:Nr.merklePatriciaTreeValue,[Tr]:Nr.contractsTree,[Ir]:Nr.contractCallsTree,[Cr]:Nr.channelsTree,[Er]:Nr.nameserviceTree,[Ar]:Nr.oraclesTree,[kr]:Nr.accountsTree,80:Nr.gaAttach,81:Nr.gaMeta,82:Nr.payingFor,70:Nr.sophiaByteCode},Rr={int:"int",amount:"amount",id:"id",ids:"ids",string:"string",binary:"binary",rlpBinary:"rlpBinary",rlpBinaries:"rlpBinaries",rawBinary:"rawBinary",bool:"bool",hex:"hex",signatures:"signatures",pointers:"pointers",offChainUpdates:"offChainUpdates",callStack:"callStack",proofOfInclusion:"proofOfInclusion",mptrees:"mptrees",callReturnType:"callReturnType",ctVersion:"ctVersion",sophiaCodeTypeInfo:"sophiaCodeTypeInfo",payload:"payload",any:"any",stateTree:"stateTree"},Dr=15e3,Fr=20,Vr=2e4,qr=3,$r=e=>{const t={[Nr.channelForceProgress]:30,[Nr.channelOffChain]:0,[Nr.channelOffChainCallContract]:0,[Nr.channelOffChainCreateContract]:0,[Nr.channelOffChainUpdateDeposit]:0,[Nr.channelOffChainUpdateWithdrawal]:0,[Nr.channelOffChainUpdateTransfer]:0,[Nr.contractCreate]:5,[Nr.contractCall]:12,[Nr.gaAttach]:5,[Nr.gaMeta]:5,[Nr.payingFor]:.2}[e]||1;return new(m())(t*Dr)},Ur=(e,t,n)=>{let{relativeTtl:r,innerTxSize:a}=n;switch(e){case Nr.oracleRegister:case Nr.oracleExtend:case Nr.oracleQuery:case Nr.oracleResponse:return new(m())(t).times(Fr).plus(Math.ceil(32e3*r/Math.floor(525600/qr)));case Nr.gaMeta:case Nr.payingFor:return new(m())(t).minus(a).times(Fr);default:return new(m())(t).times(Fr)}},Hr=[_r("tag",Rr.int),_r("VSN",Rr.int)],Kr=[...Hr,_r("sourceCodeHash",Rr.rawBinary),_r("typeInfo",Rr.sophiaCodeTypeInfo),_r("byteCode",Rr.rawBinary),_r("compilerVersion",Rr.string),_r("payable",Rr.bool)],Wr=[...Hr,_r("flags",Rr.int),_r("nonce",Rr.int),_r("balance",Rr.int),_r("gaContract",Rr.id,["ct","nm"]),_r("gaAuthFun",Rr.binary,"cb")],Lr=[...Hr,_r("senderId",Rr.id,"ak"),_r("recipientId",Rr.id,["ak","nm"]),_r("amount",Rr.amount),_r("fee",Rr.int),_r("ttl",Rr.int),_r("nonce",Rr.int),_r("payload",Rr.payload)],Gr=[...Hr,_r("signatures",Rr.signatures),_r("encodedTx",Rr.rlpBinary)],Qr=[...Hr,_r("accountId",Rr.id,"ak"),_r("nonce",Rr.int),_r("commitmentId",Rr.id,"cm"),_r("fee",Rr.int),_r("ttl",Rr.int)],zr=[...Hr,_r("accountId",Rr.id,"ak"),_r("nonce",Rr.int),_r("name",class extends Zn{static serialize(e){return Ln(e),Buffer.from(e)}static deserialize(e){return e.toString()}}),_r("nameSalt",Rr.int),_r("nameFee",class extends Zn{static serialize(e,t){var n;let{name:r}=t;const a=zn(r);if(null!==(n=e)&&void 0!==n||(e=a),a.gt(e))throw new z(e,a);return $n(e)}static deserialize(e){return Un(e)}}),_r("fee",Rr.int),_r("ttl",Rr.int)],Yr=[...Hr,_r("accountId",Rr.id,"ak"),_r("nonce",Rr.int),_r("nameId",er),_r("nameTtl",Rr.int),_r("pointers",Rr.pointers),_r("clientTtl",Rr.int),_r("fee",Rr.int),_r("ttl",Rr.int)],Xr=[...Hr,_r("accountId",Rr.id,"ak"),_r("nonce",Rr.int),_r("nameId",er),_r("recipientId",Rr.id,["ak","nm"]),_r("fee",Rr.int),_r("ttl",Rr.int)],Jr=[...Hr,_r("accountId",Rr.id,"ak"),_r("nonce",Rr.int),_r("nameId",er),_r("fee",Rr.int),_r("ttl",Rr.int)],Zr=[...Hr,_r("owner",Rr.id,"ak"),_r("ctVersion",Rr.int),_r("code",Rr.binary,"cb"),_r("log",Rr.binary,"cb"),_r("active",Rr.bool),_r("referers",Rr.ids,"ak"),_r("deposit",tr)],ea=[...Hr,_r("ownerId",Rr.id,"ak"),_r("nonce",Rr.int),_r("code",Rr.binary,"cb"),_r("authFun",Rr.rawBinary),_r("ctVersion",Rr.ctVersion),_r("fee",Rr.int),_r("ttl",Rr.int),_r("gas",Rr.int),_r("gasPrice",Rr.int),_r("callData",Rr.binary,"cb")],ta=[...Hr,_r("gaId",Rr.id,"ak"),_r("authData",Rr.binary,"cb"),_r("abiVersion",Rr.int),_r("fee",Rr.int),_r("gas",Rr.int),_r("gasPrice",Rr.int),_r("tx",Rr.rlpBinary)],na=[...Hr,_r("payerId",Rr.id,"ak"),_r("nonce",Rr.int),_r("fee",Rr.int),_r("tx",Rr.rlpBinary)],ra=[...Hr,_r("ownerId",Rr.id,"ak"),_r("nonce",Rr.int),_r("code",Rr.binary,"cb"),_r("ctVersion",Rr.ctVersion),_r("fee",Rr.int),_r("ttl",Rr.int),_r("deposit",tr),_r("amount",Rr.amount),_r("gas",Rr.int),_r("gasPrice",Rr.int),_r("callData",Rr.binary,"cb")],aa=[...Hr,_r("callerId",Rr.id,"ak"),_r("nonce",Rr.int),_r("contractId",Rr.id,["ct","nm"]),_r("abiVersion",Rr.int),_r("fee",Rr.int),_r("ttl",Rr.int),_r("amount",Rr.amount),_r("gas",Rr.int),_r("gasPrice",Rr.int),_r("callData",Rr.binary,"cb")],sa=[...Hr,_r("callerId",Rr.id,"ak"),_r("callerNonce",Rr.int),_r("height",Rr.int),_r("contractId",Rr.id,"ct"),_r("gasPrice",Rr.int),_r("gasUsed",Rr.int),_r("returnValue",Rr.binary,"cb"),_r("returnType",Rr.callReturnType),_r("log",Rr.rawBinary)],oa=[...Hr,_r("accountId",Rr.id,"ak"),_r("nonce",Rr.int),_r("queryFormat",Rr.string),_r("responseFormat",Rr.string),_r("queryFee",Rr.amount),_r("oracleTtlType",Rr.int),_r("oracleTtlValue",Rr.int),_r("fee",Rr.int),_r("ttl",Rr.int),_r("abiVersion",Rr.int)],ia=[...Hr,_r("oracleId",Rr.id,["ok","nm"]),_r("nonce",Rr.int),_r("oracleTtlType",Rr.int),_r("oracleTtlValue",Rr.int),_r("fee",Rr.int),_r("ttl",Rr.int)],ca=[...Hr,_r("senderId",Rr.id,"ak"),_r("nonce",Rr.int),_r("oracleId",Rr.id,["ok","nm"]),_r("query",Rr.string),_r("queryFee",Rr.amount),_r("queryTtlType",Rr.int),_r("queryTtlValue",Rr.int),_r("responseTtlType",Rr.int),_r("responseTtlValue",Rr.int),_r("fee",Rr.int),_r("ttl",Rr.int)],da=[...Hr,_r("oracleId",Rr.id,"ok"),_r("nonce",Rr.int),_r("queryId",Rr.binary,"oq"),_r("response",Rr.string),_r("responseTtlType",Rr.int),_r("responseTtlValue",Rr.int),_r("fee",Rr.int),_r("ttl",Rr.int)],la=[...Hr,_r("initiator",Rr.id,"ak"),_r("initiatorAmount",Rr.int),_r("responder",Rr.id,"ak"),_r("responderAmount",Rr.int),_r("channelReserve",Rr.int),_r("lockPeriod",Rr.int),_r("ttl",Rr.int),_r("fee",Rr.int),_r("initiatorDelegateIds",Rr.string),_r("responderDelegateIds",Rr.string),_r("stateHash",Rr.binary,"st"),_r("nonce",Rr.int)],ua=[...Hr,_r("channelId",Rr.id,"ch"),_r("fromId",Rr.id,"ak"),_r("amount",Rr.int),_r("ttl",Rr.int),_r("fee",Rr.int),_r("stateHash",Rr.binary,"st"),_r("round",Rr.int),_r("nonce",Rr.int)],ha=[...Hr,_r("channelId",Rr.id,"ch"),_r("toId",Rr.id,"ak"),_r("amount",Rr.int),_r("ttl",Rr.int),_r("fee",Rr.int),_r("stateHash",Rr.binary,"st"),_r("round",Rr.int),_r("nonce",Rr.int)],pa=[...Hr,_r("channelId",Rr.id,"ch"),_r("fromId",Rr.id,"ak"),_r("initiatorAmountFinal",Rr.int),_r("responderAmountFinal",Rr.int),_r("ttl",Rr.int),_r("fee",Rr.int),_r("nonce",Rr.int)],fa=[...Hr,_r("channelId",Rr.id,"ch"),_r("fromId",Rr.id,"ak"),_r("payload",Rr.binary,"tx"),_r("poi",Rr.binary,"pi"),_r("ttl",Rr.int),_r("fee",Rr.int),_r("nonce",Rr.int)],ma=[...Hr,_r("channelId",Rr.id,"ch"),_r("fromId",Rr.id,"ak"),_r("payload",Rr.binary,"tx"),_r("poi",Rr.binary,"pi"),_r("ttl",Rr.int),_r("fee",Rr.int),_r("nonce",Rr.int)],ga=[...Hr,_r("channelId",Rr.id,"ch"),_r("fromId",Rr.id,"ak"),_r("initiatorAmountFinal",Rr.int),_r("responderAmountFinal",Rr.int),_r("ttl",Rr.int),_r("fee",Rr.int),_r("nonce",Rr.int)],ya=[...Hr,_r("channelId",Rr.id,"ch"),_r("fromId",Rr.id,"ak"),_r("payload",Rr.binary,"tx"),_r("round",Rr.int),_r("update",Rr.binary,"cb"),_r("stateHash",Rr.binary,"st"),_r("offChainTrees",Rr.stateTree),_r("ttl",Rr.int),_r("fee",Rr.int),_r("nonce",Rr.int)],wa=[...Hr,_r("channelId",Rr.id,"ch"),_r("round",Rr.int),_r("stateHash",Rr.binary,"st")],ba=[...Hr,_r("initiator",Rr.id,"ak"),_r("responder",Rr.id,"ak"),_r("channelAmount",Rr.int),_r("initiatorAmount",Rr.int),_r("responderAmount",Rr.int),_r("channelReserve",Rr.int),_r("initiatorDelegateIds",Rr.ids),_r("responderDelegateIds",Rr.ids),_r("stateHash",Rr.hex),_r("round",Rr.int),_r("soloRound",Rr.int),_r("lockPeriod",Rr.int),_r("lockedUntil",Rr.int),_r("initiatorAuth",Rr.binary,"cb"),_r("responderAuth",Rr.binary,"cb")],xa=[...Hr,_r("channelId",Rr.id,"ch"),_r("fromId",Rr.id,"ak"),_r("payload",Rr.binary,"tx"),_r("ttl",Rr.int),_r("fee",Rr.int),_r("nonce",Rr.int)],va=[...Hr,_r("owner",Rr.id,"ak"),_r("ctVersion",Rr.int),_r("code",Rr.binary,"cb"),_r("deposit",Rr.int),_r("callData",Rr.binary,"cb")],Ta=[...Hr,_r("caller",Rr.id,"ak"),_r("contract",Rr.id,"ct"),_r("abiVersion",Rr.int),_r("amount",Rr.int),_r("callData",Rr.binary,"cb"),_r("callStack",Rr.callStack),_r("gasPrice",Rr.int),_r("gasLimit",Rr.int)],Ia=[...Hr,_r("channelId",Rr.id,"ch"),_r("round",Rr.int),_r("role",Rr.string),_r("pubkey",Rr.id,"ak")],Ca=[...Hr,_r("from",Rr.id,"ak"),_r("to",Rr.id,"ak"),_r("amount",Rr.int)],Ea=[...Hr,_r("from",Rr.id,"ak"),_r("amount",Rr.int)],Aa=[...Hr,_r("from",Rr.id,"ak"),_r("amount",Rr.int)],ka=[...Hr,_r("accounts",Rr.mptrees),_r("calls",Rr.mptrees),_r("channels",Rr.mptrees),_r("contracts",Rr.mptrees),_r("ns",Rr.mptrees),_r("oracles",Rr.mptrees)],_a=[...Hr,_r("contracts",Rr.rlpBinary),_r("calls",Rr.rlpBinary),_r("channels",Rr.rlpBinary),_r("ns",Rr.rlpBinary),_r("oracles",Rr.rlpBinary),_r("accounts",Rr.rlpBinary)],Oa=[...Hr,_r("values",Rr.rlpBinaries)],Na=[...Hr,_r("key",Rr.hex),_r("value",Rr.rawBinary)],Sa=[...Hr,_r("contracts",Rr.rlpBinary)],Pa=[...Hr,_r("calls",Rr.rlpBinary)],Ba=[...Hr,_r("channels",Rr.rlpBinary)],ja=[...Hr,_r("mtree",Rr.rlpBinary)],Ma=[...Hr,_r("otree",Rr.rlpBinary)],Ra=[...Hr,_r("accounts",Rr.rlpBinary)],Da={[Nr.account]:{2:Or(Wr,10)},[Nr.signed]:{1:Or(Gr,fr)},[Nr.spend]:{1:Or(Lr,12)},[Nr.namePreClaim]:{1:Or(Qr,33)},[Nr.nameClaim]:{2:Or(zr,32)},[Nr.nameUpdate]:{1:Or(Yr,34)},[Nr.nameTransfer]:{1:Or(Xr,36)},[Nr.nameRevoke]:{1:Or(Jr,35)},[Nr.contract]:{1:Or(Zr,40)},[Nr.contractCreate]:{1:Or(ra,42)},[Nr.contractCall]:{1:Or(aa,43)},[Nr.contractCallResult]:{1:Or(sa,41)},[Nr.oracleRegister]:{1:Or(oa,22)},[Nr.oracleExtend]:{1:Or(ia,25)},[Nr.oracleQuery]:{1:Or(ca,23)},[Nr.oracleResponse]:{1:Or(da,24)},[Nr.channelCreate]:{2:Or(la,50)},[Nr.channelCloseMutual]:{1:Or(pa,53)},[Nr.channelCloseSolo]:{1:Or(fa,54)},[Nr.channelSlash]:{1:Or(ma,55)},[Nr.channelDeposit]:{1:Or(ua,51)},[Nr.channelWithdraw]:{1:Or(ha,52)},[Nr.channelSettle]:{1:Or(ga,56)},[Nr.channelForceProgress]:{1:Or(ya,mr)},[Nr.channelOffChain]:{2:Or(wa,57)},[Nr.channel]:{3:Or(ba,58)},[Nr.channelSnapshotSolo]:{1:Or(xa,59)},[Nr.channelOffChainUpdateTransfer]:{1:Or(Ca,gr)},[Nr.channelOffChainUpdateDeposit]:{1:Or(Ea,yr)},[Nr.channelOffChainUpdateWithdrawal]:{1:Or(Aa,wr)},[Nr.channelOffChainCreateContract]:{1:Or(va,br)},[Nr.channelOffChainCallContract]:{1:Or(Ta,xr)},[Nr.channelReconnect]:{1:Or(Ia,vr)},[Nr.proofOfInclusion]:{1:Or(ka,60)},[Nr.stateTrees]:{1:Or(_a,62)},[Nr.merklePatriciaTree]:{1:Or(Oa,63)},[Nr.merklePatriciaTreeValue]:{1:Or(Na,64)},[Nr.contractsTree]:{1:Or(Sa,Tr)},[Nr.contractCallsTree]:{1:Or(Pa,Ir)},[Nr.channelsTree]:{1:Or(Ba,Cr)},[Nr.nameserviceTree]:{1:Or(ja,Er)},[Nr.oraclesTree]:{1:Or(Ma,Ar)},[Nr.accountsTree]:{1:Or(Ra,kr)},[Nr.gaAttach]:{1:Or(ea,80)},[Nr.gaMeta]:{2:Or(ta,81)},[Nr.payingFor]:{1:Or(na,82)}},Fa={10:{2:Or(Wr,10)},[fr]:{1:Or(Gr,fr)},12:{1:Or(Lr,12)},33:{1:Or(Qr,33)},32:{2:Or(zr,32)},34:{1:Or(Yr,34)},36:{1:Or(Xr,36)},35:{1:Or(Jr,35)},40:{1:Or(Zr,40)},42:{1:Or(ra,42)},43:{1:Or(aa,43)},41:{1:Or(sa,41)},22:{1:Or(oa,22)},25:{1:Or(ia,25)},23:{1:Or(ca,23)},24:{1:Or(da,24)},50:{2:Or(la,50)},53:{1:Or(pa,53)},54:{1:Or(fa,54)},55:{1:Or(ma,55)},51:{1:Or(ua,51)},52:{1:Or(ha,52)},56:{1:Or(ga,56)},57:{2:Or(wa,57)},58:{3:Or(ba,58)},59:{1:Or(xa,59)},[gr]:{1:Or(Ca,gr)},[yr]:{1:Or(Ea,yr)},[wr]:{1:Or(Aa,wr)},[br]:{1:Or(va,br)},[xr]:{1:Or(Ta,xr)},[vr]:{1:Or(Ia,vr)},60:{1:Or(ka,60)},62:{1:Or(_a,62)},63:{1:Or(Oa,63)},64:{1:Or(Na,64)},[Tr]:{1:Or(Sa,Tr)},[Ir]:{1:Or(Pa,Ir)},[Cr]:{1:Or(Ba,Cr)},[Er]:{1:Or(ja,Er)},[Ar]:{1:Or(Ma,Ar)},[kr]:{1:Or(Ra,kr)},80:{1:Or(ea,80)},81:{2:Or(ta,81)},82:{1:Or(na,82)},[mr]:{1:Or(ya,mr)},70:{3:Or(Kr,70)}};var Va;!function(e){e[e.Branch=0]="Branch",e[e.Extension=1]="Extension",e[e.Leaf=2]="Leaf"}(Va||(Va={}));class qa{static nodeHash(e){return Buffer.from(It((0,Zt.encode)(e))).toString("hex")}constructor(e){if(this.rootHash=e[0].toString("hex"),this.nodes=Object.fromEntries(e[1].map((e=>[e[0].toString("hex"),e[1]]))),void 0===this.nodes[this.rootHash])throw new Ae("Can't find a node by root hash");Object.entries(this.nodes).forEach((e=>{let[t,n]=e;if(qa.nodeHash(n)!==t)throw new Ee;const{type:r,payload:a}=qa.parseNode(n);switch(r){case Va.Branch:a.slice(0,16).filter((e=>e.length)).forEach((e=>{if(void 0===this.nodes[e.toString("hex")])throw new Ae("Can't find a node by hash in branch node")}));break;case Va.Extension:if(void 0===this.nodes[a[0].toString("hex")])throw new Ae("Can't find a node by hash in extension node")}}))}isEqual(e){return this.rootHash===e.rootHash}static parseNode(e){switch(e.length){case 17:return{type:Va.Branch,payload:e,path:null};case 2:{const t=e[0].toString("hex"),n=parseInt(t[0],16);if(n>3)throw new Ne(n);const r=n<=1?Va.Extension:Va.Leaf,a=[0,2].includes(n)?2:1;return{type:r,payload:[e[1]],path:t.slice(a)}}default:throw new Oe(e.length)}}serialize(){return[Buffer.from(this.rootHash,"hex"),Object.entries(this.nodes).map((e=>{let[t,n]=e;return[Buffer.from(t,"hex"),n]}))]}get(e){let t=this.rootHash;for(;;){const{type:n,payload:r,path:a}=qa.parseNode(this.nodes[t]);switch(n){case Va.Branch:if(0===e.length)return r[16];t=r[parseInt(e[0],16)].toString("hex"),e=e.substr(1);break;case Va.Extension:if(e.substr(0,null==a?void 0:a.length)!==a)return;t=r[0].toString("hex"),e=e.substr(a.length);break;case Va.Leaf:if(a!==e)return;return r[0]}}}}const $a="delta";function Ua(e,t,n){if(!e)return"";switch(t){case Rr.ctVersion:{const[t,,n]=e;return{vmVersion:Un(Buffer.from([t])),abiVersion:Un(Buffer.from([n]))}}case Rr.amount:case Rr.int:return Un(e);case Rr.id:return qn(e);case Rr.ids:return e.map(qn);case Rr.bool:return 1===e[0];case Rr.binary:return vt(e,n);case Rr.stateTree:return vt(e,"ss");case Rr.string:return e.toString();case Rr.payload:return vt(e,"ba");case Rr.pointers:return Kn(e);case Rr.rlpBinary:return ts(e,!0);case Rr.rlpBinaries:return e.map((e=>ts(e,!0)));case Rr.rawBinary:return e;case Rr.hex:return e.toString("hex");case Rr.offChainUpdates:return e.map((e=>ts(e,!0)));case Rr.callStack:return[Un(e)];case Rr.mptrees:return e.map((e=>new qa(e)));case Rr.callReturnType:switch(Un(e)){case"0":return"ok";case"1":return"error";case"2":return"revert";default:return e}case Rr.sophiaCodeTypeInfo:return e.reduce(((e,t)=>{let[n,r,a,s]=t;return{...e,[r.toString()]:{funHash:n,argType:a,outType:s}}}),{});default:return t.prototype instanceof Zn?t.deserialize(e):e}}function Ha(e,t,n,r){var a;switch(t){case Rr.amount:case Rr.int:return $n(e);case Rr.id:return Vn(e);case Rr.ids:return e.map(Vn);case Rr.bool:return Buffer.from([e?1:0]);case Rr.binary:return xt(e,n);case Rr.stateTree:return xt(e,"ss");case Rr.hex:return Buffer.from(e,"hex");case Rr.signatures:return e.map(Buffer.from);case Rr.payload:return"string"==typeof e&&"ba"===e.split("_")[0]?xt(e,"ba"):ot(e);case Rr.string:return ot(e);case Rr.pointers:return Hn(e);case Rr.rlpBinary:return null!==(a=e.rlpEncoded)&&void 0!==a?a:e;case Rr.mptrees:return e.map((e=>e.serialize()));case Rr.ctVersion:return Buffer.from([...ot(e.vmVersion),0,...ot(e.abiVersion)]);case Rr.callReturnType:switch(e){case"ok":return $n(0);case"error":return $n(1);case"revert":return $n(2);default:return e}default:return t.prototype instanceof Zn?t.serialize(e,r):e}}function Ka(e,t,n){if(null==e)return"Field is required";switch(t){case Rr.amount:case Rr.int:return isNaN(e)&&!m().isBigNumber(e)?`${e} is not of type Number or BigNumber`:new(m())(e).lt(0)?`${e} must be >= 0`:void 0;case Rr.id:return(Array.isArray(n)?n:[n]).includes(e.split("_")[0])?void 0:`'${e}' prefix doesn't match expected prefix '${n}'`;case Rr.ctVersion:return null!=e&&e.abiVersion&&null!=e&&e.vmVersion?void 0:'Value must be an object with "vmVersion" and "abiVersion" fields';case Rr.pointers:if(!Array.isArray(e))return"Value must be of type Array";if(e.some((e=>!(null!=e&&e.key&&null!=e&&e.id))))return'Value must contains only object\'s like \'{key: "account_pubkey", id: "ak_lkamsflkalsdalksdlasdlasdlamd"}\'';if(e.length>32)return`Expected 32 pointers or less, got ${e.length} instead`}}function Wa(e,t){let{denomination:n}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e=t.filter((e=>{let[t,n]=e;return n===Rr.amount})).reduce(((t,r)=>{let[a]=r;return{...e,[a]:on(e[a],{denomination:n})}}),e);const r=t.map((e=>{let[t]=e;return t}));return Object.entries(e).reduce(((e,t)=>{let[n,a]=t;return r.includes(n)&&(e[n]=a),["oracleTtl","queryTtl","responseTtl"].includes(n)&&(e[`${n}Type`]=a.type===$a?0:1,e[`${n}Value`]=a.value),e}),{})}function La(e,t){const n={[Nr.oracleRegister]:"oracleTtl",[Nr.oracleExtend]:"oracleTtl",[Nr.oracleQuery]:"queryTtl",[Nr.oracleResponse]:"responseTtl"}[t];return e[n]||e[`${n}Value`]?e[`${n}Value`]||e[n].value:1}function Ga(e,t){let{gas:n=0,params:r,vsn:a}=t;const s=m()(1e9);if(!r)return m()(Vr).times(s).toString(10);let o=Qa(e,{params:{...r,fee:0},multiplier:s,gas:n,vsn:a}),i=m()(0);for(;!o.eq(i);)o=Qa(e,{params:{...r,fee:o},multiplier:s,gas:n,vsn:a}),i=o;return i.toString(10)}function Qa(e,t){let{params:n,gas:r=0,multiplier:a,vsn:s}=t;const{rlpEncoded:o}=es({...n},e,{vsn:s}),i=o.length;return $r(e).plus(Ur(e,i,{relativeTtl:La(n,e),innerTxSize:[Nr.gaMeta,Nr.payingFor].includes(e)?n.tx.tx.encodedTx.rlpEncoded.length:0})).times(a)}function za(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1?arguments[1]:void 0,{gas:n=0,params:r,showWarning:a=!0,vsn:s}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return!r&&a&&console.warn(`Can't build transaction fee, we will use DEFAULT_FEE(${Vr})`),e||Ga(t,{params:r,gas:n,vsn:s})}function Ya(e,t,n){let{excludeKeys:r=[]}=n;return Object.fromEntries(t.filter((e=>{let[t]=e;return!r.includes(t)&&!["payload","nameFee","deposit"].includes(t)})).map((t=>{let[n,r,a]=t;return[n,Ka(e[n],r,a)]})).filter((e=>{let[,t]=e;return t})))}function Xa(e,t){let{excludeKeys:n=[],denomination:r=nn.AETTOS}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const a=t.filter((e=>{let[t]=e;return!n.includes(t)})),s=Ya(e=Wa(e,a,{denomination:r}),t,{excludeKeys:n});if(Object.keys(s).length)throw new Ue("Transaction build error. "+JSON.stringify(s));return a.map((t=>{let[n,r,a]=t;return Ha(e[n],r,a,e)}))}function Ja(e,t){return t.reduce(((t,n,r)=>{let[a,s,o]=n;return Object.assign(t,{[a]:Ua(e[r],s,o)})}),{})}const Za=e=>{let{vsn:t,objId:n,type:r}=e;const a=!!n,s=a?n:r,o=a?Fa:Da;if(!o[s])throw new Le(`Transaction ${a?"deserialization":"serialization"} not implemented for ${a?"tag "+n:r}`);if(!o[s][t])throw new Le(`Transaction ${a?"deserialization":"serialization"} not implemented for ${a?"tag "+n:r} version ${t}`);return o[s][t]};function es(e,t){let{excludeKeys:n=[],prefix:r="tx",vsn:a=nr,denomination:s=nn.AETTOS}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const[o,i]=Za({type:t,vsn:a}),c=Xa({...e,VSN:a,tag:i},o,{excludeKeys:n,denomination:e.denomination||s}).filter((e=>void 0!==e)),d=(0,Zt.encode)(c),l=vt(d,r);return{tx:l,rlpEncoded:d,binary:c,txObject:Ja(c,o)}}function ts(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"tx";const r=t?e:xt(e,n),a=(0,Zt.decode)(r),s=Un(a[0]),o=Un(a[1]),[i]=Za({objId:s,vsn:o});return{txType:Mr[s],tx:Ja(a,i),rlpEncoded:r,binary:a}}function ns(e){return vt(It("string"==typeof e&&e.startsWith("tx_")?xt(e,"tx"):e),"th")}const rs={calculateMinFee:Ga,calculateFee:za,unpackTx:ts,unpackRawTx:Ja,buildTx:es,buildRawTx:Xa,validateParams:Ya,buildTxHash:ns};var as=v(882),ss=v(986);const os=Buffer.from("ed25519 seed"),is=2147483648,cs=e=>Buffer.from(e).toString("hex");function ds(e,t){const n=""===e?[]:(0,ss.fromString)(e).toPathArray();return n.forEach(((e,t)=>{if(e<is)throw new _e(`Segment #${t+1} is not hardened`)})),n.reduce(((e,t)=>fs(e,t)),t)}function ls(e,t){if(!["m","m/"].includes(e.slice(0,2)))throw new Te;const n=ps(t);return ds(e.slice(2),n)}function us(e){const{secretKey:t,publicKey:n}=e;return{secretKey:cs(t),publicKey:vt(n,"ak")}}function hs(e){return u().sign.keyPair.fromSeed(e)}function ps(e){const t=(0,as.full)(e,os);return{secretKey:t.slice(0,32),chainCode:t.slice(32)}}function fs(e,t){let{secretKey:n,chainCode:r}=e;if(t<is)throw new Se(t);const a=Buffer.allocUnsafe(4);a.writeUInt32BE(t,0);const s=Buffer.concat([Buffer.alloc(1,0),Buffer.from(n),Buffer.from(a)]),o=(0,as.full)(s,r);return{secretKey:o.slice(0,32),chainCode:o.slice(32)}}function ms(e,t){const n=ls("m/44h/457h",e);return{secretKey:cs(Pt(t,n.secretKey)),chainCode:cs(Pt(t,n.chainCode))}}function gs(e,t,n){const r={secretKey:Bt(t,Buffer.from(e.secretKey,"hex")),chainCode:Bt(t,Buffer.from(e.chainCode,"hex"))};return new Array(n).fill().map(((e,t)=>us(hs(ds(`${t}h/0h/0h`,r).secretKey))))}const ys=(e,t)=>({...us(hs(ds(`${t}h/0h/0h`,ls("m/44h/457h",e)).secretKey)),idx:t});var ws=v(910),bs=v.n(ws),xs=v(180);const vs=bs()((0,xs.required)({methods:{spendTx:xs.required,namePreclaimTx:xs.required,nameClaimTx:xs.required,nameTransferTx:xs.required,nameUpdateTx:xs.required,nameRevokeTx:xs.required,contractCreateTx:xs.required,contractCallTx:xs.required,oracleRegisterTx:xs.required,oracleExtendTx:xs.required,oraclePostQueryTx:xs.required,oracleRespondTx:xs.required,getAccountNonce:xs.required,channelCloseSoloTx:xs.required,channelSlashTx:xs.required,channelSettleTx:xs.required,channelSnapshotSoloTx:xs.required,gaAttachTx:xs.required,getVmVersion:xs.required,prepareTxParams:xs.required}})),Ts=bs()({deepProps:{Ae:{defaults:{waitMined:!0,verify:!0,_expectedMineRate:18e4,_microBlockCycle:3e3,_maxPollInterval:5e3}}},methods:{_getPollInterval(e){const t={block:this.Ae.defaults._expectedMineRate,microblock:this.Ae.defaults._microBlockCycle}[e];if(!t)throw new Error(`Unknown poll type: ${e}`);return Math.min(t/3,this.Ae.defaults._maxPollInterval)}}},(0,xs.required)({methods:{sendTransaction:xs.required,height:xs.required,awaitHeight:xs.required,poll:xs.required,balance:xs.required,getBalance:xs.required,tx:xs.required,getTxInfo:xs.required,mempool:xs.required,txDryRun:xs.required,getAccount:xs.required}})),Is=Ts;function Cs(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{stamp:t,args:n,instance:r}=arguments.length>1?arguments[1]:void 0;return t.compose.deepConfiguration.AsyncInit.initializers.reduce((async(r,a)=>{if(r=await Promise.resolve(r),"function"==typeof a){const s=await Promise.resolve(a.call(r,e,{stamp:t,args:n,instance:r}));return void 0===s?r:s}return r}),r)}const Es=bs()({deepConf:{AsyncInit:{initializers:[]}},composers(e){let{stamp:t,composables:n}=e;t.compose.deepConfiguration.AsyncInit.initializers=n.map((e=>{var t,n,r;return(null==e||null===(t=e.compose)||void 0===t||null===(n=t.deepConfiguration)||void 0===n||null===(r=n.AsyncInit)||void 0===r?void 0:r.initializers)||(e.compose||e).initializers||[]})).flat(1/0).filter(((e,t,n)=>!n.slice(0,t).includes(e))).filter((e=>e!==Cs)),t.compose.initializers=[Cs]}});var As=v(659),ks=v.n(As),_s=v(503),Os=v.n(_s),Ns=v(911);const Ss=v.n(Ns)()({storeAsString:!0}),Ps=e=>{if("object"==typeof e&&null!==e&&e.constructor===Object)return Object.entries(e).map((e=>{let[t,n]=e;return[t,Ps(n)]})).reduce(((e,t)=>{let[n,r]=t;return{...e,[n]:r}}),{});if(Array.isArray(e))return e.map((e=>Ps(e)));if("string"==typeof e&&m()(e).toString(10)===e){const t=m()(e);return t.toJSON=()=>t.toString(10),t}return e},Bs={stringify:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return Ss.stringify(Ps(e),...n)},parse:Ss.parse};let js=!1;const Ms=async function(e){let{spec:t,internalUrl:n,disableBigNumbers:r,disableCaseConversion:a,responseInterceptor:s}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t=t||await(await Os()(e)).json();const o=r?JSON:Bs,[i,c]=await Promise.all([e,n].map((e=>{if(!e)return null;const n={};return ks()({url:e,spec:t,requestInterceptor:e=>{if("GET"===e.method)return{...e,userFetch:async(e,t)=>{var r;const a=JSON.stringify({...t,url:e});null!==(r=n[a])&&void 0!==r||(n[a]=Os()(e,t));try{return(await n[a]).clone()}finally{delete n[a]}}}},responseInterceptor:e=>{var t;if(""===e.text||0===(null===(t=e.text)||void 0===t?void 0:t.size))return e;const n=o.parse(e.text);return Object.assign(e,{body:a?n:yn(n)}),s&&s(e)||e}})}))),d=Object.assign({},...i.apis.external?[i.apis.external]:Object.values(i.apis),pn((null==c?void 0:c.apis.internal)||{},(e=>{let[t,n]=e;return[t,function(){return js||(console.warn('SDK\'s wrapper of aeternity node internal API is deprecated, please use external equivalent (for example, "sdk.api.protectedDryRunTxs" instead of "sdk.api.dryRunTxs") or create a wrapper of internal API by yourself (using "genSwaggerClient")'),js=!0),n(...arguments)}]}))),l=Object.values(t.paths).map((e=>Object.values(e))).flat().reduce(((e,t)=>({...e,[t.operationId]:t})),{}),u={},h=pn(d,(e=>{let[t,n]=e;const r=t.slice(0,1).toLowerCase()+nt(t.slice(1));return[r,async function(){for(var e,s=arguments.length,i=new Array(s),c=0;c<s;c++)i[c]=arguments[c];const d=l[t],h=[...d.parameters,...d.requestBody?[{required:d.requestBody.required,schema:Object.values(d.requestBody.content)[0].schema,name:"__requestBody"}]:[]],p=h.filter((e=>e.required)).map((e=>e.name));if(![0,1].includes(i.length-p.length))throw new S(r,p.length,i.length);const f=p.reduce(((e,t,n)=>({...e,[t]:i[n]})),i[p.length]||{}),{__requestBody:m,__queue:g,...y}=pn(f,(e=>{let[t,n]=e;if("object"!=typeof n)return[t,n];const r=Object.keys(h.find((e=>e.name===t)).schema.properties),s=fn(a?n:gn(n),(e=>{let[t]=e;return r.includes(t)}));return[t,o.stringify(s)]})),w=async()=>(await n(y,{requestBody:m})).body;if(!g)return w();const b=(null!==(e=u[g])&&void 0!==e?e:Promise.resolve()).then(w,w);return u[g]=b.then((()=>new Promise((e=>setTimeout(e,750))))),b}]}));return Object.assign(i,{api:h})};function Rs(e,t,n){const r=e=>e.split(/[-+]/)[0].split(".").map((e=>+e)),a=r(e),s=r(t),o=r(n),i=Math.max(...a,...s,...o)+1,c=e=>e.reverse().reduce(((e,t,n)=>e+t*Math.pow(i,n)),0),d=c(a),l=c(s),u=c(o);return d>=l&&d<u}function Ds(){var e;let{networkId:t,force:n=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const r=t||this.networkId||(null===(e=this.selectedNode)||void 0===e?void 0:e.networkId);if(!n&&!r)throw new M("networkId is not provided");return n&&!r?null:r}const Fs=Es.compose({async init(e){let{url:t,internalUrl:n,ignoreVersion:r}=e;if(!t)throw new M('"url" required');this.url=t.replace(/\/$/,""),this.internalUrl=null==n?void 0:n.replace(/\/$/,"");const a=await Ms(`${this.url}/api?oas3`,{internalUrl:this.internalUrl,responseInterceptor:e=>{if(!e.ok)return Object.assign(e,{statusText:`${new URL(e.url).pathname.slice(1)} error: `+e.body.reason})}});if(this.version=a.spec.info.version,!Rs(this.version,Vs,qs)&&!r)throw new K("node",this.version,Vs,qs);this.api=a.api;const{nodeRevision:s,genesisKeyBlockHash:o,networkId:i,protocols:c,topBlockHeight:d}=await this.api.getStatus();return this.consensusProtocolVersion=c.filter((e=>{let{effectiveAtHeight:t}=e;return d>=t})).reduce(((e,t)=>t.effectiveAtHeight>e.effectiveAtHeight?t:e),{effectiveAtHeight:-1,version:0}).version,this.nodeNetworkId=i,Object.assign(this,{revision:s,genesisHash:o})},methods:{getNodeInfo(){return{url:this.url,internalUrl:this.internalUrl,nodeNetworkId:this.nodeNetworkId,version:this.version,consensusProtocolVersion:this.consensusProtocolVersion}}},props:{version:null,consensusProtocolVersion:null,nodeNetworkId:null}}),Vs="6.2.0",qs="7.0.0",$s=Fs,Us=e=>!["sign","address"].find((t=>"function"!=typeof e[t])),Hs=bs()({init(e){let{networkId:t}=e;!this.networkId&&t&&(this.networkId=t)},methods:{signTransaction:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=[this.getNetworkId(t)];t.innerTx&&n.push("inner_tx");const r=xt(e,"tx"),a=Buffer.concat([Buffer.from(n.join("-")),It(r)]),s=[await this.sign(a,t)];return es({encodedTx:r,signatures:s},Nr.signed).tx},getNetworkId:Ds,signMessage:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{returnHex:!1};const n=await this.sign(Rt(e),t);return t.returnHex?Buffer.from(n).toString("hex"):n},verifyMessage:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return Ft(e,"string"==typeof t?Buffer.from(t,"hex"):t,xt(await this.address(n)))}}},(0,xs.required)({methods:{sign:xs.required,address:xs.required}})),Ks=bs()(vs,Hs,Is,{methods:{send:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n={...this.Ae.defaults,...t},{contractId:r,authFun:a}=t.innerTx?{contractId:!1}:await this.getAccount(await this.address(n)),s=r?await this.signUsingGA(e,{...n,authFun:a}):await this.signTransaction(e,n);return n.innerTx?{hash:rs.buildTxHash(s),rawTx:s}:this.sendTransaction(s,n)},spend:async function(e,t,n){const r={...this.Ae.defaults,...n};return this.send(await this.spendTx({...r,senderId:await this.address(r),recipientId:await this.resolveName(t,"account_pubkey",r),amount:e}),r)},transferFunds:async function(e,t,n){if(e<0||e>1)throw new O("fraction","a number between 0 and 1",e);const r={...this.Ae.defaults,...n},a=await this.resolveName(t,"account_pubkey",r),s=await this.address(r),o=new(m())(await this.balance(s)),i=o.times(e).integerValue(m().ROUND_HALF_UP),{tx:{fee:c}}=rs.unpackTx(await this.spendTx({...r,senderId:s,recipientId:a,amount:i})),d=i.plus(c).gt(o)?o.minus(c):i;return this.send(await this.spendTx({...r,senderId:s,recipientId:a,amount:d}),r)},payForTransaction:async function(e,t){const n={...this.Ae.defaults,...t};return this.send(await this.payingForTx({...n,payerId:await this.address(n),tx:e}),n)},destroyInstance:function(){["destroyClient","destroyServer"].forEach((e=>this[e]&&"function"==typeof this[e]&&this[e]()))},signUsingGA:async function(e){let{authData:t,authFun:n,...r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.createMetaTx(e,t,n,r)}},deepProps:{Ae:{defaults:{denomination:nn.AETTOS}}}}),Ws=Ks,Ls=[(e,t)=>{let{encodedTx:n,signatures:r}=e,{account:a,node:s,parentTxTypes:o}=t;if(void 0===(null!=n?n:r))return[];if(1!==r.length)return[];const i=Buffer.from([s.nodeNetworkId,...o.includes(Nr.payingFor)?["inner_tx"]:[]].join("-")),c=Buffer.concat([i,n.rlpEncoded]),d=Buffer.concat([i,It(n.rlpEncoded)]),l=xt(a.id,"ak");return Mt(c,r[0],l)||Mt(d,r[0],l)?[]:[{message:"Signature cannot be verified, please ensure that you transaction have the correct prefix and the correct private key for the sender address",key:"InvalidSignature",checkedKeys:["encodedTx","signatures"]}]},(e,t)=>{let{encodedTx:n,tx:r}=e,{node:a,parentTxTypes:s,txType:o}=t;return void 0===(null!=n?n:r)?[]:Qs(vt((null!=n?n:r).rlpEncoded,"tx"),a,[...s,o])},(e,t)=>{let{txType:n}=t;if(void 0===e.fee)return[];const r=za(0,n,{gas:+e.gas||0,params:e,showWarning:!1,vsn:e.VSN});return new(m())(r).lte(e.fee)?[]:[{message:`Fee ${e.fee} is too low, minimum fee for this transaction is ${r}`,key:"InsufficientFee",checkedKeys:["fee"]}]},(e,t)=>{let{ttl:n}=e,{height:r}=t;return void 0===n?[]:(n=+n,0===n||n>=r?[]:[{message:`TTL ${n} is already expired, current height is ${r}`,key:"ExpiredTTL",checkedKeys:["ttl"]}])},(e,t)=>{var n;let{amount:r,fee:a,nameFee:s,tx:o}=e,{account:i,parentTxTypes:c,txType:d}=t;if(void 0===(null!==(n=null!=r?r:a)&&void 0!==n?n:s))return[];const l=new(m())(a).plus(s||0).plus(r||0).plus(d===Nr.payingFor?o.tx.encodedTx.tx.fee:0).minus(c.includes(Nr.payingFor)?a:0);return l.lte(i.balance)?[]:[{message:`Account balance ${i.balance} is not enough to execute the transaction that costs ${l.toFixed()}`,key:"InsufficientBalance",checkedKeys:["amount","fee","nameFee"]}]},(e,t)=>{let{nonce:n}=e,{account:r,parentTxTypes:a}=t;if(void 0===n||a.includes(Nr.gaMeta))return[];n=+n;const s=r.nonce+1;return n===s?[]:[{...n<s?{message:`Nonce ${n} is already used, valid nonce is ${s}`,key:"NonceAlreadyUsed"}:{message:`Nonce ${n} is too high, valid nonce is ${s}`,key:"NonceHigh"},checkedKeys:["nonce"]}]},e=>{let{gasPrice:t}=e;return void 0===t||t>=ur?[]:[{message:`Gas price ${t} must be bigger then ${ur}`,key:"MinGasPrice",checkedKeys:["gasPrice"]}]},(e,t)=>{let{ctVersion:n,abiVersion:r}=e,{txType:a,node:s}=t;const{consensusProtocolVersion:o}=s.getNodeInfo(),i=jr[o];if(!i)throw new U(`Unsupported protocol: ${o}`);n||(n={abiVersion:r});const c=i[a];return c&&Object.entries(n).some((e=>{let[t,n]=e;return!c[t].includes(+n)}))?[{message:`ABI/VM version ${JSON.stringify(n)} is wrong, supported is: ${JSON.stringify(c)}`,key:"VmAndAbiVersionMismatch",checkedKeys:["ctVersion","abiVersion"]}]:[]},async(e,t)=>{let{contractId:n}=e,{txType:r,node:a}=t;if(Nr.contractCall!==r)return[];try{const{active:e}=await a.api.getContract(n);return e?[]:[{message:`Contract ${n} is not active`,key:"ContractNotActive",checkedKeys:["contractId"]}]}catch(e){var s,o;if(null===(s=e.response)||void 0===s||null===(o=s.body)||void 0===o||!o.reason)throw e;return[{message:e.response.body.reason,key:"ContractNotFound",checkedKeys:["contractId"]}]}}],Gs=e=>["senderId","accountId","ownerId","callerId","oracleId","fromId","initiator","gaId","payerId"].map((t=>e[t])).filter((e=>e)).map((e=>e.replace(/^ok_/,"ak_")))[0];async function Qs(e,t){var n;let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const{tx:a,txType:s}=ts(e),o=null!==(n=Gs(a))&&void 0!==n?n:s===Nr.signed?Gs(a.encodedTx.tx):null,[i,{height:c}]=await Promise.all([o&&t.api.getAccountByPubkey(o).catch((()=>({id:o,balance:new(m())(0),nonce:0}))),t.api.getCurrentKeyBlockHeight()]);return(await Promise.all(Ls.map((e=>e(a,{txType:s,node:t,account:i,height:c,parentTxTypes:r}))))).flat()}const zs=bs()({init(){let{nodes:e=[]}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.pool=new Map,this.validateNodes(e),e.forEach(((e,t)=>{const{name:n,instance:r}=e;this.addNode(n,r,0===t)})),e.length&&this.selectNode(e[0].name)},propertyDescriptors:{api:{enumerable:!0,configurable:!1,get(){if(!this.selectedNode||!this.selectedNode.instance)throw new je("You can't use Node API. Node is not connected or not defined!");return this.selectedNode.instance.api}}},methods:{addNode(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(this.pool.has(e))throw new Be(e);this.validateNodes([{name:e,instance:t}]),this.pool.set(e,{name:e,instance:t,url:t.url,internalUrl:t.internalUrl,networkId:t.nodeNetworkId,version:t.version,consensusProtocolVersion:t.consensusProtocolVersion}),!n&&this.selectedNode||this.selectNode(e)},selectNode(e){if(!this.pool.has(e))throw new je(`Node with name ${e} not in pool`);this.selectedNode=this.pool.get(e)},getNetworkId:Ds,isNodeConnected(){return!!this.selectedNode.instance},getNodeInfo(){if(!this.isNodeConnected())throw new Pe;return{name:this.selectedNode.name,...this.selectedNode.instance.getNodeInfo()}},getNodesInPool(){return Array.from(this.pool.entries()).map((e=>{let[t,n]=e;return{name:t,...n.instance.getNodeInfo()}}))},validateNodes(e){if(!Array.isArray(e))throw new q('"nodes" should be an array');const t=e.map((e=>typeof e)).find((e=>"object"!==e));if(t)throw new q(`Each node should be an object, got ${t} instead`);const n=e.find((e=>"string"!=typeof e.name||"object"!=typeof e.instance));if(t)throw new q(`Each node should have name (string), instance (object) fields, got ${JSON.stringify(n)} instead`);const r=e.map((e=>e.instance)).find((e=>"object"!=typeof e.api||"string"!=typeof e.genesisHash||"number"!=typeof e.consensusProtocolVersion));if(r)throw new q(`Each node instance should have api (object), consensusProtocolVersion (number), genesisHash (string) fields, got ${JSON.stringify(r)} instead`)}},props:{selectedNode:{}}});async function Ys(e){const t=this._txDryRun[e];let n;delete this._txDryRun[e];try{n=await this.api.protectedDryRunTxs({top:t[0].top,txEvents:t[0].txEvents,txs:t.map((e=>({tx:e.tx}))),accounts:Array.from(new Set(t.map((e=>e.accountAddress)))).map((e=>({pubKey:e,amount:pr.amount})))})}catch(e){return void t.forEach((t=>{let{reject:n}=t;return n(e)}))}const{results:r,txEvents:a}=n;r.forEach(((e,n)=>{let{result:r,reason:s,...o}=e;const{resolve:i,reject:c,tx:d,options:l,accountAddress:u}=t[n];if("ok"===r)return i({...o,txEvents:a});c(Object.assign(new Fe(s),{tx:d,accountAddress:u,options:l}))}))}const Xs=Is.compose(zs,{methods:{sendTransaction:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n={...this.Ae.defaults,...t};if(n.verify){const t=await Qs(e,this.selectedNode.instance);if(t.length){const n="Transaction verification errors: "+t.map((e=>e.message)).join(", ");throw Object.assign(new $e(n),{code:"TX_VERIFICATION_ERROR",validation:t,transaction:e})}}try{var r;const{txHash:a}=await this.api.postTransaction({tx:e},{__queue:`tx-${await(null===(r=this.address)||void 0===r?void 0:r.call(this,t).catch((()=>"")))}`});if(n.waitMined){const n={...await this.poll(a,t),rawTx:e};return t.confirm?{...n,confirmationHeight:await this.waitForTxConfirm(a,t)}:n}return{hash:a,rawTx:e}}catch(t){throw Object.assign(t,{rawTx:e,verifyTx:()=>Qs(e,this.selectedNode.instance)})}},balance:async function(e){let{height:t,hash:n,format:r=nn.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{balance:a}=await this.getAccount(e,{hash:n,height:t});return on(a,{targetDenomination:r}).toString()},getBalance:async function(e){let{height:t,hash:n,format:r=nn.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{balance:a}=await this.getAccount(e,{hash:n,height:t}).catch((e=>({balance:0})));return on(a,{targetDenomination:r}).toString()},getAccount:async function(e){let{height:t,hash:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t?this.api.getAccountByPubkeyAndHeight(e,t):n?this.api.getAccountByPubkeyAndHash(e,n):this.api.getAccountByPubkey(e)},tx:async function(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const n=await this.api.getTransactionByHash(e);if(["ContractCreateTx","ContractCallTx","ChannelForceProgressTx"].includes(n.tx.type)&&t&&-1!==n.blockHeight)try{return{...n,...await this.getTxInfo(e)}}catch(e){}return n},height:async function(){return(await this.api.getCurrentKeyBlockHeight()).height},awaitHeight:async function(e){let t,{interval:n=this._getPollInterval("block"),attempts:r=20}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(let a=0;a<r;a++)if(a&&await hn(n),t=await this.height(),t>=e)return t;throw new F((r-1)*n,t,e)},poll:async function(e){let{blocks:t=10,interval:n=this._getPollInterval("microblock")}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=await this.height()+t;do{const t=await this.api.getTransactionByHash(e);if(-1!==t.blockHeight)return t;await hn(n)}while(await this.height()<r);const a=this.api.getCheckTxInPool&&(await this.api.getCheckTxInPool(e)).status;throw new V(t,e,a)},getTxInfo:async function(e){const t=await this.api.getTransactionInfoByHash(e);return t.callInfo||t},mempool:async function(){return this.api.getPendingTransactions()},getCurrentGeneration:async function(){return this.api.getCurrentGeneration()},getGeneration:async function(e){if("string"==typeof e)return this.api.getGenerationByHash(e);if("number"==typeof e)return this.api.getGenerationByHeight(e);throw new O("hashOrHeight","a string or number",e)},getMicroBlockHeader:async function(e){return this.api.getMicroBlockHeaderByHash(e)},getMicroBlockTransactions:async function(e){return(await this.api.getMicroBlockTransactionsByHash(e)).transactions},getKeyBlock:async function(e){if("string"==typeof e)return this.api.getKeyBlockByHash(e);if("number"==typeof e)return this.api.getKeyBlockByHeight(e);throw new O("hashOrHeight","a string or number",e)},txDryRun:async function(e,t,n){var r,a,s;let{top:o,txEvents:i,combine:c}=n;const d=c?[o,i].join():"immediate";return null!==(r=this._txDryRun)&&void 0!==r||(this._txDryRun={}),null!==(s=(a=this._txDryRun)[d])&&void 0!==s||(a[d]=[]),new Promise(((n,r)=>{var a,s;this._txDryRun[d].push({tx:e,accountAddress:t,top:o,txEvents:i,resolve:n,reject:r}),c?null!==(s=(a=this._txDryRun[d]).timeout)&&void 0!==s||(a.timeout=setTimeout(Ys.bind(this,d))):Ys.call(this,d)}))},getContractByteCode:async function(e){return this.api.getContractCode(e)},getContract:async function(e){return this.api.getContract(e)},getName:async function(e){return this.api.getNameEntryByName(e)},waitForTxConfirm:async function e(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{confirm:3};n.confirm=!0===n.confirm?3:n.confirm;const{blockHeight:r}=await this.api.getTransactionByHash(t),a=await this.awaitHeight(r+n.confirm,n),{blockHeight:s}=await this.api.getTransactionByHash(t);switch(s){case-1:throw new Qe(t);case r:return a;default:return e(t,n)}},resolveName:async function(e,t){let{verify:n,resolveByNode:r}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!e||"string"!=typeof e)throw new Y(`Name or address should be a string: ${e}`);try{return xt(e),e}catch(e){}if(Gn(e)){if(n||r){const n=(await this.api.getNameEntryByName(e)).pointers.find((e=>e.key===t));if(!n)throw new Q(`Name ${e} don't have pointers for ${t}`);if(r)return n.id}return Dn(e)}throw new Y(`Invalid name or address: ${e}`)}}}),Js=Xs,Zs=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("object"!=typeof t)throw new q('tx "params" should be an object');if("string"!=typeof e||!Object.values(Nr).includes(e))throw new ze(`Unknown transaction type ${e}`);const r=za(t.fee,e,{gas:t.gas,params:t,vsn:t.vsn}),{rlpEncoded:a,binary:s,tx:o,txObject:i}=es({...t,fee:r},e,{vsn:t.vsn,...n});return{rlpEncoded:a,binary:s,encodedTx:o,params:i,type:e}},eo=e=>{if(!e)throw new $e(`Invalid transaction: ${e}`);if("string"==typeof e){const{txType:t,tx:n,rlpEncoded:r,binary:a}=ts(e);return{encodedTx:e,type:t,params:n,rlpEncoded:r,binary:a}}if(e instanceof Uint8Array){const{txType:t,tx:n,rlpEncoded:r,binary:a}=ts(e,!0);return{encodedTx:vt(e,"tx"),type:t,params:n,rlpEncoded:r,binary:a}}throw new $e(`"tx" should be a string or Uint8Array, got ${e} instead`)},to=bs()({init(){let{tx:e,params:t,type:n,options:r={}}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.options=r,this.signatures=[],Object.assign(this,function(){let{tx:e,params:t,type:n,options:r={}}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(t&&n)return Zs(n,t,r);if(e)return eo(e);throw new $e('Invalid TxObject arguments. Please provide one of { tx: "tx_asdasd23..." } or { type: "spendTx", params: {...} }')}({tx:e,params:t,type:n,options:r})),this.type===Nr.signed){const{signatures:e,encodedTx:{txType:t,tx:n}}=this.params;this.signatures=e,this.params=n,this.type=t,this.isSigned=!0}},statics:{fromString:e=>to({tx:e}),fromRlp:e=>to({tx:e})},methods:{setProp(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("object"!=typeof e)throw new q("Props should be an object");return this.isSigned=!1,this.signatures=[],Object.assign(this,Zs(this.type,{...this.params,...e,fee:null},{...this.options,...t})),this},getSignatures(){return this.signatures},addSignature(e){if(e=at(e)?Buffer.from(e,"hex"):e,!(Buffer.isBuffer(e)||e instanceof Uint8Array))throw new qe("Invalid signature, signature must be of type Buffer or Uint8Array");Object.assign(this,Zs(Nr.signed,{encodedTx:this.rlpEncoded,signatures:[[...this.signatures,e]]}));const{signatures:t,encodedTx:{txType:n,tx:r}}=this.params;this.signatures=t,this.params=r,this.type=n,this.isSigned=!0},calculateMinFee(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t={...this.params,...e};return za(0,this.type,{gas:t.gas,params:t,vsn:t.vsn})}}}),no=to;async function ro(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ar,t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(0===e)return 0;if(e<0)throw new O("ttl","greater or equal to 0",e);if(t){const{height:t}=await this.api.getCurrentKeyBlock();return+t+e}return e}const ao=Js.compose(vs,{init(e){let{nativeMode:t=!0,showWarning:n=!1}=e;this.nativeMode=t,this.showWarning=n},props:{nativeMode:!0,showWarning:!1},methods:{spendTx:async function(e){let{senderId:t,recipientId:n,amount:r,payload:a=""}=e;const{fee:s,ttl:o,nonce:i}=await this.prepareTxParams(Nr.spend,{senderId:t,...arguments[0],payload:a}),{tx:c}=this.nativeMode?{tx:to({params:{...arguments[0],recipientId:n,senderId:t,nonce:i,ttl:o,payload:a},type:Nr.spend}).encodedTx}:await this.api.postSpend({...arguments[0],amount:parseInt(r),recipientId:n,senderId:t,nonce:i,ttl:o,fee:parseInt(s),payload:a});return c},namePreclaimTx:async function(e){let{accountId:t,commitmentId:n}=e;const{fee:r,ttl:a,nonce:s}=await this.prepareTxParams(Nr.namePreClaim,{senderId:t,...arguments[0]}),{tx:o}=this.nativeMode?{tx:to({params:{...arguments[0],nonce:s,ttl:a,fee:r},type:Nr.namePreClaim}).encodedTx}:await this.api.postNamePreclaim({...arguments[0],nonce:s,ttl:a,fee:parseInt(r)});return o},nameClaimTx:async function(e){let{accountId:t,name:n,nameSalt:r,vsn:a=2}=e;const{fee:s,ttl:o,nonce:i}=await this.prepareTxParams(Nr.nameClaim,{senderId:t,...arguments[0],vsn:a}),{tx:c}=this.nativeMode?{tx:to({params:{...arguments[0],nonce:i,ttl:o,fee:s,vsn:a},type:Nr.nameClaim}).encodedTx}:await this.api.postNameClaim({...arguments[0],nonce:i,ttl:o,fee:parseInt(s),name:vt(n,"nm")});return c},nameTransferTx:async function(e){let{accountId:t,nameId:n,recipientId:r}=e;const{fee:a,ttl:s,nonce:o}=await this.prepareTxParams(Nr.nameTransfer,{senderId:t,...arguments[0]}),{tx:i}=this.nativeMode?{tx:to({params:{...arguments[0],recipientId:r,nonce:o,ttl:s,fee:a},type:Nr.nameTransfer}).encodedTx}:await this.api.postNameTransfer({...arguments[0],recipientId:r,nonce:o,ttl:s,fee:parseInt(a)});return i},nameUpdateTx:async function(e){let{accountId:t,nameId:n,nameTtl:r,pointers:a,clientTtl:s}=e;const{fee:o,ttl:i,nonce:c}=await this.prepareTxParams(Nr.nameUpdate,{senderId:t,...arguments[0]}),{tx:d}=this.nativeMode?{tx:to({params:{...arguments[0],nonce:c,ttl:i,fee:o},type:Nr.nameUpdate}).encodedTx}:await this.api.postNameUpdate({...arguments[0],nonce:c,ttl:i,fee:parseInt(o)});return d},nameRevokeTx:async function(e){let{accountId:t,nameId:n}=e;const{fee:r,ttl:a,nonce:s}=await this.prepareTxParams(Nr.nameRevoke,{senderId:t,...arguments[0]}),{tx:o}=this.nativeMode?{tx:to({params:{...arguments[0],nonce:s,ttl:a,fee:r},type:Nr.nameRevoke}).encodedTx}:await this.api.postNameRevoke({...arguments[0],nonce:s,ttl:a,fee:parseInt(r)});return o},contractCreateTx:async function(e){let{ownerId:t,code:n,vmVersion:r,abiVersion:a,amount:s,gas:o,gasPrice:i=ur,callData:c}=e;const d=this.getVmVersion(Nr.contractCreate,arguments[0]),{fee:l,ttl:u,nonce:h}=await this.prepareTxParams(Nr.contractCreate,{senderId:t,...arguments[0],ctVersion:d,gasPrice:i});return this.nativeMode?{tx:to({params:{...arguments[0],nonce:h,ttl:u,fee:l,ctVersion:d,gasPrice:i},type:Nr.contractCreate}).encodedTx,contractId:jn(t,h)}:this.api.postContractCreate({...arguments[0],nonce:h,ttl:u,fee:parseInt(l),gas:parseInt(o),gasPrice:i,vmVersion:d.vmVersion,abiVersion:d.abiVersion})},contractCallTx:async function(e){let{callerId:t,contractId:n,abiVersion:r,amount:a,gas:s,gasPrice:o=ur,callData:i}=e;const c=this.getVmVersion(Nr.contractCall,arguments[0]),{fee:d,ttl:l,nonce:u}=await this.prepareTxParams(Nr.contractCall,{senderId:t,...arguments[0],gasPrice:o,abiVersion:c.abiVersion}),{tx:h}=this.nativeMode?{tx:to({params:{...arguments[0],nonce:u,ttl:l,fee:d,abiVersion:c.abiVersion,gasPrice:o},type:Nr.contractCall}).encodedTx}:await this.api.postContractCall({...arguments[0],nonce:u,ttl:l,fee:parseInt(d),gas:parseInt(s),gasPrice:o,abiVersion:c.abiVersion});return h},prepareTxParams:async function(e,t){let{senderId:n,nonce:r,ttl:a,fee:s,gas:o,absoluteTtl:i,vsn:c,strategy:d}=t;r=r||(await this.api.getAccountNextNonce(n,{strategy:d}).catch((e=>({nextNonce:1})))).nextNonce;const l=await ro.call(this,a,!i),u=za(s,e,{showWarning:this.showWarning,gas:o,params:{...arguments[1],nonce:r,ttl:l},vsn:c});return{fee:u,ttl:l,nonce:r}},oracleRegisterTx:async function(e){let{accountId:t,queryFormat:n,responseFormat:r,queryFee:a,oracleTtl:s,abiVersion:o=Pr.NO_ABI}=e;const{fee:i,ttl:c,nonce:d}=await this.prepareTxParams(Nr.oracleRegister,{senderId:t,...arguments[0],abiVersion:o}),{tx:l}=this.nativeMode?{tx:to({params:{accountId:t,queryFee:a,abiVersion:o,fee:i,oracleTtl:s,nonce:d,ttl:c,queryFormat:n,responseFormat:r},type:Nr.oracleRegister}).encodedTx}:await this.api.postOracleRegister({accountId:t,queryFee:a,abiVersion:o,fee:parseInt(i),oracleTtl:s,nonce:d,ttl:c,queryFormat:n,responseFormat:r});return l},oracleExtendTx:async function(e){let{oracleId:t,callerId:n,oracleTtl:r}=e;const{fee:a,ttl:s,nonce:o}=await this.prepareTxParams(Nr.oracleExtend,{senderId:n,...arguments[0]}),{tx:i}=this.nativeMode?{tx:to({params:{oracleId:t,fee:a,oracleTtl:r,nonce:o,ttl:s},type:Nr.oracleExtend}).encodedTx}:await this.api.postOracleExtend({oracleId:t,fee:parseInt(a),oracleTtl:r,nonce:o,ttl:s});return i},oraclePostQueryTx:async function(e){let{oracleId:t,responseTtl:n,query:r,queryTtl:a,queryFee:s,senderId:o}=e;const{fee:i,ttl:c,nonce:d}=await this.prepareTxParams(Nr.oracleQuery,{senderId:o,...arguments[0]}),{tx:l}=this.nativeMode?{tx:to({params:{oracleId:t,responseTtl:n,query:r,queryTtl:a,fee:i,queryFee:s,ttl:c,nonce:d,senderId:o},type:Nr.oracleQuery}).encodedTx}:await this.api.postOracleQuery({oracleId:t,responseTtl:n,query:r,queryTtl:a,fee:parseInt(i),queryFee:s,ttl:c,nonce:d,senderId:o});return l},oracleRespondTx:async function(e){let{oracleId:t,callerId:n,responseTtl:r,queryId:a,response:s}=e;const{fee:o,ttl:i,nonce:c}=await this.prepareTxParams(Nr.oracleResponse,{senderId:n,...arguments[0]}),{tx:d}=this.nativeMode?{tx:to({params:{oracleId:t,responseTtl:r,queryId:a,response:s,fee:o,ttl:i,nonce:c},type:Nr.oracleResponse}).encodedTx}:await this.api.postOracleRespond({oracleId:t,responseTtl:r,queryId:a,response:s,fee:parseInt(o),ttl:i,nonce:c});return d},channelCloseSoloTx:async function(e){let{channelId:t,fromId:n,payload:r,poi:a}=e;const{fee:s,ttl:o,nonce:i}=await this.prepareTxParams(Nr.channelCloseSolo,{senderId:n,...arguments[0],payload:r}),{tx:c}=this.nativeMode?es({...arguments[0],channelId:t,fromId:n,payload:r,poi:a,ttl:o,fee:s,nonce:i},Nr.channelCloseSolo):await this.api.postChannelCloseSolo({...arguments[0],channelId:t,fromId:n,payload:r,poi:a,ttl:o,fee:parseInt(s),nonce:i});return c},channelSlashTx:async function(e){let{channelId:t,fromId:n,payload:r,poi:a}=e;const{fee:s,ttl:o,nonce:i}=await this.prepareTxParams(Nr.channelSlash,{senderId:n,...arguments[0],payload:r}),{tx:c}=this.nativeMode?es({...arguments[0],channelId:t,fromId:n,payload:r,poi:a,ttl:o,fee:s,nonce:i},Nr.channelSlash):await this.api.postChannelSlash({...arguments[0],channelId:t,fromId:n,payload:r,poi:a,ttl:o,fee:parseInt(s),nonce:i});return c},channelSettleTx:async function(e){let{channelId:t,fromId:n,initiatorAmountFinal:r,responderAmountFinal:a}=e;const{fee:s,ttl:o,nonce:i}=await this.prepareTxParams(Nr.channelSettle,{senderId:n,...arguments[0]}),{tx:c}=this.nativeMode?es({...arguments[0],channelId:t,fromId:n,initiatorAmountFinal:r,responderAmountFinal:a,ttl:o,fee:s,nonce:i},Nr.channelSettle):await this.api.postChannelSettle({...arguments[0],channelId:t,fromId:n,initiatorAmountFinal:parseInt(r),responderAmountFinal:parseInt(a),ttl:o,fee:parseInt(s),nonce:i});return c},channelSnapshotSoloTx:async function(e){let{channelId:t,fromId:n,payload:r}=e;const{fee:a,ttl:s,nonce:o}=await this.prepareTxParams(Nr.channelSnapshotSolo,{senderId:n,...arguments[0],payload:r}),{tx:i}=this.nativeMode?es({...arguments[0],channelId:t,fromId:n,payload:r,ttl:s,fee:a,nonce:o},Nr.channelSnapshotSolo):await this.api.postChannelSnapshotSolo({...arguments[0],channelId:t,fromId:n,payload:r,ttl:s,fee:parseInt(a),nonce:o});return i},gaAttachTx:async function(e){let{ownerId:t,code:n,vmVersion:r,abiVersion:a,authFun:s,gas:o,gasPrice:i=ur,callData:c}=e;const d=this.getVmVersion(Nr.contractCreate,arguments[0]),{fee:l,ttl:u,nonce:h}=await this.prepareTxParams(Nr.gaAttach,{senderId:t,...arguments[0],ctVersion:d,gasPrice:i});return{tx:to({params:{...arguments[0],nonce:h,ttl:u,fee:l,ctVersion:d,gasPrice:i},type:Nr.gaAttach}).encodedTx,contractId:jn(t,h)}},payingForTx:async function(e){let{tx:t,payerId:n,...r}=e;const a={tx:ts(t),payerId:n},{fee:s,nonce:o}=await this.prepareTxParams(Nr.payingFor,{...a,...r,senderId:n});return es({...a,...r,fee:s,nonce:o},Nr.payingFor).tx},getAccountNonce:async function(e,t){if(t)return t;const{nonce:n}=await this.api.getAccountByPubkey(e).catch((()=>({nonce:0})));return n+1},getVmVersion:function(e){let{vmVersion:t,abiVersion:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{consensusProtocolVersion:r}=this.getNodeInfo(),a=jr[r];if(!a)throw new U("Not supported consensus protocol version");const s=a[e];if(!s)throw new ze("Not supported tx type");if(n=n||s.abiVersion[0],t=t||s.vmVersion[0],!s.vmVersion.includes(t))throw new Xe(`VM VERSION ${t} do not support by this node. Supported: [${s.vmVersion}]`);if(!s.abiVersion.includes(n))throw new Ye(`ABI VERSION ${n} do not support by this node. Supported: [${s.abiVersion}]`);return{vmVersion:t,abiVersion:n}}}}),so=ao,oo=new WeakMap,io=Hs.compose({init(e){let{keypair:t,gaId:n}=e;if(this.isGa=!!n,n)return xt(n),void oo.set(this,{publicKey:n});if(!t||"object"!=typeof t)throw new L("KeyPair must be an object");if(!t.secretKey||!t.publicKey)throw new L('KeyPair must must have "secretKey", "publicKey" properties');if("string"!=typeof t.publicKey||-1===t.publicKey.indexOf("ak_"))throw new L('Public Key must be a base58c string with "ak_" prefix');if(!Buffer.isBuffer(t.secretKey)&&"string"==typeof t.secretKey&&!at(t.secretKey))throw new L("Secret key must be hex string or Buffer");const r=Buffer.from(xt(t.publicKey,"ak"));if(!Vt(Buffer.from(t.secretKey,"hex"),r))throw new L("Invalid Key Pair");oo.set(this,{secretKey:Buffer.isBuffer(t.secretKey)?t.secretKey:Buffer.from(t.secretKey,"hex"),publicKey:t.publicKey})},props:{isGa:!1},methods:{sign(e){if(this.isGa)throw new L("You are trying to sign data using generalized account without keypair");return Promise.resolve(jt(e,oo.get(this).secretKey))},address(){return Promise.resolve(oo.get(this).publicKey)}}}),co=Hs.compose(Es,{async init(e){let{accounts:t=[],address:n}=e;this.accounts=Object.fromEntries(await Promise.all(t.map((async e=>[await e.address(),e])))),n=n||Object.keys(this.accounts)[0],n&&this.selectAccount(n)},props:{accounts:{}},deepProps:{selectedAddress:null},methods:{async address(){let{onAccount:e=this.selectedAddress}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._resolveAccount(e).address()},async sign(e){let{onAccount:t=this.selectedAddress}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this._resolveAccount(t).sign(e)},addresses(){return Object.keys(this.accounts)},async addAccount(e){let{select:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=await e.address();this.accounts[n]=e,t&&this.selectAccount(n)},removeAccount(e){this.accounts[e]?(delete this.accounts[e],this.selectedAddress===e&&(this.selectedAddress=null)):console.warn(`removeAccount: Account for ${e} not available`)},selectAccount(e){if(xt(e,"ak"),!this.accounts[e])throw new G(e);this.selectedAddress=e},_resolveAccount(e){if(null===e)throw new q("Account should be an address (ak-prefixed string), keypair, or instance of account base, got null instead");switch(typeof e){case"string":if(xt(e,"ak"),!this.accounts[e])throw new G(e);return this.accounts[e];case"object":return Us(e)?e:io({keypair:e});default:throw new q(`Account should be an address (ak-prefixed string), keypair, or instance of account base, got ${e} instead`)}}}}),lo=Ws.compose({methods:{aensQuery:async function(e){var t=this;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Ln(e);const r=await this.getName(e);return Object.freeze(Object.assign(r,{pointers:r.pointers||[],update:async function(r){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{...await t.aensUpdate(e,r,{...n,...a}),...await t.aensQuery(e)}},transfer:async function(r){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{...await t.aensTransfer(e,r,{...n,...a}),...await t.aensQuery(e)}},revoke:async function(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return t.aensRevoke(e,{...n,...r})},extendTtl:async function(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:wn,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("number"!=typeof r||r>wn||r<=0)throw new O("nameTtl",`a number between 1 and ${wn} blocks`,r);return{...await t.aensUpdate(e,{},{...n,...a,nameTtl:r,extendPointers:!0}),...await t.aensQuery(e)}}}))},aensPreclaim:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Ln(e);const n={...this.Ae.defaults,...t},r=kt(),a=await this.height(),s=Fn(e,r),o=await this.namePreclaimTx({...n,accountId:await this.address(n),commitmentId:s}),i=await this.send(o,n);return Object.freeze({...i,height:a,claim:t=>this.aensClaim(e,r,{...t,onAccount:n.onAccount}),salt:r,commitmentId:s})},aensClaim:async function(e,t,n){Ln(e);const r={...this.Ae.defaults,...n},a=await this.nameClaimTx({...r,accountId:await this.address(r),nameSalt:t,name:e}),s=await this.send(a,r);if(!Jn(e)){const t=r.waitMined?await this.aensQuery(e,r):{};return Object.assign(s,t)}return{...s,nameFee:r.nameFee}},aensUpdate:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Ln(e);const r={...this.Ae.defaults,...n},a={...n.extendPointers&&Object.fromEntries((await this.getName(e)).pointers.map((e=>{let{key:t,id:n}=e;return[t,n]}))),...t},s=await this.nameUpdateTx({...r,nameId:e,accountId:await this.address(r),pointers:Object.entries(a).map((e=>{let[t,n]=e;return{key:t,id:n}}))});return this.send(s,r)},aensTransfer:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Ln(e);const r={...this.Ae.defaults,...n},a=await this.nameTransferTx({...r,nameId:e,accountId:await this.address(r),recipientId:t});return this.send(a,r)},aensRevoke:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Ln(e);const n={...this.Ae.defaults,...t},r=await this.nameRevokeTx({...n,nameId:e,accountId:await this.address(n)});return this.send(r,n)},aensBid:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.aensClaim(e,0,{...n,nameFee:t,vsn:2})}},deepProps:{Ae:{defaults:{clientTtl:vn,nameTtl:wn}}}}),uo=lo,ho=Es.compose({async init(e){let{compilerUrl:t,ignoreVersion:n}=e;t&&await this.setCompilerUrl(t,{ignoreVersion:n})},methods:{async setCompilerUrl(e){let{ignoreVersion:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)throw new M("compilerUrl required");e=e.replace(/\/$/,"");const n=await Ms(`${e}/api`,{disableBigNumbers:!0,disableCaseConversion:!0,responseInterceptor:e=>{if(e.ok)return;let t=`${new URL(e.url).pathname.slice(1)} error`;return e.body.reason&&(t+=": "+e.body.reason+(e.body.parameter?` in ${e.body.parameter}`:"")+(e.body.info?` (${JSON.stringify(e.body.info)})`:"")),Array.isArray(e.body)&&(t+=":\n"+e.body.map((e=>`${e.type}:${e.pos.line}:${e.pos.col}: ${e.message}${e.context?`(${e.context})`:""}`)).map((e=>e.trim())).join("\n")),e.statusText=t,e}});if(this.compilerVersion=n.spec.info.version,this.compilerApi=pn(n.api,(e=>{let[t,n]=e;return[t,function(){let{options:{filesystem:e,...t}={},...r}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return n({...r,options:{...t,file_system:e}})}]})),!t&&!Rs(this.compilerVersion,po,fo))throw new K("compiler",this.compilerVersion,po,fo)}},props:{compilerVersion:null}}),po="6.1.0",fo="7.0.0";var mo=v(946);const go=Ws.compose(ho,{methods:{getContractInstance:async function(){var e=this;let{source:t,bytecode:n,aci:r,contractAddress:a,filesystem:s={},validateBytecode:o,...i}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!r&&t&&(r=await this.compilerApi.generateACI({code:t,options:{filesystem:s}})),!r)throw new fe;if(a=a&&await this.resolveName(a,"contract_pubkey",{resolveByNode:!0}),!a&&!t&&!n)throw new pe("Can't create instance by ACI without address");if(a&&!(await this.getContract(a)).active)throw new ue(a);const c={_aci:r,_name:r.encoded_aci.contract.name,calldata:new mo.Encoder([r.encoded_aci,...r.external_encoded_aci]),source:t,bytecode:n,deployInfo:{address:a},options:{...this.Ae.defaults,callStatic:!1,filesystem:s,...i},compilerVersion:this.compilerVersion};if(o){if(!a)throw new pe("Can't validate bytecode without contract address");const e=(await this.getContractByteCode(a)).bytecode;if(!(t?await this.compilerApi.validateByteCode({bytecode:e,source:t,options:c.options}).then((e=>0===Object.entries(e).length),(()=>!1)):n===e))throw new de(t?"source":"bytecode")}c.compile=async function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(c.bytecode)throw new N("Contract already compiled");if(!c.source)throw new N("Can't compile without source code");const{bytecode:n}=await e.compilerApi.compileContract({code:c.source,options:{...c.options,...t}});return c.bytecode=n,c.bytecode};const d=async(e,t)=>{const n=await this.send(e,t),r={hash:n.hash,tx:no({tx:n.rawTx}),txData:n,rawTx:n.rawTx};if(!1===t.waitMined)return r;const{callInfo:a}=await this.api.getTransactionInfoByHash(n.hash);return Object.assign(r.txData,a),await l(a),{...r,result:a}},l=e=>{let t,{returnType:n,returnValue:r}=e;switch(n){case"ok":return;case"revert":t=c.calldata.decodeFateString(r);break;case"error":t=xt(r).toString();break;default:throw new W(`Unknown returnType: ${n}`)}throw new ge(t)};function u(e){const t=c._aci.encoded_aci.contract.functions.find((t=>t.name===e));if(t)return t;if("init"===e)return{payable:!1};throw new ye(`Function ${e} doesn't exist in contract`)}function h(e,t,n){let{contractAddressToName:r}=n;const a={...c.options.contractAddressToName,...r};if(a[e])return a[e];const s=[c._aci.encoded_aci,...c._aci.external_encoded_aci].filter((e=>{let{contract:t}=e;return null==t?void 0:t.event})).map((e=>{let{contract:t}=e;return[t.name,t.event.variant]})).map((e=>{let[t,n]=e;return n.map((e=>[t,Object.keys(e)[0]]))})).flat().filter((e=>{let[,n]=e;return BigInt("0x"+It(n).toString("hex"))===t}));switch(s.length){case 0:throw new be(t,e);case 1:return s[0][0];default:throw new xe(e,s)}}return c._estimateGas=async(e,t,n)=>{const{result:{gasUsed:r}}=await c.call(e,t,{...n,callStatic:!0});return Math.floor(1.25*r)},c.deploy=async function(){var t;let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],r=arguments.length>1?arguments[1]:void 0;const a={...c.options,...r};if(c.bytecode||await c.compile(a),a.callStatic)return c.call("init",n,a);if(c.deployInfo.address)throw new le;const s=await e.address(a),{tx:o,contractId:i}=await e.contractCreateTx({...a,gas:null!==(t=a.gas)&&void 0!==t?t:await c._estimateGas("init",n,a),callData:c.calldata.encode(c._name,"init",n),code:c.bytecode,ownerId:s}),{hash:l,rawTx:u,result:h,txData:p}=await d(o,a);return c.deployInfo=Object.freeze({result:h,owner:s,transaction:l,rawTx:u,txData:p,address:i}),c.deployInfo},c.call=async function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const a={...c.options,...r},s=u(t),o=c.deployInfo.address;if(!t)throw new me;if("init"===t&&!a.callStatic)throw new he('"init" can be called only via dryRun');if(!o&&"init"!==t)throw new he("You need to deploy contract before calling!");if("init"!==t&&a.amount>0&&!1===s.payable)throw new we(`You try to pay "${a.amount}" to function "${t}" which is not payable. Only payable function can accept coins`);const i=await e.address(a).catch((e=>{if(a.callStatic)return pr.pub;throw e})),h=c.calldata.encode(c._name,t,n);let p;if(a.callStatic){var f,m;"number"==typeof a.top&&(a.top=(await e.getKeyBlock(a.top)).hash);const n={...a,gas:null!==(f=a.gas)&&void 0!==f?f:lr,callData:h,nonce:null!==(m=a.nonce)&&void 0!==m?m:a.top&&(await e.getAccount(i,{hash:a.top})).nonce+1},r="init"===t?(await e.contractCreateTx({...n,code:c.bytecode,ownerId:i})).tx:await e.contractCallTx({...n,callerId:i,contractId:o}),{callObj:s,...d}=await e.txDryRun(r,i,a);await l(s),p={...d,tx:no({tx:r}),result:s}}else{var g;const r=await e.contractCallTx({...a,gas:null!==(g=a.gas)&&void 0!==g?g:await c._estimateGas(t,n,a),callerId:i,contractId:o,callData:h});p=await d(r,a)}return(a.waitMined||a.callStatic)&&(p.decodedResult=s.returns&&"unit"!==s.returns&&"init"!==t&&c.calldata.decode(c._name,t,p.result.returnValue),p.decodedEvents=c.decodeEvents(p.result.log,a)),p},c.decodeEvents=function(e){let{omitUnknown:t,...n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.map((e=>{const r=e.topics.map((e=>BigInt(e)));let a;try{a=h(e.address,r[0],n)}catch(e){if(t&&e instanceof be)return null;throw e}const s=c.calldata.decodeEvent(a,e.data,r),[o,i]=Object.entries(s)[0];return{name:o,args:i,contract:{name:a,address:e.address}}})).filter((e=>e))},c.methods=Object.fromEntries(c._aci.encoded_aci.contract.functions.map((e=>{let{name:t,arguments:n,stateful:r}=e;const a=e=>function(){for(var r=arguments.length,a=new Array(r),s=0;s<r;s++)a[s]=arguments[s];const o=a.length===n.length+1?a.pop():{};if("object"!=typeof o)throw new q(`Options should be an object: ${o}`);return"init"===t?c.deploy(a,{callStatic:e,...o}):c.call(t,a,{callStatic:e,...o})};return[t,Object.assign(a("init"!==t&&!r),{get:a(!0),send:a(!1)})]}))),c},delegateSignatureCommon:async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=await this.sign(Buffer.concat([Buffer.from(this.getNetworkId(t)),...e.map((e=>xt(e)))]),t);return Buffer.from(n).toString("hex")},createAensDelegationSignature:async function(e){let{contractId:t,name:n}=e,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.delegateSignatureCommon([await this.address(r),...n?[Dn(n)]:[],t],r)},createOracleDelegationSignature:async function(e){let{contractId:t,queryId:n}=e,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.delegateSignatureCommon([null!=n?n:await this.address(r),t],r)}},deepProps:{Ae:{defaults:{gasPrice:ur,amount:dr}}}}),yo=e=>async(t,n)=>{if("object"!=typeof t)throw new ce("AuthData must be an object");if(t.gas&&m()(t.gas).gt(hr))throw new ce(`the maximum gas value for ga authFun is ${hr}, got ${t.gas}`);const r=t.gas||hr;if(t.callData){if("cb"!==t.callData.split("_")[0])throw new ce('Auth data must be a string with "cb" prefix.');return{authCallData:t.callData,gas:r}}if(!t.source||!t.args)throw new ce("Auth data must contain source code and arguments.");const a=await e.getContractInstance({source:t.source});return{authCallData:a.calldata.encode(a._name,n,t.args),gas:r}},wo=go.compose({methods:{createGeneralizedAccount:async function(e,t){var n;let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const s={...this.Ae.defaults,...a},o=await this.address(s);if(await this.isGA(o))throw new N(`Account ${o} is already GA`);const i=await this.getContractInstance({source:t});await i.compile();const{tx:c,contractId:d}=await this.gaAttachTx({...s,gas:null!==(n=s.gas)&&void 0!==n?n:await i._estimateGas("init",r,s),ownerId:o,code:i.bytecode,callData:i.calldata.encode(i._name,"init",r),authFun:It(e)}),{hash:l,rawTx:u}=await this.send(c,s);return Object.freeze({owner:o,transaction:l,rawTx:u,gaContractId:d})},createMetaTx:async function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(!t)throw new M("authData is required");const{authCallData:a,gas:s}=await yo(this)(t,n),o={...this.Ae.defaults,...r},{abiVersion:i}=await this.getVmVersion(Nr.contractCall),c=xo(ts(e)),d={...o,tx:{...c,tx:c.txObject},gaId:await this.address(o),abiVersion:i,authData:a,gas:s,vsn:2},{fee:l}=await this.prepareTxParams(Nr.gaMeta,d),{rlpEncoded:u}=es({...d,fee:`${l}`},Nr.gaMeta,{vsn:2});return xo(u).tx},isGA:async function(e){const{contractId:t}=await this.getAccount(e);return!!t}}}),bo=wo,xo=e=>es({encodedTx:e,signatures:[]},Nr.signed),vo=1;let To,Io,Co,Eo,Ao;!function(e){e.to_waellet="to_waellet",e.to_aepp="to_aepp"}(To||(To={})),function(e){e.window="window",e.extension="extension"}(Io||(Io={})),function(e){e.subscribe="subscribe",e.unsubscribe="unsubscribe"}(Co||(Co={})),function(e){e.readyToConnect="connection.announcePresence",e.updateAddress="address.update",e.address="address.get",e.connect="connection.open",e.sign="transaction.sign",e.signMessage="message.sign",e.subscribeAddress="address.subscribe",e.updateNetwork="networkId.update",e.closeConnection="connection.close"}(Eo||(Eo={})),function(e){e.CONNECTED="CONNECTED",e.NODE_BINDED="NODE_BINDED",e.DISCONNECTED="DISCONNECTED",e.CONNECTION_REJECTED="CONNECTION_REJECTED",e.WAITING_FOR_CONNECTION_APPROVE="WAITING_FOR_CONNECTION_APPROVE",e.WAITING_FOR_CONNECTION_REQUEST="WAITING_FOR_CONNECTION_REQUEST"}(Ao||(Ao={}));const ko={broadcastFailed:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:3,data:e,message:"Broadcast failed"}},invalidTransaction:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:2,data:e,message:"Invalid transaction"}},rejectedByUser:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:4,data:e,message:"Operation rejected by user"}},connectionDeny:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:9,data:e,message:"Wallet deny your connection request"}},permissionDeny:e=>({code:11,message:`You are not subscribed for account ${e}`}),internalError:e=>({code:12,message:e}),notAuthorize:()=>({code:10,message:"You are not connected to the wallet"}),unsupportedProtocol:()=>({code:5,message:"Unsupported Protocol Version"}),unsupportedNetwork:()=>({code:8,message:"Unsupported Network"})},_o=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const{chrome:t,browser:n}=window;if(void 0!==t&&t===Object(t))return t;if(void 0!==n&&n===Object(n))return n;if(!e)throw new R;return{}},Oo=()=>window!==window.parent,No=e=>{let t=0;return function(n){let{id:r,method:a,params:s,result:o,error:i}=n,c=arguments.length>1&&void 0!==arguments[1]&&arguments[1];c||(t+=1),r=c?r||null:t;const d=s?{params:s}:o?{result:o}:{error:i};return e.sendMessage({jsonrpc:"2.0",...r?{id:r}:{},method:a,...d}),r}},So=function(e,t){let{debug:n=!1}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=e[t.method];return r&&"function"==typeof r?r:(n&&console.log(`Unknown message method ${t.method}`),()=>async()=>!0)},Po=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{method:e,params:t}},Bo=function(e,t){let{error:n,result:r}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return{id:e,method:t,...n?{error:n}:{result:r}}},jo=e=>(t,n,r)=>e.sendMessage(Bo(t,n,r),!0),Mo=e=>3===["","connected","current"].filter((t=>"object"==typeof(t?e[t]:e))).length,Ro=bs()({init(e){let{id:t,name:n,networkId:r,icons:a,connection:s,handlers:[o,i]}=e;this.id=t,this.connection=s,this.info={name:n,networkId:r,icons:a},this.callbacks={},this.addressSubscription=[],this.accounts={},this.sendMessage=No(this.connection),s.connect(((e,t)=>{if(!e||!e.jsonrpc||"2.0"!==e.jsonrpc||!e.method)throw new J(e);o(e,t)}),((e,t)=>{this.disconnect(!0),"function"==typeof i&&i(t,this)}))},propertyDescriptors:{currentAccount:{enumerable:!0,configurable:!1,get(){return this.isHasAccounts()?Object.keys(this.accounts.current)[0]:void 0}},addresses:{enumerable:!0,configurable:!1,get(){return this.isHasAccounts()?[...Object.keys(this.accounts.current),...Object.keys(this.accounts.connected)]:[]}},origin:{enumerable:!0,configurable:!1,get(){return this.connection}}},methods:{updateInfo(e){Object.assign(this.info,e)},isHasAccounts(){return"object"==typeof this.accounts&&"object"==typeof this.accounts.connected&&"object"==typeof this.accounts.current},isSubscribed(){return this.addressSubscription.length&&this.isHasAccounts()},hasAccessToAccount(e){return!!e&&this.addresses.find((t=>t===e))},isConnected(){return this.connection.isConnected()&&(this.info.status===Ao.CONNECTED||this.info.status===Ao.NODE_BINDED)},getCurrentAccount(){let{onAccount:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e||Object.keys(this.accounts.current)[0]},disconnect(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.info.status=Ao.DISCONNECTED,this.addressSubscription=[],this.accounts={},e||this.connection.disconnect()},setAccounts(e){let{forceNotification:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!Mo(e))throw new q("Invalid accounts object. Should be object like: `{ connected: {}, selected: {} }`");this.accounts=e,t||this.sendMessage(Po(Eo.updateAddress,this.accounts),!0)},updateSubscription(e,t){return e!==Co.subscribe||this.addressSubscription.includes(t)||this.addressSubscription.push(t),e===Co.unsubscribe&&this.addressSubscription.includes(t)&&(this.addressSubscription=this.addressSubscription.filter((e=>e!==t))),this.addressSubscription},request(e,t){const n=this.sendMessage(Po(e,t));if(Object.prototype.hasOwnProperty.call(this.callbacks,n))throw new X;return new Promise(((e,t)=>{this.callbacks[n]={resolve:e,reject:t}}))},processResponse(e,t){let{id:n,error:r,result:a}=e;if(!this.callbacks[n])throw new Z(n);a?this.callbacks[n].resolve(..."function"==typeof t?t({id:n,result:a}):[a]):this.callbacks[n].reject(r),delete this.callbacks[n]}}}),Do={[Eo.updateAddress]:e=>t=>{let{params:n}=t;e.rpcClient.accounts=n,e.onAddressChange(n)},[Eo.updateNetwork]:e=>async t=>{let{params:n}=t;const{networkId:r,node:a}=n;e.rpcClient.info.networkId=r,a&&e.addNode(a.name,await $s(a),!0),e.onNetworkChange(n)},[Eo.closeConnection]:e=>t=>{e.disconnectWallet(),e.onDisconnect(t.params)}},Fo={[Eo.address]:e=>t=>e.rpcClient.processResponse(t),[Eo.connect]:e=>t=>{t.result&&(e.rpcClient.info.status=Ao.CONNECTED),e.rpcClient.processResponse(t)},[Eo.subscribeAddress]:e=>t=>{t.result&&(t.result.address&&(e.rpcClient.accounts=t.result.address),t.result.subscription&&(e.rpcClient.addressSubscription=t.result.subscription)),e.rpcClient.processResponse(t,(e=>{let{id:t,result:n}=e;return[n]}))},[Eo.sign]:e=>t=>{e.rpcClient.processResponse(t,(e=>{let{id:t,result:n}=e;return[n.signedTransaction||n.transactionHash]}))},[Eo.signMessage]:e=>t=>{e.rpcClient.processResponse(t,(e=>{let{id:t,result:n}=e;return[n.signature]}))}},Vo={},qo=Ws.compose({async init(e){let{name:t,connection:n,debug:r=!1,...a}=e;["onAddressChange","onDisconnect","onNetworkChange"].forEach((e=>{var t;const n=null!==(t=a[e])&&void 0!==t?t:()=>{};if("function"!=typeof n)throw new O(e,"a function",n);this[e]=n})),this.connection=n,this.name=t,this.debug=r,n&&await this.connectToWallet(n)},deepProps:{Ae:{defaults:{walletBroadcast:!0}}},methods:{sign(){},addresses(){if(!this.isSubscribedAccount())throw new ne;return[this.rpcClient.currentAccount,...Object.keys(this.rpcClient.accounts.connected)]},async connectToWallet(e){let{connectNode:t=!1,name:n="wallet-node",select:r=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.rpcClient&&this.rpcClient.isConnected())throw new Je("You are already connected to wallet "+this.rpcClient);var a;this.rpcClient=Ro({connection:e,networkId:this.getNetworkId({force:!0}),...e.connectionInfo,id:(0,qt.v4)(),handlers:[(a=this,async e=>e.id?Object.prototype.hasOwnProperty.call(a.rpcClient.callbacks,e.id)?So(Fo,e,{debug:a.debug})(a)(e):So(Vo,e,{debug:a.debug})(a)(e):So(Do,e,{debug:a.debug})(a)(e)),this.onDisconnect]});const s=await this.sendConnectRequest(t);if(t&&!Object.prototype.hasOwnProperty.call(s,"node"))throw new tt("Missing URLs of the Node");return t&&this.addNode(n,await $s(s.node),r),s},async disconnectWallet(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(!this.isConnected())throw new et("You are not connected to Wallet");e&&this.rpcClient.sendMessage(Po(Eo.closeConnection,{reason:"bye"}),!0),this.rpcClient.disconnect(),this.rpcClient=null},async address(){let{onAccount:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!this.isConnected())throw new et("You are not connected to Wallet");const t=this.rpcClient.currentAccount;if(!t)throw new ne;if(e&&!this.rpcClient.hasAccessToAccount(e))throw new ee(e);return e||t},async askAddresses(){if(!this.isConnected())throw new et("You are not connected to Wallet");if(!this.isSubscribedAccount())throw new ne;return this.rpcClient.request(Eo.address)},async subscribeAddress(e,t){if(!this.isConnected())throw new et("You are not connected to Wallet");return this.rpcClient.request(Eo.subscribeAddress,{type:e,value:t})},async signTransaction(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isConnected())throw new et("You are not connected to Wallet");if(!this.isSubscribedAccount())throw new ne;if(t.onAccount&&!this.rpcClient.hasAccessToAccount(t.onAccount))throw new ee(t.onAccount);return this.rpcClient.request(Eo.sign,{...t,tx:e,returnSigned:!0,networkId:this.getNetworkId()})},async signMessage(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isConnected())throw new et("You are not connected to Wallet");if(!this.isSubscribedAccount())throw new ne;if(t.onAccount&&!this.rpcClient.hasAccessToAccount(t.onAccount))throw new ee(t.onAccount);return this.rpcClient.request(Eo.signMessage,{...t,message:e})},async sendConnectRequest(e){return this.rpcClient.request(Eo.connect,{name:this.name,version:vo,networkId:this.getNetworkId({force:!0}),connectNode:e})},async send(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isConnected())throw new et("You are not connected to Wallet");if(!this.isSubscribedAccount())throw new ne;if(t.onAccount&&!this.rpcClient.hasAccessToAccount(t.onAccount))throw new ee(t.onAccount);const n={...this.Ae.defaults,...t};if(!n.walletBroadcast){const t=await this.signTransaction(e,{onAccount:n.onAccount});return this.sendTransaction(t,n)}return this.rpcClient.request(Eo.sign,{onAccount:n.onAccount,tx:e,returnSigned:!1,networkId:this.getNetworkId()})},isConnected(){return this.rpcClient&&this.rpcClient.isConnected()},isSubscribedAccount(){return void 0!==this.rpcClient.currentAccount}}}),$o=Ws.compose({methods:{registerOracle:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r={...this.Ae.defaults,...n},a=await this.address(r),s=await this.oracleRegisterTx({...r,accountId:a,queryFormat:e,responseFormat:t});return{...await this.send(s,r),...await this.getOracleObject(`ok_${a.slice(3)}`)}},respondToQuery:async function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const a={...this.Ae.defaults,...r},s=await this.address(a),o=await this.oracleRespondTx({...a,oracleId:e,queryId:t,callerId:s,response:n});return{...await this.send(o,a),...await this.getOracleObject(e)}},extendOracleTtl:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r={...this.Ae.defaults,...n},a=await this.address(r),s=await this.oracleExtendTx({...r,oracleId:e,callerId:a,oracleTtl:t});return{...await this.send(s,r),...await this.getOracleObject(e)}},postQueryToOracle:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=n.queryFee||(await this.api.getOracleByPubkey(e)).queryFee,a={...this.Ae.defaults,queryFee:r,...n},s=await this.address(a),o=await this.oraclePostQueryTx({...a,oracleId:e,senderId:s,query:t}),i=Mn(s,ts(o).tx.nonce,e);return{...await this.send(o,a),...await this.getQueryObject(e,i)}},pollForQueryResponse:async function(e,t){let{attempts:n=20,interval:r=this._getPollInterval("microblock")}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};for(let a=0;a<n;a++){a&&await hn(r);const{response:n}=await this.api.getOracleQueryByPubkeyAndQueryId(e,t),s=xt(n,"or");if(s.length)return String(s)}throw new F((n-1)*r)},pollForQueries:function(e,t){let{interval:n=this._getPollInterval("microblock")}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=new Set,a=async()=>{const n=((await this.api.getOracleQueriesByPubkey(e)).oracleQueries||[]).filter((e=>{let{id:t}=e;return!r.has(t)}));n.forEach((e=>{let{id:t}=e;return r.add(t)})),n.length&&t(n)};let s;return(async()=>{for(;!s;)await a().catch(console.error),await hn(n)})(),()=>{s=!0}},getOracleObject:async function(e){const t=await this.api.getOracleByPubkey(e),{oracleQueries:n}=await this.api.getOracleQueriesByPubkey(e);return{...t,queries:n,pollQueries:this.pollForQueries.bind(this,e),postQuery:this.postQueryToOracle.bind(this,e),respondToQuery:this.respondToQuery.bind(this,e),extendOracle:this.extendOracleTtl.bind(this,e),getQuery:this.getQueryObject.bind(this,e)}},getQueryObject:async function(e,t){const n=await this.api.getOracleQueryByPubkeyAndQueryId(e,t);return{...n,decodedQuery:xt(n.query).toString(),decodedResponse:xt(n.response).toString(),respond:this.respondToQuery.bind(this,e,t),pollForResponse:this.pollForQueryResponse.bind(this,e,t),decode:e=>xt(e)}}},deepProps:{Ae:{defaults:{queryFee:sr,oracleTtl:or,queryTtl:ir,responseTtl:cr}}}}),Uo=$o,Ho=Ws.compose(so,Uo,go,uo,Js,qo),Ko=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!e.find((e=>e===t))){if("object"!=typeof n.onAccount||!Us(n.onAccount))throw new q("Provided onAccount should be an AccountBase");t=n.onAccount}return t},Wo={[Eo.closeConnection]:(e,t)=>{let{client:n}=t;return async t=>{n.disconnect(!0),e.onDisconnect(t.params,n)}}},Lo={},Go={[Eo.connect](e,t,n,r){let{name:a,networkId:s,version:o,icons:i,connectNode:c}=r;return o!==vo?{error:ko.unsupportedProtocol()}:(n.updateInfo({status:Ao.WAITING_FOR_CONNECTION_APPROVE,name:a,networkId:s,icons:i,version:o,origin:window.location.origin,connectNode:c}),e("onConnection",{name:a,networkId:s,version:o},(function(){let{shareNode:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return n.updateInfo({status:e?Ao.NODE_BINDED:Ao.CONNECTED}),{result:{...t.getWalletInfo(),...e&&{node:t.selectedNode}}}}),(e=>(n.updateInfo({status:Ao.CONNECTION_REJECTED}),{error:ko.connectionDeny(e)}))))},[Eo.subscribeAddress](e,t,n,r){let{type:a,value:s}=r;return n.isConnected()?e("onSubscription",{type:a,value:s},(async function(){let{accounts:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{const r=e||t.getAccounts();if(!Mo(r))throw new q("Invalid provided accounts object");const o=n.updateSubscription(a,s);return n.setAccounts(r,{forceNotification:!0}),{result:{subscription:o,address:r}}}catch(e){return t.debug&&console.error(e),{error:ko.internalError(e.message)}}}),(e=>({error:ko.rejectedByUser(e)}))):{error:ko.notAuthorize()}},[Eo.address]:(e,t,n)=>n.isConnected()&&n.isSubscribed()?e("onAskAccounts",{},(function(){let{accounts:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{result:e||[...Object.keys(n.accounts.current),...Object.keys(n.accounts.connected)]}}),(e=>({error:ko.rejectedByUser(e)}))):{error:ko.notAuthorize()},[Eo.sign](e,t,n,r){const{tx:a,onAccount:s,networkId:o,returnSigned:i=!1}=r,c=s||n.currentAccount;return o&&n.updateInfo({networkId:o}),n.isConnected()?n.hasAccessToAccount(c)?o&&o===t.getNetworkId()?e("onSign",{tx:a,returnSigned:i,onAccount:c,txObject:no.fromString(a)},(async function(e){let n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{n=Ko(t.addresses(),c,r)}catch(e){return t.debug&&console.error(e),{error:ko.internalError(e.message)}}try{const r=e||a;return{result:i?{signedTransaction:await t.signTransaction(r,{onAccount:n})}:{transactionHash:await t.send(r,{onAccount:n,verify:!1})}}}catch(n){if(!i){const r=await Qs(e||a,t.selectedNode.instance);return r.length?{error:ko.invalidTransaction(r)}:{error:ko.broadcastFailed(n.message)}}throw n}}),(e=>({error:ko.rejectedByUser(e)}))):{error:ko.unsupportedNetwork()}:{error:ko.permissionDeny(c)}:{error:ko.notAuthorize()}},[Eo.signMessage](e,t,n,r){let{message:a,onAccount:s}=r;if(!n.isConnected())return{error:ko.notAuthorize()};const o=s||n.currentAccount;return n.hasAccessToAccount(o)?e("onMessageSign",{message:a,onAccount:o},(async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{const n=Ko(t.addresses(),o,e);return{result:{signature:await t.signMessage(a,{onAccount:n,returnHex:!0})}}}catch(e){return t.debug&&console.error(e),{error:ko.internalError(e.message)}}}),(e=>({error:ko.rejectedByUser(e)}))):{error:ko.permissionDeny(o)}}},Qo=(e,t)=>async(n,r)=>{const a=e.rpcClients[t];if(!n.id)return So(Wo,n,{debug:e.debug})(e,{client:a})(n,r);if(Object.prototype.hasOwnProperty.call(a.callbacks,n.id))return So(Lo,n,{debug:e.debug})(e,{client:a})(n,r);{const{id:t,method:s}=n,o=(n,o,i,c)=>()=>new Promise((d=>{e[n](a,{id:t,method:s,params:o,accept:function(){return d(i(...arguments))},deny:function(){return d(c(...arguments))}},r)})),i=So(Go,n,{debug:e.debug})(o,e,a,n.params),c="function"==typeof i?await i():i;jo(a)(t,s,c)}},zo=Ws.compose(co,{init(){var e=this;let{name:t,debug:n=!1,...r}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};["onConnection","onSubscription","onSign","onDisconnect","onAskAccounts","onMessageSign"].forEach((e=>{const t=r[e];if("function"!=typeof t)throw new O(e,"a function",t);this[e]=t})),this.debug=n,this.rpcClients={},this.name=t,this.id=(0,qt.v4)();const a=this.selectAccount.bind(this),s=this.addAccount.bind(this),o=this.selectNode.bind(this);this.selectAccount=function(t){let{condition:n=(()=>!0)}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};a(t),Object.values(e.rpcClients).filter((e=>e.isConnected()&&e.isSubscribed()&&e.hasAccessToAccount(t)&&n(e))).forEach((e=>e.setAccounts({current:{[t]:{}},connected:{...e.accounts.current,...Object.entries(e.accounts.connected).filter((e=>{let[n,r]=e;return n!==t})).reduce(((e,t)=>{let[n,r]=t;return{...e,[n]:r}}),{})}})))},this.addAccount=async function(t){let{select:n,meta:r={},condition:a=(()=>!0)}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};await s(t,{select:n});const o=await t.address();Object.values(e.rpcClients).filter((e=>e.isConnected()&&e.isSubscribed()&&a(e))).forEach((e=>e.setAccounts({current:{...n?{[o]:r}:e.accounts.current},connected:{...n?e.accounts.current:{[o]:r},...e.accounts.connected}})))},this.selectNode=e=>{o(e),Object.values(this.rpcClients).filter((e=>e.isConnected())).forEach((e=>{e.sendMessage(Po(Eo.updateNetwork,{networkId:this.getNetworkId(),...e.info.status===Ao.NODE_BINDED&&{node:this.selectedNode}}),!0)}))}},methods:{removeRpcClient(e){let{forceConnectionClose:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=this.rpcClients[e];if(!n)throw new te(e);n.disconnect(t),delete this.rpcClients[e]},addRpcClient(e){const t=(0,qt.v4)();return this.rpcClients[t]=Ro({id:t,info:{status:Ao.WAITING_FOR_CONNECTION_REQUEST},connection:e,handlers:[Qo(this,t),this.onDisconnect]}),t},shareWalletInfo(e){e({jsonrpc:"2.0",...Po(Eo.readyToConnect,this.getWalletInfo())})},getWalletInfo(){const e=_o(!0).runtime;return{id:e&&e.id?e.id:this.id,name:this.name,networkId:this.getNetworkId(),origin:window.location.origin,type:e&&e.id?Io.extension:Io.window}},getAccounts(){return{current:this.selectedAddress?{[this.selectedAddress]:{}}:{},connected:this.addresses().filter((e=>e!==this.selectedAddress)).reduce(((e,t)=>({...e,[t]:{}})),{})}}}}),Yo=Ws.compose(zo,so,go,Uo,uo,bo,Js);var Xo=v(397),Jo=v(735);const Zo=new WeakMap,ei=new WeakMap,ti=new WeakMap,ni=new WeakMap,ri=new WeakMap,ai=new WeakMap,si=new WeakMap,oi=new WeakMap,ii=new WeakMap,ci=new WeakMap,di=new WeakMap,li=new WeakMap,ui=new WeakMap,hi=new WeakMap,pi=new WeakMap,fi=new WeakMap;function mi(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];ai.get(e).emit(...n)}function gi(e,t){if(!t)throw new ie;ni.set(e,t),t.handler.enter&&t.handler.enter(e),vi(e)}function yi(e,t){t!==ei.get(e)&&(ei.set(e,t),mi(e,"statusChanged",t))}function wi(e,t){ti.set(e,t),mi(e,"stateChanged",t)}function bi(e,t){const{debug:n=!1}=Zo.get(e);n&&console.log("Send message: ",t),ri.get(e).send(Bs.stringify(t))}function xi(e,t,n){ii.set(e,[...ii.get(e)||[],{guard:t,action:n}]),vi(e)}async function vi(e){const t=ci.get(e),n=ii.get(e)||[];if(t||!n.length)return;const r=ni.get(e),a=n.findIndex((t=>t.guard(e,r)));if(-1===a)return;ii.set(e,n.filter(((e,t)=>a!==t))),ci.set(e,!0);const s=await Promise.resolve(n[a].action(e,r));ci.set(e,!1),gi(e,s)}async function Ti(e,t){const{handler:n,state:r}=ni.get(e);gi(e,await Promise.resolve(n(e,t,r)))}function Ii(e){clearTimeout(hi.get(e)),clearTimeout(pi.get(e)),hi.set(e,setTimeout((()=>{bi(e,{jsonrpc:"2.0",method:"channels.system",params:{action:"ping"}}),pi.set(e,setTimeout((()=>{Ei(e),mi(e,"error",new se)}),5e3))}),1e4))}function Ci(e,t,n){return new Promise(((r,a)=>{const s=di.set(e,di.get(e)+1).get(e);ui.get(e).set(s,(e=>{if(e.result)return r(e.result);if(e.error){const[{message:t}={}]=e.error.data||[];return a(new re(e.error.message+(t?`: ${t}`:"")))}})),bi(e,{jsonrpc:"2.0",method:t,id:s,params:n})}))}function Ei(e){ri.get(e).close(),clearTimeout(hi.get(e)),clearTimeout(pi.get(e))}async function Ai(e,t,n,r){let{url:a,...s}=r;Zo.set(e,s),ni.set(e,{handler:t}),ai.set(e,new Jo.EventEmitter),di.set(e,0),ui.set(e,new Map),si.set(e,[]);const o=new URL(a);Object.entries(s).filter((e=>{let[t]=e;return!["sign","debug"].includes(t)})).forEach((e=>{let[t,n]=e;return o.searchParams.set(rt(t),n)})),o.searchParams.set("protocol","json-rpc"),yi(e,"connecting");const i=new Xo.w3cwebsocket(o.toString());await new Promise(((t,r)=>Object.assign(i,{onerror:r,onopen:()=>{t(),yi(e,"connected"),s.reconnectTx&&(gi(e,{handler:n}),setTimeout((async()=>wi(e,(await Ci(e,"channels.get.offchain_state",{})).signed_tx)))),Ii(e)},onclose:()=>{yi(e,"disconnected"),clearTimeout(hi.get(e)),clearTimeout(pi.get(e))},onmessage:t=>{let{data:n}=t;return function(e,t){const n=Bs.parse(t),{debug:r=!1}=Zo.get(e);if(r&&console.log("Receive message: ",n),n.id){const t=ui.get(e).get(n.id);try{t(n)}finally{ui.get(e).delete(n.id)}}else"channels.message"!==n.method?"channels.system.pong"!==n.method?(si.get(e).push(n),async function(e){if(oi.get(e))return;const t=si.get(e);if(t.length){for(oi.set(e,!0);t.length;){const n=t.shift();try{await Ti(e,n)}catch(e){console.error("Error handling incoming message:"),console.error(n),console.error(e)}}oi.set(e,!1)}}(e)):n.params.channel_id!==li.get(e)&&null!=li.get(e)||Ii(e):mi(e,"message",n.params.data.message)}(e,n)}}))),ri.set(e,i)}async function ki(e,t){const{signatures:n,encodedTx:r}=ts(e).tx,a=await t(vt(r.rlpEncoded,"tx"));if("string"==typeof a){const{tx:e,txType:t}=ts(a);return es({signatures:n.concat(e.signatures),encodedTx:e.encodedTx.rlpEncoded},t).tx}return a}function _i(e,t,n){return n&&n.reject&&n.reject(Object.assign(new oe(`Unexpected message received:\n\n${JSON.stringify(t)}`),{wsMessage:t})),{handler:Ri}}function Oi(e,t,n){return"channels.info"===t.method?["channel_accept","funding_created"].includes(t.params.data.event)?(yi(e,{channel_accept:"accepted",funding_created:"halfSigned"}[t.params.data.event]),{handler:Si}):"channel_reestablished"===t.params.data.event?{handler:ji}:"fsm_up"===t.params.data.event?(fi.set(e,t.params.data.fsm_id),{handler:Oi}):{handler:Oi}:"channels.error"===t.method?(mi(e,"error",new ae(t.payload.message)),{handler:tc}):void 0}async function Ni(e,t,n){return"channels.info"===t.method&&"fsm_up"===t.params.data.event?(fi.set(e,t.params.data.fsm_id),wi(e,(await Ci(e,"channels.get.offchain_state",{})).signed_tx),{handler:Ri}):_i(0,t,n)}async function Si(e,t,n){const r={initiator:"initiator_sign",responder:"responder_sign"}[Zo.get(e).role];if(t.method===`channels.sign.${r}`){if(t.params.data.tx){const n=await Zo.get(e).sign(r,t.params.data.tx);return bi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{tx:n}}),{handler:Pi}}const n=await ki(t.params.data.signed_tx,(t=>Zo.get(e).sign(r,t)));return bi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{signed_tx:n}}),{handler:Pi}}}function Pi(e,t,n){if("channels.on_chain_tx"===t.method){if("funding_signed"===t.params.data.info&&"initiator"===Zo.get(e).role)return{handler:Bi};if("funding_created"===t.params.data.info&&"responder"===Zo.get(e).role)return{handler:Bi}}if("channels.info"===t.method&&"funding_signed"===t.params.data.event&&"initiator"===Zo.get(e).role)return li.set(e,t.params.channel_id),yi(e,"signed"),{handler:Pi}}function Bi(e,t,n){if("channels.info"===t.method){const e={funding_created:Bi,own_funding_locked:Bi,funding_locked:ji}[t.params.data.event];if(e)return{handler:e}}if("channels.on_chain_tx"===t.method)return mi(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),{handler:Bi}}function ji(e,t,n){if("channels.info"===t.method&&"open"===t.params.data.event)return li.set(e,t.params.channel_id),{handler:Mi}}function Mi(e,t,n){if("channels.update"===t.method)return wi(e,t.params.data.state),{handler:Ri}}async function Ri(e,t,n){switch(t.method){case"channels.info":switch(t.params.data.event){case"update":case"withdraw_created":case"deposit_created":return{handler:Vi};case"own_withdraw_locked":case"withdraw_locked":case"own_deposit_locked":case"deposit_locked":case"peer_disconnected":case"channel_reestablished":case"open":return mi(e,t.params.data.event),{handler:Ri};case"fsm_up":return fi.set(e,t.params.data.fsm_id),{handler:Ri};case"timeout":case"close_mutual":case"shutdown":return{handler:Ri};case"closing":return yi(e,"closing"),{handler:Ri};case"closed_confirmed":return yi(e,"closed"),{handler:tc};case"died":return yi(e,"died"),{handler:tc}}break;case"channels.on_chain_tx":return mi(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),{handler:Ri};case"channels.leave":return{handler:Ri};case"channels.update":return wi(e,t.params.data.state),{handler:Ri};case"channels.sign.shutdown_sign_ack":return Vi(e,t,n)}}async function Di(e,t,n){if("channels.sign.update"===t.method){const{sign:r}=n;if(t.params.data.tx)return bi(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:Fi,state:n};const a=await ki(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return bi(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:a}}),{handler:Fi,state:n};if("number"==typeof a)return bi(e,{jsonrpc:"2.0",method:"channels.update",params:{error:a}}),{handler:Di,state:n}}if("channels.error"===t.method)return n.reject(new ae(t.data.message)),{handler:Ri};if(t.error){const{data:e=[]}=t.error;return e.find((e=>1001===e.code))?n.reject(new P("Insufficient balance")):e.find((e=>1002===e.code))?n.reject(new N("Amount cannot be negative")):n.reject(new ae(t.error.message)),{handler:Ri}}return"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Ri}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Ri}):_i(0,t,n)}function Fi(e,t,n){return"channels.update"===t.method?(wi(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Ri}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Ri}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Ri}):t.error?(n.reject(new ae(t.error.message)),{handler:Ri}):_i(0,t,n)}async function Vi(e,t,n){const[,r]=t.method.match(/^channels\.sign\.([^.]+)$/)||[];if(r){if(t.params.data.tx){const n=await Zo.get(e).sign(r,t.params.data.tx,{updates:t.params.data.updates});if(n)return bi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{tx:n}}),{handler:Ri}}else{const a=await ki(t.params.data.signed_tx,(n=>Zo.get(e).sign(r,n,{updates:t.params.data.updates})));if("string"==typeof a)return bi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{signed_tx:a}}),{handler:Ri};if("number"==typeof a)return bi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{error:a}}),{handler:qi,state:n}}return bi(e,{jsonrpc:"2.0",method:"channels.update.new",params:{from:St().publicKey,to:St().publicKey,amount:1}}),{handler:qi,state:n}}return _i(0,t,n)}function qi(e,t,n){return t.error?{handler:qi,state:n}:"channels.conflict"===t.method?{handler:Ri}:_i(0,t,n)}async function $i(e,t,n){if("channels.sign.shutdown_sign"===t.method){if(t.params.data.tx)return bi(e,{jsonrpc:"2.0",method:"channels.shutdown_sign",params:{tx:await n.sign(t.params.data.tx)}}),{handler:Ui,state:n};const r=await ki(t.params.data.signed_tx,(e=>n.sign(e)));return bi(e,{jsonrpc:"2.0",method:"channels.shutdown_sign",params:{signed_tx:r}}),{handler:Ui,state:n}}return _i(0,t,n)}function Ui(e,t,n){return"channels.on_chain_tx"===t.method?{handler:tc,state:n}:_i(0,t,n)}function Hi(e,t,n){return"channels.leave"===t.method?(n.resolve({channelId:t.params.channel_id,signedTx:t.params.data.state}),Ei(e),{handler:tc}):"channels.error"===t.method?(n.reject(new ae(t.data.message)),{handler:Ri}):_i(0,t,n)}async function Ki(e,t,n){if("channels.sign.withdraw_tx"===t.method){const{sign:r}=n;if(t.params.data.tx)return bi(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:Wi,state:n};const a=await ki(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return bi(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{signed_tx:a}}),{handler:Wi,state:n};if("number"==typeof a)return bi(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{error:a}}),{handler:Wi,state:n}}return _i(0,t,n)}function Wi(e,t,n){if("channels.on_chain_tx"===t.method)return n.onOnChainTx&&n.onOnChainTx(t.params.data.tx),{handler:Wi,state:n};if("channels.info"===t.method&&["own_withdraw_locked","withdraw_locked"].includes(t.params.data.event)){const e={own_withdraw_locked:n.onOwnWithdrawLocked,withdraw_locked:n.onWithdrawLocked}[t.params.data.event];return e&&e(),{handler:Wi,state:n}}return"channels.update"===t.method?(wi(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Ri}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Ri}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Ri}):_i(0,t,n)}async function Li(e,t,n){if("channels.sign.deposit_tx"===t.method){const{sign:r}=n;if(t.params.data.tx)return bi(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:Gi,state:n};const a=await ki(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return bi(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{signed_tx:a}}),{handler:Gi,state:n};if("number"==typeof a)return bi(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{error:a}}),{handler:Gi,state:n}}return _i(0,t,n)}function Gi(e,t,n){if("channels.on_chain_tx"===t.method)return n.onOnChainTx&&n.onOnChainTx(t.params.data.tx),{handler:Gi,state:n};if("channels.info"===t.method&&["own_deposit_locked","deposit_locked"].includes(t.params.data.event)){const e={own_deposit_locked:n.onOwnDepositLocked,deposit_locked:n.onDepositLocked}[t.params.data.event];return e&&e(),{handler:Gi,state:n}}return"channels.update"===t.method?(wi(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Ri}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Ri}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Ri}):_i(0,t,n)}async function Qi(e,t,n){if("channels.sign.update"===t.method){if(t.params.data.tx)return bi(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await n.sign(t.params.data.tx)}}),{handler:zi,state:n};const r=await ki(t.params.data.signed_tx,(e=>n.sign(e)));if("string"==typeof r)return bi(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:r}}),{handler:zi,state:n};if("number"==typeof r)return bi(e,{jsonrpc:"2.0",method:"channels.update",params:{error:r}}),{handler:zi,state:n}}return _i(0,t,n)}function zi(e,t,n){if("channels.update"===t.method){const{round:r}=ts(t.params.data.state).tx.encodedTx.tx,a=Zo.get(e)[{initiator:"initiatorId",responder:"responderId"}[Zo.get(e).role]];return wi(e,t.params.data.state),n.resolve({accepted:!0,address:Ot(a,r),signedTx:t.params.data.state}),{handler:Ri}}return"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Ri}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Ri}):_i(0,t,n)}async function Yi(e,t,n){if("channels.sign.update"===t.method){if(t.params.data.tx)return bi(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await n.sign(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:Zi,state:n};const r=await ki(t.params.data.signed_tx,(e=>n.sign(e,{updates:t.params.data.updates})));if("string"==typeof r)return bi(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:r}}),{handler:Zi,state:n};if("number"==typeof r)return bi(e,{jsonrpc:"2.0",method:"channels.update",params:{error:r}}),{handler:Zi,state:n}}return _i(0,t,n)}async function Xi(e,t,n){if("channels.sign.force_progress_tx"===t.method){const r=await ki(t.params.data.signed_tx,(e=>n.sign(e,{updates:t.params.data.updates})));return bi(e,{jsonrpc:"2.0",method:"channels.force_progress_sign",params:{signed_tx:r}}),{handler:Ji,state:n}}return _i(0,t,n)}function Ji(e,t,n){return"channels.on_chain_tx"===t.method&&(n.onOnChainTx&&n.onOnChainTx(t.params.data),mi(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),n.resolve({accepted:!0,tx:t.params.data.tx})),_i(0,t,n)}function Zi(e,t,n){return"channels.update"===t.method?(wi(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Ri}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Ri}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Ri}):_i(0,t,n)}function ec(e,t,n){return"channels.calls_pruned.reply"===t.method?(n.resolve(),{handler:Ri}):(n.reject(new oe("Unexpected message received")),{handler:tc})}function tc(e,t,n){return n?"closing"===t.params.data.event?{handler:tc,state:n}:"channel_closed"===t.params.data.info?(n.closeTx=t.params.data.tx,{handler:tc,state:n}):"closed_confirmed"===t.params.data.event?(n.resolve(n.closeTx),{handler:tc}):{handler:tc,state:n}:{handler:tc}}function nc(e){return Object.entries(e).reduce(((e,t)=>{let[n,r]=t;return{...e,[nt(n)]:r}}),{})}Ri.enter=e=>{yi(e,"open")};const rc=Es.compose({async init(e){await Ai(this,e.existingFsmId?Ni:Oi,Ri,e)},methods:{on:function(e,t){ai.get(this).on(e,t)},off:function(e,t){ai.get(this).removeListener(e,t)},status:function(){return ei.get(this)},state:async function(){return nc(await Ci(this,"channels.get.offchain_state",{}))},round:function(){if(!ti.get(this))return null;const{txType:e,tx:t}=ts(ti.get(this)).tx.encodedTx;switch(e){case Nr.channelCreate:return 1;case Nr.channelOffChain:case Nr.channelWithdraw:case Nr.channelDeposit:return parseInt(t.round,10);default:return null}},id:function(){return li.get(this)},fsmId:function(){return fi.get(this)},update:function(e,t,n,r,a){return new Promise(((s,o)=>{xi(this,((e,t)=>t.handler===Ri),((i,c)=>(bi(i,{jsonrpc:"2.0",method:"channels.update.new",params:{from:e,to:t,amount:n,meta:a}}),{handler:Di,state:{resolve:s,reject:o,sign:r}})))}))},poi:async function(e){let{accounts:t,contracts:n}=e;return(await Ci(this,"channels.get.poi",{accounts:t,contracts:n})).poi},balances:async function(e){return Object.fromEntries((await Ci(this,"channels.get.balances",{accounts:e})).map((e=>[e.account,e.balance])))},leave:function(){return new Promise(((e,t)=>{xi(this,((e,t)=>t.handler===Ri),((n,r)=>(bi(n,{jsonrpc:"2.0",method:"channels.leave",params:{}}),{handler:Hi,state:{resolve:e,reject:t}})))}))},shutdown:function(e){return new Promise(((t,n)=>{xi(this,((e,t)=>t.handler===Ri),((r,a)=>(bi(r,{jsonrpc:"2.0",method:"channels.shutdown",params:{}}),{handler:$i,state:{sign:e,resolve:t,reject:n}})))}))},sendMessage:function(e,t){let n=e;"object"==typeof e&&(n=JSON.stringify(e));const r=e=>bi(e,{jsonrpc:"2.0",method:"channels.message",params:{info:n,to:t}});if("connecting"===this.status()){const e=t=>{"connecting"!==t&&(setTimeout((()=>r(this)),500),this.off("statusChanged",e))};this.on("statusChanged",e)}else r(this)},withdraw:function(e,t){let{onOnChainTx:n,onOwnWithdrawLocked:r,onWithdrawLocked:a}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((s,o)=>{xi(this,((e,t)=>t.handler===Ri),((i,c)=>(bi(i,{jsonrpc:"2.0",method:"channels.withdraw",params:{amount:e}}),{handler:Ki,state:{sign:t,resolve:s,reject:o,onOnChainTx:n,onOwnWithdrawLocked:r,onWithdrawLocked:a}})))}))},deposit:function(e,t){let{onOnChainTx:n,onOwnDepositLocked:r,onDepositLocked:a}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((s,o)=>{xi(this,((e,t)=>t.handler===Ri),((i,c)=>(bi(i,{jsonrpc:"2.0",method:"channels.deposit",params:{amount:e}}),{handler:Li,state:{sign:t,resolve:s,reject:o,onOnChainTx:n,onOwnDepositLocked:r,onDepositLocked:a}})))}))},createContract:function(e,t){let{code:n,callData:r,deposit:a,vmVersion:s,abiVersion:o}=e;return new Promise(((e,i)=>{xi(this,((e,t)=>t.handler===Ri),((c,d)=>(bi(c,{jsonrpc:"2.0",method:"channels.update.new_contract",params:{code:n,call_data:r,deposit:a,vm_version:s,abi_version:o}}),{handler:Qi,state:{sign:t,resolve:e,reject:i}})))}))},callContract:function(e,t){let{amount:n,callData:r,contract:a,abiVersion:s}=e;return new Promise(((e,o)=>{xi(this,((e,t)=>t.handler===Ri),((i,c)=>(bi(i,{jsonrpc:"2.0",method:"channels.update.call_contract",params:{amount:n,call_data:r,contract_id:a,abi_version:s}}),{handler:Yi,state:{resolve:e,reject:o,sign:t}})))}))},callContractStatic:async function(e){let{amount:t,callData:n,contract:r,abiVersion:a}=e;return nc(await Ci(this,"channels.dry_run.call_contract",{amount:t,call_data:n,contract_id:r,abi_version:a}))},getContractCall:async function(e){let{caller:t,contract:n,round:r}=e;return nc(await Ci(this,"channels.get.contract_call",{caller_id:t,contract_id:n,round:r}))},getContractState:async function(e){const t=await Ci(this,"channels.get.contract",{pubkey:e});return nc({...t,contract:nc(t.contract)})},disconnect:function(){return Ei(this)},cleanContractCalls:function(){return new Promise(((e,t)=>{xi(this,((e,t)=>t.handler===Ri),((n,r)=>(bi(n,{jsonrpc:"2.0",method:"channels.clean_contract_calls",params:{}}),{handler:ec,state:{resolve:e,reject:t}})))}))},forceProgress:function(e,t){let{amount:n,callData:r,contract:a,abiVersion:s,gas:o=1e6,gasPrice:i=1e9,nonce:c}=e,{onOnChainTx:d}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((e,c)=>{xi(this,((e,t)=>t.handler===Ri),((l,u)=>(bi(l,{jsonrpc:"2.0",method:"channels.force_progress",params:{amount:n,call_data:r,contract_id:a,abi_version:s,gas_price:i,gas:o}}),{handler:Xi,state:{resolve:e,reject:c,sign:t,onOnChainTx:d}})))}))}},statics:{reconnect:async function(e,t){const{sign:n}=e;return rc({...e,reconnectTx:await n("reconnect",es(t,Nr.channelReconnect).tx)})}}}),ac=rc,sc=Ws.compose(co,Js,so,uo,go,Uo,bo),oc=bs()({init(e){let{pageConnection:t,extConnection:n,allowCrossOrigin:r=!1}=e;if(!window)throw new $("Window object not found, you can run bridge only in browser");if(!t)throw new M("pageConnection required");if(!n)throw new M("extConnection required");this.allowCrossOrigin=r,this.pageConnection=t,this.extConnection=n},methods:{run:function(){const e=this.allowCrossOrigin;this.extConnection.connect((e=>{this.pageConnection.sendMessage(e)})),this.pageConnection.connect(((t,n,r)=>{(e||r===window)&&this.extConnection.sendMessage(t)}))},stop:function(){this.extConnection.disconnect(),this.pageConnection.disconnect()}}}),ic=(0,xs.required)({methods:{connect:xs.required,disconnect:xs.required,sendMessage:xs.required,isConnected:xs.required}}),cc=()=>{const e="object"==typeof _o(!0).extension,t=window&&window.location&&window.location.protocol.startsWith("http");return e&&t?window:Oo()?window.parent:void 0},dc=bs()({init(){let{connectionInfo:e={},target:t=cc(),self:n=window,origin:r,sendDirection:a,receiveDirection:s=To.to_aepp,debug:o=!1,forceOrigin:i=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(a&&!Object.keys(To).includes(a))throw new Ze(`sendDirection must be one of [${Object.keys(To)}]`);if(!Object.keys(To).includes(s))throw new Ze(`receiveDirection must be one of [${Object.keys(To)}]`);this.connectionInfo={id:(0,qt.v4)(),...e};const c=n,d=t;this.origin=r,this.debug=o,this.forceOrigin=i,this.sendDirection=a,this.receiveDirection=s,this.subscribeFn=e=>c.addEventListener("message",e,!1),this.unsubscribeFn=e=>c.removeEventListener("message",e,!1),this.postFn=e=>d.postMessage(e,this.origin||"*")},methods:{connect:function(e){const t=this.origin,n=this.receiveDirection,r=this.debug,a=this.forceOrigin;if(this.listener)throw new Je("You already connected");this.listener=(s,o)=>{if(s&&"object"==typeof s.data&&(a||!t||t===s.origin))if(r&&console.log("Receive message: ",s),s.data.type){if(s.data.type!==n)return;e(s.data.data,s.origin,s.source)}else e(s.data,s.origin,s.source)},this.subscribeFn(this.listener)},sendMessage:function(e){const t=this.sendDirection?{type:this.sendDirection,data:e}:e;this.debug&&console.log("Send message: ",t),this.postFn(t)},disconnect:function(){if(!this.listener)throw new et("You dont have connection. Please connect before");this.unsubscribeFn(this.listener),this.listener=null},isConnected:function(){return this.listener}}},ic),lc=bs()({init(){let{connection:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!window)throw new $("Window object not found, you can run wallet detector only in browser");this.connection=e||dc({connectionInfo:{id:"spy"}}),this.wallets={}},methods:{scan(e){const{wallets:t}=this;this.connection.connect(((n,r,a)=>{let{method:s,params:o}=n;if(!s||!o||s!==Eo.readyToConnect||t[o.id])return;const i={...o,async getConnection(){const e="extension"===this.type,t=e?window.origin:this.origin;return dc({connectionInfo:this,sendDirection:e?To.to_waellet:void 0,receiveDirection:e?To.to_aepp:void 0,target:a,origin:t})}};t[i.id]=i,e({wallets:t,newWallet:i})})),Object.keys(t).length&&e({wallets:t})},stopScan(){this.connection.disconnect()}}}),uc=bs()({init(e){let{connectionInfo:t={},port:n,debug:r=!1}=e;if(!_o().runtime)throw new tt("Runtime is not accessible in your environment");this.debug=r,this.connectionInfo=t,this.port=n||_o().runtime.connect(t.id||void 0)},methods:{connect:function(e,t){if(this.isConnected())throw new Je("You already connected");this.handler=(t,n)=>{this.debug&&console.log("Receive message: ",t),e(t,n)},this.port.onMessage.addListener(this.handler),this.port.onDisconnect.addListener((()=>{"function"==typeof t&&t({},this),this.port.disconnect()}))},sendMessage:function(e){if(!this.port)throw new et("You dont have connection. Please connect before");this.debug&&console.log("Send message: ",e),this.port.postMessage(e)},disconnect:function(){try{this.port.disconnect()}catch(e){console.warning("From BrowserRuntimeConnection: ",e)}},isConnected:function(){return"function"==typeof this.port.onMessage.hasListeners?this.port.onMessage.hasListeners():this.port.onMessage.hasListener(this.handler)}}},ic),hc=Qn})(),T})()}));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("bignumber.js"),require("tweetnacl"),require("aes-js"),require("blakejs"),require("varuint-bitcoin"),require("bs58"),require("sha.js"),require("rlp"),require("@aeternity/uuid"),require("@aeternity/argon2-browser/dist/argon2-bundled.min.js"),require("tweetnacl-auth"),require("bip32-path"),require("@aeternity/aepp-calldata"),require("@azure/core-client"),require("@azure/core-rest-pipeline"),require("json-bigint"),require("websocket"),require("events")):"function"==typeof define&&define.amd?define(["bignumber.js","tweetnacl","aes-js","blakejs","varuint-bitcoin","bs58","sha.js","rlp","@aeternity/uuid","@aeternity/argon2-browser/dist/argon2-bundled.min.js","tweetnacl-auth","bip32-path","@aeternity/aepp-calldata","@azure/core-client","@azure/core-rest-pipeline","json-bigint","websocket","events"],t):"object"==typeof exports?exports.Ae=t(require("bignumber.js"),require("tweetnacl"),require("aes-js"),require("blakejs"),require("varuint-bitcoin"),require("bs58"),require("sha.js"),require("rlp"),require("@aeternity/uuid"),require("@aeternity/argon2-browser/dist/argon2-bundled.min.js"),require("tweetnacl-auth"),require("bip32-path"),require("@aeternity/aepp-calldata"),require("@azure/core-client"),require("@azure/core-rest-pipeline"),require("json-bigint"),require("websocket"),require("events")):e.Ae=t(e["bignumber.js"],e.tweetnacl,e["aes-js"],e.blakejs,e["varuint-bitcoin"],e.bs58,e["sha.js"],e.rlp,e["@aeternity/uuid"],e["@aeternity/argon2-browser/dist/argon2-bundled.min.js"],e["tweetnacl-auth"],e["bip32-path"],e["@aeternity/aepp-calldata"],e["@azure/core-client"],e["@azure/core-rest-pipeline"],e["json-bigint"],e.websocket,e.events)}(global,((e,t,r,n,a,i,s,o,c,l,d,u,p,m,h,y,g,f)=>(()=>{var N={8580:(e,t,r)=>{e.exports=r(3778)},4341:(e,t,r)=>{e.exports=r(3685)},754:e=>{e.exports=function(e,t){return t.get?t.get.call(e):t.value},e.exports.__esModule=!0,e.exports.default=e.exports},2710:e=>{e.exports=function(e,t,r){if(t.set)t.set.call(e,r);else{if(!t.writable)throw new TypeError("attempted to set read only private field");t.value=r}},e.exports.__esModule=!0,e.exports.default=e.exports},508:e=>{e.exports=function(e,t,r){if(!t.has(e))throw new TypeError("attempted to "+r+" private field on non-instance");return t.get(e)},e.exports.__esModule=!0,e.exports.default=e.exports},6337:(e,t,r)=>{var n=r(754),a=r(508);e.exports=function(e,t){var r=a(e,t,"get");return n(e,r)},e.exports.__esModule=!0,e.exports.default=e.exports},6045:(e,t,r)=>{var n=r(2710),a=r(508);e.exports=function(e,t,r){var i=a(e,t,"set");return n(e,i,r),r},e.exports.__esModule=!0,e.exports.default=e.exports},7672:(e,t,r)=>{var n=r(4341);e.exports=function(e,t,r){return t in e?n(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e.exports.__esModule=!0,e.exports.default=e.exports},3536:(e,t,r)=>{var n=r(1910);e.exports=n},991:(e,t,r)=>{r(7690);var n=r(5703);e.exports=n("Array").includes},8557:(e,t,r)=>{var n=r(7046),a=r(991),i=r(1631),s=Array.prototype,o=String.prototype;e.exports=function(e){var t=e.includes;return e===s||n(s,e)&&t===s.includes?a:"string"==typeof e||e===o||n(o,e)&&t===o.includes?i:t}},8171:(e,t,r)=>{r(6450);var n=r(4058).Object,a=e.exports=function(e,t,r){return n.defineProperty(e,t,r)};n.defineProperty.sham&&(a.sham=!0)},1631:(e,t,r)=>{r(1035);var n=r(5703);e.exports=n("String").includes},3685:(e,t,r)=>{var n=r(3536);e.exports=n},4883:(e,t,r)=>{var n=r(1899),a=r(7475),i=r(9826),s=n.TypeError;e.exports=function(e){if(a(e))return e;throw s(i(e)+" is not a function")}},8479:e=>{e.exports=function(){}},6059:(e,t,r)=>{var n=r(1899),a=r(941),i=n.String,s=n.TypeError;e.exports=function(e){if(a(e))return e;throw s(i(e)+" is not an object")}},1692:(e,t,r)=>{var n=r(4529),a=r(9413),i=r(623),s=function(e){return function(t,r,s){var o,c=n(t),l=i(c),d=a(s,l);if(e&&r!=r){for(;l>d;)if((o=c[d++])!=o)return!0}else for(;l>d;d++)if((e||d in c)&&c[d]===r)return e||d||0;return!e&&-1}};e.exports={includes:s(!0),indexOf:s(!1)}},2532:(e,t,r)=>{var n=r(5329),a=n({}.toString),i=n("".slice);e.exports=function(e){return i(a(e),8,-1)}},9697:(e,t,r)=>{var n=r(1899),a=r(2885),i=r(7475),s=r(2532),o=r(9813)("toStringTag"),c=n.Object,l="Arguments"==s(function(){return arguments}());e.exports=a?s:function(e){var t,r,n;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=function(e,t){try{return e[t]}catch(e){}}(t=c(e),o))?r:l?s(t):"Object"==(n=s(t))&&i(t.callee)?"Arguments":n}},7772:(e,t,r)=>{var n=r(9813)("match");e.exports=function(e){var t=/./;try{"/./"[e](t)}catch(r){try{return t[n]=!1,"/./"[e](t)}catch(e){}}return!1}},2029:(e,t,r)=>{var n=r(5746),a=r(5988),i=r(1887);e.exports=n?function(e,t,r){return a.f(e,t,i(1,r))}:function(e,t,r){return e[t]=r,e}},1887:e=>{e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},5746:(e,t,r)=>{var n=r(5981);e.exports=!n((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},1333:(e,t,r)=>{var n=r(1899),a=r(941),i=n.document,s=a(i)&&a(i.createElement);e.exports=function(e){return s?i.createElement(e):{}}},2861:(e,t,r)=>{var n=r(626);e.exports=n("navigator","userAgent")||""},3385:(e,t,r)=>{var n,a,i=r(1899),s=r(2861),o=i.process,c=i.Deno,l=o&&o.versions||c&&c.version,d=l&&l.v8;d&&(a=(n=d.split("."))[0]>0&&n[0]<4?1:+(n[0]+n[1])),!a&&s&&(!(n=s.match(/Edge\/(\d+)/))||n[1]>=74)&&(n=s.match(/Chrome\/(\d+)/))&&(a=+n[1]),e.exports=a},5703:(e,t,r)=>{var n=r(4058);e.exports=function(e){return n[e+"Prototype"]}},6887:(e,t,r)=>{"use strict";var n=r(1899),a=r(9730),i=r(5329),s=r(7475),o=r(9677).f,c=r(7252),l=r(4058),d=r(6843),u=r(2029),p=r(953),m=function(e){var t=function(r,n,i){if(this instanceof t){switch(arguments.length){case 0:return new e;case 1:return new e(r);case 2:return new e(r,n)}return new e(r,n,i)}return a(e,this,arguments)};return t.prototype=e.prototype,t};e.exports=function(e,t){var r,a,h,y,g,f,N,w,b=e.target,v=e.global,S=e.stat,C=e.proto,x=v?n:S?n[b]:(n[b]||{}).prototype,z=v?l:l[b]||u(l,b,{})[b],_=z.prototype;for(h in t)r=!c(v?h:b+(S?".":"#")+h,e.forced)&&x&&p(x,h),g=z[h],r&&(f=e.noTargetGet?(w=o(x,h))&&w.value:x[h]),y=r&&f?f:t[h],r&&typeof g==typeof y||(N=e.bind&&r?d(y,n):e.wrap&&r?m(y):C&&s(y)?i(y):y,(e.sham||y&&y.sham||g&&g.sham)&&u(N,"sham",!0),u(z,h,N),C&&(p(l,a=b+"Prototype")||u(l,a,{}),u(l[a],h,y),e.real&&_&&!_[h]&&u(_,h,y)))}},5981:e=>{e.exports=function(e){try{return!!e()}catch(e){return!0}}},9730:(e,t,r)=>{var n=r(8285),a=Function.prototype,i=a.apply,s=a.call;e.exports="object"==typeof Reflect&&Reflect.apply||(n?s.bind(i):function(){return s.apply(i,arguments)})},6843:(e,t,r)=>{var n=r(5329),a=r(4883),i=r(8285),s=n(n.bind);e.exports=function(e,t){return a(e),void 0===t?e:i?s(e,t):function(){return e.apply(t,arguments)}}},8285:(e,t,r)=>{var n=r(5981);e.exports=!n((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")}))},8834:(e,t,r)=>{var n=r(8285),a=Function.prototype.call;e.exports=n?a.bind(a):function(){return a.apply(a,arguments)}},5329:(e,t,r)=>{var n=r(8285),a=Function.prototype,i=a.bind,s=a.call,o=n&&i.bind(s,s);e.exports=n?function(e){return e&&o(e)}:function(e){return e&&function(){return s.apply(e,arguments)}}},626:(e,t,r)=>{var n=r(4058),a=r(1899),i=r(7475),s=function(e){return i(e)?e:void 0};e.exports=function(e,t){return arguments.length<2?s(n[e])||s(a[e]):n[e]&&n[e][t]||a[e]&&a[e][t]}},4229:(e,t,r)=>{var n=r(4883);e.exports=function(e,t){var r=e[t];return null==r?void 0:n(r)}},1899:e=>{var t=function(e){return e&&e.Math==Math&&e};e.exports=t("object"==typeof globalThis&&globalThis)||t("object"==typeof window&&window)||t("object"==typeof self&&self)||t("object"==typeof global&&global)||function(){return this}()||Function("return this")()},953:(e,t,r)=>{var n=r(5329),a=r(9678),i=n({}.hasOwnProperty);e.exports=Object.hasOwn||function(e,t){return i(a(e),t)}},2840:(e,t,r)=>{var n=r(5746),a=r(5981),i=r(1333);e.exports=!n&&!a((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},7026:(e,t,r)=>{var n=r(1899),a=r(5329),i=r(5981),s=r(2532),o=n.Object,c=a("".split);e.exports=i((function(){return!o("z").propertyIsEnumerable(0)}))?function(e){return"String"==s(e)?c(e,""):o(e)}:o},7475:e=>{e.exports=function(e){return"function"==typeof e}},7252:(e,t,r)=>{var n=r(5981),a=r(7475),i=/#|\.prototype\./,s=function(e,t){var r=c[o(e)];return r==d||r!=l&&(a(t)?n(t):!!t)},o=s.normalize=function(e){return String(e).replace(i,".").toLowerCase()},c=s.data={},l=s.NATIVE="N",d=s.POLYFILL="P";e.exports=s},941:(e,t,r)=>{var n=r(7475);e.exports=function(e){return"object"==typeof e?null!==e:n(e)}},2529:e=>{e.exports=!0},685:(e,t,r)=>{var n=r(941),a=r(2532),i=r(9813)("match");e.exports=function(e){var t;return n(e)&&(void 0!==(t=e[i])?!!t:"RegExp"==a(e))}},6664:(e,t,r)=>{var n=r(1899),a=r(626),i=r(7475),s=r(7046),o=r(2302),c=n.Object;e.exports=o?function(e){return"symbol"==typeof e}:function(e){var t=a("Symbol");return i(t)&&s(t.prototype,c(e))}},623:(e,t,r)=>{var n=r(3057);e.exports=function(e){return n(e.length)}},2497:(e,t,r)=>{var n=r(3385),a=r(5981);e.exports=!!Object.getOwnPropertySymbols&&!a((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&n&&n<41}))},344:(e,t,r)=>{var n=r(1899),a=r(685),i=n.TypeError;e.exports=function(e){if(a(e))throw i("The method doesn't accept regular expressions");return e}},5988:(e,t,r)=>{var n=r(1899),a=r(5746),i=r(2840),s=r(3937),o=r(6059),c=r(3894),l=n.TypeError,d=Object.defineProperty,u=Object.getOwnPropertyDescriptor;t.f=a?s?function(e,t,r){if(o(e),t=c(t),o(r),"function"==typeof e&&"prototype"===t&&"value"in r&&"writable"in r&&!r.writable){var n=u(e,t);n&&n.writable&&(e[t]=r.value,r={configurable:"configurable"in r?r.configurable:n.configurable,enumerable:"enumerable"in r?r.enumerable:n.enumerable,writable:!1})}return d(e,t,r)}:d:function(e,t,r){if(o(e),t=c(t),o(r),i)try{return d(e,t,r)}catch(e){}if("get"in r||"set"in r)throw l("Accessors not supported");return"value"in r&&(e[t]=r.value),e}},9677:(e,t,r)=>{var n=r(5746),a=r(8834),i=r(6760),s=r(1887),o=r(4529),c=r(3894),l=r(953),d=r(2840),u=Object.getOwnPropertyDescriptor;t.f=n?u:function(e,t){if(e=o(e),t=c(t),d)try{return u(e,t)}catch(e){}if(l(e,t))return s(!a(i.f,e,t),e[t])}},7046:(e,t,r)=>{var n=r(5329);e.exports=n({}.isPrototypeOf)},6760:(e,t)=>{"use strict";var r={}.propertyIsEnumerable,n=Object.getOwnPropertyDescriptor,a=n&&!r.call({1:2},1);t.f=a?function(e){var t=n(this,e);return!!t&&t.enumerable}:r},9811:(e,t,r)=>{var n=r(1899),a=r(8834),i=r(7475),s=r(941),o=n.TypeError;e.exports=function(e,t){var r,n;if("string"===t&&i(r=e.toString)&&!s(n=a(r,e)))return n;if(i(r=e.valueOf)&&!s(n=a(r,e)))return n;if("string"!==t&&i(r=e.toString)&&!s(n=a(r,e)))return n;throw o("Can't convert object to primitive value")}},4058:e=>{e.exports={}},8219:(e,t,r)=>{var n=r(1899).TypeError;e.exports=function(e){if(null==e)throw n("Can't call method on "+e);return e}},4911:(e,t,r)=>{var n=r(1899),a=Object.defineProperty;e.exports=function(e,t){try{a(n,e,{value:t,configurable:!0,writable:!0})}catch(r){n[e]=t}return t}},3030:(e,t,r)=>{var n=r(1899),a=r(4911),i="__core-js_shared__",s=n[i]||a(i,{});e.exports=s},8726:(e,t,r)=>{var n=r(2529),a=r(3030);(e.exports=function(e,t){return a[e]||(a[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.20.3",mode:n?"pure":"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.20.3/LICENSE",source:"https://github.com/zloirock/core-js"})},9413:(e,t,r)=>{var n=r(2435),a=Math.max,i=Math.min;e.exports=function(e,t){var r=n(e);return r<0?a(r+t,0):i(r,t)}},4529:(e,t,r)=>{var n=r(7026),a=r(8219);e.exports=function(e){return n(a(e))}},2435:e=>{var t=Math.ceil,r=Math.floor;e.exports=function(e){var n=+e;return n!=n||0===n?0:(n>0?r:t)(n)}},3057:(e,t,r)=>{var n=r(2435),a=Math.min;e.exports=function(e){return e>0?a(n(e),9007199254740991):0}},9678:(e,t,r)=>{var n=r(1899),a=r(8219),i=n.Object;e.exports=function(e){return i(a(e))}},6935:(e,t,r)=>{var n=r(1899),a=r(8834),i=r(941),s=r(6664),o=r(4229),c=r(9811),l=r(9813),d=n.TypeError,u=l("toPrimitive");e.exports=function(e,t){if(!i(e)||s(e))return e;var r,n=o(e,u);if(n){if(void 0===t&&(t="default"),r=a(n,e,t),!i(r)||s(r))return r;throw d("Can't convert object to primitive value")}return void 0===t&&(t="number"),c(e,t)}},3894:(e,t,r)=>{var n=r(6935),a=r(6664);e.exports=function(e){var t=n(e,"string");return a(t)?t:t+""}},2885:(e,t,r)=>{var n={};n[r(9813)("toStringTag")]="z",e.exports="[object z]"===String(n)},5803:(e,t,r)=>{var n=r(1899),a=r(9697),i=n.String;e.exports=function(e){if("Symbol"===a(e))throw TypeError("Cannot convert a Symbol value to a string");return i(e)}},9826:(e,t,r)=>{var n=r(1899).String;e.exports=function(e){try{return n(e)}catch(e){return"Object"}}},9418:(e,t,r)=>{var n=r(5329),a=0,i=Math.random(),s=n(1..toString);e.exports=function(e){return"Symbol("+(void 0===e?"":e)+")_"+s(++a+i,36)}},2302:(e,t,r)=>{var n=r(2497);e.exports=n&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},3937:(e,t,r)=>{var n=r(5746),a=r(5981);e.exports=n&&a((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},9813:(e,t,r)=>{var n=r(1899),a=r(8726),i=r(953),s=r(9418),o=r(2497),c=r(2302),l=a("wks"),d=n.Symbol,u=d&&d.for,p=c?d:d&&d.withoutSetter||s;e.exports=function(e){if(!i(l,e)||!o&&"string"!=typeof l[e]){var t="Symbol."+e;o&&i(d,e)?l[e]=d[e]:l[e]=c&&u?u(t):p(t)}return l[e]}},7690:(e,t,r)=>{"use strict";var n=r(6887),a=r(1692).includes,i=r(8479);n({target:"Array",proto:!0},{includes:function(e){return a(this,e,arguments.length>1?arguments[1]:void 0)}}),i("includes")},6450:(e,t,r)=>{var n=r(6887),a=r(5746),i=r(5988).f;n({target:"Object",stat:!0,forced:Object.defineProperty!==i,sham:!a},{defineProperty:i})},1035:(e,t,r)=>{"use strict";var n=r(6887),a=r(5329),i=r(344),s=r(8219),o=r(5803),c=r(7772),l=a("".indexOf);n({target:"String",proto:!0,forced:!c("includes")},{includes:function(e){return!!~l(o(s(this)),o(i(e)),arguments.length>1?arguments[1]:void 0)}})},3778:(e,t,r)=>{var n=r(8557);e.exports=n},1910:(e,t,r)=>{var n=r(8171);e.exports=n},7946:e=>{"use strict";e.exports=p},7289:e=>{"use strict";e.exports=l},3983:e=>{"use strict";e.exports=c},4711:e=>{"use strict";e.exports=m},5039:e=>{"use strict";e.exports=h},8236:e=>{"use strict";e.exports=r},5192:t=>{"use strict";t.exports=e},1986:e=>{"use strict";e.exports=u},1246:e=>{"use strict";e.exports=n},3783:e=>{"use strict";e.exports=i},3735:e=>{"use strict";e.exports=f},2716:e=>{"use strict";e.exports=y},3485:e=>{"use strict";e.exports=o},5433:e=>{"use strict";e.exports=s},79:e=>{"use strict";e.exports=t},9882:e=>{"use strict";e.exports=d},7480:e=>{"use strict";e.exports=a},8079:e=>{"use strict";e.exports=g}},w={};function b(e){var t=w[e];if(void 0!==t)return t.exports;var r=w[e]={exports:{}};return N[e](r,r.exports,b),r.exports}b.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return b.d(t,{a:t}),t},b.d=(e,t)=>{for(var r in t)b.o(t,r)&&!b.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},b.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),b.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var v={};return(()=>{"use strict";b.r(v),b.d(v,{ABI_VERSIONS:()=>Rr,AE_AMOUNT_FORMATS:()=>Fe,AMOUNT:()=>Er,AccountBase:()=>wo,AccountError:()=>y,AeSdk:()=>zc,AeSdkAepp:()=>cl,AeSdkBase:()=>xc,AeSdkWallet:()=>ml,AensError:()=>g,AensPointerContextError:()=>$,AeppError:()=>f,AlreadyConnectedError:()=>je,AmbiguousEventDefinitionError:()=>ye,ArgumentCountMismatchError:()=>P,ArgumentError:()=>T,BaseError:()=>h,BrowserRuntimeConnection:()=>Pd,BrowserWindowMessageConnection:()=>Td,BytecodeMismatchError:()=>ae,CLIENT_TTL:()=>Ut,Channel:()=>bd,ChannelCallError:()=>J,ChannelConnectionError:()=>Z,ChannelError:()=>N,ChannelPingTimedOutError:()=>ee,Compiler:()=>Nc,CompilerError:()=>w,ContractError:()=>S,CryptographyError:()=>C,DRY_RUN_ACCOUNT:()=>Ar,DecodeError:()=>xe,DerivationError:()=>Hn,DryRunError:()=>_e,DuplicateContractError:()=>ie,DuplicateNodeError:()=>Se,FIELD_TYPES:()=>Dr,GAS_MAX:()=>Ir,ID_TAG:()=>Jt,ID_TAG_PREFIX:()=>er,IllegalArgumentError:()=>q,IllegalBidFeeError:()=>Te,InactiveContractError:()=>se,InsufficientBalanceError:()=>E,InsufficientNameFeeError:()=>L,InternalError:()=>V,InvalidAensNameError:()=>G,InvalidAuthDataError:()=>ne,InvalidChecksumError:()=>ge,InvalidKeypairError:()=>H,InvalidMethodInvocationError:()=>oe,InvalidPasswordError:()=>fe,InvalidRpcMessageError:()=>K,InvalidSignatureError:()=>qe,InvalidTxError:()=>Pe,InvalidTxParamsError:()=>Ee,MAX_AUTH_FUN_GAS:()=>kr,MESSAGE_DIRECTION:()=>_c,METHODS:()=>Pc,MIN_GAS_PRICE:()=>$t,MemoryAccount:()=>vo,MerkleTreeHashMismatchError:()=>Ne,MissingCallbackError:()=>W,MissingContractAddressError:()=>ce,MissingContractDefError:()=>le,MissingEventDefinitionError:()=>he,MissingFunctionNameError:()=>de,MissingNodeInTreeError:()=>we,MissingParamError:()=>I,NAME_BID_MAX_LENGTH:()=>Qt,NAME_BID_RANGES:()=>Xt,NAME_BID_TIMEOUT_BLOCKS:()=>Kt,NAME_FEE_BID_INCREMENT:()=>Gt,NAME_FEE_MULTIPLIER:()=>Lt,NAME_MAX_CLIENT_TTL:()=>Ht,NAME_MAX_LENGTH_FEE:()=>Wt,NAME_MAX_TTL:()=>Ft,NAME_TTL:()=>Vt,NoSerializerFoundError:()=>k,NoSuchContractFunctionError:()=>pe,NoWalletConnectedError:()=>De,Node:()=>yo,NodeError:()=>x,NodeInvocationError:()=>ue,NodeNotFoundError:()=>Ce,NotImplementedError:()=>j,NotPayableFunctionError:()=>me,ORACLE_TTL:()=>Tr,ORACLE_TTL_TYPES:()=>xr,POINTER_KEY_BY_PREFIX:()=>Yt,PREFIX_ID_TAG:()=>Zt,PROTOCOL_VERSIONS:()=>Br,PROTOCOL_VM_ABI:()=>jr,PayloadLengthError:()=>ze,PrefixNotFoundError:()=>Ie,QUERY_FEE:()=>_r,QUERY_TTL:()=>qr,RESPONSE_TTL:()=>Pr,RPC_STATUS:()=>Ec,RequestTimedOutError:()=>A,RpcBroadcastError:()=>Ac,RpcConnectionDenyError:()=>Rc,RpcConnectionError:()=>Ve,RpcError:()=>Ic,RpcInternalError:()=>Dc,RpcInvalidTransactionError:()=>kc,RpcMethodNotFoundError:()=>Vc,RpcNotAuthorizeError:()=>Bc,RpcPermissionDenyError:()=>jc,RpcRejectedByUserError:()=>Oc,RpcUnsupportedProtocolError:()=>Mc,SUBSCRIPTION_TYPES:()=>qc,SchemaNotFoundError:()=>ke,TX_SCHEMA:()=>Fr,TX_TTL:()=>zr,TX_TYPE:()=>Or,TagNotFoundError:()=>Ae,TransactionError:()=>z,TxNotInChainError:()=>Oe,TxTimedOutError:()=>O,TypeError:()=>M,UnAuthorizedAccountError:()=>Q,UnavailableAccountError:()=>U,UnexpectedChannelMessageError:()=>te,UnexpectedTsError:()=>F,UnknownChannelStateError:()=>re,UnknownNodeLengthError:()=>be,UnknownPathNibbleError:()=>ve,UnknownRpcClientError:()=>Y,UnknownTxError:()=>Me,UnsubscribedAccountError:()=>X,UnsupportedABIversionError:()=>Re,UnsupportedPlatformError:()=>R,UnsupportedProtocolError:()=>B,UnsupportedVMversionError:()=>Be,UnsupportedVersionError:()=>D,VM_VERSIONS:()=>Mr,WALLET_TYPE:()=>Tc,WalletError:()=>_,_buildTx:()=>Bn,_getPollInterval:()=>cn,aensBid:()=>fa,aensClaim:()=>ya,aensPreclaim:()=>ga,aensQuery:()=>ha,aensRevoke:()=>ua,aensTransfer:()=>ma,aensUpdate:()=>pa,awaitHeight:()=>hn,bigNumberToByteArray:()=>Ze,buildAuthTxHash:()=>ia,buildContractId:()=>rr,buildContractIdByContractTx:()=>en,buildPointers:()=>ur,buildTx:()=>Xr,buildTxHash:()=>Zr,bytesToHex:()=>rt,calculateMinFee:()=>nn,commitmentHash:()=>sr,computeAuctionEndBlock:()=>Nr,computeBidFee:()=>fr,connectionProxy:()=>vd,createAensDelegationSignature:()=>wa,createGeneralizedAccount:()=>na,createMetaTx:()=>aa,createOracleDelegationSignature:()=>ba,createSalt:()=>tr,decode:()=>vt,decryptKey:()=>At,deriveChild:()=>Yn,derivePathFromKey:()=>Ln,derivePathFromSeed:()=>Gn,dump:()=>Rn,encode:()=>St,encodeContractAddress:()=>Pt,encodeUnsigned:()=>Tt,encryptKey:()=>kt,extendOracleTtl:()=>Ta,formatAmount:()=>Le,formatSalt:()=>ar,generateKeyPair:()=>It,generateKeyPairFromSecret:()=>Et,generateSaveHDWalletFromSeed:()=>Xn,getAccount:()=>un,getAddressFromPriv:()=>xt,getBalance:()=>pn,getContract:()=>zn,getContractByteCode:()=>xn,getContractInstance:()=>ta,getCurrentGeneration:()=>gn,getDefaultPointerKey:()=>yr,getGeneration:()=>fn,getHdWalletAccountFromSeed:()=>Zn,getKeyBlock:()=>wn,getKeyPair:()=>Wn,getMasterKeyFromSeed:()=>Qn,getMicroBlockHeader:()=>bn,getMicroBlockTransactions:()=>Nn,getMinimumNameFee:()=>gr,getName:()=>_n,getOracleObject:()=>va,getQueryObject:()=>Ca,getSaveHDWalletAccounts:()=>Jn,getVmVersion:()=>jn,hash:()=>qt,height:()=>mn,hexToBytes:()=>nt,isAddressValid:()=>zt,isAuctionName:()=>wr,isGA:()=>ra,isNameValid:()=>hr,isValidKeypair:()=>Dt,messageToHash:()=>Rt,oracleQueryId:()=>nr,payForTransaction:()=>da,poll:()=>yn,pollForQueries:()=>Sa,pollForQueryResponse:()=>xa,postQueryToOracle:()=>_a,prepareTxParams:()=>Dn,produceNameId:()=>ir,readId:()=>cr,readInt:()=>dr,readPointers:()=>pr,recover:()=>Mn,registerOracle:()=>za,resolveName:()=>Tn,respondToQuery:()=>qa,salt:()=>_t,send:()=>sa,sendTransaction:()=>ln,sha256hash:()=>dt,sign:()=>Ot,signMessage:()=>Bt,signUsingGA:()=>oa,spend:()=>ca,str2buf:()=>tt,toAe:()=>Ue,toAettos:()=>$e,toBytes:()=>et,transferFunds:()=>la,txDryRun:()=>Cn,unpackRawTx:()=>Yr,unpackTx:()=>Jr,validateParams:()=>Qr,verify:()=>Mt,verifyMessage:()=>jt,verifyTransaction:()=>on,waitForTxConfirm:()=>dn,walletDetector:()=>qd,writeId:()=>or,writeInt:()=>lr});var e={};b.r(e),b.d(e,{_getPollInterval:()=>cn,awaitHeight:()=>hn,getAccount:()=>un,getBalance:()=>pn,getContract:()=>zn,getContractByteCode:()=>xn,getCurrentGeneration:()=>gn,getGeneration:()=>fn,getKeyBlock:()=>wn,getMicroBlockHeader:()=>bn,getMicroBlockTransactions:()=>Nn,getName:()=>_n,height:()=>mn,poll:()=>yn,resolveName:()=>Tn,sendTransaction:()=>ln,txDryRun:()=>Cn,waitForTxConfirm:()=>dn});var t={};b.r(t),b.d(t,{_buildTx:()=>Bn,getVmVersion:()=>jn,prepareTxParams:()=>Dn});var r={};b.r(r),b.d(r,{buildAuthTxHash:()=>ia,createGeneralizedAccount:()=>na,createMetaTx:()=>aa,isGA:()=>ra});var n={};b.r(n),b.d(n,{payForTransaction:()=>da,send:()=>sa,signUsingGA:()=>oa,spend:()=>ca,transferFunds:()=>la});var a={};b.r(a),b.d(a,{aensBid:()=>fa,aensClaim:()=>ya,aensPreclaim:()=>ga,aensQuery:()=>ha,aensRevoke:()=>ua,aensTransfer:()=>ma,aensUpdate:()=>pa});var i={};b.r(i),b.d(i,{createAensDelegationSignature:()=>wa,createOracleDelegationSignature:()=>ba,getContractInstance:()=>ta});var s={};b.r(s),b.d(s,{extendOracleTtl:()=>Ta,getOracleObject:()=>va,getQueryObject:()=>Ca,pollForQueries:()=>Sa,pollForQueryResponse:()=>xa,postQueryToOracle:()=>_a,registerOracle:()=>za,respondToQuery:()=>qa});var o={};b.r(o),b.d(o,{Account:()=>Za,ByteCode:()=>yi,Channel:()=>vi,ChannelCloseMutualTx:()=>Hi,ChannelCloseSoloTx:()=>Ui,ChannelCreateTx:()=>ji,ChannelDepositTx:()=>Di,ChannelForceProgressTx:()=>Fi,ChannelSetDelegatesTx:()=>Ki,ChannelSettleTx:()=>Li,ChannelSlashTx:()=>$i,ChannelSnapshotSoloTx:()=>Gi,ChannelWithdrawTx:()=>Vi,CheckTxInPoolResponse:()=>os,CommitmentId:()=>Ri,ContractCallObject:()=>ci,ContractCallTx:()=>ts,ContractCreateTx:()=>es,ContractObject:()=>hi,CountResponse:()=>Xa,CreateContractUnsignedTx:()=>ms,Delegates:()=>Ga,DryRunAccount:()=>ri,DryRunCallContext:()=>ii,DryRunCallReq:()=>ai,DryRunInput:()=>ti,DryRunInputItem:()=>ni,DryRunResult:()=>oi,DryRunResults:()=>si,EncodedTx:()=>pi,ErrorModel:()=>ja,Event:()=>li,GAAttachTx:()=>as,GAMetaTx:()=>is,GAObject:()=>ui,Generation:()=>Ja,HashResponse:()=>Va,Header:()=>Ba,HeightResponse:()=>Fa,KeyBlock:()=>Da,MicroBlockHeader:()=>Ha,NameClaimTx:()=>ki,NameEntry:()=>bi,NameHash:()=>Bi,NamePointer:()=>Ya,NamePreclaimTx:()=>Ii,NameRevokeTx:()=>Mi,NameTransferTx:()=>Oi,NameUpdateTx:()=>Ai,NextNonceResponse:()=>ei,OffChainCallContract:()=>ps,OffChainDeposit:()=>ds,OffChainNewContract:()=>us,OffChainTransfer:()=>cs,OffChainUpdate:()=>Ka,OffChainWithdrawal:()=>ls,OracleExtendTx:()=>qi,OracleQueries:()=>Ni,OracleQuery:()=>wi,OracleQueryTx:()=>Pi,OracleRegisterTx:()=>Ti,OracleRespondTx:()=>Ei,PayingForTx:()=>ss,PeerConnections:()=>zi,PeerCount:()=>Xi,PeerCountAvailable:()=>Zi,PeerCountConnected:()=>Ji,PeerDetails:()=>Qi,PeerPubKey:()=>Si,Peers:()=>Yi,PoI:()=>gi,PostTxResponse:()=>mi,Protocol:()=>xi,PubKey:()=>Wi,RegisteredOracle:()=>fi,RelativeTTL:()=>Wa,SignedTx:()=>$a,SignedTxs:()=>Ua,SpendTx:()=>_i,Status:()=>Ci,TokenSupply:()=>ns,Ttl:()=>Qa,Tx:()=>La,TxInfoObject:()=>di,UnsignedTx:()=>rs,discriminators:()=>hs});var c={};b.r(c),b.d(c,{APIVersion:()=>qo,Aci:()=>xo,ByteCode:()=>Po,ByteCodeInput:()=>Eo,BytecodeCallResultInput:()=>Ao,Calldata:()=>Fo,CompileOpts:()=>Co,CompilerError:()=>zo,CompilerVersion:()=>Io,Contract:()=>So,DecodeCalldataBytecode:()=>Mo,DecodeCalldataSource:()=>Bo,DecodedCalldata:()=>Ro,DecodedCallresult:()=>Oo,ErrorModel:()=>To,ErrorPos:()=>_o,FateAssembler:()=>Ho,FunctionCallInput:()=>Vo,SophiaBinaryData:()=>jo,SophiaCallResultInput:()=>ko,SophiaJsonData:()=>Do,ValidateByteCodeInput:()=>Uo});var l=b(5192),d=b.n(l),u=b(8580),p=b.n(u);const m=e=>e.integerValue(d().ROUND_CEIL);class h extends Error{constructor(e){super(e),this.name="BaseError"}}class y extends h{constructor(e){super(e),this.name="AccountError"}}class g extends h{constructor(e){super(e),this.name="AensError"}}class f extends h{constructor(e){super(e),this.name="AeppError"}}class N extends h{constructor(e){super(e),this.name="ChannelError"}}class w extends h{constructor(e){super(e),this.name="CompilerError"}}class S extends h{constructor(e){super(e),this.name="ContractError"}}class C extends h{constructor(e){super(e),this.name="CryptographyError"}}class x extends h{constructor(e){super(e),this.name="NodeError"}}class z extends h{constructor(e){super(e),this.name="TransactionError"}}class _ extends h{constructor(e){super(e),this.name="WalletError"}}class T extends h{constructor(e,t,r){super(`${e} should be ${t}, got ${String(r)} instead`),this.name="ArgumentError"}}class q extends C{constructor(e){super(e),this.name="IllegalArgumentError"}}class P extends h{constructor(e,t,r){super(`${e} expects ${t} arguments, got ${r} instead`),this.name="ArgumentCountMismatchError"}}class E extends h{constructor(e){super(e),this.name="InsufficientBalanceError"}}class I extends h{constructor(e){super(e),this.name="MissingParamError"}}class k extends h{constructor(){super("Byte serialization not supported"),this.name="NoSerializerFoundError"}}class A extends h{constructor(e,t,r){super(void 0!==t&&void 0!==r?`Giving up after ${e}ms, current height: ${t}, desired height: ${r}`:`Giving up after ${e} ms`),this.name="RequestTimedOutError"}}class O extends h{constructor(e,t){super([`Giving up after ${e} blocks mined`,`transaction hash: ${t}`].join(", ")),this.name="TxTimedOutError"}}class M extends h{constructor(e){super(e),this.name="TypeError"}}class R extends h{constructor(e){super(e),this.name="UnsupportedPlatformError"}}class B extends h{constructor(e){super(e),this.name="UnsupportedProtocolError"}}class j extends h{constructor(e){super(e),this.name="NotImplementedError"}}class D extends h{constructor(e,t,r,n){super(`Unsupported ${e} version ${t}. Supported: >= ${r} < ${n}`),this.name="UnsupportedVersionError"}}class V extends h{constructor(e){super(e),this.name="InternalError"}}class F extends V{constructor(){super(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Expected to not happen, required for TS"),this.name="UnexpectedTsError"}}class H extends y{constructor(e){super(e),this.name="InvalidKeypairError"}}class U extends y{constructor(e){super(`Account for ${e} not available`),this.name="UnavailableAccountError"}}class $ extends g{constructor(e,t){super(`Name ${e} don't have pointers for ${t}`),this.name="AensPointerContextError"}}class L extends g{constructor(e,t){super(`the provided fee ${e.toString()} is not enough to execute the claim, required: ${t.toString()}`),this.name="InsufficientNameFeeError"}}class G extends g{constructor(e){super(e),this.name="InvalidAensNameError"}}class K extends f{constructor(e){super(`Received invalid message: ${e}`),this.name="InvalidRpcMessageError"}}class W extends f{constructor(e){super(`Can't find callback for this messageId ${e}`),this.name="MissingCallbackError"}}class Q extends f{constructor(e){super(`You do not have access to account ${e}`),this.name="UnAuthorizedAccountError"}}class Y extends f{constructor(e){super(`RpcClient with id ${e} do not exist`),this.name="UnknownRpcClientError"}}class X extends f{constructor(){super("You are not subscribed for an account."),this.name="UnsubscribedAccountError"}}class J extends N{constructor(e){super(e),this.name="ChannelCallError"}}class Z extends N{constructor(e){super(e),this.name="ChannelConnectionError"}}class ee extends N{constructor(){super("Server pong timed out"),this.name="ChannelPingTimedOutError"}}class te extends N{constructor(e){super(e),this.name="UnexpectedChannelMessageError"}}class re extends N{constructor(){super("State Channels FSM entered unknown state"),this.name="UnknownChannelStateError"}}class ne extends w{constructor(e){super(e),this.name="InvalidAuthDataError"}}class ae extends S{constructor(e){super(`Contract ${e} do not correspond to the bytecode deployed on the chain`),this.name="BytecodeMismatchError"}}class ie extends S{constructor(){super("Contract already deployed"),this.name="DuplicateContractError"}}class se extends S{constructor(e){super(`Contract with address ${e} not active`),this.name="InactiveContractError"}}class oe extends S{constructor(e){super(e),this.name="InvalidMethodInvocationError"}}class ce extends S{constructor(e){super(e),this.name="MissingContractAddressError"}}class le extends S{constructor(){super("Either ACI or source code is required"),this.name="MissingContractDefError"}}class de extends S{constructor(){super("Function name is required"),this.name="MissingFunctionNameError"}}class ue extends S{constructor(e,t){super("Invocation failed"+(null==e?"":`: "${e}"`)),this.name="NodeInvocationError",this.transaction=t}}class pe extends S{constructor(e){super(`Function ${e} doesn't exist in contract`),this.name="NoSuchContractFunctionError"}}class me extends S{constructor(e,t){super(`You try to pay "${e}" to function "${t}" which is not payable. Only payable function can accept coins`),this.name="NotPayableFunctionError"}}class he extends S{constructor(e,t){super(`Can't find definition of ${e} event emitted by ${t} (use omitUnknown option to ignore events like this)`),this.name="MissingEventDefinitionError"}}class ye extends S{constructor(e,t){super(`Found multiple definitions of "${t[0][1]}" event emitted by ${e} in ${t.map((e=>{let[t]=e;return`"${t}"`})).join(", ")} contracts (use contractAddressToName option to specify contract name corresponding to address)`),this.name="AmbiguousEventDefinitionError"}}class ge extends C{constructor(){super("Invalid checksum"),this.name="InvalidChecksumError"}}class fe extends C{constructor(){super("Invalid password or nonce"),this.name="InvalidPasswordError"}}class Ne extends C{constructor(){super("Node hash is not equal to provided one"),this.name="MerkleTreeHashMismatchError"}}class we extends C{constructor(e){super(e),this.name="MissingNodeInTreeError"}}class be extends C{constructor(e){super(`Unknown node length: ${e}`),this.name="UnknownNodeLengthError"}}class ve extends C{constructor(e){super(`Unknown path nibble: ${e}`),this.name="UnknownPathNibbleError"}}class Se extends x{constructor(e){super(`Node with name ${e} already exist`),this.name="DuplicateNodeError"}}class Ce extends x{constructor(e){super(e),this.name="NodeNotFoundError"}}class xe extends z{constructor(e){super(e),this.name="DecodeError"}}class ze extends z{constructor(e){super(e),this.name="PayloadLengthError"}}class _e extends z{constructor(e){super(e),this.name="DryRunError"}}class Te extends z{constructor(e){super(e),this.name="IllegalBidFeeError"}}class qe extends z{constructor(e){super(e),this.name="InvalidSignatureError"}}class Pe extends z{constructor(e,t,r){super(e),this.name="InvalidTxError",this.validation=t,this.transaction=r}}class Ee extends z{constructor(e){super(e),this.name="InvalidTxParamsError"}}class Ie extends z{constructor(e){super(`Prefix for id-tag ${e} not found.`),this.name="PrefixNotFoundError"}}class ke extends z{constructor(e,t,r){super(`Transaction ${e} not implemented for ${t} version ${r}`),this.name="SchemaNotFoundError"}}class Ae extends z{constructor(e){super(`Id tag for prefix ${e} not found.`),this.name="DecodeError"}}class Oe extends z{constructor(e){super(`Transaction ${e} is removed from chain`),this.name="TxNotInChainError"}}class Me extends z{constructor(e){super(e),this.name="UnknownTxError"}}class Re extends z{constructor(e){super(e),this.name="UnsupportedABIversionError"}}class Be extends z{constructor(e){super(e),this.name="UnsupportedVMversionError"}}class je extends _{constructor(e){super(e),this.name="AlreadyConnectedError"}}class De extends _{constructor(e){super(e),this.name="NoWalletConnectedError"}}class Ve extends _{constructor(e){super(e),this.name="RpcConnectionError"}}let Fe;!function(e){e.AE="ae",e.MILI_AE="miliAE",e.MICRO_AE="microAE",e.NANO_AE="nanoAE",e.PICO_AE="picoAE",e.FEMTO_AE="femtoAE",e.AETTOS="aettos"}(Fe||(Fe={}));const He={[Fe.AE]:0,[Fe.MILI_AE]:-3,[Fe.MICRO_AE]:-6,[Fe.NANO_AE]:-9,[Fe.PICO_AE]:-12,[Fe.FEMTO_AE]:-15,[Fe.AETTOS]:-18},Ue=function(e){let{denomination:t=Fe.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Le(e,{denomination:t,targetDenomination:Fe.AE})},$e=function(e){let{denomination:t=Fe.AE}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Le(e,{denomination:t})},Le=(e,t)=>{let{denomination:r=Fe.AETTOS,targetDenomination:n=Fe.AETTOS}=t;if("bigint"!=typeof(a=e)&&(!p()(i=["number","object","string"]).call(i,typeof a)||isNaN(a)&&!Number.isInteger(a)&&!d().isBigNumber(a)))throw new T("value","a number",e);var a,i;return new(d())("bigint"==typeof e?e.toString():e).shiftedBy(He[r]-He[n]).toFixed()};var Ge=b(79),Ke=b.n(Ge),We=b(8236),Qe=b.n(We),Ye=b(1246),Xe=b(7480);function Je(e){return e.length%2==0&&/^[0-9a-f]+$/i.test(e)}function Ze(e){if(!e.isInteger())throw new M(`Unexpected not integer value: ${e.toFixed()}`);let t=e.toString(16);return t.length%2==1&&(t="0"+t),Buffer.from(t,"hex")}function et(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(null==e)return Buffer.from([]);if(Number.isInteger(e)||d().isBigNumber(e)||t)return d().isBigNumber(e)||(e=new(d())(e)),Ze(e);if("string"==typeof e)return Buffer.from(e);throw new k}function tt(e,t){var r;return Buffer.from(e,null!==(r=null!=t?t:Je(e)?"hex":void 0)&&void 0!==r?r:function(e){if(e.length%4>0||/[^0-9a-z+/=]/i.test(e))return!1;const t=e.indexOf("=");return-1===t||/={1,2}/.test(e.slice(t))}(e)?"base64":void 0)}const rt=e=>Buffer.from(e).toString("hex"),nt=e=>Buffer.from(e,"hex"),at=async e=>await new Promise((t=>setTimeout(t,e))),it=(e,t)=>Object.fromEntries(Object.entries(e).map(t)),st=(()=>{try{return Buffer.concat([Uint8Array.from([])]),!1}catch(e){return!0}})()?(e,t)=>Buffer.concat(e.map((e=>Buffer.from(e))),t):Buffer.concat;function ot(e,t){return e in t}var ct=b(3783),lt=b(5433);function dt(e){return(new lt.sha256).update(e).digest()}const ut=["ba","cb","or","ov","pi","ss","cs","ck","cv","st","tx"],pt=["ak","bf","bs","bx","ch","cm","ct","kh","mh","nm","ok","oq","pp","sg","th"],mt={ak:32,ct:32,ok:32};function ht(e,t){const r=mt[t];if(null!=r&&e.length!==r)throw new ze(`Payload should be ${r} bytes, got ${e.length} instead`)}const yt=e=>dt(dt(e)).slice(0,4),gt=e=>st([e,yt(e)]);function ft(e){const t=e.slice(0,-4);if(!yt(t).equals(e.slice(-4)))throw new ge;return t}const Nt={encode:e=>gt(e).toString("base64"),decode:e=>ft(Buffer.from(e,"base64"))},wt={encode:e=>(0,ct.encode)(gt(e)),decode:e=>ft(Buffer.from((0,ct.decode)(e)))},bt=e=>{const t=ut.find((t=>t===e));if(null!=t)return[t,Nt];const r=pt.find((t=>t===e));if(null!=r)return[r,wt];throw new T("prefix",`one of ${[...pt,...ut].join(", ")}`,e)};function vt(e){const[t,r,n]=e.split("_");if(null==r)throw new xe(`Encoded string missing payload: ${e}`);if(null!=n)throw new xe(`Encoded string have extra parts: ${e}`);const[a,{decode:i}]=bt(t),s=i(r);return ht(s,a),s}function St(e,t){const[,{encode:r}]=bt(t);return ht(e,t),`${t}_${r(e)}`}const Ct=Qe().ModeOfOperation.ecb;function xt(e){const t="string"==typeof e?tt(e):e;return St(Ke().sign.keyPair.fromSecretKey(t).publicKey,"ak")}function zt(e){try{return vt(e),!0}catch(e){return!1}}function _t(){return Math.floor(Math.random()*Math.floor(Number.MAX_SAFE_INTEGER))}function Tt(e){const t=Buffer.allocUnsafe(4);return t.writeUInt32BE(e),t.slice(t.findIndex((e=>0!==e)))}function qt(e){return Buffer.from((0,Ye.blake2b)(e,void 0,32))}function Pt(e,t){const r=vt(e);return St(qt(st([r,Tt(t)])),"ct")}function Et(e){return Ke().sign.keyPair.fromSecretKey(e)}function It(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const t=Ke().sign.keyPair(),r=Buffer.from(t.publicKey),n=Buffer.from(t.secretKey);return e?{publicKey:r,secretKey:n}:{publicKey:St(r,"ak"),secretKey:n.toString("hex")}}function kt(e,t){const r=dt(e);return new Ct(r).encrypt(t)}function At(e,t){const r=Buffer.from(t),n=dt(e);return new Ct(n).decrypt(r)}function Ot(e,t){return Ke().sign.detached(Buffer.from(e),Buffer.from(t))}function Mt(e,t,r){const n="string"==typeof r?tt(r):r;return Ke().sign.detached.verify(e,t,n)}function Rt(e){const t=Buffer.from("aeternity Signed Message:\n","utf8"),r=Buffer.from(e,"utf8");return qt(st([(0,Xe.encode)(t.length),t,(0,Xe.encode)(r.length),r]))}function Bt(e,t){return Ot(Rt(e),t)}function jt(e,t,r){return Mt(Rt(e),t,r)}function Dt(e,t){const r=Buffer.from("TheMessage");return Mt(r,Ot(r,e),t)}const Vt=18e4,Ft=36e3,Ht=84600,Ut=Ht,$t=1e9,Lt=1e14,Gt=.05,Kt=480,Wt=31,Qt=12;let Yt;!function(e){e.ak="account_pubkey",e.ok="oracle_pubkey",e.ct="contract_pubkey",e.ch="channel"}(Yt||(Yt={}));const Xt=it({31:3,30:5,29:8,28:13,27:21,26:34,25:55,24:89,23:144,22:233,21:377,20:610,19:987,18:1597,17:2584,16:4181,15:6765,14:10946,13:17711,12:28657,11:46368,10:75025,9:121393,8:196418,7:317811,6:514229,5:832040,4:1346269,3:2178309,2:3524578,1:5702887},(e=>{let[t,r]=e;return[t,new(d())(r).times(Lt)]})),Jt={account:1,name:2,commitment:3,oracle:4,contract:5,channel:6},Zt={ak:Jt.account,nm:Jt.name,cm:Jt.commitment,ok:Jt.oracle,ct:Jt.contract,ch:Jt.channel},er=it(Zt,(e=>{let[t,r]=e;return[r,t]})),tr=_t;function rr(e,t){return St(qt(Buffer.from([...vt(e),...et(t)])),"ct")}function nr(e,t,r){return St(qt(Buffer.from([...vt(e),...function(e){const t=et(e,!0);return st([Buffer.alloc(32-t.length),t])}(t),...vt(r)])),"oq")}function ar(e){return Buffer.from(e.toString(16).padStart(64,"0"),"hex")}function ir(e){return St(qt(e.toLowerCase()),"nm")}function sr(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:tr();return St(qt(st([Buffer.from(e.toLowerCase()),ar(t)])),"cm")}function or(e){if("string"!=typeof e)throw new T("hashId","a string",e);const t=e.slice(0,2),r=Zt[t];if(null==r)throw new Ae(t);return Buffer.from([...et(r),...vt(e)])}function cr(e){const t=Buffer.from(e).readUIntBE(0,1),r=er[t];if(null==r)throw new Ie(t);return St(e.slice(1,e.length),r)}function lr(e){return et(e,!0)}function dr(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Buffer.from([]);return new(d())(Buffer.from(e).toString("hex"),16).toString(10)}function ur(e){return e.map((e=>[et(e.key),or(e.id)]))}function pr(e){return e.map((e=>{let[t,r]=e;return Object.assign({key:t.toString(),id:cr(r)})}))}const mr=".chain";function hr(e){return e.endsWith(mr)}function yr(e){vt(e);const t=e.substring(0,2);return Yt[t]}function gr(e){const t=e.length-mr.length;return Xt[Math.min(t,Wt)]}function fr(e){let{startFee:t,increment:r=Gt}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(Number(r)!==r||r%1==0)throw new Te(`Increment must be float. Current increment ${r}`);if(r<Gt)throw new Te(`minimum increment percentage is ${Gt}`);return m(new(d())(null!=t?t:gr(e)).times(new(d())(Gt).plus(1)))}function Nr(e,t){const r=e.length-mr.length;return(r<=4&&62*Kt||r<=8&&31*Kt||r<=12&&Kt||0)+t}function wr(e){return e.length<13+mr.length}class br{static serialize(e){return Buffer.from(e)}static deserialize(e){return e.toString()}}class vr extends br{static serialize(e){return or(hr(e)?ir(e):e)}static deserialize(e){return cr(e)}}class Sr extends br{static serialize(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"0";if(0!==parseInt(e))throw new q(`Contract deposit is not refundable, so it should be equal 0, got ${e.toString()} instead`);return lr(0)}static deserialize(e){return dr(e)}}class Cr extends br{static serialize(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:$t;if(+e<$t)throw new q(`Gas price ${e.toString()} must be bigger then ${$t}`);return lr(e)}static deserialize(e){return dr(e)}}let xr;!function(e){e[e.delta=0]="delta",e[e.block=1]="block"}(xr||(xr={}));const zr=0,_r=3e4,Tr={type:xr.delta,value:500},qr={type:xr.delta,value:10},Pr={type:xr.delta,value:10},Er=0,Ir=1579e3,kr=5e4,Ar={pub:"ak_11111111111111111111111111111111273Yts",amount:100000000000000000000000000000000000n};let Or,Mr,Rr,Br;!function(e){e[e.account=10]="account",e[e.signed=11]="signed",e[e.spend=12]="spend",e[e.oracleRegister=22]="oracleRegister",e[e.oracleQuery=23]="oracleQuery",e[e.oracleResponse=24]="oracleResponse",e[e.oracleExtend=25]="oracleExtend",e[e.nameClaim=32]="nameClaim",e[e.namePreClaim=33]="namePreClaim",e[e.nameUpdate=34]="nameUpdate",e[e.nameRevoke=35]="nameRevoke",e[e.nameTransfer=36]="nameTransfer",e[e.contract=40]="contract",e[e.contractCallResult=41]="contractCallResult",e[e.contractCreate=42]="contractCreate",e[e.contractCall=43]="contractCall",e[e.channelCreate=50]="channelCreate",e[e.channelDeposit=51]="channelDeposit",e[e.channelWithdraw=52]="channelWithdraw",e[e.channelCloseMutual=53]="channelCloseMutual",e[e.channelCloseSolo=54]="channelCloseSolo",e[e.channelSlash=55]="channelSlash",e[e.channelSettle=56]="channelSettle",e[e.channelOffChain=57]="channelOffChain",e[e.channel=58]="channel",e[e.channelSnapshotSolo=59]="channelSnapshotSolo",e[e.proofOfInclusion=60]="proofOfInclusion",e[e.stateTrees=62]="stateTrees",e[e.merklePatriciaTree=63]="merklePatriciaTree",e[e.merklePatriciaTreeValue=64]="merklePatriciaTreeValue",e[e.sophiaByteCode=70]="sophiaByteCode",e[e.gaAttach=80]="gaAttach",e[e.gaMeta=81]="gaMeta",e[e.payingFor=82]="payingFor",e[e.channelForceProgress=521]="channelForceProgress",e[e.channelOffChainUpdateTransfer=570]="channelOffChainUpdateTransfer",e[e.channelOffChainUpdateDeposit=571]="channelOffChainUpdateDeposit",e[e.channelOffChainUpdateWithdrawal=572]="channelOffChainUpdateWithdrawal",e[e.channelOffChainCreateContract=573]="channelOffChainCreateContract",e[e.channelOffChainCallContract=574]="channelOffChainCallContract",e[e.channelReconnect=575]="channelReconnect",e[e.contractsTree=621]="contractsTree",e[e.contractCallsTree=622]="contractCallsTree",e[e.channelsTree=623]="channelsTree",e[e.nameserviceTree=624]="nameserviceTree",e[e.oraclesTree=625]="oraclesTree",e[e.accountsTree=626]="accountsTree"}(Or||(Or={})),function(e){e[e.NO_VM=0]="NO_VM",e[e.SOPHIA=1]="SOPHIA",e[e.SOPHIA_IMPROVEMENTS_MINERVA=3]="SOPHIA_IMPROVEMENTS_MINERVA",e[e.SOPHIA_IMPROVEMENTS_FORTUNA=4]="SOPHIA_IMPROVEMENTS_FORTUNA",e[e.FATE=5]="FATE",e[e.SOPHIA_IMPROVEMENTS_LIMA=6]="SOPHIA_IMPROVEMENTS_LIMA",e[e.FATE_2=7]="FATE_2"}(Mr||(Mr={})),function(e){e[e.NO_ABI=0]="NO_ABI",e[e.SOPHIA=1]="SOPHIA",e[e.FATE=3]="FATE"}(Rr||(Rr={})),function(e){e[e.IRIS=5]="IRIS"}(Br||(Br={}));const jr={[Br.IRIS]:{[Or.contractCreate]:{vmVersion:[Mr.FATE_2],abiVersion:[Rr.FATE]},[Or.contractCall]:{vmVersion:[],abiVersion:[Rr.FATE,Rr.SOPHIA]},[Or.oracleRegister]:{vmVersion:[],abiVersion:[Rr.NO_ABI,Rr.SOPHIA]}}};let Dr;!function(e){e[e.int=0]="int",e[e.shortInt=1]="shortInt",e[e.amount=2]="amount",e[e.id=3]="id",e[e.ids=4]="ids",e[e.string=5]="string",e[e.binary=6]="binary",e[e.bool=7]="bool",e[e.hex=8]="hex",e[e.rlpBinary=9]="rlpBinary",e[e.rlpBinaries=10]="rlpBinaries",e[e.rawBinary=11]="rawBinary",e[e.signatures=12]="signatures",e[e.pointers=13]="pointers",e[e.offChainUpdates=14]="offChainUpdates",e[e.callStack=15]="callStack",e[e.proofOfInclusion=16]="proofOfInclusion",e[e.mptrees=17]="mptrees",e[e.callReturnType=18]="callReturnType",e[e.ctVersion=19]="ctVersion",e[e.abiVersion=20]="abiVersion",e[e.ttlType=21]="ttlType",e[e.sophiaCodeTypeInfo=22]="sophiaCodeTypeInfo",e[e.payload=23]="payload",e[e.stateTree=24]="stateTree"}(Dr||(Dr={}));const Vr=[["tag",Dr.shortInt],["VSN",Dr.shortInt]],Fr={[Or.account]:{2:[...Vr,["flags",Dr.int],["nonce",Dr.shortInt],["balance",Dr.int],["gaContract",Dr.id,["ct","nm"]],["gaAuthFun",Dr.binary,"cb"]]},[Or.signed]:{1:[...Vr,["signatures",Dr.signatures],["encodedTx",Dr.rlpBinary]]},[Or.spend]:{1:[...Vr,["senderId",Dr.id,"ak"],["recipientId",Dr.id,["ak","nm"]],["amount",Dr.amount],["fee",Dr.int],["ttl",Dr.shortInt],["nonce",Dr.shortInt],["payload",Dr.payload]]},[Or.namePreClaim]:{1:[...Vr,["accountId",Dr.id,"ak"],["nonce",Dr.shortInt],["commitmentId",Dr.id,"cm"],["fee",Dr.int],["ttl",Dr.shortInt]]},[Or.nameClaim]:{2:[...Vr,["accountId",Dr.id,"ak"],["nonce",Dr.shortInt],["name",class extends br{static serialize(e){return Buffer.from(e)}static deserialize(e){return e.toString()}}],["nameSalt",Dr.int],["nameFee",class extends br{static serialize(e,t){var r;let{name:n}=t;const a=gr(n);if(null!==(r=e)&&void 0!==r||(e=a),a.gt(e))throw new L(new(d())(e),a);return lr(e)}static deserialize(e){return dr(e)}}],["fee",Dr.int],["ttl",Dr.shortInt]]},[Or.nameUpdate]:{1:[...Vr,["accountId",Dr.id,"ak"],["nonce",Dr.shortInt],["nameId",vr],["nameTtl",Dr.int],["pointers",Dr.pointers],["clientTtl",Dr.shortInt],["fee",Dr.int],["ttl",Dr.shortInt]]},[Or.nameTransfer]:{1:[...Vr,["accountId",Dr.id,"ak"],["nonce",Dr.shortInt],["nameId",vr],["recipientId",Dr.id,["ak","nm"]],["fee",Dr.int],["ttl",Dr.shortInt]]},[Or.nameRevoke]:{1:[...Vr,["accountId",Dr.id,"ak"],["nonce",Dr.shortInt],["nameId",vr],["fee",Dr.int],["ttl",Dr.shortInt]]},[Or.contract]:{1:[...Vr,["owner",Dr.id,"ak"],["ctVersion",Dr.ctVersion],["code",Dr.binary,"cb"],["log",Dr.binary,"cb"],["active",Dr.bool],["referers",Dr.ids,"ak"],["deposit",Sr]]},[Or.contractCreate]:{1:[...Vr,["ownerId",Dr.id,"ak"],["nonce",Dr.shortInt],["code",Dr.binary,"cb"],["ctVersion",Dr.ctVersion],["fee",Dr.int],["ttl",Dr.shortInt],["deposit",Sr],["amount",Dr.amount],["gasLimit",Dr.shortInt],["gasPrice",Cr],["callData",Dr.binary,"cb"]]},[Or.contractCall]:{1:[...Vr,["callerId",Dr.id,"ak"],["nonce",Dr.shortInt],["contractId",Dr.id,["ct","nm"]],["abiVersion",Dr.abiVersion],["fee",Dr.int],["ttl",Dr.shortInt],["amount",Dr.amount],["gasLimit",Dr.shortInt],["gasPrice",Cr],["callData",Dr.binary,"cb"]]},[Or.contractCallResult]:{1:[...Vr,["callerId",Dr.id,"ak"],["callerNonce",Dr.shortInt],["height",Dr.shortInt],["contractId",Dr.id,"ct"],["gasPrice",Cr],["gasUsed",Dr.shortInt],["returnValue",Dr.binary,"cb"],["returnType",Dr.callReturnType],["log",Dr.rawBinary]]},[Or.oracleRegister]:{1:[...Vr,["accountId",Dr.id,"ak"],["nonce",Dr.shortInt],["queryFormat",Dr.string],["responseFormat",Dr.string],["queryFee",Dr.amount],["oracleTtlType",Dr.ttlType],["oracleTtlValue",Dr.shortInt],["fee",Dr.int],["ttl",Dr.shortInt],["abiVersion",Dr.abiVersion]]},[Or.oracleExtend]:{1:[...Vr,["oracleId",Dr.id,["ok","nm"]],["nonce",Dr.shortInt],["oracleTtlType",Dr.ttlType],["oracleTtlValue",Dr.shortInt],["fee",Dr.int],["ttl",Dr.shortInt]]},[Or.oracleQuery]:{1:[...Vr,["senderId",Dr.id,"ak"],["nonce",Dr.shortInt],["oracleId",Dr.id,["ok","nm"]],["query",Dr.string],["queryFee",Dr.amount],["queryTtlType",Dr.ttlType],["queryTtlValue",Dr.shortInt],["responseTtlType",Dr.ttlType],["responseTtlValue",Dr.shortInt],["fee",Dr.int],["ttl",Dr.shortInt]]},[Or.oracleResponse]:{1:[...Vr,["oracleId",Dr.id,"ok"],["nonce",Dr.shortInt],["queryId",Dr.binary,"oq"],["response",Dr.string],["responseTtlType",Dr.ttlType],["responseTtlValue",Dr.shortInt],["fee",Dr.int],["ttl",Dr.shortInt]]},[Or.channelCreate]:{2:[...Vr,["initiator",Dr.id,"ak"],["initiatorAmount",Dr.int],["responder",Dr.id,"ak"],["responderAmount",Dr.int],["channelReserve",Dr.int],["lockPeriod",Dr.int],["ttl",Dr.shortInt],["fee",Dr.int],["initiatorDelegateIds",Dr.string],["responderDelegateIds",Dr.string],["stateHash",Dr.binary,"st"],["nonce",Dr.shortInt]]},[Or.channelCloseMutual]:{1:[...Vr,["channelId",Dr.id,"ch"],["fromId",Dr.id,"ak"],["initiatorAmountFinal",Dr.int],["responderAmountFinal",Dr.int],["ttl",Dr.shortInt],["fee",Dr.int],["nonce",Dr.shortInt]]},[Or.channelCloseSolo]:{1:[...Vr,["channelId",Dr.id,"ch"],["fromId",Dr.id,"ak"],["payload",Dr.binary,"tx"],["poi",Dr.binary,"pi"],["ttl",Dr.shortInt],["fee",Dr.int],["nonce",Dr.shortInt]]},[Or.channelSlash]:{1:[...Vr,["channelId",Dr.id,"ch"],["fromId",Dr.id,"ak"],["payload",Dr.binary,"tx"],["poi",Dr.binary,"pi"],["ttl",Dr.shortInt],["fee",Dr.int],["nonce",Dr.shortInt]]},[Or.channelDeposit]:{1:[...Vr,["channelId",Dr.id,"ch"],["fromId",Dr.id,"ak"],["amount",Dr.int],["ttl",Dr.shortInt],["fee",Dr.int],["stateHash",Dr.binary,"st"],["round",Dr.int],["nonce",Dr.shortInt]]},[Or.channelWithdraw]:{1:[...Vr,["channelId",Dr.id,"ch"],["toId",Dr.id,"ak"],["amount",Dr.int],["ttl",Dr.shortInt],["fee",Dr.int],["stateHash",Dr.binary,"st"],["round",Dr.int],["nonce",Dr.shortInt]]},[Or.channelSettle]:{1:[...Vr,["channelId",Dr.id,"ch"],["fromId",Dr.id,"ak"],["initiatorAmountFinal",Dr.int],["responderAmountFinal",Dr.int],["ttl",Dr.shortInt],["fee",Dr.int],["nonce",Dr.shortInt]]},[Or.channelForceProgress]:{1:[...Vr,["channelId",Dr.id,"ch"],["fromId",Dr.id,"ak"],["payload",Dr.binary,"tx"],["round",Dr.int],["update",Dr.binary,"cb"],["stateHash",Dr.binary,"st"],["offChainTrees",Dr.stateTree],["ttl",Dr.shortInt],["fee",Dr.int],["nonce",Dr.shortInt]]},[Or.channelOffChain]:{2:[...Vr,["channelId",Dr.id,"ch"],["round",Dr.int],["stateHash",Dr.binary,"st"]]},[Or.channel]:{3:[...Vr,["initiator",Dr.id,"ak"],["responder",Dr.id,"ak"],["channelAmount",Dr.int],["initiatorAmount",Dr.int],["responderAmount",Dr.int],["channelReserve",Dr.int],["initiatorDelegateIds",Dr.ids],["responderDelegateIds",Dr.ids],["stateHash",Dr.hex],["round",Dr.int],["soloRound",Dr.int],["lockPeriod",Dr.int],["lockedUntil",Dr.int],["initiatorAuth",Dr.binary,"cb"],["responderAuth",Dr.binary,"cb"]]},[Or.channelSnapshotSolo]:{1:[...Vr,["channelId",Dr.id,"ch"],["fromId",Dr.id,"ak"],["payload",Dr.binary,"tx"],["ttl",Dr.shortInt],["fee",Dr.int],["nonce",Dr.shortInt]]},[Or.channelOffChainUpdateTransfer]:{1:[...Vr,["from",Dr.id,"ak"],["to",Dr.id,"ak"],["amount",Dr.int]]},[Or.channelOffChainUpdateDeposit]:{1:[...Vr,["from",Dr.id,"ak"],["amount",Dr.int]]},[Or.channelOffChainUpdateWithdrawal]:{1:[...Vr,["from",Dr.id,"ak"],["amount",Dr.int]]},[Or.channelOffChainCreateContract]:{1:[...Vr,["owner",Dr.id,"ak"],["ctVersion",Dr.ctVersion],["code",Dr.binary,"cb"],["deposit",Dr.int],["callData",Dr.binary,"cb"]]},[Or.channelOffChainCallContract]:{1:[...Vr,["caller",Dr.id,"ak"],["contract",Dr.id,"ct"],["abiVersion",Dr.abiVersion],["amount",Dr.int],["callData",Dr.binary,"cb"],["callStack",Dr.callStack],["gasPrice",Cr],["gasLimit",Dr.shortInt]]},[Or.channelReconnect]:{1:[...Vr,["channelId",Dr.id,"ch"],["round",Dr.int],["role",Dr.string],["pubkey",Dr.id,"ak"]]},[Or.proofOfInclusion]:{1:[...Vr,["accounts",Dr.mptrees],["calls",Dr.mptrees],["channels",Dr.mptrees],["contracts",Dr.mptrees],["ns",Dr.mptrees],["oracles",Dr.mptrees]]},[Or.stateTrees]:{1:[...Vr,["contracts",Dr.rlpBinary],["calls",Dr.rlpBinary],["channels",Dr.rlpBinary],["ns",Dr.rlpBinary],["oracles",Dr.rlpBinary],["accounts",Dr.rlpBinary]]},[Or.merklePatriciaTree]:{1:[...Vr,["values",Dr.rlpBinaries]]},[Or.merklePatriciaTreeValue]:{1:[...Vr,["key",Dr.hex],["value",Dr.rawBinary]]},[Or.contractsTree]:{1:[...Vr,["contracts",Dr.rlpBinary]]},[Or.contractCallsTree]:{1:[...Vr,["calls",Dr.rlpBinary]]},[Or.channelsTree]:{1:[...Vr,["channels",Dr.rlpBinary]]},[Or.nameserviceTree]:{1:[...Vr,["mtree",Dr.rlpBinary]]},[Or.oraclesTree]:{1:[...Vr,["otree",Dr.rlpBinary]]},[Or.accountsTree]:{1:[...Vr,["accounts",Dr.rlpBinary]]},[Or.gaAttach]:{1:[...Vr,["ownerId",Dr.id,"ak"],["nonce",Dr.shortInt],["code",Dr.binary,"cb"],["authFun",Dr.rawBinary],["ctVersion",Dr.ctVersion],["fee",Dr.int],["ttl",Dr.shortInt],["gasLimit",Dr.shortInt],["gasPrice",Cr],["callData",Dr.binary,"cb"]]},[Or.gaMeta]:{2:[...Vr,["gaId",Dr.id,"ak"],["authData",Dr.binary,"cb"],["abiVersion",Dr.abiVersion],["fee",Dr.int],["gasLimit",Dr.shortInt],["gasPrice",Cr],["tx",Dr.rlpBinary]]},[Or.payingFor]:{1:[...Vr,["payerId",Dr.id,"ak"],["nonce",Dr.shortInt],["fee",Dr.int],["tx",Dr.rlpBinary]]},[Or.sophiaByteCode]:{3:[...Vr,["sourceCodeHash",Dr.rawBinary],["typeInfo",Dr.sophiaCodeTypeInfo],["byteCode",Dr.rawBinary],["compilerVersion",Dr.string],["payable",Dr.bool]]}};var Hr,Ur=b(3485);!function(e){e[e.Branch=0]="Branch",e[e.Extension=1]="Extension",e[e.Leaf=2]="Leaf"}(Hr||(Hr={}));class $r{static nodeHash(e){return Buffer.from(qt((0,Ur.encode)(e))).toString("hex")}constructor(e){if(this.rootHash=e[0].toString("hex"),this.nodes=Object.fromEntries(e[1].map((e=>[e[0].toString("hex"),e[1]]))),void 0===this.nodes[this.rootHash])throw new we("Can't find a node by root hash");Object.entries(this.nodes).forEach((e=>{let[t,r]=e;if($r.nodeHash(r)!==t)throw new Ne;const{type:n,payload:a}=$r.parseNode(r);switch(n){case Hr.Branch:a.slice(0,16).filter((e=>e.length)).forEach((e=>{if(void 0===this.nodes[e.toString("hex")])throw new we("Can't find a node by hash in branch node")}));break;case Hr.Extension:if(void 0===this.nodes[a[0].toString("hex")])throw new we("Can't find a node by hash in extension node")}}))}isEqual(e){return this.rootHash===e.rootHash}static parseNode(e){switch(e.length){case 17:return{type:Hr.Branch,payload:e,path:null};case 2:{var t;const r=e[0][0]>>4;if(r>3)throw new ve(r);const n=r<=1?Hr.Extension:Hr.Leaf,a=p()(t=[0,2]).call(t,r)?2:1;return{type:n,payload:[e[1]],path:e[0].toString("hex").slice(a)}}default:throw new be(e.length)}}serialize(){return[Buffer.from(this.rootHash,"hex"),Object.entries(this.nodes).map((e=>{let[t,r]=e;return[Buffer.from(t,"hex"),r]}))]}get(e){let t=this.rootHash;for(;;){const{type:r,payload:n,path:a}=$r.parseNode(this.nodes[t]);switch(r){case Hr.Branch:if(0===e.length)return n[16];t=n[+`0x${e[0]}`].toString("hex"),e=e.substr(1);break;case Hr.Extension:if(e.substr(0,null==a?void 0:a.length)!==a)return;t=n[0].toString("hex"),e=e.substr(a.length);break;case Hr.Leaf:if(a!==e)return;return n[0]}}}}function Lr(e,t,r){if(null==e)return"";switch(t){case Dr.ctVersion:{const[t,,r]=e;return{vmVersion:dr(Buffer.from([t])),abiVersion:dr(Buffer.from([r]))}}case Dr.amount:case Dr.int:case Dr.abiVersion:case Dr.ttlType:return dr(e);case Dr.shortInt:return+dr(e);case Dr.id:return cr(e);case Dr.ids:return e.map(cr);case Dr.bool:return 1===e[0];case Dr.binary:return St(e,r);case Dr.stateTree:return St(e,"ss");case Dr.string:return e.toString();case Dr.payload:return St(e,"ba");case Dr.pointers:return pr(e);case Dr.rlpBinary:return Jr(St(e,"tx"));case Dr.rlpBinaries:return e.map((e=>Jr(St(e,"tx"))));case Dr.rawBinary:return e;case Dr.hex:return e.toString("hex");case Dr.offChainUpdates:return e.map((e=>Jr(St(e,"tx"))));case Dr.callStack:return[dr(e)];case Dr.mptrees:return e.map((e=>new $r(e)));case Dr.callReturnType:switch(dr(e)){case"0":return"ok";case"1":return"error";case"2":return"revert";default:return e}case Dr.sophiaCodeTypeInfo:return e.reduce(((e,t)=>{let[r,n,a,i]=t;return{...e,[n.toString()]:{funHash:r,argType:a,outType:i}}}),{});default:return t instanceof Object&&"deserialize"in t?t.deserialize(e):e}}function Gr(e,t,r){var n;switch(t){case Dr.amount:case Dr.int:case Dr.shortInt:case Dr.abiVersion:case Dr.ttlType:return lr(e);case Dr.id:return or(e);case Dr.ids:return e.map(or);case Dr.bool:return Buffer.from([!0===e?1:0]);case Dr.binary:case Dr.stateTree:return vt(e);case Dr.hex:return Buffer.from(e,"hex");case Dr.signatures:return e.map(Buffer.from);case Dr.payload:return"string"==typeof e&&"ba"===e.split("_")[0]?vt(e):et(e);case Dr.string:return et(e);case Dr.pointers:return ur(e);case Dr.rlpBinary:return null!==(n=e.rlpEncoded)&&void 0!==n?n:e;case Dr.mptrees:return e.map((e=>e.serialize("")));case Dr.ctVersion:return Buffer.from([...et(e.vmVersion),0,...et(e.abiVersion)]);case Dr.callReturnType:switch(e){case"ok":return lr(0);case"error":return lr(1);case"revert":return lr(2);default:return e}default:return t instanceof Object&&"serialize"in t?t.serialize(e,r):e}}function Kr(e,t,r){if(null==e)return"Field is required";switch(t){case Dr.amount:case Dr.int:case Dr.shortInt:return isNaN(e)&&!d().isBigNumber(e)?`${String(e)} is not of type Number or BigNumber`:new(d())(e).lt(0)?`${String(e)} must be >= 0`:void 0;case Dr.id:{const t=Array.isArray(r)?r:[r];return p()(t).call(t,e.split("_")[0])?void 0:null==r?`'${String(e)}' prefix doesn't exist'`:`'${String(e)}' prefix doesn't match expected prefix '${r.toString()}'`}case Dr.ctVersion:return Boolean(e.abiVersion)&&Boolean(e.vmVersion)?void 0:'Value must be an object with "vmVersion" and "abiVersion" fields';case Dr.pointers:if(!Array.isArray(e))return"Value must be of type Array";if(e.some((e=>!(Boolean(e.key)&&Boolean(e.id)))))return'Value must contains only object\'s like \'{key: "account_pubkey", id: "ak_lkamsflkalsdalksdlasdlasdlamd"}\'';if(e.length>32)return`Expected 32 pointers or less, got ${e.length} instead`}}function Wr(e,t){let{denomination:r}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return t.filter((e=>{let[,t]=e;return t===Dr.amount})).reduce(((e,t)=>{let[n]=t;return{...e,[n]:Le(e[n],{denomination:r})}}),e)}function Qr(e,t,r){let{excludeKeys:n=[]}=r;return Object.fromEntries(t.filter((e=>{var t;let[r]=e;return!p()(n).call(n,r)&&!p()(t=["payload","nameFee","deposit","gasPrice"]).call(t,r)})).map((t=>{let[r,n,a]=t;return[r,Kr(e[r],n,a)]})).filter((e=>{let[,t]=e;return t})))}function Yr(e,t){return t.reduce(((t,r,n)=>{let[a,i,s]=r;return Object.assign(t,{[a]:Lr(e[n],i,s)})}),{})}function Xr(e,t){var r;let{excludeKeys:n=[],prefix:a="tx",vsn:i,denomination:s=Fe.AETTOS}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const o=Fr[t];if(null!==(r=i)&&void 0!==r||(i=Math.max(...Object.keys(o).map((e=>+e)))),!ot(i,o))throw new ke("serialization",Or[t],i);const c=o[i];let l=e;l.VSN=i,l.tag=t;const d=c.filter((e=>{let[t]=e;return!p()(n).call(n,t)}));l=Wr(l,d,{denomination:s});const u=Qr(l,c,{excludeKeys:n});if(Object.keys(u).length>0)throw new Ee("Transaction build error. "+JSON.stringify(u));const m=d.map((e=>{let[t,r]=e;return Gr(l[t],r,l)})).filter((e=>void 0!==e)),h=(0,Ur.encode)(m),y=St(h,a);return{tx:y,rlpEncoded:h,binary:m,txObject:Yr(m,c)}}function Jr(e,t){const r=vt(e),n=(0,Ur.decode)(r),a=+dr(n[0]);if(!ot(a,Fr))throw new xe(`Unknown transaction tag: ${a}`);if(null!=t&&t!==a)throw new xe(`Expected transaction to have ${Or[t]} tag, got ${Or[a]} instead`);const i=+dr(n[1]);if(!ot(i,Fr[a]))throw new ke("deserialization",`tag ${a}`,i);return{txType:a,tx:Yr(n,Fr[a][i]),rlpEncoded:r}}function Zr(e){return St(qt("string"==typeof e&&e.startsWith("tx_")?vt(e):e),"th")}function en(e){var t;const{txType:r,tx:n}=Jr(e);if(!p()(t=[Or.contractCreate,Or.gaAttach]).call(t,r))throw new T("contractCreateTx","a contractCreateTx or gaAttach",r);return rr(n.ownerId,+n.nonce)}function tn(e,t){const r={[Or.oracleRegister]:"oracleTtlValue",[Or.oracleExtend]:"oracleTtlValue",[Or.oracleQuery]:"queryTtlValue",[Or.oracleResponse]:"responseTtlValue"};return ot(t,r)?e[r[t]]:1}function rn(e,t){var r;let{params:n,vsn:a,denomination:i}=t;const{rlpEncoded:{length:s}}=Xr(n,e,{vsn:a,denomination:i});return(e=>{var t;const r=null!==(t={[Or.channelForceProgress]:30,[Or.channelOffChain]:0,[Or.channelOffChainCallContract]:0,[Or.channelOffChainCreateContract]:0,[Or.channelOffChainUpdateDeposit]:0,[Or.channelOffChainUpdateWithdrawal]:0,[Or.channelOffChainUpdateTransfer]:0,[Or.contractCreate]:5,[Or.contractCall]:12,[Or.gaAttach]:5,[Or.gaMeta]:5,[Or.payingFor]:.2}[e])&&void 0!==t?t:1;return new(d())(15e3*r)})(e).plus(((e,t,r)=>{let{relativeTtl:n,innerTxSize:a}=r;switch(e){case Or.oracleRegister:case Or.oracleExtend:case Or.oracleQuery:case Or.oracleResponse:return new(d())(t).times(20).plus(Math.ceil(32e3*n/Math.floor(175200)));case Or.gaMeta:case Or.payingFor:return new(d())(t).minus(a).times(20);default:return new(d())(t).times(20)}})(e,s,{relativeTtl:tn(n,e),innerTxSize:p()(r=[Or.gaMeta,Or.payingFor]).call(r,e)?n.tx.tx.encodedTx.rlpEncoded.length:0})).times($t)}function nn(e,t){let r,{params:n,vsn:a,denomination:i}=t,s=new(d())(0);do{r=s,s=rn(e,{params:{...n,fee:s},vsn:a,denomination:i})}while(!s.eq(r));return s}const an=[(e,t)=>{let{encodedTx:r,signatures:n}=e,{account:a,nodeNetworkId:i,parentTxTypes:s}=t;if(void 0===(null!=r?r:n))return[];if(null==a)return[];if(1!==n.length)return[];const o=Buffer.from([i,...p()(s).call(s,Or.payingFor)?["inner_tx"]:[]].join("-")),c=st([o,r.rlpEncoded]),l=st([o,qt(r.rlpEncoded)]),d=vt(a.id);return Mt(c,n[0],d)||Mt(l,n[0],d)?[]:[{message:"Signature cannot be verified, please ensure that you transaction have the correct prefix and the correct private key for the sender address",key:"InvalidSignature",checkedKeys:["encodedTx","signatures"]}]},async(e,t)=>{let{encodedTx:r,tx:n}=e,{node:a,parentTxTypes:i,txType:s}=t;return void 0===(null!=r?r:n)?[]:await on(St((null!=r?r:n).rlpEncoded,"tx"),a,[...i,s])},(e,t)=>{let{txType:r}=t;if(void 0===e.fee)return[];const n=nn(r,{params:e,vsn:e.VSN});return n.lte(e.fee)?[]:[{message:`Fee ${e.fee} is too low, minimum fee for this transaction is ${n.toString()}`,key:"InsufficientFee",checkedKeys:["fee"]}]},(e,t)=>{let{ttl:r}=e,{height:n}=t;return void 0===r?[]:(r=+r,0===r||r>=n?[]:[{message:`TTL ${r} is already expired, current height is ${n}`,key:"ExpiredTTL",checkedKeys:["ttl"]}])},(e,t)=>{var r,n;let{amount:a,fee:i,nameFee:s,tx:o}=e,{account:c,parentTxTypes:l,txType:u}=t;if(null==c)return[];if(void 0===(null!==(r=null!=a?a:i)&&void 0!==r?r:s))return[];null!==(n=i)&&void 0!==n||(i=0);const m=new(d())(i).plus(null!=s?s:0).plus(null!=a?a:0).plus(u===Or.payingFor?o.tx.encodedTx.tx.fee:0).minus(p()(l).call(l,Or.payingFor)?i:0);return m.lte(c.balance.toString())?[]:[{message:`Account balance ${c.balance.toString()} is not enough to execute the transaction that costs ${m.toFixed()}`,key:"InsufficientBalance",checkedKeys:["amount","fee","nameFee"]}]},(e,t)=>{let{nonce:r}=e,{account:n,parentTxTypes:a}=t;if(null==r||null==n||p()(a).call(a,Or.gaMeta))return[];r=+r;const i=n.nonce+1;return r===i?[]:[{...r<i?{message:`Nonce ${r} is already used, valid nonce is ${i}`,key:"NonceAlreadyUsed"}:{message:`Nonce ${r} is too high, valid nonce is ${i}`,key:"NonceHigh"},checkedKeys:["nonce"]}]},(e,t)=>{let{ctVersion:r,abiVersion:n}=e,{txType:a,consensusProtocolVersion:i}=t;if(!ot(i,jr))throw new B(`Unsupported protocol: ${i}`);null==r&&(r={abiVersion:n});const s=jr[i][a];return null==s?[]:Object.entries(r).some((e=>{var t;let[r,n]=e;return!p()(t=s[r]).call(t,+n)}))?[{message:`ABI/VM version ${JSON.stringify(r)} is wrong, supported is: ${JSON.stringify(s)}`,key:"VmAndAbiVersionMismatch",checkedKeys:["ctVersion","abiVersion"]}]:[]},async(e,t)=>{let{contractId:r}=e,{txType:n,node:a}=t;if(Or.contractCall!==n)return[];r=r;try{const{active:e}=await a.getContract(r);return e?[]:[{message:`Contract ${r} is not active`,key:"ContractNotActive",checkedKeys:["contractId"]}]}catch(e){var i,s;if(null==(null===(i=e.response)||void 0===i||null===(s=i.parsedBody)||void 0===s?void 0:s.reason))throw e;return[{message:e.response.parsedBody.reason,key:"ContractNotFound",checkedKeys:["contractId"]}]}}],sn=e=>["senderId","accountId","ownerId","callerId","oracleId","fromId","initiator","gaId","payerId"].map((t=>e[t])).filter((e=>e)).map((e=>null==e?void 0:e.toString().replace(/^ok_/,"ak_")))[0];async function on(e,t){var r;let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const{tx:a,txType:i}=Jr(e),s=null!==(r=sn(a))&&void 0!==r?r:i===Or.signed?sn(a.encodedTx.tx):void 0,[o,{height:c},{consensusProtocolVersion:l,nodeNetworkId:d}]=await Promise.all([null==s?void 0:t.getAccountByPubkey(s).catch((()=>({id:s,balance:0n,nonce:0}))).then((e=>({...e,id:e.id}))),t.getCurrentKeyBlockHeight(),t.getNodeInfo()]);return(await Promise.all(an.map((e=>e(a,{txType:i,node:t,account:o,height:c,consensusProtocolVersion:l,nodeNetworkId:d,parentTxTypes:n}))))).flat()}function cn(e,t){let{_expectedMineRate:r=18e4,_microBlockCycle:n=3e3,_maxPollInterval:a=5e3}=t;const i={block:r,microblock:n}[e];return Math.min(i/3,a)}async function ln(e,t){let{onNode:r,onAccount:n,verify:a=!0,waitMined:i=!0,confirm:s,...o}=t;if(a){const t=await on(e,r);if(t.length>0){const r="Transaction verification errors: "+t.map((e=>e.message)).join(", ");throw new Pe(r,t,e)}}try{var c;const{txHash:t}=await r.postTransaction({tx:e},{requestOptions:{customHeaders:{__queue:`tx-${null!==(c=await(null==n?void 0:n.address(o).catch((()=>""))))&&void 0!==c?c:""}`}}});if(i){const n=await yn(t,{onNode:r,...o}),a={...n,hash:n.hash,rawTx:e};if(null!=s&&(!0===s||s>0)){const e="boolean"==typeof s?void 0:s;return{...a,confirmationHeight:await dn(t,{onNode:r,confirm:e,...o})}}return a}return{hash:t,rawTx:e}}catch(t){throw Object.assign(t,{rawTx:e,verifyTx:async()=>await on(e,r)})}}async function dn(e,t){let{confirm:r=3,onNode:n,...a}=t;const{blockHeight:i}=await n.getTransactionByHash(e),s=await hn(i+r,{onNode:n,...a}),{blockHeight:o}=await n.getTransactionByHash(e);switch(o){case-1:throw new Oe(e);case i:return s;default:return await dn(e,{onNode:n,confirm:r,...a})}}async function un(e,t){let{height:r,hash:n,onNode:a}=t;return null!=r?await a.getAccountByPubkeyAndHeight(e,r):null!=n?await a.getAccountByPubkeyAndHash(e,n):await a.getAccountByPubkey(e)}async function pn(e,t){let{format:r=Fe.AETTOS,...n}=t;const{balance:a}=await un(e,n).catch((()=>({balance:0n})));return Le(a,{targetDenomination:r})}async function mn(e){let{onNode:t}=e;return(await t.getCurrentKeyBlockHeight()).height}async function hn(e,t){var r;let n,{interval:a,attempts:i=20,onNode:s,...o}=t;null!==(r=a)&&void 0!==r||(a=cn("block",o));for(let t=0;t<i;t++)if(0!==t&&await at(a),n=(await s.getCurrentKeyBlockHeight()).height,n>=e)return n;throw new A((i-1)*a,n,e)}async function yn(e,t){var r;let{blocks:n=10,interval:a,onNode:i,...s}=t;null!==(r=a)&&void 0!==r||(a=cn("microblock",s));const o=await mn({onNode:i})+n;do{const t=await i.getTransactionByHash(e);if(-1!==t.blockHeight)return t;await at(a)}while(await mn({onNode:i})<o);throw new O(n,e)}async function gn(e){let{onNode:t}=e;return await t.getCurrentGeneration()}async function fn(e,t){let{onNode:r}=t;return"number"==typeof e?await r.getGenerationByHeight(e):await r.getGenerationByHash(e)}async function Nn(e,t){let{onNode:r}=t;return(await r.getMicroBlockTransactionsByHash(e)).transactions}async function wn(e,t){let{onNode:r}=t;return"number"==typeof e?await r.getKeyBlockByHeight(e):await r.getKeyBlockByHash(e)}async function bn(e,t){let{onNode:r}=t;return await r.getMicroBlockHeaderByHash(e)}const vn=new Map;async function Sn(e,t){const r=vn.get(e);if(vn.delete(e),null==r)throw new V("Can't get dry-run request");let n;try{n=await t.protectedDryRunTxs({top:r[0].top,txEvents:r[0].txEvents,txs:r.map((e=>({tx:e.tx}))),accounts:Array.from(new Set(r.map((e=>e.accountAddress)))).map((e=>({pubKey:e,amount:Ar.amount})))})}catch(e){return void r.forEach((t=>{let{reject:r}=t;return r(e)}))}const{results:a,txEvents:i}=n;a.forEach(((e,t)=>{let{result:n,reason:a,...s}=e;const{resolve:o,reject:c,tx:l,accountAddress:d}=r[t];if("ok"===n)return o({...s,txEvents:i});c(Object.assign(new _e(a),{tx:l,accountAddress:d}))}))}async function Cn(e,t,r){var n;let{top:a,txEvents:i,combine:s,onNode:o}=r;const c=!0===s?[a,i].join():"immediate",l=null!==(n=vn.get(c))&&void 0!==n?n:[];return vn.set(c,l),await new Promise(((r,n)=>{var d;l.push({tx:e,accountAddress:t,top:a,txEvents:i,resolve:r,reject:n}),!0===s?null!==(d=l.timeout)&&void 0!==d||(l.timeout=setTimeout((()=>{Sn(c,o)}))):Sn(c,o)}))}async function xn(e,t){let{onNode:r}=t;return await r.getContractCode(e)}async function zn(e,t){let{onNode:r}=t;return await r.getContract(e)}async function _n(e,t){let{onNode:r}=t;return await r.getNameEntryByName(e)}async function Tn(e,t,r){let{verify:n=!0,resolveByNode:a=!1,onNode:i}=r;try{const t=e;return vt(t),t}catch(e){}if(hr(e)){if(n||a){const r=(await i.getNameEntryByName(e)).pointers.find((e=>e.key===t));if(null==r)throw new $(e,t);if(a)return r.id}return ir(e)}throw new G(`Invalid name or address: ${e}`)}var qn=b(3983),Pn=b(7289);const En={async argon2id(e,t,r){const{memlimit_kib:n,opslimit:a}=r;return(await(0,Pn.hash)({hashLen:32,pass:e,salt:t,time:a,mem:n,type:Pn.ArgonType.Argon2id})).hash}},In={"xsalsa20-poly1305":{encrypt:Ke().secretbox,decrypt(){const e=Ke().secretbox.open(...arguments);if(null==e)throw new fe;return e}}},kn={secret_type:"ed25519",symmetric_alg:"xsalsa20-poly1305",kdf:"argon2id",kdf_params:{memlimit_kib:65536,opslimit:3,parallelism:1}};function An(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:kn.symmetric_alg;return In[n].encrypt(e,r,t)}async function On(e,t,r,n){return await En[r](e,t,n)}async function Mn(e,t){let{crypto:r}=t;const n=nt(r.kdf_params.salt);return rt(function(e,t,r){return In[arguments.length>3&&void 0!==arguments[3]?arguments[3]:kn.symmetric_alg].decrypt(e,r,t)}(nt(r.ciphertext),await On(e,n,r.kdf,r.kdf_params),nt(r.cipher_params.nonce),r.symmetric_alg))}async function Rn(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Ke().randomBytes(24),a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:Ke().randomBytes(16),i=arguments.length>5?arguments[5]:void 0;const s={...kn,...i},o=await On(t,a,s.kdf,s.kdf_params),c="string"==typeof r?nt(r):r;return{name:e,version:1,public_key:xt(c),id:(0,qn.v4)(),crypto:{secret_type:s.secret_type,symmetric_alg:s.symmetric_alg,ciphertext:rt(An(c,o,n,s.symmetric_alg)),cipher_params:{nonce:rt(n)},kdf:s.kdf,kdf_params:{...s.kdf_params,salt:rt(a)}}}}async function Bn(e,t){var r;let{denomination:n,absoluteTtl:a,...i}=t;const s=i;let o;switch(e){case Or.spend:case Or.oracleQuery:o="senderId";break;case Or.nameClaim:case Or.nameUpdate:case Or.nameRevoke:case Or.nameTransfer:case Or.namePreClaim:case Or.oracleRegister:o="accountId";break;case Or.contractCreate:case Or.gaAttach:o="ownerId";break;case Or.contractCall:case Or.oracleExtend:case Or.oracleResponse:o="callerId";break;case Or.channelCloseSolo:case Or.channelSlash:case Or.channelSettle:case Or.channelSnapshotSolo:o="fromId";break;case Or.payingFor:o="payerId";break;default:throw new T("txType","valid transaction type",e)}var c;p()(r=[Or.contractCreate,Or.gaAttach]).call(r,e)&&(s.ctVersion=await jn(Or.contractCreate,{...s,...s.ctVersion})),e===Or.contractCall&&(s.abiVersion=(await jn(Or.contractCall,s)).abiVersion),e===Or.oracleRegister&&(null!==(c=s.abiVersion)&&void 0!==c||(s.abiVersion=Rr.NO_ABI)),e===Or.payingFor&&(s.tx=Jr(s.tx));const l=s[o];if(null==l)throw new Ee(`Transaction field ${o} is missed`);const d=await Dn(e,{...s,senderId:l,denomination:n,absoluteTtl:a});return Xr({...s,...d},e,{denomination:n}).tx}async function jn(e,t){var r,n;let{vmVersion:a,abiVersion:i,onNode:s}=t;const{consensusProtocolVersion:o}=await s.getNodeInfo();if(!ot(o,jr))throw new B("Not supported consensus protocol version");const c=jr[o];if(!ot(e,c))throw new Me("Not supported tx type");const l=c[e];return null!==(r=i)&&void 0!==r||(i=l.abiVersion[0]),null!==(n=a)&&void 0!==n||(a=l.vmVersion[0]),{vmVersion:a,abiVersion:i}}async function Dn(e,t){var r;let{senderId:n,nonce:a,ttl:i=zr,fee:s,absoluteTtl:o,vsn:c,strategy:l,denomination:u,onNode:p,...m}=t;if(null!==(r=a)&&void 0!==r||(a=(await p.getAccountNextNonce(n,{strategy:l}).catch((()=>({nextNonce:1})))).nextNonce),0!==i){if(i<0)throw new T("ttl","greater or equal to 0",i);i+=!0===o?0:(await p.getCurrentKeyBlock()).height}return{fee:null!=s?new(d())(s):nn(e,{params:{...m,senderId:n,nonce:a,ttl:i},vsn:c,denomination:u}),ttl:i,nonce:a}}var Vn=b(9882),Fn=b(1986);class Hn extends C{constructor(e){super(e),this.name="DerivationError"}}const Un=Buffer.from("ed25519 seed"),$n=2147483648;function Ln(e,t){const r=""===e?[]:(0,Fn.fromString)(e).toPathArray();return r.forEach(((e,t)=>{if(e<$n)throw new Hn(`Segment #${t+1} is not hardened`)})),r.reduce(((e,t)=>Yn(e,t)),t)}function Gn(e,t){var r;if(!p()(r=["m","m/"]).call(r,e.slice(0,2)))throw new Hn("Root element is required");const n=Qn(t);return Ln(e.slice(2),n)}function Kn(e){const{secretKey:t,publicKey:r}=e;return{secretKey:rt(t),publicKey:St(r,"ak")}}function Wn(e){return Ke().sign.keyPair.fromSeed(e)}function Qn(e){const t=(0,Vn.full)(e,Un);return{secretKey:t.slice(0,32),chainCode:t.slice(32)}}function Yn(e,t){let{secretKey:r,chainCode:n}=e;if(t<$n)throw new Hn(`Segment ${t} is not hardened`);const a=Buffer.allocUnsafe(4);a.writeUInt32BE(t,0);const i=st([Buffer.alloc(1,0),r,a]),s=(0,Vn.full)(i,n);return{secretKey:s.slice(0,32),chainCode:s.slice(32)}}function Xn(e,t){const r=Gn("m/44h/457h",e);return{secretKey:rt(kt(t,r.secretKey)),chainCode:rt(kt(t,r.chainCode))}}function Jn(e,t,r){const n={secretKey:At(t,Buffer.from(e.secretKey,"hex")),chainCode:At(t,Buffer.from(e.chainCode,"hex"))};return new Array(r).fill(void 0).map(((e,t)=>Kn(Wn(Ln(`${t}h/0h/0h`,n).secretKey))))}const Zn=(e,t)=>({...Kn(Wn(Ln(`${t}h/0h/0h`,Gn("m/44h/457h",e)).secretKey)),idx:t});var ea=b(7946);async function ta(e){let{onAccount:t,onCompiler:r,onNode:n,source:a,bytecode:i,aci:s,contractAddress:o,fileSystem:c={},validateBytecode:l,...d}=e;if(null==s&&null!=a&&(s=await r.generateACI({code:a,options:{fileSystem:c}})),null==s)throw new le;if(null!=o&&(o=await Tn(o,"contract_pubkey",{resolveByNode:!0,onNode:n})),null==o&&null==a&&null==i)throw new ce("Can't create instance by ACI without address");if(null!=o&&null==(await zn(o,{onNode:n})).active)throw new se(o);const u={_aci:s,_name:s.encodedAci.contract.name,calldata:new ea.Encoder([s.encodedAci,...s.externalEncodedAci]),source:a,bytecode:i,deployInfo:{address:o},options:{onAccount:t,onCompiler:r,onNode:n,amount:Er,callStatic:!1,fileSystem:c,...d},compile:async function(e){},_estimateGas:async function(e,t,r){},deploy:async function(e,t){},call:async function(e,t,r){},decodeEvents(e,t){},methods:void 0};if(null!=l){if(null==o)throw new ce("Can't validate bytecode without contract address");const e=(await xn(o,{onNode:n})).bytecode;if(!(null!=a?await r.validateByteCode({bytecode:e,source:a,options:u.options}).then((()=>!0),(()=>!1)):i===e))throw new ae(null!=a?"source":"bytecode")}u.compile=async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(null!=u.bytecode)throw new q("Contract already compiled");if(null==u.source)throw new q("Can't compile without source code");return u.bytecode=(await r.compileContract({code:u.source,options:{...u.options,...e}})).bytecode,u.bytecode};const p=async(e,t)=>{t={...u.options,...t};const r=await sa(e,t),a={hash:r.hash,tx:Jr(r.rawTx),txData:r,rawTx:r.rawTx};if(null==r.blockHeight)return a;const{callInfo:i}=await n.getTransactionInfoByHash(r.hash);return Object.assign(a.txData,i),m(i,e),{...a,result:i}},m=(e,t)=>{let r,{returnType:n,returnValue:a}=e;switch(n){case"ok":return;case"revert":r=u.calldata.decodeFateString(a);break;case"error":r=vt(a).toString()}throw new ue(r,t)};function h(e){const t=u._aci.encodedAci.contract.functions.find((t=>t.name===e));if(null!=t)return t;if("init"===e)return{payable:!1};throw new pe(`Function ${e} doesn't exist in contract`)}function y(e,t,r){let{contractAddressToName:n}=r;const a={...u.options.contractAddressToName,...n};if(null!=a[e])return a[e];const i=[u._aci.encodedAci,...u._aci.externalEncodedAci].filter((e=>{let{contract:t}=e;return null==t?void 0:t.event})).map((e=>{let{contract:t}=e;return[t.name,t.event.variant]})).map((e=>{let[t,r]=e;return r.map((e=>[t,Object.keys(e)[0]]))})).flat().filter((e=>{let[,r]=e;return BigInt("0x"+qt(r).toString("hex"))===t}));switch(i.length){case 0:throw new he(t.toString(),e);case 1:return i[0][0];default:throw new ye(e,i)}}return u._estimateGas=async(e,t,r)=>{const{result:{gasUsed:n}}=await u.call(e,t,{...r,callStatic:!0});return Math.floor(1.25*n)},u.deploy=async function(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],r=arguments.length>1?arguments[1]:void 0;const a={...u.options,...r};if(null==u.bytecode&&await u.compile(a),!0===a.callStatic)return await u.call("init",t,a);if(null!=u.deployInfo.address)throw new ie;const i=await a.onAccount.address(r),s=await Bn(Or.contractCreate,{...a,gasLimit:null!==(e=a.gasLimit)&&void 0!==e?e:await u._estimateGas("init",t,a),callData:u.calldata.encode(u._name,"init",t),code:u.bytecode,ownerId:i,onNode:n}),o=en(s),{hash:c,rawTx:l,result:d,txData:m}=await p(s,a);return u.deployInfo=Object.freeze({result:d,owner:i,transaction:c,rawTx:l,txData:m,address:o}),u.deployInfo},u.call=async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const a={...u.options,...r},i=h(e),s=u.deployInfo.address;if(null==e)throw new de;if("init"===e&&!1===a.callStatic)throw new oe('"init" can be called only via dryRun');if(null==s&&"init"!==e)throw new oe("You need to deploy contract before calling!");if("init"!==e&&a.amount>0&&!1===i.payable)throw new me(a.amount,e);const o=await Promise.resolve().then((()=>a.onAccount.address(a))).catch((e=>{if(!0===a.callStatic)return Ar.pub;throw e})),c=u.calldata.encode(u._name,e,t);let l;if(!0===a.callStatic){var d;"number"==typeof a.top&&(a.top=(await wn(a.top,{onNode:n})).hash);const t={...a,onNode:n,gasLimit:null!==(d=a.gasLimit)&&void 0!==d?d:Ir,callData:c};null==a.nonce&&null!=a.top&&(a.nonce=(await un(o,{hash:a.top,onNode:n})).nonce+1);const r=await("init"===e?Bn(Or.contractCreate,{...t,code:u.bytecode,ownerId:o}):Bn(Or.contractCall,{...t,callerId:o,contractId:s})),{callObj:i,...p}=await Cn(r,o,{onNode:n,...a});if(null==i)throw new F;m({returnType:i.returnType,returnValue:i.returnValue},r),l={...p,tx:Jr(r),result:i}}else{var y;const r=await Bn(Or.contractCall,{...a,onNode:n,gasLimit:null!==(y=a.gasLimit)&&void 0!==y?y:await u._estimateGas(e,t,a),callerId:o,contractId:s,callData:c});l=await p(r,a)}return!0!==a.callStatic&&null==l.txData.blockHeight||(l.decodedResult=null!=i.returns&&"unit"!==i.returns&&"init"!==e&&u.calldata.decode(u._name,e,l.result.returnValue),l.decodedEvents=u.decodeEvents(l.result.log,a)),l},u.decodeEvents=function(e){let{omitUnknown:t,...r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.map((e=>{const n=e.topics.map((e=>BigInt(e)));let a;try{a=y(e.address,n[0],r)}catch(e){if(null!=t&&t&&e instanceof he)return null;throw e}const i=u.calldata.decodeEvent(a,e.data,n),[s,o]=Object.entries(i)[0];return{name:s,args:o,contract:{name:a,address:e.address}}})).filter((e=>null!=e))},u.methods=Object.fromEntries(u._aci.encodedAci.contract.functions.map((e=>{let{name:t,arguments:r,stateful:n}=e;const a=e=>async function(){for(var n=arguments.length,a=new Array(n),i=0;i<n;i++)a[i]=arguments[i];const s=a.length===r.length+1?a.pop():{};if("object"!=typeof s)throw new M(`Options should be an object: ${s}`);return"init"===t?await u.deploy(a,{callStatic:e,...s}):await u.call(t,a,{callStatic:e,...s})};return[t,Object.assign(a("init"!==t&&!n),{get:a(!0),send:a(!1)})]}))),u}async function ra(e,t){const{contractId:r}=await un(e,t);return null!=r}async function na(e,t,r,n){var a;let{onAccount:i,onCompiler:s,onNode:o,...c}=n;const l=await i.address(c);if(await ra(l,{onNode:o}))throw new q(`Account ${l} is already GA`);const d=await ta({onAccount:i,onCompiler:s,onNode:o,source:t}),u=await Bn(Or.gaAttach,{...c,onNode:o,code:await d.compile(),gasLimit:null!==(a=c.gasLimit)&&void 0!==a?a:await d._estimateGas("init",r,c),ownerId:l,callData:d.calldata.encode(d._name,"init",r),authFun:qt(e)}),p=en(u),{hash:m,rawTx:h}=await sa(u,{onNode:o,onAccount:i,onCompiler:s,...c});return Object.freeze({owner:l,transaction:m,rawTx:h,gaContractId:p})}async function aa(e,t,r,n){var a,i;let{onAccount:s,onCompiler:o,onNode:c,...l}=n;const d=e=>Xr({encodedTx:e,signatures:[]},Or.signed);if(Object.keys(t).length<=0)throw new I("authData is required");const u=null!==(a=t.gasLimit)&&void 0!==a?a:kr;if(u>kr)throw new ne(`the maximum gasLimit value for ga authFun is ${kr}, got ${u}`);const p=null!==(i=t.callData)&&void 0!==i?i:await(async()=>{if(null==t.source||null==t.args)throw new ne("Auth data must contain source code and arguments.");const e=await ta({onAccount:s,onCompiler:o,onNode:c,source:t.source});return e.calldata.encode(e._name,r,t.args)})(),{abiVersion:m}=await jn(Or.contractCall,{onNode:c}),h=d(Jr(e)),y={...l,tx:{...h,tx:h.txObject},gaId:await s.address(l),abiVersion:m,authData:p,gasLimit:u,vsn:2},{fee:g}=await Dn(Or.gaMeta,{...y,onNode:c}),{rlpEncoded:f}=Xr({...y,fee:g},Or.gaMeta);return d(f).tx}async function ia(e,t){let{onNode:r}=t;const{networkId:n}=await r.getStatus();return new Uint8Array(qt(st([Buffer.from(n),vt(e)])))}async function sa(e,t){const{contractId:r,authFun:n}=!0===t.innerTx?{contractId:null}:await un(await t.onAccount.address(t),t),a=null!=r?await oa(e,{authData:{},...t,authFun:n}):await t.onAccount.signTransaction(e,t);return!0===t.innerTx?{hash:Zr(a),rawTx:a}:await ln(a,t)}async function oa(e,t){let{authData:r,authFun:n,...a}=t;return await aa(e,r,n,a)}async function ca(e,t,r){return await sa(await Bn(Or.spend,{...r,senderId:await r.onAccount.address(r),recipientId:await Tn(t,"account_pubkey",r),amount:e}),r)}async function la(e,t,r){if(e<0||e>1)throw new T("fraction","a number between 0 and 1",e);const n=await Tn(t,"account_pubkey",r),a=await r.onAccount.address(r),i=new(d())(await pn.bind(r.onAccount)(a,r)),s=i.times(e).integerValue(d().ROUND_HALF_UP),{tx:{fee:o}}=Jr(await Bn(Or.spend,{...r,senderId:a,recipientId:n,amount:s}),Or.spend),c=s.plus(o).gt(i)?i.minus(o):s;return await sa(await Bn(Or.spend,{...r,senderId:a,recipientId:n,amount:c}),r)}async function da(e,t){return await sa(await Bn(Or.payingFor,{...t,payerId:await t.onAccount.address(t),tx:e}),t)}async function ua(e,t){const r=await Bn(Or.nameRevoke,{...t,nameId:e,accountId:await t.onAccount.address(t)});return await sa(r,t)}async function pa(e,t,r){let{extendPointers:n,...a}=r;const i={...!0===n&&Object.fromEntries((await _n(e,a)).pointers.map((e=>{let{key:t,id:r}=e;return[t,r]}))),...t},s=await Bn(Or.nameUpdate,{clientTtl:Ut,nameTtl:Vt,...a,nameId:e,accountId:await a.onAccount.address(a),pointers:Object.entries(i).map((e=>{let[t,r]=e;return{key:t,id:r.toString()}}))});return await sa(s,a)}async function ma(e,t,r){const n=await Bn(Or.nameTransfer,{...r,nameId:e,accountId:await r.onAccount.address(r),recipientId:t});return await sa(n,r)}async function ha(e,t){const r=await _n(e,t);return Object.freeze({...r,id:r.id,owner:r.owner,update:async(r,n)=>({...await pa(e,r,{...t,...n}),...await ha(e,{...t,...n})}),transfer:async(r,n)=>({...await ma(e,r,{...t,...n}),...await ha(e,{...t,...n})}),revoke:async r=>await ua(e,{...t,...r}),async extendTtl(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Vt,n=arguments.length>1?arguments[1]:void 0;if(r>Vt||r<=0)throw new T("nameTtl",`a number between 1 and ${Vt} blocks`,r);return{...await pa(e,{},{...t,...n,nameTtl:r,extendPointers:!0}),...await ha(e,{...t,...n})}}})}async function ya(e,t,r){const n=await Bn(Or.nameClaim,{...r,accountId:await r.onAccount.address(r),nameSalt:t,name:e}),a=await sa(n,r);if(!wr(e)){const t=null!=a.blockHeight&&a.blockHeight>0?await ha(e,r):{};return Object.assign(a,t)}return a}async function ga(e,t){const r=_t(),n=await mn(t),a=sr(e,r),i=await Bn(Or.namePreClaim,{...t,accountId:await t.onAccount.address(t),commitmentId:a});return Object.freeze({...await sa(i,t),height:n,salt:r,commitmentId:a,claim:async n=>await ya(e,r,{...t,...n})})}async function fa(e,t,r){return await ya(e,0,{...r,nameFee:t})}async function Na(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],{onAccount:t,onNode:r,...n}=arguments.length>1?arguments[1]:void 0;const a=await t.sign(st([Buffer.from((await r.getStatus()).networkId),...e.map((e=>vt(e)))]),n);return Buffer.from(a).toString("hex")}async function wa(e,t){return await Na([await t.onAccount.address(t),...null!=t.name?[ir(t.name)]:[],e],t)}async function ba(e,t){var r;return await Na([null!==(r=t.queryId)&&void 0!==r?r:await t.onAccount.address(t),e],t)}async function va(e,t){return{...await t.onNode.getOracleByPubkey(e),queries:(await t.onNode.getOracleQueriesByPubkey(e)).oracleQueries,...it({pollQueries:Sa,postQuery:_a,respondToQuery:qa,extendOracle:Ta,getQuery:Ca},(r=>{let[n,a]=r;return[n,function(){for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];const s=n[n.length-1];return null!=s&&"object"==typeof s&&s.constructor===Object?Object.assign(s,{...t,...s}):n.push(t),a(e,...n)}]}))}}function Sa(e,t,r){var n;let{interval:a,onNode:i,...s}=r;null!==(n=a)&&void 0!==n||(a=cn("microblock",s));const o=new Set,c=async()=>{var r;const n=(null!==(r=(await i.getOracleQueriesByPubkey(e)).oracleQueries)&&void 0!==r?r:[]).filter((e=>{let{id:t}=e;return!o.has(t)}));n.forEach((e=>{let{id:t}=e;return o.add(t)})),n.length>0&&t(n)};let l=!1;return(async()=>{for(;!l;)await c().catch(console.error),await at(a)})(),()=>{l=!0}}async function Ca(e,t,r){const n=await r.onNode.getOracleQueryByPubkeyAndQueryId(e,t);return{...n,decodedQuery:vt(n.query).toString(),decodedResponse:vt(n.response).toString(),respond:async(n,a)=>await qa(e,t,n,{...r,...a}),pollForResponse:async n=>await xa(e,t,{...r,...n})}}async function xa(e,t,r){var n;let{attempts:a=20,interval:i,onNode:s,...o}=r;null!==(n=i)&&void 0!==n||(i=cn("microblock",o));for(let r=0;r<a;r++){r>0&&await at(i);const{response:n}=await s.getOracleQueryByPubkeyAndQueryId(e,t),a=vt(n);if(a.length>0)return a.toString()}throw new A((a-1)*i)}async function za(e,t,r){const n=await r.onAccount.address(r),a=await Bn(Or.oracleRegister,{queryFee:_r,oracleTtlValue:Tr.value,oracleTtlType:Tr.type,...r,accountId:n,queryFormat:e,responseFormat:t});return{...await sa(a,r),...await va(St(vt(n),"ok"),r)}}async function _a(e,t,r){var n;null!==(n=r.queryFee)&&void 0!==n||(r.queryFee=(await r.onNode.getOracleByPubkey(e)).queryFee.toString());const a=await r.onAccount.address(r),i=await Bn(Or.oracleQuery,{queryTtlType:qr.type,queryTtlValue:qr.value,responseTtlType:Pr.type,responseTtlValue:Pr.value,...r,oracleId:e,senderId:a,query:t}),s=nr(a,Jr(i,Or.oracleQuery).tx.nonce,e);return{...await sa(i,r),...await Ca(e,s,r)}}async function Ta(e,t){const r=await Bn(Or.oracleExtend,{oracleTtlType:Tr.type,oracleTtlValue:Tr.value,...t,callerId:await t.onAccount.address(t),oracleId:e});return{...await sa(r,t),...await va(e,t)}}async function qa(e,t,r,n){const a=await Bn(Or.oracleResponse,{responseTtlType:Pr.type,responseTtlValue:Pr.value,...n,callerId:await n.onAccount.address(n),oracleId:e,queryId:t,response:r});return{...await sa(a,n),...await va(e,n)}}var Pa=b(7672),Ea=b.n(Pa),Ia=b(5039);const ka=()=>{const e=new Map;return{policy:{name:"request-queues",async sendRequest(t,r){var n;const a=t.headers.get("__queue");t.headers.delete("__queue");const i=async()=>await r(t);if(null==a)return await i();const s=(null!==(n=e.get(a))&&void 0!==n?n:Promise.resolve()).then(i,i);return e.set(a,s.then((async()=>await at(750)))),await s}},position:"perCall"}},Aa=()=>{const e=new Map;return{policy:{name:"combine-requests",async sendRequest(t,r){var n;if("GET"!==t.method)return await r(t);const a=JSON.stringify([t.url,t.body]),i=null!==(n=e.get(a))&&void 0!==n?n:r(t);e.set(a,i);try{return await i}finally{e.delete(a)}}},position:"perCall"}},Oa=e=>({policy:{name:"error-formatter",async sendRequest(t,r){try{return await r(t)}catch(t){var n;if(!(t instanceof Ia.RestError)||null==t.request)throw t;if(null==(null===(n=t.response)||void 0===n?void 0:n.bodyAsText))throw t;let r;try{r=JSON.parse(t.response.bodyAsText)}catch(e){throw t}t.message=`${new URL(t.request.url).pathname.slice(1)} error`;const a=e(r);throw""!==a&&(t.message+=`:${a}`),t}}},position:"perCall"}),Ma=(e,t,r,n,a)=>({name:"version-check",async sendRequest(i,s){if(new URL(i.url).pathname===t)return await s(i);const o=[await r,n,a];if(!function(e,t,r){const n=e=>e.split(/[-+]/)[0].split(".").map((e=>+e)),a=n(e),i=n(t),s=n(r),o=Math.max(...a,...i,...s)+1,c=e=>e.reverse().reduce(((e,t,r)=>e+t*Math.pow(o,r)),0),l=c(a),d=c(i),u=c(s);return l>=d&&l<u}(...o))throw new D(e,...o);return await s(i)}});var Ra=b(4711);const Ba={type:{name:"Composite",className:"Header",modelProperties:{hash:{serializedName:"hash",required:!0,type:{name:"String"}},height:{serializedName:"height",required:!0,type:{name:"String"}},prevHash:{serializedName:"prev_hash",required:!0,type:{name:"String"}},prevKeyHash:{serializedName:"prev_key_hash",required:!0,type:{name:"String"}},stateHash:{serializedName:"state_hash",required:!0,type:{name:"String"}},miner:{serializedName:"miner",type:{name:"String"}},beneficiary:{serializedName:"beneficiary",type:{name:"String"}},target:{serializedName:"target",type:{name:"String"}},pow:{constraints:{MinItems:42,MaxItems:42},serializedName:"pow",type:{name:"Sequence",element:{type:{name:"String"}}}},nonce:{serializedName:"nonce",type:{name:"String"}},time:{serializedName:"time",required:!0,type:{name:"String"}},version:{serializedName:"version",required:!0,type:{name:"String"}},info:{serializedName:"info",type:{name:"String"}},pofHash:{serializedName:"pof_hash",type:{name:"String"}},txsHash:{serializedName:"txs_hash",type:{name:"String"}},signature:{serializedName:"signature",type:{name:"String"}}}}},ja={type:{name:"Composite",className:"ErrorModel",modelProperties:{reason:{serializedName:"reason",required:!0,type:{name:"String"}}}}},Da={type:{name:"Composite",className:"KeyBlock",modelProperties:{hash:{serializedName:"hash",required:!0,type:{name:"String"}},height:{serializedName:"height",required:!0,type:{name:"String"}},prevHash:{serializedName:"prev_hash",required:!0,type:{name:"String"}},prevKeyHash:{serializedName:"prev_key_hash",required:!0,type:{name:"String"}},stateHash:{serializedName:"state_hash",required:!0,type:{name:"String"}},miner:{serializedName:"miner",required:!0,type:{name:"String"}},beneficiary:{serializedName:"beneficiary",required:!0,type:{name:"String"}},target:{serializedName:"target",required:!0,type:{name:"String"}},pow:{constraints:{MinItems:42,MaxItems:42},serializedName:"pow",type:{name:"Sequence",element:{type:{name:"String"}}}},nonce:{serializedName:"nonce",type:{name:"String"}},time:{serializedName:"time",required:!0,type:{name:"String"}},version:{serializedName:"version",required:!0,type:{name:"String"}},info:{serializedName:"info",required:!0,type:{name:"String"}}}}},Va={type:{name:"Composite",className:"HashResponse",modelProperties:{hash:{serializedName:"hash",required:!0,type:{name:"String"}}}}},Fa={type:{name:"Composite",className:"HeightResponse",modelProperties:{height:{serializedName:"height",required:!0,type:{name:"String"}}}}},Ha={type:{name:"Composite",className:"MicroBlockHeader",modelProperties:{hash:{serializedName:"hash",required:!0,type:{name:"String"}},height:{serializedName:"height",required:!0,type:{name:"String"}},pofHash:{serializedName:"pof_hash",required:!0,type:{name:"String"}},prevHash:{serializedName:"prev_hash",required:!0,type:{name:"String"}},prevKeyHash:{serializedName:"prev_key_hash",required:!0,type:{name:"String"}},stateHash:{serializedName:"state_hash",required:!0,type:{name:"String"}},txsHash:{serializedName:"txs_hash",required:!0,type:{name:"String"}},signature:{serializedName:"signature",required:!0,type:{name:"String"}},time:{serializedName:"time",required:!0,type:{name:"String"}},version:{serializedName:"version",required:!0,type:{name:"String"}}}}},Ua={type:{name:"Composite",className:"SignedTxs",modelProperties:{transactions:{serializedName:"transactions",required:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"SignedTx"}}}}}}},$a={type:{name:"Composite",className:"SignedTx",modelProperties:{tx:{serializedName:"tx",type:{name:"Composite",className:"Tx"}},blockHeight:{serializedName:"block_height",required:!0,type:{name:"String"}},blockHash:{serializedName:"block_hash",required:!0,type:{name:"String"}},hash:{serializedName:"hash",required:!0,type:{name:"String"}},signatures:{serializedName:"signatures",required:!0,type:{name:"Sequence",element:{type:{name:"String"}}}}}}},La={type:{name:"Composite",className:"Tx",uberParent:"Tx",polymorphicDiscriminator:{serializedName:"type",clientName:"type"},modelProperties:{recipientId:{serializedName:"recipient_id",type:{name:"String"}},amount:{serializedName:"amount",type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},senderId:{serializedName:"sender_id",type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}},payload:{serializedName:"payload",type:{name:"String"}},initiatorId:{serializedName:"initiator_id",type:{name:"String"}},initiatorAmount:{serializedName:"initiator_amount",type:{name:"String"}},responderId:{serializedName:"responder_id",type:{name:"String"}},responderAmount:{serializedName:"responder_amount",type:{name:"String"}},channelReserve:{serializedName:"channel_reserve",type:{name:"String"}},lockPeriod:{serializedName:"lock_period",type:{name:"String"}},stateHash:{serializedName:"state_hash",type:{name:"String"}},delegateIds:{serializedName:"delegate_ids",type:{name:"Composite",className:"Delegates"}},channelId:{serializedName:"channel_id",type:{name:"String"}},fromId:{serializedName:"from_id",type:{name:"String"}},round:{serializedName:"round",type:{name:"String"}},toId:{serializedName:"to_id",type:{name:"String"}},update:{serializedName:"update",type:{name:"Composite",className:"OffChainUpdate"}},offchainTrees:{serializedName:"offchain_trees",type:{name:"String"}},initiatorAmountFinal:{serializedName:"initiator_amount_final",type:{name:"String"}},responderAmountFinal:{serializedName:"responder_amount_final",type:{name:"String"}},poi:{serializedName:"poi",type:{name:"String"}},initiatorDelegateIds:{serializedName:"initiator_delegate_ids",type:{name:"Sequence",element:{type:{name:"String"}}}},responderDelegateIds:{serializedName:"responder_delegate_ids",type:{name:"Sequence",element:{type:{name:"String"}}}},queryFormat:{serializedName:"query_format",type:{name:"String"}},responseFormat:{serializedName:"response_format",type:{name:"String"}},queryFee:{serializedName:"query_fee",type:{name:"String"}},oracleTtl:{serializedName:"oracle_ttl",type:{name:"Composite",className:"RelativeTTL"}},accountId:{serializedName:"account_id",type:{name:"String"}},abiVersion:{serializedName:"abi_version",type:{name:"String"}},oracleId:{serializedName:"oracle_id",type:{name:"String"}},query:{serializedName:"query",type:{name:"String"}},queryTtl:{serializedName:"query_ttl",type:{name:"Composite",className:"Ttl"}},responseTtl:{serializedName:"response_ttl",type:{name:"Composite",className:"RelativeTTL"}},queryId:{serializedName:"query_id",type:{name:"String"}},response:{serializedName:"response",type:{name:"String"}},commitmentId:{serializedName:"commitment_id",type:{name:"String"}},name:{serializedName:"name",type:{name:"String"}},nameSalt:{serializedName:"name_salt",type:{name:"String"}},nameFee:{serializedName:"name_fee",type:{name:"String"}},nameId:{serializedName:"name_id",type:{name:"String"}},nameTtl:{serializedName:"name_ttl",type:{name:"String"}},pointers:{serializedName:"pointers",type:{name:"Sequence",element:{type:{name:"Composite",className:"NamePointer"}}}},clientTtl:{serializedName:"client_ttl",type:{name:"String"}},ownerId:{serializedName:"owner_id",type:{name:"String"}},code:{serializedName:"code",type:{name:"String"}},vmVersion:{serializedName:"vm_version",type:{name:"String"}},deposit:{serializedName:"deposit",type:{name:"String"}},gas:{serializedName:"gas",type:{name:"String"}},gasPrice:{serializedName:"gas_price",type:{name:"String"}},callData:{serializedName:"call_data",type:{name:"String"}},callerId:{serializedName:"caller_id",type:{name:"String"}},contractId:{serializedName:"contract_id",type:{name:"String"}},authFun:{constraints:{Pattern:new RegExp("^(0x|0X)?[a-fA-F0-9]+$")},serializedName:"auth_fun",type:{name:"String"}},gaId:{serializedName:"ga_id",type:{name:"String"}},authData:{serializedName:"auth_data",type:{name:"String"}},tx:{serializedName:"tx",type:{name:"Composite",className:"SignedTx"}},payerId:{serializedName:"payer_id",type:{name:"String"}},version:{serializedName:"version",required:!0,type:{name:"String"}},type:{serializedName:"type",required:!0,type:{name:"Enum",allowedValues:["SpendTx","ChannelCreateTx","ChannelDepositTx","ChannelWithdrawTx","ChannelForceProgressTx","ChannelCloseMutualTx","ChannelCloseSoloTx","ChannelSlashTx","ChannelSettleTx","ChannelSnapshotSoloTx","ChannelSetDelegatesTx","OracleRegisterTx","OracleExtendTx","OracleQueryTx","OracleRespondTx","NamePreclaimTx","NameClaimTx","NameUpdateTx","NameTransferTx","NameRevokeTx","ContractCreateTx","ContractCallTx","GAAttachTx","GAMetaTx","PayingForTx"]}}}}},Ga={type:{name:"Composite",className:"Delegates",modelProperties:{initiator:{serializedName:"initiator",type:{name:"Sequence",element:{type:{name:"String"}}}},responder:{serializedName:"responder",type:{name:"Sequence",element:{type:{name:"String"}}}}}}},Ka={type:{name:"Composite",className:"OffChainUpdate",uberParent:"OffChainUpdate",polymorphicDiscriminator:{serializedName:"op",clientName:"op"},modelProperties:{op:{serializedName:"op",required:!0,type:{name:"String"}}}}},Wa={type:{name:"Composite",className:"RelativeTTL",modelProperties:{type:{defaultValue:"delta",isConstant:!0,serializedName:"type",type:{name:"String"}},value:{serializedName:"value",required:!0,type:{name:"String"}}}}},Qa={type:{name:"Composite",className:"Ttl",modelProperties:{type:{serializedName:"type",required:!0,type:{name:"Enum",allowedValues:["delta","block"]}},value:{serializedName:"value",required:!0,type:{name:"String"}}}}},Ya={type:{name:"Composite",className:"NamePointer",modelProperties:{key:{serializedName:"key",required:!0,type:{name:"String"}},id:{serializedName:"id",required:!0,type:{name:"String"}}}}},Xa={type:{name:"Composite",className:"CountResponse",modelProperties:{count:{serializedName:"count",required:!0,type:{name:"String"}}}}},Ja={type:{name:"Composite",className:"Generation",modelProperties:{keyBlock:{serializedName:"key_block",type:{name:"Composite",className:"KeyBlock"}},microBlocks:{serializedName:"micro_blocks",required:!0,type:{name:"Sequence",element:{type:{name:"String"}}}}}}},Za={type:{name:"Composite",className:"Account",modelProperties:{id:{serializedName:"id",required:!0,type:{name:"String"}},balance:{serializedName:"balance",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",required:!0,type:{name:"String"}},payable:{serializedName:"payable",type:{name:"Boolean"}},kind:{serializedName:"kind",type:{name:"Enum",allowedValues:["basic","generalized"]}},contractId:{serializedName:"contract_id",type:{name:"String"}},authFun:{serializedName:"auth_fun",type:{name:"String"}}}}},ei={type:{name:"Composite",className:"NextNonceResponse",modelProperties:{nextNonce:{serializedName:"next_nonce",required:!0,type:{name:"String"}}}}},ti={type:{name:"Composite",className:"DryRunInput",modelProperties:{top:{serializedName:"top",type:{name:"String"}},accounts:{serializedName:"accounts",type:{name:"Sequence",element:{type:{name:"Composite",className:"DryRunAccount"}}}},txs:{serializedName:"txs",required:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"DryRunInputItem"}}}},txEvents:{defaultValue:!1,serializedName:"tx_events",type:{name:"Boolean"}}}}},ri={type:{name:"Composite",className:"DryRunAccount",modelProperties:{pubKey:{serializedName:"pub_key",required:!0,type:{name:"String"}},amount:{serializedName:"amount",required:!0,type:{name:"String"}}}}},ni={type:{name:"Composite",className:"DryRunInputItem",modelProperties:{tx:{serializedName:"tx",type:{name:"String"}},callReq:{serializedName:"call_req",type:{name:"Composite",className:"DryRunCallReq"}}}}},ai={type:{name:"Composite",className:"DryRunCallReq",modelProperties:{calldata:{serializedName:"calldata",required:!0,type:{name:"String"}},contract:{serializedName:"contract",required:!0,type:{name:"String"}},amount:{serializedName:"amount",type:{name:"String"}},gas:{serializedName:"gas",type:{name:"String"}},caller:{serializedName:"caller",type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}},abiVersion:{serializedName:"abi_version",type:{name:"String"}},context:{serializedName:"context",type:{name:"Composite",className:"DryRunCallContext"}}}}},ii={type:{name:"Composite",className:"DryRunCallContext",modelProperties:{tx:{serializedName:"tx",type:{name:"String"}},txHash:{serializedName:"tx_hash",type:{name:"String"}},stateful:{serializedName:"stateful",type:{name:"Boolean"}}}}},si={type:{name:"Composite",className:"DryRunResults",modelProperties:{results:{serializedName:"results",required:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"DryRunResult"}}}},txEvents:{serializedName:"tx_events",type:{name:"Sequence",element:{type:{name:"Dictionary",value:{type:{name:"any"}}}}}}}}},oi={type:{name:"Composite",className:"DryRunResult",modelProperties:{type:{serializedName:"type",required:!0,type:{name:"String"}},result:{serializedName:"result",required:!0,type:{name:"String"}},reason:{serializedName:"reason",type:{name:"String"}},callObj:{serializedName:"call_obj",type:{name:"Composite",className:"ContractCallObject"}}}}},ci={type:{name:"Composite",className:"ContractCallObject",modelProperties:{callerId:{serializedName:"caller_id",required:!0,type:{name:"String"}},callerNonce:{serializedName:"caller_nonce",required:!0,type:{name:"String"}},height:{serializedName:"height",required:!0,type:{name:"String"}},contractId:{serializedName:"contract_id",required:!0,type:{name:"String"}},gasPrice:{serializedName:"gas_price",required:!0,type:{name:"String"}},gasUsed:{serializedName:"gas_used",required:!0,type:{name:"String"}},log:{serializedName:"log",required:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"Event"}}}},returnValue:{serializedName:"return_value",required:!0,type:{name:"String"}},returnType:{serializedName:"return_type",required:!0,type:{name:"String"}}}}},li={type:{name:"Composite",className:"Event",modelProperties:{address:{serializedName:"address",required:!0,type:{name:"String"}},topics:{serializedName:"topics",required:!0,type:{name:"Sequence",element:{type:{name:"String"}}}},data:{serializedName:"data",required:!0,type:{name:"String"}}}}},di={type:{name:"Composite",className:"TxInfoObject",modelProperties:{callInfo:{serializedName:"call_info",type:{name:"Composite",className:"ContractCallObject"}},gaInfo:{serializedName:"ga_info",type:{name:"Composite",className:"GAObject"}},txInfo:{serializedName:"tx_info",type:{name:"String"}}}}},ui={type:{name:"Composite",className:"GAObject",modelProperties:{callerId:{serializedName:"caller_id",required:!0,type:{name:"String"}},height:{serializedName:"height",required:!0,type:{name:"String"}},gasPrice:{serializedName:"gas_price",required:!0,type:{name:"String"}},gasUsed:{serializedName:"gas_used",required:!0,type:{name:"String"}},returnValue:{serializedName:"return_value",required:!0,type:{name:"String"}},returnType:{serializedName:"return_type",required:!0,type:{name:"String"}},innerObject:{serializedName:"inner_object",type:{name:"Composite",className:"TxInfoObject"}}}}},pi={type:{name:"Composite",className:"EncodedTx",modelProperties:{tx:{serializedName:"tx",required:!0,type:{name:"String"}}}}},mi={type:{name:"Composite",className:"PostTxResponse",modelProperties:{txHash:{serializedName:"tx_hash",required:!0,type:{name:"String"}}}}},hi={type:{name:"Composite",className:"ContractObject",modelProperties:{id:{serializedName:"id",required:!0,type:{name:"String"}},ownerId:{serializedName:"owner_id",required:!0,type:{name:"String"}},vmVersion:{serializedName:"vm_version",required:!0,type:{name:"String"}},abiVersion:{serializedName:"abi_version",required:!0,type:{name:"String"}},active:{serializedName:"active",required:!0,type:{name:"Boolean"}},referrerIds:{serializedName:"referrer_ids",required:!0,type:{name:"Sequence",element:{type:{name:"String"}}}},deposit:{serializedName:"deposit",required:!0,type:{name:"String"}}}}},yi={type:{name:"Composite",className:"ByteCode",modelProperties:{bytecode:{serializedName:"bytecode",required:!0,type:{name:"String"}}}}},gi={type:{name:"Composite",className:"PoI",modelProperties:{poi:{serializedName:"poi",required:!0,type:{name:"String"}}}}},fi={type:{name:"Composite",className:"RegisteredOracle",modelProperties:{id:{serializedName:"id",required:!0,type:{name:"String"}},queryFormat:{serializedName:"query_format",required:!0,type:{name:"String"}},responseFormat:{serializedName:"response_format",required:!0,type:{name:"String"}},queryFee:{serializedName:"query_fee",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",required:!0,type:{name:"String"}},abiVersion:{serializedName:"abi_version",required:!0,type:{name:"String"}}}}},Ni={type:{name:"Composite",className:"OracleQueries",modelProperties:{oracleQueries:{serializedName:"oracle_queries",required:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"OracleQuery"}}}}}}},wi={type:{name:"Composite",className:"OracleQuery",modelProperties:{id:{serializedName:"id",required:!0,type:{name:"String"}},senderId:{serializedName:"sender_id",required:!0,type:{name:"String"}},senderNonce:{serializedName:"sender_nonce",required:!0,type:{name:"String"}},oracleId:{serializedName:"oracle_id",required:!0,type:{name:"String"}},query:{serializedName:"query",required:!0,type:{name:"String"}},response:{serializedName:"response",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",required:!0,type:{name:"String"}},responseTtl:{serializedName:"response_ttl",type:{name:"Composite",className:"Ttl"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}}}}},bi={type:{name:"Composite",className:"NameEntry",modelProperties:{id:{serializedName:"id",required:!0,type:{name:"String"}},owner:{serializedName:"owner",type:{name:"String"}},ttl:{serializedName:"ttl",required:!0,type:{name:"String"}},pointers:{serializedName:"pointers",required:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"NamePointer"}}}}}}},vi={type:{name:"Composite",className:"Channel",modelProperties:{id:{serializedName:"id",required:!0,type:{name:"String"}},initiatorId:{serializedName:"initiator_id",required:!0,type:{name:"String"}},responderId:{serializedName:"responder_id",required:!0,type:{name:"String"}},channelAmount:{serializedName:"channel_amount",required:!0,type:{name:"String"}},initiatorAmount:{serializedName:"initiator_amount",required:!0,type:{name:"String"}},responderAmount:{serializedName:"responder_amount",required:!0,type:{name:"String"}},channelReserve:{serializedName:"channel_reserve",required:!0,type:{name:"String"}},delegateIds:{serializedName:"delegate_ids",type:{name:"Composite",className:"Delegates"}},stateHash:{serializedName:"state_hash",required:!0,type:{name:"String"}},round:{serializedName:"round",required:!0,type:{name:"String"}},soloRound:{serializedName:"solo_round",required:!0,type:{name:"String"}},lockPeriod:{serializedName:"lock_period",required:!0,type:{name:"String"}},lockedUntil:{serializedName:"locked_until",required:!0,type:{name:"String"}}}}},Si={type:{name:"Composite",className:"PeerPubKey",modelProperties:{pubkey:{serializedName:"pubkey",required:!0,type:{name:"String"}}}}},Ci={type:{name:"Composite",className:"Status",modelProperties:{genesisKeyBlockHash:{serializedName:"genesis_key_block_hash",required:!0,type:{name:"String"}},solutions:{serializedName:"solutions",required:!0,type:{name:"String"}},difficulty:{serializedName:"difficulty",required:!0,type:{name:"String"}},syncing:{serializedName:"syncing",required:!0,type:{name:"Boolean"}},syncProgress:{constraints:{InclusiveMaximum:100,InclusiveMinimum:0},serializedName:"sync_progress",type:{name:"Number"}},listening:{serializedName:"listening",required:!0,type:{name:"Boolean"}},protocols:{serializedName:"protocols",required:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"Protocol"}}}},nodeVersion:{serializedName:"node_version",required:!0,type:{name:"String"}},nodeRevision:{serializedName:"node_revision",required:!0,type:{name:"String"}},peerCount:{serializedName:"peer_count",required:!0,type:{name:"String"}},peerConnections:{serializedName:"peer_connections",type:{name:"Composite",className:"PeerConnections"}},pendingTransactionsCount:{serializedName:"pending_transactions_count",required:!0,type:{name:"String"}},networkId:{serializedName:"network_id",required:!0,type:{name:"String"}},peerPubkey:{serializedName:"peer_pubkey",required:!0,type:{name:"String"}},topKeyBlockHash:{serializedName:"top_key_block_hash",required:!0,type:{name:"String"}},topBlockHeight:{serializedName:"top_block_height",required:!0,type:{name:"String"}}}}},xi={type:{name:"Composite",className:"Protocol",modelProperties:{version:{serializedName:"version",required:!0,type:{name:"String"}},effectiveAtHeight:{serializedName:"effective_at_height",required:!0,type:{name:"String"}}}}},zi={type:{name:"Composite",className:"PeerConnections",modelProperties:{inbound:{serializedName:"inbound",required:!0,type:{name:"String"}},outbound:{serializedName:"outbound",required:!0,type:{name:"String"}}}}},_i={type:{name:"Composite",className:"SpendTx",modelProperties:{recipientId:{serializedName:"recipient_id",required:!0,type:{name:"String"}},amount:{serializedName:"amount",required:!0,type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},senderId:{serializedName:"sender_id",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}},payload:{serializedName:"payload",required:!0,type:{name:"String"}}}}},Ti={type:{name:"Composite",className:"OracleRegisterTx",modelProperties:{queryFormat:{serializedName:"query_format",required:!0,type:{name:"String"}},responseFormat:{serializedName:"response_format",required:!0,type:{name:"String"}},queryFee:{serializedName:"query_fee",required:!0,type:{name:"String"}},oracleTtl:{serializedName:"oracle_ttl",type:{name:"Composite",className:"Ttl"}},accountId:{serializedName:"account_id",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},abiVersion:{serializedName:"abi_version",type:{name:"String"}}}}},qi={type:{name:"Composite",className:"OracleExtendTx",modelProperties:{fee:{serializedName:"fee",required:!0,type:{name:"String"}},oracleTtl:{serializedName:"oracle_ttl",type:{name:"Composite",className:"RelativeTTL"}},oracleId:{serializedName:"oracle_id",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}}}}},Pi={type:{name:"Composite",className:"OracleQueryTx",modelProperties:{oracleId:{serializedName:"oracle_id",required:!0,type:{name:"String"}},query:{serializedName:"query",required:!0,type:{name:"String"}},queryFee:{serializedName:"query_fee",required:!0,type:{name:"String"}},queryTtl:{serializedName:"query_ttl",type:{name:"Composite",className:"Ttl"}},responseTtl:{serializedName:"response_ttl",type:{name:"Composite",className:"RelativeTTL"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},senderId:{serializedName:"sender_id",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}}}}},Ei={type:{name:"Composite",className:"OracleRespondTx",modelProperties:{queryId:{serializedName:"query_id",required:!0,type:{name:"String"}},response:{serializedName:"response",required:!0,type:{name:"String"}},responseTtl:{serializedName:"response_ttl",type:{name:"Composite",className:"RelativeTTL"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},oracleId:{serializedName:"oracle_id",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}}}}},Ii={type:{name:"Composite",className:"NamePreclaimTx",modelProperties:{commitmentId:{serializedName:"commitment_id",required:!0,type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},accountId:{serializedName:"account_id",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}}}}},ki={type:{name:"Composite",className:"NameClaimTx",modelProperties:{name:{serializedName:"name",required:!0,type:{name:"String"}},nameSalt:{serializedName:"name_salt",required:!0,type:{name:"String"}},nameFee:{serializedName:"name_fee",type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},accountId:{serializedName:"account_id",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}}}}},Ai={type:{name:"Composite",className:"NameUpdateTx",modelProperties:{nameId:{serializedName:"name_id",required:!0,type:{name:"String"}},nameTtl:{serializedName:"name_ttl",required:!0,type:{name:"String"}},pointers:{serializedName:"pointers",required:!0,type:{name:"Sequence",element:{type:{name:"Composite",className:"NamePointer"}}}},clientTtl:{serializedName:"client_ttl",required:!0,type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},accountId:{serializedName:"account_id",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}}}}},Oi={type:{name:"Composite",className:"NameTransferTx",modelProperties:{nameId:{serializedName:"name_id",required:!0,type:{name:"String"}},recipientId:{serializedName:"recipient_id",required:!0,type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},accountId:{serializedName:"account_id",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}}}}},Mi={type:{name:"Composite",className:"NameRevokeTx",modelProperties:{nameId:{serializedName:"name_id",required:!0,type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},accountId:{serializedName:"account_id",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}}}}},Ri={type:{name:"Composite",className:"CommitmentId",modelProperties:{commitmentId:{serializedName:"commitment_id",required:!0,type:{name:"String"}}}}},Bi={type:{name:"Composite",className:"NameHash",modelProperties:{nameId:{serializedName:"name_id",required:!0,type:{name:"String"}}}}},ji={type:{name:"Composite",className:"ChannelCreateTx",modelProperties:{initiatorId:{serializedName:"initiator_id",required:!0,type:{name:"String"}},initiatorAmount:{serializedName:"initiator_amount",required:!0,type:{name:"String"}},responderId:{serializedName:"responder_id",required:!0,type:{name:"String"}},responderAmount:{serializedName:"responder_amount",required:!0,type:{name:"String"}},channelReserve:{serializedName:"channel_reserve",required:!0,type:{name:"String"}},lockPeriod:{serializedName:"lock_period",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}},stateHash:{serializedName:"state_hash",required:!0,type:{name:"String"}},delegateIds:{serializedName:"delegate_ids",type:{name:"Composite",className:"Delegates"}}}}},Di={type:{name:"Composite",className:"ChannelDepositTx",modelProperties:{channelId:{serializedName:"channel_id",required:!0,type:{name:"String"}},fromId:{serializedName:"from_id",required:!0,type:{name:"String"}},amount:{serializedName:"amount",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",required:!0,type:{name:"String"}},stateHash:{serializedName:"state_hash",required:!0,type:{name:"String"}},round:{serializedName:"round",required:!0,type:{name:"String"}}}}},Vi={type:{name:"Composite",className:"ChannelWithdrawTx",modelProperties:{channelId:{serializedName:"channel_id",required:!0,type:{name:"String"}},toId:{serializedName:"to_id",required:!0,type:{name:"String"}},amount:{serializedName:"amount",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",required:!0,type:{name:"String"}},stateHash:{serializedName:"state_hash",required:!0,type:{name:"String"}},round:{serializedName:"round",required:!0,type:{name:"String"}}}}},Fi={type:{name:"Composite",className:"ChannelForceProgressTx",modelProperties:{channelId:{serializedName:"channel_id",required:!0,type:{name:"String"}},fromId:{serializedName:"from_id",required:!0,type:{name:"String"}},payload:{serializedName:"payload",required:!0,type:{name:"String"}},round:{serializedName:"round",required:!0,type:{name:"String"}},update:{serializedName:"update",type:{name:"Composite",className:"OffChainUpdate"}},stateHash:{serializedName:"state_hash",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}},offchainTrees:{serializedName:"offchain_trees",type:{name:"String"}}}}},Hi={type:{name:"Composite",className:"ChannelCloseMutualTx",modelProperties:{channelId:{serializedName:"channel_id",required:!0,type:{name:"String"}},fromId:{serializedName:"from_id",required:!0,type:{name:"String"}},initiatorAmountFinal:{serializedName:"initiator_amount_final",required:!0,type:{name:"String"}},responderAmountFinal:{serializedName:"responder_amount_final",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",required:!0,type:{name:"String"}}}}},Ui={type:{name:"Composite",className:"ChannelCloseSoloTx",modelProperties:{channelId:{serializedName:"channel_id",required:!0,type:{name:"String"}},fromId:{serializedName:"from_id",required:!0,type:{name:"String"}},payload:{serializedName:"payload",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}},poi:{serializedName:"poi",required:!0,type:{name:"String"}}}}},$i={type:{name:"Composite",className:"ChannelSlashTx",modelProperties:{channelId:{serializedName:"channel_id",required:!0,type:{name:"String"}},fromId:{serializedName:"from_id",required:!0,type:{name:"String"}},payload:{serializedName:"payload",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}},poi:{serializedName:"poi",required:!0,type:{name:"String"}}}}},Li={type:{name:"Composite",className:"ChannelSettleTx",modelProperties:{channelId:{serializedName:"channel_id",required:!0,type:{name:"String"}},fromId:{serializedName:"from_id",required:!0,type:{name:"String"}},initiatorAmountFinal:{serializedName:"initiator_amount_final",required:!0,type:{name:"String"}},responderAmountFinal:{serializedName:"responder_amount_final",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",required:!0,type:{name:"String"}}}}},Gi={type:{name:"Composite",className:"ChannelSnapshotSoloTx",modelProperties:{channelId:{serializedName:"channel_id",required:!0,type:{name:"String"}},fromId:{serializedName:"from_id",required:!0,type:{name:"String"}},payload:{serializedName:"payload",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}}}}},Ki={type:{name:"Composite",className:"ChannelSetDelegatesTx",modelProperties:{channelId:{serializedName:"channel_id",required:!0,type:{name:"String"}},fromId:{serializedName:"from_id",required:!0,type:{name:"String"}},initiatorDelegateIds:{serializedName:"initiator_delegate_ids",required:!0,type:{name:"Sequence",element:{type:{name:"String"}}}},responderDelegateIds:{serializedName:"responder_delegate_ids",required:!0,type:{name:"Sequence",element:{type:{name:"String"}}}},stateHash:{serializedName:"state_hash",required:!0,type:{name:"String"}},round:{serializedName:"round",required:!0,type:{name:"String"}},payload:{serializedName:"payload",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}}}}},Wi={type:{name:"Composite",className:"PubKey",modelProperties:{pubKey:{serializedName:"pub_key",required:!0,type:{name:"String"}}}}},Qi={type:{name:"Composite",className:"PeerDetails",modelProperties:{host:{serializedName:"host",required:!0,type:{name:"String"}},port:{serializedName:"port",required:!0,type:{name:"String"}},firstSeen:{serializedName:"first_seen",required:!0,type:{name:"String"}},lastSeen:{serializedName:"last_seen",required:!0,type:{name:"String"}},genesisHash:{serializedName:"genesis_hash",required:!0,type:{name:"String"}},topHash:{serializedName:"top_hash",required:!0,type:{name:"String"}},topDifficulty:{serializedName:"top_difficulty",required:!0,type:{name:"String"}},networkId:{serializedName:"network_id",type:{name:"String"}},nodeVersion:{serializedName:"node_version",type:{name:"String"}},nodeRevision:{serializedName:"node_revision",type:{name:"String"}},nodeVendor:{serializedName:"node_vendor",type:{name:"String"}},nodeOs:{serializedName:"node_os",type:{name:"String"}}}}},Yi={type:{name:"Composite",className:"Peers",modelProperties:{peers:{serializedName:"peers",required:!0,type:{name:"Sequence",element:{type:{name:"String"}}}},blocked:{serializedName:"blocked",required:!0,type:{name:"Sequence",element:{type:{name:"String"}}}}}}},Xi={type:{name:"Composite",className:"PeerCount",modelProperties:{connected:{serializedName:"connected",type:{name:"Composite",className:"PeerCountConnected"}},available:{serializedName:"available",type:{name:"Composite",className:"PeerCountAvailable"}},blocked:{serializedName:"blocked",required:!0,type:{name:"String"}}}}},Ji={type:{name:"Composite",className:"PeerCountConnected",modelProperties:{inbound:{serializedName:"inbound",type:{name:"String"}},outbound:{serializedName:"outbound",type:{name:"String"}}}}},Zi={type:{name:"Composite",className:"PeerCountAvailable",modelProperties:{verified:{serializedName:"verified",type:{name:"String"}},unverified:{serializedName:"unverified",type:{name:"String"}}}}},es={type:{name:"Composite",className:"ContractCreateTx",modelProperties:{ownerId:{serializedName:"owner_id",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}},code:{serializedName:"code",required:!0,type:{name:"String"}},vmVersion:{serializedName:"vm_version",required:!0,type:{name:"String"}},abiVersion:{serializedName:"abi_version",required:!0,type:{name:"String"}},deposit:{serializedName:"deposit",required:!0,type:{name:"String"}},amount:{serializedName:"amount",required:!0,type:{name:"String"}},gas:{serializedName:"gas",required:!0,type:{name:"String"}},gasPrice:{serializedName:"gas_price",required:!0,type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},callData:{serializedName:"call_data",required:!0,type:{name:"String"}}}}},ts={type:{name:"Composite",className:"ContractCallTx",modelProperties:{callerId:{serializedName:"caller_id",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}},contractId:{serializedName:"contract_id",required:!0,type:{name:"String"}},abiVersion:{serializedName:"abi_version",required:!0,type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},amount:{serializedName:"amount",required:!0,type:{name:"String"}},gas:{serializedName:"gas",required:!0,type:{name:"String"}},gasPrice:{serializedName:"gas_price",required:!0,type:{name:"String"}},callData:{serializedName:"call_data",required:!0,type:{name:"String"}}}}},rs={type:{name:"Composite",className:"UnsignedTx",modelProperties:{tx:{serializedName:"tx",required:!0,type:{name:"String"}}}}},ns={type:{name:"Composite",className:"TokenSupply",modelProperties:{accounts:{serializedName:"accounts",type:{name:"String"}},contracts:{serializedName:"contracts",type:{name:"String"}},contractOracles:{serializedName:"contract_oracles",type:{name:"String"}},locked:{serializedName:"locked",type:{name:"String"}},oracles:{serializedName:"oracles",type:{name:"String"}},oracleQueries:{serializedName:"oracle_queries",type:{name:"String"}},pendingRewards:{serializedName:"pending_rewards",type:{name:"String"}},total:{serializedName:"total",type:{name:"String"}}}}},as={type:{name:"Composite",className:"GAAttachTx",modelProperties:{ownerId:{serializedName:"owner_id",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}},code:{serializedName:"code",required:!0,type:{name:"String"}},vmVersion:{serializedName:"vm_version",required:!0,type:{name:"String"}},abiVersion:{serializedName:"abi_version",required:!0,type:{name:"String"}},gas:{serializedName:"gas",required:!0,type:{name:"String"}},gasPrice:{serializedName:"gas_price",required:!0,type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},callData:{serializedName:"call_data",required:!0,type:{name:"String"}},authFun:{constraints:{Pattern:new RegExp("^(0x|0X)?[a-fA-F0-9]+$")},serializedName:"auth_fun",required:!0,type:{name:"String"}}}}},is={type:{name:"Composite",className:"GAMetaTx",modelProperties:{gaId:{serializedName:"ga_id",required:!0,type:{name:"String"}},abiVersion:{serializedName:"abi_version",required:!0,type:{name:"String"}},gas:{serializedName:"gas",required:!0,type:{name:"String"}},gasPrice:{serializedName:"gas_price",required:!0,type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},ttl:{serializedName:"ttl",type:{name:"String"}},authData:{serializedName:"auth_data",required:!0,type:{name:"String"}},tx:{serializedName:"tx",type:{name:"Composite",className:"SignedTx"}}}}},ss={type:{name:"Composite",className:"PayingForTx",modelProperties:{payerId:{serializedName:"payer_id",required:!0,type:{name:"String"}},fee:{serializedName:"fee",required:!0,type:{name:"String"}},nonce:{serializedName:"nonce",type:{name:"String"}},tx:{serializedName:"tx",type:{name:"Composite",className:"SignedTx"}}}}},os={type:{name:"Composite",className:"CheckTxInPoolResponse",modelProperties:{status:{serializedName:"status",required:!0,type:{name:"String"}}}}},cs={serializedName:"OffChainTransfer",type:{name:"Composite",className:"OffChainTransfer",uberParent:"OffChainUpdate",polymorphicDiscriminator:Ka.type.polymorphicDiscriminator,modelProperties:{...Ka.type.modelProperties,from:{serializedName:"from",required:!0,type:{name:"String"}},to:{serializedName:"to",required:!0,type:{name:"String"}},amount:{serializedName:"amount",required:!0,type:{name:"String"}}}}},ls={serializedName:"OffChainWithdrawal",type:{name:"Composite",className:"OffChainWithdrawal",uberParent:"OffChainUpdate",polymorphicDiscriminator:Ka.type.polymorphicDiscriminator,modelProperties:{...Ka.type.modelProperties,to:{serializedName:"to",required:!0,type:{name:"String"}},amount:{serializedName:"amount",required:!0,type:{name:"String"}}}}},ds={serializedName:"OffChainDeposit",type:{name:"Composite",className:"OffChainDeposit",uberParent:"OffChainUpdate",polymorphicDiscriminator:Ka.type.polymorphicDiscriminator,modelProperties:{...Ka.type.modelProperties,from:{serializedName:"from",required:!0,type:{name:"String"}},amount:{serializedName:"amount",required:!0,type:{name:"String"}}}}},us={serializedName:"OffChainNewContract",type:{name:"Composite",className:"OffChainNewContract",uberParent:"OffChainUpdate",polymorphicDiscriminator:Ka.type.polymorphicDiscriminator,modelProperties:{...Ka.type.modelProperties,owner:{serializedName:"owner",required:!0,type:{name:"String"}},vmVersion:{serializedName:"vm_version",required:!0,type:{name:"String"}},abiVersion:{serializedName:"abi_version",required:!0,type:{name:"String"}},code:{serializedName:"code",type:{name:"Composite",className:"ByteCode"}},deposit:{serializedName:"deposit",required:!0,type:{name:"String"}},callData:{serializedName:"call_data",required:!0,type:{name:"String"}}}}},ps={serializedName:"OffChainCallContract",type:{name:"Composite",className:"OffChainCallContract",uberParent:"OffChainUpdate",polymorphicDiscriminator:Ka.type.polymorphicDiscriminator,modelProperties:{...Ka.type.modelProperties,caller:{serializedName:"caller",required:!0,type:{name:"String"}},contract:{serializedName:"contract",required:!0,type:{name:"String"}},abiVersion:{serializedName:"abi_version",required:!0,type:{name:"String"}},amount:{serializedName:"amount",required:!0,type:{name:"String"}},gas:{serializedName:"gas",required:!0,type:{name:"String"}},gasPrice:{serializedName:"gas_price",required:!0,type:{name:"String"}},callData:{serializedName:"call_data",required:!0,type:{name:"String"}}}}},ms={type:{name:"Composite",className:"CreateContractUnsignedTx",modelProperties:{...rs.type.modelProperties,contractId:{serializedName:"contract_id",required:!0,type:{name:"String"}}}}};let hs={"Tx.undefined":La,OffChainUpdate:Ka,"OffChainUpdate.OffChainTransfer":cs,"OffChainUpdate.OffChainWithdrawal":ls,"OffChainUpdate.OffChainDeposit":ds,"OffChainUpdate.OffChainNewContract":us,"OffChainUpdate.OffChainCallContract":ps};const ys={parameterPath:"accept",mapper:{defaultValue:"application/json",isConstant:!0,serializedName:"Accept",type:{name:"String"}}},gs={parameterPath:"$host",mapper:{serializedName:"$host",required:!0,type:{name:"String"}},skipEncoding:!0},fs={parameterPath:"intAsString",mapper:{defaultValue:!1,serializedName:"int-as-string",type:{name:"Boolean"}}},Ns={parameterPath:"hash",mapper:{serializedName:"hash",required:!0,type:{name:"String"}}},ws={parameterPath:"height",mapper:{constraints:{InclusiveMaximum:0x10000000000000000,InclusiveMinimum:0},serializedName:"height",required:!0,type:{name:"Number"}}},bs={parameterPath:"pubkey",mapper:{serializedName:"pubkey",required:!0,type:{name:"String"}}},vs={parameterPath:["options","contentType"],mapper:{defaultValue:"application/json",isConstant:!0,serializedName:"Content-Type",type:{name:"String"}}},Ss={parameterPath:"body",mapper:ti},Cs={parameterPath:"body",mapper:pi};class xs extends Ra.ServiceClient{constructor(e,t){var r,n,a;if(void 0===e)throw new Error("'$host' cannot be null");t||(t={});const i="azsdk-js-node/1.0.0-beta.1",s=t.userAgentOptions&&t.userAgentOptions.userAgentPrefix?`${t.userAgentOptions.userAgentPrefix} ${i}`:`${i}`,o={requestContentType:"application/json; charset=utf-8",...t,userAgentOptions:{userAgentPrefix:s},baseUri:null!==(r=null!==(n=t.endpoint)&&void 0!==n?n:t.baseUri)&&void 0!==r?r:"{$host}"};super(o),null!==(a=t)&&void 0!==a&&a.pipeline&&t.pipeline.getOrderedPolicies().length>0&&(t.pipeline.getOrderedPolicies().some((e=>e.name===Ia.bearerTokenAuthenticationPolicyName))||(this.pipeline.removePolicy({name:Ia.bearerTokenAuthenticationPolicyName}),this.pipeline.addPolicy(Ia.bearerTokenAuthenticationPolicy({scopes:`${o.baseUri}/.default`,challengeCallbacks:{authorizeRequestOnChallenge:Ra.authorizeRequestOnClaimChallenge}})))),this.$host=e}getTopHeader(e){return this.sendOperationRequest({options:e},_s)}getCurrentKeyBlock(e){return this.sendOperationRequest({options:e},Ts)}getCurrentKeyBlockHash(e){return this.sendOperationRequest({options:e},qs)}getCurrentKeyBlockHeight(e){return this.sendOperationRequest({options:e},Ps)}getPendingKeyBlock(e){return this.sendOperationRequest({options:e},Es)}getKeyBlockByHash(e,t){return this.sendOperationRequest({hash:e,options:t},Is)}getKeyBlockByHeight(e,t){return this.sendOperationRequest({height:e,options:t},ks)}getMicroBlockHeaderByHash(e,t){return this.sendOperationRequest({hash:e,options:t},As)}getMicroBlockTransactionsByHash(e,t){return this.sendOperationRequest({hash:e,options:t},Os)}getMicroBlockTransactionByHashAndIndex(e,t,r){return this.sendOperationRequest({hash:e,index:t,options:r},Ms)}getMicroBlockTransactionsCountByHash(e,t){return this.sendOperationRequest({hash:e,options:t},Rs)}getCurrentGeneration(e){return this.sendOperationRequest({options:e},Bs)}getGenerationByHash(e,t){return this.sendOperationRequest({hash:e,options:t},js)}getGenerationByHeight(e,t){return this.sendOperationRequest({height:e,options:t},Ds)}getAccountByPubkey(e,t){return this.sendOperationRequest({pubkey:e,options:t},Vs)}getAccountByPubkeyAndHeight(e,t,r){return this.sendOperationRequest({pubkey:e,height:t,options:r},Fs)}getAccountByPubkeyAndHash(e,t,r){return this.sendOperationRequest({pubkey:e,hash:t,options:r},Hs)}getPendingAccountTransactionsByPubkey(e,t){return this.sendOperationRequest({pubkey:e,options:t},Us)}getAccountNextNonce(e,t){return this.sendOperationRequest({pubkey:e,options:t},$s)}protectedDryRunTxs(e,t){return this.sendOperationRequest({body:e,options:t},Ls)}getTransactionByHash(e,t){return this.sendOperationRequest({hash:e,options:t},Gs)}getTransactionInfoByHash(e,t){return this.sendOperationRequest({hash:e,options:t},Ks)}postTransaction(e,t){return this.sendOperationRequest({body:e,options:t},Ws)}getContract(e,t){return this.sendOperationRequest({pubkey:e,options:t},Qs)}getContractCode(e,t){return this.sendOperationRequest({pubkey:e,options:t},Ys)}getContractPoI(e,t){return this.sendOperationRequest({pubkey:e,options:t},Xs)}getOracleByPubkey(e,t){return this.sendOperationRequest({pubkey:e,options:t},Js)}getOracleQueriesByPubkey(e,t){return this.sendOperationRequest({pubkey:e,options:t},Zs)}getOracleQueryByPubkeyAndQueryId(e,t,r){return this.sendOperationRequest({pubkey:e,queryId:t,options:r},eo)}getNameEntryByName(e,t){return this.sendOperationRequest({name:e,options:t},to)}getChannelByPubkey(e,t){return this.sendOperationRequest({pubkey:e,options:t},ro)}getPeerPubkey(e){return this.sendOperationRequest({options:e},no)}getStatus(e){return this.sendOperationRequest({options:e},ao)}getChainEnds(e){return this.sendOperationRequest({options:e},io)}}const zs=Ra.createSerializer(o,!1),_s={path:"/v3/headers/top",httpMethod:"GET",responses:{200:{bodyMapper:Ba},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs],headerParameters:[ys],serializer:zs},Ts={path:"/v3/key-blocks/current",httpMethod:"GET",responses:{200:{bodyMapper:Da},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs],headerParameters:[ys],serializer:zs},qs={path:"/v3/key-blocks/current/hash",httpMethod:"GET",responses:{200:{bodyMapper:Va},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs],headerParameters:[ys],serializer:zs},Ps={path:"/v3/key-blocks/current/height",httpMethod:"GET",responses:{200:{bodyMapper:Fa},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs],headerParameters:[ys],serializer:zs},Es={path:"/v3/key-blocks/pending",httpMethod:"GET",responses:{200:{bodyMapper:Da},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs],headerParameters:[ys],serializer:zs},Is={path:"/v3/key-blocks/hash/{hash}",httpMethod:"GET",responses:{200:{bodyMapper:Da},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs,Ns],headerParameters:[ys],serializer:zs},ks={path:"/v3/key-blocks/height/{height}",httpMethod:"GET",responses:{200:{bodyMapper:Da},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs,ws],headerParameters:[ys],serializer:zs},As={path:"/v3/micro-blocks/hash/{hash}/header",httpMethod:"GET",responses:{200:{bodyMapper:Ha},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs,Ns],headerParameters:[ys],serializer:zs},Os={path:"/v3/micro-blocks/hash/{hash}/transactions",httpMethod:"GET",responses:{200:{bodyMapper:Ua},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs,Ns],headerParameters:[ys],serializer:zs},Ms={path:"/v3/micro-blocks/hash/{hash}/transactions/index/{index}",httpMethod:"GET",responses:{200:{bodyMapper:$a},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs,Ns,{parameterPath:"index",mapper:{constraints:{InclusiveMinimum:1},serializedName:"index",required:!0,type:{name:"Number"}}}],headerParameters:[ys],serializer:zs},Rs={path:"/v3/micro-blocks/hash/{hash}/transactions/count",httpMethod:"GET",responses:{200:{bodyMapper:Xa},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs,Ns],headerParameters:[ys],serializer:zs},Bs={path:"/v3/generations/current",httpMethod:"GET",responses:{200:{bodyMapper:Ja},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs],headerParameters:[ys],serializer:zs},js={path:"/v3/generations/hash/{hash}",httpMethod:"GET",responses:{200:{bodyMapper:Ja},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs,Ns],headerParameters:[ys],serializer:zs},Ds={path:"/v3/generations/height/{height}",httpMethod:"GET",responses:{200:{bodyMapper:Ja},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs,ws],headerParameters:[ys],serializer:zs},Vs={path:"/v3/accounts/{pubkey}",httpMethod:"GET",responses:{200:{bodyMapper:Za},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs,bs],headerParameters:[ys],serializer:zs},Fs={path:"/v3/accounts/{pubkey}/height/{height}",httpMethod:"GET",responses:{200:{bodyMapper:Za},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs,ws,bs],headerParameters:[ys],serializer:zs},Hs={path:"/v3/accounts/{pubkey}/hash/{hash}",httpMethod:"GET",responses:{200:{bodyMapper:Za},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs,Ns,bs],headerParameters:[ys],serializer:zs},Us={path:"/v3/accounts/{pubkey}/transactions/pending",httpMethod:"GET",responses:{200:{bodyMapper:Ua},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs,bs],headerParameters:[ys],serializer:zs},$s={path:"/v3/accounts/{pubkey}/next-nonce",httpMethod:"GET",responses:{200:{bodyMapper:ei},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs,{parameterPath:["options","strategy"],mapper:{defaultValue:"max",serializedName:"strategy",type:{name:"Enum",allowedValues:["max","continuity"]}}}],urlParameters:[gs,bs],headerParameters:[ys],serializer:zs},Ls={path:"/v3/dry-run",httpMethod:"POST",responses:{200:{bodyMapper:si},403:{bodyMapper:ja,isError:!0}},requestBody:Ss,queryParameters:[fs],urlParameters:[gs],headerParameters:[ys,vs],mediaType:"json",serializer:zs},Gs={path:"/v3/transactions/{hash}",httpMethod:"GET",responses:{200:{bodyMapper:$a},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs,Ns],headerParameters:[ys],serializer:zs},Ks={path:"/v3/transactions/{hash}/info",httpMethod:"GET",responses:{200:{bodyMapper:di},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs,Ns],headerParameters:[ys],serializer:zs},Ws={path:"/v3/transactions",httpMethod:"POST",responses:{200:{bodyMapper:mi},400:{bodyMapper:ja,isError:!0}},requestBody:Cs,queryParameters:[fs],urlParameters:[gs],headerParameters:[ys,vs],mediaType:"json",serializer:zs},Qs={path:"/v3/contracts/{pubkey}",httpMethod:"GET",responses:{200:{bodyMapper:hi},400:{bodyMapper:ja,isError:!0},404:{isError:!0}},queryParameters:[fs],urlParameters:[gs,bs],headerParameters:[ys],serializer:zs},Ys={path:"/v3/contracts/{pubkey}/code",httpMethod:"GET",responses:{200:{bodyMapper:yi},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs,bs],headerParameters:[ys],serializer:zs},Xs={path:"/v3/contracts/{pubkey}/poi",httpMethod:"GET",responses:{200:{bodyMapper:gi},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs,bs],headerParameters:[ys],serializer:zs},Js={path:"/v3/oracles/{pubkey}",httpMethod:"GET",responses:{200:{bodyMapper:fi},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs,bs],headerParameters:[ys],serializer:zs},Zs={path:"/v3/oracles/{pubkey}/queries",httpMethod:"GET",responses:{200:{bodyMapper:Ni},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs,{parameterPath:["options","from"],mapper:{serializedName:"from",type:{name:"String"}}},{parameterPath:["options","limit"],mapper:{defaultValue:20,constraints:{InclusiveMaximum:1e3,InclusiveMinimum:1},serializedName:"limit",type:{name:"Number"}}},{parameterPath:["options","type"],mapper:{defaultValue:"all",serializedName:"type",type:{name:"Enum",allowedValues:["open","closed","all"]}}}],urlParameters:[gs,bs],headerParameters:[ys],serializer:zs},eo={path:"/v3/oracles/{pubkey}/queries/{query-id}",httpMethod:"GET",responses:{200:{bodyMapper:wi},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs,bs,{parameterPath:"queryId",mapper:{serializedName:"query-id",required:!0,type:{name:"String"}}}],headerParameters:[ys],serializer:zs},to={path:"/v3/names/{name}",httpMethod:"GET",responses:{200:{bodyMapper:bi},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs,{parameterPath:"name",mapper:{serializedName:"name",required:!0,type:{name:"String"}}}],headerParameters:[ys],serializer:zs},ro={path:"/v3/channels/{pubkey}",httpMethod:"GET",responses:{200:{bodyMapper:vi},400:{bodyMapper:ja,isError:!0},404:{bodyMapper:ja,isError:!0}},queryParameters:[fs],urlParameters:[gs,bs],headerParameters:[ys],serializer:zs},no={path:"/v3/peers/pubkey",httpMethod:"GET",responses:{200:{bodyMapper:Si}},queryParameters:[fs],urlParameters:[gs],headerParameters:[ys],serializer:zs},ao={path:"/v3/status",httpMethod:"GET",responses:{200:{bodyMapper:Ci}},queryParameters:[fs],urlParameters:[gs],headerParameters:[ys],serializer:zs},io={path:"/v3/status/chain-ends",httpMethod:"GET",responses:{200:{bodyMapper:{type:{name:"Sequence",element:{type:{name:"String"}}}}}},queryParameters:[fs],urlParameters:[gs],headerParameters:[ys],serializer:zs};function so(e,t){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.add(e)}function oo(e,t,r){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return r}async function co(){var e,t;let{networkId:r}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const n=null!==(e=null!=r?r:this.networkId)&&void 0!==e?e:(await(null===(t=this.api)||void 0===t?void 0:t.getStatus())).networkId;if(null!=n)return n;throw new I("networkId is not provided")}const lo=["balance","queryFee","fee","amount","nameFee","channelAmount","initiatorAmount","responderAmount","channelReserve","initiatorAmountFinal","responderAmountFinal","gasPrice","deposit"],uo=["time","gas","gasUsed","nameSalt","nonce","nextNonce","height","blockHeight","top","topBlockHeight","ttl","inbound","outbound","peerCount","pendingTransactionsCount","effectiveAtHeight","version","solutions"];var po=new WeakSet,mo=new WeakSet,ho=new WeakSet;class yo extends xs{constructor(e){let{ignoreVersion:t=!1,...r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(super(e,{allowInsecureConnection:!0,additionalPolicies:[ka(),Aa(),Oa((e=>` ${e.reason}`))],...r}),so(this,ho),so(this,mo),so(this,po),this.url=e,!t){const e=this.getStatus().then((e=>{let{nodeVersion:t}=e;return t}));this.pipeline.addPolicy(Ma("node","/v3/status",e,"6.2.0","7.0.0"))}this.intAsString=!0}async getNodeInfo(){const{nodeVersion:e,networkId:t,protocols:r,topBlockHeight:n}=await this.getStatus(),a=r.filter((e=>{let{effectiveAtHeight:t}=e;return n>=t})).reduce(((e,t)=>t.effectiveAtHeight>e.effectiveAtHeight?t:e),{effectiveAtHeight:-1,version:0}).version;return{url:this.url,nodeNetworkId:t,version:e,consensusProtocolVersion:a}}async sendOperationRequest(e,t){const r=it(e,(e=>{let[t,r]=e;return[t,oo(this,mo,fo).call(this,r)]}));return oo(this,ho,No).call(this,await super.sendOperationRequest(r,t))}}function go(e,t){return Array.isArray(e)?e.map((e=>oo(this,po,go).call(this,e,t))):null!=e&&"object"==typeof e?it(e,(e=>{let[r,n]=e;return null==n?[r,n]:lo.some((e=>e===r))?[r,t.bigInt(n)]:uo.some((e=>e===r))?[r,t.number(n)]:[r,oo(this,po,go).call(this,n,t)]})):e}function fo(e){return oo(this,po,go).call(this,e,{bigInt:e=>e instanceof d()?e.toFixed():e.toString(),number:e=>e.toString()})}function No(e){return oo(this,po,go).call(this,e,{bigInt:e=>BigInt(e),number:e=>+e})}class wo{constructor(){var e;let{networkId:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Ea()(this,"getNetworkId",co),null!==(e=this.networkId)&&void 0!==e||(this.networkId=t)}async signTransaction(e){let{innerTx:t,networkId:r,...n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const a=[await this.getNetworkId({networkId:r})];!0===t&&a.push("inner_tx");const i=vt(e),s=st([Buffer.from(a.join("-")),qt(i)]);return Xr({encodedTx:i,signatures:[await this.sign(s,n)]},Or.signed).tx}async signMessage(e){let{returnHex:t=!1,...r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=await this.sign(Rt(e),r);return t?Buffer.from(n).toString("hex"):n}async verifyMessage(e,t,r){return jt(e,"string"==typeof t?Buffer.from(t,"hex"):t,vt(await this.address(r)))}}const bo=new WeakMap;class vo extends wo{constructor(e){let{keypair:t,gaId:r,...n}=e;if(super(n),this.isGa=null!=r,this.isGa&&null!=r)return vt(r),void bo.set(this,{publicKey:r});if(null==t)throw new I("Either gaId or keypair is required");if(!Buffer.isBuffer(t.secretKey)&&"string"==typeof t.secretKey&&!Je(t.secretKey))throw new H("Secret key must be hex string or Buffer");const a="string"==typeof t.secretKey?Buffer.from(t.secretKey,"hex"):t.secretKey;if(!Dt(a,vt(t.publicKey)))throw new H("Invalid Key Pair");bo.set(this,{secretKey:a,publicKey:t.publicKey})}async sign(e){if(this.isGa)throw new H("You are trying to sign data using generalized account without keypair");return Ot(e,bo.get(this).secretKey)}async address(){return bo.get(this).publicKey}}const So={type:{name:"Composite",className:"Contract",modelProperties:{code:{serializedName:"code",required:!0,type:{name:"String"}},options:{serializedName:"options",type:{name:"Composite",className:"CompileOpts"}}}}},Co={type:{name:"Composite",className:"CompileOpts",modelProperties:{backend:{serializedName:"backend",type:{name:"String"}},fileSystem:{serializedName:"file_system",type:{name:"Dictionary",value:{type:{name:"any"}}}},srcFile:{serializedName:"src_file",type:{name:"String"}}}}},xo={type:{name:"Composite",className:"Aci",modelProperties:{encodedAci:{serializedName:"encoded_aci",required:!0,type:{name:"Dictionary",value:{type:{name:"any"}}}},externalEncodedAci:{serializedName:"external_encoded_aci",type:{name:"Sequence",element:{type:{name:"Dictionary",value:{type:{name:"any"}}}}}},interface:{serializedName:"interface",required:!0,type:{name:"String"}}}}},zo={type:{name:"Composite",className:"CompilerError",modelProperties:{context:{serializedName:"context",type:{name:"String"}},message:{serializedName:"message",required:!0,type:{name:"String"}},pos:{serializedName:"pos",type:{name:"Composite",className:"ErrorPos"}},type:{serializedName:"type",required:!0,type:{name:"String"}}}}},_o={type:{name:"Composite",className:"ErrorPos",modelProperties:{col:{serializedName:"col",required:!0,type:{name:"Number"}},file:{serializedName:"file",type:{name:"String"}},line:{serializedName:"line",required:!0,type:{name:"Number"}}}}},To={type:{name:"Composite",className:"ErrorModel",modelProperties:{reason:{serializedName:"reason",required:!0,type:{name:"String"}}}}},qo={type:{name:"Composite",className:"APIVersion",modelProperties:{apiVersion:{serializedName:"api-version",required:!0,type:{name:"String"}}}}},Po={type:{name:"Composite",className:"ByteCode",modelProperties:{bytecode:{serializedName:"bytecode",required:!0,type:{name:"String"}}}}},Eo={type:{name:"Composite",className:"ByteCodeInput",modelProperties:{bytecode:{serializedName:"bytecode",required:!0,type:{name:"String"}}}}},Io={type:{name:"Composite",className:"CompilerVersion",modelProperties:{version:{serializedName:"version",required:!0,type:{name:"String"}}}}},ko={type:{name:"Composite",className:"SophiaCallResultInput",modelProperties:{callResult:{serializedName:"call-result",required:!0,type:{name:"String"}},callValue:{serializedName:"call-value",required:!0,type:{name:"String"}},function:{serializedName:"function",required:!0,type:{name:"String"}},options:{serializedName:"options",type:{name:"Composite",className:"CompileOpts"}},source:{serializedName:"source",required:!0,type:{name:"String"}}}}},Ao={type:{name:"Composite",className:"BytecodeCallResultInput",modelProperties:{backend:{serializedName:"backend",type:{name:"String"}},bytecode:{serializedName:"bytecode",required:!0,type:{name:"String"}},callResult:{serializedName:"call-result",required:!0,type:{name:"String"}},callValue:{serializedName:"call-value",required:!0,type:{name:"String"}},function:{serializedName:"function",required:!0,type:{name:"String"}}}}},Oo={type:{name:"Composite",className:"DecodedCallresult",modelProperties:{function:{serializedName:"function",required:!0,type:{name:"String"}},result:{serializedName:"result",required:!0,type:{name:"Dictionary",value:{type:{name:"any"}}}}}}},Mo={type:{name:"Composite",className:"DecodeCalldataBytecode",modelProperties:{backend:{serializedName:"backend",type:{name:"String"}},bytecode:{serializedName:"bytecode",required:!0,type:{name:"String"}},calldata:{serializedName:"calldata",required:!0,type:{name:"String"}}}}},Ro={type:{name:"Composite",className:"DecodedCalldata",modelProperties:{arguments:{serializedName:"arguments",required:!0,type:{name:"Sequence",element:{type:{name:"Dictionary",value:{type:{name:"any"}}}}}},function:{serializedName:"function",required:!0,type:{name:"String"}}}}},Bo={type:{name:"Composite",className:"DecodeCalldataSource",modelProperties:{calldata:{serializedName:"calldata",required:!0,type:{name:"String"}},function:{serializedName:"function",required:!0,type:{name:"String"}},options:{serializedName:"options",type:{name:"Composite",className:"CompileOpts"}},source:{serializedName:"source",required:!0,type:{name:"String"}}}}},jo={type:{name:"Composite",className:"SophiaBinaryData",modelProperties:{data:{serializedName:"data",required:!0,type:{name:"String"}},sophiaType:{serializedName:"sophia-type",required:!0,type:{name:"String"}}}}},Do={type:{name:"Composite",className:"SophiaJsonData",modelProperties:{data:{serializedName:"data",required:!0,type:{name:"Dictionary",value:{type:{name:"any"}}}}}}},Vo={type:{name:"Composite",className:"FunctionCallInput",modelProperties:{arguments:{serializedName:"arguments",required:!0,type:{name:"Sequence",element:{type:{name:"String"}}}},function:{serializedName:"function",required:!0,type:{name:"String"}},options:{serializedName:"options",type:{name:"Composite",className:"CompileOpts"}},source:{serializedName:"source",required:!0,type:{name:"String"}}}}},Fo={type:{name:"Composite",className:"Calldata",modelProperties:{calldata:{serializedName:"calldata",required:!0,type:{name:"String"}}}}},Ho={type:{name:"Composite",className:"FateAssembler",modelProperties:{fateAssembler:{serializedName:"fate-assembler",required:!0,type:{name:"String"}}}}},Uo={type:{name:"Composite",className:"ValidateByteCodeInput",modelProperties:{bytecode:{serializedName:"bytecode",required:!0,type:{name:"String"}},options:{serializedName:"options",type:{name:"Composite",className:"CompileOpts"}},source:{serializedName:"source",required:!0,type:{name:"String"}}}}},$o={parameterPath:["options","contentType"],mapper:{defaultValue:"application/json",isConstant:!0,serializedName:"Content-Type",type:{name:"String"}}},Lo={parameterPath:"body",mapper:So},Go={parameterPath:"accept",mapper:{defaultValue:"application/json",isConstant:!0,serializedName:"Accept",type:{name:"String"}}},Ko={parameterPath:"$host",mapper:{serializedName:"$host",required:!0,type:{name:"String"}},skipEncoding:!0},Wo={parameterPath:"body",mapper:Eo},Qo={parameterPath:"body",mapper:ko},Yo={parameterPath:"body",mapper:Ao},Xo={parameterPath:"body",mapper:Mo},Jo={parameterPath:"body",mapper:Bo},Zo={parameterPath:"body",mapper:jo},ec={parameterPath:"body",mapper:Vo},tc={parameterPath:"body",mapper:Uo};class rc extends Ra.ServiceClient{constructor(e,t){var r,n,a;if(void 0===e)throw new Error("'$host' cannot be null");t||(t={});const i="azsdk-js-compiler/1.0.0-beta.1",s=t.userAgentOptions&&t.userAgentOptions.userAgentPrefix?`${t.userAgentOptions.userAgentPrefix} ${i}`:`${i}`,o={requestContentType:"application/json; charset=utf-8",...t,userAgentOptions:{userAgentPrefix:s},baseUri:null!==(r=null!==(n=t.endpoint)&&void 0!==n?n:t.baseUri)&&void 0!==r?r:"{$host}"};super(o),null!==(a=t)&&void 0!==a&&a.pipeline&&t.pipeline.getOrderedPolicies().length>0&&(t.pipeline.getOrderedPolicies().some((e=>e.name===Ia.bearerTokenAuthenticationPolicyName))||(this.pipeline.removePolicy({name:Ia.bearerTokenAuthenticationPolicyName}),this.pipeline.addPolicy(Ia.bearerTokenAuthenticationPolicy({scopes:`${o.baseUri}/.default`,challengeCallbacks:{authorizeRequestOnChallenge:Ra.authorizeRequestOnClaimChallenge}})))),this.$host=e}generateACI(e,t){return this.sendOperationRequest({body:e,options:t},ac)}api(e){return this.sendOperationRequest({options:e},ic)}aPIVersion(e){return this.sendOperationRequest({options:e},sc)}compileContract(e,t){return this.sendOperationRequest({body:e,options:t},oc)}getCompilerVersion(e,t){return this.sendOperationRequest({body:e,options:t},cc)}decodeCallResult(e,t){return this.sendOperationRequest({body:e,options:t},lc)}decodeCallResultBytecode(e,t){return this.sendOperationRequest({body:e,options:t},dc)}decodeCalldataBytecode(e,t){return this.sendOperationRequest({body:e,options:t},uc)}decodeCalldataSource(e,t){return this.sendOperationRequest({body:e,options:t},pc)}decodeData(e,t){return this.sendOperationRequest({body:e,options:t},mc)}encodeCalldata(e,t){return this.sendOperationRequest({body:e,options:t},hc)}getFateAssemblerCode(e,t){return this.sendOperationRequest({body:e,options:t},yc)}validateByteCode(e,t){return this.sendOperationRequest({body:e,options:t},gc)}version(e){return this.sendOperationRequest({options:e},fc)}}const nc=Ra.createSerializer(c,!1),ac={path:"/aci",httpMethod:"POST",responses:{200:{bodyMapper:xo},400:{bodyMapper:{type:{name:"Sequence",element:{type:{name:"Composite",className:"CompilerError"}}}},isError:!0}},requestBody:Lo,urlParameters:[Ko],headerParameters:[$o,Go],mediaType:"json",serializer:nc},ic={path:"/api",httpMethod:"GET",responses:{200:{bodyMapper:{type:{name:"Dictionary",value:{type:{name:"any"}}}}},400:{bodyMapper:To,isError:!0}},urlParameters:[Ko],headerParameters:[Go],serializer:nc},sc={path:"/api-version",httpMethod:"GET",responses:{200:{bodyMapper:qo},500:{bodyMapper:To,isError:!0}},urlParameters:[Ko],headerParameters:[Go],serializer:nc},oc={path:"/compile",httpMethod:"POST",responses:{200:{bodyMapper:Po},400:{bodyMapper:{type:{name:"Sequence",element:{type:{name:"Composite",className:"CompilerError"}}}},isError:!0}},requestBody:Lo,urlParameters:[Ko],headerParameters:[$o,Go],mediaType:"json",serializer:nc},cc={path:"/compiler-version",httpMethod:"POST",responses:{200:{bodyMapper:Io},400:{bodyMapper:To,isError:!0}},requestBody:Wo,urlParameters:[Ko],headerParameters:[$o,Go],mediaType:"json",serializer:nc},lc={path:"/decode-call-result",httpMethod:"POST",responses:{200:{bodyMapper:{type:{name:"any"}}},400:{bodyMapper:{type:{name:"Sequence",element:{type:{name:"Composite",className:"CompilerError"}}}},isError:!0}},requestBody:Qo,urlParameters:[Ko],headerParameters:[$o,Go],mediaType:"json",serializer:nc},dc={path:"/decode-call-result/bytecode",httpMethod:"POST",responses:{200:{bodyMapper:Oo},400:{bodyMapper:{type:{name:"Sequence",element:{type:{name:"Composite",className:"CompilerError"}}}},isError:!0}},requestBody:Yo,urlParameters:[Ko],headerParameters:[$o,Go],mediaType:"json",serializer:nc},uc={path:"/decode-calldata/bytecode",httpMethod:"POST",responses:{200:{bodyMapper:Ro},400:{bodyMapper:To,isError:!0}},requestBody:Xo,urlParameters:[Ko],headerParameters:[$o,Go],mediaType:"json",serializer:nc},pc={path:"/decode-calldata/source",httpMethod:"POST",responses:{200:{bodyMapper:Ro},400:{bodyMapper:{type:{name:"Sequence",element:{type:{name:"Composite",className:"CompilerError"}}}},isError:!0}},requestBody:Jo,urlParameters:[Ko],headerParameters:[$o,Go],mediaType:"json",serializer:nc},mc={path:"/decode-data",httpMethod:"POST",responses:{200:{bodyMapper:Do},400:{bodyMapper:{type:{name:"Sequence",element:{type:{name:"Composite",className:"CompilerError"}}}},isError:!0}},requestBody:Zo,urlParameters:[Ko],headerParameters:[$o,Go],mediaType:"json",serializer:nc},hc={path:"/encode-calldata",httpMethod:"POST",responses:{200:{bodyMapper:Fo},400:{bodyMapper:{type:{name:"Sequence",element:{type:{name:"Composite",className:"CompilerError"}}}},isError:!0}},requestBody:ec,urlParameters:[Ko],headerParameters:[$o,Go],mediaType:"json",serializer:nc},yc={path:"/fate-assembler",httpMethod:"POST",responses:{200:{bodyMapper:Ho},400:{bodyMapper:To,isError:!0}},requestBody:Wo,urlParameters:[Ko],headerParameters:[$o,Go],mediaType:"json",serializer:nc},gc={path:"/validate-byte-code",httpMethod:"POST",responses:{200:{},400:{bodyMapper:{type:{name:"Sequence",element:{type:{name:"Composite",className:"CompilerError"}}}},isError:!0}},requestBody:tc,urlParameters:[Ko],headerParameters:[$o,Go],mediaType:"json",serializer:nc},fc={path:"/version",httpMethod:"GET",responses:{200:{bodyMapper:Io},500:{bodyMapper:To,isError:!0}},urlParameters:[Ko],headerParameters:[Go],serializer:nc};class Nc extends rc{constructor(e){let{ignoreVersion:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(super(e,{allowInsecureConnection:!0,additionalPolicies:[Oa((e=>{let t="";return"reason"in e&&(t+=" "+e.reason+(null!=e.parameter?` in ${e.parameter}`:"")+(null!=e.info?` (${JSON.stringify(e.info)})`:"")),Array.isArray(e)&&(t+="\n"+e.map((e=>`${e.type}:${e.pos.line}:${e.pos.col}: ${e.message}${null!=e.context?`(${e.context})`:""}`)).map((e=>e.trim())).join("\n")),t}))]}),!0!==t){const e=this.aPIVersion().then((e=>{let{apiVersion:t}=e;return t}));this.pipeline.addPolicy(Ma("compiler","/api-version",e,"6.1.0","7.0.0"))}}}function wc(e){try{return e()}catch(e){return new Proxy({},Object.fromEntries(["get","set","has"].map((t=>[t,()=>{throw e}]))))}}class bc{constructor(){let{nodes:e=[],compilerUrl:t,ignoreVersion:r=!1,...n}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Ea()(this,"_options",{denomination:Fe.AETTOS,amount:Er}),Ea()(this,"pool",new Map),Ea()(this,"getNetworkId",co),Object.assign(this._options,n),e.forEach(((e,t)=>{let{name:r,instance:n}=e;return this.addNode(r,n,0===t)})),null==t?this.compilerApi=wc((()=>{throw new w("You can't use Compiler API. Compiler is not ready!")})):this.setCompilerUrl(t,{ignoreVersion:r})}setCompilerUrl(e){let{ignoreVersion:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.compilerApi=new Nc(e,{ignoreVersion:t})}get api(){return this.ensureNodeConnected(),this.pool.get(this.selectedNodeName)}addNode(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(this.pool.has(e))throw new Se(e);this.pool.set(e,t),(r||null==this.selectedNodeName)&&this.selectNode(e)}selectNode(e){if(!this.pool.has(e))throw new Ce(`Node with name ${e} not in pool`);this.selectedNodeName=e}isNodeConnected(){return null!=this.selectedNodeName}ensureNodeConnected(){if(!this.isNodeConnected())throw new Ce("You can't use Node API. Node is not connected or not defined!")}async getNodeInfo(){return this.ensureNodeConnected(),{name:this.selectedNodeName,...await this.api.getNodeInfo()}}async getNodesInPool(){return await Promise.all(Array.from(this.pool.entries()).map((async e=>{let[t,r]=e;return{name:t,...await r.getNodeInfo()}})))}addresses(){return[]}async address(){let{onAccount:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return await this._resolveAccount(e).address()}async sign(e){let{onAccount:t,...r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return await this._resolveAccount(t).sign(e,r)}async signTransaction(e){let{onAccount:t,...r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return await this._resolveAccount(t).signTransaction(e,{...r,networkId:await this.getNetworkId(r)})}async signMessage(e){let{onAccount:t,...r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return await this._resolveAccount(t).signMessage(e,r)}async verifyMessage(e,t){let{onAccount:r,...n}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return await this._resolveAccount(r).verifyMessage(e,t,n)}_resolveAccount(e){switch(null!==e&&typeof e){case"string":throw new j("Address in AccountResolver");case"object":return t=e,["sign","address","signTransaction","signMessage"].some((e=>"function"!=typeof t[e]))?new vo({keypair:e}):e;default:throw new M(`Account should be an address (ak-prefixed string), keypair, or instance of AccountBase, got ${String(e)} instead`)}var t}async _getOptions(){var e;return{...this._options,onNode:wc((()=>this.api)),onAccount:wc((()=>this._resolveAccount())),onCompiler:wc((()=>this.compilerApi)),networkId:(await(null===(e=this.api)||void 0===e?void 0:e.getStatus())).networkId}}async buildTx(e,t){return await Bn(e,{...await this._getOptions(),...t})}}const{_buildTx:vc,...Sc}=t,Cc={...e,...Sc,...a,...n,...s,...i,...r};Object.assign(bc.prototype,it(Cc,(e=>{let[t,r]=e;return[t,async function(){const e=await this._getOptions();for(var t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];const i=n[n.length-1];return null!=i&&"object"==typeof i&&i.constructor===Object?Object.assign(i,{...e,...i,...null!=i.onAccount&&{onAccount:this._resolveAccount(i.onAccount)}}):n.push(e),r(...n)}]})));const xc=bc;class zc extends xc{constructor(){super(...arguments),Ea()(this,"accounts",{})}_resolveAccount(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selectedAddress;if("string"==typeof e){const t=e;if(vt(t),null==this.accounts[t])throw new U(e);e=this.accounts[t]}return super._resolveAccount(e)}addresses(){return Object.keys(this.accounts)}async addAccount(e){let{select:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=await e.address();this.accounts[r]=e,!0===t&&this.selectAccount(r)}removeAccount(e){null!=this.accounts[e]?(delete this.accounts[e],this.selectedAddress===e&&delete this.selectedAddress):console.warn(`removeAccount: Account for ${e} not available`)}selectAccount(e){if(vt(e),null==this.accounts[e])throw new U(e);this.selectedAddress=e}}let _c,Tc,qc,Pc,Ec;!function(e){e.to_waellet="to_waellet",e.to_aepp="to_aepp"}(_c||(_c={})),function(e){e.window="window",e.extension="extension"}(Tc||(Tc={})),function(e){e.subscribe="subscribe",e.unsubscribe="unsubscribe"}(qc||(qc={})),function(e){e.readyToConnect="connection.announcePresence",e.updateAddress="address.update",e.address="address.get",e.connect="connection.open",e.sign="transaction.sign",e.signMessage="message.sign",e.subscribeAddress="address.subscribe",e.updateNetwork="networkId.update",e.closeConnection="connection.close"}(Pc||(Pc={})),function(e){e.CONNECTED="CONNECTED",e.DISCONNECTED="DISCONNECTED",e.WAITING_FOR_CONNECTION_REQUEST="WAITING_FOR_CONNECTION_REQUEST"}(Ec||(Ec={}));class Ic extends h{toJSON(){return{code:this.code,message:this.message,data:this.data}}static deserialize(e){const t=[kc,Ac,Oc,Mc,Rc,Bc,jc,Dc].find((t=>t.code===e.code));if(null==t)throw new V(`Can't find RpcError with code: ${e.code}`);return new t(e.data)}}class kc extends Ic{constructor(e){super("Invalid transaction"),Ea()(this,"code",2),this.data=e,this.name="RpcInvalidTransactionError"}}Ea()(kc,"code",2);class Ac extends Ic{constructor(e){super("Broadcast failed"),Ea()(this,"code",3),this.data=e,this.name="RpcBroadcastError"}}Ea()(Ac,"code",3);class Oc extends Ic{constructor(e){super("Operation rejected by user"),Ea()(this,"code",4),this.data=e,this.name="RpcRejectedByUserError"}}Ea()(Oc,"code",4);class Mc extends Ic{constructor(){super("Unsupported Protocol Version"),Ea()(this,"code",5),this.name="RpcUnsupportedProtocolError"}}Ea()(Mc,"code",5);class Rc extends Ic{constructor(e){super("Wallet deny your connection request"),Ea()(this,"code",9),this.data=e,this.name="RpcConnectionDenyError"}}Ea()(Rc,"code",9);class Bc extends Ic{constructor(){super("You are not connected to the wallet"),Ea()(this,"code",10),this.name="RpcNotAuthorizeError"}}Ea()(Bc,"code",10);class jc extends Ic{constructor(e){super(`You are not subscribed for account ${e}`),Ea()(this,"code",11),this.data=e,this.name="RpcPermissionDenyError"}}Ea()(jc,"code",11);class Dc extends Ic{constructor(){super("The peer failed to execute your request due to unknown error"),Ea()(this,"code",12),this.name="RpcInternalError"}}Ea()(Dc,"code",12);class Vc extends Ic{constructor(){super("Method not found"),Ea()(this,"code",-32601),this.name="RpcMethodNotFoundError"}}Ea()(Vc,"code",-32601);class Fc extends wo{constructor(e){let{rpcClient:t,address:r,...n}=e;super(n),this._rpcClient=t,this._address=r}async sign(e,t){throw new j("RAW signing using wallet")}async address(){return this._address}async signTransaction(e){let{innerTx:t,networkId:r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(null!=t)throw new j("innerTx option in AccountRpc");return(await this._rpcClient.request(Pc.sign,{onAccount:this._address,tx:e,returnSigned:!0,networkId:r})).signedTransaction}async signMessage(e){let{returnHex:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{signature:r}=await this._rpcClient.request(Pc.signMessage,{onAccount:this._address,message:e});return t?r:Buffer.from(r,"hex")}}var Hc=b(6337),Uc=b.n(Hc),$c=b(6045),Lc=b.n($c);function Gc(e,t){Wc(e,t),t.add(e)}function Kc(e,t,r){Wc(e,t),t.set(e,r)}function Wc(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Qc(e,t,r){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return r}var Yc=new WeakMap,Xc=new WeakMap,Jc=new WeakMap,Zc=new WeakSet,el=new WeakSet,tl=new WeakSet,rl=new WeakSet;class nl{constructor(e,t,r){Gc(this,rl),Gc(this,tl),Gc(this,el),Gc(this,Zc),Kc(this,Yc,{writable:!0,value:new Map}),Kc(this,Xc,{writable:!0,value:0}),Kc(this,Jc,{writable:!0,value:void 0}),this.connection=e,Lc()(this,Jc,r),e.connect(Qc(this,Zc,al).bind(this),t)}async request(e,t){var r;return Qc(this,el,il).call(this,Lc()(this,Xc,(r=Uc()(this,Xc),++r)),e,t),await new Promise(((e,t)=>{Uc()(this,Yc).set(Uc()(this,Xc),{resolve:e,reject:t})}))}notify(e,t){Qc(this,el,il).call(this,void 0,e,t)}}async function al(e,t){if("2.0"!==(null==e?void 0:e.jsonrpc))throw new K(JSON.stringify(e));if("result"in e||"error"in e)return void Qc(this,rl,ol).call(this,e);const r=e;let n,a;try{if(!(r.method in Uc()(this,Jc)))throw new Vc;const e=r.method;n=await Uc()(this,Jc)[e](r.params,t)}catch(e){a=e instanceof Ic?e:new Dc}null!=r.id&&Qc(this,tl,sl).call(this,r.id,r.method,n,a)}function il(e,t,r){this.connection.sendMessage({jsonrpc:"2.0",...null!=e?{id:e}:{},method:t,...null!=r?{params:r}:{}})}function sl(e,t,r,n){this.connection.sendMessage({jsonrpc:"2.0",id:e,method:t,...null!=n?{error:n}:{result:r}})}function ol(e){let{id:t,error:r,result:n}=e;const a=Uc()(this,Yc).get(t);if(null==a)throw new W(t);null!=r?a.reject(Ic.deserialize(r)):a.resolve(n),Uc()(this,Yc).delete(t)}class cl extends xc{constructor(e){let{name:t,onAddressChange:r=(()=>{}),onDisconnect:n=(()=>{}),onNetworkChange:a=(()=>{}),...i}=e;super(i),this.onAddressChange=r,this.onDisconnect=n,this.onNetworkChange=a,this.name=t}_resolveAccount(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.addresses()[0];if("string"==typeof e){var t;const r=e;if(vt(r),!p()(t=this.addresses()).call(t,r))throw new Q(r);e=new Fc({rpcClient:this.rpcClient,address:r})}return null==e&&this._ensureAccountAccess(),super._resolveAccount(e)}addresses(){if(null==this._accounts)return[];const e=Object.keys(this._accounts.current)[0];return[...null!=e?[e]:[],...Object.keys(this._accounts.connected)]}async connectToWallet(e){let t,{connectNode:r=!1,name:n="wallet-node",select:a=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(null!=this.rpcClient)throw new je("You are already connected to wallet");const i=new nl(e,(()=>{delete this.rpcClient,delete this._accounts,this.onDisconnect(t)}),{[Pc.updateAddress]:e=>{this._accounts=e,this.onAddressChange(e)},[Pc.updateNetwork]:e=>{const{node:t}=e;null!=t&&this.addNode(t.name,new yo(t.url),!0),this.onNetworkChange(e)},[Pc.closeConnection]:e=>{t=e,i.connection.disconnect()},[Pc.readyToConnect]:()=>{}}),{node:s,...o}=await i.request(Pc.connect,{name:this.name,version:1,connectNode:r});if(r){if(null==s)throw new Ve("Missing URLs of the Node");this.addNode(n,new yo(s.url),a)}return this.rpcClient=i,o}disconnectWallet(){this._ensureConnected(),this.rpcClient.notify(Pc.closeConnection,{reason:"bye"}),this.rpcClient.connection.disconnect()}async askAddresses(){return this._ensureAccountAccess(),await this.rpcClient.request(Pc.address,void 0)}async subscribeAddress(e,t){this._ensureConnected();const r=await this.rpcClient.request(Pc.subscribeAddress,{type:e,value:t});return this._accounts=r.address,r}_ensureConnected(){if(null==this.rpcClient)throw new De("You are not connected to Wallet")}_ensureAccountAccess(){if(this._ensureConnected(),0===this.addresses().length)throw new X}}var ll=b(2716);const dl=b.n(ll)()({storeAsString:!0}),ul=e=>{if("object"==typeof e&&null!==e&&e.constructor===Object)return it(e,(e=>{let[t,r]=e;return[t,ul(r)]}));if(Array.isArray(e))return e.map((e=>ul(e)));if("string"==typeof e&&new(d())(e).toString(10)===e){const t=new(d())(e);return t.toJSON=()=>t.toString(10),t}return e},pl={stringify:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return dl.stringify(ul(t[0]),...t.slice(1))},parse:dl.parse};class ml extends zc{constructor(e){let{name:t,id:r,type:n,onConnection:a,onSubscription:i,onSign:s,onDisconnect:o,onAskAccounts:c,onMessageSign:l,...d}=e;super(d),this.onConnection=a,this.onSubscription=i,this.onSign=s,this.onDisconnect=o,this.onAskAccounts=c,this.onMessageSign=l,this._clients=new Map,this.name=t,this.id=r,this._type=n}_pushAccountsToApps(){Array.from(this._clients.keys()).filter((e=>this._isRpcClientSubscribed(e))).map((e=>this._getClient(e).rpc)).forEach((e=>e.notify(Pc.updateAddress,this.getAccounts())))}selectAccount(e){super.selectAccount(e),this._pushAccountsToApps()}async addAccount(e,t){await super.addAccount(e,t),this._pushAccountsToApps()}_getNode(){return this.ensureNodeConnected(),{node:{url:this.api.url,name:this.selectedNodeName}}}async selectNode(e){super.selectNode(e);const t=await this.getNetworkId();Array.from(this._clients.keys()).filter((e=>this._isRpcClientConnected(e))).map((e=>this._getClient(e))).forEach((e=>{e.rpc.notify(Pc.updateNetwork,{networkId:t,...e.connectNode&&this._getNode()})}))}_getClient(e){const t=this._clients.get(e);if(null==t)throw new Y(e);return t}_isRpcClientSubscribed(e){return this._isRpcClientConnected(e)&&0!==this._getClient(e).addressSubscription.size}_isRpcClientConnected(e){return Ec.CONNECTED===this._getClient(e).status&&this._getClient(e).rpc.connection.isConnected()}_disconnectRpcClient(e){const t=this._getClient(e);t.rpc.connection.disconnect(),t.status=Ec.DISCONNECTED,t.addressSubscription=new Set}removeRpcClient(e){this._disconnectRpcClient(e),this._clients.delete(e)}addRpcClient(e){const t=(0,qn.v4)();let r;const n={id:t,status:Ec.WAITING_FOR_CONNECTION_REQUEST,addressSubscription:new Set,connectNode:!1,rpc:new nl(e,(()=>{this._clients.delete(t),this.onDisconnect(t,r)}),{[Pc.closeConnection]:e=>{r=e,this._disconnectRpcClient(t)},[Pc.connect]:async(e,r)=>{let{name:a,version:i,icons:s,connectNode:o}=e;if(1!==i)throw new Mc;return await this.onConnection(t,{name:a,icons:s,connectNode:o},r),n.status=Ec.CONNECTED,n.connectNode=o,{...await this.getWalletInfo(),...o&&this._getNode()}},[Pc.subscribeAddress]:async(e,r)=>{let{type:a,value:i}=e;if(!this._isRpcClientConnected(t))throw new Bc;switch(await this.onSubscription(t,{type:a,value:i},r),a){case qc.subscribe:n.addressSubscription.add(i);break;case qc.unsubscribe:n.addressSubscription.delete(i)}return{subscription:Array.from(n.addressSubscription),address:this.getAccounts()}},[Pc.address]:async(e,r)=>{if(!this._isRpcClientSubscribed(t))throw new Bc;return await this.onAskAccounts(t,e,r),this.addresses()},[Pc.sign]:async(e,r)=>{var n,a,i,s;let{tx:o,onAccount:c,returnSigned:l}=e;if(!this._isRpcClientConnected(t))throw new Bc;if(null!==(n=c)&&void 0!==n||(c=await this.address()),!p()(a=this.addresses()).call(a,c))throw new jc(c);const d=await this.onSign(t,{tx:o,returnSigned:l,onAccount:c},r);if(c=null!==(i=null==d?void 0:d.onAccount)&&void 0!==i?i:c,o=null!==(s=null==d?void 0:d.tx)&&void 0!==s?s:o,l)return{signedTransaction:await this.signTransaction(o,{onAccount:c})};try{return pl.parse(pl.stringify({transactionHash:await this.send(o,{onAccount:c,verify:!1})}))}catch(e){const t=await on(o,this.api);if(t.length>0)throw new kc(t);throw new Ac(e.message)}},[Pc.signMessage]:async(e,r)=>{var n,a,i;let{message:s,onAccount:o}=e;if(!this._isRpcClientConnected(t))throw new Bc;if(null!==(n=o)&&void 0!==n||(o=await this.address()),!p()(a=this.addresses()).call(a,o))throw new jc(o);const c=await this.onMessageSign(t,{message:s,onAccount:o},r);return o=null!==(i=null==c?void 0:c.onAccount)&&void 0!==i?i:o,{signature:await this.signMessage(s,{onAccount:o,returnHex:!0})}}})};return this._clients.set(t,n),t}async shareWalletInfo(e){this._getClient(e).rpc.notify(Pc.readyToConnect,await this.getWalletInfo())}async getWalletInfo(){return{id:this.id,name:this.name,networkId:await this.getNetworkId(),origin:window.location.origin,type:this._type}}getAccounts(){return{current:null!=this.selectedAddress?{[this.selectedAddress]:{}}:{},connected:this.addresses().filter((e=>e!==this.selectedAddress)).reduce(((e,t)=>({...e,[t]:{}})),{})}}}var hl=b(8079),yl=b(3735);const gl=new WeakMap,fl=new WeakMap,Nl=new WeakMap,wl=new WeakMap,bl=new WeakMap,vl=new WeakMap,Sl=new WeakMap,Cl=new WeakMap,xl=new WeakMap,zl=new WeakMap,_l=new WeakMap,Tl=new WeakMap,ql=new WeakMap,Pl=new WeakMap,El=new WeakMap,Il=new WeakMap;function kl(e){for(var t,r=arguments.length,n=new Array(r>1?r-1:0),a=1;a<r;a++)n[a-1]=arguments[a];const[i,...s]=n;null===(t=vl.get(e))||void 0===t||t.emit(i,...s)}function Al(e,t){var r;if(null==t)throw new re;wl.set(e,t),null!=(null==t||null===(r=t.handler)||void 0===r?void 0:r.enter)&&t.handler.enter(e),jl(e)}function Ol(e,t){t!==fl.get(e)&&(fl.set(e,t),kl(e,"statusChanged",t))}function Ml(e,t){Nl.set(e,t),kl(e,"stateChanged",t)}function Rl(e,t){var r,n,a;null!==(r=null===(n=gl.get(e))||void 0===n?void 0:n.debug)&&void 0!==r&&r&&console.log("Send message: ",t),null===(a=bl.get(e))||void 0===a||a.send(pl.stringify(t))}function Bl(e,t,r){var n;const a=null!==(n=xl.get(e))&&void 0!==n?n:[];xl.set(e,[...a,{guard:t,action:r}]),jl(e)}async function jl(e){var t;const r=zl.get(e),n=null!==(t=xl.get(e))&&void 0!==t?t:[];if(Boolean(r)||0===n.length)return;const a=wl.get(e);if(null==a)return;const i=n.findIndex((t=>t.guard(e,a)));if(-1===i)return;xl.set(e,n.filter(((e,t)=>i!==t))),zl.set(e,!0);const s=await Promise.resolve(n[i].action(e,a));zl.set(e,!1),Al(e,s)}async function Dl(e,t){const r=wl.get(e);if(null==r)throw new re;const{handler:n,state:a}=r;Al(e,await Promise.resolve(n(e,t,a)))}function Vl(e){const t=Pl.get(e),r=El.get(e);null!=t&&clearTimeout(t),null!=r&&clearTimeout(r),Pl.set(e,setTimeout((()=>{Rl(e,{jsonrpc:"2.0",method:"channels.system",params:{action:"ping"}}),El.set(e,setTimeout((()=>{Hl(e),kl(e,"error",new ee)}),5e3))}),1e4))}async function Fl(e,t,r){return await new Promise(((n,a)=>{var i,s,o;const c=null!==(i=_l.get(e))&&void 0!==i?i:0,l=null!==(s=_l.set(e,c+1).get(e))&&void 0!==s?s:1;null===(o=ql.get(e))||void 0===o||o.set(l,(e=>{if(null!=e.result)return n(e.result);if(null!=e.error){var t;const[{message:r}={message:""}]=null!==(t=e.error.data)&&void 0!==t?t:[];return a(new J(e.error.message+r))}})),Rl(e,{jsonrpc:"2.0",method:t,id:l,params:r})}))}function Hl(e){var t;null===(t=bl.get(e))||void 0===t||t.close();const r=Pl.get(e),n=El.get(e);null!=r&&clearTimeout(r),null!=n&&clearTimeout(n)}async function Ul(e,t,r,n){let{url:a,...i}=n;gl.set(e,{url:a,...i}),wl.set(e,{handler:t}),vl.set(e,new yl.EventEmitter),_l.set(e,0),ql.set(e,new Map),Sl.set(e,[]);const s=new URL(a);Object.entries(i).filter((e=>{var t;let[r]=e;return!p()(t=["sign","debug"]).call(t,r)})).forEach((e=>{let[t,r]=e;return s.searchParams.set(t.replace(/[A-Z]/g,(e=>`_${e.toLowerCase()}`)),r)})),s.searchParams.set("protocol","json-rpc"),Ol(e,"connecting");const o=new hl.w3cwebsocket(s.toString());await new Promise(((t,n)=>Object.assign(o,{onerror:n,onopen:async()=>{if(t(),Ol(e,"connected"),null!=i.reconnectTx){Al(e,{handler:r});const t=(await Fl(e,"channels.get.offchain_state",{})).signed_tx;Ml(e,t)}Vl(e)},onclose:()=>{Ol(e,"disconnected");const t=Pl.get(e),r=El.get(e);null!=t&&clearTimeout(t),null!=r&&clearTimeout(r)},onmessage:t=>{let{data:r}=t;return function(e,t){var r,n,a;const i=pl.parse(t);if(null!==(r=null===(n=gl.get(e))||void 0===n?void 0:n.debug)&&void 0!==r&&r&&console.log("Receive message: ",i),null==i.id)"channels.message"!==i.method?"channels.system.pong"!==i.method?(null===(a=Sl.get(e))||void 0===a||a.push(i),async function(e){var t,r;if(null!==(t=Cl.get(e))&&void 0!==t&&t)return;const n=null!==(r=Sl.get(e))&&void 0!==r?r:[];if(0!==n.length){for(Cl.set(e,!0);n.length>0;){var a;const t=null!==(a=n.shift())&&void 0!==a?a:"";try{await Dl(e,t)}catch(e){console.error("Error handling incoming message:"),console.error(t),console.error(e)}}Cl.set(e,!1)}}(e)):i.params.channel_id!==Tl.get(e)&&null!=Tl.get(e)||Vl(e):kl(e,"message",i.params.data.message);else{var s;const t=null===(s=ql.get(e))||void 0===s?void 0:s.get(i.id);try{null==t||t(i)}finally{var o;null===(o=ql.get(e))||void 0===o||o.delete(i.id)}}}(e,r)}}))),bl.set(e,o)}async function $l(e,t){const{signatures:r,encodedTx:n}=Jr(e,Or.signed).tx,a=await t(St(n.rlpEncoded,"tx"));if("string"==typeof a){const{tx:e}=Jr(a,Or.signed);return Xr({signatures:r.concat(e.signatures),encodedTx:e.encodedTx.rlpEncoded},Or.signed).tx}return a}function Ll(e,t,r){return null!=(null==r?void 0:r.reject)&&r.reject(Object.assign(new te(`Unexpected message received:\n\n${JSON.stringify(t)}`),{wsMessage:t})),{handler:Zl}}function Gl(e,t){if("channels.info"===t.method){var r;const n=t.params.data.event;return p()(r=["channel_accept","funding_created"]).call(r,n)?(Ol(e,{channel_accept:"accepted",funding_created:"halfSigned"}[n]),{handler:Wl}):"channel_reestablished"===t.params.data.event?{handler:Xl}:"fsm_up"===t.params.data.event?(Il.set(e,t.params.data.fsm_id),{handler:Gl}):{handler:Gl}}var n;if("channels.error"===t.method)return kl(e,"error",new Z(null==t||null===(n=t.payload)||void 0===n?void 0:n.message)),{handler:Nd}}async function Kl(e,t,r){return"channels.info"===t.method&&"fsm_up"===t.params.data.event?(Il.set(e,t.params.data.fsm_id),Ml(e,(await Fl(e,"channels.get.offchain_state",{})).signed_tx),{handler:Zl}):Ll(0,t,r)}async function Wl(e,t){const r=gl.get(e);if(null!=r){const n={initiator:"initiator_sign",responder:"responder_sign"}[r.role];if(t.method===`channels.sign.${n}`){if(null!=t.params.data.tx){const a=await r.sign(n,t.params.data.tx);return Rl(e,{jsonrpc:"2.0",method:`channels.${n}`,params:{tx:a}}),{handler:Ql}}const a=await $l(t.params.data.signed_tx,(async e=>await r.sign(n,e)));return Rl(e,{jsonrpc:"2.0",method:`channels.${n}`,params:{signed_tx:a}}),{handler:Ql}}}}function Ql(e,t){const r=gl.get(e);if(null!=r){if("channels.on_chain_tx"===t.method){if("funding_signed"===t.params.data.info&&"initiator"===r.role)return{handler:Yl};if("funding_created"===t.params.data.info&&"responder"===r.role)return{handler:Yl}}if("channels.info"===t.method&&"funding_signed"===t.params.data.event&&"initiator"===r.role)return Tl.set(e,t.params.channel_id),Ol(e,"signed"),{handler:Ql}}}function Yl(e,t){if("channels.info"===t.method){const e={funding_created:Yl,own_funding_locked:Yl,funding_locked:Xl}[t.params.data.event];if(null!=e)return{handler:e}}if("channels.on_chain_tx"===t.method)return kl(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),{handler:Yl}}function Xl(e,t){if("channels.info"===t.method&&"open"===t.params.data.event)return Tl.set(e,t.params.channel_id),{handler:Jl}}function Jl(e,t){if("channels.update"===t.method)return Ml(e,t.params.data.state),{handler:Zl}}async function Zl(e,t,r){switch(t.method){case"channels.info":switch(t.params.data.event){case"update":case"withdraw_created":case"deposit_created":return{handler:rd};case"own_withdraw_locked":case"withdraw_locked":case"own_deposit_locked":case"deposit_locked":case"peer_disconnected":case"channel_reestablished":case"open":return kl(e,t.params.data.event),{handler:Zl};case"fsm_up":return Il.set(e,t.params.data.fsm_id),{handler:Zl};case"timeout":case"close_mutual":case"shutdown":return{handler:Zl};case"closing":return Ol(e,"closing"),{handler:Zl};case"closed_confirmed":return Ol(e,"closed"),{handler:Nd};case"died":return Ol(e,"died"),{handler:Nd}}break;case"channels.on_chain_tx":return kl(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),{handler:Zl};case"channels.leave":return{handler:Zl};case"channels.update":return Ml(e,t.params.data.state),{handler:Zl};case"channels.sign.shutdown_sign_ack":return await rd(e,t,r)}}async function ed(e,t,r){if("channels.sign.update"===t.method){const{sign:n}=r;if(null!=t.params.data.tx)return Rl(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await n(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:td,state:r};const a=await $l(t.params.data.signed_tx,(async e=>await n(e,{updates:t.params.data.updates})));if("string"==typeof a)return Rl(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:a}}),{handler:td,state:r};if("number"==typeof a)return Rl(e,{jsonrpc:"2.0",method:"channels.update",params:{error:a}}),{handler:ed,state:r}}if("channels.error"===t.method)return r.reject(new Z(t.data.message)),{handler:Zl};if(null!=t.error){var n;const{data:e}=null!==(n=t.error)&&void 0!==n?n:{data:[]};return null!=e.find((e=>1001===e.code))?r.reject(new E("Insufficient balance")):null!=e.find((e=>1002===e.code))?r.reject(new q("Amount cannot be negative")):r.reject(new Z(t.error.message)),{handler:Zl}}return"channels.conflict"===t.method?(r.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Zl}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(r.resolve({accepted:!1}),{handler:Zl}):Ll(0,t,r)}function td(e,t,r){return"channels.update"===t.method?(Ml(e,t.params.data.state),r.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Zl}):"channels.conflict"===t.method?(r.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Zl}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(r.resolve({accepted:!1}),{handler:Zl}):null!=t.error?(r.reject(new Z(t.error.message)),{handler:Zl}):Ll(0,t,r)}async function rd(e,t,r){var n;const[,a]=null!==(n=t.method.match(/^channels\.sign\.([^.]+)$/))&&void 0!==n?n:[],i=gl.get(e);if(null!=a&&null!=i){if(null!=t.params.data.tx){const r=await i.sign(a,t.params.data.tx,{updates:t.params.data.updates});if(null!=r)return Rl(e,{jsonrpc:"2.0",method:`channels.${a}`,params:{tx:r}}),{handler:Zl}}else{const n=await $l(t.params.data.signed_tx,(async e=>await i.sign(a,e,{updates:t.params.data.updates})));if("string"==typeof n)return Rl(e,{jsonrpc:"2.0",method:`channels.${a}`,params:{signed_tx:n}}),{handler:Zl};if("number"==typeof n)return Rl(e,{jsonrpc:"2.0",method:`channels.${a}`,params:{error:n}}),{handler:nd,state:r}}return Rl(e,{jsonrpc:"2.0",method:"channels.update.new",params:{from:It().publicKey,to:It().publicKey,amount:1}}),{handler:nd,state:r}}return Ll(0,t,r)}function nd(e,t,r){return null!=t.error?{handler:nd,state:r}:"channels.conflict"===t.method?{handler:Zl}:Ll(0,t,r)}async function ad(e,t,r){return"channels.sign.shutdown_sign"===t.method?null!=t.params.data.tx?(Rl(e,{jsonrpc:"2.0",method:"channels.shutdown_sign",params:{tx:await r.sign(t.params.data.tx)}}),{handler:id,state:r}):(Rl(e,{jsonrpc:"2.0",method:"channels.shutdown_sign",params:{signed_tx:await $l(t.params.data.signed_tx,(async e=>await r.sign(e)))}}),{handler:id,state:r}):Ll(0,t,r)}function id(e,t,r){return"channels.on_chain_tx"===t.method?{handler:Nd,state:r}:Ll(0,t,r)}function sd(e,t,r){return"channels.leave"===t.method?(r.resolve({channelId:t.params.channel_id,signedTx:t.params.data.state}),Hl(e),{handler:Nd}):"channels.error"===t.method?(r.reject(new Z(t.data.message)),{handler:Zl}):Ll(0,t,r)}async function od(e,t,r){if("channels.sign.withdraw_tx"===t.method){const{sign:n}=r;if(null!=t.params.data.tx)return Rl(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{tx:await n(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:cd,state:r};const a=await $l(t.params.data.signed_tx,(async e=>await n(e,{updates:t.params.data.updates})));if("string"==typeof a)return Rl(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{signed_tx:a}}),{handler:cd,state:r};if("number"==typeof a)return Rl(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{error:a}}),{handler:cd,state:r}}return Ll(0,t,r)}function cd(e,t,r){if("channels.on_chain_tx"===t.method)return null!=r.onOnChainTx&&r.onOnChainTx(t.params.data.tx),{handler:cd,state:r};var n;if("channels.info"===t.method&&p()(n=["own_withdraw_locked","withdraw_locked"]).call(n,t.params.data.event)){const e={own_withdraw_locked:r.onOwnWithdrawLocked,withdraw_locked:r.onWithdrawLocked}[t.params.data.event];return null!=e&&e(),{handler:cd,state:r}}return"channels.update"===t.method?(Ml(e,t.params.data.state),r.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Zl}):"channels.conflict"===t.method?(r.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Zl}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(r.resolve({accepted:!1}),{handler:Zl}):Ll(0,t,r)}async function ld(e,t,r){if("channels.sign.deposit_tx"===t.method){const{sign:n}=r;if(null!=t.params.data.tx)return Rl(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{tx:await n(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:dd,state:r};const a=await $l(t.params.data.signed_tx,(async e=>await n(e,{updates:t.params.data.updates})));if("string"==typeof a)return Rl(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{signed_tx:a}}),{handler:dd,state:r};if("number"==typeof a)return Rl(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{error:a}}),{handler:dd,state:r}}return Ll(0,t,r)}function dd(e,t,r){if("channels.on_chain_tx"===t.method)return null!=r.onOnChainTx&&r.onOnChainTx(t.params.data.tx),{handler:dd,state:r};var n;if("channels.info"===t.method&&p()(n=["own_deposit_locked","deposit_locked"]).call(n,t.params.data.event)){const e={own_deposit_locked:r.onOwnDepositLocked,deposit_locked:r.onDepositLocked}[t.params.data.event];return null!=e&&e(),{handler:dd,state:r}}return"channels.update"===t.method?(Ml(e,t.params.data.state),r.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Zl}):"channels.conflict"===t.method?(r.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Zl}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(r.resolve({accepted:!1}),{handler:Zl}):Ll(0,t,r)}async function ud(e,t,r){if("channels.sign.update"===t.method){if(null!=t.params.data.tx)return Rl(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await r.sign(t.params.data.tx)}}),{handler:pd,state:r};const n=await $l(t.params.data.signed_tx,(async e=>await r.sign(e)));if("string"==typeof n)return Rl(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:n}}),{handler:pd,state:r};if("number"==typeof n)return Rl(e,{jsonrpc:"2.0",method:"channels.update",params:{error:n}}),{handler:pd,state:r}}return Ll(0,t,r)}function pd(e,t,r){const n=gl.get(e);if("channels.update"===t.method){const{round:a}=Jr(t.params.data.state,Or.signed).tx.encodedTx.tx;if(null!=(null==n?void 0:n.role)){const i="initiator"===n.role?"initiatorId":"responder"===n.role?"responderId":null;if(null!=i){const s=null==n?void 0:n[i];return Ml(e,t.params.data.state),r.resolve({accepted:!0,address:Pt(s,a),signedTx:t.params.data.state}),{handler:Zl}}}}return"channels.conflict"===t.method?(r.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Zl}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(r.resolve({accepted:!1}),{handler:Zl}):Ll(0,t,r)}async function md(e,t,r){if("channels.sign.update"===t.method){if(null!=t.params.data.tx)return Rl(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await r.sign(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:gd,state:r};const n=await $l(t.params.data.signed_tx,(async e=>await r.sign(e,{updates:t.params.data.updates})));if("string"==typeof n)return Rl(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:n}}),{handler:gd,state:r};if("number"==typeof n)return Rl(e,{jsonrpc:"2.0",method:"channels.update",params:{error:n}}),{handler:gd,state:r}}return Ll(0,t,r)}async function hd(e,t,r){return"channels.sign.force_progress_tx"===t.method?(Rl(e,{jsonrpc:"2.0",method:"channels.force_progress_sign",params:{signed_tx:await $l(t.params.data.signed_tx,(async e=>await r.sign(e,{updates:t.params.data.updates})))}}),{handler:yd,state:r}):Ll(0,t,r)}function yd(e,t,r){return"channels.on_chain_tx"===t.method&&(null!=r.onOnChainTx&&r.onOnChainTx(t.params.data),kl(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),r.resolve({accepted:!0,tx:t.params.data.tx})),Ll(0,t,r)}function gd(e,t,r){return"channels.update"===t.method?(Ml(e,t.params.data.state),r.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Zl}):"channels.conflict"===t.method?(r.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Zl}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(r.resolve({accepted:!1}),{handler:Zl}):Ll(0,t,r)}function fd(e,t,r){return"channels.calls_pruned.reply"===t.method?(r.resolve(),{handler:Zl}):(r.reject(new te("Unexpected message received")),{handler:Nd})}function Nd(e,t,r){return null==r?{handler:Nd}:"closing"===t.params.data.event?{handler:Nd,state:r}:"channel_closed"===t.params.data.info?(r.closeTx=t.params.data.tx,{handler:Nd,state:r}):"closed_confirmed"===t.params.data.event?(r.resolve(r.closeTx),{handler:Nd}):{handler:Nd,state:r}}function wd(e){return Object.entries(e).reduce(((e,t)=>{let[r,n]=t;return{...e,[(a=r,a.replace(/_./g,(e=>e[1].toUpperCase())))]:n};var a}),{})}Zl.enter=e=>{Ol(e,"open")};class bd{static async initialize(e){const t=new bd;return await Ul(t,null!=e.existingFsmId?Kl:Gl,Zl,e),t}on(e,t){const r=vl.get(this);if(null==r)throw new re;r.on(e,t)}off(e,t){const r=vl.get(this);if(null==r)throw new re;r.removeListener(e,t)}disconnect(){return Hl(this)}status(){const e=fl.get(this);if(null==e)throw new re;return e}async state(){return await wd(await Fl(this,"channels.get.offchain_state",{}))}round(){const e=Nl.get(this);if(null==e)return null;const{txType:t,tx:r}=Jr(e,Or.signed).tx.encodedTx;switch(t){case Or.channelCreate:return 1;case Or.channelOffChain:case Or.channelWithdraw:case Or.channelDeposit:return+r.round;default:return null}}id(){const e=Tl.get(this);if(null==e)throw new N("Channel is not initialized");return e}fsmId(){const e=Il.get(this);if(null==e)throw new N("Channel is not initialized");return e}async update(e,t,r,n){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[];return await new Promise(((i,s)=>{Bl(this,((e,t)=>(null==t?void 0:t.handler)===Zl),((o,c)=>(Rl(o,{jsonrpc:"2.0",method:"channels.update.new",params:{from:e,to:t,amount:r,meta:a}}),{handler:ed,state:{resolve:i,reject:s,sign:n}})))}))}async poi(e){let{accounts:t,contracts:r}=e;return(await Fl(this,"channels.get.poi",{accounts:t,contracts:r})).poi}async balances(e){return Object.fromEntries((await Fl(this,"channels.get.balances",{accounts:e})).map((e=>[e.account,e.balance])))}async leave(){return await new Promise(((e,t)=>{Bl(this,((e,t)=>(null==t?void 0:t.handler)===Zl),((r,n)=>(Rl(r,{jsonrpc:"2.0",method:"channels.leave",params:{}}),{handler:sd,state:{resolve:e,reject:t}})))}))}async shutdown(e){return await new Promise(((t,r)=>{Bl(this,((e,t)=>(null==t?void 0:t.handler)===Zl),(n=>(Rl(n,{jsonrpc:"2.0",method:"channels.shutdown",params:{}}),{handler:ad,state:{sign:e,resolve:t,reject:r}})))}))}async withdraw(e,t){let{onOnChainTx:r,onOwnWithdrawLocked:n,onWithdrawLocked:a}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return await new Promise(((i,s)=>{Bl(this,((e,t)=>(null==t?void 0:t.handler)===Zl),(o=>(Rl(o,{jsonrpc:"2.0",method:"channels.withdraw",params:{amount:e}}),{handler:od,state:{sign:t,resolve:i,reject:s,onOnChainTx:r,onOwnWithdrawLocked:n,onWithdrawLocked:a}})))}))}async deposit(e,t){let{onOnChainTx:r,onOwnDepositLocked:n,onDepositLocked:a}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return await new Promise(((i,s)=>{Bl(this,((e,t)=>(null==t?void 0:t.handler)===Zl),(o=>(Rl(o,{jsonrpc:"2.0",method:"channels.deposit",params:{amount:e}}),{handler:ld,state:{sign:t,resolve:i,reject:s,onOnChainTx:r,onOwnDepositLocked:n,onDepositLocked:a}})))}))}async createContract(e,t){let{code:r,callData:n,deposit:a,vmVersion:i,abiVersion:s}=e;return await new Promise(((e,o)=>{Bl(this,((e,t)=>(null==t?void 0:t.handler)===Zl),(c=>(Rl(c,{jsonrpc:"2.0",method:"channels.update.new_contract",params:{code:r,call_data:n,deposit:a,vm_version:i,abi_version:s}}),{handler:ud,state:{sign:t,resolve:e,reject:o}})))}))}async callContract(e,t){let{amount:r,callData:n,contract:a,abiVersion:i}=e;return await new Promise(((e,s)=>{Bl(this,((e,t)=>(null==t?void 0:t.handler)===Zl),(o=>(Rl(o,{jsonrpc:"2.0",method:"channels.update.call_contract",params:{amount:r,call_data:n,contract_id:a,abi_version:i}}),{handler:md,state:{resolve:e,reject:s,sign:t}})))}))}async forceProgress(e,t){let{amount:r,callData:n,contract:a,abiVersion:i,gasLimit:s=1e6,gasPrice:o=1e9}=e,{onOnChainTx:c}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return await new Promise(((e,l)=>{Bl(this,((e,t)=>(null==t?void 0:t.handler)===Zl),(d=>(Rl(d,{jsonrpc:"2.0",method:"channels.force_progress",params:{amount:r,call_data:n,contract_id:a,abi_version:i,gas_price:o,gas:s}}),{handler:hd,state:{resolve:e,reject:l,sign:t,onOnChainTx:c}})))}))}async callContractStatic(e){let{amount:t,callData:r,contract:n,abiVersion:a}=e;return await wd(await Fl(this,"channels.dry_run.call_contract",{amount:t,call_data:r,contract_id:n,abi_version:a}))}async getContractCall(e){let{caller:t,contract:r,round:n}=e;return await wd(await Fl(this,"channels.get.contract_call",{caller_id:t,contract_id:r,round:n}))}async getContractState(e){const t=await Fl(this,"channels.get.contract",{pubkey:e});return await wd({...t,contract:wd(t.contract)})}async cleanContractCalls(){return await new Promise(((e,t)=>{Bl(this,((e,t)=>(null==t?void 0:t.handler)===Zl),(r=>(Rl(r,{jsonrpc:"2.0",method:"channels.clean_contract_calls",params:{}}),{handler:fd,state:{resolve:e,reject:t}})))}))}sendMessage(e,t){let r=e;"object"==typeof e&&(r=JSON.stringify(e));const n=e=>Rl(e,{jsonrpc:"2.0",method:"channels.message",params:{info:r,to:t}});if("connecting"===this.status()){const e=t=>{"connecting"!==t&&(setTimeout((()=>n(this)),500),this.off("statusChanged",e))};this.on("statusChanged",e)}else n(this)}static async reconnect(e,t){const{sign:r}=e;return await bd.initialize({...e,reconnectTx:await r("reconnect",Xr(t,Or.channelReconnect).tx)})}}const vd=(e,t)=>(e.connect((e=>t.sendMessage(e)),(()=>t.disconnect())),t.connect((t=>e.sendMessage(t)),(()=>e.disconnect())),()=>{e.disconnect(),t.disconnect()});class Sd{constructor(e){let{debug:t=!1}=e;this.debug=t}connect(e,t){if(this.isConnected())throw new je("You already connected")}disconnect(){if(!this.isConnected())throw new De("You dont have connection. Please connect before")}receiveMessage(e){this.debug&&console.log("Receive message:",e)}sendMessage(e){this.debug&&console.log("Send message:",e)}}function Cd(e,t,r){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.set(e,r)}var xd=new WeakMap,zd=new WeakMap,_d=new WeakMap;class Td extends Sd{constructor(){let{target:e,self:t=window,origin:r,sendDirection:n,receiveDirection:a=_c.to_aepp,...i}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(i),Cd(this,xd,{writable:!0,value:void 0}),Cd(this,zd,{writable:!0,value:void 0}),Cd(this,_d,{writable:!0,value:void 0}),Lc()(this,zd,e),Lc()(this,_d,t),this.origin=r,this.sendDirection=n,this.receiveDirection=a}isConnected(){return null!=this.listener}connect(e,t){super.connect(e,t),this.listener=t=>{if("object"!=typeof t.data)return;if(null!=this.origin&&this.origin!==t.origin)return;if(null!=Uc()(this,zd)&&Uc()(this,zd)!==t.source)return;this.receiveMessage(t);let{data:r}=t;if(null!=r.type){if(t.data.type!==this.receiveDirection)return;r=r.data}e(r,t.origin,t.source)},Uc()(this,_d).addEventListener("message",this.listener),Lc()(this,xd,t)}disconnect(){if(super.disconnect(),null==this.listener||null==Uc()(this,xd))throw new V("Expected to not happen, required for TS");Uc()(this,_d).removeEventListener("message",this.listener),delete this.listener,Uc()(this,xd).call(this),Lc()(this,xd,void 0)}sendMessage(e){var t;if(null==Uc()(this,zd))throw new Ve("Can't send messages without target");const r=null!=this.sendDirection?{type:this.sendDirection,data:e}:e;super.sendMessage(r),Uc()(this,zd).postMessage(r,null!==(t=this.origin)&&void 0!==t?t:"*")}}const qd=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Td,t=arguments.length>1?arguments[1]:void 0;if(null==window)throw new R("Window object not found, you can run wallet detector only in browser");const r={};return e.connect(((e,n,a)=>{let{method:i,params:s}=e;if(i!==Pc.readyToConnect||null!=r[s.id])return;const o={info:s,getConnection(){const e="extension"===s.type;return new Td({sendDirection:e?_c.to_waellet:void 0,receiveDirection:e?_c.to_aepp:void 0,target:a,origin:e?window.origin:s.origin})}};r[o.info.id]=o,t({wallets:r,newWallet:o})}),(()=>{})),Object.keys(r).length>0&&t({wallets:r}),()=>e.disconnect()};class Pd extends Sd{constructor(e){let{port:t,...r}=e;super(r),this.port=t}disconnect(){super.disconnect(),this.port.disconnect()}connect(e,t){super.connect(e,t),this.port.onMessage.addListener(((t,r)=>{this.receiveMessage(t),e(t,r.name,r)})),this.port.onDisconnect.addListener(t)}sendMessage(e){super.sendMessage(e),this.port.postMessage(e)}isConnected(){return this.port.onMessage.hasListeners()}}})(),v})()));
|
|
2
2
|
//# sourceMappingURL=aepp-sdk.js.map
|