@aeternity/aepp-sdk 10.0.0 → 11.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -14
- package/dist/aepp-sdk.browser-script.js +1 -1
- package/dist/aepp-sdk.browser-script.js.LICENSE.txt +7 -27
- 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/account/{base.js → base.mjs} +20 -10
- package/es/account/base.mjs.map +1 -0
- package/es/account/{memory.js → memory.mjs} +29 -14
- package/es/account/memory.mjs.map +1 -0
- package/es/account/{multiple.js → multiple.mjs} +10 -9
- package/es/account/multiple.mjs.map +1 -0
- package/es/ae/{aens.js → aens.mjs} +18 -22
- package/es/ae/aens.mjs.map +1 -0
- package/es/ae/{aepp.js → aepp.mjs} +9 -9
- package/es/ae/aepp.mjs.map +1 -0
- package/es/ae/contract.mjs +159 -0
- package/es/ae/contract.mjs.map +1 -0
- package/es/ae/{index.js → index.mjs} +8 -7
- package/es/ae/index.mjs.map +1 -0
- package/es/ae/{oracle.js → oracle.mjs} +33 -16
- package/es/ae/oracle.mjs.map +1 -0
- package/es/ae/{universal.js → universal.mjs} +10 -10
- package/es/ae/universal.mjs.map +1 -0
- package/es/ae/{wallet.js → wallet.mjs} +10 -10
- package/es/ae/wallet.mjs.map +1 -0
- package/es/aepp-wallet-communication/schema.d.ts +74 -0
- package/es/bignumber.d.ts +1 -7
- package/es/chain/{index.js → index.mjs} +20 -4
- package/es/chain/index.mjs.map +1 -0
- package/es/chain/{node.js → node.mjs} +121 -73
- package/es/chain/node.mjs.map +1 -0
- package/es/channel/{handlers.js → handlers.mjs} +18 -20
- package/es/channel/handlers.mjs.map +1 -0
- package/es/channel/{index.js → index.mjs} +7 -7
- package/es/channel/index.mjs.map +1 -0
- package/es/channel/{internal.js → internal.mjs} +49 -32
- package/es/channel/internal.mjs.map +1 -0
- package/es/contract/aci.mjs +477 -0
- package/es/contract/aci.mjs.map +1 -0
- package/es/contract/compiler.mjs +115 -0
- package/es/contract/compiler.mjs.map +1 -0
- package/es/contract/ga/helpers.mjs +30 -0
- package/es/contract/ga/helpers.mjs.map +1 -0
- package/es/contract/ga/{index.js → index.mjs} +36 -28
- package/es/contract/ga/index.mjs.map +1 -0
- package/es/errors.d.ts +284 -0
- package/es/index.mjs +57 -0
- package/es/index.mjs.map +1 -0
- package/es/node-pool/{index.js → index.mjs} +11 -10
- package/es/node-pool/index.mjs.map +1 -0
- package/es/{node.js → node.mjs} +9 -8
- package/es/node.mjs.map +1 -0
- package/es/tx/builder/field-types.mjs +74 -0
- package/es/tx/builder/field-types.mjs.map +1 -0
- package/es/tx/builder/{helpers.js → helpers.mjs} +114 -56
- package/es/tx/builder/helpers.mjs.map +1 -0
- package/es/tx/builder/{index.js → index.mjs} +79 -68
- package/es/tx/builder/index.mjs.map +1 -0
- package/es/tx/builder/{schema.js → schema.mjs} +11 -65
- package/es/tx/builder/schema.mjs.map +1 -0
- package/es/tx/{index.js → index.mjs} +5 -2
- package/es/tx/index.mjs.map +1 -0
- package/es/tx/{tx-object.js → tx-object.mjs} +22 -15
- package/es/tx/tx-object.mjs.map +1 -0
- package/es/tx/{tx.js → tx.mjs} +15 -14
- package/es/tx/tx.mjs.map +1 -0
- package/es/tx/{validator.js → validator.mjs} +72 -33
- package/es/tx/validator.mjs.map +1 -0
- package/es/typings/blakejs/index.d.mjs +2 -0
- package/es/typings/blakejs/{index.d.js.map → index.d.mjs.map} +1 -1
- package/es/utils/aepp-wallet-communication/connection/{browser-runtime.js → browser-runtime.mjs} +7 -6
- package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs.map +1 -0
- package/es/utils/aepp-wallet-communication/connection/{browser-window-message.js → browser-window-message.mjs} +10 -11
- package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs.map +1 -0
- package/es/utils/aepp-wallet-communication/connection/{index.js → index.mjs} +5 -2
- package/es/utils/aepp-wallet-communication/connection/index.mjs.map +1 -0
- package/es/utils/aepp-wallet-communication/{content-script-bridge.js → content-script-bridge.mjs} +6 -5
- package/es/utils/aepp-wallet-communication/content-script-bridge.mjs.map +1 -0
- package/es/utils/aepp-wallet-communication/{helpers.js → helpers.mjs} +3 -14
- package/es/utils/aepp-wallet-communication/helpers.mjs.map +1 -0
- package/es/utils/aepp-wallet-communication/rpc/{aepp-rpc.js → aepp-rpc.mjs} +113 -67
- package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs.map +1 -0
- package/es/utils/aepp-wallet-communication/rpc/{rpc-client.js → rpc-client.mjs} +14 -9
- package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs.map +1 -0
- package/es/utils/aepp-wallet-communication/rpc/{wallet-rpc.js → wallet-rpc.mjs} +71 -63
- package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs.map +1 -0
- package/es/utils/aepp-wallet-communication/schema.mjs +102 -0
- package/es/utils/aepp-wallet-communication/schema.mjs.map +1 -0
- package/es/utils/aepp-wallet-communication/{wallet-detector.js → wallet-detector.mjs} +6 -5
- package/es/utils/aepp-wallet-communication/wallet-detector.mjs.map +1 -0
- package/es/utils/{amount-formatter.js → amount-formatter.mjs} +14 -7
- package/es/utils/amount-formatter.mjs.map +1 -0
- package/es/utils/{async-init.js → async-init.mjs} +8 -11
- package/es/utils/async-init.mjs.map +1 -0
- package/es/utils/{bignumber.js → bignumber.mjs} +2 -9
- package/es/utils/bignumber.mjs.map +1 -0
- package/es/utils/{bytes.js → bytes.mjs} +16 -8
- package/es/utils/bytes.mjs.map +1 -0
- package/es/utils/{crypto-ts.js → crypto-ts.mjs} +11 -3
- package/es/utils/crypto-ts.mjs.map +1 -0
- package/es/utils/{crypto.js → crypto.mjs} +40 -105
- package/es/utils/crypto.mjs.map +1 -0
- package/es/utils/errors.mjs +689 -0
- package/es/utils/errors.mjs.map +1 -0
- package/es/utils/{hd-wallet.js → hd-wallet.mjs} +33 -34
- package/es/utils/hd-wallet.mjs.map +1 -0
- package/es/utils/{json-big.js → json-big.mjs} +1 -1
- package/es/utils/{json-big.js.map → json-big.mjs.map} +1 -1
- package/es/utils/{keystore.js → keystore.mjs} +63 -51
- package/es/utils/keystore.mjs.map +1 -0
- package/es/utils/{mptree.js → mptree.mjs} +21 -12
- package/es/utils/mptree.mjs.map +1 -0
- package/es/utils/{other.js → other.mjs} +2 -2
- package/es/utils/other.mjs.map +1 -0
- package/es/utils/{semver-satisfies.js → semver-satisfies.mjs} +1 -1
- package/es/utils/{semver-satisfies.js.map → semver-satisfies.mjs.map} +1 -1
- package/es/utils/{string.js → string.mjs} +1 -1
- package/es/utils/{string.js.map → string.mjs.map} +1 -1
- package/es/utils/{swagger.js → swagger.mjs} +46 -14
- package/es/utils/swagger.mjs.map +1 -0
- package/package.json +46 -55
- package/src/account/memory.js +13 -8
- package/src/account/multiple.js +12 -4
- package/src/ae/aens.js +12 -17
- package/src/ae/aepp.js +2 -2
- package/src/ae/contract.js +15 -152
- package/src/ae/index.js +2 -1
- package/src/ae/oracle.js +25 -10
- package/src/ae/universal.js +2 -2
- package/src/ae/wallet.js +2 -2
- package/src/chain/index.js +21 -2
- package/src/chain/node.js +80 -53
- package/src/channel/handlers.js +20 -17
- package/src/channel/internal.js +30 -24
- package/src/contract/{aci/index.js → aci.js} +152 -93
- package/src/contract/compiler.js +22 -117
- package/src/contract/ga/helpers.js +7 -5
- package/src/contract/ga/index.js +27 -24
- package/src/index.js +7 -8
- package/src/node-pool/index.js +9 -8
- package/src/node.js +5 -7
- package/src/tx/builder/field-types.js +61 -0
- package/src/tx/builder/helpers.js +113 -58
- package/src/tx/builder/index.js +39 -34
- package/src/tx/builder/schema.js +11 -25
- package/src/tx/tx-object.js +10 -9
- package/src/tx/tx.js +17 -8
- package/src/tx/validator.js +25 -5
- package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +8 -3
- package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +10 -6
- package/src/utils/aepp-wallet-communication/content-script-bridge.js +5 -4
- package/src/utils/aepp-wallet-communication/helpers.js +2 -12
- package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +81 -55
- package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +15 -6
- package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +60 -49
- package/src/utils/aepp-wallet-communication/schema.ts +80 -0
- package/src/utils/aepp-wallet-communication/wallet-detector.js +3 -2
- package/src/utils/amount-formatter.ts +4 -3
- package/src/utils/async-init.js +10 -6
- package/src/utils/bignumber.ts +1 -9
- package/src/utils/bytes.ts +3 -2
- package/src/utils/crypto-ts.ts +2 -2
- package/src/utils/crypto.js +9 -92
- package/src/utils/errors.ts +683 -0
- package/src/utils/hd-wallet.js +11 -26
- package/src/utils/keystore.js +47 -51
- package/src/utils/mptree.ts +12 -6
- package/src/utils/swagger.js +67 -44
- package/CHANGELOG.md +0 -1603
- package/es/account/base.js.map +0 -1
- package/es/account/memory.js.map +0 -1
- package/es/account/multiple.js.map +0 -1
- package/es/ae/aens.js.map +0 -1
- package/es/ae/aepp.js.map +0 -1
- package/es/ae/contract.js +0 -312
- package/es/ae/contract.js.map +0 -1
- package/es/ae/index.js.map +0 -1
- package/es/ae/oracle.js.map +0 -1
- package/es/ae/universal.js.map +0 -1
- package/es/ae/wallet.js.map +0 -1
- package/es/chain/index.js.map +0 -1
- package/es/chain/node.js.map +0 -1
- package/es/channel/handlers.js.map +0 -1
- package/es/channel/index.js.map +0 -1
- package/es/channel/internal.js.map +0 -1
- package/es/contract/aci/helpers.js +0 -298
- package/es/contract/aci/helpers.js.map +0 -1
- package/es/contract/aci/index.js +0 -361
- package/es/contract/aci/index.js.map +0 -1
- package/es/contract/aci/transformation.js +0 -66
- package/es/contract/aci/transformation.js.map +0 -1
- package/es/contract/compiler.js +0 -244
- package/es/contract/compiler.js.map +0 -1
- package/es/contract/ga/helpers.js +0 -22
- package/es/contract/ga/helpers.js.map +0 -1
- package/es/contract/ga/index.js.map +0 -1
- package/es/contract/index.js +0 -162
- package/es/contract/index.js.map +0 -1
- package/es/index.js +0 -57
- package/es/index.js.map +0 -1
- package/es/node-pool/index.js.map +0 -1
- package/es/node.js.map +0 -1
- package/es/tx/builder/helpers.js.map +0 -1
- package/es/tx/builder/index.js.map +0 -1
- package/es/tx/builder/schema.js.map +0 -1
- package/es/tx/index.js.map +0 -1
- package/es/tx/tx-object.js.map +0 -1
- package/es/tx/tx.js.map +0 -1
- package/es/tx/validator.js.map +0 -1
- package/es/typings/blakejs/index.d.js +0 -2
- package/es/utils/aepp-wallet-communication/connection/browser-runtime.js.map +0 -1
- package/es/utils/aepp-wallet-communication/connection/browser-window-message.js.map +0 -1
- package/es/utils/aepp-wallet-communication/connection/index.js.map +0 -1
- package/es/utils/aepp-wallet-communication/content-script-bridge.js.map +0 -1
- package/es/utils/aepp-wallet-communication/helpers.js.map +0 -1
- package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.js.map +0 -1
- package/es/utils/aepp-wallet-communication/rpc/rpc-client.js.map +0 -1
- package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.js.map +0 -1
- package/es/utils/aepp-wallet-communication/schema.js +0 -107
- package/es/utils/aepp-wallet-communication/schema.js.map +0 -1
- package/es/utils/aepp-wallet-communication/wallet-detector.js.map +0 -1
- package/es/utils/amount-formatter.js.map +0 -1
- package/es/utils/async-init.js.map +0 -1
- package/es/utils/bignumber.js.map +0 -1
- package/es/utils/bytes.js.map +0 -1
- package/es/utils/crypto-ts.js.map +0 -1
- package/es/utils/crypto.js.map +0 -1
- package/es/utils/hd-wallet.js.map +0 -1
- package/es/utils/keystore.js.map +0 -1
- package/es/utils/mptree.js.map +0 -1
- package/es/utils/other.js.map +0 -1
- package/es/utils/swagger.js.map +0 -1
- package/src/contract/aci/transformation.js +0 -72
- package/src/contract/index.js +0 -163
- package/src/utils/aepp-wallet-communication/schema.js +0 -108
package/dist/aepp-sdk.browser.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@stamp/it"),require("@stamp/required"),require("bignumber.js"),require("bs58check"),require("tweetnacl"),require("aes-js"),require("sha.js"),require("blakejs"),require("buffer"),require("rlp"),require("swagger-client"),require("cross-fetch"),require("@aeternity/json-bigint"),require("uuid"),require("@aeternity/aepp-calldata"),require("websocket"),require("events"),require("libsodium-wrappers-sumo"),require("tweetnacl-auth"),require("bip32-path"),require("@aeternity/bip39")):"function"==typeof define&&define.amd?define([,,,,,,,,,,,,,,,,,,,,],t):"object"==typeof exports?exports.Ae=t(require("@stamp/it"),require("@stamp/required"),require("bignumber.js"),require("bs58check"),require("tweetnacl"),require("aes-js"),require("sha.js"),require("blakejs"),require("buffer"),require("rlp"),require("swagger-client"),require("cross-fetch"),require("@aeternity/json-bigint"),require("uuid"),require("@aeternity/aepp-calldata"),require("websocket"),require("events"),require("libsodium-wrappers-sumo"),require("tweetnacl-auth"),require("bip32-path"),require("@aeternity/bip39")):e.Ae=t(e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0])}(self,(function(e,t,n,r,o,a,i,s,c,u,l,d,h,p,f,m,g,y,w,b,v){return function(){var x={3007:function(e){e.exports=function(){return!0}},4115:function(e,t,n){var r=n(6224)((function(e){return function(){return e}}));e.exports=r},3195:function(e,t,n){var r=n(7455),o=n(9002)((function(e,t){return r(e.length,(function(){return e.apply(t,arguments)}))}));e.exports=o},7794:function(e,t,n){var r=n(7455),o=n(6224),a=n(1894),i=n(1186),s=n(793),c=o((function(e){var t=s(i,0,a((function(e){return e[0].length}),e));return r(t,(function(){for(var t=0;t<e.length;){if(e[t][0].apply(this,arguments))return e[t][1].apply(this,arguments);t+=1}}))}));e.exports=c},2220:function(e,t,n){var r=n(7455),o=n(6224),a=n(9002),i=n(2738),s=a((function(e,t){return 1===e?o(t):r(e,i(e,[],t))}));e.exports=s},2892:function(e,t,n){var r=n(9002)((function(e,t){return null==t||t!=t?e:t}));e.exports=r},1481:function(e,t,n){var r=n(9002),o=n(4023),a=r((function(e,t){return o(e,t,[],[])}));e.exports=a},1383:function(e,t,n){var r=n(9002),o=n(4793),a=n(4877),i=n(8291),s=n(9488),c=n(123),u=n(368),l=r(o(["filter"],c,(function(e,t){return i(t)?s((function(n,r){return e(t[r])&&(n[r]=t[r]),n}),{},u(t)):a(e,t)})));e.exports=l},7414:function(e,t,n){var r=n(6224)(n(5161)(!0));e.exports=r},9134:function(e,t,n){var r=n(6224),o=n(2220),a=r((function(e){return o(e.length,(function(t,n){var r=Array.prototype.slice.call(arguments,0);return r[0]=n,r[1]=t,e.apply(this,r)}))}));e.exports=a},5713:function(e,t,n){var r=n(1361),o=n(9002)(r);e.exports=o},7455:function(e){e.exports=function(e,t){switch(e){case 0:return function(){return t.apply(this,arguments)};case 1:return function(e){return t.apply(this,arguments)};case 2:return function(e,n){return t.apply(this,arguments)};case 3:return function(e,n,r){return t.apply(this,arguments)};case 4:return function(e,n,r,o){return t.apply(this,arguments)};case 5:return function(e,n,r,o,a){return t.apply(this,arguments)};case 6:return function(e,n,r,o,a,i){return t.apply(this,arguments)};case 7:return function(e,n,r,o,a,i,s){return t.apply(this,arguments)};case 8:return function(e,n,r,o,a,i,s,c){return t.apply(this,arguments)};case 9:return function(e,n,r,o,a,i,s,c,u){return t.apply(this,arguments)};case 10:return function(e,n,r,o,a,i,s,c,u,l){return t.apply(this,arguments)};default:throw new Error("First argument to _arity must be a non-negative integer no greater than ten")}}},4118:function(e){e.exports=function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}},8770:function(e){e.exports=function(e){return function(){return!e.apply(this,arguments)}}},6224:function(e,t,n){var r=n(6464);e.exports=function(e){return function t(n){return 0===arguments.length||r(n)?t:e.apply(this,arguments)}}},9002:function(e,t,n){var r=n(6224),o=n(6464);e.exports=function(e){return function t(n,a){switch(arguments.length){case 0:return t;case 1:return o(n)?t:r((function(t){return e(n,t)}));default:return o(n)&&o(a)?t:o(n)?r((function(t){return e(t,a)})):o(a)?r((function(t){return e(n,t)})):e(n,a)}}}},6370:function(e,t,n){var r=n(6224),o=n(9002),a=n(6464);e.exports=function(e){return function t(n,i,s){switch(arguments.length){case 0:return t;case 1:return a(n)?t:o((function(t,r){return e(n,t,r)}));case 2:return a(n)&&a(i)?t:a(n)?o((function(t,n){return e(t,i,n)})):a(i)?o((function(t,r){return e(n,t,r)})):r((function(t){return e(n,i,t)}));default:return a(n)&&a(i)&&a(s)?t:a(n)&&a(i)?o((function(t,n){return e(t,n,s)})):a(n)&&a(s)?o((function(t,n){return e(t,i,n)})):a(i)&&a(s)?o((function(t,r){return e(n,t,r)})):a(n)?r((function(t){return e(t,i,s)})):a(i)?r((function(t){return e(n,t,s)})):a(s)?r((function(t){return e(n,i,t)})):e(n,i,s)}}}},2738:function(e,t,n){var r=n(7455),o=n(6464);e.exports=function e(t,n,a){return function(){for(var i=[],s=0,c=t,u=0;u<n.length||s<arguments.length;){var l;u<n.length&&(!o(n[u])||s>=arguments.length)?l=n[u]:(l=arguments[s],s+=1),i[u]=l,o(l)||(c-=1),u+=1}return c<=0?a.apply(this,i):r(c,e(t,i,a))}}},4793:function(e,t,n){var r=n(219),o=n(9082);e.exports=function(e,t,n){return function(){if(0===arguments.length)return n();var a=Array.prototype.slice.call(arguments,0),i=a.pop();if(!r(i)){for(var s=0;s<e.length;){if("function"==typeof i[e[s]])return i[e[s]].apply(i,a);s+=1}if(o(i)){var c=t.apply(null,a);return c(i)}}return n.apply(this,arguments)}}},4023:function(e,t,n){var r=n(4118),o=n(2976),a=n(4931),i=n(7684),s=n(1361),c=n(368),u=n(6433);function l(e,t,n,a){var i=r(e),s=r(t);function c(e,t){return d(e,t,n.slice(),a.slice())}return!o((function(e,t){return!o(c,t,e)}),s,i)}function d(e,t,n,r){if(s(e,t))return!0;var o=u(e);if(o!==u(t))return!1;if(null==e||null==t)return!1;if("function"==typeof e["fantasy-land/equals"]||"function"==typeof t["fantasy-land/equals"])return"function"==typeof e["fantasy-land/equals"]&&e["fantasy-land/equals"](t)&&"function"==typeof t["fantasy-land/equals"]&&t["fantasy-land/equals"](e);if("function"==typeof e.equals||"function"==typeof t.equals)return"function"==typeof e.equals&&e.equals(t)&&"function"==typeof t.equals&&t.equals(e);switch(o){case"Arguments":case"Array":case"Object":if("function"==typeof e.constructor&&"Promise"===a(e.constructor))return e===t;break;case"Boolean":case"Number":case"String":if(typeof e!=typeof t||!s(e.valueOf(),t.valueOf()))return!1;break;case"Date":if(!s(e.valueOf(),t.valueOf()))return!1;break;case"Error":return e.name===t.name&&e.message===t.message;case"RegExp":if(e.source!==t.source||e.global!==t.global||e.ignoreCase!==t.ignoreCase||e.multiline!==t.multiline||e.sticky!==t.sticky||e.unicode!==t.unicode)return!1}for(var h=n.length-1;h>=0;){if(n[h]===e)return r[h]===t;h-=1}switch(o){case"Map":return e.size===t.size&&l(e.entries(),t.entries(),n.concat([e]),r.concat([t]));case"Set":return e.size===t.size&&l(e.values(),t.values(),n.concat([e]),r.concat([t]));case"Arguments":case"Array":case"Object":case"Boolean":case"Number":case"String":case"Date":case"Error":case"RegExp":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"ArrayBuffer":break;default:return!1}var p=c(e);if(p.length!==c(t).length)return!1;var f=n.concat([e]),m=r.concat([t]);for(h=p.length-1;h>=0;){var g=p[h];if(!i(g,t)||!d(t[g],e[g],f,m))return!1;h-=1}return!0}e.exports=d},4877:function(e){e.exports=function(e,t){for(var n=0,r=t.length,o=[];n<r;)e(t[n])&&(o[o.length]=t[n]),n+=1;return o}},4931:function(e){e.exports=function(e){var t=String(e).match(/^function (\w*)/);return null==t?"":t[1]}},7684:function(e){e.exports=function(e,t){return Object.prototype.hasOwnProperty.call(t,e)}},7243:function(e,t,n){var r=n(6069);e.exports=function(e,t){return r(t,e,0)>=0}},2976:function(e){e.exports=function(e,t,n){for(var r=0,o=n.length;r<o;){if(e(t,n[r]))return!0;r+=1}return!1}},6069:function(e,t,n){var r=n(1481);e.exports=function(e,t,n){var o,a;if("function"==typeof e.indexOf)switch(typeof t){case"number":if(0===t){for(o=1/t;n<e.length;){if(0===(a=e[n])&&1/a===o)return n;n+=1}return-1}if(t!=t){for(;n<e.length;){if("number"==typeof(a=e[n])&&a!=a)return n;n+=1}return-1}return e.indexOf(t,n);case"string":case"boolean":case"function":case"undefined":return e.indexOf(t,n);case"object":if(null===t)return e.indexOf(t,n)}for(;n<e.length;){if(r(e[n],t))return n;n+=1}return-1}},7587:function(e,t,n){var r=n(7684),o=Object.prototype.toString,a=function(){return"[object Arguments]"===o.call(arguments)?function(e){return"[object Arguments]"===o.call(e)}:function(e){return r("callee",e)}}();e.exports=a},219:function(e){e.exports=Array.isArray||function(e){return null!=e&&e.length>=0&&"[object Array]"===Object.prototype.toString.call(e)}},3219:function(e,t,n){var r=n(6224),o=n(219),a=n(190),i=r((function(e){return!!o(e)||!!e&&"object"==typeof e&&!a(e)&&(1===e.nodeType?!!e.length:0===e.length||e.length>0&&e.hasOwnProperty(0)&&e.hasOwnProperty(e.length-1))}));e.exports=i},7e3:function(e){e.exports=Number.isInteger||function(e){return e<<0===e}},8291:function(e){e.exports=function(e){return"[object Object]"===Object.prototype.toString.call(e)}},6464:function(e){e.exports=function(e){return null!=e&&"object"==typeof e&&!0===e["@@functional/placeholder"]}},190:function(e){e.exports=function(e){return"[object String]"===Object.prototype.toString.call(e)}},9082:function(e){e.exports=function(e){return null!=e&&"function"==typeof e["@@transducer/step"]}},5161:function(e,t,n){var r=n(3219);e.exports=function(e){return function t(n){for(var o,a,i,s=[],c=0,u=n.length;c<u;){if(r(n[c]))for(i=0,a=(o=e?t(n[c]):n[c]).length;i<a;)s[s.length]=o[i],i+=1;else s[s.length]=n[c];c+=1}return s}}},6692:function(e){e.exports=function(e,t){for(var n=0,r=t.length,o=Array(r);n<r;)o[n]=e(t[n]),n+=1;return o}},1361:function(e){e.exports="function"==typeof Object.is?Object.is:function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}},9488:function(e,t,n){var r=n(3219),o=n(9874),a=n(3195);function i(e,t,n){for(var r=n.next();!r.done;){if((t=e["@@transducer/step"](t,r.value))&&t["@@transducer/reduced"]){t=t["@@transducer/value"];break}r=n.next()}return e["@@transducer/result"](t)}function s(e,t,n,r){return e["@@transducer/result"](n[r](a(e["@@transducer/step"],e),t))}var c="undefined"!=typeof Symbol?Symbol.iterator:"@@iterator";e.exports=function(e,t,n){if("function"==typeof e&&(e=o(e)),r(n))return function(e,t,n){for(var r=0,o=n.length;r<o;){if((t=e["@@transducer/step"](t,n[r]))&&t["@@transducer/reduced"]){t=t["@@transducer/value"];break}r+=1}return e["@@transducer/result"](t)}(e,t,n);if("function"==typeof n["fantasy-land/reduce"])return s(e,t,n,"fantasy-land/reduce");if(null!=n[c])return i(e,t,n[c]());if("function"==typeof n.next)return i(e,t,n);if("function"==typeof n.reduce)return s(e,t,n,"reduce");throw new TypeError("reduce: list must be array or iterable")}},3714:function(e){e.exports={init:function(){return this.xf["@@transducer/init"]()},result:function(e){return this.xf["@@transducer/result"](e)}}},123:function(e,t,n){var r=n(9002),o=n(3714),a=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=o.init,e.prototype["@@transducer/result"]=o.result,e.prototype["@@transducer/step"]=function(e,t){return this.f(t)?this.xf["@@transducer/step"](e,t):e},e}(),i=r((function(e,t){return new a(e,t)}));e.exports=i},2894:function(e,t,n){var r=n(9002),o=n(3714),a=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=o.init,e.prototype["@@transducer/result"]=o.result,e.prototype["@@transducer/step"]=function(e,t){return this.xf["@@transducer/step"](e,this.f(t))},e}(),i=r((function(e,t){return new a(e,t)}));e.exports=i},9874:function(e){var t=function(){function e(e){this.f=e}return e.prototype["@@transducer/init"]=function(){throw new Error("init not implemented on XWrap")},e.prototype["@@transducer/result"]=function(e){return e},e.prototype["@@transducer/step"]=function(e,t){return this.f(e,t)},e}();e.exports=function(e){return new t(e)}},368:function(e,t,n){var r=n(6224),o=n(7684),a=n(7587),i=!{toString:null}.propertyIsEnumerable("toString"),s=["constructor","valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],c=function(){"use strict";return arguments.propertyIsEnumerable("length")}(),u=function(e,t){for(var n=0;n<e.length;){if(e[n]===t)return!0;n+=1}return!1},l="function"!=typeof Object.keys||c?r((function(e){if(Object(e)!==e)return[];var t,n,r=[],l=c&&a(e);for(t in e)!o(t,e)||l&&"length"===t||(r[r.length]=t);if(i)for(n=s.length-1;n>=0;)o(t=s[n],e)&&!u(r,t)&&(r[r.length]=t),n-=1;return r})):r((function(e){return Object(e)!==e?[]:Object.keys(e)}));e.exports=l},7560:function(e,t,n){var r=n(9002)((function(e,t){return e<t}));e.exports=r},3594:function(e,t,n){var r=n(9002)((function(e,t){return e<=t}));e.exports=r},1894:function(e,t,n){var r=n(9002),o=n(4793),a=n(6692),i=n(9488),s=n(2894),c=n(2220),u=n(368),l=r(o(["fantasy-land/map","map"],s,(function(e,t){switch(Object.prototype.toString.call(t)){case"[object Function]":return c(t.length,(function(){return e.call(this,t.apply(this,arguments))}));case"[object Object]":return i((function(n,r){return n[r]=e(t[r]),n}),{},u(t));default:return a(e,t)}})));e.exports=l},1186:function(e,t,n){var r=n(9002)((function(e,t){return t>e?t:e}));e.exports=r},7041:function(e,t,n){var r=n(9002),o=n(190),a=r((function(e,t){var n=e<0?t.length+e:e;return o(t)?t.charAt(n):t[n]}));e.exports=a},7430:function(e,t,n){var r=n(9002),o=n(4439),a=r((function(e,t){return o([e],t)[0]}));e.exports=a},4439:function(e,t,n){var r=n(9002),o=n(7e3),a=n(7041),i=r((function(e,t){return e.map((function(e){for(var n,r=t,i=0;i<e.length;){if(null==r)return;n=e[i],r=o(n)?a(n,r):r[n],i+=1}return r}))}));e.exports=i},5206:function(e,t,n){var r=n(9002)((function(e,t){for(var n={},r=0;r<e.length;)e[r]in t&&(n[e[r]]=t[e[r]]),r+=1;return n}));e.exports=r},2478:function(e,t,n){var r=n(9002),o=n(7430),a=r((function(e,t){return o([e],t)}));e.exports=a},793:function(e,t,n){var r=n(6370)(n(9488));e.exports=r},3266:function(e,t,n){var r=n(8770),o=n(9002),a=n(1383),i=o((function(e,t){return a(r(e),t)}));e.exports=i},6433:function(e,t,n){var r=n(6224)((function(e){return null===e?"Null":void 0===e?"Undefined":Object.prototype.toString.call(e).slice(8,-1)}));e.exports=r},7263:function(e,t,n){var r=n(2976),o=n(9002)((function(e,t){for(var n,o=0,a=t.length,i=[];o<a;)n=t[o],r(e,n,i)||(i[i.length]=n),o+=1;return i}));e.exports=o},6290:function(e,t,n){var r=n(7243),o=n(9002),a=n(9134),i=n(3266),s=o((function(e,t){return i(a(r)(e),t)}));e.exports=s},590:function(e){"use strict";e.exports=f},8367:function(e){"use strict";e.exports=v},3656:function(e){"use strict";e.exports=h},1031:function(t){"use strict";t.exports=e},8081:function(e){"use strict";e.exports=t},4752:function(e){"use strict";e.exports=a},9558:function(e){"use strict";e.exports=n},2405:function(e){"use strict";e.exports=b},817:function(e){"use strict";e.exports=s},2139:function(e){"use strict";e.exports=r},3550:function(e){"use strict";e.exports=c},6311:function(e){"use strict";e.exports=d},3205:function(e){"use strict";e.exports=g},8097:function(e){"use strict";e.exports=y},2001:function(e){"use strict";e.exports=u},2074:function(e){"use strict";e.exports=i},4021:function(e){"use strict";e.exports=l},9174:function(e){"use strict";e.exports=o},1001:function(e){"use strict";e.exports=w},3323:function(e){"use strict";e.exports=p},3752:function(e){"use strict";e.exports=m}},T={};function C(e){var t=T[e];if(void 0!==t)return t.exports;var n=T[e]={exports:{}};return x[e](n,n.exports,C),n.exports}C.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return C.d(t,{a:t}),t},C.d=function(e,t){for(var n in t)C.o(t,n)&&!C.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},C.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},C.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var I={};return function(){"use strict";C.r(I),C.d(I,{ACITransformation:function(){return s},AccountBase:function(){return Bo},AccountMultiple:function(){return ra},Ae:function(){return Vo},Aens:function(){return aa},AeppWalletHelpers:function(){return u},AeppWalletSchema:function(){return c},AmountFormatter:function(){return a},BrowserRuntimeConnection:function(){return Ts},BrowserWindowMessageConnection:function(){return vs},Bytes:function(){return e},Chain:function(){return Jr},ChainNode:function(){return Wo},Channel:function(){return ms},ContentScriptBridge:function(){return ys},Contract:function(){return xa},ContractCompilerAPI:function(){return sa},Crypto:function(){return r},GeneralizeAccount:function(){return Ia},HdWallet:function(){return Gr},Keystore:function(){return o},MemoryAccount:function(){return na},Node:function(){return Po},NodePool:function(){return Ho},Oracle:function(){return Za},RpcAepp:function(){return ei},RpcWallet:function(){return ii},SCHEMA:function(){return t},Transaction:function(){return Zo},Tx:function(){return Xr},TxBuilder:function(){return i},TxBuilderHelper:function(){return n},Universal:function(){return gs},WalletDetector:function(){return xs},genSwaggerClient:function(){return _o},getDefaultPointerKey:function(){return Cs},verifyTransaction:function(){return Uo}});var e={};C.r(e),C.d(e,{bigNumberToByteArray:function(){return E},str2buf:function(){return k},toBytes:function(){return _}});var t={};C.r(t),C.d(t,{ABI_VERSIONS:function(){return je},AMOUNT:function(){return z},BASE_GAS:function(){return qe},CLIENT_TTL:function(){return oe},CONTRACT_BYTE_CODE_LIMA:function(){return Ye},DEFAULT_FEE:function(){return Fe},DEPOSIT:function(){return Y},DRY_RUN_ACCOUNT:function(){return ee},FIELD_TYPES:function(){return Be},GAS:function(){return X},GAS_PER_BYTE:function(){return Ve},ID_TAG:function(){return He},ID_TAG_PREFIX:function(){return We},KEY_BLOCK_INTERVAL:function(){return $e},MAX_AUTH_FUN_GAS:function(){return Z},MIN_GAS_PRICE:function(){return J},NAME_BID_MAX_LENGTH:function(){return le},NAME_BID_RANGES:function(){return he},NAME_BID_TIMEOUTS:function(){return pe},NAME_BID_TIMEOUT_BLOCKS:function(){return ce},NAME_FEE:function(){return ae},NAME_FEE_BID_INCREMENT:function(){return se},NAME_FEE_MULTIPLIER:function(){return ie},NAME_MAX_CLIENT_TTL:function(){return re},NAME_MAX_LENGTH_FEE:function(){return ue},NAME_MAX_TTL:function(){return ne},NAME_TTL:function(){return te},OBJECT_ID_TX_TYPE:function(){return Re},OBJECT_TAG_SIGNED_TRANSACTION:function(){return fe},ORACLE_TTL:function(){return L},POINTER_KEY_BY_PREFIX:function(){return de},PREFIX_ID_TAG:function(){return Ke},PROTOCOL_VERSIONS:function(){return Pe},PROTOCOL_VM_ABI:function(){return Me},QUERY_FEE:function(){return W},QUERY_TTL:function(){return G},RESPONSE_TTL:function(){return Q},TX_DESERIALIZATION_SCHEMA:function(){return Ht},TX_FEE_BASE_GAS:function(){return De},TX_FEE_OTHER_GAS:function(){return Ue},TX_SERIALIZATION_SCHEMA:function(){return Ut},TX_TTL:function(){return K},TX_TYPE:function(){return Se},VALIDATION_MESSAGE:function(){return Ge},VM_VERSIONS:function(){return Ne},VSN:function(){return U},VSN_2:function(){return H}});var n={};C.r(n),C.d(n,{buildContractId:function(){return Yt},buildPointers:function(){return sn},commitmentHash:function(){return Zt},computeAuctionEndBlock:function(){return fn},computeBidFee:function(){return pn},createSalt:function(){return Gt},decode:function(){return en},encode:function(){return tn},ensureNameValid:function(){return un},formatSalt:function(){return Xt},getDefaultPointerKey:function(){return dn},getMinimumNameFee:function(){return hn},isAuctionName:function(){return mn},isNameValid:function(){return ln},oracleQueryId:function(){return zt},produceNameId:function(){return Jt},readId:function(){return rn},readInt:function(){return an},readPointers:function(){return cn},writeId:function(){return nn},writeInt:function(){return on}});var r={};C.r(r),C.d(r,{addressFromDecimal:function(){return vn},aeEncodeKey:function(){return Fn},checkSumFn:function(){return In},decodeBase58Check:function(){return _n},decodeBase64Check:function(){return An},decryptKey:function(){return Pn},encodeBase58Check:function(){return En},encodeBase64Check:function(){return Cn},encodeContractAddress:function(){return On},encodeUnsigned:function(){return kn},encryptKey:function(){return jn},generateKeyPair:function(){return Nn},generateKeyPairFromSecret:function(){return Sn},getAddressFromPriv:function(){return wn},hash:function(){return D},isAddressValid:function(){return bn},isValidKeypair:function(){return $n},messageToHash:function(){return Bn},salt:function(){return Tn},sha256hash:function(){return xn},sign:function(){return Mn},signMessage:function(){return qn},verify:function(){return Rn},verifyMessage:function(){return Vn}});var o={};C.r(o),C.d(o,{deriveKeyUsingArgon2id:function(){return Ln},dump:function(){return Zn},getAddressFromPriv:function(){return Xn},recover:function(){return Jn},validateKeyObj:function(){return er}});var a={};C.r(a),C.d(a,{AE_AMOUNT_FORMATS:function(){return nr},DENOMINATION_MAGNITUDE:function(){return rr},default:function(){return dr},formatAmount:function(){return ir},toAe:function(){return or},toAettos:function(){return ar}});var i={};C.r(i),C.d(i,{buildRawTx:function(){return Ir},buildTx:function(){return _r},buildTxHash:function(){return Or},calculateFee:function(){return Tr},calculateMinFee:function(){return vr},default:function(){return Sr},unpackRawTx:function(){return Ar},unpackTx:function(){return kr},validateParams:function(){return Cr}});var s={};C.r(s),C.d(s,{SOPHIA_TYPES:function(){return Nr},decodeEvents:function(){return jr}});var c={};C.r(c),C.d(c,{ERRORS:function(){return Ba},MESSAGE_DIRECTION:function(){return ka},METHODS:function(){return Ma},NOTIFICATIONS:function(){return Sa},REQUESTS:function(){return Na},RPC_STATUS:function(){return Ra},SUBSCRIPTION_TYPES:function(){return Pa},SUBSCRIPTION_VALUES:function(){return ja},VERSION:function(){return _a},WALLET_TYPE:function(){return Oa}});var u={};C.r(u),C.d(u,{getBrowserAPI:function(){return qa},getHandler:function(){return $a},isInIframe:function(){return Va},isValidAccounts:function(){return Wa},message:function(){return Da},resolveOnAccount:function(){return La},responseMessage:function(){return Ua},sendMessage:function(){return Fa},sendResponseMessage:function(){return Ha},voidFn:function(){return Ka}});var l=C(2139),d=C.n(l),h=C(9174),p=C.n(h),f=C(4752),m=C.n(f),g=C(2074),y=C.n(g),w=C(9558),b=C.n(w);function v(e){return e.replace(/_./g,(e=>e[1].toUpperCase()))}function x(e){return e.replace(/[A-Z]/g,(e=>`_${e.toLowerCase()}`))}function T(e){return e.length%2==0&&/^[0-9a-f]+$/i.test(e)}var A=C(3550).Buffer;function E(e){if(!e.isInteger())throw new Error(`Unexpected not integer value: ${e.toFixed()}`);let t=e.toString(16);return t.length%2==1&&(t="0"+t),A.from(t,"hex")}function _(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(null==e)return A.from([]);if(Number.isInteger(e)||b().isBigNumber(e)||t)return b().isBigNumber(e)||(e=new(b())(e)),E(e);if("string"==typeof e)return A.from(e);throw new Error("Byte serialization not supported")}function k(e,t){return A.from(e,t??(T(e)?"hex":void 0)??(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 O=C(3007),S=C.n(O),N=C(3594),j=C.n(N),P=C(4115),M=C.n(P),R=C(7560),B=C.n(R),q=C(7794),V=C.n(q),F=C(817),$=C(3550).Buffer;function D(e){return $.from((0,F.blake2b)(e,null,32))}const U=1,H=2,K=0,W=3e4,L={type:"delta",value:500},G={type:"delta",value:10},Q={type:"delta",value:10},Y=0,z=0,X=25e3,J=1e9,Z=5e4,ee={pub:"ak_11111111111111111111111111111111273Yts",amount:"100000000000000000000000000000000000"},te=18e4,ne=36e3,re=84600,oe=re,ae=0,ie=1e14,se=.05,ce=480,ue=31,le=12,de={ak:"account_pubkey",ok:"oracle_pubkey",ct:"contract_pubkey",ch:"channel"},he={31:b()(3).times(ie),30:b()(5).times(ie),29:b()(8).times(ie),28:b()(13).times(ie),27:b()(21).times(ie),26:b()(34).times(ie),25:b()(55).times(ie),24:b()(89).times(ie),23:b()(144).times(ie),22:b()(233).times(ie),21:b()(377).times(ie),20:b()(610).times(ie),19:b()(987).times(ie),18:b()(1597).times(ie),17:b()(2584).times(ie),16:b()(4181).times(ie),15:b()(6765).times(ie),14:b()(10946).times(ie),13:b()(17711).times(ie),12:b()(28657).times(ie),11:b()(46368).times(ie),10:b()(75025).times(ie),9:b()(121393).times(ie),8:b()(196418).times(ie),7:b()(317811).times(ie),6:b()(514229).times(ie),5:b()(832040).times(ie),4:b()(1346269).times(ie),3:b()(2178309).times(ie),2:b()(3524578).times(ie),1:b()(5702887).times(ie)},pe={13:b()(0),12:b()(ce),8:b()(31).times(ce),4:b()(62).times(ce)},fe=11,me=521,ge=570,ye=571,we=572,be=573,ve=574,xe=575,Te=621,Ce=622,Ie=623,Ae=624,Ee=625,_e=626,ke=(e,t,n)=>[e,t,n],Oe=(e,t)=>[e,t],Se={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"},Ne={NO_VM:0,SOPHIA:1,SOPHIA_IMPROVEMENTS_MINERVA:3,SOPHIA_IMPROVEMENTS_FORTUNA:4,FATE:5,SOPHIA_IMPROVEMENTS_LIMA:6,FATE_2:7},je={NO_ABI:0,SOPHIA:1,FATE:3},Pe={IRIS:5},Me={[Pe.IRIS]:{[Se.contractCreate]:{vmVersion:[Ne.FATE_2],abiVersion:[je.FATE]},[Se.contractCall]:{vmVersion:[Ne.FATE_2,Ne.FATE,Ne.SOPHIA_IMPROVEMENTS_LIMA,Ne.SOPHIA_IMPROVEMENTS_FORTUNA,Ne.SOPHIA,Ne.SOPHIA_IMPROVEMENTS_MINERVA],abiVersion:[je.FATE,je.SOPHIA]},[Se.oracleRegister]:{vmVersion:[],abiVersion:[je.NO_ABI,je.SOPHIA]}}},Re={10:Se.account,[fe]:Se.signed,12:Se.spend,32:Se.nameClaim,33:Se.namePreClaim,34:Se.nameUpdate,35:Se.nameRevoke,36:Se.nameTransfer,40:Se.contract,42:Se.contractCreate,43:Se.contractCall,41:Se.contractCallResult,22:Se.oracleRegister,25:Se.oracleExtend,23:Se.oracleQuery,24:Se.oracleResponse,50:Se.channelCreate,53:Se.channelCloseMutual,54:Se.channelCloseSolo,55:Se.channelSlash,[me]:Se.channelForceProgress,51:Se.channelDeposit,52:Se.channelWithdraw,56:Se.channelSettle,57:Se.channelOffChain,58:Se.channel,59:Se.channelSnapshotSolo,[ge]:Se.channelOffChainUpdateTransfer,[ye]:Se.channelOffChainUpdateDeposit,[we]:Se.channelOffChainUpdateWithdrawal,[be]:Se.channelOffChainCreateContract,[ve]:Se.channelOffChainCallContract,[xe]:Se.channelReconnect,60:Se.proofOfInclusion,62:Se.stateTrees,63:Se.merklePatriciaTree,64:Se.merklePatriciaTreeValue,[Te]:Se.contractsTree,[Ce]:Se.contractCallsTree,[Ie]:Se.channelsTree,[Ae]:Se.nameserviceTree,[Ee]:Se.oraclesTree,[_e]:Se.accountsTree,80:Se.gaAttach,81:Se.gaMeta,82:Se.payingFor,70:Se.sophiaByteCode},Be={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"},qe=15e3,Ve=20,Fe=2e4,$e=3,De=e=>{const t={[Se.channelForceProgress]:30,[Se.channelOffChain]:0,[Se.channelOffChainCallContract]:0,[Se.channelOffChainCreateContract]:0,[Se.channelOffChainUpdateDeposit]:0,[Se.channelOffChainUpdateWithdrawal]:0,[Se.channelOffChainUpdateTransfer]:0,[Se.contractCreate]:5,[Se.contractCall]:12,[Se.gaAttach]:5,[Se.gaMeta]:5,[Se.payingFor]:.2}[e]||1;return new(b())(t*qe)},Ue=(e,t,n)=>{let{relativeTtl:r,innerTxSize:o}=n;switch(e){case Se.oracleRegister:case Se.oracleExtend:case Se.oracleQuery:case Se.oracleResponse:return new(b())(t).times(Ve).plus(Math.ceil(32e3*r/Math.floor(525600/$e)));case Se.gaMeta:case Se.payingFor:return new(b())(t).minus(o).times(Ve);default:return new(b())(t).times(Ve)}},He={account:1,name:2,commitment:3,oracle:4,contract:5,channel:6},Ke={ak:He.account,nm:He.name,cm:He.commitment,ok:He.oracle,ct:He.contract,ch:He.channel},We=(Le=Ke,Object.entries(Le).reduce(((e,t)=>{let[n,r]=t;return(e[r]=n)&&e}),{}));var Le;const Ge={[Be.int]:e=>{let{value:t,isMinusValue:n}=e;return n?`${t} must be >= 0`:`${t} is not of type Number or BigNumber`},[Be.amount]:e=>{let{value:t,isMinusValue:n}=e;return n?`${t} must be >= 0`:`${t} is not of type Number or BigNumber`},[Be.id]:e=>{let{value:t,prefix:n}=e;return`'${t}' prefix doesn't match expected prefix '${n}' or ID_TAG for prefix not found`},[Be.binary]:e=>{let{prefix:t,value:n}=e;return`'${n}' prefix doesn't match expected prefix '${t}'`},[Be.string]:e=>{let{value:t}=e;return"Not a string"},[Be.pointers]:e=>{let{value:t}=e;return'Value must be of type Array and contains only object\'s like \'{key: "account_pubkey", id: "ak_lkamsflkalsdalksdlasdlasdlamd"}\''},[Be.ctVersion]:e=>{let{value:t}=e;return'Value must be an object with "vmVersion" and "abiVersion" fields'}},Qe=[ke("tag",Be.int),ke("VSN",Be.int)],Ye=[...Qe,ke("sourceCodeHash",Be.rawBinary),ke("typeInfo",Be.sophiaCodeTypeInfo),ke("byteCode",Be.rawBinary),ke("compilerVersion",Be.string),ke("payable",Be.bool)],ze=[...Qe,ke("flags",Be.int),ke("nonce",Be.int),ke("balance",Be.int),ke("gaContract",Be.id,["ct","nm"]),ke("gaAuthFun",Be.binary,"cb")],Xe=[...Qe,ke("senderId",Be.id,"ak"),ke("recipientId",Be.id,["ak","nm"]),ke("amount",Be.amount),ke("fee",Be.int),ke("ttl",Be.int),ke("nonce",Be.int),ke("payload",Be.payload)],Je=[...Qe,ke("signatures",Be.signatures),ke("encodedTx",Be.rlpBinary)],Ze=[...Qe,ke("accountId",Be.id,"ak"),ke("nonce",Be.int),ke("commitmentId",Be.id,"cm"),ke("fee",Be.int),ke("ttl",Be.int)],et=[...Qe,ke("accountId",Be.id,"ak"),ke("nonce",Be.int),ke("name",Be.binary,"nm"),ke("nameSalt",Be.int),ke("nameFee",Be.amount),ke("fee",Be.int),ke("ttl",Be.int)],tt=[...Qe,ke("accountId",Be.id,"ak"),ke("nonce",Be.int),ke("nameId",Be.id,"nm"),ke("nameTtl",Be.int),ke("pointers",Be.pointers),ke("clientTtl",Be.int),ke("fee",Be.int),ke("ttl",Be.int)],nt=[...Qe,ke("accountId",Be.id,"ak"),ke("nonce",Be.int),ke("nameId",Be.id,"nm"),ke("recipientId",Be.id,["ak","nm"]),ke("fee",Be.int),ke("ttl",Be.int)],rt=[...Qe,ke("accountId",Be.id,"ak"),ke("nonce",Be.int),ke("nameId",Be.id,"nm"),ke("fee",Be.int),ke("ttl",Be.int)],ot=[...Qe,ke("owner",Be.id,"ak"),ke("ctVersion",Be.int),ke("code",Be.binary,"cb"),ke("log",Be.binary,"cb"),ke("active",Be.bool),ke("referers",Be.ids,"ak"),ke("deposit",Be.amount)],at=[...Qe,ke("ownerId",Be.id,"ak"),ke("nonce",Be.int),ke("code",Be.binary,"cb"),ke("authFun",Be.rawBinary),ke("ctVersion",Be.ctVersion),ke("fee",Be.int),ke("ttl",Be.int),ke("gas",Be.int),ke("gasPrice",Be.int),ke("callData",Be.binary,"cb")],it=[...Qe,ke("gaId",Be.id,"ak"),ke("authData",Be.binary,"cb"),ke("abiVersion",Be.int),ke("fee",Be.int),ke("gas",Be.int),ke("gasPrice",Be.int),ke("tx",Be.rlpBinary)],st=[...Qe,ke("payerId",Be.id,"ak"),ke("nonce",Be.int),ke("fee",Be.int),ke("tx",Be.rlpBinary)],ct=[...Qe,ke("ownerId",Be.id,"ak"),ke("nonce",Be.int),ke("code",Be.binary,"cb"),ke("ctVersion",Be.ctVersion),ke("fee",Be.int),ke("ttl",Be.int),ke("deposit",Be.amount),ke("amount",Be.amount),ke("gas",Be.int),ke("gasPrice",Be.int),ke("callData",Be.binary,"cb")],ut=[...Qe,ke("callerId",Be.id,"ak"),ke("nonce",Be.int),ke("contractId",Be.id,["ct","nm"]),ke("abiVersion",Be.int),ke("fee",Be.int),ke("ttl",Be.int),ke("amount",Be.amount),ke("gas",Be.int),ke("gasPrice",Be.int),ke("callData",Be.binary,"cb")],lt=[...Qe,ke("callerId",Be.id,"ak"),ke("callerNonce",Be.int),ke("height",Be.int),ke("contractId",Be.id,"ct"),ke("gasPrice",Be.int),ke("gasUsed",Be.int),ke("returnValue",Be.binary,"cb"),ke("returnType",Be.callReturnType),ke("log",Be.rawBinary)],dt=[...Qe,ke("accountId",Be.id,"ak"),ke("nonce",Be.int),ke("queryFormat",Be.string),ke("responseFormat",Be.string),ke("queryFee",Be.amount),ke("oracleTtlType",Be.int),ke("oracleTtlValue",Be.int),ke("fee",Be.int),ke("ttl",Be.int),ke("abiVersion",Be.int)],ht=[...Qe,ke("oracleId",Be.id,["ok","nm"]),ke("nonce",Be.int),ke("oracleTtlType",Be.int),ke("oracleTtlValue",Be.int),ke("fee",Be.int),ke("ttl",Be.int)],pt=[...Qe,ke("senderId",Be.id,"ak"),ke("nonce",Be.int),ke("oracleId",Be.id,["ok","nm"]),ke("query",Be.string),ke("queryFee",Be.amount),ke("queryTtlType",Be.int),ke("queryTtlValue",Be.int),ke("responseTtlType",Be.int),ke("responseTtlValue",Be.int),ke("fee",Be.int),ke("ttl",Be.int)],ft=[...Qe,ke("oracleId",Be.id,"ok"),ke("nonce",Be.int),ke("queryId",Be.binary,"oq"),ke("response",Be.string),ke("responseTtlType",Be.int),ke("responseTtlValue",Be.int),ke("fee",Be.int),ke("ttl",Be.int)],mt=[...Qe,ke("initiator",Be.id,"ak"),ke("initiatorAmount",Be.int),ke("responder",Be.id,"ak"),ke("responderAmount",Be.int),ke("channelReserve",Be.int),ke("lockPeriod",Be.int),ke("ttl",Be.int),ke("fee",Be.int),ke("initiatorDelegateIds",Be.string),ke("responderDelegateIds",Be.string),ke("stateHash",Be.binary,"st"),ke("nonce",Be.int)],gt=[...Qe,ke("channelId",Be.id,"ch"),ke("fromId",Be.id,"ak"),ke("amount",Be.int),ke("ttl",Be.int),ke("fee",Be.int),ke("stateHash",Be.binary,"st"),ke("round",Be.int),ke("nonce",Be.int)],yt=[...Qe,ke("channelId",Be.id,"ch"),ke("toId",Be.id,"ak"),ke("amount",Be.int),ke("ttl",Be.int),ke("fee",Be.int),ke("stateHash",Be.binary,"st"),ke("round",Be.int),ke("nonce",Be.int)],wt=[...Qe,ke("channelId",Be.id,"ch"),ke("fromId",Be.id,"ak"),ke("initiatorAmountFinal",Be.int),ke("responderAmountFinal",Be.int),ke("ttl",Be.int),ke("fee",Be.int),ke("nonce",Be.int)],bt=[...Qe,ke("channelId",Be.id,"ch"),ke("fromId",Be.id,"ak"),ke("payload",Be.binary,"tx"),ke("poi",Be.binary,"pi"),ke("ttl",Be.int),ke("fee",Be.int),ke("nonce",Be.int)],vt=[...Qe,ke("channelId",Be.id,"ch"),ke("fromId",Be.id,"ak"),ke("payload",Be.binary,"tx"),ke("poi",Be.binary,"pi"),ke("ttl",Be.int),ke("fee",Be.int),ke("nonce",Be.int)],xt=[...Qe,ke("channelId",Be.id,"ch"),ke("fromId",Be.id,"ak"),ke("initiatorAmountFinal",Be.int),ke("responderAmountFinal",Be.int),ke("ttl",Be.int),ke("fee",Be.int),ke("nonce",Be.int)],Tt=[...Qe,ke("channelId",Be.id,"ch"),ke("fromId",Be.id,"ak"),ke("payload",Be.binary,"tx"),ke("round",Be.int),ke("update",Be.binary),ke("stateHash",Be.binary),ke("offChainTrees",Be.stateTree),ke("ttl",Be.int),ke("fee",Be.int),ke("nonce",Be.int)],Ct=[...Qe,ke("channelId",Be.id,"ch"),ke("round",Be.int),ke("stateHash",Be.binary,"st")],It=[...Qe,ke("initiator",Be.id,"ak"),ke("responder",Be.id,"ak"),ke("channelAmount",Be.int),ke("initiatorAmount",Be.int),ke("responderAmount",Be.int),ke("channelReserve",Be.int),ke("initiatorDelegateIds",Be.ids),ke("responderDelegateIds",Be.ids),ke("stateHash",Be.hex),ke("round",Be.int),ke("soloRound",Be.int),ke("lockPeriod",Be.int),ke("lockedUntil",Be.int),ke("initiatorAuth",Be.binary,"cb"),ke("responderAuth",Be.binary,"cb")],At=[...Qe,ke("channelId",Be.id,"ch"),ke("fromId",Be.id,"ak"),ke("payload",Be.binary,"tx"),ke("ttl",Be.int),ke("fee",Be.int),ke("nonce",Be.int)],Et=[...Qe,ke("owner",Be.id,"ak"),ke("ctVersion",Be.int),ke("code",Be.binary,"cb"),ke("deposit",Be.int),ke("callData",Be.binary,"cb")],_t=[...Qe,ke("caller",Be.id,"ak"),ke("contract",Be.id,"ct"),ke("abiVersion",Be.int),ke("amount",Be.int),ke("callData",Be.binary,"cb"),ke("callStack",Be.callStack),ke("gasPrice",Be.int),ke("gasLimit",Be.int)],kt=[...Qe,ke("channelId",Be.id,"ch"),ke("round",Be.int),ke("role",Be.string),ke("pubkey",Be.id,"ak")],Ot=[...Qe,ke("from",Be.id,"ak"),ke("to",Be.id,"ak"),ke("amount",Be.int)],St=[...Qe,ke("from",Be.id,"ak"),ke("amount",Be.int)],Nt=[...Qe,ke("from",Be.id,"ak"),ke("amount",Be.int)],jt=[...Qe,ke("accounts",Be.mptrees),ke("calls",Be.mptrees),ke("channels",Be.mptrees),ke("contracts",Be.mptrees),ke("ns",Be.mptrees),ke("oracles",Be.mptrees)],Pt=[...Qe,ke("contracts",Be.rlpBinary),ke("calls",Be.rlpBinary),ke("channels",Be.rlpBinary),ke("ns",Be.rlpBinary),ke("oracles",Be.rlpBinary),ke("accounts",Be.rlpBinary)],Mt=[...Qe,ke("values",Be.rlpBinaries)],Rt=[...Qe,ke("key",Be.hex),ke("value",Be.rawBinary)],Bt=[...Qe,ke("contracts",Be.rlpBinary)],qt=[...Qe,ke("calls",Be.rlpBinary)],Vt=[...Qe,ke("channels",Be.rlpBinary)],Ft=[...Qe,ke("mtree",Be.rlpBinary)],$t=[...Qe,ke("otree",Be.rlpBinary)],Dt=[...Qe,ke("accounts",Be.rlpBinary)],Ut={[Se.account]:{2:Oe(ze,10)},[Se.signed]:{1:Oe(Je,fe)},[Se.spend]:{1:Oe(Xe,12)},[Se.namePreClaim]:{1:Oe(Ze,33)},[Se.nameClaim]:{2:Oe(et,32)},[Se.nameUpdate]:{1:Oe(tt,34)},[Se.nameTransfer]:{1:Oe(nt,36)},[Se.nameRevoke]:{1:Oe(rt,35)},[Se.contract]:{1:Oe(ot,40)},[Se.contractCreate]:{1:Oe(ct,42)},[Se.contractCall]:{1:Oe(ut,43)},[Se.contractCallResult]:{1:Oe(lt,41)},[Se.oracleRegister]:{1:Oe(dt,22)},[Se.oracleExtend]:{1:Oe(ht,25)},[Se.oracleQuery]:{1:Oe(pt,23)},[Se.oracleResponse]:{1:Oe(ft,24)},[Se.channelCreate]:{2:Oe(mt,50)},[Se.channelCloseMutual]:{1:Oe(wt,53)},[Se.channelCloseSolo]:{1:Oe(bt,54)},[Se.channelSlash]:{1:Oe(vt,55)},[Se.channelDeposit]:{1:Oe(gt,51)},[Se.channelWithdraw]:{1:Oe(yt,52)},[Se.channelSettle]:{1:Oe(xt,56)},[Se.channelForceProgress]:{1:Oe(Tt,me)},[Se.channelOffChain]:{2:Oe(Ct,57)},[Se.channel]:{3:Oe(It,58)},[Se.channelSnapshotSolo]:{1:Oe(At,59)},[Se.channelOffChainUpdateTransfer]:{1:Oe(Ot,ge)},[Se.channelOffChainUpdateDeposit]:{1:Oe(St,ye)},[Se.channelOffChainUpdateWithdrawal]:{1:Oe(Nt,we)},[Se.channelOffChainCreateContract]:{1:Oe(Et,be)},[Se.channelOffChainCallContract]:{1:Oe(_t,ve)},[Se.channelReconnect]:{1:Oe(kt,xe)},[Se.proofOfInclusion]:{1:Oe(jt,60)},[Se.stateTrees]:{1:Oe(Pt,62)},[Se.merklePatriciaTree]:{1:Oe(Mt,63)},[Se.merklePatriciaTreeValue]:{1:Oe(Rt,64)},[Se.contractsTree]:{1:Oe(Bt,Te)},[Se.contractCallsTree]:{1:Oe(qt,Ce)},[Se.channelsTree]:{1:Oe(Vt,Ie)},[Se.nameserviceTree]:{1:Oe(Ft,Ae)},[Se.oraclesTree]:{1:Oe($t,Ee)},[Se.accountsTree]:{1:Oe(Dt,_e)},[Se.gaAttach]:{1:Oe(at,80)},[Se.gaMeta]:{2:Oe(it,81)},[Se.payingFor]:{1:Oe(st,82)}},Ht={10:{2:Oe(ze,10)},[fe]:{1:Oe(Je,fe)},12:{1:Oe(Xe,12)},33:{1:Oe(Ze,33)},32:{2:Oe(et,32)},34:{1:Oe(tt,34)},36:{1:Oe(nt,36)},35:{1:Oe(rt,35)},40:{1:Oe(ot,40)},42:{1:Oe(ct,42)},43:{1:Oe(ut,43)},41:{1:Oe(lt,41)},22:{1:Oe(dt,22)},25:{1:Oe(ht,25)},23:{1:Oe(pt,23)},24:{1:Oe(ft,24)},50:{2:Oe(mt,50)},53:{1:Oe(wt,53)},54:{1:Oe(bt,54)},55:{1:Oe(vt,55)},51:{1:Oe(gt,51)},52:{1:Oe(yt,52)},56:{1:Oe(xt,56)},57:{2:Oe(Ct,57)},58:{3:Oe(It,58)},59:{1:Oe(At,59)},[ge]:{1:Oe(Ot,ge)},[ye]:{1:Oe(St,ye)},[we]:{1:Oe(Nt,we)},[be]:{1:Oe(Et,be)},[ve]:{1:Oe(_t,ve)},[xe]:{1:Oe(kt,xe)},60:{1:Oe(jt,60)},62:{1:Oe(Pt,62)},63:{1:Oe(Mt,63)},64:{1:Oe(Rt,64)},[Te]:{1:Oe(Bt,Te)},[Ce]:{1:Oe(qt,Ce)},[Ie]:{1:Oe(Vt,Ie)},[Ae]:{1:Oe(Ft,Ae)},[Ee]:{1:Oe($t,Ee)},[_e]:{1:Oe(Dt,_e)},80:{1:Oe(at,80)},81:{2:Oe(it,81)},82:{1:Oe(st,82)},[me]:{1:Oe(Tt,me)},70:{3:Oe(Ye,70)}},Kt=e=>["number","object","string","bigint"].includes(typeof e)&&(!isNaN(e)||Number.isInteger(e)||b().isBigNumber(e)),Wt=e=>e.integerValue(b().ROUND_CEIL);var Lt=C(3550).Buffer;const Gt=Tn,Qt=["tx","st","ss","pi","ov","or","cb","cs","ba"];function Yt(e,t){return tn(D(Lt.from([...en(e,"ak"),..._(t)])),"ct")}function zt(e,t,n){return tn(D(Lt.from([...en(e,"ak"),...function(e){const t=_(e,!0);return Lt.concat([Lt.alloc(32-t.length),t])}(t),...en(n,"ok")])),"oq")}function Xt(e){return Lt.from(e.toString(16).padStart(64,"0"),"hex")}function Jt(e){return un(e),tn(D(e.toLowerCase()),"nm")}function Zt(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Gt();return un(e),`cm_${En(D(Lt.concat([Lt.from(e.toLowerCase()),Xt(t)])))}`}function en(e,t){const[n,r,o]=e.split("_");if(!r)throw new Error(`Encoded string missing payload: ${e}`);if(o)throw new Error(`Encoded string have extra parts: ${e}`);if(t&&t!==n)throw new Error(`Encoded string have a wrong type: ${n} (expected: ${t})`);return(Qt.includes(n)?An:_n)(r)}function tn(e,t){return`${t}_${Qt.includes(t)?Cn(e):En(e)}`}function nn(e){if("string"!=typeof e)throw new Error(`Address should be a string, got ${e} instead`);const t=e.slice(0,2),n=Ke[t];if(!n)throw new Error(`Id tag for prefix ${t} not found.`);return Lt.from([..._(n),...en(e,t)])}function rn(e){const t=e.readUIntBE(0,1),n=We[t];if(!n)throw new Error(`Prefix for id-tag ${t} not found.`);return tn(e.slice(1,e.length),n)}function on(e){return _(e,!0)}function an(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Lt.from([]);return b()(e.toString("hex"),16).toString(10)}function sn(e){return e.map((e=>[_(e.key),nn(e.id)]))}function cn(e){return e.map((e=>{let[t,n]=e;return Object.assign({key:t.toString(),id:rn(n)})}))}function un(e){if(!e||"string"!=typeof e)throw new Error("Name must be a string");if(!e.endsWith(".chain"))throw new Error(`Name should end with .chain: ${e}`)}function ln(e){try{return un(e),!0}catch(e){return!1}}function dn(e){en(e);const t=e.substr(0,2);return de[t]||(()=>{throw new Error(`Default AENS pointer key is not defined for ${t} prefix`)})()}function hn(e){const t=e.replace(".chain","").length;return he[t>=ue?ue:t]}function pn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ae,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:se;if(Number(n)!==n||n%1==0)throw new Error(`Increment must be float. Current increment ${n}`);if(n<se)throw new Error(`minimum increment percentage is ${se}`);return Wt(b()(b()(t).eq(ae)?hn(e):t).times(b()(se).plus(1)))}function fn(e,t){return V()([[B()(5),M()(pe[4].plus(t))],[B()(9),M()(pe[8].plus(t))],[j()(le),M()(pe[12].plus(t))],[S(),M()(b()(t))]])(e.replace(".chain","").length).toString(10)}function mn(e){return e.replace(".chain","").length<13}var gn=C(3550).Buffer;const yn=m().ModeOfOperation.ecb;function wn(e){const t=p().sign.keyPair.fromSecretKey(k(e));return`ak_${En(gn.from(t.publicKey))}`}function bn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ak";if("string"!=typeof e)return!1;try{return 32===en(e,t).length}catch(e){return!1}}function vn(e){return Fn(_(e,!0))}function xn(e){return y()("sha256").update(e).digest()}function Tn(){return Math.floor(Math.random()*Math.floor(Number.MAX_SAFE_INTEGER))}function Cn(e){const t=gn.from(e),n=In(e);return gn.concat([t,n],t.length+4).toString("base64")}function In(e){return xn(xn(e)).slice(0,4)}function An(e){const t=function(e){const t=e.slice(0,-4),n=e.slice(-4),r=In(t);if(n.equals(r))return t}(gn.from(e,"base64"));if(!t)throw new Error("Invalid checksum");return gn.from(t)}function En(e){return d().encode(gn.from(e))}function _n(e){return d().decode(e)}function kn(e){const t=gn.allocUnsafe(4);return t.writeUInt32BE(e),t.slice(t.findIndex((e=>0!==e)))}function On(e,t){const n=en(e,"ak");return`ct_${En(D(gn.concat([n,kn(t)])))}`}function Sn(e){return p().sign.keyPair.fromSecretKey(e)}function Nn(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const t=p().sign.keyPair(),n=gn.from(t.publicKey),r=gn.from(t.secretKey);return e?{publicKey:n,secretKey:r}:{publicKey:`ak_${En(n)}`,secretKey:r.toString("hex")}}function jn(e,t){const n=xn(e);return new yn(n).encrypt(t)}function Pn(e,t){const n=gn.from(t),r=xn(e),o=new yn(r);return gn.from(o.decrypt(n))}function Mn(e,t){return p().sign.detached(gn.from(e),gn.from(t))}function Rn(e,t,n){return p().sign.detached.verify(new Uint8Array(e),t,n)}function Bn(e){const t=gn.from("aeternity Signed Message:\n","utf8"),n=gn.from(e,"utf8");if(n.length>=253)throw new Error("message too long");return D(gn.concat([gn.from([t.length]),t,gn.from([n.length]),n]))}function qn(e,t){return Mn(Bn(e),t)}function Vn(e,t,n){return Rn(Bn(e),t,n)}function Fn(e){return`ak_${En(gn.from(e,"hex"))}`}function $n(e,t){const n=gn.from("TheMessage");return Rn(n,Mn(n,e),t)}var Dn=C(3323),Un=C(3550).Buffer;const Hn=C(8097),Kn={crypto:{secret_type:"ed25519",symmetric_alg:"xsalsa20-poly1305",kdf:"argon2id",kdf_params:{memlimit_kib:65536,opslimit:3,parallelism:1}}},Wn={argon2id:Ln};async function Ln(e,t,n){const{memlimit_kib:r,opslimit:o}=n.kdf_params;return Hn.ready.then((async()=>{const n=Hn,a=n.crypto_pwhash(32,e,t,o,1024*r,n.crypto_pwhash_ALG_ARGON2ID13);return Un.from(a)}))}const Gn={"xsalsa20-poly1305":{encrypt:function(e){let{plaintext:t,key:n,nonce:r}=e;return p().secretbox(t,r,n)},decrypt:function(e){let{ciphertext:t,key:n,nonce:r}=e;const o=p().secretbox.open(t,r,n);if(!o)throw new Error("Invalid password or nonce");return o}}};function Qn(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Kn.crypto.symmetric_alg;if(!Gn[r])throw new Error(r+" is not available");return Gn[r].encrypt({plaintext:e,nonce:n,key:t})}async function Yn(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{kdf_params:Kn.crypto.kdf_params,kdf:Kn.crypto.kdf};if(null==e||!t)throw new Error("Must provide password and nonce to derive a key");if(!Object.prototype.hasOwnProperty.call(Wn,n.kdf))throw new Error("Unsupported kdf type");return Wn[n.kdf](e,t,n)}function zn(e,t,n,r,o){let a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};const i=Object.assign({},Kn.crypto,a);return Object.assign({name:e,version:1,public_key:Xn(n),id:(0,Dn.v4)()},{crypto:Object.assign({secret_type:i.secret_type,symmetric_alg:i.symmetric_alg,ciphertext:Un.from(Qn(Un.from(n),t,r,i.symmetric_alg)).toString("hex"),cipher_params:{nonce:Un.from(r).toString("hex")}},{kdf:i.kdf,kdf_params:{...i.kdf_params,salt:Un.from(o).toString("hex")}})})}function Xn(e){const t=p().sign.keyPair.fromSecretKey(k(e));return`ak_${En(Un.from(t.publicKey))}`}async function Jn(e,t){er(t);const n=Uint8Array.from(k(t.crypto.cipher_params.nonce)),r=Uint8Array.from(k(t.crypto.kdf_params.salt)),o=t.crypto.kdf_params,a=t.crypto.kdf,i=await function(e,t,n,r){if(!Gn[r])throw new Error(r+" is not available");return Gn[r].decrypt({ciphertext:e,nonce:n,key:t})}(Uint8Array.from(k(t.crypto.ciphertext)),await Yn(e,r,{kdf:a,kdf_params:o}),n,t.crypto.symmetric_alg);if(!i)throw new Error("Invalid password");return 64===Un.from(i).length?Un.from(i).toString("hex"):Un.from(i).toString("utf-8")}async function Zn(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:p().randomBytes(24),o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:p().randomBytes(16),a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};const i=Object.assign({},Kn.crypto,a);return zn(e,await Yn(t,o,i),n,r,o,i)}function er(e){const t=["crypto","id","version","public_key"].filter((t=>!Object.prototype.hasOwnProperty.call(e,t)));if(t.length)throw new Error(`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 Error(`Invalid key file format. Require properties: ${n}`);return!0}var tr=C(2001);const nr={AE:"ae",MILI_AE:"miliAE",MICRO_AE:"microAE",NANO_AE:"nanoAE",PICO_AE:"picoAE",FEMTO_AE:"femtoAE",AETTOS:"aettos"},rr={[nr.AE]:0,[nr.MILI_AE]:-3,[nr.MICRO_AE]:-6,[nr.NANO_AE]:-9,[nr.PICO_AE]:-12,[nr.FEMTO_AE]:-15,[nr.AETTOS]:-18},or=function(e){let{denomination:t=nr.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return ir(e,{denomination:t,targetDenomination:nr.AE})},ar=function(e){let{denomination:t=nr.AE}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return ir(e,{denomination:t})},ir=function(e){let{denomination:t=nr.AETTOS,targetDenomination:n=nr.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=Object.values(nr);if(!r.includes(t))throw new Error(`Invalid denomination: ${t}`);if(!r.includes(n))throw new Error(`Invalid target denomination: ${n}`);if(!Kt(e))throw new Error(`Value ${null==e?void 0:e.toString()} is not type of number`);return new(b())(e).shiftedBy(rr[t]-rr[n]).toFixed()},sr=[{name:"exa",magnitude:18},{name:"giga",magnitude:9},{name:"",magnitude:0},{name:"pico",magnitude:-12}],cr=e=>sr.reduce(((t,n)=>Math.abs(n.magnitude-e)<Math.abs(t.magnitude-e)?n:t)),ur=e=>sr.find((t=>t.magnitude<=e))??sr[sr.length-1];var lr,dr=e=>{const t=new(b())(e),n=t.e??0,{name:r,magnitude:o}=(n<0?cr:ur)(n);return`${t.shiftedBy(-o).precision(9+Math.min(n-o,0)).toFixed()}${""!==r?" ":""}${r}`},hr=C(3550).Buffer;!function(e){e[e.Branch=0]="Branch",e[e.Extension=1]="Extension",e[e.Leaf=2]="Leaf"}(lr||(lr={}));class pr{static nodeHash(e){return hr.from(D((0,tr.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 Error("Can't find a node by root hash");Object.entries(this.nodes).forEach((e=>{let[t,n]=e;if(pr.nodeHash(n)!==t)throw new Error("Node hash is not equal to provided one");const{type:r,payload:o}=pr.parseNode(n);switch(r){case lr.Branch:o.slice(0,16).filter((e=>e.length)).forEach((e=>{if(void 0===this.nodes[e.toString("hex")])throw new Error("Can't find a node by hash in branch node")}));break;case lr.Extension:if(void 0===this.nodes[o[0].toString("hex")])throw new Error("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:lr.Branch,payload:e,path:null};case 2:{const t=e[0].toString("hex"),n=parseInt(t[0],16);if(n>3)throw new Error(`Unknown path nibble: ${n}`);const r=n<=1?lr.Extension:lr.Leaf,o=[0,2].includes(n)?2:1;return{type:r,payload:[e[1]],path:t.slice(o)}}default:throw new Error(`Unknown node length: ${e.length}`)}}serialize(){return[hr.from(this.rootHash,"hex"),Object.entries(this.nodes).map((e=>{let[t,n]=e;return[hr.from(t,"hex"),n]}))]}get(e){let t=this.rootHash;for(;;){const{type:n,payload:r,path:o}=pr.parseNode(this.nodes[t]);switch(n){case lr.Branch:if(0===e.length)return r[16];t=r[parseInt(e[0],16)].toString("hex"),e=e.substr(1);break;case lr.Extension:if(e.substr(0,null==o?void 0:o.length)!==o)return;t=r[0].toString("hex"),e=e.substr(o.length);break;case lr.Leaf:if(o!==e)return;return r[0]}}}}var fr=C(3550).Buffer;const mr="delta";function gr(e,t,n){if(!e)return"";switch(t){case Be.ctVersion:{const[t,,n]=e;return{vmVersion:an(fr.from([t])),abiVersion:an(fr.from([n]))}}case Be.amount:case Be.int:return an(e);case Be.id:return rn(e);case Be.ids:return e.map(rn);case Be.bool:return 1===e[0];case Be.binary:return tn(e,n);case Be.stateTree:return tn(e,"ss");case Be.string:return e.toString();case Be.payload:return tn(e,"ba");case Be.pointers:return cn(e);case Be.rlpBinary:return kr(e,!0);case Be.rlpBinaries:return e.map((e=>kr(e,!0)));case Be.rawBinary:return e;case Be.hex:return e.toString("hex");case Be.offChainUpdates:return e.map((e=>kr(e,!0)));case Be.callStack:return[an(e)];case Be.mptrees:return e.map((e=>new pr(e)));case Be.callReturnType:switch(an(e)){case"0":return"ok";case"1":return"error";case"2":return"revert";default:return e}case Be.sophiaCodeTypeInfo:return e.reduce(((e,t)=>{let[n,r,o,a]=t;return{...e,[r.toString()]:{funHash:n,argType:o,outType:a}}}),{});default:return e}}function yr(e,t,n){switch(t){case Be.amount:case Be.int:return on(e);case Be.id:return nn(e);case Be.ids:return e.map(nn);case Be.bool:return fr.from([e?1:0]);case Be.binary:return en(e,n);case Be.stateTree:return en(e,"ss");case Be.hex:return fr.from(e,"hex");case Be.signatures:return e.map(fr.from);case Be.payload:return"string"==typeof e&&"ba"===e.split("_")[0]?en(e,"ba"):_(e);case Be.string:return _(e);case Be.pointers:return sn(e);case Be.rlpBinary:return e.rlpEncoded??e;case Be.mptrees:return e.map((e=>e.serialize()));case Be.ctVersion:return fr.from([..._(e.vmVersion),0,..._(e.abiVersion)]);case Be.callReturnType:switch(e){case"ok":return on(0);case"error":return on(1);case"revert":return on(2);default:return e}default:return e}}function wr(e,t){let{denomination:n}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e=t.filter((e=>{let[t,n]=e;return n===Be.amount})).reduce(((t,r)=>{let[o]=r;return{...e,[o]:ir(e[o],{denomination:n})}}),e);const r=t.map((e=>{let[t]=e;return t}));return Object.entries(e).reduce(((e,t)=>{let[n,o]=t;return r.includes(n)&&(e[n]=o),["oracleTtl","queryTtl","responseTtl"].includes(n)&&(e[`${n}Type`]=o.type===mr?0:1,e[`${n}Value`]=o.value),e}),{})}function br(e,t){const n={[Se.oracleRegister]:"oracleTtl",[Se.oracleExtend]:"oracleTtl",[Se.oracleQuery]:"queryTtl",[Se.oracleResponse]:"responseTtl"}[t];return e[n]||e[`${n}Value`]?e[`${n}Value`]||e[n].value:1}function vr(e,t){let{gas:n=0,params:r,vsn:o}=t;const a=b()(1e9);if(!r)return b()(Fe).times(a).toString(10);let i=xr(e,{params:{...r,fee:0},multiplier:a,gas:n,vsn:o}),s=b()(0);for(;!i.eq(s);)i=xr(e,{params:{...r,fee:i},multiplier:a,gas:n,vsn:o}),s=i;return s.toString(10)}function xr(e,t){let{params:n,gas:r=0,multiplier:o,vsn:a}=t;const{rlpEncoded:i}=_r({...n},e,{vsn:a}),s=i.length;return De(e).plus(Ue(e,s,{relativeTtl:br(n,e),innerTxSize:[Se.gaMeta,Se.payingFor].includes(e)?n.tx.tx.encodedTx.rlpEncoded.length:0})).times(o)}function Tr(){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:o=!0,vsn:a}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return!r&&o&&console.warn(`Can't build transaction fee, we will use DEFAULT_FEE(${Fe})`),e||vr(t,{params:r,gas:n,vsn:a})}function Cr(e,t,n){let{excludeKeys:r=[]}=n;return t.filter((e=>{let[t]=e;return!r.includes(t)&&"payload"!==t})).reduce(((t,n)=>{let[r,o,a]=n;return Object.assign(t,function(e,t,n,r){const o=(e,r)=>e?{}:{[t]:Ge[n](r)};if(null==e)return{[t]:"Field is required"};switch(n){case Be.amount:case Be.int:{const t=(!isNaN(e)||b().isBigNumber(e))&&b()(e).lt(0);return o((!isNaN(e)||b().isBigNumber(e))&&b()(e).gte(0),{value:e,isMinusValue:t})}case Be.id:return o((Array.isArray(r)?r:[r]).find((t=>t===e.split("_")[0]))&&Ke[e.split("_")[0]],{value:e,prefix:r});case Be.binary:return o(e.split("_")[0]===r,{prefix:r,value:e});case Be.string:return o(!0);case Be.ctVersion:return o("object"==typeof e&&Object.prototype.hasOwnProperty.call(e,"abiVersion")&&Object.prototype.hasOwnProperty.call(e,"vmVersion"));case Be.pointers:return o(Array.isArray(e)&&!e.find((e=>e!==Object(e))),{value:e});default:return{}}}(e[r],r,o,a))}),{})}function Ir(e,t){let{excludeKeys:n=[],denomination:r=nr.AETTOS}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const o=t.filter((e=>{let[t]=e;return!n.includes(t)})),a=Cr(e=wr(e,o,{denomination:r}),t,{excludeKeys:n});if(Object.keys(a).length)throw new Error("Transaction build error. "+JSON.stringify(a));return o.map((t=>{let[n,r,o]=t;return yr(e[n],r,o)}))}function Ar(e,t){return t.reduce(((t,n,r)=>{let[o,a,i]=n;return Object.assign(t,{[o]:gr(e[r],a,i)})}),{})}const Er=e=>{let{vsn:t,objId:n,type:r}=e;const o=!!n,a=o?n:r,i=o?Ht:Ut;if(!i[a])throw new Error(`Transaction ${o?"deserialization":"serialization"} not implemented for ${o?"tag "+n:r}`);if(!i[a][t])throw new Error(`Transaction ${o?"deserialization":"serialization"} not implemented for ${o?"tag "+n:r} version ${t}`);return i[a][t]};function _r(e,t){let{excludeKeys:n=[],prefix:r="tx",vsn:o=U,denomination:a=nr.AETTOS}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const[i,s]=Er({type:t,vsn:o}),c=Ir({...e,VSN:o,tag:s},i,{excludeKeys:n,denomination:e.denomination||a}).filter((e=>void 0!==e)),u=(0,tr.encode)(c),l=tn(u,r);return{tx:l,rlpEncoded:u,binary:c,txObject:Ar(c,i)}}function kr(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:en(e,n),o=(0,tr.decode)(r),a=an(o[0]),i=an(o[1]),[s]=Er({objId:a,vsn:i});return{txType:Re[a],tx:Ar(o,s),rlpEncoded:r,binary:o}}function Or(e){return tn(D("string"==typeof e&&e.startsWith("tx_")?en(e,"tx"):e),"th")}var Sr={calculateMinFee:vr,calculateFee:Tr,unpackTx:kr,unpackRawTx:Ar,buildTx:_r,buildRawTx:Ir,validateParams:Cr,buildTxHash:Or};const Nr=["int","string","tuple","address","bool","list","map","record","option","oracle","oracleQuery","hash","signature","bytes","variant"].reduce(((e,t)=>({...e,[t]:t})),{ChainTtl:"Chain.ttl"}),jr=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return e.reduce(((e,n)=>{const[r,...o]=n.topics,a=t.find((e=>D(e.name).equals(_(r,!0))));if(!a)return e;const i=a.types.filter((e=>e===Nr.string)).length;if(i>1)throw new Error(`Event schema contains more than one string: ${a.types}`);const s=a.types.length-i;if(s!==o.length)throw new Error(`Schema defines ${s} types, but ${o.length} topics present`);return e.push({...n,name:a.name,decoded:a.types.map((e=>Pr(e===Nr.string?n.data:o.shift(),e)))}),e}),[])};function Pr(e,t){switch(t){case Nr.int:return n=e,new(b())(n.toString()).toString(10);case Nr.bool:return!!e;case Nr.hash:return _(e,!0).toString("hex");case Nr.address:return vn(e);case Nr.string:return en(e).toString("utf-8");default:return _(e,!0)}var n}var Mr=C(1001),Rr=C(2405),Br=C(8367),qr=C(3550).Buffer;const Vr=qr.from("ed25519 seed"),Fr=2147483648,$r=e=>qr.from(e).toString("hex");function Dr(e,t){const n=""===e?[]:(0,Rr.fromString)(e).toPathArray();return n.forEach(((e,t)=>{if(e<Fr)throw new Error(`Segment #${t+1} is not hardened`)})),n.reduce(((e,t)=>Lr(e,t)),t)}function Ur(e,t){if(!["m","m/"].includes(e.slice(0,2)))throw new Error("Invalid path");const n=Wr(t);return Dr(e.slice(2),n)}function Hr(e){const{secretKey:t,publicKey:n}=e;return{secretKey:$r(t),publicKey:`ak_${En(n)}`}}function Kr(e){return p().sign.keyPair.fromSeed(e)}function Wr(e){const t=(0,Mr.full)(e,Vr);return{secretKey:t.slice(0,32),chainCode:t.slice(32)}}function Lr(e,t){let{secretKey:n,chainCode:r}=e;if(t<Fr)throw new Error(`Child index #${t} is not supported`);const o=qr.allocUnsafe(4);o.writeUInt32BE(t,0);const a=qr.concat([qr.alloc(1,0),qr.from(n),qr.from(o)]),i=(0,Mr.full)(a,r);return{secretKey:i.slice(0,32),chainCode:i.slice(32)}}var Gr={getHdWalletAccountFromMnemonic:(e,t)=>({...Hr(Kr(Dr(`${t}h/0h/0h`,Ur("m/44h/457h",(0,Br.mnemonicToSeed)(e))).secretKey)),idx:t}),getSaveHDWalletAccounts:function(e,t,n){const r={secretKey:Pn(t,qr.from(e.secretKey,"hex")),chainCode:Pn(t,qr.from(e.chainCode,"hex"))};return new Array(n).fill().map(((e,t)=>Hr(Kr(Dr(`${t}h/0h/0h`,r).secretKey))))},generateSaveHDWallet:function(e,t){if(!(0,Br.validateMnemonic)(e))throw new Error("Invalid mnemonic");const n=Ur("m/44h/457h",(0,Br.mnemonicToSeed)(e));return{secretKey:$r(jn(t,n.secretKey)),chainCode:$r(jn(t,n.chainCode))}},generateMnemonic:function(){return(0,Br.generateMnemonic)()},deriveChild:Lr,getMasterKeyFromSeed:Wr},Qr=C(1031),Yr=C.n(Qr),zr=C(8081),Xr=Yr()((0,zr.required)({methods:{spendTx:zr.required,namePreclaimTx:zr.required,nameClaimTx:zr.required,nameTransferTx:zr.required,nameUpdateTx:zr.required,nameRevokeTx:zr.required,contractCreateTx:zr.required,contractCallTx:zr.required,oracleRegisterTx:zr.required,oracleExtendTx:zr.required,oraclePostQueryTx:zr.required,oracleRespondTx:zr.required,getAccountNonce:zr.required,channelCloseSoloTx:zr.required,channelSlashTx:zr.required,channelSettleTx:zr.required,channelSnapshotSoloTx:zr.required,gaAttachTx:zr.required,getVmVersion:zr.required,prepareTxParams:zr.required}})),Jr=Yr()({deepProps:{Ae:{defaults:{waitMined:!0,verify:!0}}}},(0,zr.required)({methods:{sendTransaction:zr.required,height:zr.required,awaitHeight:zr.required,topBlock:zr.required,poll:zr.required,balance:zr.required,getBalance:zr.required,tx:zr.required,getTxInfo:zr.required,mempool:zr.required,txDryRun:zr.required,getAccount:zr.required}})),Zr=C(7430),eo=C.n(Zr),to=C(7414),no=C.n(to),ro=C(5713),oo=C.n(ro),ao=C(7263),io=C.n(ao),so=C(6290),co=C.n(so);function uo(){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,o)=>{if(r=await Promise.resolve(r),"function"==typeof o){const a=await Promise.resolve(o.call(r,e,{stamp:t,args:n,instance:r}));return void 0===a?r:a}return r}),r)}var lo=Yr()({deepConf:{AsyncInit:{initializers:[]}},composers(e){let{stamp:t,composables:n}=e;t.compose.deepConfiguration.AsyncInit.initializers=co()([uo],io()(oo(),no()(n.map((e=>eo()(["compose","deepConfiguration","AsyncInit","initializers"],e)||(e.compose||e).initializers||[]))))),t.compose.initializers=[uo]}}),ho=C(4021),po=C.n(ho),fo=C(6311),mo=C.n(fo),go=C(3656);const yo=C.n(go)()({storeAsString:!0}),wo=e=>{if("object"==typeof e&&null!==e&&e.constructor===Object)return Object.entries(e).map((e=>{let[t,n]=e;return[t,wo(n)]})).reduce(((e,t)=>{let[n,r]=t;return{...e,[n]:r}}),{});if(Array.isArray(e))return e.map((e=>wo(e)));if("string"==typeof e&&b()(e).toString(10)===e){const t=b()(e);return t.toJSON=()=>t.toString(10),t}return e};var bo={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 yo.stringify(wo(e),...n)},parse:yo.parse};const vo=async e=>await new Promise((t=>setTimeout(t,e))),xo=(e,t)=>Object.fromEntries(Object.entries(e).map(t)),To=(e,t)=>Object.fromEntries(Object.entries(e).filter(t)),Co=(e,t)=>"object"!=typeof t||null===t?t:Array.isArray(t)?t.map((t=>Co(e,t))):xo(t,(t=>{let[n,r]=t;return[e(n),Co(e,r)]})),Io=Co.bind(null,x),Ao=Co.bind(null,v);let Eo=!1;var _o=async function(e){let{spec:t,internalUrl:n,disableBigNumbers:r,disableCaseConversion:o,responseInterceptor:a}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t=t||await(await mo()(e)).json();const i=r?JSON:bo;(["https://compiler.aepps.com","https://latest.compiler.aepps.com"].includes(new URL(e).origin)||new URL(e).origin.includes("https://"))&&(t.schemes=["https"]);const[s,c]=await Promise.all([e,n].map((e=>e?po()({url:e,spec:t,responseInterceptor:e=>{var t;if(""===e.text||0===(null===(t=e.text)||void 0===t?void 0:t.size))return e;const n=i.parse(e.text);return Object.assign(e,{body:o?n:Ao(n)}),a&&a(e)||e}}):null))),u=[...Object.values(s.apis),xo((null==c?void 0:c.apis.internal)||{},(e=>{let[t,n]=e;return[t,function(){return Eo||(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")'),Eo=!0),n(...arguments)}]}))].reduce(((e,t)=>({...e,...t}))),l=Object.values(t.paths).map((e=>Object.values(e))).flat().reduce(((e,t)=>({...e,[t.operationId]:t})),{}),d=xo(u,(e=>{let[t,n]=e;return[t.slice(0,1).toLowerCase()+t.slice(1),async function(){for(var e=arguments.length,r=new Array(e),a=0;a<e;a++)r[a]=arguments[a];const s=l[t],c=[...s.parameters,...s.requestBody?[{required:s.requestBody.required,schema:Object.values(s.requestBody.content)[0].schema,name:"__requestBody"}]:[]],u=c.filter((e=>e.required)).map((e=>e.name));if(r.length<u.length)throw new Error("swagger: Not enough arguments");const d=u.reduce(((e,t,n)=>({...e,[t]:r[n]})),r[u.length]||{}),{__requestBody:h,...p}=xo(d,(e=>{let[t,n]=e;if("object"!=typeof n)return[t,n];const r=Object.keys(c.find((e=>e.name===t)).schema.properties),a=To(o?n:Io(n),(e=>{let[t]=e;return r.includes(t)}));return[t,i.stringify(a)]}));return(await n(p,{requestBody:h})).body}]}));return Object.assign(s,{api:d})};function ko(e,t,n){const r=e=>e.split(/[-+]/)[0].split(".").map((e=>+e)),o=r(e),a=r(t),i=r(n),s=Math.max(...o,...a,...i)+1,c=e=>e.reverse().reduce(((e,t,n)=>e+t*Math.pow(s,n)),0),u=c(o),l=c(a),d=c(i);return u>=l&&u<d}function Oo(){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 Error("networkId is not provided");return n&&!r?null:r}const So=lo.compose({async init(e){let{url:t,internalUrl:n,ignoreVersion:r}=e;if(!t)throw new Error('"url" required');this.url=t.replace(/\/$/,""),this.internalUrl=n?n.replace(/\/$/,""):this.url;const o=await _o(`${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=o.spec.info.version,!ko(this.version,No,jo)&&!r)throw new Error(`Unsupported node version ${this.version}. Supported: >= ${No} < ${jo}`);this.api=o.api;const{nodeRevision:a,genesisKeyBlockHash:i,networkId:s,protocols:c,topBlockHeight:u}=await this.api.getStatus();return this.consensusProtocolVersion=c.filter((e=>{let{effectiveAtHeight:t}=e;return u>=t})).reduce(((e,t)=>t.effectiveAtHeight>e.effectiveAtHeight?t:e),{effectiveAtHeight:-1,version:0}).version,this.nodeNetworkId=s,Object.assign(this,{revision:a,genesisHash:i})},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}}),No="6.2.0",jo="7.0.0";var Po=So,Mo=C(3550).Buffer;const Ro=e=>!["sign","address"].find((t=>"function"!=typeof e[t]));var Bo=Yr()({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=en(e,"tx"),o=Mo.concat([Mo.from(n.join("-")),D(r)]),a=[await this.sign(o,t)];return _r({encodedTx:r,signatures:a},Se.signed).tx},getNetworkId:Oo,signMessage:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{returnHex:!1};const n=await this.sign(Bn(e),t);return t.returnHex?Mo.from(n).toString("hex"):n},verifyMessage:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return Vn(e,"string"==typeof t?Mo.from(t,"hex"):t,en(await this.address(n)))}}},(0,zr.required)({methods:{sign:zr.required,address:zr.required}}));const qo=Yr()(Xr,Bo,Jr,{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:o}=t.innerTx?{contractId:!1}:await this.getAccount(await this.address(n)),a=r?await this.signUsingGA(e,{...n,authFun:o}):await this.signTransaction(e,n);return n.innerTx?{hash:Sr.buildTxHash(a),rawTx:a}:this.sendTransaction(a,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 Error(`Fraction should be a number between 0 and 1, got ${e}`);const r={...this.Ae.defaults,...n},o=await this.resolveName(t,"account_pubkey",r),a=await this.address(r),i=new(b())(await this.balance(a)),s=i.times(e).integerValue(b().ROUND_HALF_UP),{tx:{fee:c}}=Sr.unpackTx(await this.spendTx({...r,senderId:a,recipientId:o,amount:s})),u=s.plus(c).gt(i)?i.minus(c):s;return this.send(await this.spendTx({...r,senderId:a,recipientId:o,amount:u}),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:nr.AETTOS}}}});var Vo=qo,Fo=C(3550).Buffer;const $o=[async(e,t)=>{let{encodedTx:n,signatures:r}=e,{account:o,node:a,parentTxTypes:i}=t;if(void 0===(n??r))return[];if(1!==r.length)return[];const s=Fo.from([a.nodeNetworkId,...i.includes(Se.payingFor)?["inner_tx"]:[]].join("-")),c=Fo.concat([s,n.rlpEncoded]),u=Fo.concat([s,D(n.rlpEncoded)]),l=en(o.id,"ak");return Rn(c,r[0],l)||Rn(u,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"]}]},async(e,t)=>{let{encodedTx:n,tx:r}=e,{node:o,parentTxTypes:a,txType:i}=t;return void 0===(n??r)?[]:Uo(tn((n??r).rlpEncoded,"tx"),o,[...a,i])},(e,t)=>{let{txType:n}=t;if(void 0===e.fee)return[];const r=Tr(0,n,{gas:+e.gas||0,params:e,showWarning:!1,vsn:e.VSN});return new(b())(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)=>{let{amount:n,fee:r,nameFee:o,tx:a}=e,{account:i,parentTxTypes:s,txType:c}=t;if(void 0===(n??r??o))return[];const u=new(b())(r).plus(o||0).plus(n||0).plus(c===Se.payingFor?a.tx.encodedTx.tx.fee:0).minus(s.includes(Se.payingFor)?r:0);return u.lte(i.balance)?[]:[{message:`Account balance ${i.balance} is not enough to execute the transaction that costs ${u.toFixed()}`,key:"InsufficientBalance",checkedKeys:["amount","fee","nameFee"]}]},(e,t)=>{let{nonce:n}=e,{account:r,parentTxTypes:o}=t;if(void 0===n||o.includes(Se.gaMeta))return[];n=+n;const a=r.nonce+1;return n===a?[]:[{...n<a?{message:`Nonce ${n} is already used, valid nonce is ${a}`,key:"NonceAlreadyUsed"}:{message:`Nonce ${n} is too high, valid nonce is ${a}`,key:"NonceHigh"},checkedKeys:["nonce"]}]},e=>{let{gasPrice:t}=e;return void 0===t||t>=J?[]:[{message:`Gas price ${t} must be bigger then ${J}`,key:"MinGasPrice",checkedKeys:["gasPrice"]}]},(e,t)=>{let{ctVersion:n,abiVersion:r}=e,{txType:o,node:a}=t;const{consensusProtocolVersion:i}=a.getNodeInfo(),s=Me[i];if(!s)throw new Error(`Unsupported protocol: ${i}`);n||(n={abiVersion:r});const c=s[o];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"]}]:[]}],Do=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 Uo(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const{tx:r,txType:o}=kr(e),a=Do(r)??(o===Se.signed?Do(r.encodedTx.tx):null),[i,s]=await Promise.all([a&&t.api.getAccountByPubkey(a).catch((()=>({id:a,balance:new(b())(0),nonce:0}))),t.api.getCurrentKeyBlockHeight().then((e=>{let{height:t}=e;return t}))]);return(await Promise.all($o.map((e=>e(r,{txType:o,node:t,account:i,height:s,parentTxTypes:n}))))).flat()}var Ho=Yr()({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 Error("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 Error(`Node with name ${e} already exist`);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 Error(`Node with name ${e} not in pool`);this.selectedNode=this.pool.get(e)},getNetworkId:Oo,isNodeConnected(){return!!this.selectedNode.instance},getNodeInfo(){if(!this.isNodeConnected())throw new Error("Can not get node info. Node is not connected");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 Error('"nodes" should be an array');const t=e.map((e=>typeof e)).find((e=>"object"!==e));if(t)throw new Error(`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 Error(`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 Error(`Each node instance should have api (object), consensusProtocolVersion (number), genesisHash (string) fields, got ${JSON.stringify(r)} instead`)}},props:{selectedNode:{}}});const Ko=Jr.compose(Ho,{methods:{sendTransaction:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{waitMined:n,verify:r}={...this.Ae.defaults,...t};if(r){const t=await Uo(e,this.selectedNode.instance);if(t.length){const n="Transaction verification errors: "+t.map((e=>e.message)).join(", ");throw Object.assign(new Error(n),{code:"TX_VERIFICATION_ERROR",validation:t,transaction:e})}}try{const{txHash:r}=await this.api.postTransaction({tx:e});if(n){const n={...await this.poll(r,t),rawTx:e};return t.confirm?{...n,confirmationHeight:await this.waitForTxConfirm(r,t)}:n}return{hash:r,rawTx:e}}catch(t){throw Object.assign(t,{rawTx:e,verifyTx:()=>Uo(e,this.selectedNode.instance)})}},balance:async function(e){let{height:t,hash:n,format:r=nr.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{balance:o}=await this.getAccount(e,{hash:n,height:t});return ir(o,{targetDenomination:r}).toString()},getBalance:async function(e){let{height:t,hash:n,format:r=nr.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{balance:o}=await this.getAccount(e,{hash:n,height:t}).catch((e=>({balance:0})));return ir(o,{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)},topBlock:async function(){return this.api.getTopHeader()},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(){try{return this._heightPromise||(this._heightPromise=this.api.getCurrentKeyBlockHeight()),(await this._heightPromise).height}finally{delete this._heightPromise}},awaitHeight:async function(e){let t,{interval:n=5e3,attempts:r=20}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(let o=0;o<r;o++)if(o&&await vo(n),t=await this.height(),t>=e)return t;throw new Error(`Giving up after ${(r-1)*n}ms, current height: ${t}, desired height: ${e}`)},poll:async function(e){let{blocks:t=10,interval:n=500,allowUnsynced:r=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=await this.height()+t;do{const t=await this.tx(e).catch((e=>null));if(t&&(-1!==t.blockHeight||r&&t.height))return t;await vo(n)}while(await this.height()<o);throw new Error(`Giving up after ${t} blocks mined, transaction hash: ${e}`)},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 Error("Invalid param, param must be hash or height")},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 Error("Invalid param, param must be hash or height")},txDryRun:async function(e,t,n){const{results:[{result:r,reason:o,...a}],...i}=await this.api.protectedDryRunTxs({...n,txs:[{tx:e}],accounts:[{pubKey:t,amount:ee.amount}]});if("ok"===r)return{...a,...i};throw Object.assign(new Error("Dry run error, "+o),{tx:e,accountAddress:t,options:n})},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.tx(t),o=await this.awaitHeight(r+n.confirm,n),{blockHeight:a}=await this.tx(t);switch(a){case-1:throw new Error(`Transaction ${t} is removed from chain`);case r:return o;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 Error(`Name or address should be a string: ${e}`);try{return en(e),e}catch(e){}if(ln(e)){if(n||r){const n=await this.api.getNameEntryByName(e).catch((e=>null));if(!n)throw new Error(`Name not found: ${e}`);const o=n.pointers.find((e=>e.key===t));if(!o)throw new Error(`Name ${e} don't have pointers for ${t}`);if(r)return o.id}return Jt(e)}throw new Error(`Invalid name or address: ${e}`)}}});var Wo=Ko,Lo=C(3550).Buffer;const Go=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("object"!=typeof t)throw new Error('"params" should be an object');if("string"!=typeof e||!Object.values(Se).includes(e))throw new Error(`Unknown transaction type ${e}`);const r=Tr(t.fee,e,{gas:t.gas,params:t,vsn:t.vsn}),{rlpEncoded:o,binary:a,tx:i,txObject:s}=_r({...t,fee:r},e,{vsn:t.vsn,...n});return{rlpEncoded:o,binary:a,encodedTx:i,params:s,type:e}},Qo=e=>{if(!e)throw new Error(`Invalid transaction: ${e}`);if("string"==typeof e){const{txType:t,tx:n,rlpEncoded:r,binary:o}=kr(e);return{encodedTx:e,type:t,params:n,rlpEncoded:r,binary:o}}if(Lo.isBuffer(e)){const{txType:t,tx:n,rlpEncoded:r,binary:o}=kr(e,!0);return{encodedTx:tn(e,"tx"),type:t,params:n,rlpEncoded:r,binary:o}}},Yo=Yr()({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 Go(n,t,r);if(e)return Qo(e);throw new Error('Invalid TxObject arguments. Please provide one of { tx: "tx_asdasd23..." } or { type: "spendTx", params: {...} }')}({tx:e,params:t,type:n,options:r})),this.type===Se.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=>Yo({tx:e}),fromRlp:e=>Yo({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 Error("Props should be an object");return this.isSigned=!1,this.signatures=[],Object.assign(this,Go(this.type,{...this.params,...e,fee:null},{...this.options,...t})),this},getSignatures(){if(!this.isSigned)throw new Error("Signature not found, transaction is not signed");return this.signatures},addSignature(e){if(e=T(e)?Lo.from(e,"hex"):e,!(Lo.isBuffer(e)||e instanceof Uint8Array))throw new Error("Invalid signature, signature must be of type Buffer or Uint8Array");Object.assign(this,Go(Se.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 Tr(0,this.type,{gas:t.gas,params:t,vsn:t.vsn})}}});var zo=Yo;async function Xo(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:K,t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(0===e)return 0;if(e<0)throw new Error("ttl must be greater than 0");if(t){const{height:t}=await this.api.getCurrentKeyBlock();return+t+e}return e}const Jo=Wo.compose(Xr,{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:o=""}=e;const{fee:a,ttl:i,nonce:s}=await this.prepareTxParams(Se.spend,{senderId:t,...arguments[0],payload:o}),{tx:c}=this.nativeMode?{tx:Yo({params:{...arguments[0],recipientId:n,senderId:t,nonce:s,ttl:i,payload:o},type:Se.spend}).encodedTx}:await this.api.postSpend({...arguments[0],amount:parseInt(r),recipientId:n,senderId:t,nonce:s,ttl:i,fee:parseInt(a),payload:o});return c},namePreclaimTx:async function(e){let{accountId:t,commitmentId:n}=e;const{fee:r,ttl:o,nonce:a}=await this.prepareTxParams(Se.namePreClaim,{senderId:t,...arguments[0]}),{tx:i}=this.nativeMode?{tx:Yo({params:{...arguments[0],nonce:a,ttl:o,fee:r},type:Se.namePreClaim}).encodedTx}:await this.api.postNamePreclaim({...arguments[0],nonce:a,ttl:o,fee:parseInt(r)});return i},nameClaimTx:async function(e){let{accountId:t,name:n,nameSalt:r,vsn:o=2}=e;const{fee:a,ttl:i,nonce:s}=await this.prepareTxParams(Se.nameClaim,{senderId:t,...arguments[0],vsn:o}),{tx:c}=this.nativeMode?{tx:Yo({params:{...arguments[0],nonce:s,ttl:i,fee:a,vsn:o},type:Se.nameClaim}).encodedTx}:await this.api.postNameClaim({...arguments[0],nonce:s,ttl:i,fee:parseInt(a)});return c},nameTransferTx:async function(e){let{accountId:t,nameId:n,recipientId:r}=e;const{fee:o,ttl:a,nonce:i}=await this.prepareTxParams(Se.nameTransfer,{senderId:t,...arguments[0]}),{tx:s}=this.nativeMode?{tx:Yo({params:{...arguments[0],recipientId:r,nonce:i,ttl:a,fee:o},type:Se.nameTransfer}).encodedTx}:await this.api.postNameTransfer({...arguments[0],recipientId:r,nonce:i,ttl:a,fee:parseInt(o)});return s},nameUpdateTx:async function(e){let{accountId:t,nameId:n,nameTtl:r,pointers:o,clientTtl:a}=e;const{fee:i,ttl:s,nonce:c}=await this.prepareTxParams(Se.nameUpdate,{senderId:t,...arguments[0]}),{tx:u}=this.nativeMode?{tx:Yo({params:{...arguments[0],nonce:c,ttl:s,fee:i},type:Se.nameUpdate}).encodedTx}:await this.api.postNameUpdate({...arguments[0],nonce:c,ttl:s,fee:parseInt(i)});return u},nameRevokeTx:async function(e){let{accountId:t,nameId:n}=e;const{fee:r,ttl:o,nonce:a}=await this.prepareTxParams(Se.nameRevoke,{senderId:t,...arguments[0]}),{tx:i}=this.nativeMode?{tx:Yo({params:{...arguments[0],nonce:a,ttl:o,fee:r},type:Se.nameRevoke}).encodedTx}:await this.api.postNameRevoke({...arguments[0],nonce:a,ttl:o,fee:parseInt(r)});return i},contractCreateTx:async function(e){let{ownerId:t,code:n,vmVersion:r,abiVersion:o,deposit:a,amount:i,gas:s,gasPrice:c=J,callData:u}=e;const l=this.getVmVersion(Se.contractCreate,arguments[0]),{fee:d,ttl:h,nonce:p}=await this.prepareTxParams(Se.contractCreate,{senderId:t,...arguments[0],ctVersion:l,gasPrice:c});return this.nativeMode?{tx:Yo({params:{...arguments[0],nonce:p,ttl:h,fee:d,ctVersion:l,gasPrice:c},type:Se.contractCreate}).encodedTx,contractId:Yt(t,p)}:this.api.postContractCreate({...arguments[0],nonce:p,ttl:h,fee:parseInt(d),gas:parseInt(s),gasPrice:c,vmVersion:l.vmVersion,abiVersion:l.abiVersion})},contractCallTx:async function(e){let{callerId:t,contractId:n,abiVersion:r,amount:o,gas:a,gasPrice:i=J,callData:s}=e;const c=this.getVmVersion(Se.contractCall,arguments[0]),{fee:u,ttl:l,nonce:d}=await this.prepareTxParams(Se.contractCall,{senderId:t,...arguments[0],gasPrice:i,abiVersion:c.abiVersion}),{tx:h}=this.nativeMode?{tx:Yo({params:{...arguments[0],nonce:d,ttl:l,fee:u,abiVersion:c.abiVersion,gasPrice:i},type:Se.contractCall}).encodedTx}:await this.api.postContractCall({...arguments[0],nonce:d,ttl:l,fee:parseInt(u),gas:parseInt(a),gasPrice:i,abiVersion:c.abiVersion});return h},prepareTxParams:async function(e,t){let{senderId:n,nonce:r,ttl:o,fee:a,gas:i,absoluteTtl:s,vsn:c,strategy:u}=t;r=r||(await this.api.getAccountNextNonce(n,{strategy:u}).catch((e=>({nextNonce:1})))).nextNonce;const l=await Xo.call(this,o,!s),d=Tr(a,e,{showWarning:this.showWarning,gas:i,params:{...arguments[1],nonce:r,ttl:l},vsn:c});return{fee:d,ttl:l,nonce:r}},oracleRegisterTx:async function(e){let{accountId:t,queryFormat:n,responseFormat:r,queryFee:o,oracleTtl:a,abiVersion:i=je.NO_ABI}=e;const{fee:s,ttl:c,nonce:u}=await this.prepareTxParams(Se.oracleRegister,{senderId:t,...arguments[0],abiVersion:i}),{tx:l}=this.nativeMode?{tx:Yo({params:{accountId:t,queryFee:o,abiVersion:i,fee:s,oracleTtl:a,nonce:u,ttl:c,queryFormat:n,responseFormat:r},type:Se.oracleRegister}).encodedTx}:await this.api.postOracleRegister({accountId:t,queryFee:o,abiVersion:i,fee:parseInt(s),oracleTtl:a,nonce:u,ttl:c,queryFormat:n,responseFormat:r});return l},oracleExtendTx:async function(e){let{oracleId:t,callerId:n,oracleTtl:r}=e;const{fee:o,ttl:a,nonce:i}=await this.prepareTxParams(Se.oracleExtend,{senderId:n,...arguments[0]}),{tx:s}=this.nativeMode?{tx:Yo({params:{oracleId:t,fee:o,oracleTtl:r,nonce:i,ttl:a},type:Se.oracleExtend}).encodedTx}:await this.api.postOracleExtend({oracleId:t,fee:parseInt(o),oracleTtl:r,nonce:i,ttl:a});return s},oraclePostQueryTx:async function(e){let{oracleId:t,responseTtl:n,query:r,queryTtl:o,queryFee:a,senderId:i}=e;const{fee:s,ttl:c,nonce:u}=await this.prepareTxParams(Se.oracleQuery,{senderId:i,...arguments[0]}),{tx:l}=this.nativeMode?{tx:Yo({params:{oracleId:t,responseTtl:n,query:r,queryTtl:o,fee:s,queryFee:a,ttl:c,nonce:u,senderId:i},type:Se.oracleQuery}).encodedTx}:await this.api.postOracleQuery({oracleId:t,responseTtl:n,query:r,queryTtl:o,fee:parseInt(s),queryFee:a,ttl:c,nonce:u,senderId:i});return l},oracleRespondTx:async function(e){let{oracleId:t,callerId:n,responseTtl:r,queryId:o,response:a}=e;const{fee:i,ttl:s,nonce:c}=await this.prepareTxParams(Se.oracleResponse,{senderId:n,...arguments[0]}),{tx:u}=this.nativeMode?{tx:Yo({params:{oracleId:t,responseTtl:r,queryId:o,response:a,fee:i,ttl:s,nonce:c},type:Se.oracleResponse}).encodedTx}:await this.api.postOracleRespond({oracleId:t,responseTtl:r,queryId:o,response:a,fee:parseInt(i),ttl:s,nonce:c});return u},channelCloseSoloTx:async function(e){let{channelId:t,fromId:n,payload:r,poi:o}=e;const{fee:a,ttl:i,nonce:s}=await this.prepareTxParams(Se.channelCloseSolo,{senderId:n,...arguments[0],payload:r}),{tx:c}=this.nativeMode?_r({...arguments[0],channelId:t,fromId:n,payload:r,poi:o,ttl:i,fee:a,nonce:s},Se.channelCloseSolo):await this.api.postChannelCloseSolo({...arguments[0],channelId:t,fromId:n,payload:r,poi:o,ttl:i,fee:parseInt(a),nonce:s});return c},channelSlashTx:async function(e){let{channelId:t,fromId:n,payload:r,poi:o}=e;const{fee:a,ttl:i,nonce:s}=await this.prepareTxParams(Se.channelSlash,{senderId:n,...arguments[0],payload:r}),{tx:c}=this.nativeMode?_r({...arguments[0],channelId:t,fromId:n,payload:r,poi:o,ttl:i,fee:a,nonce:s},Se.channelSlash):await this.api.postChannelSlash({...arguments[0],channelId:t,fromId:n,payload:r,poi:o,ttl:i,fee:parseInt(a),nonce:s});return c},channelSettleTx:async function(e){let{channelId:t,fromId:n,initiatorAmountFinal:r,responderAmountFinal:o}=e;const{fee:a,ttl:i,nonce:s}=await this.prepareTxParams(Se.channelSettle,{senderId:n,...arguments[0]}),{tx:c}=this.nativeMode?_r({...arguments[0],channelId:t,fromId:n,initiatorAmountFinal:r,responderAmountFinal:o,ttl:i,fee:a,nonce:s},Se.channelSettle):await this.api.postChannelSettle({...arguments[0],channelId:t,fromId:n,initiatorAmountFinal:parseInt(r),responderAmountFinal:parseInt(o),ttl:i,fee:parseInt(a),nonce:s});return c},channelSnapshotSoloTx:async function(e){let{channelId:t,fromId:n,payload:r}=e;const{fee:o,ttl:a,nonce:i}=await this.prepareTxParams(Se.channelSnapshotSolo,{senderId:n,...arguments[0],payload:r}),{tx:s}=this.nativeMode?_r({...arguments[0],channelId:t,fromId:n,payload:r,ttl:a,fee:o,nonce:i},Se.channelSnapshotSolo):await this.api.postChannelSnapshotSolo({...arguments[0],channelId:t,fromId:n,payload:r,ttl:a,fee:parseInt(o),nonce:i});return s},gaAttachTx:async function(e){let{ownerId:t,code:n,vmVersion:r,abiVersion:o,authFun:a,gas:i,gasPrice:s=J,callData:c}=e;const u=this.getVmVersion(Se.contractCreate,arguments[0]),{fee:l,ttl:d,nonce:h}=await this.prepareTxParams(Se.gaAttach,{senderId:t,...arguments[0],ctVersion:u,gasPrice:s});return{tx:Yo({params:{...arguments[0],nonce:h,ttl:d,fee:l,ctVersion:u,gasPrice:s},type:Se.gaAttach}).encodedTx,contractId:Yt(t,h)}},payingForTx:async function(e){let{tx:t,payerId:n,...r}=e;const o={tx:kr(t),payerId:n},{fee:a,nonce:i}=await this.prepareTxParams(Se.payingFor,{...o,...r,senderId:n});return _r({...o,...r,fee:a,nonce:i},Se.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(),o=Me[r];if(!o)throw new Error("Not supported consensus protocol version");const a=o[e];if(!a)throw new Error("Not supported tx type");if(n=n||a.abiVersion[0],t=t||a.vmVersion[0],!a.vmVersion.includes(t))throw new Error(`VM VERSION ${t} do not support by this node. Supported: [${a.vmVersion}]`);if(!a.abiVersion.includes(n))throw new Error(`ABI VERSION ${n} do not support by this node. Supported: [${a.abiVersion}]`);return{vmVersion:t,abiVersion:n}}}});var Zo=Jo,ea=C(3550).Buffer;const ta=new WeakMap;var na=Bo.compose({init(e){let{keypair:t,gaId:n}=e;if(this.isGa=!!n,n){if(!bn(n))throw new Error("Invalid GA address");return void ta.set(this,{publicKey:n})}if(!t||"object"!=typeof t)throw new Error("KeyPair must be an object");if(!t.secretKey||!t.publicKey)throw new Error('KeyPair must must have "secretKey", "publicKey" properties');if("string"!=typeof t.publicKey||-1===t.publicKey.indexOf("ak_"))throw new Error('Public Key must be a base58c string with "ak_" prefix');if(!ea.isBuffer(t.secretKey)&&"string"==typeof t.secretKey&&!T(t.secretKey))throw new Error("Secret key must be hex string or Buffer");const r=ea.from(en(t.publicKey,"ak"));if(!$n(ea.from(t.secretKey,"hex"),r))throw new Error("Invalid Key Pair");ta.set(this,{secretKey:ea.isBuffer(t.secretKey)?t.secretKey:ea.from(t.secretKey,"hex"),publicKey:t.publicKey})},props:{isGa:!1},methods:{sign(e){if(this.isGa)throw new Error("You are trying to sign data using GA account without keypair");return Promise.resolve(Mn(e,ta.get(this).secretKey))},address(){return Promise.resolve(ta.get(this).publicKey)}}}),ra=Bo.compose(lo,{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(en(e,"ak"),!this.accounts[e])throw new Error(`Account for ${e} not available`);this.selectedAddress=e},_resolveAccount(e){if(null===e)throw new Error("No account or wallet configured");switch(typeof e){case"string":if(en(e,"ak"),!this.accounts[e])throw new Error(`Account for ${e} not available`);return this.accounts[e];case"object":return Ro(e)?e:na({keypair:e});default:throw new Error(`Unknown account type: ${typeof e} (account: ${e})`)}}}});const oa=Vo.compose({methods:{aensQuery:async function(e){var t=this;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};un(e);const r=await this.getName(e);return Object.freeze(Object.assign(r,{pointers:r.pointers||[],update:async function(r){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{...await t.aensUpdate(e,r,{...n,...o}),...await t.aensQuery(e)}},transfer:async function(r){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{...await t.aensTransfer(e,r,{...n,...o}),...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]:te,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!r||"number"!=typeof r||r>te)throw new Error("Ttl must be an number and less then 180000 blocks");return{...await t.aensUpdate(e,{},{...n,...o,nameTtl:r,extendPointers:!0}),...await t.aensQuery(e)}}}))},aensPreclaim:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};un(e);const n={...this.Ae.defaults,...t},r=Tn(),o=await this.height(),a=Zt(e,r),i=await this.namePreclaimTx({...n,accountId:await this.address(n),commitmentId:a}),s=await this.send(i,n);return Object.freeze({...s,height:o,claim:t=>this.aensClaim(e,r,{...t,onAccount:n.onAccount}),salt:r,commitmentId:a})},aensClaim:async function(e,t,n){un(e);const r={...this.Ae.defaults,...n},o=hn(e);if(r.nameFee!==this.Ae.defaults.nameFee&&o.gt(r.nameFee))throw new Error(`the provided fee ${r.nameFee} is not enough to execute the claim, required: ${o}`);r.nameFee=r.nameFee!==this.Ae.defaults.nameFee?r.nameFee:o;const a=await this.nameClaimTx({...r,accountId:await this.address(r),nameSalt:t,name:tn(e,"nm")}),i=await this.send(a,r);if(!mn(e)){const t=r.waitMined?await this.aensQuery(e,r):{};return Object.assign(i,t)}return{...i,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]:{};un(e);const r={...this.Ae.defaults,...n},o={...n.extendPointers&&Object.fromEntries((await this.getName(e)).pointers.map((e=>{let{key:t,id:n}=e;return[t,n]}))),...t},a=await this.nameUpdateTx({...r,nameId:Jt(e),accountId:await this.address(r),pointers:Object.entries(o).map((e=>{let[t,n]=e;return{key:t,id:n}}))});return this.send(a,r)},aensTransfer:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};un(e);const r={...this.Ae.defaults,...n},o=await this.nameTransferTx({...r,nameId:Jt(e),accountId:await this.address(r),recipientId:t});return this.send(o,r)},aensRevoke:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};un(e);const n={...this.Ae.defaults,...t},r=await this.nameRevokeTx({...n,nameId:Jt(e),accountId:await this.address(n)});return this.send(r,n)},aensBid:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ae,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.aensClaim(e,0,{...n,nameFee:t,vsn:2})}},deepProps:{Ae:{defaults:{clientTtl:oe,nameTtl:te,nameFee:ae}}}});var aa=oa,ia=Yr()((0,zr.required)({methods:{contractEncodeCallDataAPI:zr.required,compileContractAPI:zr.required,contractGetACI:zr.required,setCompilerUrl:zr.required,getCompilerVersion:zr.required,contractDecodeCallResultAPI:zr.required,validateByteCodeAPI:zr.required,getFateAssembler:zr.required,getBytecodeCompilerVersion:zr.required}})),sa=lo.compose(ia,{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 Error('"compilerUrl" required');e=e.replace(/\/$/,"");const n=await _o(`${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=n.api,!t&&!ko(this.compilerVersion,ca,ua))throw new Error(`Unsupported compiler version ${this.compilerVersion}. Supported: >= ${ca} < ${ua}`)},_ensureCompilerReady(){if(!this._compilerApi)throw new Error("Compiler is not ready")},_prepareCompilerOptions(){let{filesystem:e={}}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{file_system:e}},getCompilerVersion(){return this._ensureCompilerReady(),Promise.resolve(this.compilerVersion)},async contractEncodeCallDataAPI(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=arguments.length>3?arguments[3]:void 0;this._ensureCompilerReady();const{calldata:o}=await this._compilerApi.encodeCalldata({source:e,function:t,arguments:n,options:this._prepareCompilerOptions(r)});return o},async compileContractAPI(e,t){this._ensureCompilerReady();const{bytecode:n}=await this._compilerApi.compileContract({code:e,options:this._prepareCompilerOptions(t)});return n},contractGetACI(e,t){return this._ensureCompilerReady(),this._compilerApi.generateACI({code:e,options:this._prepareCompilerOptions(t)})},contractDecodeCallDataByCodeAPI(e,t){return this._ensureCompilerReady(),this._compilerApi.decodeCalldataBytecode({bytecode:e,calldata:t})},contractDecodeCallDataBySourceAPI(e,t,n,r){return this._ensureCompilerReady(),this._compilerApi.decodeCalldataSource({function:t,source:e,calldata:n,options:this._prepareCompilerOptions(r)})},contractDecodeCallResultAPI(e,t,n,r,o){return this._ensureCompilerReady(),this._compilerApi.decodeCallResult({function:t,source:e,"call-result":r,"call-value":n,options:this._prepareCompilerOptions(o)})},async validateByteCodeAPI(e,t,n){this._ensureCompilerReady();const r=await this._compilerApi.validateByteCode({bytecode:e,source:t,options:this._prepareCompilerOptions(n)});return"object"==typeof r||r},getFateAssembler(e,t){return this._ensureCompilerReady(),this._compilerApi.getFateAssemblerCode({bytecode:e,options:this._prepareCompilerOptions(t)})},getBytecodeCompilerVersion(e,t){return this._ensureCompilerReady(),this._compilerApi.getCompilerVersion({bytecode:e,options:this._prepareCompilerOptions(t)})}},props:{compilerVersion:null}});const ca="6.0.0",ua="7.0.0";var la=C(2478),da=C.n(la),ha=C(2892),pa=C.n(ha),fa=C(5206),ma=C.n(fa),ga=C(590);function ya(e,t,n){const r=e.functions.find((e=>e.name===t));if(!r&&"init"!==t)throw new Error(`Function ${t} doesn't exist in contract`);return{...r,bindings:[{state:e.state,type_defs:e.type_defs,name:e.name},...n.map(ma()(["state","type_defs","name"]))],event:e.event?e.event.variant:[]}}var wa=C(3550).Buffer;const ba=Vo.compose(ia,{methods:{getContractInstance:async function(){var e=this;let{source:t,bytecode:n,aci:r,contractAddress:o,filesystem:a={},validateBytecode:i,...s}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(r=r||t&&await this.contractGetACI(t,{filesystem:a}),!r)throw new Error("Either ACI or source code is required");if(o=o&&await this.resolveName(o,"contract_pubkey",{resolveByNode:!0}),!o&&!t&&!n)throw new Error("Can't create instance by ACI without address");if(o){const e=await this.getContract(o).catch((()=>null));if(!e)throw new Error(`Contract with address ${o} not found on-chain`);if(!e.active)throw new Error(`Contract with address ${o} not active`)}const c={interface:pa()(null,da()("interface",r)),aci:pa()(null,eo()(["encoded_aci","contract"],r)),calldata:new ga.Encoder([r.encoded_aci,...r.external_encoded_aci]),externalAci:(r.external_encoded_aci??[]).map((e=>e.contract||e.namespace)),source:t,bytecode:n,deployInfo:{address:o},options:{...this.Ae.defaults,callStatic:!1,filesystem:a,...s},compilerVersion:this.compilerVersion};if(i){if(!o)throw new Error("Can't validate bytecode without contract address");const e=(await this.getContractByteCode(o)).bytecode;if(!(t&&await this.validateByteCodeAPI(e,t,c.options).catch((()=>!1))||n===e))throw new Error(`Contract ${t?"source":"bytecode"} do not correspond to the bytecode deployed on the chain`)}c.compile=async function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(c.bytecode)throw new Error("Contract already compiled");if(!c.source)throw new Error("Can't compile without source code");const{bytecode:n}=await e.contractCompile(c.source,{...c.options,...t});return c.bytecode=n,c.bytecode};const u=async(e,t)=>{const n=await this.send(e,t),r={hash:n.hash,tx:zo({tx:n.rawTx}),txData:n,rawTx:n.rawTx};if(!1===t.waitMined)return r;const o=await this.getTxInfo(n.hash);return await l(o),{...r,result:o}},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=en(r).toString();break;default:throw new Error(`Unknown returnType: ${n}`)}throw new Error("Invocation failed"+(t?`: "${t}"`:""))};return c.deploy=async function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1?arguments[1]:void 0;const r={...c.options,...n,deposit:Y};if(c.bytecode||await c.compile(r),r.callStatic)return c.call("init",t,r);if(c.deployInfo.address)throw new Error("Contract already deployed");const o=await e.address(r),{tx:a,contractId:i}=await e.contractCreateTx({...r,callData:c.calldata.encode(c.aci.name,"init",t),code:c.bytecode,ownerId:o}),{hash:s,rawTx:l,result:d,txData:h}=await u(a,r);return c.deployInfo=Object.freeze({result:d,owner:o,transaction:s,rawTx:l,txData:h,address:i,call:(t,n,o)=>e.contractCall(c.source,i,t,n,{...r,...o}),callStatic:(t,n,o)=>e.contractCallStatic(c.source,i,t,n,{...r,...o}),createdAt:new Date}),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 o={...c.options,...r},a=ya(c.aci,t,c.externalAci),i=c.deployInfo.address;if(!t)throw new Error("Function name is required");if("init"===t&&!o.callStatic)throw new Error('"init" can be called only via dryRun');if(!i&&"init"!==t)throw new Error("You need to deploy contract before calling!");if(b()(o.amount).gt(0)&&Object.prototype.hasOwnProperty.call(a,"payable")&&!a.payable)throw new Error(`You try to pay "${o.amount}" to function "${t}" which is not payable. Only payable function can accept tokens`);const s=await e.address(o).catch((e=>{if(o.callStatic)return ee.pub;throw e})),d=c.calldata.encode(c.aci.name,t,n);let h;if(o.callStatic){"number"==typeof o.top&&(o.top=(await e.getKeyBlock(o.top)).hash);const n={...o,callData:d,nonce:o.top&&(await e.getAccount(s,{hash:o.top})).nonce+1},r="init"===t?(await e.contractCreateTx({...n,code:c.bytecode,ownerId:s})).tx:await e.contractCallTx({...n,callerId:s,contractId:i}),{callObj:a,...u}=await e.txDryRun(r,s,o);await l(a),h={...u,tx:zo({tx:r}),result:a}}else{const t=await e.contractCallTx({...o,callerId:s,contractId:i,callData:d});h=await u(t,o)}return(o.waitMined||o.callStatic)&&(h.decodedResult=a.returns&&"unit"!==a.returns&&"init"!==t&&c.calldata.decode(c.aci.name,t,h.result.returnValue),h.decodedEvents=c.decodeEvents(h.result.log)),h},c.decodeEvents=e=>{const t=(c.aci.event?c.aci.event.variant:[]).map((e=>{const t=Object.keys(e)[0];return{name:t,types:e[t]}}));return jr(e,t)},c.methods=Object.fromEntries(c.aci.functions.map((e=>{let{name:t,arguments:n,stateful:r}=e;const o=e=>function(){for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];const i=o.length===n.length+1?o.pop():{};if("object"!=typeof i)throw new Error(`Options should be an object: ${i}`);return"init"===t?c.deploy(o,{callStatic:e,...i}):c.call(t,o,{callStatic:e,...i})};return[t,Object.assign(o("init"!==t&&!r),{get:o(!0),send:o(!1),decodeEvents:e=>c.decodeEvents(e)})]}))),c},contractCompile:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n={...this.Ae.defaults,...t},r=await this.compileContractAPI(e,t);return Object.freeze({encodeCall:(t,r)=>this.contractEncodeCallDataAPI(e,t,r,n),deploy:(t,o)=>this.contractDeploy(r,e,t,{...n,...o}),deployStatic:(t,o)=>this.contractCallStatic(e,null,"init",t,{...n,...o,bytecode:r}),bytecode:r})},contractCallStatic:async function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],o=arguments.length>4?arguments[4]:void 0;const a=await this.getContractInstance({...o,source:e,contractAddress:t});return a.call(n,r,{...o,callStatic:!0})},contractDeploy:async function(e,t,n,r){const o=await this.getContractInstance({...r,source:t});return o.bytecode=e,o.deploy(n,r)},contractCall:async function(e,t,n,r,o){return(await this.getContractInstance({...o,source:e,contractAddress:t})).call(n,r,o)},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(wa.concat([wa.from(this.getNetworkId(t)),...Object.prototype.hasOwnProperty.call(t,"onAccount")?[en(await this.address(t))]:[],...e.map((e=>en(e)))]),t);return wa.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([...n?[Jt(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([...n?[n]:[],t],r)}},deepProps:{Ae:{defaults:{deposit:Y,gasPrice:J,amount:z,gas:X}}}}),va=ba.compose(Ho).compose(sa);var xa=va;const Ta=e=>async(t,n)=>{if("object"!=typeof t)throw new Error("AuthData must be an object");if(t.gas&&b()(t.gas).gt(Z))throw new Error(`the maximum gas value for ga authFun is ${Z}, got ${t.gas}`);const r=t.gas||Z;if(t.callData){if("cb"!==t.callData.split("_")[0])throw new Error('Auth data must be a string with "cb" prefix.');return{authCallData:t.callData,gas:r}}if(!t.source||!t.args)throw new Error("Auth data must contain source code and arguments.");return{authCallData:await e.contractEncodeCallDataAPI(t.source,n,t.args),gas:r}},Ca=ba.compose({methods:{createGeneralizeAccount:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const o={...this.Ae.defaults,...r},a=await this.address(o);if(await this.isGA(a))throw new Error(`Account ${a} is already GA`);const{tx:i,contractId:s}=await this.gaAttachTx({...o,ownerId:a,code:(await this.contractCompile(t)).bytecode,callData:await this.contractEncodeCallDataAPI(t,"init",n),authFun:D(e)}),{hash:c,rawTx:u}=await this.send(i,o);return Object.freeze({owner:a,transaction:c,rawTx:u,gaContractId:s})},createMetaTx:async function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(!t)throw new Error("authData is required");const{authCallData:o,gas:a}=await Ta(this)(t,n),i={...this.Ae.defaults,...r},{abiVersion:s}=await this.getVmVersion(Se.contractCall),c=Aa(kr(e)),u={...i,tx:{...c,tx:c.txObject},gaId:await this.address(i),abiVersion:s,authData:o,gas:a,vsn:2},{fee:l}=await this.prepareTxParams(Se.gaMeta,u),{rlpEncoded:d}=_r({...u,fee:`${l}`},Se.gaMeta,{vsn:2});return Aa(d).tx},isGA:async function(e){const{contractId:t}=await this.getAccount(e);return!!t}}});var Ia=Ca;const Aa=e=>_r({encodedTx:e,signatures:[]},Se.signed),Ea=e=>Object.fromEntries(e.map((e=>[e,e]))),_a=1,ka=Ea(["to_waellet","to_aepp"]),Oa=Ea(["window","extension"]),Sa=Ea(["readyToConnect","closeConnection","updateNetwork","updateAddress"]),Na=Ea(["connect","subscribeAddress","sign","address","signMessage"]),ja=Ea(["current","connected"]),Pa=Ea(["subscribe","unsubscribe"]),Ma={wallet:{[Sa.readyToConnect]:"connection.announcePresence",[Sa.updateAddress]:"address.update"},aepp:{[Na.address]:"address.get",[Na.connect]:"connection.open",[Na.sign]:"transaction.sign",[Na.signMessage]:"message.sign",[Na.subscribeAddress]:"address.subscribe"},[Sa.updateNetwork]:"networkId.update",[Sa.closeConnection]:"connection.close"},Ra={CONNECTED:"CONNECTED",DISCONNECTED:"DISCONNECTED",CONNECTION_REJECTED:"CONNECTION_REJECTED",WAITING_FOR_CONNECTION_APPROVE:"WAITING_FOR_CONNECTION_APPROVE",WAITING_FOR_CONNECTION_REQUEST:"WAITING_FOR_CONNECTION_REQUEST",WAITING_FOR_SUBSCRIPTION:"WAITING_FOR_SUBSCRIPTION"},Ba={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:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:11,data:e,message:`You are not subscribed for account ${e.account}`}},internalError:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:12,data:e,message:e.msg}},notAuthorize:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:10,data:e,message:"You are not connected to the wallet"}},unsupportedProtocol:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:5,data:e,message:"Unsupported Protocol Version"}},unsupportedNetwork:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:8,data:e,message:"Unsupported Network"}}},qa=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 Error("Browser is not detected");return{}},Va=()=>window!==window.parent,Fa=e=>{let t=0;return function(n){let{id:r,method:o,params:a,result:i,error:s}=n,c=arguments.length>1&&void 0!==arguments[1]&&arguments[1];c||(t+=1),r=c?r||null:t;const u=a?{params:a}:i?{result:i}:{error:s};return e.sendMessage({jsonrpc:"2.0",...r?{id:r}:{},method:o,...u}),r}},$a=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)},Da=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{method:e,params:t}},Ua=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}}},Ha=e=>(t,n,r)=>e.sendMessage(Ua(t,n,r),!0),Ka=()=>{},Wa=e=>3===["","connected","current"].filter((t=>"object"==typeof(t?e[t]:e))).length,La=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||!Ro(n.onAccount))throw new Error("Provided onAccount should be an AccountBase");t=n.onAccount}return t};var Ga=Yr()({init(e){let{id:t,name:n,networkId:r,icons:o,connection:a,handlers:[i,s]}=e;this.id=t,this.connection=a,this.info={name:n,networkId:r,icons:o},this.callbacks={},this.addressSubscription=[],this.accounts={},this.sendMessage=Fa(this.connection),a.connect(((e,t)=>{if(!e||!e.jsonrpc||"2.0"!==e.jsonrpc||!e.method)throw new Error(`Received invalid message: ${e}`);i(e,t)}),((e,t)=>{this.disconnect(!0),"function"==typeof s&&s(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===Ra.CONNECTED},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=Ra.DISCONNECTED,this.addressSubscription=[],this.accounts={},e||this.connection.disconnect()},setAccounts(e){let{forceNotification:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!Wa(e))throw new Error("Invalid accounts object. Should be object like: `{ connected: {}, selected: {} }`");this.accounts=e,t||this.sendMessage(Da(Ma.wallet.updateAddress,this.accounts),!0)},updateSubscription(e,t){return e!==Pa.subscribe||this.addressSubscription.includes(t)||this.addressSubscription.push(t),e===Pa.unsubscribe&&this.addressSubscription.includes(t)&&(this.addressSubscription=this.addressSubscription.filter((e=>e!==t))),this.addressSubscription},request(e,t){const n=this.sendMessage(Da(e,t));if(Object.prototype.hasOwnProperty.call(this.callbacks,n))throw new Error("Callback Already exist");return new Promise(((e,t)=>{this.callbacks[n]={resolve:e,reject:t}}))},processResponse(e,t){let{id:n,error:r,result:o}=e;if(!this.callbacks[n])throw new Error(`Can't find callback for this messageId ${n}`);o?this.callbacks[n].resolve(..."function"==typeof t?t({id:n,result:o}):[o]):this.callbacks[n].reject(r),delete this.callbacks[n]}}});const Qa={[Ma.wallet.updateAddress]:e=>t=>{let{params:n}=t;e.rpcClient.accounts=n,e.onAddressChange(n)},[Ma.updateNetwork]:e=>t=>{e.rpcClient.info.networkId=t.params.networkId,e.onNetworkChange(t.params)},[Ma.closeConnection]:e=>t=>{e.disconnectWallet(),e.onDisconnect(t.params)}},Ya={[Ma.aepp.address]:e=>t=>e.rpcClient.processResponse(t),[Ma.aepp.connect]:e=>t=>{t.result&&(e.rpcClient.info.status=Ra.CONNECTED),e.rpcClient.processResponse(t)},[Ma.aepp.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]}))},[Ma.aepp.sign]:e=>t=>{e.rpcClient.processResponse(t,(e=>{let{id:t,result:n}=e;return[n.signedTransaction||n.transactionHash]}))},[Ma.aepp.signMessage]:e=>t=>{e.rpcClient.processResponse(t,(e=>{let{id:t,result:n}=e;return[n.signature]}))}},za={};var Xa=Vo.compose({async init(e){let{name:t,onAddressChange:n=Ka,onDisconnect:r=Ka,onNetworkChange:o=Ka,connection:a,forceValidation:i=!1,debug:s=!1}=e;this.connection=a,this.name=t,this.debug=s,a&&await this.connectToWallet(a),this.onDisconnect=r,this.onAddressChange=n,this.onNetworkChange=o,["onDisconnect","onAddressChange","onNetworkChange"].forEach((e=>{if(!i&&"function"!=typeof this[e])throw new Error(`Call-back for ${e} must be an function!`)}))},deepProps:{Ae:{defaults:{walletBroadcast:!0}}},methods:{sign(){},addresses(){if(!this.rpcClient.currentAccount)throw new Error("You are not subscribed for an account.");return[this.rpcClient.currentAccount,...Object.keys(this.rpcClient.accounts.connected)]},async connectToWallet(e){if(this.rpcClient&&this.rpcClient.isConnected())throw new Error("You are already connected to wallet "+this.rpcClient);var t;return this.rpcClient=Ga({connection:e,networkId:this.getNetworkId({force:!0}),...e.connectionInfo,id:(0,Dn.v4)(),handlers:[(t=this,async e=>e.id?Object.prototype.hasOwnProperty.call(t.rpcClient.callbacks,e.id)?$a(Ya,e,{debug:t.debug})(t)(e):$a(za,e,{debug:t.debug})(t)(e):$a(Qa,e,{debug:t.debug})(t)(e)),this.onDisconnect]}),this.sendConnectRequest()},async disconnectWallet(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(!this.rpcClient||!this.rpcClient.isConnected())throw new Error("You are not connected to Wallet");e&&this.rpcClient.sendMessage(Da(Ma.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.rpcClient||!this.rpcClient.isConnected())throw new Error("You are not connected to Wallet");const t=this.rpcClient.currentAccount;if(!t)throw new Error("You are not subscribed for an account.");if(e&&!this.rpcClient.hasAccessToAccount(e))throw new Error(`You do not have access to account ${e}`);return e||t},async askAddresses(){if(!this.rpcClient||!this.rpcClient.isConnected())throw new Error("You are not connected to Wallet");if(!this.rpcClient.currentAccount)throw new Error("You are not subscribed for an account.");return this.rpcClient.request(Ma.aepp.address)},async subscribeAddress(e,t){if(!this.rpcClient||!this.rpcClient.isConnected())throw new Error("You are not connected to Wallet");return this.rpcClient.request(Ma.aepp.subscribeAddress,{type:e,value:t})},async signTransaction(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.rpcClient||!this.rpcClient.isConnected())throw new Error("You are not connected to Wallet");if(!this.rpcClient.currentAccount)throw new Error("You are not subscribed for an account.");if(t.onAccount&&!this.rpcClient.hasAccessToAccount(t.onAccount))throw new Error(`You do not have access to account ${t.onAccount}`);return this.rpcClient.request(Ma.aepp.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.rpcClient||!this.rpcClient.isConnected())throw new Error("You are not connected to Wallet");if(!this.rpcClient.currentAccount)throw new Error("You are not subscribed for an account.");if(t.onAccount&&!this.rpcClient.hasAccessToAccount(t.onAccount))throw new Error(`You do not have access to account ${t.onAccount}`);return this.rpcClient.request(Ma.aepp.signMessage,{...t,message:e})},async sendConnectRequest(){return this.rpcClient.request(Ma.aepp.connect,{name:this.name,version:_a,networkId:this.getNetworkId({force:!0})})},async send(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.rpcClient||!this.rpcClient.isConnected())throw new Error("You are not connected to Wallet");if(!this.rpcClient.currentAccount)throw new Error("You are not subscribed for an account.");if(t.onAccount&&!this.rpcClient.hasAccessToAccount(t.onAccount))throw new Error(`You do not have access to account ${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(Ma.aepp.sign,{onAccount:n.onAccount,tx:e,returnSigned:!1,networkId:this.getNetworkId()})}}});const Ja=Vo.compose({methods:{registerOracle:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r={...this.Ae.defaults,...n},o=await this.address(r),a=await this.oracleRegisterTx({...r,accountId:o,queryFormat:e,responseFormat:t});return{...await this.send(a,r),...await this.getOracleObject(`ok_${o.slice(3)}`)}},respondToQuery:async function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const o={...this.Ae.defaults,...r},a=await this.address(o),i=await this.oracleRespondTx({...o,oracleId:e,queryId:t,callerId:a,response:n});return{...await this.send(i,o),...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},o=await this.address(r),a=await this.oracleExtendTx({...r,oracleId:e,callerId:o,oracleTtl:t});return{...await this.send(a,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,o={...this.Ae.defaults,queryFee:r,...n},a=await this.address(o),i=await this.oraclePostQueryTx({...o,oracleId:e,senderId:a,query:t}),s=zt(a,kr(i).tx.nonce,e);return{...await this.send(i,o),...await this.getQueryObject(e,s)}},pollForQueryResponse:async function(e,t){let{attempts:n=20,interval:r=5e3}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};for(let o=0;o<n;o++){o&&await vo(r);const{response:n}=await this.api.getOracleQueryByPubkeyAndQueryId(e,t),a=en(n,"or");if(a.length)return String(a)}throw new Error(`Giving up after ${(n-1)*r}ms`)},pollForQueries:function(e,t){let{interval:n=5e3}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=new Set,o=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)};o();const a=setInterval(o,n);return()=>clearInterval(a)},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:An(n.query.slice(3)).toString(),decodedResponse:An(n.response.slice(3)).toString(),respond:this.respondToQuery.bind(this,e,t),pollForResponse:this.pollForQueryResponse.bind(this,e,t),decode:e=>An(e.slice(3))}}},deepProps:{Ae:{defaults:{queryFee:W,oracleTtl:L,queryTtl:G,responseTtl:Q}}}});var Za=Ja,ei=Vo.compose(Zo,Za,va,aa,Wo,Xa);const ti={[Ma.closeConnection]:(e,t)=>{let{client:n}=t;return async t=>{n.disconnect(!0),e.onDisconnect(t.params,n)}}},ni={},ri={[Ma.aepp.connect](e,t,n,r){let{name:o,networkId:a,version:i,icons:s}=r;return i!==_a?{error:Ba.unsupportedProtocol()}:(n.updateInfo({status:Ra.WAITING_FOR_CONNECTION_APPROVE,name:o,networkId:a,icons:s,version:i}),e("onConnection",{name:o,networkId:a,version:i},(()=>(n.updateInfo({status:Ra.CONNECTED}),{result:t.getWalletInfo()})),(e=>(n.updateInfo({status:Ra.CONNECTION_REJECTED}),{error:Ba.connectionDeny(e)}))))},[Ma.aepp.subscribeAddress](e,t,n,r){let{type:o,value:a}=r;return n.isConnected()?e("onSubscription",{type:o,value:a},(async function(){let{accounts:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{const r=e||t.getAccounts();if(!Wa(r))throw new Error("Invalid provided accounts object");const i=n.updateSubscription(o,a);return n.setAccounts(r,{forceNotification:!0}),{result:{subscription:i,address:r}}}catch(e){return t.debug&&console.error(e),{error:Ba.internalError({msg:e.message})}}}),(e=>({error:Ba.rejectedByUser(e)}))):{error:Ba.notAuthorize()}},[Ma.aepp.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:Ba.rejectedByUser(e)}))):{error:Ba.notAuthorize()},[Ma.aepp.sign](e,t,n,r){const{tx:o,onAccount:a,networkId:i,returnSigned:s=!1}=r,c=a||n.currentAccount;return i&&n.updateInfo({networkId:i}),n.isConnected()?n.hasAccessToAccount(c)?i&&i===t.getNetworkId()?e("onSign",{tx:o,returnSigned:s,onAccount:c,txObject:zo.fromString(o)},(async function(e){let n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{n=La(t.addresses(),c,r)}catch(e){return t.debug&&console.error(e),{error:Ba.internalError({msg:e.message})}}try{const r=e||o;return{result:s?{signedTransaction:await t.signTransaction(r,{onAccount:n})}:{transactionHash:await t.send(r,{onAccount:n,verify:!1})}}}catch(n){if(!s){const r=await Uo(e||o,t.selectedNode.instance);return r.length?{error:Ba.invalidTransaction(r)}:{error:Ba.broadcastFailed(n.message)}}throw n}}),(e=>({error:Ba.rejectedByUser(e)}))):{error:Ba.unsupportedNetwork()}:{error:Ba.permissionDeny({account:c})}:{error:Ba.notAuthorize()}},[Ma.aepp.signMessage](e,t,n,r){let{message:o,onAccount:a}=r;if(!n.isConnected())return{error:Ba.notAuthorize()};const i=a||n.currentAccount;return n.hasAccessToAccount(i)?e("onMessageSign",{message:o,onAccount:i},(async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{const n=La(t.addresses(),i,e);return{result:{signature:await t.signMessage(o,{onAccount:n,returnHex:!0})}}}catch(e){return t.debug&&console.error(e),{error:Ba.internalError({msg:e.message})}}}),(e=>({error:Ba.rejectedByUser(e)}))):{error:Ba.permissionDeny({account:i})}}},oi=(e,t)=>async(n,r)=>{const o=e.rpcClients[t];if(!n.id)return $a(ti,n,{debug:e.debug})(e,{client:o})(n,r);if(Object.prototype.hasOwnProperty.call(o.callbacks,n.id))return $a(ni,n,{debug:e.debug})(e,{client:o})(n,r);{const{id:t,method:a}=n,i=(n,i,s,c)=>()=>new Promise((u=>{e[n](o,{id:t,method:a,params:i,accept:function(){return u(s(...arguments))},deny:function(){return u(c(...arguments))}},r)})),s=$a(ri,n,{debug:e.debug})(i,e,o,n.params),c="function"==typeof s?await s():s;Ha(o)(t,a,c)}};var ai=Vo.compose(ra,{init(){var e=this;let{name:t,onConnection:n,onSubscription:r,onSign:o,onDisconnect:a,onAskAccounts:i,onMessageSign:s,forceValidation:c=!1,debug:u=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.debug=u,this.onConnection=n,this.onSubscription=r,this.onSign=o,this.onDisconnect=a,this.onAskAccounts=i,this.onMessageSign=s,this.rpcClients={},["onConnection","onSubscription","onSign","onDisconnect","onMessageSign"].forEach((e=>{if(!c&&"function"!=typeof this[e])throw new Error(`Call-back for ${e} must be an function!`)})),this.name=t,this.id=(0,Dn.v4)();const l=this.selectAccount.bind(this),d=this.addAccount.bind(this),h=this.selectNode.bind(this);this.selectAccount=function(t){let{condition:n=(()=>!0)}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};l(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:o=(()=>!0)}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};await d(t,{select:n});const a=await t.address();Object.values(e.rpcClients).filter((e=>e.isConnected()&&e.isSubscribed()&&o(e))).forEach((e=>e.setAccounts({current:{...n?{[a]:r}:e.accounts.current},connected:{...n?e.accounts.current:{[a]:r},...e.accounts.connected}})))},this.selectNode=e=>{h(e),Object.values(this.rpcClients).filter((e=>e.isConnected())).forEach((e=>e.sendMessage(Da(Ma.updateNetwork,{networkId:this.getNetworkId()}),!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 Error(`RpcClient with id ${e} do not exist`);n.disconnect(t),delete this.rpcClients[e]},addRpcClient(e){const t=(0,Dn.v4)();return this.rpcClients[t]=Ga({id:t,info:{status:Ra.WAITING_FOR_CONNECTION_REQUEST},connection:e,handlers:[oi(this,t),this.onDisconnect]}),t},shareWalletInfo(e){e({jsonrpc:"2.0",...Da(Ma.wallet.readyToConnect,this.getWalletInfo())})},getWalletInfo(){const e=qa(!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?Oa.extension:Oa.window}},getAccounts(){return{current:this.selectedAddress?{[this.selectedAddress]:{}}:{},connected:this.addresses().filter((e=>e!==this.selectedAddress)).reduce(((e,t)=>({...e,[t]:{}})),{})}}}}),ii=Vo.compose(ai,Zo,xa,Za,aa,Ia,Wo),si=C(3752),ci=C(3205);const ui=new WeakMap,li=new WeakMap,di=new WeakMap,hi=new WeakMap,pi=new WeakMap,fi=new WeakMap,mi=new WeakMap,gi=new WeakMap,yi=new WeakMap,wi=new WeakMap,bi=new WeakMap,vi=new WeakMap,xi=new WeakMap,Ti=new WeakMap,Ci=new WeakMap,Ii=new WeakMap;function Ai(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];fi.get(e).emit(...n)}function Ei(e,t){if(!t)throw new Error("State Channels FSM entered unknown state");hi.set(e,t),t.handler.enter&&t.handler.enter(e),Ni(e)}function _i(e,t){t!==li.get(e)&&(li.set(e,t),Ai(e,"statusChanged",t))}function ki(e,t){di.set(e,t),Ai(e,"stateChanged",t)}function Oi(e,t){const{debug:n=!1}=ui.get(e);n&&console.log("Send message: ",t),pi.get(e).send(bo.stringify(t))}function Si(e,t,n){yi.set(e,[...yi.get(e)||[],{guard:t,action:n}]),Ni(e)}async function Ni(e){const t=wi.get(e),n=yi.get(e)||[];if(t||!n.length)return;const r=hi.get(e),o=n.findIndex((t=>t.guard(e,r)));if(-1===o)return;yi.set(e,n.filter(((e,t)=>o!==t))),wi.set(e,!0);const a=await Promise.resolve(n[o].action(e,r));wi.set(e,!1),Ei(e,a)}async function ji(e){const t=mi.get(e);if(gi.get(e)||!t.length)return;const[n,...r]=t;mi.set(e,r||[]),gi.set(e,!0),await async function(e,t){const{handler:n,state:r}=hi.get(e);Ei(e,await Promise.resolve(n(e,t,r)))}(e,n),gi.set(e,!1),ji(e)}function Pi(e){clearTimeout(Ti.get(e)),clearTimeout(Ci.get(e)),Ti.set(e,setTimeout((()=>{Oi(e,{jsonrpc:"2.0",method:"channels.system",params:{action:"ping"}}),Ci.set(e,setTimeout((()=>{Ri(e),Ai(e,"error",new Error("Server pong timed out"))}),5e3))}),1e4))}function Mi(e,t,n){return new Promise(((r,o)=>{const a=bi.set(e,bi.get(e)+1).get(e);xi.get(e).set(a,(e=>e.result?r(e.result):e.error?o(function(e){const[{message:t}={}]=e.error.data||[];return t?new Error(`${e.error.message}: ${t}`):new Error(e.error.message)}(e)):void 0)),Oi(e,{jsonrpc:"2.0",method:t,id:a,params:n})}))}function Ri(e){pi.get(e).close(),clearTimeout(Ti.get(e)),clearTimeout(Ci.get(e))}async function Bi(e,t){let{url:n,...r}=t;ui.set(e,r),hi.set(e,{handler:r.existingFsmId?Di:$i}),fi.set(e,new ci.EventEmitter),bi.set(e,0),xi.set(e,new Map);const o=new URL(n);Object.entries(r).filter((e=>{let[t]=e;return!["sign","debug"].includes(t)})).forEach((e=>{let[t,n]=e;return o.searchParams.set(x(t),n)})),o.searchParams.set("protocol","json-rpc"),_i(e,"connecting");const a=new si.w3cwebsocket(o.toString());await new Promise(((t,n)=>Object.assign(a,{onerror:n,onopen:()=>{t(),_i(e,"connected"),r.reconnectTx&&(Ei(e,{handler:Gi}),setTimeout((async()=>ki(e,(await Mi(e,"channels.get.offchain_state",{})).signed_tx)))),Pi(e)},onclose:()=>{_i(e,"disconnected"),clearTimeout(Ti.get(e)),clearTimeout(Ci.get(e))},onmessage:t=>{let{data:n}=t;return function(e,t){const n=bo.parse(t),{debug:r=!1}=ui.get(e);if(r&&console.log("Receive message: ",n),n.id){const t=xi.get(e).get(n.id);try{t(n)}finally{xi.get(e).delete(n.id)}}else"channels.message"===n.method?Ai(e,"message",n.params.data.message):"channels.system.pong"===n.method?n.params.channel_id!==vi.get(e)&&null!=vi.get(e)||Pi(e):(mi.set(e,[...mi.get(e)||[],n]),ji(e))}(e,n)}}))),pi.set(e,a)}function qi(e){return`tx_${Cn(e)}`}async function Vi(e,t){const{signatures:n,encodedTx:r}=kr(e).tx,o=await t(qi(r.rlpEncoded));if("string"==typeof o){const{tx:e,txType:t}=kr(o);return qi(_r({signatures:n.concat(e.signatures),encodedTx:e.encodedTx.rlpEncoded},t).rlpEncoded)}return o}function Fi(e,t,n){return n&&n.reject&&n.reject(Object.assign(new Error(`Unexpected message received:\n\n${JSON.stringify(t)}`),{wsMessage:t})),{handler:Gi}}function $i(e,t,n){return"channels.info"===t.method?["channel_accept","funding_created"].includes(t.params.data.event)?(_i(e,{channel_accept:"accepted",funding_created:"halfSigned"}[t.params.data.event]),{handler:Ui}):"channel_reestablished"===t.params.data.event?{handler:Wi}:"fsm_up"===t.params.data.event?(Ii.set(e,t.params.data.fsm_id),{handler:$i}):{handler:$i}:"channels.error"===t.method?(Ai(e,"error",new Error(t.payload.message)),{handler:hs}):void 0}async function Di(e,t,n){return"channels.info"===t.method&&"fsm_up"===t.params.data.event?(Ii.set(e,t.params.data.fsm_id),ki(e,(await Mi(e,"channels.get.offchain_state",{})).signed_tx),{handler:Gi}):Fi(0,t,n)}async function Ui(e,t,n){const r={initiator:"initiator_sign",responder:"responder_sign"}[ui.get(e).role];if(t.method===`channels.sign.${r}`){if(t.params.data.tx){const n=await ui.get(e).sign(r,t.params.data.tx);return Oi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{tx:n}}),{handler:Hi}}const n=await Vi(t.params.data.signed_tx,(t=>ui.get(e).sign(r,t)));return Oi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{signed_tx:n}}),{handler:Hi}}}function Hi(e,t,n){if("channels.on_chain_tx"===t.method){if("funding_signed"===t.params.data.info&&"initiator"===ui.get(e).role)return{handler:Ki};if("funding_created"===t.params.data.info&&"responder"===ui.get(e).role)return{handler:Ki}}if("channels.info"===t.method&&"funding_signed"===t.params.data.event&&"initiator"===ui.get(e).role)return vi.set(e,t.params.channel_id),_i(e,"signed"),{handler:Hi}}function Ki(e,t,n){if("channels.info"===t.method){const e={funding_created:Ki,own_funding_locked:Ki,funding_locked:Wi}[t.params.data.event];if(e)return{handler:e}}if("channels.on_chain_tx"===t.method)return Ai(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),{handler:Ki}}function Wi(e,t,n){if("channels.info"===t.method&&"open"===t.params.data.event)return vi.set(e,t.params.channel_id),{handler:Li}}function Li(e,t,n){if("channels.update"===t.method)return ki(e,t.params.data.state),{handler:Gi}}async function Gi(e,t,n){switch(t.method){case"channels.info":switch(t.params.data.event){case"update":case"withdraw_created":case"deposit_created":return{handler:zi};case"own_withdraw_locked":case"withdraw_locked":case"own_deposit_locked":case"deposit_locked":case"peer_disconnected":case"channel_reestablished":case"open":return Ai(e,t.params.data.event),{handler:Gi};case"fsm_up":return Ii.set(e,t.params.data.fsm_id),{handler:Gi};case"timeout":case"close_mutual":case"shutdown":return{handler:Gi};case"closing":return _i(e,"closing"),{handler:Gi};case"closed_confirmed":return _i(e,"closed"),{handler:hs};case"died":return _i(e,"died"),{handler:hs}}break;case"channels.on_chain_tx":return Ai(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),{handler:Gi};case"channels.leave":return{handler:Gi};case"channels.update":return ki(e,t.params.data.state),{handler:Gi};case"channels.sign.shutdown_sign_ack":return zi(e,t,n)}}async function Qi(e,t,n){if("channels.sign.update"===t.method){const{sign:r}=n;if(t.params.data.tx)return Oi(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:Yi,state:n};const o=await Vi(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof o)return Oi(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:o}}),{handler:Yi,state:n};if("number"==typeof o)return Oi(e,{jsonrpc:"2.0",method:"channels.update",params:{error:o}}),{handler:Qi,state:n}}if("channels.error"===t.method)return n.reject(new Error(t.data.message)),{handler:Gi};if(t.error){const{data:e=[]}=t.error;return e.find((e=>1001===e.code))?n.reject(new Error("Insufficient balance")):e.find((e=>1002===e.code))?n.reject(new Error("Amount cannot be negative")):n.reject(new Error(t.error.message)),{handler:Gi}}return"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Gi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Gi}):Fi(0,t,n)}function Yi(e,t,n){return"channels.update"===t.method?(ki(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Gi}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Gi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Gi}):t.error?(n.reject(new Error(t.error.message)),{handler:Gi}):Fi(0,t,n)}async function zi(e,t,n){const[,r]=t.method.match(/^channels\.sign\.([^.]+)$/)||[];if(r){if(t.params.data.tx){const n=await ui.get(e).sign(r,t.params.data.tx,{updates:t.params.data.updates});if(n)return Oi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{tx:n}}),{handler:Gi}}else{const o=await Vi(t.params.data.signed_tx,(n=>ui.get(e).sign(r,n,{updates:t.params.data.updates})));if("string"==typeof o)return Oi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{signed_tx:o}}),{handler:Gi};if("number"==typeof o)return Oi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{error:o}}),{handler:Xi,state:n}}return Oi(e,{jsonrpc:"2.0",method:"channels.update.new",params:{from:Nn().publicKey,to:Nn().publicKey,amount:1}}),{handler:Xi,state:n}}return Fi(0,t,n)}function Xi(e,t,n){return t.error?{handler:Xi,state:n}:"channels.conflict"===t.method?{handler:Gi}:Fi(0,t,n)}async function Ji(e,t,n){if("channels.sign.shutdown_sign"===t.method){if(t.params.data.tx)return Oi(e,{jsonrpc:"2.0",method:"channels.shutdown_sign",params:{tx:await n.sign(t.params.data.tx)}}),{handler:Zi,state:n};const r=await Vi(t.params.data.signed_tx,(e=>n.sign(e)));return Oi(e,{jsonrpc:"2.0",method:"channels.shutdown_sign",params:{signed_tx:r}}),{handler:Zi,state:n}}return Fi(0,t,n)}function Zi(e,t,n){return"channels.on_chain_tx"===t.method?{handler:hs,state:n}:Fi(0,t,n)}function es(e,t,n){return"channels.leave"===t.method?(n.resolve({channelId:t.params.channel_id,signedTx:t.params.data.state}),Ri(e),{handler:hs}):"channels.error"===t.method?(n.reject(new Error(t.data.message)),{handler:Gi}):Fi(0,t,n)}async function ts(e,t,n){if("channels.sign.withdraw_tx"===t.method){const{sign:r}=n;if(t.params.data.tx)return Oi(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:ns,state:n};const o=await Vi(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof o)return Oi(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{signed_tx:o}}),{handler:ns,state:n};if("number"==typeof o)return Oi(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{error:o}}),{handler:ns,state:n}}return Fi(0,t,n)}function ns(e,t,n){if("channels.on_chain_tx"===t.method)return n.onOnChainTx&&n.onOnChainTx(t.params.data.tx),{handler:ns,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:ns,state:n}}return"channels.update"===t.method?(ki(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Gi}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Gi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Gi}):Fi(0,t,n)}async function rs(e,t,n){if("channels.sign.deposit_tx"===t.method){const{sign:r}=n;if(t.params.data.tx)return Oi(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:os,state:n};const o=await Vi(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof o)return Oi(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{signed_tx:o}}),{handler:os,state:n};if("number"==typeof o)return Oi(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{error:o}}),{handler:os,state:n}}return Fi(0,t,n)}function os(e,t,n){if("channels.on_chain_tx"===t.method)return n.onOnChainTx&&n.onOnChainTx(t.params.data.tx),{handler:os,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:os,state:n}}return"channels.update"===t.method?(ki(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Gi}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Gi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Gi}):Fi(0,t,n)}async function as(e,t,n){if("channels.sign.update"===t.method){if(t.params.data.tx)return Oi(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await n.sign(t.params.data.tx)}}),{handler:is,state:n};const r=await Vi(t.params.data.signed_tx,(e=>n.sign(e)));if("string"==typeof r)return Oi(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:r}}),{handler:is,state:n};if("number"==typeof r)return Oi(e,{jsonrpc:"2.0",method:"channels.update",params:{error:r}}),{handler:is,state:n}}return Fi(0,t,n)}function is(e,t,n){if("channels.update"===t.method){const{round:r}=kr(t.params.data.state).tx.encodedTx.tx,o=ui.get(e)[{initiator:"initiatorId",responder:"responderId"}[ui.get(e).role]];return ki(e,t.params.data.state),n.resolve({accepted:!0,address:On(o,r),signedTx:t.params.data.state}),{handler:Gi}}return"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Gi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Gi}):Fi(0,t,n)}async function ss(e,t,n){if("channels.sign.update"===t.method){if(t.params.data.tx)return Oi(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await n.sign(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:ls,state:n};const r=await Vi(t.params.data.signed_tx,(e=>n.sign(e,{updates:t.params.data.updates})));if("string"==typeof r)return Oi(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:r}}),{handler:ls,state:n};if("number"==typeof r)return Oi(e,{jsonrpc:"2.0",method:"channels.update",params:{error:r}}),{handler:ls,state:n}}return Fi(0,t,n)}async function cs(e,t,n){if("channels.sign.force_progress_tx"===t.method){const r=await Vi(t.params.data.signed_tx,(e=>n.sign(e,{updates:t.params.data.updates})));return Oi(e,{jsonrpc:"2.0",method:"channels.force_progress_sign",params:{signed_tx:r}}),{handler:us,state:n}}return Fi(0,t,n)}function us(e,t,n){return"channels.on_chain_tx"===t.method&&(n.onOnChainTx&&n.onOnChainTx(t.params.data),Ai(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})),Fi(0,t,n)}function ls(e,t,n){return"channels.update"===t.method?(ki(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Gi}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Gi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Gi}):Fi(0,t,n)}function ds(e,t,n){return"channels.calls_pruned.reply"===t.method?(n.resolve(),{handler:Gi}):(n.reject(new Error("Unexpected message received")),{handler:hs})}function hs(e,t,n){return n?"closing"===t.params.data.event?{handler:hs,state:n}:"channel_closed"===t.params.data.info?(n.closeTx=t.params.data.tx,{handler:hs,state:n}):"closed_confirmed"===t.params.data.event?(n.resolve(n.closeTx),{handler:hs}):{handler:hs,state:n}:{handler:hs}}function ps(e){return Object.entries(e).reduce(((e,t)=>{let[n,r]=t;return{...e,[v(n)]:r}}),{})}Gi.enter=e=>{_i(e,"open")};const fs=lo.compose({async init(e){Bi(this,e)},methods:{on:function(e,t){fi.get(this).on(e,t)},off:function(e,t){fi.get(this).removeListener(e,t)},status:function(){return li.get(this)},state:async function(){return ps(await Mi(this,"channels.get.offchain_state",{}))},round:function(){if(!di.get(this))return null;const{txType:e,tx:t}=kr(di.get(this)).tx.encodedTx;switch(e){case Se.channelCreate:return 1;case Se.channelOffChain:case Se.channelWithdraw:case Se.channelDeposit:return parseInt(t.round,10);default:return null}},id:function(){return vi.get(this)},fsmId:function(){return Ii.get(this)},update:function(e,t,n,r,o){return new Promise(((a,i)=>{Si(this,((e,t)=>t.handler===Gi),((s,c)=>(Oi(s,{jsonrpc:"2.0",method:"channels.update.new",params:{from:e,to:t,amount:n,meta:o}}),{handler:Qi,state:{resolve:a,reject:i,sign:r}})))}))},poi:async function(e){let{accounts:t,contracts:n}=e;return(await Mi(this,"channels.get.poi",{accounts:t,contracts:n})).poi},balances:async function(e){return Object.fromEntries((await Mi(this,"channels.get.balances",{accounts:e})).map((e=>[e.account,e.balance])))},leave:function(){return new Promise(((e,t)=>{Si(this,((e,t)=>t.handler===Gi),((n,r)=>(Oi(n,{jsonrpc:"2.0",method:"channels.leave",params:{}}),{handler:es,state:{resolve:e,reject:t}})))}))},shutdown:function(e){return new Promise(((t,n)=>{Si(this,((e,t)=>t.handler===Gi),((r,o)=>(Oi(r,{jsonrpc:"2.0",method:"channels.shutdown",params:{}}),{handler:Ji,state:{sign:e,resolve:t,reject:n}})))}))},sendMessage:function(e,t){let n=e;"object"==typeof e&&(n=JSON.stringify(e));const r=e=>Oi(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:o}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((a,i)=>{Si(this,((e,t)=>t.handler===Gi),((s,c)=>(Oi(s,{jsonrpc:"2.0",method:"channels.withdraw",params:{amount:e}}),{handler:ts,state:{sign:t,resolve:a,reject:i,onOnChainTx:n,onOwnWithdrawLocked:r,onWithdrawLocked:o}})))}))},deposit:function(e,t){let{onOnChainTx:n,onOwnDepositLocked:r,onDepositLocked:o}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((a,i)=>{Si(this,((e,t)=>t.handler===Gi),((s,c)=>(Oi(s,{jsonrpc:"2.0",method:"channels.deposit",params:{amount:e}}),{handler:rs,state:{sign:t,resolve:a,reject:i,onOnChainTx:n,onOwnDepositLocked:r,onDepositLocked:o}})))}))},createContract:function(e,t){let{code:n,callData:r,deposit:o,vmVersion:a,abiVersion:i}=e;return new Promise(((e,s)=>{Si(this,((e,t)=>t.handler===Gi),((c,u)=>(Oi(c,{jsonrpc:"2.0",method:"channels.update.new_contract",params:{code:n,call_data:r,deposit:o,vm_version:a,abi_version:i}}),{handler:as,state:{sign:t,resolve:e,reject:s}})))}))},callContract:function(e,t){let{amount:n,callData:r,contract:o,abiVersion:a}=e;return new Promise(((e,i)=>{Si(this,((e,t)=>t.handler===Gi),((s,c)=>(Oi(s,{jsonrpc:"2.0",method:"channels.update.call_contract",params:{amount:n,call_data:r,contract_id:o,abi_version:a}}),{handler:ss,state:{resolve:e,reject:i,sign:t}})))}))},callContractStatic:async function(e){let{amount:t,callData:n,contract:r,abiVersion:o}=e;return ps(await Mi(this,"channels.dry_run.call_contract",{amount:t,call_data:n,contract_id:r,abi_version:o}))},getContractCall:async function(e){let{caller:t,contract:n,round:r}=e;return ps(await Mi(this,"channels.get.contract_call",{caller_id:t,contract_id:n,round:r}))},getContractState:async function(e){const t=await Mi(this,"channels.get.contract",{pubkey:e});return ps({...t,contract:ps(t.contract)})},disconnect:function(){return Ri(this)},cleanContractCalls:function(){return new Promise(((e,t)=>{Si(this,((e,t)=>t.handler===Gi),((n,r)=>(Oi(n,{jsonrpc:"2.0",method:"channels.clean_contract_calls",params:{}}),{handler:ds,state:{resolve:e,reject:t}})))}))},forceProgress:function(e,t){let{amount:n,callData:r,contract:o,abiVersion:a,gas:i=1e6,gasPrice:s=1e9,nonce:c}=e,{onOnChainTx:u}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((e,c)=>{Si(this,((e,t)=>t.handler===Gi),((l,d)=>(Oi(l,{jsonrpc:"2.0",method:"channels.force_progress",params:{amount:n,call_data:r,contract_id:o,abi_version:a,gas_price:s,gas:i}}),{handler:cs,state:{resolve:e,reject:c,sign:t,onOnChainTx:u}})))}))}},statics:{reconnect:async function(e,t){const{sign:n}=e;return fs({...e,reconnectTx:await n("reconnect",_r(t,Se.channelReconnect).tx)})}}});var ms=fs,gs=Vo.compose(ra,Wo,Zo,aa,xa,Za,Ia),ys=Yr()({init(e){let{pageConnection:t,extConnection:n,allowCrossOrigin:r=!1}=e;if(!window)throw new Error("Window object not found, you can run bridge only in browser");if(!t)throw new Error("pageConnection required");if(!n)throw new Error("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()}}}),ws=(0,zr.required)({methods:{connect:zr.required,disconnect:zr.required,sendMessage:zr.required,isConnected:zr.required}});const bs=()=>{const e="object"==typeof qa(!0).extension,t=window&&window.location&&window.location.protocol.startsWith("http");return e&&t?window:Va()?window.parent:void 0};var vs=Yr()({init(){let{connectionInfo:e={},target:t=bs(),self:n=window,origin:r,sendDirection:o,receiveDirection:a=ka.to_aepp,debug:i=!1,forceOrigin:s=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(o&&!Object.keys(ka).includes(o))throw new Error(`sendDirection must be one of [${Object.keys(ka)}]`);if(!Object.keys(ka).includes(a))throw new Error(`receiveDirection must be one of [${Object.keys(ka)}]`);this.connectionInfo={id:(0,Dn.v4)(),...e};const c=n,u=t;if(this.origin=r,this.debug=i,this.forceOrigin=s,this.sendDirection=o,this.receiveDirection=a,this.subscribeFn=e=>c.addEventListener("message",e,!1),this.unsubscribeFn=e=>c.removeEventListener("message",e,!1),this.postFn=e=>u.postMessage(e,this.origin||"*"),!this.connectionInfo.id)throw new Error("ID required.")},methods:{connect:function(e){const t=this.origin,n=this.receiveDirection,r=this.debug,o=this.forceOrigin;if(this.listener)throw new Error("You already connected");this.listener=(a,i)=>{if(a&&"object"==typeof a.data&&(o||!t||t===a.origin))if(r&&console.log("Receive message: ",a),a.data.type){if(a.data.type!==n)return;e(a.data.data,a.origin,a.source)}else e(a.data,a.origin,a.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 Error("You dont have connection. Please connect before");this.unsubscribeFn(this.listener),this.listener=null},isConnected:function(){return this.listener}}},ws),xs=Yr()({init(){let{connection:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!window)throw new Error("Window object not found, you can run wallet detector only in browser");this.connection=e||vs({connectionInfo:{id:"spy"}}),this.wallets={}},methods:{scan(e){const{wallets:t}=this;this.connection.connect(((n,r,o)=>{let{method:a,params:i}=n;if(!a||!i||a!==Ma.wallet.readyToConnect||t[i.id])return;const s={...i,async getConnection(){const e="extension"===this.type,t=e?window.origin:this.origin;return vs({connectionInfo:this,sendDirection:e?ka.to_waellet:void 0,receiveDirection:e?ka.to_aepp:void 0,target:o,origin:t})}};t[s.id]=s,e({wallets:t,newWallet:s})})),Object.keys(t).length&&e({wallets:t})},stopScan(){this.connection.disconnect()}}}),Ts=Yr()({init(e){let{connectionInfo:t={},port:n,debug:r=!1}=e;if(!qa().runtime)throw new Error("Runtime is not accessible in your environment");this.debug=r,this.connectionInfo=t,this.port=n||qa().runtime.connect(t.id||void 0)},methods:{connect:function(e,t){if(this.isConnected())throw new Error("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 Error("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)}}},ws);const Cs=dn}(),I}()}));
|
|
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("sha.js"),require("@aeternity/blakejs"),require("buffer"),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","sha.js","@aeternity/blakejs","buffer","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("sha.js"),require("@aeternity/blakejs"),require("buffer"),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["sha.js"],e["@aeternity/blakejs"],e.buffer,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"])}(self,(function(e,t,n,r,a,o,s,i,c,u,d,l,h,p,f,m,g,y,w,b){return function(){"use strict";var x={946:function(e){e.exports=f},289:function(e){e.exports=y},343:function(e){e.exports=c},911:function(e){e.exports=p},983:function(e){e.exports=t},910:function(t){t.exports=e},180:function(e){e.exports=n},236:function(e){e.exports=s},192:function(e){e.exports=r},986:function(e){e.exports=b},783:function(e){e.exports=a},408:function(e){e.exports=u},503:function(e){e.exports=h},735:function(e){e.exports=g},485:function(e){e.exports=d},433:function(e){e.exports=i},659:function(e){e.exports=l},79:function(e){e.exports=o},882:function(e){e.exports=w},397:function(e){e.exports=m}},v={};function T(e){var t=v[e];if(void 0!==t)return t.exports;var n=v[e]={exports:{}};return x[e](n,n.exports,T),n.exports}T.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return T.d(t,{a:t}),t},T.d=function(e,t){for(var n in t)T.o(t,n)&&!T.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},T.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},T.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var I={};return function(){T.r(I),T.d(I,{AccountBase:function(){return rs},AccountError:function(){return b},AccountMultiple:function(){return Es},Ae:function(){return os},Aens:function(){return ks},AensError:function(){return x},AensPointerContextError:function(){return Y},AeppError:function(){return v},AeppWalletHelpers:function(){return u},AeppWalletSchema:function(){return c},AlreadyConnectedError:function(){return et},AmbiguousEventDefinitionError:function(){return Te},AmountFormatter:function(){return o},ArgumentCountMismatchError:function(){return j},ArgumentError:function(){return S},BaseError:function(){return w},BrowserRuntimeConnection:function(){return _c},BrowserWindowMessageConnection:function(){return Ac},BytecodeMismatchError:function(){return le},Bytes:function(){return e},Chain:function(){return No},ChainNode:function(){return ps},Channel:function(){return vc},ChannelCallError:function(){return oe},ChannelConnectionError:function(){return se},ChannelError:function(){return C},ChannelPingTimedOutError:function(){return ie},CompilerError:function(){return E},ContentScriptBridge:function(){return Ic},Contract:function(){return js},ContractCompilerHttp:function(){return _s},ContractError:function(){return A},Crypto:function(){return r},CryptographyError:function(){return k},DecodeError:function(){return De},DisconnectedError:function(){return Me},DryRunError:function(){return Ve},DuplicateCallbackError:function(){return Z},DuplicateContractError:function(){return he},DuplicateNodeError:function(){return Be},EncodeError:function(){return Fe},GeneralizedAccount:function(){return Rs},HdWallet:function(){return i},IllegalArgumentError:function(){return P},IllegalBidFeeError:function(){return $e},InactiveContractError:function(){return pe},InsufficientBalanceError:function(){return M},InsufficientNameFeeError:function(){return X},InternalError:function(){return G},InvalidAensNameError:function(){return J},InvalidAuthDataError:function(){return de},InvalidChecksumError:function(){return Ie},InvalidDenominationError:function(){return B},InvalidDerivationPathError:function(){return Ce},InvalidKeyError:function(){return Ee},InvalidKeypairError:function(){return Q},InvalidMethodInvocationError:function(){return fe},InvalidNameError:function(){return R},InvalidPasswordError:function(){return Ae},InvalidRpcMessageError:function(){return ee},InvalidSignatureError:function(){return Ue},InvalidTxError:function(){return He},InvalidTxParamsError:function(){return Ke},Keystore:function(){return a},MemoryAccount:function(){return Cs},MerkleTreeHashMismatchError:function(){return ke},MessageDirectionError:function(){return tt},MissingCallbackError:function(){return te},MissingContractAddressError:function(){return me},MissingContractDefError:function(){return ge},MissingEventDefinitionError:function(){return ve},MissingFunctionNameError:function(){return ye},MissingNodeInTreeError:function(){return _e},MissingParamError:function(){return D},NoBrowserFoundError:function(){return F},NoDefaultAensPointerError:function(){return We},NoSerializerFoundError:function(){return q},NoSuchContractFunctionError:function(){return be},NoWalletConnectedError:function(){return nt},Node:function(){return es},NodeError:function(){return _},NodeInvocationError:function(){return we},NodeNotFoundError:function(){return Re},NodePool:function(){return ds},NotHardenedSegmentError:function(){return Ne},NotImplementedError:function(){return W},NotPayableFunctionError:function(){return xe},Oracle:function(){return oi},PayloadLengthError:function(){return qe},PrefixMismatchError:function(){return Le},PrefixNotFoundError:function(){return Ge},RequestTimedOutError:function(){return V},RpcAepp:function(){return si},RpcConnectionError:function(){return rt},RpcWallet:function(){return pi},SCHEMA:function(){return t},SchemaNotFoundError:function(){return Qe},TagNotFoundError:function(){return ze},Transaction:function(){return vs},TransactionError:function(){return O},Tx:function(){return _o},TxBuilder:function(){return s},TxBuilderHelper:function(){return n},TxNotInChainError:function(){return Ye},TxTimedOutError:function(){return $},TypeError:function(){return U},UnAuthorizedAccountError:function(){return ne},UnavailableAccountError:function(){return z},UnexpectedChannelMessageError:function(){return ce},Universal:function(){return Tc},UnknownChannelStateError:function(){return ue},UnknownNodeLengthError:function(){return Se},UnknownPathNibbleError:function(){return Pe},UnknownRpcClientError:function(){return re},UnknownTxError:function(){return Xe},UnsubscribedAccountError:function(){return ae},UnsupportedABIversionError:function(){return Je},UnsupportedAlgorithmError:function(){return Oe},UnsupportedChildIndexError:function(){return je},UnsupportedPlatformError:function(){return H},UnsupportedProtocolError:function(){return K},UnsupportedVMversionError:function(){return Ze},UnsupportedVersionError:function(){return L},WalletDetector:function(){return kc},WalletError:function(){return N},genSwaggerClient:function(){return Qo},getDefaultPointerKey:function(){return Oc},verifyTransaction:function(){return us}});var e={};T.r(e),T.d(e,{bigNumberToByteArray:function(){return ct},str2buf:function(){return dt},toBytes:function(){return ut}});var t={};T.r(t),T.d(t,{ABI_VERSIONS:function(){return un},AMOUNT:function(){return kt},BASE_GAS:function(){return fn},CLIENT_TTL:function(){return Bt},CONTRACT_BYTE_CODE_LIMA:function(){return En},DEFAULT_FEE:function(){return gn},DRY_RUN_ACCOUNT:function(){return St},FIELD_TYPES:function(){return pn},GAS_MAX:function(){return _t},GAS_PER_BYTE:function(){return mn},ID_TAG:function(){return xn},ID_TAG_PREFIX:function(){return Tn},KEY_BLOCK_INTERVAL:function(){return yn},MAX_AUTH_FUN_GAS:function(){return Nt},MIN_GAS_PRICE:function(){return Ot},NAME_BID_MAX_LENGTH:function(){return Vt},NAME_BID_RANGES:function(){return Ut},NAME_BID_TIMEOUTS:function(){return Ht},NAME_BID_TIMEOUT_BLOCKS:function(){return Ft},NAME_FEE_BID_INCREMENT:function(){return Dt},NAME_FEE_MULTIPLIER:function(){return Rt},NAME_MAX_CLIENT_TTL:function(){return Mt},NAME_MAX_LENGTH_FEE:function(){return qt},NAME_MAX_TTL:function(){return jt},NAME_TTL:function(){return Pt},OBJECT_ID_TX_TYPE:function(){return hn},OBJECT_TAG_SIGNED_TRANSACTION:function(){return Kt},ORACLE_TTL:function(){return Ct},POINTER_KEY_BY_PREFIX:function(){return $t},PREFIX_ID_TAG:function(){return vn},PROTOCOL_VERSIONS:function(){return dn},PROTOCOL_VM_ABI:function(){return ln},QUERY_FEE:function(){return It},QUERY_TTL:function(){return Et},RESPONSE_TTL:function(){return At},TX_DESERIALIZATION_SCHEMA:function(){return br},TX_FEE_BASE_GAS:function(){return wn},TX_FEE_OTHER_GAS:function(){return bn},TX_SERIALIZATION_SCHEMA:function(){return wr},TX_TTL:function(){return Tt},TX_TYPE:function(){return sn},VM_VERSIONS:function(){return cn},VSN:function(){return xt},VSN_2:function(){return vt}});var n={};T.r(n),T.d(n,{buildContractId:function(){return Cr},buildPointers:function(){return Kr},commitmentHash:function(){return _r},computeAuctionEndBlock:function(){return Jr},computeBidFee:function(){return Xr},createSalt:function(){return Ir},decode:function(){return Fr},encode:function(){return qr},ensureNameValid:function(){return Gr},formatSalt:function(){return Ar},getDefaultPointerKey:function(){return zr},getMinimumNameFee:function(){return Yr},isAuctionName:function(){return Zr},isNameValid:function(){return Qr},oracleQueryId:function(){return Er},produceNameId:function(){return kr},readId:function(){return $r},readInt:function(){return Hr},readPointers:function(){return Wr},writeId:function(){return Vr},writeInt:function(){return Ur}});var r={};T.r(r),T.d(r,{decryptKey:function(){return la},encodeContractAddress:function(){return ia},encodeUnsigned:function(){return sa},encryptKey:function(){return da},generateKeyPair:function(){return ua},generateKeyPairFromSecret:function(){return ca},getAddressFromPriv:function(){return na},hash:function(){return mt},isAddressValid:function(){return ra},isValidKeypair:function(){return ya},messageToHash:function(){return fa},salt:function(){return oa},sha256hash:function(){return aa},sign:function(){return ha},signMessage:function(){return ma},verify:function(){return pa},verifyMessage:function(){return ga}});var a={};T.r(a),T.d(a,{deriveKeyUsingArgon2id:function(){return Ia},dump:function(){return Na},getAddressFromPriv:function(){return _a},recover:function(){return Oa},validateKeyObj:function(){return Sa}});var o={};T.r(o),T.d(o,{AE_AMOUNT_FORMATS:function(){return ja},DENOMINATION_MAGNITUDE:function(){return Ma},default:function(){return Ua},formatAmount:function(){return Da},toAe:function(){return Ba},toAettos:function(){return Ra}});var s={};T.r(s),T.d(s,{buildRawTx:function(){return no},buildTx:function(){return oo},buildTxHash:function(){return io},calculateFee:function(){return eo},calculateMinFee:function(){return Ja},default:function(){return co},unpackRawTx:function(){return ro},unpackTx:function(){return so},validateParams:function(){return to}});var i={};T.r(i),T.d(i,{deriveChild:function(){return vo},derivePathFromKey:function(){return go},derivePathFromSeed:function(){return yo},generateSaveHDWalletFromSeed:function(){return To},getHdWalletAccountFromSeed:function(){return Co},getKeyPair:function(){return bo},getMasterKeyFromSeed:function(){return xo},getSaveHDWalletAccounts:function(){return Io}});var c={};T.r(c),T.d(c,{ERRORS:function(){return Ks},MESSAGE_DIRECTION:function(){return qs},METHODS:function(){return Us},RPC_STATUS:function(){return Hs},SUBSCRIPTION_TYPES:function(){return $s},VERSION:function(){return Fs},WALLET_TYPE:function(){return Vs}});var u={};T.r(u),T.d(u,{getBrowserAPI:function(){return Ws},getHandler:function(){return Qs},isInIframe:function(){return Ls},isValidAccounts:function(){return Js},message:function(){return zs},responseMessage:function(){return Ys},sendMessage:function(){return Gs},sendResponseMessage:function(){return Xs}});var d=T(79),l=T.n(d),h=T(236),p=T.n(h),f=T(433),m=T.n(f),g=T(192),y=T.n(g);class w extends Error{constructor(e){super(e),this.name="BaseError"}}class b extends w{constructor(e){super(e),this.name="AccountError"}}class x extends w{constructor(e){super(e),this.name="AensError"}}class v extends w{constructor(e){super(e),this.name="AeppError"}}class C extends w{constructor(e){super(e),this.name="ChannelError"}}class E extends w{constructor(e){super(e),this.name="CompilerError"}}class A extends w{constructor(e){super(e),this.name="ContractError"}}class k extends w{constructor(e){super(e),this.name="CryptographyError"}}class _ extends w{constructor(e){super(e),this.name="NodeError"}}class O extends w{constructor(e){super(e),this.name="TransactionError"}}class N extends w{constructor(e){super(e),this.name="WalletError"}}class S extends w{constructor(e,t,n){super(`${e} should be ${t}, got ${n} instead`),this.name="ArgumentError"}}class P extends k{constructor(e){super(e),this.name="IllegalArgumentError"}}class j extends w{constructor(e,t,n){super(`${e} expects ${t} arguments, got ${n} instead`),this.name="ArgumentCountMismatchError"}}class M extends w{constructor(e){super(e),this.name="InsufficientBalanceError"}}class B extends w{constructor(e){super(e),this.name="InvalidDenominationError"}}class R extends w{constructor(e){super(e),this.name="InvalidNameError"}}class D extends w{constructor(e){super(e),this.name="MissingParamError"}}class F extends w{constructor(){super("Browser is not detected"),this.name="NoBrowserFoundError"}}class q extends w{constructor(){super("Byte serialization not supported"),this.name="NoSerializerFoundError"}}class V extends w{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 $ extends w{constructor(e,t,n){super([`Giving up after ${e} blocks mined`,`transaction hash: ${t}`,...n?[`status: ${n}`]:[]].join(", ")),this.name="TxTimedOutError"}}class U extends w{constructor(e){super(e),this.name="TypeError"}}class H extends w{constructor(e){super(e),this.name="UnsupportedPlatformError"}}class K extends w{constructor(e){super(e),this.name="UnsupportedProtocolError"}}class W extends w{constructor(e){super(e),this.name="NotImplementedError"}}class L extends w{constructor(e,t,n,r){super(`Unsupported ${e} version ${t}. Supported: >= ${n} < ${r}`),this.name="UnsupportedVersionError"}}class G extends w{constructor(e){super(e),this.name="InternalError"}}class Q extends b{constructor(e){super(e),this.name="InvalidKeypairError"}}class z extends b{constructor(e){super(`Account for ${e} not available`),this.name="UnavailableAccountError"}}class Y extends x{constructor(e,t){super(`Name ${e} don't have pointers for ${t}`),this.name="AensPointerContextError"}}class X extends x{constructor(e,t){super(`the provided fee ${e} is not enough to execute the claim, required: ${t}`),this.name="InsufficientNameFeeError"}}class J extends x{constructor(e){super(e),this.name="InvalidAensNameError"}}class Z extends v{constructor(){super("Callback Already exist"),this.name="DuplicateCallbackError"}}class ee extends v{constructor(e){super(`Received invalid message: ${e}`),this.name="InvalidRpcMessageError"}}class te extends v{constructor(e){super(`Can't find callback for this messageId ${e}`),this.name="MissingCallbackError"}}class ne extends v{constructor(e){super(`You do not have access to account ${e}`),this.name="UnAuthorizedAccountError"}}class re extends v{constructor(e){super(`RpcClient with id ${e} do not exist`),this.name="UnknownRpcClientError"}}class ae extends v{constructor(){super("You are not subscribed for an account."),this.name="UnsubscribedAccountError"}}class oe extends C{constructor(e){super(e),this.name="ChannelCallError"}}class se extends C{constructor(e){super(e),this.name="ChannelConnectionError"}}class ie extends C{constructor(){super("Server pong timed out"),this.name="ChannelPingTimedOutError"}}class ce extends C{constructor(e){super(e),this.name="UnexpectedChannelMessageError"}}class ue extends C{constructor(){super("State Channels FSM entered unknown state"),this.name="UnknownChannelStateError"}}class de extends E{constructor(e){super(e),this.name="InvalidAuthDataError"}}class le extends A{constructor(e){super(`Contract ${e} do not correspond to the bytecode deployed on the chain`),this.name="BytecodeMismatchError"}}class he extends A{constructor(){super("Contract already deployed"),this.name="DuplicateContractError"}}class pe extends A{constructor(e){super(`Contract with address ${e} not active`),this.name="InactiveContractError"}}class fe extends A{constructor(e){super(e),this.name="InvalidMethodInvocationError"}}class me extends A{constructor(e){super(e),this.name="MissingContractAddressError"}}class ge extends A{constructor(){super("Either ACI or source code is required"),this.name="MissingContractDefError"}}class ye extends A{constructor(){super("Function name is required"),this.name="MissingFunctionNameError"}}class we extends A{constructor(e){var t;super("Invocation failed"+(""===(e=null!==(t=e)&&void 0!==t?t:"")?"":`: "${e}"`)),this.name="NodeInvocationError"}}class be extends A{constructor(e){super(`Function ${e} doesn't exist in contract`),this.name="NoSuchContractFunctionError"}}class xe extends A{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 ve extends A{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 Te extends A{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 Ie extends k{constructor(){super("Invalid checksum"),this.name="InvalidChecksumError"}}class Ce extends k{constructor(){super("Invalid path"),this.name="InvalidDerivationPathError"}}class Ee extends k{constructor(e){super(e),this.name="InvalidKeyError"}}class Ae extends k{constructor(e){super(e),this.name="InvalidPasswordError"}}class ke extends k{constructor(){super("Node hash is not equal to provided one"),this.name="MerkleTreeHashMismatchError"}}class _e extends k{constructor(e){super(e),this.name="MissingNodeInTreeError"}}class Oe extends k{constructor(e){super(e+" is not available"),this.name="UnsupportedAlgorithmError"}}class Ne extends k{constructor(e){super(e),this.name="NotHardenedSegmentError"}}class Se extends k{constructor(e){super(`Unknown node length: ${e}`),this.name="UnknownNodeLengthError"}}class Pe extends k{constructor(e){super(`Unknown path nibble: ${e}`),this.name="UnknownPathNibbleError"}}class je extends k{constructor(e){super(`Child index #${e} is not supported`),this.name="UnsupportedChildIndexError"}}class Me extends _{constructor(){super("Can not get node info. Node is not connected"),this.name="DisconnectedError"}}class Be extends _{constructor(e){super(`Node with name ${e} already exist`),this.name="DuplicateNodeError"}}class Re extends _{constructor(e){super(e),this.name="NodeNotFoundError"}}class De extends O{constructor(e){super(e),this.name="DecodeError"}}class Fe extends O{constructor(e){super(e),this.name="EncodeError"}}class qe extends O{constructor(e){super(e),this.name="PayloadLengthError"}}class Ve extends O{constructor(e){super(e),this.name="DryRunError"}}class $e extends O{constructor(e){super(e),this.name="IllegalBidFeeError"}}class Ue extends O{constructor(e){super(e),this.name="InvalidSignatureError"}}class He extends O{constructor(e){super(e),this.name="InvalidTxError"}}class Ke extends O{constructor(e){super(e),this.name="InvalidTxParamsError"}}class We extends O{constructor(e){super(`Default AENS pointer key is not defined for ${e} prefix`),this.name="NoDefaultAensPointerError"}}class Le extends O{constructor(e,t){super(`Encoded string have a wrong type: ${e} (expected: ${t})`),this.name="PrefixMismatchError"}}class Ge extends O{constructor(e){super(`Prefix for id-tag ${e} not found.`),this.name="PrefixNotFoundError"}}class Qe extends O{constructor(e){super(e),this.name="SchemaNotFoundError"}}class ze extends O{constructor(e){super(`Id tag for prefix ${e} not found.`),this.name="DecodeError"}}class Ye extends O{constructor(e){super(`Transaction ${e} is removed from chain`),this.name="TxNotInChainError"}}class Xe extends O{constructor(e){super(e),this.name="UnknownTxError"}}class Je extends O{constructor(e){super(e),this.name="UnsupportedABIversionError"}}class Ze extends O{constructor(e){super(e),this.name="UnsupportedVMversionError"}}class et extends N{constructor(e){super(e),this.name="AlreadyConnectedError"}}class tt extends N{constructor(e){super(e),this.name="MessageDirectionError"}}class nt extends N{constructor(e){super(e),this.name="NoWalletConnectedError"}}class rt extends N{constructor(e){super(e),this.name="RpcConnectionError"}}function at(e){return e.replace(/_./g,(e=>e[1].toUpperCase()))}function ot(e){return e.replace(/[A-Z]/g,(e=>`_${e.toLowerCase()}`))}function st(e){return e.length%2==0&&/^[0-9a-f]+$/i.test(e)}var it=T(408).Buffer;function ct(e){if(!e.isInteger())throw new U(`Unexpected not integer value: ${e.toFixed()}`);let t=e.toString(16);return t.length%2==1&&(t="0"+t),it.from(t,"hex")}function ut(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(null==e)return it.from([]);if(Number.isInteger(e)||y().isBigNumber(e)||t)return y().isBigNumber(e)||(e=new(y())(e)),ct(e);if("string"==typeof e)return it.from(e);throw new q}function dt(e,t){var n;return it.from(e,null!==(n=null!=t?t:st(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 lt=T(783),ht=T.n(lt),pt=T(343),ft=T(408).Buffer;function mt(e){return ft.from((0,pt.blake2b)(e,void 0,32))}var gt=T(408).Buffer;class yt{static serialize(e){return e}static deserialize(e){return e}}class wt extends yt{static serialize(e){return Vr(Qr(e)?kr(e):e)}static deserialize(e){return $r(e)}}class bt extends yt{static serialize(e,t){let{name:n}=t;if(+e)throw new P(`Contract deposit is not refundable, so it should be equal 0, got ${e} instead`);return Ur(0)}static deserialize(e){return Hr(e)}}const xt=1,vt=2,Tt=0,It=3e4,Ct={type:"delta",value:500},Et={type:"delta",value:10},At={type:"delta",value:10},kt=0,_t=1579e3,Ot=1e9,Nt=5e4,St={pub:"ak_11111111111111111111111111111111273Yts",amount:"100000000000000000000000000000000000"},Pt=18e4,jt=36e3,Mt=84600,Bt=Mt,Rt=1e14,Dt=.05,Ft=480,qt=31,Vt=12,$t={ak:"account_pubkey",ok:"oracle_pubkey",ct:"contract_pubkey",ch:"channel"},Ut={31:y()(3).times(Rt),30:y()(5).times(Rt),29:y()(8).times(Rt),28:y()(13).times(Rt),27:y()(21).times(Rt),26:y()(34).times(Rt),25:y()(55).times(Rt),24:y()(89).times(Rt),23:y()(144).times(Rt),22:y()(233).times(Rt),21:y()(377).times(Rt),20:y()(610).times(Rt),19:y()(987).times(Rt),18:y()(1597).times(Rt),17:y()(2584).times(Rt),16:y()(4181).times(Rt),15:y()(6765).times(Rt),14:y()(10946).times(Rt),13:y()(17711).times(Rt),12:y()(28657).times(Rt),11:y()(46368).times(Rt),10:y()(75025).times(Rt),9:y()(121393).times(Rt),8:y()(196418).times(Rt),7:y()(317811).times(Rt),6:y()(514229).times(Rt),5:y()(832040).times(Rt),4:y()(1346269).times(Rt),3:y()(2178309).times(Rt),2:y()(3524578).times(Rt),1:y()(5702887).times(Rt)},Ht={13:y()(0),12:y()(Ft),8:y()(31).times(Ft),4:y()(62).times(Ft)},Kt=11,Wt=521,Lt=570,Gt=571,Qt=572,zt=573,Yt=574,Xt=575,Jt=621,Zt=622,en=623,tn=624,nn=625,rn=626,an=(e,t,n)=>[e,t,n],on=(e,t)=>[e,t],sn={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"},cn={NO_VM:0,SOPHIA:1,SOPHIA_IMPROVEMENTS_MINERVA:3,SOPHIA_IMPROVEMENTS_FORTUNA:4,FATE:5,SOPHIA_IMPROVEMENTS_LIMA:6,FATE_2:7},un={NO_ABI:0,SOPHIA:1,FATE:3},dn={IRIS:5},ln={[dn.IRIS]:{[sn.contractCreate]:{vmVersion:[cn.FATE_2],abiVersion:[un.FATE]},[sn.contractCall]:{vmVersion:[cn.FATE_2,cn.FATE,cn.SOPHIA_IMPROVEMENTS_LIMA,cn.SOPHIA_IMPROVEMENTS_FORTUNA,cn.SOPHIA,cn.SOPHIA_IMPROVEMENTS_MINERVA],abiVersion:[un.FATE,un.SOPHIA]},[sn.oracleRegister]:{vmVersion:[],abiVersion:[un.NO_ABI,un.SOPHIA]}}},hn={10:sn.account,[Kt]:sn.signed,12:sn.spend,32:sn.nameClaim,33:sn.namePreClaim,34:sn.nameUpdate,35:sn.nameRevoke,36:sn.nameTransfer,40:sn.contract,42:sn.contractCreate,43:sn.contractCall,41:sn.contractCallResult,22:sn.oracleRegister,25:sn.oracleExtend,23:sn.oracleQuery,24:sn.oracleResponse,50:sn.channelCreate,53:sn.channelCloseMutual,54:sn.channelCloseSolo,55:sn.channelSlash,[Wt]:sn.channelForceProgress,51:sn.channelDeposit,52:sn.channelWithdraw,56:sn.channelSettle,57:sn.channelOffChain,58:sn.channel,59:sn.channelSnapshotSolo,[Lt]:sn.channelOffChainUpdateTransfer,[Gt]:sn.channelOffChainUpdateDeposit,[Qt]:sn.channelOffChainUpdateWithdrawal,[zt]:sn.channelOffChainCreateContract,[Yt]:sn.channelOffChainCallContract,[Xt]:sn.channelReconnect,60:sn.proofOfInclusion,62:sn.stateTrees,63:sn.merklePatriciaTree,64:sn.merklePatriciaTreeValue,[Jt]:sn.contractsTree,[Zt]:sn.contractCallsTree,[en]:sn.channelsTree,[tn]:sn.nameserviceTree,[nn]:sn.oraclesTree,[rn]:sn.accountsTree,80:sn.gaAttach,81:sn.gaMeta,82:sn.payingFor,70:sn.sophiaByteCode},pn={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"},fn=15e3,mn=20,gn=2e4,yn=3,wn=e=>{const t={[sn.channelForceProgress]:30,[sn.channelOffChain]:0,[sn.channelOffChainCallContract]:0,[sn.channelOffChainCreateContract]:0,[sn.channelOffChainUpdateDeposit]:0,[sn.channelOffChainUpdateWithdrawal]:0,[sn.channelOffChainUpdateTransfer]:0,[sn.contractCreate]:5,[sn.contractCall]:12,[sn.gaAttach]:5,[sn.gaMeta]:5,[sn.payingFor]:.2}[e]||1;return new(y())(t*fn)},bn=(e,t,n)=>{let{relativeTtl:r,innerTxSize:a}=n;switch(e){case sn.oracleRegister:case sn.oracleExtend:case sn.oracleQuery:case sn.oracleResponse:return new(y())(t).times(mn).plus(Math.ceil(32e3*r/Math.floor(525600/yn)));case sn.gaMeta:case sn.payingFor:return new(y())(t).minus(a).times(mn);default:return new(y())(t).times(mn)}},xn={account:1,name:2,commitment:3,oracle:4,contract:5,channel:6},vn={ak:xn.account,nm:xn.name,cm:xn.commitment,ok:xn.oracle,ct:xn.contract,ch:xn.channel},Tn=(In=vn,Object.entries(In).reduce(((e,t)=>{let[n,r]=t;return(e[r]=n)&&e}),{}));var In;const Cn=[an("tag",pn.int),an("VSN",pn.int)],En=[...Cn,an("sourceCodeHash",pn.rawBinary),an("typeInfo",pn.sophiaCodeTypeInfo),an("byteCode",pn.rawBinary),an("compilerVersion",pn.string),an("payable",pn.bool)],An=[...Cn,an("flags",pn.int),an("nonce",pn.int),an("balance",pn.int),an("gaContract",pn.id,["ct","nm"]),an("gaAuthFun",pn.binary,"cb")],kn=[...Cn,an("senderId",pn.id,"ak"),an("recipientId",pn.id,["ak","nm"]),an("amount",pn.amount),an("fee",pn.int),an("ttl",pn.int),an("nonce",pn.int),an("payload",pn.payload)],_n=[...Cn,an("signatures",pn.signatures),an("encodedTx",pn.rlpBinary)],On=[...Cn,an("accountId",pn.id,"ak"),an("nonce",pn.int),an("commitmentId",pn.id,"cm"),an("fee",pn.int),an("ttl",pn.int)],Nn=[...Cn,an("accountId",pn.id,"ak"),an("nonce",pn.int),an("name",class extends yt{static serialize(e){return Gr(e),gt.from(e)}static deserialize(e){return e.toString()}}),an("nameSalt",pn.int),an("nameFee",class extends yt{static serialize(e,t){var n;let{name:r}=t;const a=Yr(r);if(null!==(n=e)&&void 0!==n||(e=a),a.gt(e))throw new X(e,a);return Ur(e)}static deserialize(e){return Hr(e)}}),an("fee",pn.int),an("ttl",pn.int)],Sn=[...Cn,an("accountId",pn.id,"ak"),an("nonce",pn.int),an("nameId",wt),an("nameTtl",pn.int),an("pointers",pn.pointers),an("clientTtl",pn.int),an("fee",pn.int),an("ttl",pn.int)],Pn=[...Cn,an("accountId",pn.id,"ak"),an("nonce",pn.int),an("nameId",wt),an("recipientId",pn.id,["ak","nm"]),an("fee",pn.int),an("ttl",pn.int)],jn=[...Cn,an("accountId",pn.id,"ak"),an("nonce",pn.int),an("nameId",wt),an("fee",pn.int),an("ttl",pn.int)],Mn=[...Cn,an("owner",pn.id,"ak"),an("ctVersion",pn.int),an("code",pn.binary,"cb"),an("log",pn.binary,"cb"),an("active",pn.bool),an("referers",pn.ids,"ak"),an("deposit",bt)],Bn=[...Cn,an("ownerId",pn.id,"ak"),an("nonce",pn.int),an("code",pn.binary,"cb"),an("authFun",pn.rawBinary),an("ctVersion",pn.ctVersion),an("fee",pn.int),an("ttl",pn.int),an("gas",pn.int),an("gasPrice",pn.int),an("callData",pn.binary,"cb")],Rn=[...Cn,an("gaId",pn.id,"ak"),an("authData",pn.binary,"cb"),an("abiVersion",pn.int),an("fee",pn.int),an("gas",pn.int),an("gasPrice",pn.int),an("tx",pn.rlpBinary)],Dn=[...Cn,an("payerId",pn.id,"ak"),an("nonce",pn.int),an("fee",pn.int),an("tx",pn.rlpBinary)],Fn=[...Cn,an("ownerId",pn.id,"ak"),an("nonce",pn.int),an("code",pn.binary,"cb"),an("ctVersion",pn.ctVersion),an("fee",pn.int),an("ttl",pn.int),an("deposit",bt),an("amount",pn.amount),an("gas",pn.int),an("gasPrice",pn.int),an("callData",pn.binary,"cb")],qn=[...Cn,an("callerId",pn.id,"ak"),an("nonce",pn.int),an("contractId",pn.id,["ct","nm"]),an("abiVersion",pn.int),an("fee",pn.int),an("ttl",pn.int),an("amount",pn.amount),an("gas",pn.int),an("gasPrice",pn.int),an("callData",pn.binary,"cb")],Vn=[...Cn,an("callerId",pn.id,"ak"),an("callerNonce",pn.int),an("height",pn.int),an("contractId",pn.id,"ct"),an("gasPrice",pn.int),an("gasUsed",pn.int),an("returnValue",pn.binary,"cb"),an("returnType",pn.callReturnType),an("log",pn.rawBinary)],$n=[...Cn,an("accountId",pn.id,"ak"),an("nonce",pn.int),an("queryFormat",pn.string),an("responseFormat",pn.string),an("queryFee",pn.amount),an("oracleTtlType",pn.int),an("oracleTtlValue",pn.int),an("fee",pn.int),an("ttl",pn.int),an("abiVersion",pn.int)],Un=[...Cn,an("oracleId",pn.id,["ok","nm"]),an("nonce",pn.int),an("oracleTtlType",pn.int),an("oracleTtlValue",pn.int),an("fee",pn.int),an("ttl",pn.int)],Hn=[...Cn,an("senderId",pn.id,"ak"),an("nonce",pn.int),an("oracleId",pn.id,["ok","nm"]),an("query",pn.string),an("queryFee",pn.amount),an("queryTtlType",pn.int),an("queryTtlValue",pn.int),an("responseTtlType",pn.int),an("responseTtlValue",pn.int),an("fee",pn.int),an("ttl",pn.int)],Kn=[...Cn,an("oracleId",pn.id,"ok"),an("nonce",pn.int),an("queryId",pn.binary,"oq"),an("response",pn.string),an("responseTtlType",pn.int),an("responseTtlValue",pn.int),an("fee",pn.int),an("ttl",pn.int)],Wn=[...Cn,an("initiator",pn.id,"ak"),an("initiatorAmount",pn.int),an("responder",pn.id,"ak"),an("responderAmount",pn.int),an("channelReserve",pn.int),an("lockPeriod",pn.int),an("ttl",pn.int),an("fee",pn.int),an("initiatorDelegateIds",pn.string),an("responderDelegateIds",pn.string),an("stateHash",pn.binary,"st"),an("nonce",pn.int)],Ln=[...Cn,an("channelId",pn.id,"ch"),an("fromId",pn.id,"ak"),an("amount",pn.int),an("ttl",pn.int),an("fee",pn.int),an("stateHash",pn.binary,"st"),an("round",pn.int),an("nonce",pn.int)],Gn=[...Cn,an("channelId",pn.id,"ch"),an("toId",pn.id,"ak"),an("amount",pn.int),an("ttl",pn.int),an("fee",pn.int),an("stateHash",pn.binary,"st"),an("round",pn.int),an("nonce",pn.int)],Qn=[...Cn,an("channelId",pn.id,"ch"),an("fromId",pn.id,"ak"),an("initiatorAmountFinal",pn.int),an("responderAmountFinal",pn.int),an("ttl",pn.int),an("fee",pn.int),an("nonce",pn.int)],zn=[...Cn,an("channelId",pn.id,"ch"),an("fromId",pn.id,"ak"),an("payload",pn.binary,"tx"),an("poi",pn.binary,"pi"),an("ttl",pn.int),an("fee",pn.int),an("nonce",pn.int)],Yn=[...Cn,an("channelId",pn.id,"ch"),an("fromId",pn.id,"ak"),an("payload",pn.binary,"tx"),an("poi",pn.binary,"pi"),an("ttl",pn.int),an("fee",pn.int),an("nonce",pn.int)],Xn=[...Cn,an("channelId",pn.id,"ch"),an("fromId",pn.id,"ak"),an("initiatorAmountFinal",pn.int),an("responderAmountFinal",pn.int),an("ttl",pn.int),an("fee",pn.int),an("nonce",pn.int)],Jn=[...Cn,an("channelId",pn.id,"ch"),an("fromId",pn.id,"ak"),an("payload",pn.binary,"tx"),an("round",pn.int),an("update",pn.binary,"cb"),an("stateHash",pn.binary,"st"),an("offChainTrees",pn.stateTree),an("ttl",pn.int),an("fee",pn.int),an("nonce",pn.int)],Zn=[...Cn,an("channelId",pn.id,"ch"),an("round",pn.int),an("stateHash",pn.binary,"st")],er=[...Cn,an("initiator",pn.id,"ak"),an("responder",pn.id,"ak"),an("channelAmount",pn.int),an("initiatorAmount",pn.int),an("responderAmount",pn.int),an("channelReserve",pn.int),an("initiatorDelegateIds",pn.ids),an("responderDelegateIds",pn.ids),an("stateHash",pn.hex),an("round",pn.int),an("soloRound",pn.int),an("lockPeriod",pn.int),an("lockedUntil",pn.int),an("initiatorAuth",pn.binary,"cb"),an("responderAuth",pn.binary,"cb")],tr=[...Cn,an("channelId",pn.id,"ch"),an("fromId",pn.id,"ak"),an("payload",pn.binary,"tx"),an("ttl",pn.int),an("fee",pn.int),an("nonce",pn.int)],nr=[...Cn,an("owner",pn.id,"ak"),an("ctVersion",pn.int),an("code",pn.binary,"cb"),an("deposit",pn.int),an("callData",pn.binary,"cb")],rr=[...Cn,an("caller",pn.id,"ak"),an("contract",pn.id,"ct"),an("abiVersion",pn.int),an("amount",pn.int),an("callData",pn.binary,"cb"),an("callStack",pn.callStack),an("gasPrice",pn.int),an("gasLimit",pn.int)],ar=[...Cn,an("channelId",pn.id,"ch"),an("round",pn.int),an("role",pn.string),an("pubkey",pn.id,"ak")],or=[...Cn,an("from",pn.id,"ak"),an("to",pn.id,"ak"),an("amount",pn.int)],sr=[...Cn,an("from",pn.id,"ak"),an("amount",pn.int)],ir=[...Cn,an("from",pn.id,"ak"),an("amount",pn.int)],cr=[...Cn,an("accounts",pn.mptrees),an("calls",pn.mptrees),an("channels",pn.mptrees),an("contracts",pn.mptrees),an("ns",pn.mptrees),an("oracles",pn.mptrees)],ur=[...Cn,an("contracts",pn.rlpBinary),an("calls",pn.rlpBinary),an("channels",pn.rlpBinary),an("ns",pn.rlpBinary),an("oracles",pn.rlpBinary),an("accounts",pn.rlpBinary)],dr=[...Cn,an("values",pn.rlpBinaries)],lr=[...Cn,an("key",pn.hex),an("value",pn.rawBinary)],hr=[...Cn,an("contracts",pn.rlpBinary)],pr=[...Cn,an("calls",pn.rlpBinary)],fr=[...Cn,an("channels",pn.rlpBinary)],mr=[...Cn,an("mtree",pn.rlpBinary)],gr=[...Cn,an("otree",pn.rlpBinary)],yr=[...Cn,an("accounts",pn.rlpBinary)],wr={[sn.account]:{2:on(An,10)},[sn.signed]:{1:on(_n,Kt)},[sn.spend]:{1:on(kn,12)},[sn.namePreClaim]:{1:on(On,33)},[sn.nameClaim]:{2:on(Nn,32)},[sn.nameUpdate]:{1:on(Sn,34)},[sn.nameTransfer]:{1:on(Pn,36)},[sn.nameRevoke]:{1:on(jn,35)},[sn.contract]:{1:on(Mn,40)},[sn.contractCreate]:{1:on(Fn,42)},[sn.contractCall]:{1:on(qn,43)},[sn.contractCallResult]:{1:on(Vn,41)},[sn.oracleRegister]:{1:on($n,22)},[sn.oracleExtend]:{1:on(Un,25)},[sn.oracleQuery]:{1:on(Hn,23)},[sn.oracleResponse]:{1:on(Kn,24)},[sn.channelCreate]:{2:on(Wn,50)},[sn.channelCloseMutual]:{1:on(Qn,53)},[sn.channelCloseSolo]:{1:on(zn,54)},[sn.channelSlash]:{1:on(Yn,55)},[sn.channelDeposit]:{1:on(Ln,51)},[sn.channelWithdraw]:{1:on(Gn,52)},[sn.channelSettle]:{1:on(Xn,56)},[sn.channelForceProgress]:{1:on(Jn,Wt)},[sn.channelOffChain]:{2:on(Zn,57)},[sn.channel]:{3:on(er,58)},[sn.channelSnapshotSolo]:{1:on(tr,59)},[sn.channelOffChainUpdateTransfer]:{1:on(or,Lt)},[sn.channelOffChainUpdateDeposit]:{1:on(sr,Gt)},[sn.channelOffChainUpdateWithdrawal]:{1:on(ir,Qt)},[sn.channelOffChainCreateContract]:{1:on(nr,zt)},[sn.channelOffChainCallContract]:{1:on(rr,Yt)},[sn.channelReconnect]:{1:on(ar,Xt)},[sn.proofOfInclusion]:{1:on(cr,60)},[sn.stateTrees]:{1:on(ur,62)},[sn.merklePatriciaTree]:{1:on(dr,63)},[sn.merklePatriciaTreeValue]:{1:on(lr,64)},[sn.contractsTree]:{1:on(hr,Jt)},[sn.contractCallsTree]:{1:on(pr,Zt)},[sn.channelsTree]:{1:on(fr,en)},[sn.nameserviceTree]:{1:on(mr,tn)},[sn.oraclesTree]:{1:on(gr,nn)},[sn.accountsTree]:{1:on(yr,rn)},[sn.gaAttach]:{1:on(Bn,80)},[sn.gaMeta]:{2:on(Rn,81)},[sn.payingFor]:{1:on(Dn,82)}},br={10:{2:on(An,10)},[Kt]:{1:on(_n,Kt)},12:{1:on(kn,12)},33:{1:on(On,33)},32:{2:on(Nn,32)},34:{1:on(Sn,34)},36:{1:on(Pn,36)},35:{1:on(jn,35)},40:{1:on(Mn,40)},42:{1:on(Fn,42)},43:{1:on(qn,43)},41:{1:on(Vn,41)},22:{1:on($n,22)},25:{1:on(Un,25)},23:{1:on(Hn,23)},24:{1:on(Kn,24)},50:{2:on(Wn,50)},53:{1:on(Qn,53)},54:{1:on(zn,54)},55:{1:on(Yn,55)},51:{1:on(Ln,51)},52:{1:on(Gn,52)},56:{1:on(Xn,56)},57:{2:on(Zn,57)},58:{3:on(er,58)},59:{1:on(tr,59)},[Lt]:{1:on(or,Lt)},[Gt]:{1:on(sr,Gt)},[Qt]:{1:on(ir,Qt)},[zt]:{1:on(nr,zt)},[Yt]:{1:on(rr,Yt)},[Xt]:{1:on(ar,Xt)},60:{1:on(cr,60)},62:{1:on(ur,62)},63:{1:on(dr,63)},64:{1:on(lr,64)},[Jt]:{1:on(hr,Jt)},[Zt]:{1:on(pr,Zt)},[en]:{1:on(fr,en)},[tn]:{1:on(mr,tn)},[nn]:{1:on(gr,nn)},[rn]:{1:on(yr,rn)},80:{1:on(Bn,80)},81:{2:on(Rn,81)},82:{1:on(Dn,82)},[Wt]:{1:on(Jn,Wt)},70:{3:on(En,70)}},xr=e=>["number","object","string","bigint"].includes(typeof e)&&(!isNaN(e)||Number.isInteger(e)||y().isBigNumber(e)),vr=e=>e.integerValue(y().ROUND_CEIL);var Tr=T(408).Buffer;const Ir=oa;function Cr(e,t){return qr(mt(Tr.from([...Fr(e,"ak"),...ut(t)])),"ct")}function Er(e,t,n){return qr(mt(Tr.from([...Fr(e,"ak"),...function(e){const t=ut(e,!0);return Tr.concat([Tr.alloc(32-t.length),t])}(t),...Fr(n,"ok")])),"oq")}function Ar(e){return Tr.from(e.toString(16).padStart(64,"0"),"hex")}function kr(e){return Gr(e),qr(mt(e.toLowerCase()),"nm")}function _r(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ir();return Gr(e),qr(mt(Tr.concat([Tr.from(e.toLowerCase()),Ar(t)])),"cm")}const Or=["ba","cb","or","ov","pi","ss","cs","ck","cv","st","tx"],Nr=["ak","bf","bs","bx","ch","cm","ct","kh","mh","nm","ok","oq","pp","sg","th"],Sr={ak:32,ct:32,ok:32};function Pr(e,t){if(Sr[t]&&e.length!==Sr[t])throw new qe(`Payload should be ${Sr[t]} bytes, got ${e.length} instead`)}const jr=e=>aa(aa(e)).slice(0,4),Mr=e=>{const t=Tr.from(e);return Tr.concat([t,jr(t)])};function Br(e){const t=e.slice(0,-4);if(!jr(t).equals(e.slice(-4)))throw new Ie;return t}const Rr={encode:e=>Mr(e).toString("base64"),decode:e=>Br(Tr.from(e,"base64"))},Dr={encode:e=>ht().encode(Mr(e)),decode:e=>Br(ht().decode(e))};function Fr(e,t){if("string"!=typeof e)throw new De(`Encoded should be a string, got ${e} instead`);const[n,r,a]=e.split("_");if(!r)throw new De(`Encoded string missing payload: ${e}`);if(a)throw new De(`Encoded string have extra parts: ${e}`);if(t&&t!==n)throw new Le(n,t);const o=Or.includes(n)&&Rr.decode||Nr.includes(n)&&Dr.decode;if(!o)throw new De(`Encoded string have unknown type: ${n}`);const s=o(r);return Pr(s,n),s}function qr(e,t){const n=Or.includes(t)&&Rr.encode||Nr.includes(t)&&Dr.encode;if(!n)throw new Fe(`Unknown type: ${t}`);return Pr(e,t),`${t}_${n(e)}`}function Vr(e){if("string"!=typeof e)throw new S("hashId","a string",e);const t=e.slice(0,2),n=vn[t];if(!n)throw new ze(t);return Tr.from([...ut(n),...Fr(e,t)])}function $r(e){const t=Tr.from(e).readUIntBE(0,1),n=Tn[t];if(!n)throw new Ge(t);return qr(e.slice(1,e.length),n)}function Ur(e){return ut(e,!0)}function Hr(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Tr.from([]);return new(y())(Tr.from(e).toString("hex"),16).toString(10)}function Kr(e){return e.map((e=>[ut(e.key),Vr(e.id)]))}function Wr(e){return e.map((e=>{let[t,n]=e;return Object.assign({key:t.toString(),id:$r(n)})}))}const Lr=".chain";function Gr(e){if(!e||"string"!=typeof e)throw new R("Name must be a string");if(!e.endsWith(Lr))throw new R(`Name should end with .chain: ${e}`)}function Qr(e){try{return Gr(e),!0}catch(e){return!1}}function zr(e){Fr(e);const t=e.substr(0,2);return $t[t]||(()=>{throw new We(t)})()}function Yr(e){Gr(e);const t=e.length-Lr.length;return Ut[Math.min(t,qt)]}function Xr(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Dt;if(Number(n)!==n||n%1==0)throw new $e(`Increment must be float. Current increment ${n}`);if(n<Dt)throw new $e(`minimum increment percentage is ${Dt}`);return vr(y()(null!=t?t:Yr(e)).times(y()(Dt).plus(1)))}function Jr(e,t){Gr(e);const n=e.length-Lr.length;return(n<=4&&Ht[4]||n<=8&&Ht[8]||n<=12&&Ht[12]||Ht[13]).plus(t).toString(10)}function Zr(e){return Gr(e),e.length<13+Lr.length}var ea=T(408).Buffer;const ta=p().ModeOfOperation.ecb;function na(e){const t=l().sign.keyPair.fromSecretKey(dt(e));return qr(ea.from(t.publicKey),"ak")}function ra(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ak";try{return Fr(e,t),!0}catch(e){return!1}}function aa(e){return m()("sha256").update(e).digest()}function oa(){return Math.floor(Math.random()*Math.floor(Number.MAX_SAFE_INTEGER))}function sa(e){const t=ea.allocUnsafe(4);return t.writeUInt32BE(e),t.slice(t.findIndex((e=>0!==e)))}function ia(e,t){const n=Fr(e,"ak");return qr(mt(ea.concat([n,sa(t)])),"ct")}function ca(e){return l().sign.keyPair.fromSecretKey(e)}function ua(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const t=l().sign.keyPair(),n=ea.from(t.publicKey),r=ea.from(t.secretKey);return e?{publicKey:n,secretKey:r}:{publicKey:qr(n,"ak"),secretKey:r.toString("hex")}}function da(e,t){const n=aa(e);return new ta(n).encrypt(t)}function la(e,t){const n=ea.from(t),r=aa(e),a=new ta(r);return ea.from(a.decrypt(n))}function ha(e,t){return l().sign.detached(ea.from(e),ea.from(t))}function pa(e,t,n){return l().sign.detached.verify(new Uint8Array(e),t,n)}function fa(e){const t=ea.from("aeternity Signed Message:\n","utf8"),n=ea.from(e,"utf8");if(n.length>=253)throw new W("Message too long");return mt(ea.concat([ea.from([t.length]),t,ea.from([n.length]),n]))}function ma(e,t){return ha(fa(e),t)}function ga(e,t,n){return pa(fa(e),t,n)}function ya(e,t){const n=ea.from("TheMessage");return pa(n,ha(n,e),t)}var wa=T(983),ba=T(289),xa=T(408).Buffer;const va={crypto:{secret_type:"ed25519",symmetric_alg:"xsalsa20-poly1305",kdf:"argon2id",kdf_params:{memlimit_kib:65536,opslimit:3,parallelism:1}}},Ta={argon2id:Ia};async function Ia(e,t,n){const{memlimit_kib:r,opslimit:a}=n.kdf_params,o=(await(0,ba.hash)({hashLen:32,pass:e,salt:t,time:a,mem:r,type:ba.ArgonType.Argon2id})).hash;return xa.from(o)}const Ca={"xsalsa20-poly1305":{encrypt:function(e){let{plaintext:t,key:n,nonce:r}=e;return l().secretbox(t,r,n)},decrypt:function(e){let{ciphertext:t,key:n,nonce:r}=e;const a=l().secretbox.open(t,r,n);if(!a)throw new Ae("Invalid password or nonce");return a}}};function Ea(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:va.crypto.symmetric_alg;if(!Ca[r])throw new Oe(r);return Ca[r].encrypt({plaintext:e,nonce:n,key:t})}async function Aa(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{kdf_params:va.crypto.kdf_params,kdf:va.crypto.kdf};if(!t)throw new S("nonce","provided",t);if(null==e)throw new S("password","provided",e);if(!Object.prototype.hasOwnProperty.call(Ta,n.kdf))throw new Oe(n.kdf);return Ta[n.kdf](e,t,n)}function ka(e,t,n,r,a){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};const s=Object.assign({},va.crypto,o);return Object.assign({name:e,version:1,public_key:_a(n),id:(0,wa.v4)()},{crypto:Object.assign({secret_type:s.secret_type,symmetric_alg:s.symmetric_alg,ciphertext:xa.from(Ea(xa.from(n),t,r,s.symmetric_alg)).toString("hex"),cipher_params:{nonce:xa.from(r).toString("hex")}},{kdf:s.kdf,kdf_params:{...s.kdf_params,salt:xa.from(a).toString("hex")}})})}function _a(e){const t=l().sign.keyPair.fromSecretKey(dt(e));return qr(xa.from(t.publicKey),"ak")}async function Oa(e,t){Sa(t);const n=Uint8Array.from(dt(t.crypto.cipher_params.nonce)),r=Uint8Array.from(dt(t.crypto.kdf_params.salt)),a=t.crypto.kdf_params,o=t.crypto.kdf,s=await function(e,t,n,r){if(!Ca[r])throw new Oe(r);return Ca[r].decrypt({ciphertext:e,nonce:n,key:t})}(Uint8Array.from(dt(t.crypto.ciphertext)),await Aa(e,r,{kdf:o,kdf_params:a}),n,t.crypto.symmetric_alg);if(!s)throw new Ae("Invalid password");return 64===xa.from(s).length?xa.from(s).toString("hex"):xa.from(s).toString("utf-8")}async function Na(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:l().randomBytes(24),a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:l().randomBytes(16),o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};const s=Object.assign({},va.crypto,o);return ka(e,await Aa(t,a,s),"string"==typeof n?xa.from(n,"hex"):n,r,a,s)}function Sa(e){const t=["crypto","id","version","public_key"].filter((t=>!Object.prototype.hasOwnProperty.call(e,t)));if(t.length)throw new Ee(`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 Ee(`Invalid key file format. Require properties: ${n}`);return!0}var Pa=T(485);const ja={AE:"ae",MILI_AE:"miliAE",MICRO_AE:"microAE",NANO_AE:"nanoAE",PICO_AE:"picoAE",FEMTO_AE:"femtoAE",AETTOS:"aettos"},Ma={[ja.AE]:0,[ja.MILI_AE]:-3,[ja.MICRO_AE]:-6,[ja.NANO_AE]:-9,[ja.PICO_AE]:-12,[ja.FEMTO_AE]:-15,[ja.AETTOS]:-18},Ba=function(e){let{denomination:t=ja.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Da(e,{denomination:t,targetDenomination:ja.AE})},Ra=function(e){let{denomination:t=ja.AE}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Da(e,{denomination:t})},Da=function(e){let{denomination:t=ja.AETTOS,targetDenomination:n=ja.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=Object.values(ja);if(!r.includes(t))throw new B(`Invalid denomination: ${t}`);if(!r.includes(n))throw new B(`Invalid target denomination: ${n}`);if(!xr(e))throw new S("value","a number",e);return new(y())(e).shiftedBy(Ma[t]-Ma[n]).toFixed()},Fa=[{name:"exa",magnitude:18},{name:"giga",magnitude:9},{name:"",magnitude:0},{name:"pico",magnitude:-12}],qa=e=>Fa.reduce(((t,n)=>Math.abs(n.magnitude-e)<Math.abs(t.magnitude-e)?n:t)),Va=e=>{var t;return null!==(t=Fa.find((t=>t.magnitude<=e)))&&void 0!==t?t:Fa[Fa.length-1]};var $a,Ua=e=>{var t;const n=new(y())(e),r=null!==(t=n.e)&&void 0!==t?t:0,{name:a,magnitude:o}=(r<0?qa:Va)(r);return`${n.shiftedBy(-o).precision(9+Math.min(r-o,0)).toFixed()}${""!==a?" ":""}${a}`},Ha=T(408).Buffer;!function(e){e[e.Branch=0]="Branch",e[e.Extension=1]="Extension",e[e.Leaf=2]="Leaf"}($a||($a={}));class Ka{static nodeHash(e){return Ha.from(mt((0,Pa.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 _e("Can't find a node by root hash");Object.entries(this.nodes).forEach((e=>{let[t,n]=e;if(Ka.nodeHash(n)!==t)throw new ke;const{type:r,payload:a}=Ka.parseNode(n);switch(r){case $a.Branch:a.slice(0,16).filter((e=>e.length)).forEach((e=>{if(void 0===this.nodes[e.toString("hex")])throw new _e("Can't find a node by hash in branch node")}));break;case $a.Extension:if(void 0===this.nodes[a[0].toString("hex")])throw new _e("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:$a.Branch,payload:e,path:null};case 2:{const t=e[0].toString("hex"),n=parseInt(t[0],16);if(n>3)throw new Pe(n);const r=n<=1?$a.Extension:$a.Leaf,a=[0,2].includes(n)?2:1;return{type:r,payload:[e[1]],path:t.slice(a)}}default:throw new Se(e.length)}}serialize(){return[Ha.from(this.rootHash,"hex"),Object.entries(this.nodes).map((e=>{let[t,n]=e;return[Ha.from(t,"hex"),n]}))]}get(e){let t=this.rootHash;for(;;){const{type:n,payload:r,path:a}=Ka.parseNode(this.nodes[t]);switch(n){case $a.Branch:if(0===e.length)return r[16];t=r[parseInt(e[0],16)].toString("hex"),e=e.substr(1);break;case $a.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 $a.Leaf:if(a!==e)return;return r[0]}}}}var Wa=T(408).Buffer;const La="delta";function Ga(e,t,n){if(!e)return"";switch(t){case pn.ctVersion:{const[t,,n]=e;return{vmVersion:Hr(Wa.from([t])),abiVersion:Hr(Wa.from([n]))}}case pn.amount:case pn.int:return Hr(e);case pn.id:return $r(e);case pn.ids:return e.map($r);case pn.bool:return 1===e[0];case pn.binary:return qr(e,n);case pn.stateTree:return qr(e,"ss");case pn.string:return e.toString();case pn.payload:return qr(e,"ba");case pn.pointers:return Wr(e);case pn.rlpBinary:return so(e,!0);case pn.rlpBinaries:return e.map((e=>so(e,!0)));case pn.rawBinary:return e;case pn.hex:return e.toString("hex");case pn.offChainUpdates:return e.map((e=>so(e,!0)));case pn.callStack:return[Hr(e)];case pn.mptrees:return e.map((e=>new Ka(e)));case pn.callReturnType:switch(Hr(e)){case"0":return"ok";case"1":return"error";case"2":return"revert";default:return e}case pn.sophiaCodeTypeInfo:return e.reduce(((e,t)=>{let[n,r,a,o]=t;return{...e,[r.toString()]:{funHash:n,argType:a,outType:o}}}),{});default:return t.prototype instanceof yt?t.deserialize(e):e}}function Qa(e,t,n,r){var a;switch(t){case pn.amount:case pn.int:return Ur(e);case pn.id:return Vr(e);case pn.ids:return e.map(Vr);case pn.bool:return Wa.from([e?1:0]);case pn.binary:return Fr(e,n);case pn.stateTree:return Fr(e,"ss");case pn.hex:return Wa.from(e,"hex");case pn.signatures:return e.map(Wa.from);case pn.payload:return"string"==typeof e&&"ba"===e.split("_")[0]?Fr(e,"ba"):ut(e);case pn.string:return ut(e);case pn.pointers:return Kr(e);case pn.rlpBinary:return null!==(a=e.rlpEncoded)&&void 0!==a?a:e;case pn.mptrees:return e.map((e=>e.serialize()));case pn.ctVersion:return Wa.from([...ut(e.vmVersion),0,...ut(e.abiVersion)]);case pn.callReturnType:switch(e){case"ok":return Ur(0);case"error":return Ur(1);case"revert":return Ur(2);default:return e}default:return t.prototype instanceof yt?t.serialize(e,r):e}}function za(e,t,n){if(null==e)return"Field is required";switch(t){case pn.amount:case pn.int:return isNaN(e)&&!y().isBigNumber(e)?`${e} is not of type Number or BigNumber`:new(y())(e).lt(0)?`${e} must be >= 0`:void 0;case pn.id:return(Array.isArray(n)?n:[n]).includes(e.split("_")[0])?void 0:`'${e}' prefix doesn't match expected prefix '${n}'`;case pn.ctVersion:return null!=e&&e.abiVersion&&null!=e&&e.vmVersion?void 0:'Value must be an object with "vmVersion" and "abiVersion" fields';case pn.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 Ya(e,t){let{denomination:n}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e=t.filter((e=>{let[t,n]=e;return n===pn.amount})).reduce(((t,r)=>{let[a]=r;return{...e,[a]:Da(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===La?0:1,e[`${n}Value`]=a.value),e}),{})}function Xa(e,t){const n={[sn.oracleRegister]:"oracleTtl",[sn.oracleExtend]:"oracleTtl",[sn.oracleQuery]:"queryTtl",[sn.oracleResponse]:"responseTtl"}[t];return e[n]||e[`${n}Value`]?e[`${n}Value`]||e[n].value:1}function Ja(e,t){let{gas:n=0,params:r,vsn:a}=t;const o=y()(1e9);if(!r)return y()(gn).times(o).toString(10);let s=Za(e,{params:{...r,fee:0},multiplier:o,gas:n,vsn:a}),i=y()(0);for(;!s.eq(i);)s=Za(e,{params:{...r,fee:s},multiplier:o,gas:n,vsn:a}),i=s;return i.toString(10)}function Za(e,t){let{params:n,gas:r=0,multiplier:a,vsn:o}=t;const{rlpEncoded:s}=oo({...n},e,{vsn:o}),i=s.length;return wn(e).plus(bn(e,i,{relativeTtl:Xa(n,e),innerTxSize:[sn.gaMeta,sn.payingFor].includes(e)?n.tx.tx.encodedTx.rlpEncoded.length:0})).times(a)}function eo(){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:o}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return!r&&a&&console.warn(`Can't build transaction fee, we will use DEFAULT_FEE(${gn})`),e||Ja(t,{params:r,gas:n,vsn:o})}function to(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,za(e[n],r,a)]})).filter((e=>{let[,t]=e;return t})))}function no(e,t){let{excludeKeys:n=[],denomination:r=ja.AETTOS}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const a=t.filter((e=>{let[t]=e;return!n.includes(t)})),o=to(e=Ya(e,a,{denomination:r}),t,{excludeKeys:n});if(Object.keys(o).length)throw new Ke("Transaction build error. "+JSON.stringify(o));return a.map((t=>{let[n,r,a]=t;return Qa(e[n],r,a,e)}))}function ro(e,t){return t.reduce(((t,n,r)=>{let[a,o,s]=n;return Object.assign(t,{[a]:Ga(e[r],o,s)})}),{})}const ao=e=>{let{vsn:t,objId:n,type:r}=e;const a=!!n,o=a?n:r,s=a?br:wr;if(!s[o])throw new Qe(`Transaction ${a?"deserialization":"serialization"} not implemented for ${a?"tag "+n:r}`);if(!s[o][t])throw new Qe(`Transaction ${a?"deserialization":"serialization"} not implemented for ${a?"tag "+n:r} version ${t}`);return s[o][t]};function oo(e,t){let{excludeKeys:n=[],prefix:r="tx",vsn:a=xt,denomination:o=ja.AETTOS}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const[s,i]=ao({type:t,vsn:a}),c=no({...e,VSN:a,tag:i},s,{excludeKeys:n,denomination:e.denomination||o}).filter((e=>void 0!==e)),u=(0,Pa.encode)(c),d=qr(u,r);return{tx:d,rlpEncoded:u,binary:c,txObject:ro(c,s)}}function so(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:Fr(e,n),a=(0,Pa.decode)(r),o=Hr(a[0]),s=Hr(a[1]),[i]=ao({objId:o,vsn:s});return{txType:hn[o],tx:ro(a,i),rlpEncoded:r,binary:a}}function io(e){return qr(mt("string"==typeof e&&e.startsWith("tx_")?Fr(e,"tx"):e),"th")}var co={calculateMinFee:Ja,calculateFee:eo,unpackTx:so,unpackRawTx:ro,buildTx:oo,buildRawTx:no,validateParams:to,buildTxHash:io},uo=T(882),lo=T(986),ho=T(408).Buffer;const po=ho.from("ed25519 seed"),fo=2147483648,mo=e=>ho.from(e).toString("hex");function go(e,t){const n=""===e?[]:(0,lo.fromString)(e).toPathArray();return n.forEach(((e,t)=>{if(e<fo)throw new Ne(`Segment #${t+1} is not hardened`)})),n.reduce(((e,t)=>vo(e,t)),t)}function yo(e,t){if(!["m","m/"].includes(e.slice(0,2)))throw new Ce;const n=xo(t);return go(e.slice(2),n)}function wo(e){const{secretKey:t,publicKey:n}=e;return{secretKey:mo(t),publicKey:qr(n,"ak")}}function bo(e){return l().sign.keyPair.fromSeed(e)}function xo(e){const t=(0,uo.full)(e,po);return{secretKey:t.slice(0,32),chainCode:t.slice(32)}}function vo(e,t){let{secretKey:n,chainCode:r}=e;if(t<fo)throw new je(t);const a=ho.allocUnsafe(4);a.writeUInt32BE(t,0);const o=ho.concat([ho.alloc(1,0),ho.from(n),ho.from(a)]),s=(0,uo.full)(o,r);return{secretKey:s.slice(0,32),chainCode:s.slice(32)}}function To(e,t){const n=yo("m/44h/457h",e);return{secretKey:mo(da(t,n.secretKey)),chainCode:mo(da(t,n.chainCode))}}function Io(e,t,n){const r={secretKey:la(t,ho.from(e.secretKey,"hex")),chainCode:la(t,ho.from(e.chainCode,"hex"))};return new Array(n).fill().map(((e,t)=>wo(bo(go(`${t}h/0h/0h`,r).secretKey))))}const Co=(e,t)=>({...wo(bo(go(`${t}h/0h/0h`,yo("m/44h/457h",e)).secretKey)),idx:t});var Eo=T(910),Ao=T.n(Eo),ko=T(180),_o=Ao()((0,ko.required)({methods:{spendTx:ko.required,namePreclaimTx:ko.required,nameClaimTx:ko.required,nameTransferTx:ko.required,nameUpdateTx:ko.required,nameRevokeTx:ko.required,contractCreateTx:ko.required,contractCallTx:ko.required,oracleRegisterTx:ko.required,oracleExtendTx:ko.required,oraclePostQueryTx:ko.required,oracleRespondTx:ko.required,getAccountNonce:ko.required,channelCloseSoloTx:ko.required,channelSlashTx:ko.required,channelSettleTx:ko.required,channelSnapshotSoloTx:ko.required,gaAttachTx:ko.required,getVmVersion:ko.required,prepareTxParams:ko.required}}));const Oo=Ao()({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,ko.required)({methods:{sendTransaction:ko.required,height:ko.required,awaitHeight:ko.required,poll:ko.required,balance:ko.required,getBalance:ko.required,tx:ko.required,getTxInfo:ko.required,mempool:ko.required,txDryRun:ko.required,getAccount:ko.required}}));var No=Oo;function So(){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 o=await Promise.resolve(a.call(r,e,{stamp:t,args:n,instance:r}));return void 0===o?r:o}return r}),r)}var Po=Ao()({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!==So)),t.compose.initializers=[So]}}),jo=T(659),Mo=T.n(jo),Bo=T(503),Ro=T.n(Bo),Do=T(911);const Fo=T.n(Do)()({storeAsString:!0}),qo=e=>{if("object"==typeof e&&null!==e&&e.constructor===Object)return Object.entries(e).map((e=>{let[t,n]=e;return[t,qo(n)]})).reduce(((e,t)=>{let[n,r]=t;return{...e,[n]:r}}),{});if(Array.isArray(e))return e.map((e=>qo(e)));if("string"==typeof e&&y()(e).toString(10)===e){const t=y()(e);return t.toJSON=()=>t.toString(10),t}return e};var Vo={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 Fo.stringify(qo(e),...n)},parse:Fo.parse};const $o=async e=>await new Promise((t=>setTimeout(t,e))),Uo=(e,t)=>Object.fromEntries(Object.entries(e).map(t)),Ho=(e,t)=>Object.fromEntries(Object.entries(e).filter(t)),Ko=(e,t)=>"object"!=typeof t||null===t?t:Array.isArray(t)?t.map((t=>Ko(e,t))):Uo(t,(t=>{let[n,r]=t;return[e(n),Ko(e,r)]})),Wo=Ko.bind(null,ot),Lo=Ko.bind(null,at);let Go=!1;var Qo=async function(e){let{spec:t,internalUrl:n,disableBigNumbers:r,disableCaseConversion:a,responseInterceptor:o}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t=t||await(await Ro()(e)).json();const s=r?JSON:Vo,[i,c]=await Promise.all([e,n].map((e=>{if(!e)return null;const n={};return Mo()({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]=Ro()(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=s.parse(e.text);return Object.assign(e,{body:a?n:Lo(n)}),o&&o(e)||e}})}))),u=Object.assign({},...i.apis.external?[i.apis.external]:Object.values(i.apis),Uo((null==c?void 0:c.apis.internal)||{},(e=>{let[t,n]=e;return[t,function(){return Go||(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")'),Go=!0),n(...arguments)}]}))),d=Object.values(t.paths).map((e=>Object.values(e))).flat().reduce(((e,t)=>({...e,[t.operationId]:t})),{}),l={},h=Uo(u,(e=>{let[t,n]=e;const r=t.slice(0,1).toLowerCase()+at(t.slice(1));return[r,async function(){for(var e,o=arguments.length,i=new Array(o),c=0;c<o;c++)i[c]=arguments[c];const u=d[t],h=[...u.parameters,...u.requestBody?[{required:u.requestBody.required,schema:Object.values(u.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 j(r,p.length,i.length);const f=p.reduce(((e,t,n)=>({...e,[t]:i[n]})),i[p.length]||{}),{__requestBody:m,__queue:g,...y}=Uo(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),o=Ho(a?n:Wo(n),(e=>{let[t]=e;return r.includes(t)}));return[t,s.stringify(o)]})),w=async()=>(await n(y,{requestBody:m})).body;if(!g)return w();const b=(null!==(e=l[g])&&void 0!==e?e:Promise.resolve()).then(w,w);return l[g]=b.then((()=>new Promise((e=>setTimeout(e,750))))),b}]}));return Object.assign(i,{api:h})};function zo(e,t,n){const r=e=>e.split(/[-+]/)[0].split(".").map((e=>+e)),a=r(e),o=r(t),s=r(n),i=Math.max(...a,...o,...s)+1,c=e=>e.reverse().reduce(((e,t,n)=>e+t*Math.pow(i,n)),0),u=c(a),d=c(o),l=c(s);return u>=d&&u<l}function Yo(){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 D("networkId is not provided");return n&&!r?null:r}const Xo=Po.compose({async init(e){let{url:t,internalUrl:n,ignoreVersion:r}=e;if(!t)throw new D('"url" required');this.url=t.replace(/\/$/,""),this.internalUrl=null==n?void 0:n.replace(/\/$/,"");const a=await Qo(`${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,!zo(this.version,Jo,Zo)&&!r)throw new L("node",this.version,Jo,Zo);this.api=a.api;const{nodeRevision:o,genesisKeyBlockHash:s,networkId:i,protocols:c,topBlockHeight:u}=await this.api.getStatus();return this.consensusProtocolVersion=c.filter((e=>{let{effectiveAtHeight:t}=e;return u>=t})).reduce(((e,t)=>t.effectiveAtHeight>e.effectiveAtHeight?t:e),{effectiveAtHeight:-1,version:0}).version,this.nodeNetworkId=i,Object.assign(this,{revision:o,genesisHash:s})},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}}),Jo="6.2.0",Zo="7.0.0";var es=Xo,ts=T(408).Buffer;const ns=e=>!["sign","address"].find((t=>"function"!=typeof e[t]));var rs=Ao()({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=Fr(e,"tx"),a=ts.concat([ts.from(n.join("-")),mt(r)]),o=[await this.sign(a,t)];return oo({encodedTx:r,signatures:o},sn.signed).tx},getNetworkId:Yo,signMessage:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{returnHex:!1};const n=await this.sign(fa(e),t);return t.returnHex?ts.from(n).toString("hex"):n},verifyMessage:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return ga(e,"string"==typeof t?ts.from(t,"hex"):t,Fr(await this.address(n)))}}},(0,ko.required)({methods:{sign:ko.required,address:ko.required}}));const as=Ao()(_o,rs,No,{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)),o=r?await this.signUsingGA(e,{...n,authFun:a}):await this.signTransaction(e,n);return n.innerTx?{hash:co.buildTxHash(o),rawTx:o}:this.sendTransaction(o,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 S("fraction","a number between 0 and 1",e);const r={...this.Ae.defaults,...n},a=await this.resolveName(t,"account_pubkey",r),o=await this.address(r),s=new(y())(await this.balance(o)),i=s.times(e).integerValue(y().ROUND_HALF_UP),{tx:{fee:c}}=co.unpackTx(await this.spendTx({...r,senderId:o,recipientId:a,amount:i})),u=i.plus(c).gt(s)?s.minus(c):i;return this.send(await this.spendTx({...r,senderId:o,recipientId:a,amount:u}),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:ja.AETTOS}}}});var os=as,ss=T(408).Buffer;const is=[(e,t)=>{let{encodedTx:n,signatures:r}=e,{account:a,node:o,parentTxTypes:s}=t;if(void 0===(null!=n?n:r))return[];if(1!==r.length)return[];const i=ss.from([o.nodeNetworkId,...s.includes(sn.payingFor)?["inner_tx"]:[]].join("-")),c=ss.concat([i,n.rlpEncoded]),u=ss.concat([i,mt(n.rlpEncoded)]),d=Fr(a.id,"ak");return pa(c,r[0],d)||pa(u,r[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"]}]},(e,t)=>{let{encodedTx:n,tx:r}=e,{node:a,parentTxTypes:o,txType:s}=t;return void 0===(null!=n?n:r)?[]:us(qr((null!=n?n:r).rlpEncoded,"tx"),a,[...o,s])},(e,t)=>{let{txType:n}=t;if(void 0===e.fee)return[];const r=eo(0,n,{gas:+e.gas||0,params:e,showWarning:!1,vsn:e.VSN});return new(y())(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:o,tx:s}=e,{account:i,parentTxTypes:c,txType:u}=t;if(void 0===(null!==(n=null!=r?r:a)&&void 0!==n?n:o))return[];const d=new(y())(a).plus(o||0).plus(r||0).plus(u===sn.payingFor?s.tx.encodedTx.tx.fee:0).minus(c.includes(sn.payingFor)?a:0);return d.lte(i.balance)?[]:[{message:`Account balance ${i.balance} is not enough to execute the transaction that costs ${d.toFixed()}`,key:"InsufficientBalance",checkedKeys:["amount","fee","nameFee"]}]},(e,t)=>{let{nonce:n}=e,{account:r,parentTxTypes:a}=t;if(void 0===n||a.includes(sn.gaMeta))return[];n=+n;const o=r.nonce+1;return n===o?[]:[{...n<o?{message:`Nonce ${n} is already used, valid nonce is ${o}`,key:"NonceAlreadyUsed"}:{message:`Nonce ${n} is too high, valid nonce is ${o}`,key:"NonceHigh"},checkedKeys:["nonce"]}]},e=>{let{gasPrice:t}=e;return void 0===t||t>=Ot?[]:[{message:`Gas price ${t} must be bigger then ${Ot}`,key:"MinGasPrice",checkedKeys:["gasPrice"]}]},(e,t)=>{let{ctVersion:n,abiVersion:r}=e,{txType:a,node:o}=t;const{consensusProtocolVersion:s}=o.getNodeInfo(),i=ln[s];if(!i)throw new K(`Unsupported protocol: ${s}`);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(sn.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 o,s;if(null===(o=e.response)||void 0===o||null===(s=o.body)||void 0===s||!s.reason)throw e;return[{message:e.response.body.reason,key:"ContractNotFound",checkedKeys:["contractId"]}]}}],cs=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 us(e,t){var n;let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const{tx:a,txType:o}=so(e),s=null!==(n=cs(a))&&void 0!==n?n:o===sn.signed?cs(a.encodedTx.tx):null,[i,{height:c}]=await Promise.all([s&&t.api.getAccountByPubkey(s).catch((()=>({id:s,balance:new(y())(0),nonce:0}))),t.api.getCurrentKeyBlockHeight()]);return(await Promise.all(is.map((e=>e(a,{txType:o,node:t,account:i,height:c,parentTxTypes:r}))))).flat()}var ds=Ao()({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 Re("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 Re(`Node with name ${e} not in pool`);this.selectedNode=this.pool.get(e)},getNetworkId:Yo,isNodeConnected(){return!!this.selectedNode.instance},getNodeInfo(){if(!this.isNodeConnected())throw new Me;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 U('"nodes" should be an array');const t=e.map((e=>typeof e)).find((e=>"object"!==e));if(t)throw new U(`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 U(`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 U(`Each node instance should have api (object), consensusProtocolVersion (number), genesisHash (string) fields, got ${JSON.stringify(r)} instead`)}},props:{selectedNode:{}}});async function ls(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:St.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:o,...s}=e;const{resolve:i,reject:c,tx:u,options:d,accountAddress:l}=t[n];if("ok"===r)return i({...s,txEvents:a});c(Object.assign(new Ve(o),{tx:u,accountAddress:l,options:d}))}))}const hs=No.compose(ds,{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 us(e,this.selectedNode.instance);if(t.length){const n="Transaction verification errors: "+t.map((e=>e.message)).join(", ");throw Object.assign(new He(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:()=>us(e,this.selectedNode.instance)})}},balance:async function(e){let{height:t,hash:n,format:r=ja.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{balance:a}=await this.getAccount(e,{hash:n,height:t});return Da(a,{targetDenomination:r}).toString()},getBalance:async function(e){let{height:t,hash:n,format:r=ja.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 Da(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 $o(n),t=await this.height(),t>=e)return t;throw new V((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 $o(n)}while(await this.height()<r);const a=this.api.getCheckTxInPool&&(await this.api.getCheckTxInPool(e)).status;throw new $(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 S("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 S("hashOrHeight","a string or number",e)},txDryRun:async function(e,t,n){var r,a,o;let{top:s,txEvents:i,combine:c}=n;const u=c?[s,i].join():"immediate";return null!==(r=this._txDryRun)&&void 0!==r||(this._txDryRun={}),null!==(o=(a=this._txDryRun)[u])&&void 0!==o||(a[u]=[]),new Promise(((n,r)=>{var a,o;this._txDryRun[u].push({tx:e,accountAddress:t,top:s,txEvents:i,resolve:n,reject:r}),c?null!==(o=(a=this._txDryRun[u]).timeout)&&void 0!==o||(a.timeout=setTimeout(ls.bind(this,u))):ls.call(this,u)}))},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:o}=await this.api.getTransactionByHash(t);switch(o){case-1:throw new Ye(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 J(`Name or address should be a string: ${e}`);try{return Fr(e),e}catch(e){}if(Qr(e)){if(n||r){const n=(await this.api.getNameEntryByName(e)).pointers.find((e=>e.key===t));if(!n)throw new Y(`Name ${e} don't have pointers for ${t}`);if(r)return n.id}return kr(e)}throw new J(`Invalid name or address: ${e}`)}}});var ps=hs,fs=T(408).Buffer;const ms=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("object"!=typeof t)throw new U('tx "params" should be an object');if("string"!=typeof e||!Object.values(sn).includes(e))throw new Xe(`Unknown transaction type ${e}`);const r=eo(t.fee,e,{gas:t.gas,params:t,vsn:t.vsn}),{rlpEncoded:a,binary:o,tx:s,txObject:i}=oo({...t,fee:r},e,{vsn:t.vsn,...n});return{rlpEncoded:a,binary:o,encodedTx:s,params:i,type:e}},gs=e=>{if(!e)throw new He(`Invalid transaction: ${e}`);if("string"==typeof e){const{txType:t,tx:n,rlpEncoded:r,binary:a}=so(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}=so(e,!0);return{encodedTx:qr(e,"tx"),type:t,params:n,rlpEncoded:r,binary:a}}throw new He(`"tx" should be a string or Uint8Array, got ${e} instead`)},ys=Ao()({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 ms(n,t,r);if(e)return gs(e);throw new He('Invalid TxObject arguments. Please provide one of { tx: "tx_asdasd23..." } or { type: "spendTx", params: {...} }')}({tx:e,params:t,type:n,options:r})),this.type===sn.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=>ys({tx:e}),fromRlp:e=>ys({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 U("Props should be an object");return this.isSigned=!1,this.signatures=[],Object.assign(this,ms(this.type,{...this.params,...e,fee:null},{...this.options,...t})),this},getSignatures(){return this.signatures},addSignature(e){if(e=st(e)?fs.from(e,"hex"):e,!(fs.isBuffer(e)||e instanceof Uint8Array))throw new Ue("Invalid signature, signature must be of type Buffer or Uint8Array");Object.assign(this,ms(sn.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 eo(0,this.type,{gas:t.gas,params:t,vsn:t.vsn})}}});var ws=ys;async function bs(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Tt,t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(0===e)return 0;if(e<0)throw new S("ttl","greater or equal to 0",e);if(t){const{height:t}=await this.api.getCurrentKeyBlock();return+t+e}return e}const xs=ps.compose(_o,{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:o,ttl:s,nonce:i}=await this.prepareTxParams(sn.spend,{senderId:t,...arguments[0],payload:a}),{tx:c}=this.nativeMode?{tx:ys({params:{...arguments[0],recipientId:n,senderId:t,nonce:i,ttl:s,payload:a},type:sn.spend}).encodedTx}:await this.api.postSpend({...arguments[0],amount:parseInt(r),recipientId:n,senderId:t,nonce:i,ttl:s,fee:parseInt(o),payload:a});return c},namePreclaimTx:async function(e){let{accountId:t,commitmentId:n}=e;const{fee:r,ttl:a,nonce:o}=await this.prepareTxParams(sn.namePreClaim,{senderId:t,...arguments[0]}),{tx:s}=this.nativeMode?{tx:ys({params:{...arguments[0],nonce:o,ttl:a,fee:r},type:sn.namePreClaim}).encodedTx}:await this.api.postNamePreclaim({...arguments[0],nonce:o,ttl:a,fee:parseInt(r)});return s},nameClaimTx:async function(e){let{accountId:t,name:n,nameSalt:r,vsn:a=2}=e;const{fee:o,ttl:s,nonce:i}=await this.prepareTxParams(sn.nameClaim,{senderId:t,...arguments[0],vsn:a}),{tx:c}=this.nativeMode?{tx:ys({params:{...arguments[0],nonce:i,ttl:s,fee:o,vsn:a},type:sn.nameClaim}).encodedTx}:await this.api.postNameClaim({...arguments[0],nonce:i,ttl:s,fee:parseInt(o),name:qr(n,"nm")});return c},nameTransferTx:async function(e){let{accountId:t,nameId:n,recipientId:r}=e;const{fee:a,ttl:o,nonce:s}=await this.prepareTxParams(sn.nameTransfer,{senderId:t,...arguments[0]}),{tx:i}=this.nativeMode?{tx:ys({params:{...arguments[0],recipientId:r,nonce:s,ttl:o,fee:a},type:sn.nameTransfer}).encodedTx}:await this.api.postNameTransfer({...arguments[0],recipientId:r,nonce:s,ttl:o,fee:parseInt(a)});return i},nameUpdateTx:async function(e){let{accountId:t,nameId:n,nameTtl:r,pointers:a,clientTtl:o}=e;const{fee:s,ttl:i,nonce:c}=await this.prepareTxParams(sn.nameUpdate,{senderId:t,...arguments[0]}),{tx:u}=this.nativeMode?{tx:ys({params:{...arguments[0],nonce:c,ttl:i,fee:s},type:sn.nameUpdate}).encodedTx}:await this.api.postNameUpdate({...arguments[0],nonce:c,ttl:i,fee:parseInt(s)});return u},nameRevokeTx:async function(e){let{accountId:t,nameId:n}=e;const{fee:r,ttl:a,nonce:o}=await this.prepareTxParams(sn.nameRevoke,{senderId:t,...arguments[0]}),{tx:s}=this.nativeMode?{tx:ys({params:{...arguments[0],nonce:o,ttl:a,fee:r},type:sn.nameRevoke}).encodedTx}:await this.api.postNameRevoke({...arguments[0],nonce:o,ttl:a,fee:parseInt(r)});return s},contractCreateTx:async function(e){let{ownerId:t,code:n,vmVersion:r,abiVersion:a,amount:o,gas:s,gasPrice:i=Ot,callData:c}=e;const u=this.getVmVersion(sn.contractCreate,arguments[0]),{fee:d,ttl:l,nonce:h}=await this.prepareTxParams(sn.contractCreate,{senderId:t,...arguments[0],ctVersion:u,gasPrice:i});return this.nativeMode?{tx:ys({params:{...arguments[0],nonce:h,ttl:l,fee:d,ctVersion:u,gasPrice:i},type:sn.contractCreate}).encodedTx,contractId:Cr(t,h)}:this.api.postContractCreate({...arguments[0],nonce:h,ttl:l,fee:parseInt(d),gas:parseInt(s),gasPrice:i,vmVersion:u.vmVersion,abiVersion:u.abiVersion})},contractCallTx:async function(e){let{callerId:t,contractId:n,abiVersion:r,amount:a,gas:o,gasPrice:s=Ot,callData:i}=e;const c=this.getVmVersion(sn.contractCall,arguments[0]),{fee:u,ttl:d,nonce:l}=await this.prepareTxParams(sn.contractCall,{senderId:t,...arguments[0],gasPrice:s,abiVersion:c.abiVersion}),{tx:h}=this.nativeMode?{tx:ys({params:{...arguments[0],nonce:l,ttl:d,fee:u,abiVersion:c.abiVersion,gasPrice:s},type:sn.contractCall}).encodedTx}:await this.api.postContractCall({...arguments[0],nonce:l,ttl:d,fee:parseInt(u),gas:parseInt(o),gasPrice:s,abiVersion:c.abiVersion});return h},prepareTxParams:async function(e,t){let{senderId:n,nonce:r,ttl:a,fee:o,gas:s,absoluteTtl:i,vsn:c,strategy:u}=t;r=r||(await this.api.getAccountNextNonce(n,{strategy:u}).catch((e=>({nextNonce:1})))).nextNonce;const d=await bs.call(this,a,!i),l=eo(o,e,{showWarning:this.showWarning,gas:s,params:{...arguments[1],nonce:r,ttl:d},vsn:c});return{fee:l,ttl:d,nonce:r}},oracleRegisterTx:async function(e){let{accountId:t,queryFormat:n,responseFormat:r,queryFee:a,oracleTtl:o,abiVersion:s=un.NO_ABI}=e;const{fee:i,ttl:c,nonce:u}=await this.prepareTxParams(sn.oracleRegister,{senderId:t,...arguments[0],abiVersion:s}),{tx:d}=this.nativeMode?{tx:ys({params:{accountId:t,queryFee:a,abiVersion:s,fee:i,oracleTtl:o,nonce:u,ttl:c,queryFormat:n,responseFormat:r},type:sn.oracleRegister}).encodedTx}:await this.api.postOracleRegister({accountId:t,queryFee:a,abiVersion:s,fee:parseInt(i),oracleTtl:o,nonce:u,ttl:c,queryFormat:n,responseFormat:r});return d},oracleExtendTx:async function(e){let{oracleId:t,callerId:n,oracleTtl:r}=e;const{fee:a,ttl:o,nonce:s}=await this.prepareTxParams(sn.oracleExtend,{senderId:n,...arguments[0]}),{tx:i}=this.nativeMode?{tx:ys({params:{oracleId:t,fee:a,oracleTtl:r,nonce:s,ttl:o},type:sn.oracleExtend}).encodedTx}:await this.api.postOracleExtend({oracleId:t,fee:parseInt(a),oracleTtl:r,nonce:s,ttl:o});return i},oraclePostQueryTx:async function(e){let{oracleId:t,responseTtl:n,query:r,queryTtl:a,queryFee:o,senderId:s}=e;const{fee:i,ttl:c,nonce:u}=await this.prepareTxParams(sn.oracleQuery,{senderId:s,...arguments[0]}),{tx:d}=this.nativeMode?{tx:ys({params:{oracleId:t,responseTtl:n,query:r,queryTtl:a,fee:i,queryFee:o,ttl:c,nonce:u,senderId:s},type:sn.oracleQuery}).encodedTx}:await this.api.postOracleQuery({oracleId:t,responseTtl:n,query:r,queryTtl:a,fee:parseInt(i),queryFee:o,ttl:c,nonce:u,senderId:s});return d},oracleRespondTx:async function(e){let{oracleId:t,callerId:n,responseTtl:r,queryId:a,response:o}=e;const{fee:s,ttl:i,nonce:c}=await this.prepareTxParams(sn.oracleResponse,{senderId:n,...arguments[0]}),{tx:u}=this.nativeMode?{tx:ys({params:{oracleId:t,responseTtl:r,queryId:a,response:o,fee:s,ttl:i,nonce:c},type:sn.oracleResponse}).encodedTx}:await this.api.postOracleRespond({oracleId:t,responseTtl:r,queryId:a,response:o,fee:parseInt(s),ttl:i,nonce:c});return u},channelCloseSoloTx:async function(e){let{channelId:t,fromId:n,payload:r,poi:a}=e;const{fee:o,ttl:s,nonce:i}=await this.prepareTxParams(sn.channelCloseSolo,{senderId:n,...arguments[0],payload:r}),{tx:c}=this.nativeMode?oo({...arguments[0],channelId:t,fromId:n,payload:r,poi:a,ttl:s,fee:o,nonce:i},sn.channelCloseSolo):await this.api.postChannelCloseSolo({...arguments[0],channelId:t,fromId:n,payload:r,poi:a,ttl:s,fee:parseInt(o),nonce:i});return c},channelSlashTx:async function(e){let{channelId:t,fromId:n,payload:r,poi:a}=e;const{fee:o,ttl:s,nonce:i}=await this.prepareTxParams(sn.channelSlash,{senderId:n,...arguments[0],payload:r}),{tx:c}=this.nativeMode?oo({...arguments[0],channelId:t,fromId:n,payload:r,poi:a,ttl:s,fee:o,nonce:i},sn.channelSlash):await this.api.postChannelSlash({...arguments[0],channelId:t,fromId:n,payload:r,poi:a,ttl:s,fee:parseInt(o),nonce:i});return c},channelSettleTx:async function(e){let{channelId:t,fromId:n,initiatorAmountFinal:r,responderAmountFinal:a}=e;const{fee:o,ttl:s,nonce:i}=await this.prepareTxParams(sn.channelSettle,{senderId:n,...arguments[0]}),{tx:c}=this.nativeMode?oo({...arguments[0],channelId:t,fromId:n,initiatorAmountFinal:r,responderAmountFinal:a,ttl:s,fee:o,nonce:i},sn.channelSettle):await this.api.postChannelSettle({...arguments[0],channelId:t,fromId:n,initiatorAmountFinal:parseInt(r),responderAmountFinal:parseInt(a),ttl:s,fee:parseInt(o),nonce:i});return c},channelSnapshotSoloTx:async function(e){let{channelId:t,fromId:n,payload:r}=e;const{fee:a,ttl:o,nonce:s}=await this.prepareTxParams(sn.channelSnapshotSolo,{senderId:n,...arguments[0],payload:r}),{tx:i}=this.nativeMode?oo({...arguments[0],channelId:t,fromId:n,payload:r,ttl:o,fee:a,nonce:s},sn.channelSnapshotSolo):await this.api.postChannelSnapshotSolo({...arguments[0],channelId:t,fromId:n,payload:r,ttl:o,fee:parseInt(a),nonce:s});return i},gaAttachTx:async function(e){let{ownerId:t,code:n,vmVersion:r,abiVersion:a,authFun:o,gas:s,gasPrice:i=Ot,callData:c}=e;const u=this.getVmVersion(sn.contractCreate,arguments[0]),{fee:d,ttl:l,nonce:h}=await this.prepareTxParams(sn.gaAttach,{senderId:t,...arguments[0],ctVersion:u,gasPrice:i});return{tx:ys({params:{...arguments[0],nonce:h,ttl:l,fee:d,ctVersion:u,gasPrice:i},type:sn.gaAttach}).encodedTx,contractId:Cr(t,h)}},payingForTx:async function(e){let{tx:t,payerId:n,...r}=e;const a={tx:so(t),payerId:n},{fee:o,nonce:s}=await this.prepareTxParams(sn.payingFor,{...a,...r,senderId:n});return oo({...a,...r,fee:o,nonce:s},sn.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=ln[r];if(!a)throw new K("Not supported consensus protocol version");const o=a[e];if(!o)throw new Xe("Not supported tx type");if(n=n||o.abiVersion[0],t=t||o.vmVersion[0],!o.vmVersion.includes(t))throw new Ze(`VM VERSION ${t} do not support by this node. Supported: [${o.vmVersion}]`);if(!o.abiVersion.includes(n))throw new Je(`ABI VERSION ${n} do not support by this node. Supported: [${o.abiVersion}]`);return{vmVersion:t,abiVersion:n}}}});var vs=xs,Ts=T(408).Buffer;const Is=new WeakMap;var Cs=rs.compose({init(e){let{keypair:t,gaId:n}=e;if(this.isGa=!!n,n)return Fr(n),void Is.set(this,{publicKey:n});if(!t||"object"!=typeof t)throw new Q("KeyPair must be an object");if(!t.secretKey||!t.publicKey)throw new Q('KeyPair must must have "secretKey", "publicKey" properties');if("string"!=typeof t.publicKey||-1===t.publicKey.indexOf("ak_"))throw new Q('Public Key must be a base58c string with "ak_" prefix');if(!Ts.isBuffer(t.secretKey)&&"string"==typeof t.secretKey&&!st(t.secretKey))throw new Q("Secret key must be hex string or Buffer");const r=Ts.from(Fr(t.publicKey,"ak"));if(!ya(Ts.from(t.secretKey,"hex"),r))throw new Q("Invalid Key Pair");Is.set(this,{secretKey:Ts.isBuffer(t.secretKey)?t.secretKey:Ts.from(t.secretKey,"hex"),publicKey:t.publicKey})},props:{isGa:!1},methods:{sign(e){if(this.isGa)throw new Q("You are trying to sign data using generalized account without keypair");return Promise.resolve(ha(e,Is.get(this).secretKey))},address(){return Promise.resolve(Is.get(this).publicKey)}}}),Es=rs.compose(Po,{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(Fr(e,"ak"),!this.accounts[e])throw new z(e);this.selectedAddress=e},_resolveAccount(e){if(null===e)throw new U("Account should be an address (ak-prefixed string), keypair, or instance of account base, got null instead");switch(typeof e){case"string":if(Fr(e,"ak"),!this.accounts[e])throw new z(e);return this.accounts[e];case"object":return ns(e)?e:Cs({keypair:e});default:throw new U(`Account should be an address (ak-prefixed string), keypair, or instance of account base, got ${e} instead`)}}}});const As=os.compose({methods:{aensQuery:async function(e){var t=this;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Gr(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]:Pt,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("number"!=typeof r||r>Pt||r<=0)throw new S("nameTtl",`a number between 1 and ${Pt} 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]:{};Gr(e);const n={...this.Ae.defaults,...t},r=oa(),a=await this.height(),o=_r(e,r),s=await this.namePreclaimTx({...n,accountId:await this.address(n),commitmentId:o}),i=await this.send(s,n);return Object.freeze({...i,height:a,claim:t=>this.aensClaim(e,r,{...t,onAccount:n.onAccount}),salt:r,commitmentId:o})},aensClaim:async function(e,t,n){Gr(e);const r={...this.Ae.defaults,...n},a=await this.nameClaimTx({...r,accountId:await this.address(r),nameSalt:t,name:e}),o=await this.send(a,r);if(!Zr(e)){const t=r.waitMined?await this.aensQuery(e,r):{};return Object.assign(o,t)}return{...o,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]:{};Gr(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},o=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(o,r)},aensTransfer:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Gr(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]:{};Gr(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:Bt,nameTtl:Pt}}}});var ks=As,_s=Po.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 D("compilerUrl required");e=e.replace(/\/$/,"");const n=await Qo(`${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=Uo(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&&!zo(this.compilerVersion,Os,Ns))throw new L("compiler",this.compilerVersion,Os,Ns)}},props:{compilerVersion:null}});const Os="6.1.0",Ns="7.0.0";var Ss=T(946),Ps=T(408).Buffer,js=os.compose(_s,{methods:{getContractInstance:async function(){var e=this;let{source:t,bytecode:n,aci:r,contractAddress:a,filesystem:o={},validateBytecode:s,...i}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!r&&t&&(r=await this.compilerApi.generateACI({code:t,options:{filesystem:o}})),!r)throw new ge;if(a=a&&await this.resolveName(a,"contract_pubkey",{resolveByNode:!0}),!a&&!t&&!n)throw new me("Can't create instance by ACI without address");if(a&&!(await this.getContract(a)).active)throw new pe(a);const c={_aci:r,_name:r.encoded_aci.contract.name,calldata:new Ss.Encoder([r.encoded_aci,...r.external_encoded_aci]),source:t,bytecode:n,deployInfo:{address:a},options:{...this.Ae.defaults,callStatic:!1,filesystem:o,...i},compilerVersion:this.compilerVersion};if(s){if(!a)throw new me("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 le(t?"source":"bytecode")}c.compile=async function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(c.bytecode)throw new P("Contract already compiled");if(!c.source)throw new P("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 u=async(e,t)=>{const n=await this.send(e,t),r={hash:n.hash,tx:ws({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 d(a),{...r,result:a}},d=e=>{let t,{returnType:n,returnValue:r}=e;switch(n){case"ok":return;case"revert":t=c.calldata.decodeFateString(r);break;case"error":t=Fr(r).toString();break;default:throw new G(`Unknown returnType: ${n}`)}throw new we(t)};function l(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 be(`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 o=[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"+mt(n).toString("hex"))===t}));switch(o.length){case 0:throw new ve(t,e);case 1:return o[0][0];default:throw new Te(e,o)}}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 he;const o=await e.address(a),{tx:s,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:o}),{hash:d,rawTx:l,result:h,txData:p}=await u(s,a);return c.deployInfo=Object.freeze({result:h,owner:o,transaction:d,rawTx:l,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},o=l(t),s=c.deployInfo.address;if(!t)throw new ye;if("init"===t&&!a.callStatic)throw new fe('"init" can be called only via dryRun');if(!s&&"init"!==t)throw new fe("You need to deploy contract before calling!");if(a.amount>0&&!1===o.payable)throw new xe(`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 St.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:_t,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:s}),{callObj:o,...u}=await e.txDryRun(r,i,a);await d(o),p={...u,tx:ws({tx:r}),result:o}}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:s,callData:h});p=await u(r,a)}return(a.waitMined||a.callStatic)&&(p.decodedResult=o.returns&&"unit"!==o.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 ve)return null;throw e}const o=c.calldata.decodeEvent(a,e.data,r),[s,i]=Object.entries(o)[0];return{name:s,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),o=0;o<r;o++)a[o]=arguments[o];const s=a.length===n.length+1?a.pop():{};if("object"!=typeof s)throw new U(`Options should be an object: ${s}`);return"init"===t?c.deploy(a,{callStatic:e,...s}):c.call(t,a,{callStatic:e,...s})};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(Ps.concat([Ps.from(this.getNetworkId(t)),...e.map((e=>Fr(e)))]),t);return Ps.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?[kr(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([...n?[n]:[],t],r)}},deepProps:{Ae:{defaults:{gasPrice:Ot,amount:kt}}}});const Ms=e=>async(t,n)=>{if("object"!=typeof t)throw new de("AuthData must be an object");if(t.gas&&y()(t.gas).gt(Nt))throw new de(`the maximum gas value for ga authFun is ${Nt}, got ${t.gas}`);const r=t.gas||Nt;if(t.callData){if("cb"!==t.callData.split("_")[0])throw new de('Auth data must be a string with "cb" prefix.');return{authCallData:t.callData,gas:r}}if(!t.source||!t.args)throw new de("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}},Bs=js.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 o={...this.Ae.defaults,...a},s=await this.address(o);if(await this.isGA(s))throw new P(`Account ${s} is already GA`);const i=await this.getContractInstance({source:t});await i.compile();const{tx:c,contractId:u}=await this.gaAttachTx({...o,gas:null!==(n=o.gas)&&void 0!==n?n:await i._estimateGas("init",r,o),ownerId:s,code:i.bytecode,callData:i.calldata.encode(i._name,"init",r),authFun:mt(e)}),{hash:d,rawTx:l}=await this.send(c,o);return Object.freeze({owner:s,transaction:d,rawTx:l,gaContractId:u})},createMetaTx:async function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(!t)throw new D("authData is required");const{authCallData:a,gas:o}=await Ms(this)(t,n),s={...this.Ae.defaults,...r},{abiVersion:i}=await this.getVmVersion(sn.contractCall),c=Ds(so(e)),u={...s,tx:{...c,tx:c.txObject},gaId:await this.address(s),abiVersion:i,authData:a,gas:o,vsn:2},{fee:d}=await this.prepareTxParams(sn.gaMeta,u),{rlpEncoded:l}=oo({...u,fee:`${d}`},sn.gaMeta,{vsn:2});return Ds(l).tx},isGA:async function(e){const{contractId:t}=await this.getAccount(e);return!!t}}});var Rs=Bs;const Ds=e=>oo({encodedTx:e,signatures:[]},sn.signed),Fs=1;let qs,Vs,$s,Us,Hs;!function(e){e.to_waellet="to_waellet",e.to_aepp="to_aepp"}(qs||(qs={})),function(e){e.window="window",e.extension="extension"}(Vs||(Vs={})),function(e){e.subscribe="subscribe",e.unsubscribe="unsubscribe"}($s||($s={})),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"}(Us||(Us={})),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"}(Hs||(Hs={}));const Ks={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"})},Ws=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 F;return{}},Ls=()=>window!==window.parent,Gs=e=>{let t=0;return function(n){let{id:r,method:a,params:o,result:s,error:i}=n,c=arguments.length>1&&void 0!==arguments[1]&&arguments[1];c||(t+=1),r=c?r||null:t;const u=o?{params:o}:s?{result:s}:{error:i};return e.sendMessage({jsonrpc:"2.0",...r?{id:r}:{},method:a,...u}),r}},Qs=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)},zs=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{method:e,params:t}},Ys=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}}},Xs=e=>(t,n,r)=>e.sendMessage(Ys(t,n,r),!0),Js=e=>3===["","connected","current"].filter((t=>"object"==typeof(t?e[t]:e))).length;var Zs=Ao()({init(e){let{id:t,name:n,networkId:r,icons:a,connection:o,handlers:[s,i]}=e;this.id=t,this.connection=o,this.info={name:n,networkId:r,icons:a},this.callbacks={},this.addressSubscription=[],this.accounts={},this.sendMessage=Gs(this.connection),o.connect(((e,t)=>{if(!e||!e.jsonrpc||"2.0"!==e.jsonrpc||!e.method)throw new ee(e);s(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===Hs.CONNECTED||this.info.status===Hs.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=Hs.DISCONNECTED,this.addressSubscription=[],this.accounts={},e||this.connection.disconnect()},setAccounts(e){let{forceNotification:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!Js(e))throw new U("Invalid accounts object. Should be object like: `{ connected: {}, selected: {} }`");this.accounts=e,t||this.sendMessage(zs(Us.updateAddress,this.accounts),!0)},updateSubscription(e,t){return e!==$s.subscribe||this.addressSubscription.includes(t)||this.addressSubscription.push(t),e===$s.unsubscribe&&this.addressSubscription.includes(t)&&(this.addressSubscription=this.addressSubscription.filter((e=>e!==t))),this.addressSubscription},request(e,t){const n=this.sendMessage(zs(e,t));if(Object.prototype.hasOwnProperty.call(this.callbacks,n))throw new Z;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 te(n);a?this.callbacks[n].resolve(..."function"==typeof t?t({id:n,result:a}):[a]):this.callbacks[n].reject(r),delete this.callbacks[n]}}});const ei={[Us.updateAddress]:e=>t=>{let{params:n}=t;e.rpcClient.accounts=n,e.onAddressChange(n)},[Us.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 es(a),!0),e.onNetworkChange(n)},[Us.closeConnection]:e=>t=>{e.disconnectWallet(),e.onDisconnect(t.params)}},ti={[Us.address]:e=>t=>e.rpcClient.processResponse(t),[Us.connect]:e=>t=>{t.result&&(e.rpcClient.info.status=Hs.CONNECTED),e.rpcClient.processResponse(t)},[Us.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]}))},[Us.sign]:e=>t=>{e.rpcClient.processResponse(t,(e=>{let{id:t,result:n}=e;return[n.signedTransaction||n.transactionHash]}))},[Us.signMessage]:e=>t=>{e.rpcClient.processResponse(t,(e=>{let{id:t,result:n}=e;return[n.signature]}))}},ni={};var ri=os.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 S(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 ae;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 et("You are already connected to wallet "+this.rpcClient);var a;this.rpcClient=Zs({connection:e,networkId:this.getNetworkId({force:!0}),...e.connectionInfo,id:(0,wa.v4)(),handlers:[(a=this,async e=>e.id?Object.prototype.hasOwnProperty.call(a.rpcClient.callbacks,e.id)?Qs(ti,e,{debug:a.debug})(a)(e):Qs(ni,e,{debug:a.debug})(a)(e):Qs(ei,e,{debug:a.debug})(a)(e)),this.onDisconnect]});const o=await this.sendConnectRequest(t);if(t&&!Object.prototype.hasOwnProperty.call(o,"node"))throw new rt("Missing URLs of the Node");return t&&this.addNode(n,await es(o.node),r),o},async disconnectWallet(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(!this.isConnected())throw new nt("You are not connected to Wallet");e&&this.rpcClient.sendMessage(zs(Us.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 nt("You are not connected to Wallet");const t=this.rpcClient.currentAccount;if(!t)throw new ae;if(e&&!this.rpcClient.hasAccessToAccount(e))throw new ne(e);return e||t},async askAddresses(){if(!this.isConnected())throw new nt("You are not connected to Wallet");if(!this.isSubscribedAccount())throw new ae;return this.rpcClient.request(Us.address)},async subscribeAddress(e,t){if(!this.isConnected())throw new nt("You are not connected to Wallet");return this.rpcClient.request(Us.subscribeAddress,{type:e,value:t})},async signTransaction(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isConnected())throw new nt("You are not connected to Wallet");if(!this.isSubscribedAccount())throw new ae;if(t.onAccount&&!this.rpcClient.hasAccessToAccount(t.onAccount))throw new ne(t.onAccount);return this.rpcClient.request(Us.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 nt("You are not connected to Wallet");if(!this.isSubscribedAccount())throw new ae;if(t.onAccount&&!this.rpcClient.hasAccessToAccount(t.onAccount))throw new ne(t.onAccount);return this.rpcClient.request(Us.signMessage,{...t,message:e})},async sendConnectRequest(e){return this.rpcClient.request(Us.connect,{name:this.name,version:Fs,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 nt("You are not connected to Wallet");if(!this.isSubscribedAccount())throw new ae;if(t.onAccount&&!this.rpcClient.hasAccessToAccount(t.onAccount))throw new ne(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(Us.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}}});const ai=os.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),o=await this.oracleRegisterTx({...r,accountId:a,queryFormat:e,responseFormat:t});return{...await this.send(o,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},o=await this.address(a),s=await this.oracleRespondTx({...a,oracleId:e,queryId:t,callerId:o,response:n});return{...await this.send(s,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),o=await this.oracleExtendTx({...r,oracleId:e,callerId:a,oracleTtl:t});return{...await this.send(o,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},o=await this.address(a),s=await this.oraclePostQueryTx({...a,oracleId:e,senderId:o,query:t}),i=Er(o,so(s).tx.nonce,e);return{...await this.send(s,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 $o(r);const{response:n}=await this.api.getOracleQueryByPubkeyAndQueryId(e,t),o=Fr(n,"or");if(o.length)return String(o)}throw new V((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 o;return(async()=>{for(;!o;)await a().catch(console.error),await $o(n)})(),()=>{o=!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:Fr(n.query).toString(),decodedResponse:Fr(n.response).toString(),respond:this.respondToQuery.bind(this,e,t),pollForResponse:this.pollForQueryResponse.bind(this,e,t),decode:e=>Fr(e)}}},deepProps:{Ae:{defaults:{queryFee:It,oracleTtl:Ct,queryTtl:Et,responseTtl:At}}}});var oi=ai,si=os.compose(vs,oi,js,ks,ps,ri);const ii=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||!ns(n.onAccount))throw new U("Provided onAccount should be an AccountBase");t=n.onAccount}return t},ci={[Us.closeConnection]:(e,t)=>{let{client:n}=t;return async t=>{n.disconnect(!0),e.onDisconnect(t.params,n)}}},ui={},di={[Us.connect](e,t,n,r){let{name:a,networkId:o,version:s,icons:i,connectNode:c}=r;return s!==Fs?{error:Ks.unsupportedProtocol()}:(n.updateInfo({status:Hs.WAITING_FOR_CONNECTION_APPROVE,name:a,networkId:o,icons:i,version:s,origin:window.location.origin,connectNode:c}),e("onConnection",{name:a,networkId:o,version:s},(function(){let{shareNode:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return n.updateInfo({status:e?Hs.NODE_BINDED:Hs.CONNECTED}),{result:{...t.getWalletInfo(),...e&&{node:t.selectedNode}}}}),(e=>(n.updateInfo({status:Hs.CONNECTION_REJECTED}),{error:Ks.connectionDeny(e)}))))},[Us.subscribeAddress](e,t,n,r){let{type:a,value:o}=r;return n.isConnected()?e("onSubscription",{type:a,value:o},(async function(){let{accounts:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{const r=e||t.getAccounts();if(!Js(r))throw new U("Invalid provided accounts object");const s=n.updateSubscription(a,o);return n.setAccounts(r,{forceNotification:!0}),{result:{subscription:s,address:r}}}catch(e){return t.debug&&console.error(e),{error:Ks.internalError(e.message)}}}),(e=>({error:Ks.rejectedByUser(e)}))):{error:Ks.notAuthorize()}},[Us.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:Ks.rejectedByUser(e)}))):{error:Ks.notAuthorize()},[Us.sign](e,t,n,r){const{tx:a,onAccount:o,networkId:s,returnSigned:i=!1}=r,c=o||n.currentAccount;return s&&n.updateInfo({networkId:s}),n.isConnected()?n.hasAccessToAccount(c)?s&&s===t.getNetworkId()?e("onSign",{tx:a,returnSigned:i,onAccount:c,txObject:ws.fromString(a)},(async function(e){let n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{n=ii(t.addresses(),c,r)}catch(e){return t.debug&&console.error(e),{error:Ks.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 us(e||a,t.selectedNode.instance);return r.length?{error:Ks.invalidTransaction(r)}:{error:Ks.broadcastFailed(n.message)}}throw n}}),(e=>({error:Ks.rejectedByUser(e)}))):{error:Ks.unsupportedNetwork()}:{error:Ks.permissionDeny(c)}:{error:Ks.notAuthorize()}},[Us.signMessage](e,t,n,r){let{message:a,onAccount:o}=r;if(!n.isConnected())return{error:Ks.notAuthorize()};const s=o||n.currentAccount;return n.hasAccessToAccount(s)?e("onMessageSign",{message:a,onAccount:s},(async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{const n=ii(t.addresses(),s,e);return{result:{signature:await t.signMessage(a,{onAccount:n,returnHex:!0})}}}catch(e){return t.debug&&console.error(e),{error:Ks.internalError(e.message)}}}),(e=>({error:Ks.rejectedByUser(e)}))):{error:Ks.permissionDeny(s)}}},li=(e,t)=>async(n,r)=>{const a=e.rpcClients[t];if(!n.id)return Qs(ci,n,{debug:e.debug})(e,{client:a})(n,r);if(Object.prototype.hasOwnProperty.call(a.callbacks,n.id))return Qs(ui,n,{debug:e.debug})(e,{client:a})(n,r);{const{id:t,method:o}=n,s=(n,s,i,c)=>()=>new Promise((u=>{e[n](a,{id:t,method:o,params:s,accept:function(){return u(i(...arguments))},deny:function(){return u(c(...arguments))}},r)})),i=Qs(di,n,{debug:e.debug})(s,e,a,n.params),c="function"==typeof i?await i():i;Xs(a)(t,o,c)}};var hi=os.compose(Es,{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 S(e,"a function",t);this[e]=t})),this.debug=n,this.rpcClients={},this.name=t,this.id=(0,wa.v4)();const a=this.selectAccount.bind(this),o=this.addAccount.bind(this),s=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 o(t,{select:n});const s=await t.address();Object.values(e.rpcClients).filter((e=>e.isConnected()&&e.isSubscribed()&&a(e))).forEach((e=>e.setAccounts({current:{...n?{[s]:r}:e.accounts.current},connected:{...n?e.accounts.current:{[s]:r},...e.accounts.connected}})))},this.selectNode=e=>{s(e),Object.values(this.rpcClients).filter((e=>e.isConnected())).forEach((e=>{e.sendMessage(zs(Us.updateNetwork,{networkId:this.getNetworkId(),...e.info.status===Hs.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 re(e);n.disconnect(t),delete this.rpcClients[e]},addRpcClient(e){const t=(0,wa.v4)();return this.rpcClients[t]=Zs({id:t,info:{status:Hs.WAITING_FOR_CONNECTION_REQUEST},connection:e,handlers:[li(this,t),this.onDisconnect]}),t},shareWalletInfo(e){e({jsonrpc:"2.0",...zs(Us.readyToConnect,this.getWalletInfo())})},getWalletInfo(){const e=Ws(!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?Vs.extension:Vs.window}},getAccounts(){return{current:this.selectedAddress?{[this.selectedAddress]:{}}:{},connected:this.addresses().filter((e=>e!==this.selectedAddress)).reduce(((e,t)=>({...e,[t]:{}})),{})}}}}),pi=os.compose(hi,vs,js,oi,ks,Rs,ps),fi=T(397),mi=T(735);const gi=new WeakMap,yi=new WeakMap,wi=new WeakMap,bi=new WeakMap,xi=new WeakMap,vi=new WeakMap,Ti=new WeakMap,Ii=new WeakMap,Ci=new WeakMap,Ei=new WeakMap,Ai=new WeakMap,ki=new WeakMap,_i=new WeakMap,Oi=new WeakMap,Ni=new WeakMap,Si=new WeakMap;function Pi(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];vi.get(e).emit(...n)}function ji(e,t){if(!t)throw new ue;bi.set(e,t),t.handler.enter&&t.handler.enter(e),Fi(e)}function Mi(e,t){t!==yi.get(e)&&(yi.set(e,t),Pi(e,"statusChanged",t))}function Bi(e,t){wi.set(e,t),Pi(e,"stateChanged",t)}function Ri(e,t){const{debug:n=!1}=gi.get(e);n&&console.log("Send message: ",t),xi.get(e).send(Vo.stringify(t))}function Di(e,t,n){Ci.set(e,[...Ci.get(e)||[],{guard:t,action:n}]),Fi(e)}async function Fi(e){const t=Ei.get(e),n=Ci.get(e)||[];if(t||!n.length)return;const r=bi.get(e),a=n.findIndex((t=>t.guard(e,r)));if(-1===a)return;Ci.set(e,n.filter(((e,t)=>a!==t))),Ei.set(e,!0);const o=await Promise.resolve(n[a].action(e,r));Ei.set(e,!1),ji(e,o)}async function qi(e,t){const{handler:n,state:r}=bi.get(e);ji(e,await Promise.resolve(n(e,t,r)))}function Vi(e){clearTimeout(Oi.get(e)),clearTimeout(Ni.get(e)),Oi.set(e,setTimeout((()=>{Ri(e,{jsonrpc:"2.0",method:"channels.system",params:{action:"ping"}}),Ni.set(e,setTimeout((()=>{Ui(e),Pi(e,"error",new ie)}),5e3))}),1e4))}function $i(e,t,n){return new Promise(((r,a)=>{const o=Ai.set(e,Ai.get(e)+1).get(e);_i.get(e).set(o,(e=>{if(e.result)return r(e.result);if(e.error){const[{message:t}={}]=e.error.data||[];return a(new oe(e.error.message+(t?`: ${t}`:"")))}})),Ri(e,{jsonrpc:"2.0",method:t,id:o,params:n})}))}function Ui(e){xi.get(e).close(),clearTimeout(Oi.get(e)),clearTimeout(Ni.get(e))}async function Hi(e,t){let{url:n,...r}=t;gi.set(e,r),bi.set(e,{handler:r.existingFsmId?Gi:Li}),vi.set(e,new mi.EventEmitter),Ai.set(e,0),_i.set(e,new Map),Ti.set(e,[]);const a=new URL(n);Object.entries(r).filter((e=>{let[t]=e;return!["sign","debug"].includes(t)})).forEach((e=>{let[t,n]=e;return a.searchParams.set(ot(t),n)})),a.searchParams.set("protocol","json-rpc"),Mi(e,"connecting");const o=new fi.w3cwebsocket(a.toString());await new Promise(((t,n)=>Object.assign(o,{onerror:n,onopen:()=>{t(),Mi(e,"connected"),r.reconnectTx&&(ji(e,{handler:Zi}),setTimeout((async()=>Bi(e,(await $i(e,"channels.get.offchain_state",{})).signed_tx)))),Vi(e)},onclose:()=>{Mi(e,"disconnected"),clearTimeout(Oi.get(e)),clearTimeout(Ni.get(e))},onmessage:t=>{let{data:n}=t;return function(e,t){const n=Vo.parse(t),{debug:r=!1}=gi.get(e);if(r&&console.log("Receive message: ",n),n.id){const t=_i.get(e).get(n.id);try{t(n)}finally{_i.get(e).delete(n.id)}}else"channels.message"!==n.method?"channels.system.pong"!==n.method?(Ti.get(e).push(n),async function(e){if(Ii.get(e))return;const t=Ti.get(e);if(t.length){for(Ii.set(e,!0);t.length;){const n=t.shift();try{await qi(e,n)}catch(e){console.error("Error handling incoming message:"),console.error(n),console.error(e)}}Ii.set(e,!1)}}(e)):n.params.channel_id!==ki.get(e)&&null!=ki.get(e)||Vi(e):Pi(e,"message",n.params.data.message)}(e,n)}}))),xi.set(e,o)}async function Ki(e,t){const{signatures:n,encodedTx:r}=so(e).tx,a=await t(qr(r.rlpEncoded,"tx"));if("string"==typeof a){const{tx:e,txType:t}=so(a);return oo({signatures:n.concat(e.signatures),encodedTx:e.encodedTx.rlpEncoded},t).tx}return a}function Wi(e,t,n){return n&&n.reject&&n.reject(Object.assign(new ce(`Unexpected message received:\n\n${JSON.stringify(t)}`),{wsMessage:t})),{handler:Zi}}function Li(e,t,n){return"channels.info"===t.method?["channel_accept","funding_created"].includes(t.params.data.event)?(Mi(e,{channel_accept:"accepted",funding_created:"halfSigned"}[t.params.data.event]),{handler:Qi}):"channel_reestablished"===t.params.data.event?{handler:Xi}:"fsm_up"===t.params.data.event?(Si.set(e,t.params.data.fsm_id),{handler:Li}):{handler:Li}:"channels.error"===t.method?(Pi(e,"error",new se(t.payload.message)),{handler:wc}):void 0}async function Gi(e,t,n){return"channels.info"===t.method&&"fsm_up"===t.params.data.event?(Si.set(e,t.params.data.fsm_id),Bi(e,(await $i(e,"channels.get.offchain_state",{})).signed_tx),{handler:Zi}):Wi(0,t,n)}async function Qi(e,t,n){const r={initiator:"initiator_sign",responder:"responder_sign"}[gi.get(e).role];if(t.method===`channels.sign.${r}`){if(t.params.data.tx){const n=await gi.get(e).sign(r,t.params.data.tx);return Ri(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{tx:n}}),{handler:zi}}const n=await Ki(t.params.data.signed_tx,(t=>gi.get(e).sign(r,t)));return Ri(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{signed_tx:n}}),{handler:zi}}}function zi(e,t,n){if("channels.on_chain_tx"===t.method){if("funding_signed"===t.params.data.info&&"initiator"===gi.get(e).role)return{handler:Yi};if("funding_created"===t.params.data.info&&"responder"===gi.get(e).role)return{handler:Yi}}if("channels.info"===t.method&&"funding_signed"===t.params.data.event&&"initiator"===gi.get(e).role)return ki.set(e,t.params.channel_id),Mi(e,"signed"),{handler:zi}}function Yi(e,t,n){if("channels.info"===t.method){const e={funding_created:Yi,own_funding_locked:Yi,funding_locked:Xi}[t.params.data.event];if(e)return{handler:e}}if("channels.on_chain_tx"===t.method)return Pi(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),{handler:Yi}}function Xi(e,t,n){if("channels.info"===t.method&&"open"===t.params.data.event)return ki.set(e,t.params.channel_id),{handler:Ji}}function Ji(e,t,n){if("channels.update"===t.method)return Bi(e,t.params.data.state),{handler:Zi}}async function Zi(e,t,n){switch(t.method){case"channels.info":switch(t.params.data.event){case"update":case"withdraw_created":case"deposit_created":return{handler:nc};case"own_withdraw_locked":case"withdraw_locked":case"own_deposit_locked":case"deposit_locked":case"peer_disconnected":case"channel_reestablished":case"open":return Pi(e,t.params.data.event),{handler:Zi};case"fsm_up":return Si.set(e,t.params.data.fsm_id),{handler:Zi};case"timeout":case"close_mutual":case"shutdown":return{handler:Zi};case"closing":return Mi(e,"closing"),{handler:Zi};case"closed_confirmed":return Mi(e,"closed"),{handler:wc};case"died":return Mi(e,"died"),{handler:wc}}break;case"channels.on_chain_tx":return Pi(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),{handler:Zi};case"channels.leave":return{handler:Zi};case"channels.update":return Bi(e,t.params.data.state),{handler:Zi};case"channels.sign.shutdown_sign_ack":return nc(e,t,n)}}async function ec(e,t,n){if("channels.sign.update"===t.method){const{sign:r}=n;if(t.params.data.tx)return Ri(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:tc,state:n};const a=await Ki(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return Ri(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:a}}),{handler:tc,state:n};if("number"==typeof a)return Ri(e,{jsonrpc:"2.0",method:"channels.update",params:{error:a}}),{handler:ec,state:n}}if("channels.error"===t.method)return n.reject(new se(t.data.message)),{handler:Zi};if(t.error){const{data:e=[]}=t.error;return e.find((e=>1001===e.code))?n.reject(new M("Insufficient balance")):e.find((e=>1002===e.code))?n.reject(new P("Amount cannot be negative")):n.reject(new se(t.error.message)),{handler:Zi}}return"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Zi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Zi}):Wi(0,t,n)}function tc(e,t,n){return"channels.update"===t.method?(Bi(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Zi}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Zi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Zi}):t.error?(n.reject(new se(t.error.message)),{handler:Zi}):Wi(0,t,n)}async function nc(e,t,n){const[,r]=t.method.match(/^channels\.sign\.([^.]+)$/)||[];if(r){if(t.params.data.tx){const n=await gi.get(e).sign(r,t.params.data.tx,{updates:t.params.data.updates});if(n)return Ri(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{tx:n}}),{handler:Zi}}else{const a=await Ki(t.params.data.signed_tx,(n=>gi.get(e).sign(r,n,{updates:t.params.data.updates})));if("string"==typeof a)return Ri(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{signed_tx:a}}),{handler:Zi};if("number"==typeof a)return Ri(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{error:a}}),{handler:rc,state:n}}return Ri(e,{jsonrpc:"2.0",method:"channels.update.new",params:{from:ua().publicKey,to:ua().publicKey,amount:1}}),{handler:rc,state:n}}return Wi(0,t,n)}function rc(e,t,n){return t.error?{handler:rc,state:n}:"channels.conflict"===t.method?{handler:Zi}:Wi(0,t,n)}async function ac(e,t,n){if("channels.sign.shutdown_sign"===t.method){if(t.params.data.tx)return Ri(e,{jsonrpc:"2.0",method:"channels.shutdown_sign",params:{tx:await n.sign(t.params.data.tx)}}),{handler:oc,state:n};const r=await Ki(t.params.data.signed_tx,(e=>n.sign(e)));return Ri(e,{jsonrpc:"2.0",method:"channels.shutdown_sign",params:{signed_tx:r}}),{handler:oc,state:n}}return Wi(0,t,n)}function oc(e,t,n){return"channels.on_chain_tx"===t.method?{handler:wc,state:n}:Wi(0,t,n)}function sc(e,t,n){return"channels.leave"===t.method?(n.resolve({channelId:t.params.channel_id,signedTx:t.params.data.state}),Ui(e),{handler:wc}):"channels.error"===t.method?(n.reject(new se(t.data.message)),{handler:Zi}):Wi(0,t,n)}async function ic(e,t,n){if("channels.sign.withdraw_tx"===t.method){const{sign:r}=n;if(t.params.data.tx)return Ri(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:cc,state:n};const a=await Ki(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return Ri(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{signed_tx:a}}),{handler:cc,state:n};if("number"==typeof a)return Ri(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{error:a}}),{handler:cc,state:n}}return Wi(0,t,n)}function cc(e,t,n){if("channels.on_chain_tx"===t.method)return n.onOnChainTx&&n.onOnChainTx(t.params.data.tx),{handler:cc,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:cc,state:n}}return"channels.update"===t.method?(Bi(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Zi}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Zi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Zi}):Wi(0,t,n)}async function uc(e,t,n){if("channels.sign.deposit_tx"===t.method){const{sign:r}=n;if(t.params.data.tx)return Ri(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:dc,state:n};const a=await Ki(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return Ri(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{signed_tx:a}}),{handler:dc,state:n};if("number"==typeof a)return Ri(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{error:a}}),{handler:dc,state:n}}return Wi(0,t,n)}function dc(e,t,n){if("channels.on_chain_tx"===t.method)return n.onOnChainTx&&n.onOnChainTx(t.params.data.tx),{handler:dc,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:dc,state:n}}return"channels.update"===t.method?(Bi(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Zi}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Zi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Zi}):Wi(0,t,n)}async function lc(e,t,n){if("channels.sign.update"===t.method){if(t.params.data.tx)return Ri(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await n.sign(t.params.data.tx)}}),{handler:hc,state:n};const r=await Ki(t.params.data.signed_tx,(e=>n.sign(e)));if("string"==typeof r)return Ri(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:r}}),{handler:hc,state:n};if("number"==typeof r)return Ri(e,{jsonrpc:"2.0",method:"channels.update",params:{error:r}}),{handler:hc,state:n}}return Wi(0,t,n)}function hc(e,t,n){if("channels.update"===t.method){const{round:r}=so(t.params.data.state).tx.encodedTx.tx,a=gi.get(e)[{initiator:"initiatorId",responder:"responderId"}[gi.get(e).role]];return Bi(e,t.params.data.state),n.resolve({accepted:!0,address:ia(a,r),signedTx:t.params.data.state}),{handler:Zi}}return"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Zi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Zi}):Wi(0,t,n)}async function pc(e,t,n){if("channels.sign.update"===t.method){if(t.params.data.tx)return Ri(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await n.sign(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:gc,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 Ri(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:r}}),{handler:gc,state:n};if("number"==typeof r)return Ri(e,{jsonrpc:"2.0",method:"channels.update",params:{error:r}}),{handler:gc,state:n}}return Wi(0,t,n)}async function fc(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 Ri(e,{jsonrpc:"2.0",method:"channels.force_progress_sign",params:{signed_tx:r}}),{handler:mc,state:n}}return Wi(0,t,n)}function mc(e,t,n){return"channels.on_chain_tx"===t.method&&(n.onOnChainTx&&n.onOnChainTx(t.params.data),Pi(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})),Wi(0,t,n)}function gc(e,t,n){return"channels.update"===t.method?(Bi(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Zi}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Zi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Zi}):Wi(0,t,n)}function yc(e,t,n){return"channels.calls_pruned.reply"===t.method?(n.resolve(),{handler:Zi}):(n.reject(new ce("Unexpected message received")),{handler:wc})}function wc(e,t,n){return n?"closing"===t.params.data.event?{handler:wc,state:n}:"channel_closed"===t.params.data.info?(n.closeTx=t.params.data.tx,{handler:wc,state:n}):"closed_confirmed"===t.params.data.event?(n.resolve(n.closeTx),{handler:wc}):{handler:wc,state:n}:{handler:wc}}function bc(e){return Object.entries(e).reduce(((e,t)=>{let[n,r]=t;return{...e,[at(n)]:r}}),{})}Zi.enter=e=>{Mi(e,"open")};const xc=Po.compose({async init(e){Hi(this,e)},methods:{on:function(e,t){vi.get(this).on(e,t)},off:function(e,t){vi.get(this).removeListener(e,t)},status:function(){return yi.get(this)},state:async function(){return bc(await $i(this,"channels.get.offchain_state",{}))},round:function(){if(!wi.get(this))return null;const{txType:e,tx:t}=so(wi.get(this)).tx.encodedTx;switch(e){case sn.channelCreate:return 1;case sn.channelOffChain:case sn.channelWithdraw:case sn.channelDeposit:return parseInt(t.round,10);default:return null}},id:function(){return ki.get(this)},fsmId:function(){return Si.get(this)},update:function(e,t,n,r,a){return new Promise(((o,s)=>{Di(this,((e,t)=>t.handler===Zi),((i,c)=>(Ri(i,{jsonrpc:"2.0",method:"channels.update.new",params:{from:e,to:t,amount:n,meta:a}}),{handler:ec,state:{resolve:o,reject:s,sign:r}})))}))},poi:async function(e){let{accounts:t,contracts:n}=e;return(await $i(this,"channels.get.poi",{accounts:t,contracts:n})).poi},balances:async function(e){return Object.fromEntries((await $i(this,"channels.get.balances",{accounts:e})).map((e=>[e.account,e.balance])))},leave:function(){return new Promise(((e,t)=>{Di(this,((e,t)=>t.handler===Zi),((n,r)=>(Ri(n,{jsonrpc:"2.0",method:"channels.leave",params:{}}),{handler:sc,state:{resolve:e,reject:t}})))}))},shutdown:function(e){return new Promise(((t,n)=>{Di(this,((e,t)=>t.handler===Zi),((r,a)=>(Ri(r,{jsonrpc:"2.0",method:"channels.shutdown",params:{}}),{handler:ac,state:{sign:e,resolve:t,reject:n}})))}))},sendMessage:function(e,t){let n=e;"object"==typeof e&&(n=JSON.stringify(e));const r=e=>Ri(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(((o,s)=>{Di(this,((e,t)=>t.handler===Zi),((i,c)=>(Ri(i,{jsonrpc:"2.0",method:"channels.withdraw",params:{amount:e}}),{handler:ic,state:{sign:t,resolve:o,reject:s,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(((o,s)=>{Di(this,((e,t)=>t.handler===Zi),((i,c)=>(Ri(i,{jsonrpc:"2.0",method:"channels.deposit",params:{amount:e}}),{handler:uc,state:{sign:t,resolve:o,reject:s,onOnChainTx:n,onOwnDepositLocked:r,onDepositLocked:a}})))}))},createContract:function(e,t){let{code:n,callData:r,deposit:a,vmVersion:o,abiVersion:s}=e;return new Promise(((e,i)=>{Di(this,((e,t)=>t.handler===Zi),((c,u)=>(Ri(c,{jsonrpc:"2.0",method:"channels.update.new_contract",params:{code:n,call_data:r,deposit:a,vm_version:o,abi_version:s}}),{handler:lc,state:{sign:t,resolve:e,reject:i}})))}))},callContract:function(e,t){let{amount:n,callData:r,contract:a,abiVersion:o}=e;return new Promise(((e,s)=>{Di(this,((e,t)=>t.handler===Zi),((i,c)=>(Ri(i,{jsonrpc:"2.0",method:"channels.update.call_contract",params:{amount:n,call_data:r,contract_id:a,abi_version:o}}),{handler:pc,state:{resolve:e,reject:s,sign:t}})))}))},callContractStatic:async function(e){let{amount:t,callData:n,contract:r,abiVersion:a}=e;return bc(await $i(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 bc(await $i(this,"channels.get.contract_call",{caller_id:t,contract_id:n,round:r}))},getContractState:async function(e){const t=await $i(this,"channels.get.contract",{pubkey:e});return bc({...t,contract:bc(t.contract)})},disconnect:function(){return Ui(this)},cleanContractCalls:function(){return new Promise(((e,t)=>{Di(this,((e,t)=>t.handler===Zi),((n,r)=>(Ri(n,{jsonrpc:"2.0",method:"channels.clean_contract_calls",params:{}}),{handler:yc,state:{resolve:e,reject:t}})))}))},forceProgress:function(e,t){let{amount:n,callData:r,contract:a,abiVersion:o,gas:s=1e6,gasPrice:i=1e9,nonce:c}=e,{onOnChainTx:u}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((e,c)=>{Di(this,((e,t)=>t.handler===Zi),((d,l)=>(Ri(d,{jsonrpc:"2.0",method:"channels.force_progress",params:{amount:n,call_data:r,contract_id:a,abi_version:o,gas_price:i,gas:s}}),{handler:fc,state:{resolve:e,reject:c,sign:t,onOnChainTx:u}})))}))}},statics:{reconnect:async function(e,t){const{sign:n}=e;return xc({...e,reconnectTx:await n("reconnect",oo(t,sn.channelReconnect).tx)})}}});var vc=xc,Tc=os.compose(Es,ps,vs,ks,js,oi,Rs),Ic=Ao()({init(e){let{pageConnection:t,extConnection:n,allowCrossOrigin:r=!1}=e;if(!window)throw new H("Window object not found, you can run bridge only in browser");if(!t)throw new D("pageConnection required");if(!n)throw new D("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()}}}),Cc=(0,ko.required)({methods:{connect:ko.required,disconnect:ko.required,sendMessage:ko.required,isConnected:ko.required}});const Ec=()=>{const e="object"==typeof Ws(!0).extension,t=window&&window.location&&window.location.protocol.startsWith("http");return e&&t?window:Ls()?window.parent:void 0};var Ac=Ao()({init(){let{connectionInfo:e={},target:t=Ec(),self:n=window,origin:r,sendDirection:a,receiveDirection:o=qs.to_aepp,debug:s=!1,forceOrigin:i=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(a&&!Object.keys(qs).includes(a))throw new tt(`sendDirection must be one of [${Object.keys(qs)}]`);if(!Object.keys(qs).includes(o))throw new tt(`receiveDirection must be one of [${Object.keys(qs)}]`);this.connectionInfo={id:(0,wa.v4)(),...e};const c=n,u=t;this.origin=r,this.debug=s,this.forceOrigin=i,this.sendDirection=a,this.receiveDirection=o,this.subscribeFn=e=>c.addEventListener("message",e,!1),this.unsubscribeFn=e=>c.removeEventListener("message",e,!1),this.postFn=e=>u.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 et("You already connected");this.listener=(o,s)=>{if(o&&"object"==typeof o.data&&(a||!t||t===o.origin))if(r&&console.log("Receive message: ",o),o.data.type){if(o.data.type!==n)return;e(o.data.data,o.origin,o.source)}else e(o.data,o.origin,o.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 nt("You dont have connection. Please connect before");this.unsubscribeFn(this.listener),this.listener=null},isConnected:function(){return this.listener}}},Cc),kc=Ao()({init(){let{connection:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!window)throw new H("Window object not found, you can run wallet detector only in browser");this.connection=e||Ac({connectionInfo:{id:"spy"}}),this.wallets={}},methods:{scan(e){const{wallets:t}=this;this.connection.connect(((n,r,a)=>{let{method:o,params:s}=n;if(!o||!s||o!==Us.readyToConnect||t[s.id])return;const i={...s,async getConnection(){const e="extension"===this.type,t=e?window.origin:this.origin;return Ac({connectionInfo:this,sendDirection:e?qs.to_waellet:void 0,receiveDirection:e?qs.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()}}}),_c=Ao()({init(e){let{connectionInfo:t={},port:n,debug:r=!1}=e;if(!Ws().runtime)throw new rt("Runtime is not accessible in your environment");this.debug=r,this.connectionInfo=t,this.port=n||Ws().runtime.connect(t.id||void 0)},methods:{connect:function(e,t){if(this.isConnected())throw new et("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 nt("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)}}},Cc);const Oc=zr}(),I}()}));
|
|
2
2
|
//# sourceMappingURL=aepp-sdk.browser.js.map
|