@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.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("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("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])}(global,(function(e,t,n,r,a,o,s,i,c,l,d,u,h,p,f,m,g,y,w,b){return(()=>{var v={3007:e=>{e.exports=function(){return!0}},4115:(e,t,n)=>{var r=n(6224)((function(e){return function(){return e}}));e.exports=r},3195:(e,t,n)=>{var r=n(7455),a=n(9002)((function(e,t){return r(e.length,(function(){return e.apply(t,arguments)}))}));e.exports=a},7794:(e,t,n)=>{var r=n(7455),a=n(6224),o=n(1894),s=n(1186),i=n(793),c=a((function(e){var t=i(s,0,o((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:(e,t,n)=>{var r=n(7455),a=n(6224),o=n(9002),s=n(2738),i=o((function(e,t){return 1===e?a(t):r(e,s(e,[],t))}));e.exports=i},2892:(e,t,n)=>{var r=n(9002)((function(e,t){return null==t||t!=t?e:t}));e.exports=r},1481:(e,t,n)=>{var r=n(9002),a=n(4023),o=r((function(e,t){return a(e,t,[],[])}));e.exports=o},1383:(e,t,n)=>{var r=n(9002),a=n(4793),o=n(4877),s=n(8291),i=n(9488),c=n(123),l=n(368),d=r(a(["filter"],c,(function(e,t){return s(t)?i((function(n,r){return e(t[r])&&(n[r]=t[r]),n}),{},l(t)):o(e,t)})));e.exports=d},7414:(e,t,n)=>{var r=n(6224)(n(5161)(!0));e.exports=r},9134:(e,t,n)=>{var r=n(6224),a=n(2220),o=r((function(e){return a(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=o},5713:(e,t,n)=>{var r=n(1361),a=n(9002)(r);e.exports=a},7455: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,a){return t.apply(this,arguments)};case 5:return function(e,n,r,a,o){return t.apply(this,arguments)};case 6:return function(e,n,r,a,o,s){return t.apply(this,arguments)};case 7:return function(e,n,r,a,o,s,i){return t.apply(this,arguments)};case 8:return function(e,n,r,a,o,s,i,c){return t.apply(this,arguments)};case 9:return function(e,n,r,a,o,s,i,c,l){return t.apply(this,arguments)};case 10:return function(e,n,r,a,o,s,i,c,l,d){return t.apply(this,arguments)};default:throw new Error("First argument to _arity must be a non-negative integer no greater than ten")}}},4118:e=>{e.exports=function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}},8770:e=>{e.exports=function(e){return function(){return!e.apply(this,arguments)}}},6224:(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:(e,t,n)=>{var r=n(6224),a=n(6464);e.exports=function(e){return function t(n,o){switch(arguments.length){case 0:return t;case 1:return a(n)?t:r((function(t){return e(n,t)}));default:return a(n)&&a(o)?t:a(n)?r((function(t){return e(t,o)})):a(o)?r((function(t){return e(n,t)})):e(n,o)}}}},6370:(e,t,n)=>{var r=n(6224),a=n(9002),o=n(6464);e.exports=function(e){return function t(n,s,i){switch(arguments.length){case 0:return t;case 1:return o(n)?t:a((function(t,r){return e(n,t,r)}));case 2:return o(n)&&o(s)?t:o(n)?a((function(t,n){return e(t,s,n)})):o(s)?a((function(t,r){return e(n,t,r)})):r((function(t){return e(n,s,t)}));default:return o(n)&&o(s)&&o(i)?t:o(n)&&o(s)?a((function(t,n){return e(t,n,i)})):o(n)&&o(i)?a((function(t,n){return e(t,s,n)})):o(s)&&o(i)?a((function(t,r){return e(n,t,r)})):o(n)?r((function(t){return e(t,s,i)})):o(s)?r((function(t){return e(n,t,i)})):o(i)?r((function(t){return e(n,s,t)})):e(n,s,i)}}}},2738:(e,t,n)=>{var r=n(7455),a=n(6464);e.exports=function e(t,n,o){return function(){for(var s=[],i=0,c=t,l=0;l<n.length||i<arguments.length;){var d;l<n.length&&(!a(n[l])||i>=arguments.length)?d=n[l]:(d=arguments[i],i+=1),s[l]=d,a(d)||(c-=1),l+=1}return c<=0?o.apply(this,s):r(c,e(t,s,o))}}},4793:(e,t,n)=>{var r=n(219),a=n(9082);e.exports=function(e,t,n){return function(){if(0===arguments.length)return n();var o=Array.prototype.slice.call(arguments,0),s=o.pop();if(!r(s)){for(var i=0;i<e.length;){if("function"==typeof s[e[i]])return s[e[i]].apply(s,o);i+=1}if(a(s)){var c=t.apply(null,o);return c(s)}}return n.apply(this,arguments)}}},4023:(e,t,n)=>{var r=n(4118),a=n(2976),o=n(4931),s=n(7684),i=n(1361),c=n(368),l=n(6433);function d(e,t,n,o){var s=r(e),i=r(t);function c(e,t){return u(e,t,n.slice(),o.slice())}return!a((function(e,t){return!a(c,t,e)}),i,s)}function u(e,t,n,r){if(i(e,t))return!0;var a=l(e);if(a!==l(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(a){case"Arguments":case"Array":case"Object":if("function"==typeof e.constructor&&"Promise"===o(e.constructor))return e===t;break;case"Boolean":case"Number":case"String":if(typeof e!=typeof t||!i(e.valueOf(),t.valueOf()))return!1;break;case"Date":if(!i(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(a){case"Map":return e.size===t.size&&d(e.entries(),t.entries(),n.concat([e]),r.concat([t]));case"Set":return e.size===t.size&&d(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(!s(g,t)||!u(t[g],e[g],f,m))return!1;h-=1}return!0}e.exports=u},4877:e=>{e.exports=function(e,t){for(var n=0,r=t.length,a=[];n<r;)e(t[n])&&(a[a.length]=t[n]),n+=1;return a}},4931:e=>{e.exports=function(e){var t=String(e).match(/^function (\w*)/);return null==t?"":t[1]}},7684:e=>{e.exports=function(e,t){return Object.prototype.hasOwnProperty.call(t,e)}},7243:(e,t,n)=>{var r=n(6069);e.exports=function(e,t){return r(t,e,0)>=0}},2976:e=>{e.exports=function(e,t,n){for(var r=0,a=n.length;r<a;){if(e(t,n[r]))return!0;r+=1}return!1}},6069:(e,t,n)=>{var r=n(1481);e.exports=function(e,t,n){var a,o;if("function"==typeof e.indexOf)switch(typeof t){case"number":if(0===t){for(a=1/t;n<e.length;){if(0===(o=e[n])&&1/o===a)return n;n+=1}return-1}if(t!=t){for(;n<e.length;){if("number"==typeof(o=e[n])&&o!=o)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:(e,t,n)=>{var r=n(7684),a=Object.prototype.toString,o=function(){return"[object Arguments]"===a.call(arguments)?function(e){return"[object Arguments]"===a.call(e)}:function(e){return r("callee",e)}}();e.exports=o},219:e=>{e.exports=Array.isArray||function(e){return null!=e&&e.length>=0&&"[object Array]"===Object.prototype.toString.call(e)}},3219:(e,t,n)=>{var r=n(6224),a=n(219),o=n(190),s=r((function(e){return!!a(e)||!!e&&"object"==typeof e&&!o(e)&&(1===e.nodeType?!!e.length:0===e.length||e.length>0&&e.hasOwnProperty(0)&&e.hasOwnProperty(e.length-1))}));e.exports=s},7e3:e=>{e.exports=Number.isInteger||function(e){return e<<0===e}},8291:e=>{e.exports=function(e){return"[object Object]"===Object.prototype.toString.call(e)}},6464:e=>{e.exports=function(e){return null!=e&&"object"==typeof e&&!0===e["@@functional/placeholder"]}},190:e=>{e.exports=function(e){return"[object String]"===Object.prototype.toString.call(e)}},9082:e=>{e.exports=function(e){return null!=e&&"function"==typeof e["@@transducer/step"]}},5161:(e,t,n)=>{var r=n(3219);e.exports=function(e){return function t(n){for(var a,o,s,i=[],c=0,l=n.length;c<l;){if(r(n[c]))for(s=0,o=(a=e?t(n[c]):n[c]).length;s<o;)i[i.length]=a[s],s+=1;else i[i.length]=n[c];c+=1}return i}}},6692:e=>{e.exports=function(e,t){for(var n=0,r=t.length,a=Array(r);n<r;)a[n]=e(t[n]),n+=1;return a}},1361: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:(e,t,n)=>{var r=n(3219),a=n(9874),o=n(3195);function s(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 i(e,t,n,r){return e["@@transducer/result"](n[r](o(e["@@transducer/step"],e),t))}var c="undefined"!=typeof Symbol?Symbol.iterator:"@@iterator";e.exports=function(e,t,n){if("function"==typeof e&&(e=a(e)),r(n))return function(e,t,n){for(var r=0,a=n.length;r<a;){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 i(e,t,n,"fantasy-land/reduce");if(null!=n[c])return s(e,t,n[c]());if("function"==typeof n.next)return s(e,t,n);if("function"==typeof n.reduce)return i(e,t,n,"reduce");throw new TypeError("reduce: list must be array or iterable")}},3714:e=>{e.exports={init:function(){return this.xf["@@transducer/init"]()},result:function(e){return this.xf["@@transducer/result"](e)}}},123:(e,t,n)=>{var r=n(9002),a=n(3714),o=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=a.init,e.prototype["@@transducer/result"]=a.result,e.prototype["@@transducer/step"]=function(e,t){return this.f(t)?this.xf["@@transducer/step"](e,t):e},e}(),s=r((function(e,t){return new o(e,t)}));e.exports=s},2894:(e,t,n)=>{var r=n(9002),a=n(3714),o=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=a.init,e.prototype["@@transducer/result"]=a.result,e.prototype["@@transducer/step"]=function(e,t){return this.xf["@@transducer/step"](e,this.f(t))},e}(),s=r((function(e,t){return new o(e,t)}));e.exports=s},9874: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:(e,t,n)=>{var r=n(6224),a=n(7684),o=n(7587),s=!{toString:null}.propertyIsEnumerable("toString"),i=["constructor","valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],c=function(){"use strict";return arguments.propertyIsEnumerable("length")}(),l=function(e,t){for(var n=0;n<e.length;){if(e[n]===t)return!0;n+=1}return!1},d="function"!=typeof Object.keys||c?r((function(e){if(Object(e)!==e)return[];var t,n,r=[],d=c&&o(e);for(t in e)!a(t,e)||d&&"length"===t||(r[r.length]=t);if(s)for(n=i.length-1;n>=0;)a(t=i[n],e)&&!l(r,t)&&(r[r.length]=t),n-=1;return r})):r((function(e){return Object(e)!==e?[]:Object.keys(e)}));e.exports=d},7560:(e,t,n)=>{var r=n(9002)((function(e,t){return e<t}));e.exports=r},3594:(e,t,n)=>{var r=n(9002)((function(e,t){return e<=t}));e.exports=r},1894:(e,t,n)=>{var r=n(9002),a=n(4793),o=n(6692),s=n(9488),i=n(2894),c=n(2220),l=n(368),d=r(a(["fantasy-land/map","map"],i,(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 s((function(n,r){return n[r]=e(t[r]),n}),{},l(t));default:return o(e,t)}})));e.exports=d},1186:(e,t,n)=>{var r=n(9002)((function(e,t){return t>e?t:e}));e.exports=r},7041:(e,t,n)=>{var r=n(9002),a=n(190),o=r((function(e,t){var n=e<0?t.length+e:e;return a(t)?t.charAt(n):t[n]}));e.exports=o},7430:(e,t,n)=>{var r=n(9002),a=n(4439),o=r((function(e,t){return a([e],t)[0]}));e.exports=o},4439:(e,t,n)=>{var r=n(9002),a=n(7e3),o=n(7041),s=r((function(e,t){return e.map((function(e){for(var n,r=t,s=0;s<e.length;){if(null==r)return;n=e[s],r=a(n)?o(n,r):r[n],s+=1}return r}))}));e.exports=s},5206:(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:(e,t,n)=>{var r=n(9002),a=n(7430),o=r((function(e,t){return a([e],t)}));e.exports=o},793:(e,t,n)=>{var r=n(6370)(n(9488));e.exports=r},3266:(e,t,n)=>{var r=n(8770),a=n(9002),o=n(1383),s=a((function(e,t){return o(r(e),t)}));e.exports=s},6433:(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:(e,t,n)=>{var r=n(2976),a=n(9002)((function(e,t){for(var n,a=0,o=t.length,s=[];a<o;)n=t[a],r(e,n,s)||(s[s.length]=n),a+=1;return s}));e.exports=a},6290:(e,t,n)=>{var r=n(7243),a=n(9002),o=n(9134),s=n(3266),i=a((function(e,t){return s(o(r)(e),t)}));e.exports=i},590:e=>{"use strict";e.exports=p},8367:e=>{"use strict";e.exports=b},3656:e=>{"use strict";e.exports=u},1031:t=>{"use strict";t.exports=e},8081:e=>{"use strict";e.exports=t},4752:e=>{"use strict";e.exports=o},9558:e=>{"use strict";e.exports=n},2405:e=>{"use strict";e.exports=w},817:e=>{"use strict";e.exports=i},2139:e=>{"use strict";e.exports=r},6311:e=>{"use strict";e.exports=d},3205:e=>{"use strict";e.exports=m},8097:e=>{"use strict";e.exports=g},2001:e=>{"use strict";e.exports=c},2074:e=>{"use strict";e.exports=s},4021:e=>{"use strict";e.exports=l},9174:e=>{"use strict";e.exports=a},1001:e=>{"use strict";e.exports=y},3323:e=>{"use strict";e.exports=h},3752:e=>{"use strict";e.exports=f}},x={};function T(e){var t=x[e];if(void 0!==t)return t.exports;var n=x[e]={exports:{}};return v[e](n,n.exports,T),n.exports}T.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return T.d(t,{a:t}),t},T.d=(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=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),T.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var C={};return(()=>{"use strict";T.r(C),T.d(C,{ACITransformation:()=>i,AccountBase:()=>Ea,AccountMultiple:()=>Ka,Ae:()=>ka,Aens:()=>La,AeppWalletHelpers:()=>l,AeppWalletSchema:()=>c,AmountFormatter:()=>o,BrowserRuntimeConnection:()=>li,BrowserWindowMessageConnection:()=>ii,Bytes:()=>e,Chain:()=>Kr,ChainNode:()=>Ba,Channel:()=>ni,ContentScriptBridge:()=>ai,Contract:()=>io,ContractCompilerAPI:()=>Qa,Crypto:()=>r,GeneralizeAccount:()=>uo,HdWallet:()=>Fr,Keystore:()=>a,MemoryAccount:()=>Ha,Node:()=>Ia,NodePool:()=>ja,Oracle:()=>$o,RpcAepp:()=>Do,RpcWallet:()=>Go,SCHEMA:()=>t,Transaction:()=>Da,Tx:()=>Hr,TxBuilder:()=>s,TxBuilderHelper:()=>n,Universal:()=>ri,WalletDetector:()=>ci,genSwaggerClient:()=>wa,getDefaultPointerKey:()=>di,verifyTransaction:()=>Na});var e={};T.r(e),T.d(e,{bigNumberToByteArray:()=>A,str2buf:()=>_,toBytes:()=>E});var t={};T.r(t),T.d(t,{ABI_VERSIONS:()=>Se,AMOUNT:()=>Q,BASE_GAS:()=>Me,CLIENT_TTL:()=>ne,CONTRACT_BYTE_CODE_LIMA:()=>Ge,DEFAULT_FEE:()=>qe,DEPOSIT:()=>G,DRY_RUN_ACCOUNT:()=>J,FIELD_TYPES:()=>Be,GAS:()=>Y,GAS_PER_BYTE:()=>Re,ID_TAG:()=>De,ID_TAG_PREFIX:()=>He,KEY_BLOCK_INTERVAL:()=>Ve,MAX_AUTH_FUN_GAS:()=>X,MIN_GAS_PRICE:()=>z,NAME_BID_MAX_LENGTH:()=>ce,NAME_BID_RANGES:()=>de,NAME_BID_TIMEOUTS:()=>ue,NAME_BID_TIMEOUT_BLOCKS:()=>se,NAME_FEE:()=>re,NAME_FEE_BID_INCREMENT:()=>oe,NAME_FEE_MULTIPLIER:()=>ae,NAME_MAX_CLIENT_TTL:()=>te,NAME_MAX_LENGTH_FEE:()=>ie,NAME_MAX_TTL:()=>ee,NAME_TTL:()=>Z,OBJECT_ID_TX_TYPE:()=>Pe,OBJECT_TAG_SIGNED_TRANSACTION:()=>he,ORACLE_TTL:()=>K,POINTER_KEY_BY_PREFIX:()=>le,PREFIX_ID_TAG:()=>Ue,PROTOCOL_VERSIONS:()=>Ne,PROTOCOL_VM_ABI:()=>je,QUERY_FEE:()=>H,QUERY_TTL:()=>W,RESPONSE_TTL:()=>L,TX_DESERIALIZATION_SCHEMA:()=>Dt,TX_FEE_BASE_GAS:()=>Fe,TX_FEE_OTHER_GAS:()=>$e,TX_SERIALIZATION_SCHEMA:()=>$t,TX_TTL:()=>U,TX_TYPE:()=>ke,VALIDATION_MESSAGE:()=>We,VM_VERSIONS:()=>Oe,VSN:()=>$,VSN_2:()=>D});var n={};T.r(n),T.d(n,{buildContractId:()=>Lt,buildPointers:()=>rn,commitmentHash:()=>zt,computeAuctionEndBlock:()=>un,computeBidFee:()=>dn,createSalt:()=>Kt,decode:()=>Xt,encode:()=>Jt,ensureNameValid:()=>on,formatSalt:()=>Qt,getDefaultPointerKey:()=>cn,getMinimumNameFee:()=>ln,isAuctionName:()=>hn,isNameValid:()=>sn,oracleQueryId:()=>Gt,produceNameId:()=>Yt,readId:()=>en,readInt:()=>nn,readPointers:()=>an,writeId:()=>Zt,writeInt:()=>tn});var r={};T.r(r),T.d(r,{addressFromDecimal:()=>gn,aeEncodeKey:()=>Mn,checkSumFn:()=>vn,decodeBase58Check:()=>Cn,decodeBase64Check:()=>xn,decryptKey:()=>On,encodeBase58Check:()=>Tn,encodeBase64Check:()=>bn,encodeContractAddress:()=>An,encodeUnsigned:()=>In,encryptKey:()=>kn,generateKeyPair:()=>_n,generateKeyPairFromSecret:()=>En,getAddressFromPriv:()=>fn,hash:()=>F,isAddressValid:()=>mn,isValidKeypair:()=>Rn,messageToHash:()=>jn,salt:()=>wn,sha256hash:()=>yn,sign:()=>Sn,signMessage:()=>Pn,verify:()=>Nn,verifyMessage:()=>Bn});var a={};T.r(a),T.d(a,{deriveKeyUsingArgon2id:()=>Dn,dump:()=>Qn,getAddressFromPriv:()=>Ln,recover:()=>Gn,validateKeyObj:()=>Yn});var o={};T.r(o),T.d(o,{AE_AMOUNT_FORMATS:()=>Xn,DENOMINATION_MAGNITUDE:()=>Jn,default:()=>or,formatAmount:()=>tr,toAe:()=>Zn,toAettos:()=>er});var s={};T.r(s),T.d(s,{buildRawTx:()=>yr,buildTx:()=>vr,buildTxHash:()=>Tr,calculateFee:()=>mr,calculateMinFee:()=>pr,default:()=>Cr,unpackRawTx:()=>wr,unpackTx:()=>xr,validateParams:()=>gr});var i={};T.r(i),T.d(i,{SOPHIA_TYPES:()=>Ir,decodeEvents:()=>Ar});var c={};T.r(c),T.d(c,{ERRORS:()=>Co,MESSAGE_DIRECTION:()=>mo,METHODS:()=>xo,NOTIFICATIONS:()=>yo,REQUESTS:()=>wo,RPC_STATUS:()=>To,SUBSCRIPTION_TYPES:()=>vo,SUBSCRIPTION_VALUES:()=>bo,VERSION:()=>fo,WALLET_TYPE:()=>go});var l={};T.r(l),T.d(l,{getBrowserAPI:()=>Io,getHandler:()=>_o,isInIframe:()=>Ao,isValidAccounts:()=>jo,message:()=>ko,resolveOnAccount:()=>Po,responseMessage:()=>Oo,sendMessage:()=>Eo,sendResponseMessage:()=>So,voidFn:()=>No});var d=T(2139),u=T.n(d),h=T(9174),p=T.n(h),f=T(4752),m=T.n(f),g=T(2074),y=T.n(g),w=T(9558),b=T.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 I(e){return e.length%2==0&&/^[0-9a-f]+$/i.test(e)}function A(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),Buffer.from(t,"hex")}function E(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(null==e)return Buffer.from([]);if(Number.isInteger(e)||b().isBigNumber(e)||t)return b().isBigNumber(e)||(e=new(b())(e)),A(e);if("string"==typeof e)return Buffer.from(e);throw new Error("Byte serialization not supported")}function _(e,t){return Buffer.from(e,t??(I(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 k=T(3007),O=T.n(k),S=T(3594),N=T.n(S),j=T(4115),P=T.n(j),B=T(7560),M=T.n(B),R=T(7794),q=T.n(R),V=T(817);function F(e){return Buffer.from((0,V.blake2b)(e,null,32))}const $=1,D=2,U=0,H=3e4,K={type:"delta",value:500},W={type:"delta",value:10},L={type:"delta",value:10},G=0,Q=0,Y=25e3,z=1e9,X=5e4,J={pub:"ak_11111111111111111111111111111111273Yts",amount:"100000000000000000000000000000000000"},Z=18e4,ee=36e3,te=84600,ne=te,re=0,ae=1e14,oe=.05,se=480,ie=31,ce=12,le={ak:"account_pubkey",ok:"oracle_pubkey",ct:"contract_pubkey",ch:"channel"},de={31:b()(3).times(ae),30:b()(5).times(ae),29:b()(8).times(ae),28:b()(13).times(ae),27:b()(21).times(ae),26:b()(34).times(ae),25:b()(55).times(ae),24:b()(89).times(ae),23:b()(144).times(ae),22:b()(233).times(ae),21:b()(377).times(ae),20:b()(610).times(ae),19:b()(987).times(ae),18:b()(1597).times(ae),17:b()(2584).times(ae),16:b()(4181).times(ae),15:b()(6765).times(ae),14:b()(10946).times(ae),13:b()(17711).times(ae),12:b()(28657).times(ae),11:b()(46368).times(ae),10:b()(75025).times(ae),9:b()(121393).times(ae),8:b()(196418).times(ae),7:b()(317811).times(ae),6:b()(514229).times(ae),5:b()(832040).times(ae),4:b()(1346269).times(ae),3:b()(2178309).times(ae),2:b()(3524578).times(ae),1:b()(5702887).times(ae)},ue={13:b()(0),12:b()(se),8:b()(31).times(se),4:b()(62).times(se)},he=11,pe=521,fe=570,me=571,ge=572,ye=573,we=574,be=575,ve=621,xe=622,Te=623,Ce=624,Ie=625,Ae=626,Ee=(e,t,n)=>[e,t,n],_e=(e,t)=>[e,t],ke={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"},Oe={NO_VM:0,SOPHIA:1,SOPHIA_IMPROVEMENTS_MINERVA:3,SOPHIA_IMPROVEMENTS_FORTUNA:4,FATE:5,SOPHIA_IMPROVEMENTS_LIMA:6,FATE_2:7},Se={NO_ABI:0,SOPHIA:1,FATE:3},Ne={IRIS:5},je={[Ne.IRIS]:{[ke.contractCreate]:{vmVersion:[Oe.FATE_2],abiVersion:[Se.FATE]},[ke.contractCall]:{vmVersion:[Oe.FATE_2,Oe.FATE,Oe.SOPHIA_IMPROVEMENTS_LIMA,Oe.SOPHIA_IMPROVEMENTS_FORTUNA,Oe.SOPHIA,Oe.SOPHIA_IMPROVEMENTS_MINERVA],abiVersion:[Se.FATE,Se.SOPHIA]},[ke.oracleRegister]:{vmVersion:[],abiVersion:[Se.NO_ABI,Se.SOPHIA]}}},Pe={10:ke.account,[he]:ke.signed,12:ke.spend,32:ke.nameClaim,33:ke.namePreClaim,34:ke.nameUpdate,35:ke.nameRevoke,36:ke.nameTransfer,40:ke.contract,42:ke.contractCreate,43:ke.contractCall,41:ke.contractCallResult,22:ke.oracleRegister,25:ke.oracleExtend,23:ke.oracleQuery,24:ke.oracleResponse,50:ke.channelCreate,53:ke.channelCloseMutual,54:ke.channelCloseSolo,55:ke.channelSlash,[pe]:ke.channelForceProgress,51:ke.channelDeposit,52:ke.channelWithdraw,56:ke.channelSettle,57:ke.channelOffChain,58:ke.channel,59:ke.channelSnapshotSolo,[fe]:ke.channelOffChainUpdateTransfer,[me]:ke.channelOffChainUpdateDeposit,[ge]:ke.channelOffChainUpdateWithdrawal,[ye]:ke.channelOffChainCreateContract,[we]:ke.channelOffChainCallContract,[be]:ke.channelReconnect,60:ke.proofOfInclusion,62:ke.stateTrees,63:ke.merklePatriciaTree,64:ke.merklePatriciaTreeValue,[ve]:ke.contractsTree,[xe]:ke.contractCallsTree,[Te]:ke.channelsTree,[Ce]:ke.nameserviceTree,[Ie]:ke.oraclesTree,[Ae]:ke.accountsTree,80:ke.gaAttach,81:ke.gaMeta,82:ke.payingFor,70:ke.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"},Me=15e3,Re=20,qe=2e4,Ve=3,Fe=e=>{const t={[ke.channelForceProgress]:30,[ke.channelOffChain]:0,[ke.channelOffChainCallContract]:0,[ke.channelOffChainCreateContract]:0,[ke.channelOffChainUpdateDeposit]:0,[ke.channelOffChainUpdateWithdrawal]:0,[ke.channelOffChainUpdateTransfer]:0,[ke.contractCreate]:5,[ke.contractCall]:12,[ke.gaAttach]:5,[ke.gaMeta]:5,[ke.payingFor]:.2}[e]||1;return new(b())(t*Me)},$e=(e,t,n)=>{let{relativeTtl:r,innerTxSize:a}=n;switch(e){case ke.oracleRegister:case ke.oracleExtend:case ke.oracleQuery:case ke.oracleResponse:return new(b())(t).times(Re).plus(Math.ceil(32e3*r/Math.floor(525600/Ve)));case ke.gaMeta:case ke.payingFor:return new(b())(t).minus(a).times(Re);default:return new(b())(t).times(Re)}},De={account:1,name:2,commitment:3,oracle:4,contract:5,channel:6},Ue={ak:De.account,nm:De.name,cm:De.commitment,ok:De.oracle,ct:De.contract,ch:De.channel},He=(Ke=Ue,Object.entries(Ke).reduce(((e,t)=>{let[n,r]=t;return(e[r]=n)&&e}),{}));var Ke;const We={[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'}},Le=[Ee("tag",Be.int),Ee("VSN",Be.int)],Ge=[...Le,Ee("sourceCodeHash",Be.rawBinary),Ee("typeInfo",Be.sophiaCodeTypeInfo),Ee("byteCode",Be.rawBinary),Ee("compilerVersion",Be.string),Ee("payable",Be.bool)],Qe=[...Le,Ee("flags",Be.int),Ee("nonce",Be.int),Ee("balance",Be.int),Ee("gaContract",Be.id,["ct","nm"]),Ee("gaAuthFun",Be.binary,"cb")],Ye=[...Le,Ee("senderId",Be.id,"ak"),Ee("recipientId",Be.id,["ak","nm"]),Ee("amount",Be.amount),Ee("fee",Be.int),Ee("ttl",Be.int),Ee("nonce",Be.int),Ee("payload",Be.payload)],ze=[...Le,Ee("signatures",Be.signatures),Ee("encodedTx",Be.rlpBinary)],Xe=[...Le,Ee("accountId",Be.id,"ak"),Ee("nonce",Be.int),Ee("commitmentId",Be.id,"cm"),Ee("fee",Be.int),Ee("ttl",Be.int)],Je=[...Le,Ee("accountId",Be.id,"ak"),Ee("nonce",Be.int),Ee("name",Be.binary,"nm"),Ee("nameSalt",Be.int),Ee("nameFee",Be.amount),Ee("fee",Be.int),Ee("ttl",Be.int)],Ze=[...Le,Ee("accountId",Be.id,"ak"),Ee("nonce",Be.int),Ee("nameId",Be.id,"nm"),Ee("nameTtl",Be.int),Ee("pointers",Be.pointers),Ee("clientTtl",Be.int),Ee("fee",Be.int),Ee("ttl",Be.int)],et=[...Le,Ee("accountId",Be.id,"ak"),Ee("nonce",Be.int),Ee("nameId",Be.id,"nm"),Ee("recipientId",Be.id,["ak","nm"]),Ee("fee",Be.int),Ee("ttl",Be.int)],tt=[...Le,Ee("accountId",Be.id,"ak"),Ee("nonce",Be.int),Ee("nameId",Be.id,"nm"),Ee("fee",Be.int),Ee("ttl",Be.int)],nt=[...Le,Ee("owner",Be.id,"ak"),Ee("ctVersion",Be.int),Ee("code",Be.binary,"cb"),Ee("log",Be.binary,"cb"),Ee("active",Be.bool),Ee("referers",Be.ids,"ak"),Ee("deposit",Be.amount)],rt=[...Le,Ee("ownerId",Be.id,"ak"),Ee("nonce",Be.int),Ee("code",Be.binary,"cb"),Ee("authFun",Be.rawBinary),Ee("ctVersion",Be.ctVersion),Ee("fee",Be.int),Ee("ttl",Be.int),Ee("gas",Be.int),Ee("gasPrice",Be.int),Ee("callData",Be.binary,"cb")],at=[...Le,Ee("gaId",Be.id,"ak"),Ee("authData",Be.binary,"cb"),Ee("abiVersion",Be.int),Ee("fee",Be.int),Ee("gas",Be.int),Ee("gasPrice",Be.int),Ee("tx",Be.rlpBinary)],ot=[...Le,Ee("payerId",Be.id,"ak"),Ee("nonce",Be.int),Ee("fee",Be.int),Ee("tx",Be.rlpBinary)],st=[...Le,Ee("ownerId",Be.id,"ak"),Ee("nonce",Be.int),Ee("code",Be.binary,"cb"),Ee("ctVersion",Be.ctVersion),Ee("fee",Be.int),Ee("ttl",Be.int),Ee("deposit",Be.amount),Ee("amount",Be.amount),Ee("gas",Be.int),Ee("gasPrice",Be.int),Ee("callData",Be.binary,"cb")],it=[...Le,Ee("callerId",Be.id,"ak"),Ee("nonce",Be.int),Ee("contractId",Be.id,["ct","nm"]),Ee("abiVersion",Be.int),Ee("fee",Be.int),Ee("ttl",Be.int),Ee("amount",Be.amount),Ee("gas",Be.int),Ee("gasPrice",Be.int),Ee("callData",Be.binary,"cb")],ct=[...Le,Ee("callerId",Be.id,"ak"),Ee("callerNonce",Be.int),Ee("height",Be.int),Ee("contractId",Be.id,"ct"),Ee("gasPrice",Be.int),Ee("gasUsed",Be.int),Ee("returnValue",Be.binary,"cb"),Ee("returnType",Be.callReturnType),Ee("log",Be.rawBinary)],lt=[...Le,Ee("accountId",Be.id,"ak"),Ee("nonce",Be.int),Ee("queryFormat",Be.string),Ee("responseFormat",Be.string),Ee("queryFee",Be.amount),Ee("oracleTtlType",Be.int),Ee("oracleTtlValue",Be.int),Ee("fee",Be.int),Ee("ttl",Be.int),Ee("abiVersion",Be.int)],dt=[...Le,Ee("oracleId",Be.id,["ok","nm"]),Ee("nonce",Be.int),Ee("oracleTtlType",Be.int),Ee("oracleTtlValue",Be.int),Ee("fee",Be.int),Ee("ttl",Be.int)],ut=[...Le,Ee("senderId",Be.id,"ak"),Ee("nonce",Be.int),Ee("oracleId",Be.id,["ok","nm"]),Ee("query",Be.string),Ee("queryFee",Be.amount),Ee("queryTtlType",Be.int),Ee("queryTtlValue",Be.int),Ee("responseTtlType",Be.int),Ee("responseTtlValue",Be.int),Ee("fee",Be.int),Ee("ttl",Be.int)],ht=[...Le,Ee("oracleId",Be.id,"ok"),Ee("nonce",Be.int),Ee("queryId",Be.binary,"oq"),Ee("response",Be.string),Ee("responseTtlType",Be.int),Ee("responseTtlValue",Be.int),Ee("fee",Be.int),Ee("ttl",Be.int)],pt=[...Le,Ee("initiator",Be.id,"ak"),Ee("initiatorAmount",Be.int),Ee("responder",Be.id,"ak"),Ee("responderAmount",Be.int),Ee("channelReserve",Be.int),Ee("lockPeriod",Be.int),Ee("ttl",Be.int),Ee("fee",Be.int),Ee("initiatorDelegateIds",Be.string),Ee("responderDelegateIds",Be.string),Ee("stateHash",Be.binary,"st"),Ee("nonce",Be.int)],ft=[...Le,Ee("channelId",Be.id,"ch"),Ee("fromId",Be.id,"ak"),Ee("amount",Be.int),Ee("ttl",Be.int),Ee("fee",Be.int),Ee("stateHash",Be.binary,"st"),Ee("round",Be.int),Ee("nonce",Be.int)],mt=[...Le,Ee("channelId",Be.id,"ch"),Ee("toId",Be.id,"ak"),Ee("amount",Be.int),Ee("ttl",Be.int),Ee("fee",Be.int),Ee("stateHash",Be.binary,"st"),Ee("round",Be.int),Ee("nonce",Be.int)],gt=[...Le,Ee("channelId",Be.id,"ch"),Ee("fromId",Be.id,"ak"),Ee("initiatorAmountFinal",Be.int),Ee("responderAmountFinal",Be.int),Ee("ttl",Be.int),Ee("fee",Be.int),Ee("nonce",Be.int)],yt=[...Le,Ee("channelId",Be.id,"ch"),Ee("fromId",Be.id,"ak"),Ee("payload",Be.binary,"tx"),Ee("poi",Be.binary,"pi"),Ee("ttl",Be.int),Ee("fee",Be.int),Ee("nonce",Be.int)],wt=[...Le,Ee("channelId",Be.id,"ch"),Ee("fromId",Be.id,"ak"),Ee("payload",Be.binary,"tx"),Ee("poi",Be.binary,"pi"),Ee("ttl",Be.int),Ee("fee",Be.int),Ee("nonce",Be.int)],bt=[...Le,Ee("channelId",Be.id,"ch"),Ee("fromId",Be.id,"ak"),Ee("initiatorAmountFinal",Be.int),Ee("responderAmountFinal",Be.int),Ee("ttl",Be.int),Ee("fee",Be.int),Ee("nonce",Be.int)],vt=[...Le,Ee("channelId",Be.id,"ch"),Ee("fromId",Be.id,"ak"),Ee("payload",Be.binary,"tx"),Ee("round",Be.int),Ee("update",Be.binary),Ee("stateHash",Be.binary),Ee("offChainTrees",Be.stateTree),Ee("ttl",Be.int),Ee("fee",Be.int),Ee("nonce",Be.int)],xt=[...Le,Ee("channelId",Be.id,"ch"),Ee("round",Be.int),Ee("stateHash",Be.binary,"st")],Tt=[...Le,Ee("initiator",Be.id,"ak"),Ee("responder",Be.id,"ak"),Ee("channelAmount",Be.int),Ee("initiatorAmount",Be.int),Ee("responderAmount",Be.int),Ee("channelReserve",Be.int),Ee("initiatorDelegateIds",Be.ids),Ee("responderDelegateIds",Be.ids),Ee("stateHash",Be.hex),Ee("round",Be.int),Ee("soloRound",Be.int),Ee("lockPeriod",Be.int),Ee("lockedUntil",Be.int),Ee("initiatorAuth",Be.binary,"cb"),Ee("responderAuth",Be.binary,"cb")],Ct=[...Le,Ee("channelId",Be.id,"ch"),Ee("fromId",Be.id,"ak"),Ee("payload",Be.binary,"tx"),Ee("ttl",Be.int),Ee("fee",Be.int),Ee("nonce",Be.int)],It=[...Le,Ee("owner",Be.id,"ak"),Ee("ctVersion",Be.int),Ee("code",Be.binary,"cb"),Ee("deposit",Be.int),Ee("callData",Be.binary,"cb")],At=[...Le,Ee("caller",Be.id,"ak"),Ee("contract",Be.id,"ct"),Ee("abiVersion",Be.int),Ee("amount",Be.int),Ee("callData",Be.binary,"cb"),Ee("callStack",Be.callStack),Ee("gasPrice",Be.int),Ee("gasLimit",Be.int)],Et=[...Le,Ee("channelId",Be.id,"ch"),Ee("round",Be.int),Ee("role",Be.string),Ee("pubkey",Be.id,"ak")],_t=[...Le,Ee("from",Be.id,"ak"),Ee("to",Be.id,"ak"),Ee("amount",Be.int)],kt=[...Le,Ee("from",Be.id,"ak"),Ee("amount",Be.int)],Ot=[...Le,Ee("from",Be.id,"ak"),Ee("amount",Be.int)],St=[...Le,Ee("accounts",Be.mptrees),Ee("calls",Be.mptrees),Ee("channels",Be.mptrees),Ee("contracts",Be.mptrees),Ee("ns",Be.mptrees),Ee("oracles",Be.mptrees)],Nt=[...Le,Ee("contracts",Be.rlpBinary),Ee("calls",Be.rlpBinary),Ee("channels",Be.rlpBinary),Ee("ns",Be.rlpBinary),Ee("oracles",Be.rlpBinary),Ee("accounts",Be.rlpBinary)],jt=[...Le,Ee("values",Be.rlpBinaries)],Pt=[...Le,Ee("key",Be.hex),Ee("value",Be.rawBinary)],Bt=[...Le,Ee("contracts",Be.rlpBinary)],Mt=[...Le,Ee("calls",Be.rlpBinary)],Rt=[...Le,Ee("channels",Be.rlpBinary)],qt=[...Le,Ee("mtree",Be.rlpBinary)],Vt=[...Le,Ee("otree",Be.rlpBinary)],Ft=[...Le,Ee("accounts",Be.rlpBinary)],$t={[ke.account]:{2:_e(Qe,10)},[ke.signed]:{1:_e(ze,he)},[ke.spend]:{1:_e(Ye,12)},[ke.namePreClaim]:{1:_e(Xe,33)},[ke.nameClaim]:{2:_e(Je,32)},[ke.nameUpdate]:{1:_e(Ze,34)},[ke.nameTransfer]:{1:_e(et,36)},[ke.nameRevoke]:{1:_e(tt,35)},[ke.contract]:{1:_e(nt,40)},[ke.contractCreate]:{1:_e(st,42)},[ke.contractCall]:{1:_e(it,43)},[ke.contractCallResult]:{1:_e(ct,41)},[ke.oracleRegister]:{1:_e(lt,22)},[ke.oracleExtend]:{1:_e(dt,25)},[ke.oracleQuery]:{1:_e(ut,23)},[ke.oracleResponse]:{1:_e(ht,24)},[ke.channelCreate]:{2:_e(pt,50)},[ke.channelCloseMutual]:{1:_e(gt,53)},[ke.channelCloseSolo]:{1:_e(yt,54)},[ke.channelSlash]:{1:_e(wt,55)},[ke.channelDeposit]:{1:_e(ft,51)},[ke.channelWithdraw]:{1:_e(mt,52)},[ke.channelSettle]:{1:_e(bt,56)},[ke.channelForceProgress]:{1:_e(vt,pe)},[ke.channelOffChain]:{2:_e(xt,57)},[ke.channel]:{3:_e(Tt,58)},[ke.channelSnapshotSolo]:{1:_e(Ct,59)},[ke.channelOffChainUpdateTransfer]:{1:_e(_t,fe)},[ke.channelOffChainUpdateDeposit]:{1:_e(kt,me)},[ke.channelOffChainUpdateWithdrawal]:{1:_e(Ot,ge)},[ke.channelOffChainCreateContract]:{1:_e(It,ye)},[ke.channelOffChainCallContract]:{1:_e(At,we)},[ke.channelReconnect]:{1:_e(Et,be)},[ke.proofOfInclusion]:{1:_e(St,60)},[ke.stateTrees]:{1:_e(Nt,62)},[ke.merklePatriciaTree]:{1:_e(jt,63)},[ke.merklePatriciaTreeValue]:{1:_e(Pt,64)},[ke.contractsTree]:{1:_e(Bt,ve)},[ke.contractCallsTree]:{1:_e(Mt,xe)},[ke.channelsTree]:{1:_e(Rt,Te)},[ke.nameserviceTree]:{1:_e(qt,Ce)},[ke.oraclesTree]:{1:_e(Vt,Ie)},[ke.accountsTree]:{1:_e(Ft,Ae)},[ke.gaAttach]:{1:_e(rt,80)},[ke.gaMeta]:{2:_e(at,81)},[ke.payingFor]:{1:_e(ot,82)}},Dt={10:{2:_e(Qe,10)},[he]:{1:_e(ze,he)},12:{1:_e(Ye,12)},33:{1:_e(Xe,33)},32:{2:_e(Je,32)},34:{1:_e(Ze,34)},36:{1:_e(et,36)},35:{1:_e(tt,35)},40:{1:_e(nt,40)},42:{1:_e(st,42)},43:{1:_e(it,43)},41:{1:_e(ct,41)},22:{1:_e(lt,22)},25:{1:_e(dt,25)},23:{1:_e(ut,23)},24:{1:_e(ht,24)},50:{2:_e(pt,50)},53:{1:_e(gt,53)},54:{1:_e(yt,54)},55:{1:_e(wt,55)},51:{1:_e(ft,51)},52:{1:_e(mt,52)},56:{1:_e(bt,56)},57:{2:_e(xt,57)},58:{3:_e(Tt,58)},59:{1:_e(Ct,59)},[fe]:{1:_e(_t,fe)},[me]:{1:_e(kt,me)},[ge]:{1:_e(Ot,ge)},[ye]:{1:_e(It,ye)},[we]:{1:_e(At,we)},[be]:{1:_e(Et,be)},60:{1:_e(St,60)},62:{1:_e(Nt,62)},63:{1:_e(jt,63)},64:{1:_e(Pt,64)},[ve]:{1:_e(Bt,ve)},[xe]:{1:_e(Mt,xe)},[Te]:{1:_e(Rt,Te)},[Ce]:{1:_e(qt,Ce)},[Ie]:{1:_e(Vt,Ie)},[Ae]:{1:_e(Ft,Ae)},80:{1:_e(rt,80)},81:{2:_e(at,81)},82:{1:_e(ot,82)},[pe]:{1:_e(vt,pe)},70:{3:_e(Ge,70)}},Ut=e=>["number","object","string","bigint"].includes(typeof e)&&(!isNaN(e)||Number.isInteger(e)||b().isBigNumber(e)),Ht=e=>e.integerValue(b().ROUND_CEIL),Kt=wn,Wt=["tx","st","ss","pi","ov","or","cb","cs","ba"];function Lt(e,t){return Jt(F(Buffer.from([...Xt(e,"ak"),...E(t)])),"ct")}function Gt(e,t,n){return Jt(F(Buffer.from([...Xt(e,"ak"),...function(e){const t=E(e,!0);return Buffer.concat([Buffer.alloc(32-t.length),t])}(t),...Xt(n,"ok")])),"oq")}function Qt(e){return Buffer.from(e.toString(16).padStart(64,"0"),"hex")}function Yt(e){return on(e),Jt(F(e.toLowerCase()),"nm")}function zt(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Kt();return on(e),`cm_${Tn(F(Buffer.concat([Buffer.from(e.toLowerCase()),Qt(t)])))}`}function Xt(e,t){const[n,r,a]=e.split("_");if(!r)throw new Error(`Encoded string missing payload: ${e}`);if(a)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(Wt.includes(n)?xn:Cn)(r)}function Jt(e,t){return`${t}_${Wt.includes(t)?bn(e):Tn(e)}`}function Zt(e){if("string"!=typeof e)throw new Error(`Address should be a string, got ${e} instead`);const t=e.slice(0,2),n=Ue[t];if(!n)throw new Error(`Id tag for prefix ${t} not found.`);return Buffer.from([...E(n),...Xt(e,t)])}function en(e){const t=e.readUIntBE(0,1),n=He[t];if(!n)throw new Error(`Prefix for id-tag ${t} not found.`);return Jt(e.slice(1,e.length),n)}function tn(e){return E(e,!0)}function nn(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Buffer.from([]);return b()(e.toString("hex"),16).toString(10)}function rn(e){return e.map((e=>[E(e.key),Zt(e.id)]))}function an(e){return e.map((e=>{let[t,n]=e;return Object.assign({key:t.toString(),id:en(n)})}))}function on(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 sn(e){try{return on(e),!0}catch(e){return!1}}function cn(e){Xt(e);const t=e.substr(0,2);return le[t]||(()=>{throw new Error(`Default AENS pointer key is not defined for ${t} prefix`)})()}function ln(e){const t=e.replace(".chain","").length;return de[t>=ie?ie:t]}function dn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:re,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:oe;if(Number(n)!==n||n%1==0)throw new Error(`Increment must be float. Current increment ${n}`);if(n<oe)throw new Error(`minimum increment percentage is ${oe}`);return Ht(b()(b()(t).eq(re)?ln(e):t).times(b()(oe).plus(1)))}function un(e,t){return q()([[M()(5),P()(ue[4].plus(t))],[M()(9),P()(ue[8].plus(t))],[N()(ce),P()(ue[12].plus(t))],[O(),P()(b()(t))]])(e.replace(".chain","").length).toString(10)}function hn(e){return e.replace(".chain","").length<13}const pn=m().ModeOfOperation.ecb;function fn(e){const t=p().sign.keyPair.fromSecretKey(_(e));return`ak_${Tn(Buffer.from(t.publicKey))}`}function mn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ak";if("string"!=typeof e)return!1;try{return 32===Xt(e,t).length}catch(e){return!1}}function gn(e){return Mn(E(e,!0))}function yn(e){return y()("sha256").update(e).digest()}function wn(){return Math.floor(Math.random()*Math.floor(Number.MAX_SAFE_INTEGER))}function bn(e){const t=Buffer.from(e),n=vn(e);return Buffer.concat([t,n],t.length+4).toString("base64")}function vn(e){return yn(yn(e)).slice(0,4)}function xn(e){const t=function(e){const t=e.slice(0,-4),n=e.slice(-4),r=vn(t);if(n.equals(r))return t}(Buffer.from(e,"base64"));if(!t)throw new Error("Invalid checksum");return Buffer.from(t)}function Tn(e){return u().encode(Buffer.from(e))}function Cn(e){return u().decode(e)}function In(e){const t=Buffer.allocUnsafe(4);return t.writeUInt32BE(e),t.slice(t.findIndex((e=>0!==e)))}function An(e,t){const n=Xt(e,"ak");return`ct_${Tn(F(Buffer.concat([n,In(t)])))}`}function En(e){return p().sign.keyPair.fromSecretKey(e)}function _n(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const t=p().sign.keyPair(),n=Buffer.from(t.publicKey),r=Buffer.from(t.secretKey);return e?{publicKey:n,secretKey:r}:{publicKey:`ak_${Tn(n)}`,secretKey:r.toString("hex")}}function kn(e,t){const n=yn(e);return new pn(n).encrypt(t)}function On(e,t){const n=Buffer.from(t),r=yn(e),a=new pn(r);return Buffer.from(a.decrypt(n))}function Sn(e,t){return p().sign.detached(Buffer.from(e),Buffer.from(t))}function Nn(e,t,n){return p().sign.detached.verify(new Uint8Array(e),t,n)}function jn(e){const t=Buffer.from("aeternity Signed Message:\n","utf8"),n=Buffer.from(e,"utf8");if(n.length>=253)throw new Error("message too long");return F(Buffer.concat([Buffer.from([t.length]),t,Buffer.from([n.length]),n]))}function Pn(e,t){return Sn(jn(e),t)}function Bn(e,t,n){return Nn(jn(e),t,n)}function Mn(e){return`ak_${Tn(Buffer.from(e,"hex"))}`}function Rn(e,t){const n=Buffer.from("TheMessage");return Nn(n,Sn(n,e),t)}var qn=T(3323);const Vn=T(8097),Fn={crypto:{secret_type:"ed25519",symmetric_alg:"xsalsa20-poly1305",kdf:"argon2id",kdf_params:{memlimit_kib:65536,opslimit:3,parallelism:1}}},$n={argon2id:Dn};async function Dn(e,t,n){const{memlimit_kib:r,opslimit:a}=n.kdf_params;return Vn.ready.then((async()=>{const n=Vn,o=n.crypto_pwhash(32,e,t,a,1024*r,n.crypto_pwhash_ALG_ARGON2ID13);return Buffer.from(o)}))}const Un={"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 a=p().secretbox.open(t,r,n);if(!a)throw new Error("Invalid password or nonce");return a}}};function Hn(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Fn.crypto.symmetric_alg;if(!Un[r])throw new Error(r+" is not available");return Un[r].encrypt({plaintext:e,nonce:n,key:t})}async function Kn(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{kdf_params:Fn.crypto.kdf_params,kdf:Fn.crypto.kdf};if(null==e||!t)throw new Error("Must provide password and nonce to derive a key");if(!Object.prototype.hasOwnProperty.call($n,n.kdf))throw new Error("Unsupported kdf type");return $n[n.kdf](e,t,n)}function Wn(e,t,n,r,a){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};const s=Object.assign({},Fn.crypto,o);return Object.assign({name:e,version:1,public_key:Ln(n),id:(0,qn.v4)()},{crypto:Object.assign({secret_type:s.secret_type,symmetric_alg:s.symmetric_alg,ciphertext:Buffer.from(Hn(Buffer.from(n),t,r,s.symmetric_alg)).toString("hex"),cipher_params:{nonce:Buffer.from(r).toString("hex")}},{kdf:s.kdf,kdf_params:{...s.kdf_params,salt:Buffer.from(a).toString("hex")}})})}function Ln(e){const t=p().sign.keyPair.fromSecretKey(_(e));return`ak_${Tn(Buffer.from(t.publicKey))}`}async function Gn(e,t){Yn(t);const n=Uint8Array.from(_(t.crypto.cipher_params.nonce)),r=Uint8Array.from(_(t.crypto.kdf_params.salt)),a=t.crypto.kdf_params,o=t.crypto.kdf,s=await function(e,t,n,r){if(!Un[r])throw new Error(r+" is not available");return Un[r].decrypt({ciphertext:e,nonce:n,key:t})}(Uint8Array.from(_(t.crypto.ciphertext)),await Kn(e,r,{kdf:o,kdf_params:a}),n,t.crypto.symmetric_alg);if(!s)throw new Error("Invalid password");return 64===Buffer.from(s).length?Buffer.from(s).toString("hex"):Buffer.from(s).toString("utf-8")}async function Qn(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:p().randomBytes(24),a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:p().randomBytes(16),o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};const s=Object.assign({},Fn.crypto,o);return Wn(e,await Kn(t,a,s),n,r,a,s)}function Yn(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 zn=T(2001);const Xn={AE:"ae",MILI_AE:"miliAE",MICRO_AE:"microAE",NANO_AE:"nanoAE",PICO_AE:"picoAE",FEMTO_AE:"femtoAE",AETTOS:"aettos"},Jn={[Xn.AE]:0,[Xn.MILI_AE]:-3,[Xn.MICRO_AE]:-6,[Xn.NANO_AE]:-9,[Xn.PICO_AE]:-12,[Xn.FEMTO_AE]:-15,[Xn.AETTOS]:-18},Zn=function(e){let{denomination:t=Xn.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return tr(e,{denomination:t,targetDenomination:Xn.AE})},er=function(e){let{denomination:t=Xn.AE}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return tr(e,{denomination:t})},tr=function(e){let{denomination:t=Xn.AETTOS,targetDenomination:n=Xn.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=Object.values(Xn);if(!r.includes(t))throw new Error(`Invalid denomination: ${t}`);if(!r.includes(n))throw new Error(`Invalid target denomination: ${n}`);if(!Ut(e))throw new Error(`Value ${null==e?void 0:e.toString()} is not type of number`);return new(b())(e).shiftedBy(Jn[t]-Jn[n]).toFixed()},nr=[{name:"exa",magnitude:18},{name:"giga",magnitude:9},{name:"",magnitude:0},{name:"pico",magnitude:-12}],rr=e=>nr.reduce(((t,n)=>Math.abs(n.magnitude-e)<Math.abs(t.magnitude-e)?n:t)),ar=e=>nr.find((t=>t.magnitude<=e))??nr[nr.length-1],or=e=>{const t=new(b())(e),n=t.e??0,{name:r,magnitude:a}=(n<0?rr:ar)(n);return`${t.shiftedBy(-a).precision(9+Math.min(n-a,0)).toFixed()}${""!==r?" ":""}${r}`};var sr;!function(e){e[e.Branch=0]="Branch",e[e.Extension=1]="Extension",e[e.Leaf=2]="Leaf"}(sr||(sr={}));class ir{static nodeHash(e){return Buffer.from(F((0,zn.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(ir.nodeHash(n)!==t)throw new Error("Node hash is not equal to provided one");const{type:r,payload:a}=ir.parseNode(n);switch(r){case sr.Branch:a.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 sr.Extension:if(void 0===this.nodes[a[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:sr.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?sr.Extension:sr.Leaf,a=[0,2].includes(n)?2:1;return{type:r,payload:[e[1]],path:t.slice(a)}}default:throw new Error(`Unknown node length: ${e.length}`)}}serialize(){return[Buffer.from(this.rootHash,"hex"),Object.entries(this.nodes).map((e=>{let[t,n]=e;return[Buffer.from(t,"hex"),n]}))]}get(e){let t=this.rootHash;for(;;){const{type:n,payload:r,path:a}=ir.parseNode(this.nodes[t]);switch(n){case sr.Branch:if(0===e.length)return r[16];t=r[parseInt(e[0],16)].toString("hex"),e=e.substr(1);break;case sr.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 sr.Leaf:if(a!==e)return;return r[0]}}}}const cr="delta";function lr(e,t,n){if(!e)return"";switch(t){case Be.ctVersion:{const[t,,n]=e;return{vmVersion:nn(Buffer.from([t])),abiVersion:nn(Buffer.from([n]))}}case Be.amount:case Be.int:return nn(e);case Be.id:return en(e);case Be.ids:return e.map(en);case Be.bool:return 1===e[0];case Be.binary:return Jt(e,n);case Be.stateTree:return Jt(e,"ss");case Be.string:return e.toString();case Be.payload:return Jt(e,"ba");case Be.pointers:return an(e);case Be.rlpBinary:return xr(e,!0);case Be.rlpBinaries:return e.map((e=>xr(e,!0)));case Be.rawBinary:return e;case Be.hex:return e.toString("hex");case Be.offChainUpdates:return e.map((e=>xr(e,!0)));case Be.callStack:return[nn(e)];case Be.mptrees:return e.map((e=>new ir(e)));case Be.callReturnType:switch(nn(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,a,o]=t;return{...e,[r.toString()]:{funHash:n,argType:a,outType:o}}}),{});default:return e}}function dr(e,t,n){switch(t){case Be.amount:case Be.int:return tn(e);case Be.id:return Zt(e);case Be.ids:return e.map(Zt);case Be.bool:return Buffer.from([e?1:0]);case Be.binary:return Xt(e,n);case Be.stateTree:return Xt(e,"ss");case Be.hex:return Buffer.from(e,"hex");case Be.signatures:return e.map(Buffer.from);case Be.payload:return"string"==typeof e&&"ba"===e.split("_")[0]?Xt(e,"ba"):E(e);case Be.string:return E(e);case Be.pointers:return rn(e);case Be.rlpBinary:return e.rlpEncoded??e;case Be.mptrees:return e.map((e=>e.serialize()));case Be.ctVersion:return Buffer.from([...E(e.vmVersion),0,...E(e.abiVersion)]);case Be.callReturnType:switch(e){case"ok":return tn(0);case"error":return tn(1);case"revert":return tn(2);default:return e}default:return e}}function ur(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[a]=r;return{...e,[a]:tr(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===cr?0:1,e[`${n}Value`]=a.value),e}),{})}function hr(e,t){const n={[ke.oracleRegister]:"oracleTtl",[ke.oracleExtend]:"oracleTtl",[ke.oracleQuery]:"queryTtl",[ke.oracleResponse]:"responseTtl"}[t];return e[n]||e[`${n}Value`]?e[`${n}Value`]||e[n].value:1}function pr(e,t){let{gas:n=0,params:r,vsn:a}=t;const o=b()(1e9);if(!r)return b()(qe).times(o).toString(10);let s=fr(e,{params:{...r,fee:0},multiplier:o,gas:n,vsn:a}),i=b()(0);for(;!s.eq(i);)s=fr(e,{params:{...r,fee:s},multiplier:o,gas:n,vsn:a}),i=s;return i.toString(10)}function fr(e,t){let{params:n,gas:r=0,multiplier:a,vsn:o}=t;const{rlpEncoded:s}=vr({...n},e,{vsn:o}),i=s.length;return Fe(e).plus($e(e,i,{relativeTtl:hr(n,e),innerTxSize:[ke.gaMeta,ke.payingFor].includes(e)?n.tx.tx.encodedTx.rlpEncoded.length:0})).times(a)}function mr(){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(${qe})`),e||pr(t,{params:r,gas:n,vsn:o})}function gr(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,a,o]=n;return Object.assign(t,function(e,t,n,r){const a=(e,r)=>e?{}:{[t]:We[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 a((!isNaN(e)||b().isBigNumber(e))&&b()(e).gte(0),{value:e,isMinusValue:t})}case Be.id:return a((Array.isArray(r)?r:[r]).find((t=>t===e.split("_")[0]))&&Ue[e.split("_")[0]],{value:e,prefix:r});case Be.binary:return a(e.split("_")[0]===r,{prefix:r,value:e});case Be.string:return a(!0);case Be.ctVersion:return a("object"==typeof e&&Object.prototype.hasOwnProperty.call(e,"abiVersion")&&Object.prototype.hasOwnProperty.call(e,"vmVersion"));case Be.pointers:return a(Array.isArray(e)&&!e.find((e=>e!==Object(e))),{value:e});default:return{}}}(e[r],r,a,o))}),{})}function yr(e,t){let{excludeKeys:n=[],denomination:r=Xn.AETTOS}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const a=t.filter((e=>{let[t]=e;return!n.includes(t)})),o=gr(e=ur(e,a,{denomination:r}),t,{excludeKeys:n});if(Object.keys(o).length)throw new Error("Transaction build error. "+JSON.stringify(o));return a.map((t=>{let[n,r,a]=t;return dr(e[n],r,a)}))}function wr(e,t){return t.reduce(((t,n,r)=>{let[a,o,s]=n;return Object.assign(t,{[a]:lr(e[r],o,s)})}),{})}const br=e=>{let{vsn:t,objId:n,type:r}=e;const a=!!n,o=a?n:r,s=a?Dt:$t;if(!s[o])throw new Error(`Transaction ${a?"deserialization":"serialization"} not implemented for ${a?"tag "+n:r}`);if(!s[o][t])throw new Error(`Transaction ${a?"deserialization":"serialization"} not implemented for ${a?"tag "+n:r} version ${t}`);return s[o][t]};function vr(e,t){let{excludeKeys:n=[],prefix:r="tx",vsn:a=$,denomination:o=Xn.AETTOS}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const[s,i]=br({type:t,vsn:a}),c=yr({...e,VSN:a,tag:i},s,{excludeKeys:n,denomination:e.denomination||o}).filter((e=>void 0!==e)),l=(0,zn.encode)(c),d=Jt(l,r);return{tx:d,rlpEncoded:l,binary:c,txObject:wr(c,s)}}function xr(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"tx";const r=t?e:Xt(e,n),a=(0,zn.decode)(r),o=nn(a[0]),s=nn(a[1]),[i]=br({objId:o,vsn:s});return{txType:Pe[o],tx:wr(a,i),rlpEncoded:r,binary:a}}function Tr(e){return Jt(F("string"==typeof e&&e.startsWith("tx_")?Xt(e,"tx"):e),"th")}const Cr={calculateMinFee:pr,calculateFee:mr,unpackTx:xr,unpackRawTx:wr,buildTx:vr,buildRawTx:yr,validateParams:gr,buildTxHash:Tr},Ir=["int","string","tuple","address","bool","list","map","record","option","oracle","oracleQuery","hash","signature","bytes","variant"].reduce(((e,t)=>({...e,[t]:t})),{ChainTtl:"Chain.ttl"}),Ar=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return e.reduce(((e,n)=>{const[r,...a]=n.topics,o=t.find((e=>F(e.name).equals(E(r,!0))));if(!o)return e;const s=o.types.filter((e=>e===Ir.string)).length;if(s>1)throw new Error(`Event schema contains more than one string: ${o.types}`);const i=o.types.length-s;if(i!==a.length)throw new Error(`Schema defines ${i} types, but ${a.length} topics present`);return e.push({...n,name:o.name,decoded:o.types.map((e=>Er(e===Ir.string?n.data:a.shift(),e)))}),e}),[])};function Er(e,t){switch(t){case Ir.int:return n=e,new(b())(n.toString()).toString(10);case Ir.bool:return!!e;case Ir.hash:return E(e,!0).toString("hex");case Ir.address:return gn(e);case Ir.string:return Xt(e).toString("utf-8");default:return E(e,!0)}var n}var _r=T(1001),kr=T(2405),Or=T(8367);const Sr=Buffer.from("ed25519 seed"),Nr=2147483648,jr=e=>Buffer.from(e).toString("hex");function Pr(e,t){const n=""===e?[]:(0,kr.fromString)(e).toPathArray();return n.forEach(((e,t)=>{if(e<Nr)throw new Error(`Segment #${t+1} is not hardened`)})),n.reduce(((e,t)=>Vr(e,t)),t)}function Br(e,t){if(!["m","m/"].includes(e.slice(0,2)))throw new Error("Invalid path");const n=qr(t);return Pr(e.slice(2),n)}function Mr(e){const{secretKey:t,publicKey:n}=e;return{secretKey:jr(t),publicKey:`ak_${Tn(n)}`}}function Rr(e){return p().sign.keyPair.fromSeed(e)}function qr(e){const t=(0,_r.full)(e,Sr);return{secretKey:t.slice(0,32),chainCode:t.slice(32)}}function Vr(e,t){let{secretKey:n,chainCode:r}=e;if(t<Nr)throw new Error(`Child index #${t} is not supported`);const a=Buffer.allocUnsafe(4);a.writeUInt32BE(t,0);const o=Buffer.concat([Buffer.alloc(1,0),Buffer.from(n),Buffer.from(a)]),s=(0,_r.full)(o,r);return{secretKey:s.slice(0,32),chainCode:s.slice(32)}}const Fr={getHdWalletAccountFromMnemonic:(e,t)=>({...Mr(Rr(Pr(`${t}h/0h/0h`,Br("m/44h/457h",(0,Or.mnemonicToSeed)(e))).secretKey)),idx:t}),getSaveHDWalletAccounts:function(e,t,n){const r={secretKey:On(t,Buffer.from(e.secretKey,"hex")),chainCode:On(t,Buffer.from(e.chainCode,"hex"))};return new Array(n).fill().map(((e,t)=>Mr(Rr(Pr(`${t}h/0h/0h`,r).secretKey))))},generateSaveHDWallet:function(e,t){if(!(0,Or.validateMnemonic)(e))throw new Error("Invalid mnemonic");const n=Br("m/44h/457h",(0,Or.mnemonicToSeed)(e));return{secretKey:jr(kn(t,n.secretKey)),chainCode:jr(kn(t,n.chainCode))}},generateMnemonic:function(){return(0,Or.generateMnemonic)()},deriveChild:Vr,getMasterKeyFromSeed:qr};var $r=T(1031),Dr=T.n($r),Ur=T(8081);const Hr=Dr()((0,Ur.required)({methods:{spendTx:Ur.required,namePreclaimTx:Ur.required,nameClaimTx:Ur.required,nameTransferTx:Ur.required,nameUpdateTx:Ur.required,nameRevokeTx:Ur.required,contractCreateTx:Ur.required,contractCallTx:Ur.required,oracleRegisterTx:Ur.required,oracleExtendTx:Ur.required,oraclePostQueryTx:Ur.required,oracleRespondTx:Ur.required,getAccountNonce:Ur.required,channelCloseSoloTx:Ur.required,channelSlashTx:Ur.required,channelSettleTx:Ur.required,channelSnapshotSoloTx:Ur.required,gaAttachTx:Ur.required,getVmVersion:Ur.required,prepareTxParams:Ur.required}})),Kr=Dr()({deepProps:{Ae:{defaults:{waitMined:!0,verify:!0}}}},(0,Ur.required)({methods:{sendTransaction:Ur.required,height:Ur.required,awaitHeight:Ur.required,topBlock:Ur.required,poll:Ur.required,balance:Ur.required,getBalance:Ur.required,tx:Ur.required,getTxInfo:Ur.required,mempool:Ur.required,txDryRun:Ur.required,getAccount:Ur.required}}));var Wr=T(7430),Lr=T.n(Wr),Gr=T(7414),Qr=T.n(Gr),Yr=T(5713),zr=T.n(Yr),Xr=T(7263),Jr=T.n(Xr),Zr=T(6290),ea=T.n(Zr);function ta(){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)}const na=Dr()({deepConf:{AsyncInit:{initializers:[]}},composers(e){let{stamp:t,composables:n}=e;t.compose.deepConfiguration.AsyncInit.initializers=ea()([ta],Jr()(zr(),Qr()(n.map((e=>Lr()(["compose","deepConfiguration","AsyncInit","initializers"],e)||(e.compose||e).initializers||[]))))),t.compose.initializers=[ta]}});var ra=T(4021),aa=T.n(ra),oa=T(6311),sa=T.n(oa),ia=T(3656);const ca=T.n(ia)()({storeAsString:!0}),la=e=>{if("object"==typeof e&&null!==e&&e.constructor===Object)return Object.entries(e).map((e=>{let[t,n]=e;return[t,la(n)]})).reduce(((e,t)=>{let[n,r]=t;return{...e,[n]:r}}),{});if(Array.isArray(e))return e.map((e=>la(e)));if("string"==typeof e&&b()(e).toString(10)===e){const t=b()(e);return t.toJSON=()=>t.toString(10),t}return e},da={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 ca.stringify(la(e),...n)},parse:ca.parse},ua=async e=>await new Promise((t=>setTimeout(t,e))),ha=(e,t)=>Object.fromEntries(Object.entries(e).map(t)),pa=(e,t)=>Object.fromEntries(Object.entries(e).filter(t)),fa=(e,t)=>"object"!=typeof t||null===t?t:Array.isArray(t)?t.map((t=>fa(e,t))):ha(t,(t=>{let[n,r]=t;return[e(n),fa(e,r)]})),ma=fa.bind(null,x),ga=fa.bind(null,v);let ya=!1;const wa=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 sa()(e)).json();const s=r?JSON:da;(["https://compiler.aepps.com","https://latest.compiler.aepps.com"].includes(new URL(e).origin)||new URL(e).origin.includes("https://"))&&(t.schemes=["https"]);const[i,c]=await Promise.all([e,n].map((e=>e?aa()({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=s.parse(e.text);return Object.assign(e,{body:a?n:ga(n)}),o&&o(e)||e}}):null))),l=[...Object.values(i.apis),ha((null==c?void 0:c.apis.internal)||{},(e=>{let[t,n]=e;return[t,function(){return ya||(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")'),ya=!0),n(...arguments)}]}))].reduce(((e,t)=>({...e,...t}))),d=Object.values(t.paths).map((e=>Object.values(e))).flat().reduce(((e,t)=>({...e,[t.operationId]:t})),{}),u=ha(l,(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),o=0;o<e;o++)r[o]=arguments[o];const i=d[t],c=[...i.parameters,...i.requestBody?[{required:i.requestBody.required,schema:Object.values(i.requestBody.content)[0].schema,name:"__requestBody"}]:[]],l=c.filter((e=>e.required)).map((e=>e.name));if(r.length<l.length)throw new Error("swagger: Not enough arguments");const u=l.reduce(((e,t,n)=>({...e,[t]:r[n]})),r[l.length]||{}),{__requestBody:h,...p}=ha(u,(e=>{let[t,n]=e;if("object"!=typeof n)return[t,n];const r=Object.keys(c.find((e=>e.name===t)).schema.properties),o=pa(a?n:ma(n),(e=>{let[t]=e;return r.includes(t)}));return[t,s.stringify(o)]}));return(await n(p,{requestBody:h})).body}]}));return Object.assign(i,{api:u})};function ba(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),l=c(a),d=c(o),u=c(s);return l>=d&&l<u}function va(){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 xa=na.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 a=await wa(`${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,!ba(this.version,Ta,Ca)&&!r)throw new Error(`Unsupported node version ${this.version}. Supported: >= ${Ta} < ${Ca}`);this.api=a.api;const{nodeRevision:o,genesisKeyBlockHash:s,networkId:i,protocols:c,topBlockHeight:l}=await this.api.getStatus();return this.consensusProtocolVersion=c.filter((e=>{let{effectiveAtHeight:t}=e;return l>=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}}),Ta="6.2.0",Ca="7.0.0",Ia=xa,Aa=e=>!["sign","address"].find((t=>"function"!=typeof e[t])),Ea=Dr()({init(e){let{networkId:t}=e;!this.networkId&&t&&(this.networkId=t)},methods:{signTransaction:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=[this.getNetworkId(t)];t.innerTx&&n.push("inner_tx");const r=Xt(e,"tx"),a=Buffer.concat([Buffer.from(n.join("-")),F(r)]),o=[await this.sign(a,t)];return vr({encodedTx:r,signatures:o},ke.signed).tx},getNetworkId:va,signMessage:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{returnHex:!1};const n=await this.sign(jn(e),t);return t.returnHex?Buffer.from(n).toString("hex"):n},verifyMessage:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return Bn(e,"string"==typeof t?Buffer.from(t,"hex"):t,Xt(await this.address(n)))}}},(0,Ur.required)({methods:{sign:Ur.required,address:Ur.required}})),_a=Dr()(Hr,Ea,Kr,{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:Cr.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 Error(`Fraction should be a number between 0 and 1, got ${e}`);const r={...this.Ae.defaults,...n},a=await this.resolveName(t,"account_pubkey",r),o=await this.address(r),s=new(b())(await this.balance(o)),i=s.times(e).integerValue(b().ROUND_HALF_UP),{tx:{fee:c}}=Cr.unpackTx(await this.spendTx({...r,senderId:o,recipientId:a,amount:i})),l=i.plus(c).gt(s)?s.minus(c):i;return this.send(await this.spendTx({...r,senderId:o,recipientId:a,amount:l}),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:Xn.AETTOS}}}}),ka=_a,Oa=[async(e,t)=>{let{encodedTx:n,signatures:r}=e,{account:a,node:o,parentTxTypes:s}=t;if(void 0===(n??r))return[];if(1!==r.length)return[];const i=Buffer.from([o.nodeNetworkId,...s.includes(ke.payingFor)?["inner_tx"]:[]].join("-")),c=Buffer.concat([i,n.rlpEncoded]),l=Buffer.concat([i,F(n.rlpEncoded)]),d=Xt(a.id,"ak");return Nn(c,r[0],d)||Nn(l,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"]}]},async(e,t)=>{let{encodedTx:n,tx:r}=e,{node:a,parentTxTypes:o,txType:s}=t;return void 0===(n??r)?[]:Na(Jt((n??r).rlpEncoded,"tx"),a,[...o,s])},(e,t)=>{let{txType:n}=t;if(void 0===e.fee)return[];const r=mr(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:a,tx:o}=e,{account:s,parentTxTypes:i,txType:c}=t;if(void 0===(n??r??a))return[];const l=new(b())(r).plus(a||0).plus(n||0).plus(c===ke.payingFor?o.tx.encodedTx.tx.fee:0).minus(i.includes(ke.payingFor)?r:0);return l.lte(s.balance)?[]:[{message:`Account balance ${s.balance} is not enough to execute the transaction that costs ${l.toFixed()}`,key:"InsufficientBalance",checkedKeys:["amount","fee","nameFee"]}]},(e,t)=>{let{nonce:n}=e,{account:r,parentTxTypes:a}=t;if(void 0===n||a.includes(ke.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>=z?[]:[{message:`Gas price ${t} must be bigger then ${z}`,key:"MinGasPrice",checkedKeys:["gasPrice"]}]},(e,t)=>{let{ctVersion:n,abiVersion:r}=e,{txType:a,node:o}=t;const{consensusProtocolVersion:s}=o.getNodeInfo(),i=je[s];if(!i)throw new Error(`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"]}]:[]}],Sa=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 Na(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const{tx:r,txType:a}=xr(e),o=Sa(r)??(a===ke.signed?Sa(r.encodedTx.tx):null),[s,i]=await Promise.all([o&&t.api.getAccountByPubkey(o).catch((()=>({id:o,balance:new(b())(0),nonce:0}))),t.api.getCurrentKeyBlockHeight().then((e=>{let{height:t}=e;return t}))]);return(await Promise.all(Oa.map((e=>e(r,{txType:a,node:t,account:s,height:i,parentTxTypes:n}))))).flat()}const ja=Dr()({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:va,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:{}}}),Pa=Kr.compose(ja,{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 Na(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:()=>Na(e,this.selectedNode.instance)})}},balance:async function(e){let{height:t,hash:n,format:r=Xn.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{balance:a}=await this.getAccount(e,{hash:n,height:t});return tr(a,{targetDenomination:r}).toString()},getBalance:async function(e){let{height:t,hash:n,format:r=Xn.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 tr(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)},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 a=0;a<r;a++)if(a&&await ua(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 a=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 ua(n)}while(await this.height()<a);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:a,...o}],...s}=await this.api.protectedDryRunTxs({...n,txs:[{tx:e}],accounts:[{pubKey:t,amount:J.amount}]});if("ok"===r)return{...o,...s};throw Object.assign(new Error("Dry run error, "+a),{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),a=await this.awaitHeight(r+n.confirm,n),{blockHeight:o}=await this.tx(t);switch(o){case-1:throw new Error(`Transaction ${t} is removed from chain`);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 Error(`Name or address should be a string: ${e}`);try{return Xt(e),e}catch(e){}if(sn(e)){if(n||r){const n=await this.api.getNameEntryByName(e).catch((e=>null));if(!n)throw new Error(`Name not found: ${e}`);const a=n.pointers.find((e=>e.key===t));if(!a)throw new Error(`Name ${e} don't have pointers for ${t}`);if(r)return a.id}return Yt(e)}throw new Error(`Invalid name or address: ${e}`)}}}),Ba=Pa,Ma=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(ke).includes(e))throw new Error(`Unknown transaction type ${e}`);const r=mr(t.fee,e,{gas:t.gas,params:t,vsn:t.vsn}),{rlpEncoded:a,binary:o,tx:s,txObject:i}=vr({...t,fee:r},e,{vsn:t.vsn,...n});return{rlpEncoded:a,binary:o,encodedTx:s,params:i,type:e}},Ra=e=>{if(!e)throw new Error(`Invalid transaction: ${e}`);if("string"==typeof e){const{txType:t,tx:n,rlpEncoded:r,binary:a}=xr(e);return{encodedTx:e,type:t,params:n,rlpEncoded:r,binary:a}}if(Buffer.isBuffer(e)){const{txType:t,tx:n,rlpEncoded:r,binary:a}=xr(e,!0);return{encodedTx:Jt(e,"tx"),type:t,params:n,rlpEncoded:r,binary:a}}},qa=Dr()({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 Ma(n,t,r);if(e)return Ra(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===ke.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=>qa({tx:e}),fromRlp:e=>qa({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,Ma(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=I(e)?Buffer.from(e,"hex"):e,!(Buffer.isBuffer(e)||e instanceof Uint8Array))throw new Error("Invalid signature, signature must be of type Buffer or Uint8Array");Object.assign(this,Ma(ke.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 mr(0,this.type,{gas:t.gas,params:t,vsn:t.vsn})}}}),Va=qa;async function Fa(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:U,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 $a=Ba.compose(Hr,{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(ke.spend,{senderId:t,...arguments[0],payload:a}),{tx:c}=this.nativeMode?{tx:qa({params:{...arguments[0],recipientId:n,senderId:t,nonce:i,ttl:s,payload:a},type:ke.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(ke.namePreClaim,{senderId:t,...arguments[0]}),{tx:s}=this.nativeMode?{tx:qa({params:{...arguments[0],nonce:o,ttl:a,fee:r},type:ke.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(ke.nameClaim,{senderId:t,...arguments[0],vsn:a}),{tx:c}=this.nativeMode?{tx:qa({params:{...arguments[0],nonce:i,ttl:s,fee:o,vsn:a},type:ke.nameClaim}).encodedTx}:await this.api.postNameClaim({...arguments[0],nonce:i,ttl:s,fee:parseInt(o)});return c},nameTransferTx:async function(e){let{accountId:t,nameId:n,recipientId:r}=e;const{fee:a,ttl:o,nonce:s}=await this.prepareTxParams(ke.nameTransfer,{senderId:t,...arguments[0]}),{tx:i}=this.nativeMode?{tx:qa({params:{...arguments[0],recipientId:r,nonce:s,ttl:o,fee:a},type:ke.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(ke.nameUpdate,{senderId:t,...arguments[0]}),{tx:l}=this.nativeMode?{tx:qa({params:{...arguments[0],nonce:c,ttl:i,fee:s},type:ke.nameUpdate}).encodedTx}:await this.api.postNameUpdate({...arguments[0],nonce:c,ttl:i,fee:parseInt(s)});return l},nameRevokeTx:async function(e){let{accountId:t,nameId:n}=e;const{fee:r,ttl:a,nonce:o}=await this.prepareTxParams(ke.nameRevoke,{senderId:t,...arguments[0]}),{tx:s}=this.nativeMode?{tx:qa({params:{...arguments[0],nonce:o,ttl:a,fee:r},type:ke.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,deposit:o,amount:s,gas:i,gasPrice:c=z,callData:l}=e;const d=this.getVmVersion(ke.contractCreate,arguments[0]),{fee:u,ttl:h,nonce:p}=await this.prepareTxParams(ke.contractCreate,{senderId:t,...arguments[0],ctVersion:d,gasPrice:c});return this.nativeMode?{tx:qa({params:{...arguments[0],nonce:p,ttl:h,fee:u,ctVersion:d,gasPrice:c},type:ke.contractCreate}).encodedTx,contractId:Lt(t,p)}:this.api.postContractCreate({...arguments[0],nonce:p,ttl:h,fee:parseInt(u),gas:parseInt(i),gasPrice:c,vmVersion:d.vmVersion,abiVersion:d.abiVersion})},contractCallTx:async function(e){let{callerId:t,contractId:n,abiVersion:r,amount:a,gas:o,gasPrice:s=z,callData:i}=e;const c=this.getVmVersion(ke.contractCall,arguments[0]),{fee:l,ttl:d,nonce:u}=await this.prepareTxParams(ke.contractCall,{senderId:t,...arguments[0],gasPrice:s,abiVersion:c.abiVersion}),{tx:h}=this.nativeMode?{tx:qa({params:{...arguments[0],nonce:u,ttl:d,fee:l,abiVersion:c.abiVersion,gasPrice:s},type:ke.contractCall}).encodedTx}:await this.api.postContractCall({...arguments[0],nonce:u,ttl:d,fee:parseInt(l),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:l}=t;r=r||(await this.api.getAccountNextNonce(n,{strategy:l}).catch((e=>({nextNonce:1})))).nextNonce;const d=await Fa.call(this,a,!i),u=mr(o,e,{showWarning:this.showWarning,gas:s,params:{...arguments[1],nonce:r,ttl:d},vsn:c});return{fee:u,ttl:d,nonce:r}},oracleRegisterTx:async function(e){let{accountId:t,queryFormat:n,responseFormat:r,queryFee:a,oracleTtl:o,abiVersion:s=Se.NO_ABI}=e;const{fee:i,ttl:c,nonce:l}=await this.prepareTxParams(ke.oracleRegister,{senderId:t,...arguments[0],abiVersion:s}),{tx:d}=this.nativeMode?{tx:qa({params:{accountId:t,queryFee:a,abiVersion:s,fee:i,oracleTtl:o,nonce:l,ttl:c,queryFormat:n,responseFormat:r},type:ke.oracleRegister}).encodedTx}:await this.api.postOracleRegister({accountId:t,queryFee:a,abiVersion:s,fee:parseInt(i),oracleTtl:o,nonce:l,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(ke.oracleExtend,{senderId:n,...arguments[0]}),{tx:i}=this.nativeMode?{tx:qa({params:{oracleId:t,fee:a,oracleTtl:r,nonce:s,ttl:o},type:ke.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:l}=await this.prepareTxParams(ke.oracleQuery,{senderId:s,...arguments[0]}),{tx:d}=this.nativeMode?{tx:qa({params:{oracleId:t,responseTtl:n,query:r,queryTtl:a,fee:i,queryFee:o,ttl:c,nonce:l,senderId:s},type:ke.oracleQuery}).encodedTx}:await this.api.postOracleQuery({oracleId:t,responseTtl:n,query:r,queryTtl:a,fee:parseInt(i),queryFee:o,ttl:c,nonce:l,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(ke.oracleResponse,{senderId:n,...arguments[0]}),{tx:l}=this.nativeMode?{tx:qa({params:{oracleId:t,responseTtl:r,queryId:a,response:o,fee:s,ttl:i,nonce:c},type:ke.oracleResponse}).encodedTx}:await this.api.postOracleRespond({oracleId:t,responseTtl:r,queryId:a,response:o,fee:parseInt(s),ttl:i,nonce:c});return l},channelCloseSoloTx:async function(e){let{channelId:t,fromId:n,payload:r,poi:a}=e;const{fee:o,ttl:s,nonce:i}=await this.prepareTxParams(ke.channelCloseSolo,{senderId:n,...arguments[0],payload:r}),{tx:c}=this.nativeMode?vr({...arguments[0],channelId:t,fromId:n,payload:r,poi:a,ttl:s,fee:o,nonce:i},ke.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(ke.channelSlash,{senderId:n,...arguments[0],payload:r}),{tx:c}=this.nativeMode?vr({...arguments[0],channelId:t,fromId:n,payload:r,poi:a,ttl:s,fee:o,nonce:i},ke.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(ke.channelSettle,{senderId:n,...arguments[0]}),{tx:c}=this.nativeMode?vr({...arguments[0],channelId:t,fromId:n,initiatorAmountFinal:r,responderAmountFinal:a,ttl:s,fee:o,nonce:i},ke.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(ke.channelSnapshotSolo,{senderId:n,...arguments[0],payload:r}),{tx:i}=this.nativeMode?vr({...arguments[0],channelId:t,fromId:n,payload:r,ttl:o,fee:a,nonce:s},ke.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=z,callData:c}=e;const l=this.getVmVersion(ke.contractCreate,arguments[0]),{fee:d,ttl:u,nonce:h}=await this.prepareTxParams(ke.gaAttach,{senderId:t,...arguments[0],ctVersion:l,gasPrice:i});return{tx:qa({params:{...arguments[0],nonce:h,ttl:u,fee:d,ctVersion:l,gasPrice:i},type:ke.gaAttach}).encodedTx,contractId:Lt(t,h)}},payingForTx:async function(e){let{tx:t,payerId:n,...r}=e;const a={tx:xr(t),payerId:n},{fee:o,nonce:s}=await this.prepareTxParams(ke.payingFor,{...a,...r,senderId:n});return vr({...a,...r,fee:o,nonce:s},ke.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=je[r];if(!a)throw new Error("Not supported consensus protocol version");const o=a[e];if(!o)throw new Error("Not supported tx type");if(n=n||o.abiVersion[0],t=t||o.vmVersion[0],!o.vmVersion.includes(t))throw new Error(`VM VERSION ${t} do not support by this node. Supported: [${o.vmVersion}]`);if(!o.abiVersion.includes(n))throw new Error(`ABI VERSION ${n} do not support by this node. Supported: [${o.abiVersion}]`);return{vmVersion:t,abiVersion:n}}}}),Da=$a,Ua=new WeakMap,Ha=Ea.compose({init(e){let{keypair:t,gaId:n}=e;if(this.isGa=!!n,n){if(!mn(n))throw new Error("Invalid GA address");return void Ua.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(!Buffer.isBuffer(t.secretKey)&&"string"==typeof t.secretKey&&!I(t.secretKey))throw new Error("Secret key must be hex string or Buffer");const r=Buffer.from(Xt(t.publicKey,"ak"));if(!Rn(Buffer.from(t.secretKey,"hex"),r))throw new Error("Invalid Key Pair");Ua.set(this,{secretKey:Buffer.isBuffer(t.secretKey)?t.secretKey:Buffer.from(t.secretKey,"hex"),publicKey:t.publicKey})},props:{isGa:!1},methods:{sign(e){if(this.isGa)throw new Error("You are trying to sign data using GA account without keypair");return Promise.resolve(Sn(e,Ua.get(this).secretKey))},address(){return Promise.resolve(Ua.get(this).publicKey)}}}),Ka=Ea.compose(na,{async init(e){let{accounts:t=[],address:n}=e;this.accounts=Object.fromEntries(await Promise.all(t.map((async e=>[await e.address(),e])))),n=n||Object.keys(this.accounts)[0],n&&this.selectAccount(n)},props:{accounts:{}},deepProps:{selectedAddress:null},methods:{async address(){let{onAccount:e=this.selectedAddress}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._resolveAccount(e).address()},async sign(e){let{onAccount:t=this.selectedAddress}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this._resolveAccount(t).sign(e)},addresses(){return Object.keys(this.accounts)},async addAccount(e){let{select:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=await e.address();this.accounts[n]=e,t&&this.selectAccount(n)},removeAccount(e){this.accounts[e]?(delete this.accounts[e],this.selectedAddress===e&&(this.selectedAddress=null)):console.warn(`removeAccount: Account for ${e} not available`)},selectAccount(e){if(Xt(e,"ak"),!this.accounts[e])throw new 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(Xt(e,"ak"),!this.accounts[e])throw new Error(`Account for ${e} not available`);return this.accounts[e];case"object":return Aa(e)?e:Ha({keypair:e});default:throw new Error(`Unknown account type: ${typeof e} (account: ${e})`)}}}}),Wa=ka.compose({methods:{aensQuery:async function(e){var t=this;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};on(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]:Z,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!r||"number"!=typeof r||r>Z)throw new Error("Ttl must be an number and less then 180000 blocks");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]:{};on(e);const n={...this.Ae.defaults,...t},r=wn(),a=await this.height(),o=zt(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){on(e);const r={...this.Ae.defaults,...n},a=ln(e);if(r.nameFee!==this.Ae.defaults.nameFee&&a.gt(r.nameFee))throw new Error(`the provided fee ${r.nameFee} is not enough to execute the claim, required: ${a}`);r.nameFee=r.nameFee!==this.Ae.defaults.nameFee?r.nameFee:a;const o=await this.nameClaimTx({...r,accountId:await this.address(r),nameSalt:t,name:Jt(e,"nm")}),s=await this.send(o,r);if(!hn(e)){const t=r.waitMined?await this.aensQuery(e,r):{};return Object.assign(s,t)}return{...s,nameFee:r.nameFee}},aensUpdate:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};on(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:Yt(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]:{};on(e);const r={...this.Ae.defaults,...n},a=await this.nameTransferTx({...r,nameId:Yt(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]:{};on(e);const n={...this.Ae.defaults,...t},r=await this.nameRevokeTx({...n,nameId:Yt(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]:re,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.aensClaim(e,0,{...n,nameFee:t,vsn:2})}},deepProps:{Ae:{defaults:{clientTtl:ne,nameTtl:Z,nameFee:re}}}}),La=Wa,Ga=Dr()((0,Ur.required)({methods:{contractEncodeCallDataAPI:Ur.required,compileContractAPI:Ur.required,contractGetACI:Ur.required,setCompilerUrl:Ur.required,getCompilerVersion:Ur.required,contractDecodeCallResultAPI:Ur.required,validateByteCodeAPI:Ur.required,getFateAssembler:Ur.required,getBytecodeCompilerVersion:Ur.required}})),Qa=na.compose(Ga,{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 wa(`${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&&!ba(this.compilerVersion,Ya,za))throw new Error(`Unsupported compiler version ${this.compilerVersion}. Supported: >= ${Ya} < ${za}`)},_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:a}=await this._compilerApi.encodeCalldata({source:e,function:t,arguments:n,options:this._prepareCompilerOptions(r)});return a},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,a){return this._ensureCompilerReady(),this._compilerApi.decodeCallResult({function:t,source:e,"call-result":r,"call-value":n,options:this._prepareCompilerOptions(a)})},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}}),Ya="6.0.0",za="7.0.0";var Xa=T(2478),Ja=T.n(Xa),Za=T(2892),eo=T.n(Za),to=T(5206),no=T.n(to),ro=T(590);function ao(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(no()(["state","type_defs","name"]))],event:e.event?e.event.variant:[]}}const oo=ka.compose(Ga,{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=r||t&&await this.contractGetACI(t,{filesystem:o}),!r)throw new Error("Either ACI or source code is required");if(a=a&&await this.resolveName(a,"contract_pubkey",{resolveByNode:!0}),!a&&!t&&!n)throw new Error("Can't create instance by ACI without address");if(a){const e=await this.getContract(a).catch((()=>null));if(!e)throw new Error(`Contract with address ${a} not found on-chain`);if(!e.active)throw new Error(`Contract with address ${a} not active`)}const c={interface:eo()(null,Ja()("interface",r)),aci:eo()(null,Lr()(["encoded_aci","contract"],r)),calldata:new ro.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:a},options:{...this.Ae.defaults,callStatic:!1,filesystem:o,...i},compilerVersion:this.compilerVersion};if(s){if(!a)throw new Error("Can't validate bytecode without contract address");const e=(await this.getContractByteCode(a)).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 l=async(e,t)=>{const n=await this.send(e,t),r={hash:n.hash,tx:Va({tx:n.rawTx}),txData:n,rawTx:n.rawTx};if(!1===t.waitMined)return r;const a=await this.getTxInfo(n.hash);return 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=Xt(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:G};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 a=await e.address(r),{tx:o,contractId:s}=await e.contractCreateTx({...r,callData:c.calldata.encode(c.aci.name,"init",t),code:c.bytecode,ownerId:a}),{hash:i,rawTx:d,result:u,txData:h}=await l(o,r);return c.deployInfo=Object.freeze({result:u,owner:a,transaction:i,rawTx:d,txData:h,address:s,call:(t,n,a)=>e.contractCall(c.source,s,t,n,{...r,...a}),callStatic:(t,n,a)=>e.contractCallStatic(c.source,s,t,n,{...r,...a}),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 a={...c.options,...r},o=ao(c.aci,t,c.externalAci),s=c.deployInfo.address;if(!t)throw new Error("Function name is required");if("init"===t&&!a.callStatic)throw new Error('"init" can be called only via dryRun');if(!s&&"init"!==t)throw new Error("You need to deploy contract before calling!");if(b()(a.amount).gt(0)&&Object.prototype.hasOwnProperty.call(o,"payable")&&!o.payable)throw new Error(`You try to pay "${a.amount}" to function "${t}" which is not payable. Only payable function can accept tokens`);const i=await e.address(a).catch((e=>{if(a.callStatic)return J.pub;throw e})),u=c.calldata.encode(c.aci.name,t,n);let h;if(a.callStatic){"number"==typeof a.top&&(a.top=(await e.getKeyBlock(a.top)).hash);const n={...a,callData:u,nonce: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,...l}=await e.txDryRun(r,i,a);await d(o),h={...l,tx:Va({tx:r}),result:o}}else{const t=await e.contractCallTx({...a,callerId:i,contractId:s,callData:u});h=await l(t,a)}return(a.waitMined||a.callStatic)&&(h.decodedResult=o.returns&&"unit"!==o.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 Ar(e,t)},c.methods=Object.fromEntries(c.aci.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 Error(`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),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,a)=>this.contractDeploy(r,e,t,{...n,...a}),deployStatic:(t,a)=>this.contractCallStatic(e,null,"init",t,{...n,...a,bytecode:r}),bytecode:r})},contractCallStatic:async function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],a=arguments.length>4?arguments[4]:void 0;const o=await this.getContractInstance({...a,source:e,contractAddress:t});return o.call(n,r,{...a,callStatic:!0})},contractDeploy:async function(e,t,n,r){const a=await this.getContractInstance({...r,source:t});return a.bytecode=e,a.deploy(n,r)},contractCall:async function(e,t,n,r,a){return(await this.getContractInstance({...a,source:e,contractAddress:t})).call(n,r,a)},delegateSignatureCommon:async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=await this.sign(Buffer.concat([Buffer.from(this.getNetworkId(t)),...Object.prototype.hasOwnProperty.call(t,"onAccount")?[Xt(await this.address(t))]:[],...e.map((e=>Xt(e)))]),t);return Buffer.from(n).toString("hex")},createAensDelegationSignature:async function(e){let{contractId:t,name:n}=e,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.delegateSignatureCommon([...n?[Yt(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:G,gasPrice:z,amount:Q,gas:Y}}}}),so=oo.compose(ja).compose(Qa),io=so,co=e=>async(t,n)=>{if("object"!=typeof t)throw new Error("AuthData must be an object");if(t.gas&&b()(t.gas).gt(X))throw new Error(`the maximum gas value for ga authFun is ${X}, got ${t.gas}`);const r=t.gas||X;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}},lo=oo.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 a={...this.Ae.defaults,...r},o=await this.address(a);if(await this.isGA(o))throw new Error(`Account ${o} is already GA`);const{tx:s,contractId:i}=await this.gaAttachTx({...a,ownerId:o,code:(await this.contractCompile(t)).bytecode,callData:await this.contractEncodeCallDataAPI(t,"init",n),authFun:F(e)}),{hash:c,rawTx:l}=await this.send(s,a);return Object.freeze({owner:o,transaction:c,rawTx:l,gaContractId:i})},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:a,gas:o}=await co(this)(t,n),s={...this.Ae.defaults,...r},{abiVersion:i}=await this.getVmVersion(ke.contractCall),c=ho(xr(e)),l={...s,tx:{...c,tx:c.txObject},gaId:await this.address(s),abiVersion:i,authData:a,gas:o,vsn:2},{fee:d}=await this.prepareTxParams(ke.gaMeta,l),{rlpEncoded:u}=vr({...l,fee:`${d}`},ke.gaMeta,{vsn:2});return ho(u).tx},isGA:async function(e){const{contractId:t}=await this.getAccount(e);return!!t}}}),uo=lo,ho=e=>vr({encodedTx:e,signatures:[]},ke.signed),po=e=>Object.fromEntries(e.map((e=>[e,e]))),fo=1,mo=po(["to_waellet","to_aepp"]),go=po(["window","extension"]),yo=po(["readyToConnect","closeConnection","updateNetwork","updateAddress"]),wo=po(["connect","subscribeAddress","sign","address","signMessage"]),bo=po(["current","connected"]),vo=po(["subscribe","unsubscribe"]),xo={wallet:{[yo.readyToConnect]:"connection.announcePresence",[yo.updateAddress]:"address.update"},aepp:{[wo.address]:"address.get",[wo.connect]:"connection.open",[wo.sign]:"transaction.sign",[wo.signMessage]:"message.sign",[wo.subscribeAddress]:"address.subscribe"},[yo.updateNetwork]:"networkId.update",[yo.closeConnection]:"connection.close"},To={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"},Co={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"}}},Io=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{}},Ao=()=>window!==window.parent,Eo=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 l=o?{params:o}:s?{result:s}:{error:i};return e.sendMessage({jsonrpc:"2.0",...r?{id:r}:{},method:a,...l}),r}},_o=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)},ko=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{method:e,params:t}},Oo=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}}},So=e=>(t,n,r)=>e.sendMessage(Oo(t,n,r),!0),No=()=>{},jo=e=>3===["","connected","current"].filter((t=>"object"==typeof(t?e[t]:e))).length,Po=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||!Aa(n.onAccount))throw new Error("Provided onAccount should be an AccountBase");t=n.onAccount}return t},Bo=Dr()({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=Eo(this.connection),o.connect(((e,t)=>{if(!e||!e.jsonrpc||"2.0"!==e.jsonrpc||!e.method)throw new Error(`Received invalid message: ${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===To.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=To.DISCONNECTED,this.addressSubscription=[],this.accounts={},e||this.connection.disconnect()},setAccounts(e){let{forceNotification:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!jo(e))throw new Error("Invalid accounts object. Should be object like: `{ connected: {}, selected: {} }`");this.accounts=e,t||this.sendMessage(ko(xo.wallet.updateAddress,this.accounts),!0)},updateSubscription(e,t){return e!==vo.subscribe||this.addressSubscription.includes(t)||this.addressSubscription.push(t),e===vo.unsubscribe&&this.addressSubscription.includes(t)&&(this.addressSubscription=this.addressSubscription.filter((e=>e!==t))),this.addressSubscription},request(e,t){const n=this.sendMessage(ko(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:a}=e;if(!this.callbacks[n])throw new Error(`Can't find callback for this messageId ${n}`);a?this.callbacks[n].resolve(..."function"==typeof t?t({id:n,result:a}):[a]):this.callbacks[n].reject(r),delete this.callbacks[n]}}}),Mo={[xo.wallet.updateAddress]:e=>t=>{let{params:n}=t;e.rpcClient.accounts=n,e.onAddressChange(n)},[xo.updateNetwork]:e=>t=>{e.rpcClient.info.networkId=t.params.networkId,e.onNetworkChange(t.params)},[xo.closeConnection]:e=>t=>{e.disconnectWallet(),e.onDisconnect(t.params)}},Ro={[xo.aepp.address]:e=>t=>e.rpcClient.processResponse(t),[xo.aepp.connect]:e=>t=>{t.result&&(e.rpcClient.info.status=To.CONNECTED),e.rpcClient.processResponse(t)},[xo.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]}))},[xo.aepp.sign]:e=>t=>{e.rpcClient.processResponse(t,(e=>{let{id:t,result:n}=e;return[n.signedTransaction||n.transactionHash]}))},[xo.aepp.signMessage]:e=>t=>{e.rpcClient.processResponse(t,(e=>{let{id:t,result:n}=e;return[n.signature]}))}},qo={},Vo=ka.compose({async init(e){let{name:t,onAddressChange:n=No,onDisconnect:r=No,onNetworkChange:a=No,connection:o,forceValidation:s=!1,debug:i=!1}=e;this.connection=o,this.name=t,this.debug=i,o&&await this.connectToWallet(o),this.onDisconnect=r,this.onAddressChange=n,this.onNetworkChange=a,["onDisconnect","onAddressChange","onNetworkChange"].forEach((e=>{if(!s&&"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=Bo({connection:e,networkId:this.getNetworkId({force:!0}),...e.connectionInfo,id:(0,qn.v4)(),handlers:[(t=this,async e=>e.id?Object.prototype.hasOwnProperty.call(t.rpcClient.callbacks,e.id)?_o(Ro,e,{debug:t.debug})(t)(e):_o(qo,e,{debug:t.debug})(t)(e):_o(Mo,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(ko(xo.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(xo.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(xo.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(xo.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(xo.aepp.signMessage,{...t,message:e})},async sendConnectRequest(){return this.rpcClient.request(xo.aepp.connect,{name:this.name,version:fo,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(xo.aepp.sign,{onAccount:n.onAccount,tx:e,returnSigned:!1,networkId:this.getNetworkId()})}}}),Fo=ka.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=Gt(o,xr(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=5e3}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};for(let a=0;a<n;a++){a&&await ua(r);const{response:n}=await this.api.getOracleQueryByPubkeyAndQueryId(e,t),o=Xt(n,"or");if(o.length)return String(o)}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,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)};a();const o=setInterval(a,n);return()=>clearInterval(o)},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:xn(n.query.slice(3)).toString(),decodedResponse:xn(n.response.slice(3)).toString(),respond:this.respondToQuery.bind(this,e,t),pollForResponse:this.pollForQueryResponse.bind(this,e,t),decode:e=>xn(e.slice(3))}}},deepProps:{Ae:{defaults:{queryFee:H,oracleTtl:K,queryTtl:W,responseTtl:L}}}}),$o=Fo,Do=ka.compose(Da,$o,so,La,Ba,Vo),Uo={[xo.closeConnection]:(e,t)=>{let{client:n}=t;return async t=>{n.disconnect(!0),e.onDisconnect(t.params,n)}}},Ho={},Ko={[xo.aepp.connect](e,t,n,r){let{name:a,networkId:o,version:s,icons:i}=r;return s!==fo?{error:Co.unsupportedProtocol()}:(n.updateInfo({status:To.WAITING_FOR_CONNECTION_APPROVE,name:a,networkId:o,icons:i,version:s}),e("onConnection",{name:a,networkId:o,version:s},(()=>(n.updateInfo({status:To.CONNECTED}),{result:t.getWalletInfo()})),(e=>(n.updateInfo({status:To.CONNECTION_REJECTED}),{error:Co.connectionDeny(e)}))))},[xo.aepp.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(!jo(r))throw new Error("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:Co.internalError({msg:e.message})}}}),(e=>({error:Co.rejectedByUser(e)}))):{error:Co.notAuthorize()}},[xo.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:Co.rejectedByUser(e)}))):{error:Co.notAuthorize()},[xo.aepp.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:Va.fromString(a)},(async function(e){let n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{n=Po(t.addresses(),c,r)}catch(e){return t.debug&&console.error(e),{error:Co.internalError({msg: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 Na(e||a,t.selectedNode.instance);return r.length?{error:Co.invalidTransaction(r)}:{error:Co.broadcastFailed(n.message)}}throw n}}),(e=>({error:Co.rejectedByUser(e)}))):{error:Co.unsupportedNetwork()}:{error:Co.permissionDeny({account:c})}:{error:Co.notAuthorize()}},[xo.aepp.signMessage](e,t,n,r){let{message:a,onAccount:o}=r;if(!n.isConnected())return{error:Co.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=Po(t.addresses(),s,e);return{result:{signature:await t.signMessage(a,{onAccount:n,returnHex:!0})}}}catch(e){return t.debug&&console.error(e),{error:Co.internalError({msg:e.message})}}}),(e=>({error:Co.rejectedByUser(e)}))):{error:Co.permissionDeny({account:s})}}},Wo=(e,t)=>async(n,r)=>{const a=e.rpcClients[t];if(!n.id)return _o(Uo,n,{debug:e.debug})(e,{client:a})(n,r);if(Object.prototype.hasOwnProperty.call(a.callbacks,n.id))return _o(Ho,n,{debug:e.debug})(e,{client:a})(n,r);{const{id:t,method:o}=n,s=(n,s,i,c)=>()=>new Promise((l=>{e[n](a,{id:t,method:o,params:s,accept:function(){return l(i(...arguments))},deny:function(){return l(c(...arguments))}},r)})),i=_o(Ko,n,{debug:e.debug})(s,e,a,n.params),c="function"==typeof i?await i():i;So(a)(t,o,c)}},Lo=ka.compose(Ka,{init(){var e=this;let{name:t,onConnection:n,onSubscription:r,onSign:a,onDisconnect:o,onAskAccounts:s,onMessageSign:i,forceValidation:c=!1,debug:l=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.debug=l,this.onConnection=n,this.onSubscription=r,this.onSign=a,this.onDisconnect=o,this.onAskAccounts=s,this.onMessageSign=i,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,qn.v4)();const d=this.selectAccount.bind(this),u=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]:{};d(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 u(t,{select:n});const o=await t.address();Object.values(e.rpcClients).filter((e=>e.isConnected()&&e.isSubscribed()&&a(e))).forEach((e=>e.setAccounts({current:{...n?{[o]:r}:e.accounts.current},connected:{...n?e.accounts.current:{[o]:r},...e.accounts.connected}})))},this.selectNode=e=>{h(e),Object.values(this.rpcClients).filter((e=>e.isConnected())).forEach((e=>e.sendMessage(ko(xo.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,qn.v4)();return this.rpcClients[t]=Bo({id:t,info:{status:To.WAITING_FOR_CONNECTION_REQUEST},connection:e,handlers:[Wo(this,t),this.onDisconnect]}),t},shareWalletInfo(e){e({jsonrpc:"2.0",...ko(xo.wallet.readyToConnect,this.getWalletInfo())})},getWalletInfo(){const e=Io(!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?go.extension:go.window}},getAccounts(){return{current:this.selectedAddress?{[this.selectedAddress]:{}}:{},connected:this.addresses().filter((e=>e!==this.selectedAddress)).reduce(((e,t)=>({...e,[t]:{}})),{})}}}}),Go=ka.compose(Lo,Da,io,$o,La,uo,Ba);var Qo=T(3752),Yo=T(3205);const zo=new WeakMap,Xo=new WeakMap,Jo=new WeakMap,Zo=new WeakMap,es=new WeakMap,ts=new WeakMap,ns=new WeakMap,rs=new WeakMap,as=new WeakMap,os=new WeakMap,ss=new WeakMap,is=new WeakMap,cs=new WeakMap,ls=new WeakMap,ds=new WeakMap,us=new WeakMap;function hs(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];ts.get(e).emit(...n)}function ps(e,t){if(!t)throw new Error("State Channels FSM entered unknown state");Zo.set(e,t),t.handler.enter&&t.handler.enter(e),ws(e)}function fs(e,t){t!==Xo.get(e)&&(Xo.set(e,t),hs(e,"statusChanged",t))}function ms(e,t){Jo.set(e,t),hs(e,"stateChanged",t)}function gs(e,t){const{debug:n=!1}=zo.get(e);n&&console.log("Send message: ",t),es.get(e).send(da.stringify(t))}function ys(e,t,n){as.set(e,[...as.get(e)||[],{guard:t,action:n}]),ws(e)}async function ws(e){const t=os.get(e),n=as.get(e)||[];if(t||!n.length)return;const r=Zo.get(e),a=n.findIndex((t=>t.guard(e,r)));if(-1===a)return;as.set(e,n.filter(((e,t)=>a!==t))),os.set(e,!0);const o=await Promise.resolve(n[a].action(e,r));os.set(e,!1),ps(e,o)}async function bs(e){const t=ns.get(e);if(rs.get(e)||!t.length)return;const[n,...r]=t;ns.set(e,r||[]),rs.set(e,!0),await async function(e,t){const{handler:n,state:r}=Zo.get(e);ps(e,await Promise.resolve(n(e,t,r)))}(e,n),rs.set(e,!1),bs(e)}function vs(e){clearTimeout(ls.get(e)),clearTimeout(ds.get(e)),ls.set(e,setTimeout((()=>{gs(e,{jsonrpc:"2.0",method:"channels.system",params:{action:"ping"}}),ds.set(e,setTimeout((()=>{Ts(e),hs(e,"error",new Error("Server pong timed out"))}),5e3))}),1e4))}function xs(e,t,n){return new Promise(((r,a)=>{const o=ss.set(e,ss.get(e)+1).get(e);cs.get(e).set(o,(e=>e.result?r(e.result):e.error?a(function(e){const[{message:t}={}]=e.error.data||[];return t?new Error(`${e.error.message}: ${t}`):new Error(e.error.message)}(e)):void 0)),gs(e,{jsonrpc:"2.0",method:t,id:o,params:n})}))}function Ts(e){es.get(e).close(),clearTimeout(ls.get(e)),clearTimeout(ds.get(e))}async function Cs(e,t){let{url:n,...r}=t;zo.set(e,r),Zo.set(e,{handler:r.existingFsmId?ks:_s}),ts.set(e,new Yo.EventEmitter),ss.set(e,0),cs.set(e,new Map);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(x(t),n)})),a.searchParams.set("protocol","json-rpc"),fs(e,"connecting");const o=new Qo.w3cwebsocket(a.toString());await new Promise(((t,n)=>Object.assign(o,{onerror:n,onopen:()=>{t(),fs(e,"connected"),r.reconnectTx&&(ps(e,{handler:Bs}),setTimeout((async()=>ms(e,(await xs(e,"channels.get.offchain_state",{})).signed_tx)))),vs(e)},onclose:()=>{fs(e,"disconnected"),clearTimeout(ls.get(e)),clearTimeout(ds.get(e))},onmessage:t=>{let{data:n}=t;return function(e,t){const n=da.parse(t),{debug:r=!1}=zo.get(e);if(r&&console.log("Receive message: ",n),n.id){const t=cs.get(e).get(n.id);try{t(n)}finally{cs.get(e).delete(n.id)}}else"channels.message"===n.method?hs(e,"message",n.params.data.message):"channels.system.pong"===n.method?n.params.channel_id!==is.get(e)&&null!=is.get(e)||vs(e):(ns.set(e,[...ns.get(e)||[],n]),bs(e))}(e,n)}}))),es.set(e,o)}function Is(e){return`tx_${bn(e)}`}async function As(e,t){const{signatures:n,encodedTx:r}=xr(e).tx,a=await t(Is(r.rlpEncoded));if("string"==typeof a){const{tx:e,txType:t}=xr(a);return Is(vr({signatures:n.concat(e.signatures),encodedTx:e.encodedTx.rlpEncoded},t).rlpEncoded)}return a}function Es(e,t,n){return n&&n.reject&&n.reject(Object.assign(new Error(`Unexpected message received:\n\n${JSON.stringify(t)}`),{wsMessage:t})),{handler:Bs}}function _s(e,t,n){return"channels.info"===t.method?["channel_accept","funding_created"].includes(t.params.data.event)?(fs(e,{channel_accept:"accepted",funding_created:"halfSigned"}[t.params.data.event]),{handler:Os}):"channel_reestablished"===t.params.data.event?{handler:js}:"fsm_up"===t.params.data.event?(us.set(e,t.params.data.fsm_id),{handler:_s}):{handler:_s}:"channels.error"===t.method?(hs(e,"error",new Error(t.payload.message)),{handler:Zs}):void 0}async function ks(e,t,n){return"channels.info"===t.method&&"fsm_up"===t.params.data.event?(us.set(e,t.params.data.fsm_id),ms(e,(await xs(e,"channels.get.offchain_state",{})).signed_tx),{handler:Bs}):Es(0,t,n)}async function Os(e,t,n){const r={initiator:"initiator_sign",responder:"responder_sign"}[zo.get(e).role];if(t.method===`channels.sign.${r}`){if(t.params.data.tx){const n=await zo.get(e).sign(r,t.params.data.tx);return gs(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{tx:n}}),{handler:Ss}}const n=await As(t.params.data.signed_tx,(t=>zo.get(e).sign(r,t)));return gs(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{signed_tx:n}}),{handler:Ss}}}function Ss(e,t,n){if("channels.on_chain_tx"===t.method){if("funding_signed"===t.params.data.info&&"initiator"===zo.get(e).role)return{handler:Ns};if("funding_created"===t.params.data.info&&"responder"===zo.get(e).role)return{handler:Ns}}if("channels.info"===t.method&&"funding_signed"===t.params.data.event&&"initiator"===zo.get(e).role)return is.set(e,t.params.channel_id),fs(e,"signed"),{handler:Ss}}function Ns(e,t,n){if("channels.info"===t.method){const e={funding_created:Ns,own_funding_locked:Ns,funding_locked:js}[t.params.data.event];if(e)return{handler:e}}if("channels.on_chain_tx"===t.method)return hs(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),{handler:Ns}}function js(e,t,n){if("channels.info"===t.method&&"open"===t.params.data.event)return is.set(e,t.params.channel_id),{handler:Ps}}function Ps(e,t,n){if("channels.update"===t.method)return ms(e,t.params.data.state),{handler:Bs}}async function Bs(e,t,n){switch(t.method){case"channels.info":switch(t.params.data.event){case"update":case"withdraw_created":case"deposit_created":return{handler:qs};case"own_withdraw_locked":case"withdraw_locked":case"own_deposit_locked":case"deposit_locked":case"peer_disconnected":case"channel_reestablished":case"open":return hs(e,t.params.data.event),{handler:Bs};case"fsm_up":return us.set(e,t.params.data.fsm_id),{handler:Bs};case"timeout":case"close_mutual":case"shutdown":return{handler:Bs};case"closing":return fs(e,"closing"),{handler:Bs};case"closed_confirmed":return fs(e,"closed"),{handler:Zs};case"died":return fs(e,"died"),{handler:Zs}}break;case"channels.on_chain_tx":return hs(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),{handler:Bs};case"channels.leave":return{handler:Bs};case"channels.update":return ms(e,t.params.data.state),{handler:Bs};case"channels.sign.shutdown_sign_ack":return qs(e,t,n)}}async function Ms(e,t,n){if("channels.sign.update"===t.method){const{sign:r}=n;if(t.params.data.tx)return gs(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:Rs,state:n};const a=await As(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return gs(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:a}}),{handler:Rs,state:n};if("number"==typeof a)return gs(e,{jsonrpc:"2.0",method:"channels.update",params:{error:a}}),{handler:Ms,state:n}}if("channels.error"===t.method)return n.reject(new Error(t.data.message)),{handler:Bs};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:Bs}}return"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Bs}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Bs}):Es(0,t,n)}function Rs(e,t,n){return"channels.update"===t.method?(ms(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Bs}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Bs}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Bs}):t.error?(n.reject(new Error(t.error.message)),{handler:Bs}):Es(0,t,n)}async function qs(e,t,n){const[,r]=t.method.match(/^channels\.sign\.([^.]+)$/)||[];if(r){if(t.params.data.tx){const n=await zo.get(e).sign(r,t.params.data.tx,{updates:t.params.data.updates});if(n)return gs(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{tx:n}}),{handler:Bs}}else{const a=await As(t.params.data.signed_tx,(n=>zo.get(e).sign(r,n,{updates:t.params.data.updates})));if("string"==typeof a)return gs(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{signed_tx:a}}),{handler:Bs};if("number"==typeof a)return gs(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{error:a}}),{handler:Vs,state:n}}return gs(e,{jsonrpc:"2.0",method:"channels.update.new",params:{from:_n().publicKey,to:_n().publicKey,amount:1}}),{handler:Vs,state:n}}return Es(0,t,n)}function Vs(e,t,n){return t.error?{handler:Vs,state:n}:"channels.conflict"===t.method?{handler:Bs}:Es(0,t,n)}async function Fs(e,t,n){if("channels.sign.shutdown_sign"===t.method){if(t.params.data.tx)return gs(e,{jsonrpc:"2.0",method:"channels.shutdown_sign",params:{tx:await n.sign(t.params.data.tx)}}),{handler:$s,state:n};const r=await As(t.params.data.signed_tx,(e=>n.sign(e)));return gs(e,{jsonrpc:"2.0",method:"channels.shutdown_sign",params:{signed_tx:r}}),{handler:$s,state:n}}return Es(0,t,n)}function $s(e,t,n){return"channels.on_chain_tx"===t.method?{handler:Zs,state:n}:Es(0,t,n)}function Ds(e,t,n){return"channels.leave"===t.method?(n.resolve({channelId:t.params.channel_id,signedTx:t.params.data.state}),Ts(e),{handler:Zs}):"channels.error"===t.method?(n.reject(new Error(t.data.message)),{handler:Bs}):Es(0,t,n)}async function Us(e,t,n){if("channels.sign.withdraw_tx"===t.method){const{sign:r}=n;if(t.params.data.tx)return gs(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:Hs,state:n};const a=await As(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return gs(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{signed_tx:a}}),{handler:Hs,state:n};if("number"==typeof a)return gs(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{error:a}}),{handler:Hs,state:n}}return Es(0,t,n)}function Hs(e,t,n){if("channels.on_chain_tx"===t.method)return n.onOnChainTx&&n.onOnChainTx(t.params.data.tx),{handler:Hs,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:Hs,state:n}}return"channels.update"===t.method?(ms(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Bs}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Bs}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Bs}):Es(0,t,n)}async function Ks(e,t,n){if("channels.sign.deposit_tx"===t.method){const{sign:r}=n;if(t.params.data.tx)return gs(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:Ws,state:n};const a=await As(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return gs(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{signed_tx:a}}),{handler:Ws,state:n};if("number"==typeof a)return gs(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{error:a}}),{handler:Ws,state:n}}return Es(0,t,n)}function Ws(e,t,n){if("channels.on_chain_tx"===t.method)return n.onOnChainTx&&n.onOnChainTx(t.params.data.tx),{handler:Ws,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:Ws,state:n}}return"channels.update"===t.method?(ms(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Bs}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Bs}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Bs}):Es(0,t,n)}async function Ls(e,t,n){if("channels.sign.update"===t.method){if(t.params.data.tx)return gs(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await n.sign(t.params.data.tx)}}),{handler:Gs,state:n};const r=await As(t.params.data.signed_tx,(e=>n.sign(e)));if("string"==typeof r)return gs(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:r}}),{handler:Gs,state:n};if("number"==typeof r)return gs(e,{jsonrpc:"2.0",method:"channels.update",params:{error:r}}),{handler:Gs,state:n}}return Es(0,t,n)}function Gs(e,t,n){if("channels.update"===t.method){const{round:r}=xr(t.params.data.state).tx.encodedTx.tx,a=zo.get(e)[{initiator:"initiatorId",responder:"responderId"}[zo.get(e).role]];return ms(e,t.params.data.state),n.resolve({accepted:!0,address:An(a,r),signedTx:t.params.data.state}),{handler:Bs}}return"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Bs}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Bs}):Es(0,t,n)}async function Qs(e,t,n){if("channels.sign.update"===t.method){if(t.params.data.tx)return gs(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await n.sign(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:Xs,state:n};const r=await As(t.params.data.signed_tx,(e=>n.sign(e,{updates:t.params.data.updates})));if("string"==typeof r)return gs(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:r}}),{handler:Xs,state:n};if("number"==typeof r)return gs(e,{jsonrpc:"2.0",method:"channels.update",params:{error:r}}),{handler:Xs,state:n}}return Es(0,t,n)}async function Ys(e,t,n){if("channels.sign.force_progress_tx"===t.method){const r=await As(t.params.data.signed_tx,(e=>n.sign(e,{updates:t.params.data.updates})));return gs(e,{jsonrpc:"2.0",method:"channels.force_progress_sign",params:{signed_tx:r}}),{handler:zs,state:n}}return Es(0,t,n)}function zs(e,t,n){return"channels.on_chain_tx"===t.method&&(n.onOnChainTx&&n.onOnChainTx(t.params.data),hs(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})),Es(0,t,n)}function Xs(e,t,n){return"channels.update"===t.method?(ms(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Bs}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Bs}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Bs}):Es(0,t,n)}function Js(e,t,n){return"channels.calls_pruned.reply"===t.method?(n.resolve(),{handler:Bs}):(n.reject(new Error("Unexpected message received")),{handler:Zs})}function Zs(e,t,n){return n?"closing"===t.params.data.event?{handler:Zs,state:n}:"channel_closed"===t.params.data.info?(n.closeTx=t.params.data.tx,{handler:Zs,state:n}):"closed_confirmed"===t.params.data.event?(n.resolve(n.closeTx),{handler:Zs}):{handler:Zs,state:n}:{handler:Zs}}function ei(e){return Object.entries(e).reduce(((e,t)=>{let[n,r]=t;return{...e,[v(n)]:r}}),{})}Bs.enter=e=>{fs(e,"open")};const ti=na.compose({async init(e){Cs(this,e)},methods:{on:function(e,t){ts.get(this).on(e,t)},off:function(e,t){ts.get(this).removeListener(e,t)},status:function(){return Xo.get(this)},state:async function(){return ei(await xs(this,"channels.get.offchain_state",{}))},round:function(){if(!Jo.get(this))return null;const{txType:e,tx:t}=xr(Jo.get(this)).tx.encodedTx;switch(e){case ke.channelCreate:return 1;case ke.channelOffChain:case ke.channelWithdraw:case ke.channelDeposit:return parseInt(t.round,10);default:return null}},id:function(){return is.get(this)},fsmId:function(){return us.get(this)},update:function(e,t,n,r,a){return new Promise(((o,s)=>{ys(this,((e,t)=>t.handler===Bs),((i,c)=>(gs(i,{jsonrpc:"2.0",method:"channels.update.new",params:{from:e,to:t,amount:n,meta:a}}),{handler:Ms,state:{resolve:o,reject:s,sign:r}})))}))},poi:async function(e){let{accounts:t,contracts:n}=e;return(await xs(this,"channels.get.poi",{accounts:t,contracts:n})).poi},balances:async function(e){return Object.fromEntries((await xs(this,"channels.get.balances",{accounts:e})).map((e=>[e.account,e.balance])))},leave:function(){return new Promise(((e,t)=>{ys(this,((e,t)=>t.handler===Bs),((n,r)=>(gs(n,{jsonrpc:"2.0",method:"channels.leave",params:{}}),{handler:Ds,state:{resolve:e,reject:t}})))}))},shutdown:function(e){return new Promise(((t,n)=>{ys(this,((e,t)=>t.handler===Bs),((r,a)=>(gs(r,{jsonrpc:"2.0",method:"channels.shutdown",params:{}}),{handler:Fs,state:{sign:e,resolve:t,reject:n}})))}))},sendMessage:function(e,t){let n=e;"object"==typeof e&&(n=JSON.stringify(e));const r=e=>gs(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)=>{ys(this,((e,t)=>t.handler===Bs),((i,c)=>(gs(i,{jsonrpc:"2.0",method:"channels.withdraw",params:{amount:e}}),{handler:Us,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)=>{ys(this,((e,t)=>t.handler===Bs),((i,c)=>(gs(i,{jsonrpc:"2.0",method:"channels.deposit",params:{amount:e}}),{handler:Ks,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)=>{ys(this,((e,t)=>t.handler===Bs),((c,l)=>(gs(c,{jsonrpc:"2.0",method:"channels.update.new_contract",params:{code:n,call_data:r,deposit:a,vm_version:o,abi_version:s}}),{handler:Ls,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)=>{ys(this,((e,t)=>t.handler===Bs),((i,c)=>(gs(i,{jsonrpc:"2.0",method:"channels.update.call_contract",params:{amount:n,call_data:r,contract_id:a,abi_version:o}}),{handler:Qs,state:{resolve:e,reject:s,sign:t}})))}))},callContractStatic:async function(e){let{amount:t,callData:n,contract:r,abiVersion:a}=e;return ei(await xs(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 ei(await xs(this,"channels.get.contract_call",{caller_id:t,contract_id:n,round:r}))},getContractState:async function(e){const t=await xs(this,"channels.get.contract",{pubkey:e});return ei({...t,contract:ei(t.contract)})},disconnect:function(){return Ts(this)},cleanContractCalls:function(){return new Promise(((e,t)=>{ys(this,((e,t)=>t.handler===Bs),((n,r)=>(gs(n,{jsonrpc:"2.0",method:"channels.clean_contract_calls",params:{}}),{handler:Js,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:l}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((e,c)=>{ys(this,((e,t)=>t.handler===Bs),((d,u)=>(gs(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:Ys,state:{resolve:e,reject:c,sign:t,onOnChainTx:l}})))}))}},statics:{reconnect:async function(e,t){const{sign:n}=e;return ti({...e,reconnectTx:await n("reconnect",vr(t,ke.channelReconnect).tx)})}}}),ni=ti,ri=ka.compose(Ka,Ba,Da,La,io,$o,uo),ai=Dr()({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()}}}),oi=(0,Ur.required)({methods:{connect:Ur.required,disconnect:Ur.required,sendMessage:Ur.required,isConnected:Ur.required}}),si=()=>{const e="object"==typeof Io(!0).extension,t=window&&window.location&&window.location.protocol.startsWith("http");return e&&t?window:Ao()?window.parent:void 0},ii=Dr()({init(){let{connectionInfo:e={},target:t=si(),self:n=window,origin:r,sendDirection:a,receiveDirection:o=mo.to_aepp,debug:s=!1,forceOrigin:i=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(a&&!Object.keys(mo).includes(a))throw new Error(`sendDirection must be one of [${Object.keys(mo)}]`);if(!Object.keys(mo).includes(o))throw new Error(`receiveDirection must be one of [${Object.keys(mo)}]`);this.connectionInfo={id:(0,qn.v4)(),...e};const c=n,l=t;if(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=>l.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,a=this.forceOrigin;if(this.listener)throw new Error("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 Error("You dont have connection. Please connect before");this.unsubscribeFn(this.listener),this.listener=null},isConnected:function(){return this.listener}}},oi),ci=Dr()({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||ii({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!==xo.wallet.readyToConnect||t[s.id])return;const i={...s,async getConnection(){const e="extension"===this.type,t=e?window.origin:this.origin;return ii({connectionInfo:this,sendDirection:e?mo.to_waellet:void 0,receiveDirection:e?mo.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()}}}),li=Dr()({init(e){let{connectionInfo:t={},port:n,debug:r=!1}=e;if(!Io().runtime)throw new Error("Runtime is not accessible in your environment");this.debug=r,this.connectionInfo=t,this.port=n||Io().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)}}},oi),di=cn})(),C})()}));
|
|
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("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","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("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.rlp,e["swagger-client"],e["cross-fetch"],e["@aeternity/json-bigint"],e["@aeternity/aepp-calldata"],e.websocket,e.events,e["@aeternity/argon2-browser/dist/argon2-bundled.min.js"],e["tweetnacl-auth"],e["bip32-path"])}(global,(function(e,t,n,r,a,s,o,i,c,d,l,u,h,p,f,m,g,y,w){return(()=>{"use strict";var b={946:e=>{e.exports=p},289:e=>{e.exports=g},343:e=>{e.exports=c},911:e=>{e.exports=h},983:e=>{e.exports=t},910:t=>{t.exports=e},180:e=>{e.exports=n},236:e=>{e.exports=o},192:e=>{e.exports=r},986:e=>{e.exports=w},783:e=>{e.exports=a},503:e=>{e.exports=u},735:e=>{e.exports=m},485:e=>{e.exports=d},433:e=>{e.exports=i},659:e=>{e.exports=l},79:e=>{e.exports=s},882:e=>{e.exports=y},397:e=>{e.exports=f}},x={};function v(e){var t=x[e];if(void 0!==t)return t.exports;var n=x[e]={exports:{}};return b[e](n,n.exports,v),n.exports}v.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return v.d(t,{a:t}),t},v.d=(e,t)=>{for(var n in t)v.o(t,n)&&!v.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},v.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),v.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var T={};return(()=>{v.r(T),v.d(T,{AccountBase:()=>Ls,AccountError:()=>b,AccountMultiple:()=>ho,Ae:()=>Qs,Aens:()=>fo,AensError:()=>x,AensPointerContextError:()=>Y,AeppError:()=>I,AeppWalletHelpers:()=>d,AeppWalletSchema:()=>c,AlreadyConnectedError:()=>et,AmbiguousEventDefinitionError:()=>Te,AmountFormatter:()=>s,ArgumentCountMismatchError:()=>B,ArgumentError:()=>S,BaseError:()=>w,BrowserRuntimeConnection:()=>fc,BrowserWindowMessageConnection:()=>hc,BytecodeMismatchError:()=>ue,Bytes:()=>e,Chain:()=>xs,ChainNode:()=>to,Channel:()=>ic,ChannelCallError:()=>se,ChannelConnectionError:()=>oe,ChannelError:()=>C,ChannelPingTimedOutError:()=>ie,CompilerError:()=>E,ContentScriptBridge:()=>dc,Contract:()=>bo,ContractCompilerHttp:()=>mo,ContractError:()=>A,Crypto:()=>r,CryptographyError:()=>k,DecodeError:()=>De,DisconnectedError:()=>je,DryRunError:()=>qe,DuplicateCallbackError:()=>Z,DuplicateContractError:()=>he,DuplicateNodeError:()=>Me,EncodeError:()=>Fe,GeneralizedAccount:()=>To,HdWallet:()=>i,IllegalArgumentError:()=>P,IllegalBidFeeError:()=>$e,InactiveContractError:()=>pe,InsufficientBalanceError:()=>j,InsufficientNameFeeError:()=>X,InternalError:()=>G,InvalidAensNameError:()=>J,InvalidAuthDataError:()=>le,InvalidChecksumError:()=>Ie,InvalidDenominationError:()=>M,InvalidDerivationPathError:()=>Ce,InvalidKeyError:()=>Ee,InvalidKeypairError:()=>Q,InvalidMethodInvocationError:()=>fe,InvalidNameError:()=>R,InvalidPasswordError:()=>Ae,InvalidRpcMessageError:()=>ee,InvalidSignatureError:()=>Ue,InvalidTxError:()=>He,InvalidTxParamsError:()=>Ke,Keystore:()=>a,MemoryAccount:()=>uo,MerkleTreeHashMismatchError:()=>ke,MessageDirectionError:()=>tt,MissingCallbackError:()=>te,MissingContractAddressError:()=>me,MissingContractDefError:()=>ge,MissingEventDefinitionError:()=>ve,MissingFunctionNameError:()=>ye,MissingNodeInTreeError:()=>_e,MissingParamError:()=>D,NoBrowserFoundError:()=>F,NoDefaultAensPointerError:()=>We,NoSerializerFoundError:()=>V,NoSuchContractFunctionError:()=>be,NoWalletConnectedError:()=>nt,Node:()=>Ks,NodeError:()=>_,NodeInvocationError:()=>we,NodeNotFoundError:()=>Re,NodePool:()=>Js,NotHardenedSegmentError:()=>Ne,NotImplementedError:()=>W,NotPayableFunctionError:()=>xe,Oracle:()=>Wo,PayloadLengthError:()=>Ve,PrefixMismatchError:()=>Le,PrefixNotFoundError:()=>Ge,RequestTimedOutError:()=>q,RpcAepp:()=>Lo,RpcConnectionError:()=>rt,RpcWallet:()=>Zo,SCHEMA:()=>t,SchemaNotFoundError:()=>Qe,TagNotFoundError:()=>ze,Transaction:()=>co,TransactionError:()=>O,Tx:()=>ws,TxBuilder:()=>o,TxBuilderHelper:()=>n,TxNotInChainError:()=>Ye,TxTimedOutError:()=>$,TypeError:()=>U,UnAuthorizedAccountError:()=>ne,UnavailableAccountError:()=>z,UnexpectedChannelMessageError:()=>ce,Universal:()=>cc,UnknownChannelStateError:()=>de,UnknownNodeLengthError:()=>Se,UnknownPathNibbleError:()=>Pe,UnknownRpcClientError:()=>re,UnknownTxError:()=>Xe,UnsubscribedAccountError:()=>ae,UnsupportedABIversionError:()=>Je,UnsupportedAlgorithmError:()=>Oe,UnsupportedChildIndexError:()=>Be,UnsupportedPlatformError:()=>H,UnsupportedProtocolError:()=>K,UnsupportedVMversionError:()=>Ze,UnsupportedVersionError:()=>L,WalletDetector:()=>pc,WalletError:()=>N,genSwaggerClient:()=>Fs,getDefaultPointerKey:()=>mc,verifyTransaction:()=>Xs});var e={};v.r(e),v.d(e,{bigNumberToByteArray:()=>it,str2buf:()=>dt,toBytes:()=>ct});var t={};v.r(t),v.d(t,{ABI_VERSIONS:()=>sn,AMOUNT:()=>Ct,BASE_GAS:()=>un,CLIENT_TTL:()=>Pt,CONTRACT_BYTE_CODE_LIMA:()=>Tn,DEFAULT_FEE:()=>pn,DRY_RUN_ACCOUNT:()=>_t,FIELD_TYPES:()=>ln,GAS_MAX:()=>Et,GAS_PER_BYTE:()=>hn,ID_TAG:()=>yn,ID_TAG_PREFIX:()=>bn,KEY_BLOCK_INTERVAL:()=>fn,MAX_AUTH_FUN_GAS:()=>kt,MIN_GAS_PRICE:()=>At,NAME_BID_MAX_LENGTH:()=>Dt,NAME_BID_RANGES:()=>Vt,NAME_BID_TIMEOUTS:()=>qt,NAME_BID_TIMEOUT_BLOCKS:()=>Mt,NAME_FEE_BID_INCREMENT:()=>jt,NAME_FEE_MULTIPLIER:()=>Bt,NAME_MAX_CLIENT_TTL:()=>St,NAME_MAX_LENGTH_FEE:()=>Rt,NAME_MAX_TTL:()=>Nt,NAME_TTL:()=>Ot,OBJECT_ID_TX_TYPE:()=>dn,OBJECT_TAG_SIGNED_TRANSACTION:()=>$t,ORACLE_TTL:()=>vt,POINTER_KEY_BY_PREFIX:()=>Ft,PREFIX_ID_TAG:()=>wn,PROTOCOL_VERSIONS:()=>on,PROTOCOL_VM_ABI:()=>cn,QUERY_FEE:()=>xt,QUERY_TTL:()=>Tt,RESPONSE_TTL:()=>It,TX_DESERIALIZATION_SCHEMA:()=>gr,TX_FEE_BASE_GAS:()=>mn,TX_FEE_OTHER_GAS:()=>gn,TX_SERIALIZATION_SCHEMA:()=>mr,TX_TTL:()=>bt,TX_TYPE:()=>rn,VM_VERSIONS:()=>an,VSN:()=>yt,VSN_2:()=>wt});var n={};v.r(n),v.d(n,{buildContractId:()=>xr,buildPointers:()=>qr,commitmentHash:()=>Cr,computeAuctionEndBlock:()=>Qr,computeBidFee:()=>Gr,createSalt:()=>br,decode:()=>jr,encode:()=>Mr,ensureNameValid:()=>Hr,formatSalt:()=>Tr,getDefaultPointerKey:()=>Wr,getMinimumNameFee:()=>Lr,isAuctionName:()=>zr,isNameValid:()=>Kr,oracleQueryId:()=>vr,produceNameId:()=>Ir,readId:()=>Dr,readInt:()=>Vr,readPointers:()=>$r,writeId:()=>Rr,writeInt:()=>Fr});var r={};v.r(r),v.d(r,{decryptKey:()=>oa,encodeContractAddress:()=>na,encodeUnsigned:()=>ta,encryptKey:()=>sa,generateKeyPair:()=>aa,generateKeyPairFromSecret:()=>ra,getAddressFromPriv:()=>Xr,hash:()=>pt,isAddressValid:()=>Jr,isValidKeypair:()=>ha,messageToHash:()=>da,salt:()=>ea,sha256hash:()=>Zr,sign:()=>ia,signMessage:()=>la,verify:()=>ca,verifyMessage:()=>ua});var a={};v.r(a),v.d(a,{deriveKeyUsingArgon2id:()=>ya,dump:()=>Ca,getAddressFromPriv:()=>Ta,recover:()=>Ia,validateKeyObj:()=>Ea});var s={};v.r(s),v.d(s,{AE_AMOUNT_FORMATS:()=>ka,DENOMINATION_MAGNITUDE:()=>_a,default:()=>Ma,formatAmount:()=>Sa,toAe:()=>Oa,toAettos:()=>Na});var o={};v.r(o),v.d(o,{buildRawTx:()=>Qa,buildTx:()=>Xa,buildTxHash:()=>Za,calculateFee:()=>La,calculateMinFee:()=>Ka,default:()=>es,unpackRawTx:()=>za,unpackTx:()=>Ja,validateParams:()=>Ga});var i={};v.r(i),v.d(i,{deriveChild:()=>us,derivePathFromKey:()=>os,derivePathFromSeed:()=>is,generateSaveHDWalletFromSeed:()=>hs,getHdWalletAccountFromSeed:()=>fs,getKeyPair:()=>ds,getMasterKeyFromSeed:()=>ls,getSaveHDWalletAccounts:()=>ps});var c={};v.r(c),v.d(c,{ERRORS:()=>No,MESSAGE_DIRECTION:()=>Eo,METHODS:()=>_o,RPC_STATUS:()=>Oo,SUBSCRIPTION_TYPES:()=>ko,VERSION:()=>Co,WALLET_TYPE:()=>Ao});var d={};v.r(d),v.d(d,{getBrowserAPI:()=>So,getHandler:()=>jo,isInIframe:()=>Po,isValidAccounts:()=>Fo,message:()=>Mo,responseMessage:()=>Ro,sendMessage:()=>Bo,sendResponseMessage:()=>Do});var l=v(79),u=v.n(l),h=v(236),p=v.n(h),f=v(433),m=v.n(f),g=v(192),y=v.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 I 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 B extends w{constructor(e,t,n){super(`${e} expects ${t} arguments, got ${n} instead`),this.name="ArgumentCountMismatchError"}}class j extends w{constructor(e){super(e),this.name="InsufficientBalanceError"}}class M 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 V extends w{constructor(){super("Byte serialization not supported"),this.name="NoSerializerFoundError"}}class q 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 I{constructor(){super("Callback Already exist"),this.name="DuplicateCallbackError"}}class ee extends I{constructor(e){super(`Received invalid message: ${e}`),this.name="InvalidRpcMessageError"}}class te extends I{constructor(e){super(`Can't find callback for this messageId ${e}`),this.name="MissingCallbackError"}}class ne extends I{constructor(e){super(`You do not have access to account ${e}`),this.name="UnAuthorizedAccountError"}}class re extends I{constructor(e){super(`RpcClient with id ${e} do not exist`),this.name="UnknownRpcClientError"}}class ae extends I{constructor(){super("You are not subscribed for an account."),this.name="UnsubscribedAccountError"}}class se extends C{constructor(e){super(e),this.name="ChannelCallError"}}class oe 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 de extends C{constructor(){super("State Channels FSM entered unknown state"),this.name="UnknownChannelStateError"}}class le extends E{constructor(e){super(e),this.name="InvalidAuthDataError"}}class ue 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 Be extends k{constructor(e){super(`Child index #${e} is not supported`),this.name="UnsupportedChildIndexError"}}class je extends _{constructor(){super("Can not get node info. Node is not connected"),this.name="DisconnectedError"}}class Me 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 Ve extends O{constructor(e){super(e),this.name="PayloadLengthError"}}class qe 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 st(e){return e.replace(/[A-Z]/g,(e=>`_${e.toLowerCase()}`))}function ot(e){return e.length%2==0&&/^[0-9a-f]+$/i.test(e)}function it(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),Buffer.from(t,"hex")}function ct(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(null==e)return Buffer.from([]);if(Number.isInteger(e)||y().isBigNumber(e)||t)return y().isBigNumber(e)||(e=new(y())(e)),it(e);if("string"==typeof e)return Buffer.from(e);throw new V}function dt(e,t){var n;return Buffer.from(e,null!==(n=null!=t?t:ot(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=v(783),ut=v.n(lt),ht=v(343);function pt(e){return Buffer.from((0,ht.blake2b)(e,void 0,32))}class ft{static serialize(e){return e}static deserialize(e){return e}}class mt extends ft{static serialize(e){return Rr(Kr(e)?Ir(e):e)}static deserialize(e){return Dr(e)}}class gt extends ft{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 Fr(0)}static deserialize(e){return Vr(e)}}const yt=1,wt=2,bt=0,xt=3e4,vt={type:"delta",value:500},Tt={type:"delta",value:10},It={type:"delta",value:10},Ct=0,Et=1579e3,At=1e9,kt=5e4,_t={pub:"ak_11111111111111111111111111111111273Yts",amount:"100000000000000000000000000000000000"},Ot=18e4,Nt=36e3,St=84600,Pt=St,Bt=1e14,jt=.05,Mt=480,Rt=31,Dt=12,Ft={ak:"account_pubkey",ok:"oracle_pubkey",ct:"contract_pubkey",ch:"channel"},Vt={31:y()(3).times(Bt),30:y()(5).times(Bt),29:y()(8).times(Bt),28:y()(13).times(Bt),27:y()(21).times(Bt),26:y()(34).times(Bt),25:y()(55).times(Bt),24:y()(89).times(Bt),23:y()(144).times(Bt),22:y()(233).times(Bt),21:y()(377).times(Bt),20:y()(610).times(Bt),19:y()(987).times(Bt),18:y()(1597).times(Bt),17:y()(2584).times(Bt),16:y()(4181).times(Bt),15:y()(6765).times(Bt),14:y()(10946).times(Bt),13:y()(17711).times(Bt),12:y()(28657).times(Bt),11:y()(46368).times(Bt),10:y()(75025).times(Bt),9:y()(121393).times(Bt),8:y()(196418).times(Bt),7:y()(317811).times(Bt),6:y()(514229).times(Bt),5:y()(832040).times(Bt),4:y()(1346269).times(Bt),3:y()(2178309).times(Bt),2:y()(3524578).times(Bt),1:y()(5702887).times(Bt)},qt={13:y()(0),12:y()(Mt),8:y()(31).times(Mt),4:y()(62).times(Mt)},$t=11,Ut=521,Ht=570,Kt=571,Wt=572,Lt=573,Gt=574,Qt=575,zt=621,Yt=622,Xt=623,Jt=624,Zt=625,en=626,tn=(e,t,n)=>[e,t,n],nn=(e,t)=>[e,t],rn={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"},an={NO_VM:0,SOPHIA:1,SOPHIA_IMPROVEMENTS_MINERVA:3,SOPHIA_IMPROVEMENTS_FORTUNA:4,FATE:5,SOPHIA_IMPROVEMENTS_LIMA:6,FATE_2:7},sn={NO_ABI:0,SOPHIA:1,FATE:3},on={IRIS:5},cn={[on.IRIS]:{[rn.contractCreate]:{vmVersion:[an.FATE_2],abiVersion:[sn.FATE]},[rn.contractCall]:{vmVersion:[an.FATE_2,an.FATE,an.SOPHIA_IMPROVEMENTS_LIMA,an.SOPHIA_IMPROVEMENTS_FORTUNA,an.SOPHIA,an.SOPHIA_IMPROVEMENTS_MINERVA],abiVersion:[sn.FATE,sn.SOPHIA]},[rn.oracleRegister]:{vmVersion:[],abiVersion:[sn.NO_ABI,sn.SOPHIA]}}},dn={10:rn.account,[$t]:rn.signed,12:rn.spend,32:rn.nameClaim,33:rn.namePreClaim,34:rn.nameUpdate,35:rn.nameRevoke,36:rn.nameTransfer,40:rn.contract,42:rn.contractCreate,43:rn.contractCall,41:rn.contractCallResult,22:rn.oracleRegister,25:rn.oracleExtend,23:rn.oracleQuery,24:rn.oracleResponse,50:rn.channelCreate,53:rn.channelCloseMutual,54:rn.channelCloseSolo,55:rn.channelSlash,[Ut]:rn.channelForceProgress,51:rn.channelDeposit,52:rn.channelWithdraw,56:rn.channelSettle,57:rn.channelOffChain,58:rn.channel,59:rn.channelSnapshotSolo,[Ht]:rn.channelOffChainUpdateTransfer,[Kt]:rn.channelOffChainUpdateDeposit,[Wt]:rn.channelOffChainUpdateWithdrawal,[Lt]:rn.channelOffChainCreateContract,[Gt]:rn.channelOffChainCallContract,[Qt]:rn.channelReconnect,60:rn.proofOfInclusion,62:rn.stateTrees,63:rn.merklePatriciaTree,64:rn.merklePatriciaTreeValue,[zt]:rn.contractsTree,[Yt]:rn.contractCallsTree,[Xt]:rn.channelsTree,[Jt]:rn.nameserviceTree,[Zt]:rn.oraclesTree,[en]:rn.accountsTree,80:rn.gaAttach,81:rn.gaMeta,82:rn.payingFor,70:rn.sophiaByteCode},ln={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"},un=15e3,hn=20,pn=2e4,fn=3,mn=e=>{const t={[rn.channelForceProgress]:30,[rn.channelOffChain]:0,[rn.channelOffChainCallContract]:0,[rn.channelOffChainCreateContract]:0,[rn.channelOffChainUpdateDeposit]:0,[rn.channelOffChainUpdateWithdrawal]:0,[rn.channelOffChainUpdateTransfer]:0,[rn.contractCreate]:5,[rn.contractCall]:12,[rn.gaAttach]:5,[rn.gaMeta]:5,[rn.payingFor]:.2}[e]||1;return new(y())(t*un)},gn=(e,t,n)=>{let{relativeTtl:r,innerTxSize:a}=n;switch(e){case rn.oracleRegister:case rn.oracleExtend:case rn.oracleQuery:case rn.oracleResponse:return new(y())(t).times(hn).plus(Math.ceil(32e3*r/Math.floor(525600/fn)));case rn.gaMeta:case rn.payingFor:return new(y())(t).minus(a).times(hn);default:return new(y())(t).times(hn)}},yn={account:1,name:2,commitment:3,oracle:4,contract:5,channel:6},wn={ak:yn.account,nm:yn.name,cm:yn.commitment,ok:yn.oracle,ct:yn.contract,ch:yn.channel},bn=(xn=wn,Object.entries(xn).reduce(((e,t)=>{let[n,r]=t;return(e[r]=n)&&e}),{}));var xn;const vn=[tn("tag",ln.int),tn("VSN",ln.int)],Tn=[...vn,tn("sourceCodeHash",ln.rawBinary),tn("typeInfo",ln.sophiaCodeTypeInfo),tn("byteCode",ln.rawBinary),tn("compilerVersion",ln.string),tn("payable",ln.bool)],In=[...vn,tn("flags",ln.int),tn("nonce",ln.int),tn("balance",ln.int),tn("gaContract",ln.id,["ct","nm"]),tn("gaAuthFun",ln.binary,"cb")],Cn=[...vn,tn("senderId",ln.id,"ak"),tn("recipientId",ln.id,["ak","nm"]),tn("amount",ln.amount),tn("fee",ln.int),tn("ttl",ln.int),tn("nonce",ln.int),tn("payload",ln.payload)],En=[...vn,tn("signatures",ln.signatures),tn("encodedTx",ln.rlpBinary)],An=[...vn,tn("accountId",ln.id,"ak"),tn("nonce",ln.int),tn("commitmentId",ln.id,"cm"),tn("fee",ln.int),tn("ttl",ln.int)],kn=[...vn,tn("accountId",ln.id,"ak"),tn("nonce",ln.int),tn("name",class extends ft{static serialize(e){return Hr(e),Buffer.from(e)}static deserialize(e){return e.toString()}}),tn("nameSalt",ln.int),tn("nameFee",class extends ft{static serialize(e,t){var n;let{name:r}=t;const a=Lr(r);if(null!==(n=e)&&void 0!==n||(e=a),a.gt(e))throw new X(e,a);return Fr(e)}static deserialize(e){return Vr(e)}}),tn("fee",ln.int),tn("ttl",ln.int)],_n=[...vn,tn("accountId",ln.id,"ak"),tn("nonce",ln.int),tn("nameId",mt),tn("nameTtl",ln.int),tn("pointers",ln.pointers),tn("clientTtl",ln.int),tn("fee",ln.int),tn("ttl",ln.int)],On=[...vn,tn("accountId",ln.id,"ak"),tn("nonce",ln.int),tn("nameId",mt),tn("recipientId",ln.id,["ak","nm"]),tn("fee",ln.int),tn("ttl",ln.int)],Nn=[...vn,tn("accountId",ln.id,"ak"),tn("nonce",ln.int),tn("nameId",mt),tn("fee",ln.int),tn("ttl",ln.int)],Sn=[...vn,tn("owner",ln.id,"ak"),tn("ctVersion",ln.int),tn("code",ln.binary,"cb"),tn("log",ln.binary,"cb"),tn("active",ln.bool),tn("referers",ln.ids,"ak"),tn("deposit",gt)],Pn=[...vn,tn("ownerId",ln.id,"ak"),tn("nonce",ln.int),tn("code",ln.binary,"cb"),tn("authFun",ln.rawBinary),tn("ctVersion",ln.ctVersion),tn("fee",ln.int),tn("ttl",ln.int),tn("gas",ln.int),tn("gasPrice",ln.int),tn("callData",ln.binary,"cb")],Bn=[...vn,tn("gaId",ln.id,"ak"),tn("authData",ln.binary,"cb"),tn("abiVersion",ln.int),tn("fee",ln.int),tn("gas",ln.int),tn("gasPrice",ln.int),tn("tx",ln.rlpBinary)],jn=[...vn,tn("payerId",ln.id,"ak"),tn("nonce",ln.int),tn("fee",ln.int),tn("tx",ln.rlpBinary)],Mn=[...vn,tn("ownerId",ln.id,"ak"),tn("nonce",ln.int),tn("code",ln.binary,"cb"),tn("ctVersion",ln.ctVersion),tn("fee",ln.int),tn("ttl",ln.int),tn("deposit",gt),tn("amount",ln.amount),tn("gas",ln.int),tn("gasPrice",ln.int),tn("callData",ln.binary,"cb")],Rn=[...vn,tn("callerId",ln.id,"ak"),tn("nonce",ln.int),tn("contractId",ln.id,["ct","nm"]),tn("abiVersion",ln.int),tn("fee",ln.int),tn("ttl",ln.int),tn("amount",ln.amount),tn("gas",ln.int),tn("gasPrice",ln.int),tn("callData",ln.binary,"cb")],Dn=[...vn,tn("callerId",ln.id,"ak"),tn("callerNonce",ln.int),tn("height",ln.int),tn("contractId",ln.id,"ct"),tn("gasPrice",ln.int),tn("gasUsed",ln.int),tn("returnValue",ln.binary,"cb"),tn("returnType",ln.callReturnType),tn("log",ln.rawBinary)],Fn=[...vn,tn("accountId",ln.id,"ak"),tn("nonce",ln.int),tn("queryFormat",ln.string),tn("responseFormat",ln.string),tn("queryFee",ln.amount),tn("oracleTtlType",ln.int),tn("oracleTtlValue",ln.int),tn("fee",ln.int),tn("ttl",ln.int),tn("abiVersion",ln.int)],Vn=[...vn,tn("oracleId",ln.id,["ok","nm"]),tn("nonce",ln.int),tn("oracleTtlType",ln.int),tn("oracleTtlValue",ln.int),tn("fee",ln.int),tn("ttl",ln.int)],qn=[...vn,tn("senderId",ln.id,"ak"),tn("nonce",ln.int),tn("oracleId",ln.id,["ok","nm"]),tn("query",ln.string),tn("queryFee",ln.amount),tn("queryTtlType",ln.int),tn("queryTtlValue",ln.int),tn("responseTtlType",ln.int),tn("responseTtlValue",ln.int),tn("fee",ln.int),tn("ttl",ln.int)],$n=[...vn,tn("oracleId",ln.id,"ok"),tn("nonce",ln.int),tn("queryId",ln.binary,"oq"),tn("response",ln.string),tn("responseTtlType",ln.int),tn("responseTtlValue",ln.int),tn("fee",ln.int),tn("ttl",ln.int)],Un=[...vn,tn("initiator",ln.id,"ak"),tn("initiatorAmount",ln.int),tn("responder",ln.id,"ak"),tn("responderAmount",ln.int),tn("channelReserve",ln.int),tn("lockPeriod",ln.int),tn("ttl",ln.int),tn("fee",ln.int),tn("initiatorDelegateIds",ln.string),tn("responderDelegateIds",ln.string),tn("stateHash",ln.binary,"st"),tn("nonce",ln.int)],Hn=[...vn,tn("channelId",ln.id,"ch"),tn("fromId",ln.id,"ak"),tn("amount",ln.int),tn("ttl",ln.int),tn("fee",ln.int),tn("stateHash",ln.binary,"st"),tn("round",ln.int),tn("nonce",ln.int)],Kn=[...vn,tn("channelId",ln.id,"ch"),tn("toId",ln.id,"ak"),tn("amount",ln.int),tn("ttl",ln.int),tn("fee",ln.int),tn("stateHash",ln.binary,"st"),tn("round",ln.int),tn("nonce",ln.int)],Wn=[...vn,tn("channelId",ln.id,"ch"),tn("fromId",ln.id,"ak"),tn("initiatorAmountFinal",ln.int),tn("responderAmountFinal",ln.int),tn("ttl",ln.int),tn("fee",ln.int),tn("nonce",ln.int)],Ln=[...vn,tn("channelId",ln.id,"ch"),tn("fromId",ln.id,"ak"),tn("payload",ln.binary,"tx"),tn("poi",ln.binary,"pi"),tn("ttl",ln.int),tn("fee",ln.int),tn("nonce",ln.int)],Gn=[...vn,tn("channelId",ln.id,"ch"),tn("fromId",ln.id,"ak"),tn("payload",ln.binary,"tx"),tn("poi",ln.binary,"pi"),tn("ttl",ln.int),tn("fee",ln.int),tn("nonce",ln.int)],Qn=[...vn,tn("channelId",ln.id,"ch"),tn("fromId",ln.id,"ak"),tn("initiatorAmountFinal",ln.int),tn("responderAmountFinal",ln.int),tn("ttl",ln.int),tn("fee",ln.int),tn("nonce",ln.int)],zn=[...vn,tn("channelId",ln.id,"ch"),tn("fromId",ln.id,"ak"),tn("payload",ln.binary,"tx"),tn("round",ln.int),tn("update",ln.binary,"cb"),tn("stateHash",ln.binary,"st"),tn("offChainTrees",ln.stateTree),tn("ttl",ln.int),tn("fee",ln.int),tn("nonce",ln.int)],Yn=[...vn,tn("channelId",ln.id,"ch"),tn("round",ln.int),tn("stateHash",ln.binary,"st")],Xn=[...vn,tn("initiator",ln.id,"ak"),tn("responder",ln.id,"ak"),tn("channelAmount",ln.int),tn("initiatorAmount",ln.int),tn("responderAmount",ln.int),tn("channelReserve",ln.int),tn("initiatorDelegateIds",ln.ids),tn("responderDelegateIds",ln.ids),tn("stateHash",ln.hex),tn("round",ln.int),tn("soloRound",ln.int),tn("lockPeriod",ln.int),tn("lockedUntil",ln.int),tn("initiatorAuth",ln.binary,"cb"),tn("responderAuth",ln.binary,"cb")],Jn=[...vn,tn("channelId",ln.id,"ch"),tn("fromId",ln.id,"ak"),tn("payload",ln.binary,"tx"),tn("ttl",ln.int),tn("fee",ln.int),tn("nonce",ln.int)],Zn=[...vn,tn("owner",ln.id,"ak"),tn("ctVersion",ln.int),tn("code",ln.binary,"cb"),tn("deposit",ln.int),tn("callData",ln.binary,"cb")],er=[...vn,tn("caller",ln.id,"ak"),tn("contract",ln.id,"ct"),tn("abiVersion",ln.int),tn("amount",ln.int),tn("callData",ln.binary,"cb"),tn("callStack",ln.callStack),tn("gasPrice",ln.int),tn("gasLimit",ln.int)],tr=[...vn,tn("channelId",ln.id,"ch"),tn("round",ln.int),tn("role",ln.string),tn("pubkey",ln.id,"ak")],nr=[...vn,tn("from",ln.id,"ak"),tn("to",ln.id,"ak"),tn("amount",ln.int)],rr=[...vn,tn("from",ln.id,"ak"),tn("amount",ln.int)],ar=[...vn,tn("from",ln.id,"ak"),tn("amount",ln.int)],sr=[...vn,tn("accounts",ln.mptrees),tn("calls",ln.mptrees),tn("channels",ln.mptrees),tn("contracts",ln.mptrees),tn("ns",ln.mptrees),tn("oracles",ln.mptrees)],or=[...vn,tn("contracts",ln.rlpBinary),tn("calls",ln.rlpBinary),tn("channels",ln.rlpBinary),tn("ns",ln.rlpBinary),tn("oracles",ln.rlpBinary),tn("accounts",ln.rlpBinary)],ir=[...vn,tn("values",ln.rlpBinaries)],cr=[...vn,tn("key",ln.hex),tn("value",ln.rawBinary)],dr=[...vn,tn("contracts",ln.rlpBinary)],lr=[...vn,tn("calls",ln.rlpBinary)],ur=[...vn,tn("channels",ln.rlpBinary)],hr=[...vn,tn("mtree",ln.rlpBinary)],pr=[...vn,tn("otree",ln.rlpBinary)],fr=[...vn,tn("accounts",ln.rlpBinary)],mr={[rn.account]:{2:nn(In,10)},[rn.signed]:{1:nn(En,$t)},[rn.spend]:{1:nn(Cn,12)},[rn.namePreClaim]:{1:nn(An,33)},[rn.nameClaim]:{2:nn(kn,32)},[rn.nameUpdate]:{1:nn(_n,34)},[rn.nameTransfer]:{1:nn(On,36)},[rn.nameRevoke]:{1:nn(Nn,35)},[rn.contract]:{1:nn(Sn,40)},[rn.contractCreate]:{1:nn(Mn,42)},[rn.contractCall]:{1:nn(Rn,43)},[rn.contractCallResult]:{1:nn(Dn,41)},[rn.oracleRegister]:{1:nn(Fn,22)},[rn.oracleExtend]:{1:nn(Vn,25)},[rn.oracleQuery]:{1:nn(qn,23)},[rn.oracleResponse]:{1:nn($n,24)},[rn.channelCreate]:{2:nn(Un,50)},[rn.channelCloseMutual]:{1:nn(Wn,53)},[rn.channelCloseSolo]:{1:nn(Ln,54)},[rn.channelSlash]:{1:nn(Gn,55)},[rn.channelDeposit]:{1:nn(Hn,51)},[rn.channelWithdraw]:{1:nn(Kn,52)},[rn.channelSettle]:{1:nn(Qn,56)},[rn.channelForceProgress]:{1:nn(zn,Ut)},[rn.channelOffChain]:{2:nn(Yn,57)},[rn.channel]:{3:nn(Xn,58)},[rn.channelSnapshotSolo]:{1:nn(Jn,59)},[rn.channelOffChainUpdateTransfer]:{1:nn(nr,Ht)},[rn.channelOffChainUpdateDeposit]:{1:nn(rr,Kt)},[rn.channelOffChainUpdateWithdrawal]:{1:nn(ar,Wt)},[rn.channelOffChainCreateContract]:{1:nn(Zn,Lt)},[rn.channelOffChainCallContract]:{1:nn(er,Gt)},[rn.channelReconnect]:{1:nn(tr,Qt)},[rn.proofOfInclusion]:{1:nn(sr,60)},[rn.stateTrees]:{1:nn(or,62)},[rn.merklePatriciaTree]:{1:nn(ir,63)},[rn.merklePatriciaTreeValue]:{1:nn(cr,64)},[rn.contractsTree]:{1:nn(dr,zt)},[rn.contractCallsTree]:{1:nn(lr,Yt)},[rn.channelsTree]:{1:nn(ur,Xt)},[rn.nameserviceTree]:{1:nn(hr,Jt)},[rn.oraclesTree]:{1:nn(pr,Zt)},[rn.accountsTree]:{1:nn(fr,en)},[rn.gaAttach]:{1:nn(Pn,80)},[rn.gaMeta]:{2:nn(Bn,81)},[rn.payingFor]:{1:nn(jn,82)}},gr={10:{2:nn(In,10)},[$t]:{1:nn(En,$t)},12:{1:nn(Cn,12)},33:{1:nn(An,33)},32:{2:nn(kn,32)},34:{1:nn(_n,34)},36:{1:nn(On,36)},35:{1:nn(Nn,35)},40:{1:nn(Sn,40)},42:{1:nn(Mn,42)},43:{1:nn(Rn,43)},41:{1:nn(Dn,41)},22:{1:nn(Fn,22)},25:{1:nn(Vn,25)},23:{1:nn(qn,23)},24:{1:nn($n,24)},50:{2:nn(Un,50)},53:{1:nn(Wn,53)},54:{1:nn(Ln,54)},55:{1:nn(Gn,55)},51:{1:nn(Hn,51)},52:{1:nn(Kn,52)},56:{1:nn(Qn,56)},57:{2:nn(Yn,57)},58:{3:nn(Xn,58)},59:{1:nn(Jn,59)},[Ht]:{1:nn(nr,Ht)},[Kt]:{1:nn(rr,Kt)},[Wt]:{1:nn(ar,Wt)},[Lt]:{1:nn(Zn,Lt)},[Gt]:{1:nn(er,Gt)},[Qt]:{1:nn(tr,Qt)},60:{1:nn(sr,60)},62:{1:nn(or,62)},63:{1:nn(ir,63)},64:{1:nn(cr,64)},[zt]:{1:nn(dr,zt)},[Yt]:{1:nn(lr,Yt)},[Xt]:{1:nn(ur,Xt)},[Jt]:{1:nn(hr,Jt)},[Zt]:{1:nn(pr,Zt)},[en]:{1:nn(fr,en)},80:{1:nn(Pn,80)},81:{2:nn(Bn,81)},82:{1:nn(jn,82)},[Ut]:{1:nn(zn,Ut)},70:{3:nn(Tn,70)}},yr=e=>["number","object","string","bigint"].includes(typeof e)&&(!isNaN(e)||Number.isInteger(e)||y().isBigNumber(e)),wr=e=>e.integerValue(y().ROUND_CEIL),br=ea;function xr(e,t){return Mr(pt(Buffer.from([...jr(e,"ak"),...ct(t)])),"ct")}function vr(e,t,n){return Mr(pt(Buffer.from([...jr(e,"ak"),...function(e){const t=ct(e,!0);return Buffer.concat([Buffer.alloc(32-t.length),t])}(t),...jr(n,"ok")])),"oq")}function Tr(e){return Buffer.from(e.toString(16).padStart(64,"0"),"hex")}function Ir(e){return Hr(e),Mr(pt(e.toLowerCase()),"nm")}function Cr(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:br();return Hr(e),Mr(pt(Buffer.concat([Buffer.from(e.toLowerCase()),Tr(t)])),"cm")}const Er=["ba","cb","or","ov","pi","ss","cs","ck","cv","st","tx"],Ar=["ak","bf","bs","bx","ch","cm","ct","kh","mh","nm","ok","oq","pp","sg","th"],kr={ak:32,ct:32,ok:32};function _r(e,t){if(kr[t]&&e.length!==kr[t])throw new Ve(`Payload should be ${kr[t]} bytes, got ${e.length} instead`)}const Or=e=>Zr(Zr(e)).slice(0,4),Nr=e=>{const t=Buffer.from(e);return Buffer.concat([t,Or(t)])};function Sr(e){const t=e.slice(0,-4);if(!Or(t).equals(e.slice(-4)))throw new Ie;return t}const Pr={encode:e=>Nr(e).toString("base64"),decode:e=>Sr(Buffer.from(e,"base64"))},Br={encode:e=>ut().encode(Nr(e)),decode:e=>Sr(ut().decode(e))};function jr(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 s=Er.includes(n)&&Pr.decode||Ar.includes(n)&&Br.decode;if(!s)throw new De(`Encoded string have unknown type: ${n}`);const o=s(r);return _r(o,n),o}function Mr(e,t){const n=Er.includes(t)&&Pr.encode||Ar.includes(t)&&Br.encode;if(!n)throw new Fe(`Unknown type: ${t}`);return _r(e,t),`${t}_${n(e)}`}function Rr(e){if("string"!=typeof e)throw new S("hashId","a string",e);const t=e.slice(0,2),n=wn[t];if(!n)throw new ze(t);return Buffer.from([...ct(n),...jr(e,t)])}function Dr(e){const t=Buffer.from(e).readUIntBE(0,1),n=bn[t];if(!n)throw new Ge(t);return Mr(e.slice(1,e.length),n)}function Fr(e){return ct(e,!0)}function Vr(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Buffer.from([]);return new(y())(Buffer.from(e).toString("hex"),16).toString(10)}function qr(e){return e.map((e=>[ct(e.key),Rr(e.id)]))}function $r(e){return e.map((e=>{let[t,n]=e;return Object.assign({key:t.toString(),id:Dr(n)})}))}const Ur=".chain";function Hr(e){if(!e||"string"!=typeof e)throw new R("Name must be a string");if(!e.endsWith(Ur))throw new R(`Name should end with .chain: ${e}`)}function Kr(e){try{return Hr(e),!0}catch(e){return!1}}function Wr(e){jr(e);const t=e.substr(0,2);return Ft[t]||(()=>{throw new We(t)})()}function Lr(e){Hr(e);const t=e.length-Ur.length;return Vt[Math.min(t,Rt)]}function Gr(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:jt;if(Number(n)!==n||n%1==0)throw new $e(`Increment must be float. Current increment ${n}`);if(n<jt)throw new $e(`minimum increment percentage is ${jt}`);return wr(y()(null!=t?t:Lr(e)).times(y()(jt).plus(1)))}function Qr(e,t){Hr(e);const n=e.length-Ur.length;return(n<=4&&qt[4]||n<=8&&qt[8]||n<=12&&qt[12]||qt[13]).plus(t).toString(10)}function zr(e){return Hr(e),e.length<13+Ur.length}const Yr=p().ModeOfOperation.ecb;function Xr(e){const t=u().sign.keyPair.fromSecretKey(dt(e));return Mr(Buffer.from(t.publicKey),"ak")}function Jr(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ak";try{return jr(e,t),!0}catch(e){return!1}}function Zr(e){return m()("sha256").update(e).digest()}function ea(){return Math.floor(Math.random()*Math.floor(Number.MAX_SAFE_INTEGER))}function ta(e){const t=Buffer.allocUnsafe(4);return t.writeUInt32BE(e),t.slice(t.findIndex((e=>0!==e)))}function na(e,t){const n=jr(e,"ak");return Mr(pt(Buffer.concat([n,ta(t)])),"ct")}function ra(e){return u().sign.keyPair.fromSecretKey(e)}function aa(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const t=u().sign.keyPair(),n=Buffer.from(t.publicKey),r=Buffer.from(t.secretKey);return e?{publicKey:n,secretKey:r}:{publicKey:Mr(n,"ak"),secretKey:r.toString("hex")}}function sa(e,t){const n=Zr(e);return new Yr(n).encrypt(t)}function oa(e,t){const n=Buffer.from(t),r=Zr(e),a=new Yr(r);return Buffer.from(a.decrypt(n))}function ia(e,t){return u().sign.detached(Buffer.from(e),Buffer.from(t))}function ca(e,t,n){return u().sign.detached.verify(new Uint8Array(e),t,n)}function da(e){const t=Buffer.from("aeternity Signed Message:\n","utf8"),n=Buffer.from(e,"utf8");if(n.length>=253)throw new W("Message too long");return pt(Buffer.concat([Buffer.from([t.length]),t,Buffer.from([n.length]),n]))}function la(e,t){return ia(da(e),t)}function ua(e,t,n){return ca(da(e),t,n)}function ha(e,t){const n=Buffer.from("TheMessage");return ca(n,ia(n,e),t)}var pa=v(983),fa=v(289);const ma={crypto:{secret_type:"ed25519",symmetric_alg:"xsalsa20-poly1305",kdf:"argon2id",kdf_params:{memlimit_kib:65536,opslimit:3,parallelism:1}}},ga={argon2id:ya};async function ya(e,t,n){const{memlimit_kib:r,opslimit:a}=n.kdf_params,s=(await(0,fa.hash)({hashLen:32,pass:e,salt:t,time:a,mem:r,type:fa.ArgonType.Argon2id})).hash;return Buffer.from(s)}const wa={"xsalsa20-poly1305":{encrypt:function(e){let{plaintext:t,key:n,nonce:r}=e;return u().secretbox(t,r,n)},decrypt:function(e){let{ciphertext:t,key:n,nonce:r}=e;const a=u().secretbox.open(t,r,n);if(!a)throw new Ae("Invalid password or nonce");return a}}};function ba(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:ma.crypto.symmetric_alg;if(!wa[r])throw new Oe(r);return wa[r].encrypt({plaintext:e,nonce:n,key:t})}async function xa(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{kdf_params:ma.crypto.kdf_params,kdf:ma.crypto.kdf};if(!t)throw new S("nonce","provided",t);if(null==e)throw new S("password","provided",e);if(!Object.prototype.hasOwnProperty.call(ga,n.kdf))throw new Oe(n.kdf);return ga[n.kdf](e,t,n)}function va(e,t,n,r,a){let s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};const o=Object.assign({},ma.crypto,s);return Object.assign({name:e,version:1,public_key:Ta(n),id:(0,pa.v4)()},{crypto:Object.assign({secret_type:o.secret_type,symmetric_alg:o.symmetric_alg,ciphertext:Buffer.from(ba(Buffer.from(n),t,r,o.symmetric_alg)).toString("hex"),cipher_params:{nonce:Buffer.from(r).toString("hex")}},{kdf:o.kdf,kdf_params:{...o.kdf_params,salt:Buffer.from(a).toString("hex")}})})}function Ta(e){const t=u().sign.keyPair.fromSecretKey(dt(e));return Mr(Buffer.from(t.publicKey),"ak")}async function Ia(e,t){Ea(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,s=t.crypto.kdf,o=await function(e,t,n,r){if(!wa[r])throw new Oe(r);return wa[r].decrypt({ciphertext:e,nonce:n,key:t})}(Uint8Array.from(dt(t.crypto.ciphertext)),await xa(e,r,{kdf:s,kdf_params:a}),n,t.crypto.symmetric_alg);if(!o)throw new Ae("Invalid password");return 64===Buffer.from(o).length?Buffer.from(o).toString("hex"):Buffer.from(o).toString("utf-8")}async function Ca(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:u().randomBytes(24),a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:u().randomBytes(16),s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};const o=Object.assign({},ma.crypto,s);return va(e,await xa(t,a,o),"string"==typeof n?Buffer.from(n,"hex"):n,r,a,o)}function Ea(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 Aa=v(485);const ka={AE:"ae",MILI_AE:"miliAE",MICRO_AE:"microAE",NANO_AE:"nanoAE",PICO_AE:"picoAE",FEMTO_AE:"femtoAE",AETTOS:"aettos"},_a={[ka.AE]:0,[ka.MILI_AE]:-3,[ka.MICRO_AE]:-6,[ka.NANO_AE]:-9,[ka.PICO_AE]:-12,[ka.FEMTO_AE]:-15,[ka.AETTOS]:-18},Oa=function(e){let{denomination:t=ka.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Sa(e,{denomination:t,targetDenomination:ka.AE})},Na=function(e){let{denomination:t=ka.AE}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Sa(e,{denomination:t})},Sa=function(e){let{denomination:t=ka.AETTOS,targetDenomination:n=ka.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=Object.values(ka);if(!r.includes(t))throw new M(`Invalid denomination: ${t}`);if(!r.includes(n))throw new M(`Invalid target denomination: ${n}`);if(!yr(e))throw new S("value","a number",e);return new(y())(e).shiftedBy(_a[t]-_a[n]).toFixed()},Pa=[{name:"exa",magnitude:18},{name:"giga",magnitude:9},{name:"",magnitude:0},{name:"pico",magnitude:-12}],Ba=e=>Pa.reduce(((t,n)=>Math.abs(n.magnitude-e)<Math.abs(t.magnitude-e)?n:t)),ja=e=>{var t;return null!==(t=Pa.find((t=>t.magnitude<=e)))&&void 0!==t?t:Pa[Pa.length-1]},Ma=e=>{var t;const n=new(y())(e),r=null!==(t=n.e)&&void 0!==t?t:0,{name:a,magnitude:s}=(r<0?Ba:ja)(r);return`${n.shiftedBy(-s).precision(9+Math.min(r-s,0)).toFixed()}${""!==a?" ":""}${a}`};var Ra;!function(e){e[e.Branch=0]="Branch",e[e.Extension=1]="Extension",e[e.Leaf=2]="Leaf"}(Ra||(Ra={}));class Da{static nodeHash(e){return Buffer.from(pt((0,Aa.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(Da.nodeHash(n)!==t)throw new ke;const{type:r,payload:a}=Da.parseNode(n);switch(r){case Ra.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 Ra.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:Ra.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?Ra.Extension:Ra.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[Buffer.from(this.rootHash,"hex"),Object.entries(this.nodes).map((e=>{let[t,n]=e;return[Buffer.from(t,"hex"),n]}))]}get(e){let t=this.rootHash;for(;;){const{type:n,payload:r,path:a}=Da.parseNode(this.nodes[t]);switch(n){case Ra.Branch:if(0===e.length)return r[16];t=r[parseInt(e[0],16)].toString("hex"),e=e.substr(1);break;case Ra.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 Ra.Leaf:if(a!==e)return;return r[0]}}}}const Fa="delta";function Va(e,t,n){if(!e)return"";switch(t){case ln.ctVersion:{const[t,,n]=e;return{vmVersion:Vr(Buffer.from([t])),abiVersion:Vr(Buffer.from([n]))}}case ln.amount:case ln.int:return Vr(e);case ln.id:return Dr(e);case ln.ids:return e.map(Dr);case ln.bool:return 1===e[0];case ln.binary:return Mr(e,n);case ln.stateTree:return Mr(e,"ss");case ln.string:return e.toString();case ln.payload:return Mr(e,"ba");case ln.pointers:return $r(e);case ln.rlpBinary:return Ja(e,!0);case ln.rlpBinaries:return e.map((e=>Ja(e,!0)));case ln.rawBinary:return e;case ln.hex:return e.toString("hex");case ln.offChainUpdates:return e.map((e=>Ja(e,!0)));case ln.callStack:return[Vr(e)];case ln.mptrees:return e.map((e=>new Da(e)));case ln.callReturnType:switch(Vr(e)){case"0":return"ok";case"1":return"error";case"2":return"revert";default:return e}case ln.sophiaCodeTypeInfo:return e.reduce(((e,t)=>{let[n,r,a,s]=t;return{...e,[r.toString()]:{funHash:n,argType:a,outType:s}}}),{});default:return t.prototype instanceof ft?t.deserialize(e):e}}function qa(e,t,n,r){var a;switch(t){case ln.amount:case ln.int:return Fr(e);case ln.id:return Rr(e);case ln.ids:return e.map(Rr);case ln.bool:return Buffer.from([e?1:0]);case ln.binary:return jr(e,n);case ln.stateTree:return jr(e,"ss");case ln.hex:return Buffer.from(e,"hex");case ln.signatures:return e.map(Buffer.from);case ln.payload:return"string"==typeof e&&"ba"===e.split("_")[0]?jr(e,"ba"):ct(e);case ln.string:return ct(e);case ln.pointers:return qr(e);case ln.rlpBinary:return null!==(a=e.rlpEncoded)&&void 0!==a?a:e;case ln.mptrees:return e.map((e=>e.serialize()));case ln.ctVersion:return Buffer.from([...ct(e.vmVersion),0,...ct(e.abiVersion)]);case ln.callReturnType:switch(e){case"ok":return Fr(0);case"error":return Fr(1);case"revert":return Fr(2);default:return e}default:return t.prototype instanceof ft?t.serialize(e,r):e}}function $a(e,t,n){if(null==e)return"Field is required";switch(t){case ln.amount:case ln.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 ln.id:return(Array.isArray(n)?n:[n]).includes(e.split("_")[0])?void 0:`'${e}' prefix doesn't match expected prefix '${n}'`;case ln.ctVersion:return null!=e&&e.abiVersion&&null!=e&&e.vmVersion?void 0:'Value must be an object with "vmVersion" and "abiVersion" fields';case ln.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 Ua(e,t){let{denomination:n}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e=t.filter((e=>{let[t,n]=e;return n===ln.amount})).reduce(((t,r)=>{let[a]=r;return{...e,[a]:Sa(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===Fa?0:1,e[`${n}Value`]=a.value),e}),{})}function Ha(e,t){const n={[rn.oracleRegister]:"oracleTtl",[rn.oracleExtend]:"oracleTtl",[rn.oracleQuery]:"queryTtl",[rn.oracleResponse]:"responseTtl"}[t];return e[n]||e[`${n}Value`]?e[`${n}Value`]||e[n].value:1}function Ka(e,t){let{gas:n=0,params:r,vsn:a}=t;const s=y()(1e9);if(!r)return y()(pn).times(s).toString(10);let o=Wa(e,{params:{...r,fee:0},multiplier:s,gas:n,vsn:a}),i=y()(0);for(;!o.eq(i);)o=Wa(e,{params:{...r,fee:o},multiplier:s,gas:n,vsn:a}),i=o;return i.toString(10)}function Wa(e,t){let{params:n,gas:r=0,multiplier:a,vsn:s}=t;const{rlpEncoded:o}=Xa({...n},e,{vsn:s}),i=o.length;return mn(e).plus(gn(e,i,{relativeTtl:Ha(n,e),innerTxSize:[rn.gaMeta,rn.payingFor].includes(e)?n.tx.tx.encodedTx.rlpEncoded.length:0})).times(a)}function La(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1?arguments[1]:void 0,{gas:n=0,params:r,showWarning:a=!0,vsn:s}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return!r&&a&&console.warn(`Can't build transaction fee, we will use DEFAULT_FEE(${pn})`),e||Ka(t,{params:r,gas:n,vsn:s})}function Ga(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,$a(e[n],r,a)]})).filter((e=>{let[,t]=e;return t})))}function Qa(e,t){let{excludeKeys:n=[],denomination:r=ka.AETTOS}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const a=t.filter((e=>{let[t]=e;return!n.includes(t)})),s=Ga(e=Ua(e,a,{denomination:r}),t,{excludeKeys:n});if(Object.keys(s).length)throw new Ke("Transaction build error. "+JSON.stringify(s));return a.map((t=>{let[n,r,a]=t;return qa(e[n],r,a,e)}))}function za(e,t){return t.reduce(((t,n,r)=>{let[a,s,o]=n;return Object.assign(t,{[a]:Va(e[r],s,o)})}),{})}const Ya=e=>{let{vsn:t,objId:n,type:r}=e;const a=!!n,s=a?n:r,o=a?gr:mr;if(!o[s])throw new Qe(`Transaction ${a?"deserialization":"serialization"} not implemented for ${a?"tag "+n:r}`);if(!o[s][t])throw new Qe(`Transaction ${a?"deserialization":"serialization"} not implemented for ${a?"tag "+n:r} version ${t}`);return o[s][t]};function Xa(e,t){let{excludeKeys:n=[],prefix:r="tx",vsn:a=yt,denomination:s=ka.AETTOS}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const[o,i]=Ya({type:t,vsn:a}),c=Qa({...e,VSN:a,tag:i},o,{excludeKeys:n,denomination:e.denomination||s}).filter((e=>void 0!==e)),d=(0,Aa.encode)(c),l=Mr(d,r);return{tx:l,rlpEncoded:d,binary:c,txObject:za(c,o)}}function Ja(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:jr(e,n),a=(0,Aa.decode)(r),s=Vr(a[0]),o=Vr(a[1]),[i]=Ya({objId:s,vsn:o});return{txType:dn[s],tx:za(a,i),rlpEncoded:r,binary:a}}function Za(e){return Mr(pt("string"==typeof e&&e.startsWith("tx_")?jr(e,"tx"):e),"th")}const es={calculateMinFee:Ka,calculateFee:La,unpackTx:Ja,unpackRawTx:za,buildTx:Xa,buildRawTx:Qa,validateParams:Ga,buildTxHash:Za};var ts=v(882),ns=v(986);const rs=Buffer.from("ed25519 seed"),as=2147483648,ss=e=>Buffer.from(e).toString("hex");function os(e,t){const n=""===e?[]:(0,ns.fromString)(e).toPathArray();return n.forEach(((e,t)=>{if(e<as)throw new Ne(`Segment #${t+1} is not hardened`)})),n.reduce(((e,t)=>us(e,t)),t)}function is(e,t){if(!["m","m/"].includes(e.slice(0,2)))throw new Ce;const n=ls(t);return os(e.slice(2),n)}function cs(e){const{secretKey:t,publicKey:n}=e;return{secretKey:ss(t),publicKey:Mr(n,"ak")}}function ds(e){return u().sign.keyPair.fromSeed(e)}function ls(e){const t=(0,ts.full)(e,rs);return{secretKey:t.slice(0,32),chainCode:t.slice(32)}}function us(e,t){let{secretKey:n,chainCode:r}=e;if(t<as)throw new Be(t);const a=Buffer.allocUnsafe(4);a.writeUInt32BE(t,0);const s=Buffer.concat([Buffer.alloc(1,0),Buffer.from(n),Buffer.from(a)]),o=(0,ts.full)(s,r);return{secretKey:o.slice(0,32),chainCode:o.slice(32)}}function hs(e,t){const n=is("m/44h/457h",e);return{secretKey:ss(sa(t,n.secretKey)),chainCode:ss(sa(t,n.chainCode))}}function ps(e,t,n){const r={secretKey:oa(t,Buffer.from(e.secretKey,"hex")),chainCode:oa(t,Buffer.from(e.chainCode,"hex"))};return new Array(n).fill().map(((e,t)=>cs(ds(os(`${t}h/0h/0h`,r).secretKey))))}const fs=(e,t)=>({...cs(ds(os(`${t}h/0h/0h`,is("m/44h/457h",e)).secretKey)),idx:t});var ms=v(910),gs=v.n(ms),ys=v(180);const ws=gs()((0,ys.required)({methods:{spendTx:ys.required,namePreclaimTx:ys.required,nameClaimTx:ys.required,nameTransferTx:ys.required,nameUpdateTx:ys.required,nameRevokeTx:ys.required,contractCreateTx:ys.required,contractCallTx:ys.required,oracleRegisterTx:ys.required,oracleExtendTx:ys.required,oraclePostQueryTx:ys.required,oracleRespondTx:ys.required,getAccountNonce:ys.required,channelCloseSoloTx:ys.required,channelSlashTx:ys.required,channelSettleTx:ys.required,channelSnapshotSoloTx:ys.required,gaAttachTx:ys.required,getVmVersion:ys.required,prepareTxParams:ys.required}})),bs=gs()({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,ys.required)({methods:{sendTransaction:ys.required,height:ys.required,awaitHeight:ys.required,poll:ys.required,balance:ys.required,getBalance:ys.required,tx:ys.required,getTxInfo:ys.required,mempool:ys.required,txDryRun:ys.required,getAccount:ys.required}})),xs=bs;function vs(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{stamp:t,args:n,instance:r}=arguments.length>1?arguments[1]:void 0;return t.compose.deepConfiguration.AsyncInit.initializers.reduce((async(r,a)=>{if(r=await Promise.resolve(r),"function"==typeof a){const s=await Promise.resolve(a.call(r,e,{stamp:t,args:n,instance:r}));return void 0===s?r:s}return r}),r)}const Ts=gs()({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!==vs)),t.compose.initializers=[vs]}});var Is=v(659),Cs=v.n(Is),Es=v(503),As=v.n(Es),ks=v(911);const _s=v.n(ks)()({storeAsString:!0}),Os=e=>{if("object"==typeof e&&null!==e&&e.constructor===Object)return Object.entries(e).map((e=>{let[t,n]=e;return[t,Os(n)]})).reduce(((e,t)=>{let[n,r]=t;return{...e,[n]:r}}),{});if(Array.isArray(e))return e.map((e=>Os(e)));if("string"==typeof e&&y()(e).toString(10)===e){const t=y()(e);return t.toJSON=()=>t.toString(10),t}return e},Ns={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 _s.stringify(Os(e),...n)},parse:_s.parse},Ss=async e=>await new Promise((t=>setTimeout(t,e))),Ps=(e,t)=>Object.fromEntries(Object.entries(e).map(t)),Bs=(e,t)=>Object.fromEntries(Object.entries(e).filter(t)),js=(e,t)=>"object"!=typeof t||null===t?t:Array.isArray(t)?t.map((t=>js(e,t))):Ps(t,(t=>{let[n,r]=t;return[e(n),js(e,r)]})),Ms=js.bind(null,st),Rs=js.bind(null,at);let Ds=!1;const Fs=async function(e){let{spec:t,internalUrl:n,disableBigNumbers:r,disableCaseConversion:a,responseInterceptor:s}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t=t||await(await As()(e)).json();const o=r?JSON:Ns,[i,c]=await Promise.all([e,n].map((e=>{if(!e)return null;const n={};return Cs()({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]=As()(e,t));try{return(await n[a]).clone()}finally{delete n[a]}}}},responseInterceptor:e=>{var t;if(""===e.text||0===(null===(t=e.text)||void 0===t?void 0:t.size))return e;const n=o.parse(e.text);return Object.assign(e,{body:a?n:Rs(n)}),s&&s(e)||e}})}))),d=Object.assign({},...i.apis.external?[i.apis.external]:Object.values(i.apis),Ps((null==c?void 0:c.apis.internal)||{},(e=>{let[t,n]=e;return[t,function(){return Ds||(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")'),Ds=!0),n(...arguments)}]}))),l=Object.values(t.paths).map((e=>Object.values(e))).flat().reduce(((e,t)=>({...e,[t.operationId]:t})),{}),u={},h=Ps(d,(e=>{let[t,n]=e;const r=t.slice(0,1).toLowerCase()+at(t.slice(1));return[r,async function(){for(var e,s=arguments.length,i=new Array(s),c=0;c<s;c++)i[c]=arguments[c];const d=l[t],h=[...d.parameters,...d.requestBody?[{required:d.requestBody.required,schema:Object.values(d.requestBody.content)[0].schema,name:"__requestBody"}]:[]],p=h.filter((e=>e.required)).map((e=>e.name));if(![0,1].includes(i.length-p.length))throw new B(r,p.length,i.length);const f=p.reduce(((e,t,n)=>({...e,[t]:i[n]})),i[p.length]||{}),{__requestBody:m,__queue:g,...y}=Ps(f,(e=>{let[t,n]=e;if("object"!=typeof n)return[t,n];const r=Object.keys(h.find((e=>e.name===t)).schema.properties),s=Bs(a?n:Ms(n),(e=>{let[t]=e;return r.includes(t)}));return[t,o.stringify(s)]})),w=async()=>(await n(y,{requestBody:m})).body;if(!g)return w();const b=(null!==(e=u[g])&&void 0!==e?e:Promise.resolve()).then(w,w);return u[g]=b.then((()=>new Promise((e=>setTimeout(e,750))))),b}]}));return Object.assign(i,{api:h})};function Vs(e,t,n){const r=e=>e.split(/[-+]/)[0].split(".").map((e=>+e)),a=r(e),s=r(t),o=r(n),i=Math.max(...a,...s,...o)+1,c=e=>e.reverse().reduce(((e,t,n)=>e+t*Math.pow(i,n)),0),d=c(a),l=c(s),u=c(o);return d>=l&&d<u}function qs(){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 $s=Ts.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 Fs(`${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,!Vs(this.version,Us,Hs)&&!r)throw new L("node",this.version,Us,Hs);this.api=a.api;const{nodeRevision:s,genesisKeyBlockHash:o,networkId:i,protocols:c,topBlockHeight:d}=await this.api.getStatus();return this.consensusProtocolVersion=c.filter((e=>{let{effectiveAtHeight:t}=e;return d>=t})).reduce(((e,t)=>t.effectiveAtHeight>e.effectiveAtHeight?t:e),{effectiveAtHeight:-1,version:0}).version,this.nodeNetworkId=i,Object.assign(this,{revision:s,genesisHash:o})},methods:{getNodeInfo(){return{url:this.url,internalUrl:this.internalUrl,nodeNetworkId:this.nodeNetworkId,version:this.version,consensusProtocolVersion:this.consensusProtocolVersion}}},props:{version:null,consensusProtocolVersion:null,nodeNetworkId:null}}),Us="6.2.0",Hs="7.0.0",Ks=$s,Ws=e=>!["sign","address"].find((t=>"function"!=typeof e[t])),Ls=gs()({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=jr(e,"tx"),a=Buffer.concat([Buffer.from(n.join("-")),pt(r)]),s=[await this.sign(a,t)];return Xa({encodedTx:r,signatures:s},rn.signed).tx},getNetworkId:qs,signMessage:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{returnHex:!1};const n=await this.sign(da(e),t);return t.returnHex?Buffer.from(n).toString("hex"):n},verifyMessage:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return ua(e,"string"==typeof t?Buffer.from(t,"hex"):t,jr(await this.address(n)))}}},(0,ys.required)({methods:{sign:ys.required,address:ys.required}})),Gs=gs()(ws,Ls,xs,{methods:{send:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n={...this.Ae.defaults,...t},{contractId:r,authFun:a}=t.innerTx?{contractId:!1}:await this.getAccount(await this.address(n)),s=r?await this.signUsingGA(e,{...n,authFun:a}):await this.signTransaction(e,n);return n.innerTx?{hash:es.buildTxHash(s),rawTx:s}:this.sendTransaction(s,n)},spend:async function(e,t,n){const r={...this.Ae.defaults,...n};return this.send(await this.spendTx({...r,senderId:await this.address(r),recipientId:await this.resolveName(t,"account_pubkey",r),amount:e}),r)},transferFunds:async function(e,t,n){if(e<0||e>1)throw new S("fraction","a number between 0 and 1",e);const r={...this.Ae.defaults,...n},a=await this.resolveName(t,"account_pubkey",r),s=await this.address(r),o=new(y())(await this.balance(s)),i=o.times(e).integerValue(y().ROUND_HALF_UP),{tx:{fee:c}}=es.unpackTx(await this.spendTx({...r,senderId:s,recipientId:a,amount:i})),d=i.plus(c).gt(o)?o.minus(c):i;return this.send(await this.spendTx({...r,senderId:s,recipientId:a,amount:d}),r)},payForTransaction:async function(e,t){const n={...this.Ae.defaults,...t};return this.send(await this.payingForTx({...n,payerId:await this.address(n),tx:e}),n)},destroyInstance:function(){["destroyClient","destroyServer"].forEach((e=>this[e]&&"function"==typeof this[e]&&this[e]()))},signUsingGA:async function(e){let{authData:t,authFun:n,...r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.createMetaTx(e,t,n,r)}},deepProps:{Ae:{defaults:{denomination:ka.AETTOS}}}}),Qs=Gs,zs=[(e,t)=>{let{encodedTx:n,signatures:r}=e,{account:a,node:s,parentTxTypes:o}=t;if(void 0===(null!=n?n:r))return[];if(1!==r.length)return[];const i=Buffer.from([s.nodeNetworkId,...o.includes(rn.payingFor)?["inner_tx"]:[]].join("-")),c=Buffer.concat([i,n.rlpEncoded]),d=Buffer.concat([i,pt(n.rlpEncoded)]),l=jr(a.id,"ak");return ca(c,r[0],l)||ca(d,r[0],l)?[]:[{message:"Signature cannot be verified, please ensure that you transaction have the correct prefix and the correct private key for the sender address",key:"InvalidSignature",checkedKeys:["encodedTx","signatures"]}]},(e,t)=>{let{encodedTx:n,tx:r}=e,{node:a,parentTxTypes:s,txType:o}=t;return void 0===(null!=n?n:r)?[]:Xs(Mr((null!=n?n:r).rlpEncoded,"tx"),a,[...s,o])},(e,t)=>{let{txType:n}=t;if(void 0===e.fee)return[];const r=La(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:s,tx:o}=e,{account:i,parentTxTypes:c,txType:d}=t;if(void 0===(null!==(n=null!=r?r:a)&&void 0!==n?n:s))return[];const l=new(y())(a).plus(s||0).plus(r||0).plus(d===rn.payingFor?o.tx.encodedTx.tx.fee:0).minus(c.includes(rn.payingFor)?a:0);return l.lte(i.balance)?[]:[{message:`Account balance ${i.balance} is not enough to execute the transaction that costs ${l.toFixed()}`,key:"InsufficientBalance",checkedKeys:["amount","fee","nameFee"]}]},(e,t)=>{let{nonce:n}=e,{account:r,parentTxTypes:a}=t;if(void 0===n||a.includes(rn.gaMeta))return[];n=+n;const s=r.nonce+1;return n===s?[]:[{...n<s?{message:`Nonce ${n} is already used, valid nonce is ${s}`,key:"NonceAlreadyUsed"}:{message:`Nonce ${n} is too high, valid nonce is ${s}`,key:"NonceHigh"},checkedKeys:["nonce"]}]},e=>{let{gasPrice:t}=e;return void 0===t||t>=At?[]:[{message:`Gas price ${t} must be bigger then ${At}`,key:"MinGasPrice",checkedKeys:["gasPrice"]}]},(e,t)=>{let{ctVersion:n,abiVersion:r}=e,{txType:a,node:s}=t;const{consensusProtocolVersion:o}=s.getNodeInfo(),i=cn[o];if(!i)throw new K(`Unsupported protocol: ${o}`);n||(n={abiVersion:r});const c=i[a];return c&&Object.entries(n).some((e=>{let[t,n]=e;return!c[t].includes(+n)}))?[{message:`ABI/VM version ${JSON.stringify(n)} is wrong, supported is: ${JSON.stringify(c)}`,key:"VmAndAbiVersionMismatch",checkedKeys:["ctVersion","abiVersion"]}]:[]},async(e,t)=>{let{contractId:n}=e,{txType:r,node:a}=t;if(rn.contractCall!==r)return[];try{const{active:e}=await a.api.getContract(n);return e?[]:[{message:`Contract ${n} is not active`,key:"ContractNotActive",checkedKeys:["contractId"]}]}catch(e){var s,o;if(null===(s=e.response)||void 0===s||null===(o=s.body)||void 0===o||!o.reason)throw e;return[{message:e.response.body.reason,key:"ContractNotFound",checkedKeys:["contractId"]}]}}],Ys=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 Xs(e,t){var n;let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const{tx:a,txType:s}=Ja(e),o=null!==(n=Ys(a))&&void 0!==n?n:s===rn.signed?Ys(a.encodedTx.tx):null,[i,{height:c}]=await Promise.all([o&&t.api.getAccountByPubkey(o).catch((()=>({id:o,balance:new(y())(0),nonce:0}))),t.api.getCurrentKeyBlockHeight()]);return(await Promise.all(zs.map((e=>e(a,{txType:s,node:t,account:i,height:c,parentTxTypes:r}))))).flat()}const Js=gs()({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 Me(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:qs,isNodeConnected(){return!!this.selectedNode.instance},getNodeInfo(){if(!this.isNodeConnected())throw new je;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 Zs(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:_t.amount})))})}catch(e){return void t.forEach((t=>{let{reject:n}=t;return n(e)}))}const{results:r,txEvents:a}=n;r.forEach(((e,n)=>{let{result:r,reason:s,...o}=e;const{resolve:i,reject:c,tx:d,options:l,accountAddress:u}=t[n];if("ok"===r)return i({...o,txEvents:a});c(Object.assign(new qe(s),{tx:d,accountAddress:u,options:l}))}))}const eo=xs.compose(Js,{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 Xs(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:()=>Xs(e,this.selectedNode.instance)})}},balance:async function(e){let{height:t,hash:n,format:r=ka.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{balance:a}=await this.getAccount(e,{hash:n,height:t});return Sa(a,{targetDenomination:r}).toString()},getBalance:async function(e){let{height:t,hash:n,format:r=ka.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 Sa(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 Ss(n),t=await this.height(),t>=e)return t;throw new q((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 Ss(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,s;let{top:o,txEvents:i,combine:c}=n;const d=c?[o,i].join():"immediate";return null!==(r=this._txDryRun)&&void 0!==r||(this._txDryRun={}),null!==(s=(a=this._txDryRun)[d])&&void 0!==s||(a[d]=[]),new Promise(((n,r)=>{var a,s;this._txDryRun[d].push({tx:e,accountAddress:t,top:o,txEvents:i,resolve:n,reject:r}),c?null!==(s=(a=this._txDryRun[d]).timeout)&&void 0!==s||(a.timeout=setTimeout(Zs.bind(this,d))):Zs.call(this,d)}))},getContractByteCode:async function(e){return this.api.getContractCode(e)},getContract:async function(e){return this.api.getContract(e)},getName:async function(e){return this.api.getNameEntryByName(e)},waitForTxConfirm:async function e(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{confirm:3};n.confirm=!0===n.confirm?3:n.confirm;const{blockHeight:r}=await this.api.getTransactionByHash(t),a=await this.awaitHeight(r+n.confirm,n),{blockHeight:s}=await this.api.getTransactionByHash(t);switch(s){case-1:throw new 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 jr(e),e}catch(e){}if(Kr(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 Ir(e)}throw new J(`Invalid name or address: ${e}`)}}}),to=eo,no=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(rn).includes(e))throw new Xe(`Unknown transaction type ${e}`);const r=La(t.fee,e,{gas:t.gas,params:t,vsn:t.vsn}),{rlpEncoded:a,binary:s,tx:o,txObject:i}=Xa({...t,fee:r},e,{vsn:t.vsn,...n});return{rlpEncoded:a,binary:s,encodedTx:o,params:i,type:e}},ro=e=>{if(!e)throw new He(`Invalid transaction: ${e}`);if("string"==typeof e){const{txType:t,tx:n,rlpEncoded:r,binary:a}=Ja(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}=Ja(e,!0);return{encodedTx:Mr(e,"tx"),type:t,params:n,rlpEncoded:r,binary:a}}throw new He(`"tx" should be a string or Uint8Array, got ${e} instead`)},ao=gs()({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 no(n,t,r);if(e)return ro(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===rn.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=>ao({tx:e}),fromRlp:e=>ao({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,no(this.type,{...this.params,...e,fee:null},{...this.options,...t})),this},getSignatures(){return this.signatures},addSignature(e){if(e=ot(e)?Buffer.from(e,"hex"):e,!(Buffer.isBuffer(e)||e instanceof Uint8Array))throw new Ue("Invalid signature, signature must be of type Buffer or Uint8Array");Object.assign(this,no(rn.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 La(0,this.type,{gas:t.gas,params:t,vsn:t.vsn})}}}),so=ao;async function oo(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:bt,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 io=to.compose(ws,{init(e){let{nativeMode:t=!0,showWarning:n=!1}=e;this.nativeMode=t,this.showWarning=n},props:{nativeMode:!0,showWarning:!1},methods:{spendTx:async function(e){let{senderId:t,recipientId:n,amount:r,payload:a=""}=e;const{fee:s,ttl:o,nonce:i}=await this.prepareTxParams(rn.spend,{senderId:t,...arguments[0],payload:a}),{tx:c}=this.nativeMode?{tx:ao({params:{...arguments[0],recipientId:n,senderId:t,nonce:i,ttl:o,payload:a},type:rn.spend}).encodedTx}:await this.api.postSpend({...arguments[0],amount:parseInt(r),recipientId:n,senderId:t,nonce:i,ttl:o,fee:parseInt(s),payload:a});return c},namePreclaimTx:async function(e){let{accountId:t,commitmentId:n}=e;const{fee:r,ttl:a,nonce:s}=await this.prepareTxParams(rn.namePreClaim,{senderId:t,...arguments[0]}),{tx:o}=this.nativeMode?{tx:ao({params:{...arguments[0],nonce:s,ttl:a,fee:r},type:rn.namePreClaim}).encodedTx}:await this.api.postNamePreclaim({...arguments[0],nonce:s,ttl:a,fee:parseInt(r)});return o},nameClaimTx:async function(e){let{accountId:t,name:n,nameSalt:r,vsn:a=2}=e;const{fee:s,ttl:o,nonce:i}=await this.prepareTxParams(rn.nameClaim,{senderId:t,...arguments[0],vsn:a}),{tx:c}=this.nativeMode?{tx:ao({params:{...arguments[0],nonce:i,ttl:o,fee:s,vsn:a},type:rn.nameClaim}).encodedTx}:await this.api.postNameClaim({...arguments[0],nonce:i,ttl:o,fee:parseInt(s),name:Mr(n,"nm")});return c},nameTransferTx:async function(e){let{accountId:t,nameId:n,recipientId:r}=e;const{fee:a,ttl:s,nonce:o}=await this.prepareTxParams(rn.nameTransfer,{senderId:t,...arguments[0]}),{tx:i}=this.nativeMode?{tx:ao({params:{...arguments[0],recipientId:r,nonce:o,ttl:s,fee:a},type:rn.nameTransfer}).encodedTx}:await this.api.postNameTransfer({...arguments[0],recipientId:r,nonce:o,ttl:s,fee:parseInt(a)});return i},nameUpdateTx:async function(e){let{accountId:t,nameId:n,nameTtl:r,pointers:a,clientTtl:s}=e;const{fee:o,ttl:i,nonce:c}=await this.prepareTxParams(rn.nameUpdate,{senderId:t,...arguments[0]}),{tx:d}=this.nativeMode?{tx:ao({params:{...arguments[0],nonce:c,ttl:i,fee:o},type:rn.nameUpdate}).encodedTx}:await this.api.postNameUpdate({...arguments[0],nonce:c,ttl:i,fee:parseInt(o)});return d},nameRevokeTx:async function(e){let{accountId:t,nameId:n}=e;const{fee:r,ttl:a,nonce:s}=await this.prepareTxParams(rn.nameRevoke,{senderId:t,...arguments[0]}),{tx:o}=this.nativeMode?{tx:ao({params:{...arguments[0],nonce:s,ttl:a,fee:r},type:rn.nameRevoke}).encodedTx}:await this.api.postNameRevoke({...arguments[0],nonce:s,ttl:a,fee:parseInt(r)});return o},contractCreateTx:async function(e){let{ownerId:t,code:n,vmVersion:r,abiVersion:a,amount:s,gas:o,gasPrice:i=At,callData:c}=e;const d=this.getVmVersion(rn.contractCreate,arguments[0]),{fee:l,ttl:u,nonce:h}=await this.prepareTxParams(rn.contractCreate,{senderId:t,...arguments[0],ctVersion:d,gasPrice:i});return this.nativeMode?{tx:ao({params:{...arguments[0],nonce:h,ttl:u,fee:l,ctVersion:d,gasPrice:i},type:rn.contractCreate}).encodedTx,contractId:xr(t,h)}:this.api.postContractCreate({...arguments[0],nonce:h,ttl:u,fee:parseInt(l),gas:parseInt(o),gasPrice:i,vmVersion:d.vmVersion,abiVersion:d.abiVersion})},contractCallTx:async function(e){let{callerId:t,contractId:n,abiVersion:r,amount:a,gas:s,gasPrice:o=At,callData:i}=e;const c=this.getVmVersion(rn.contractCall,arguments[0]),{fee:d,ttl:l,nonce:u}=await this.prepareTxParams(rn.contractCall,{senderId:t,...arguments[0],gasPrice:o,abiVersion:c.abiVersion}),{tx:h}=this.nativeMode?{tx:ao({params:{...arguments[0],nonce:u,ttl:l,fee:d,abiVersion:c.abiVersion,gasPrice:o},type:rn.contractCall}).encodedTx}:await this.api.postContractCall({...arguments[0],nonce:u,ttl:l,fee:parseInt(d),gas:parseInt(s),gasPrice:o,abiVersion:c.abiVersion});return h},prepareTxParams:async function(e,t){let{senderId:n,nonce:r,ttl:a,fee:s,gas:o,absoluteTtl:i,vsn:c,strategy:d}=t;r=r||(await this.api.getAccountNextNonce(n,{strategy:d}).catch((e=>({nextNonce:1})))).nextNonce;const l=await oo.call(this,a,!i),u=La(s,e,{showWarning:this.showWarning,gas:o,params:{...arguments[1],nonce:r,ttl:l},vsn:c});return{fee:u,ttl:l,nonce:r}},oracleRegisterTx:async function(e){let{accountId:t,queryFormat:n,responseFormat:r,queryFee:a,oracleTtl:s,abiVersion:o=sn.NO_ABI}=e;const{fee:i,ttl:c,nonce:d}=await this.prepareTxParams(rn.oracleRegister,{senderId:t,...arguments[0],abiVersion:o}),{tx:l}=this.nativeMode?{tx:ao({params:{accountId:t,queryFee:a,abiVersion:o,fee:i,oracleTtl:s,nonce:d,ttl:c,queryFormat:n,responseFormat:r},type:rn.oracleRegister}).encodedTx}:await this.api.postOracleRegister({accountId:t,queryFee:a,abiVersion:o,fee:parseInt(i),oracleTtl:s,nonce:d,ttl:c,queryFormat:n,responseFormat:r});return l},oracleExtendTx:async function(e){let{oracleId:t,callerId:n,oracleTtl:r}=e;const{fee:a,ttl:s,nonce:o}=await this.prepareTxParams(rn.oracleExtend,{senderId:n,...arguments[0]}),{tx:i}=this.nativeMode?{tx:ao({params:{oracleId:t,fee:a,oracleTtl:r,nonce:o,ttl:s},type:rn.oracleExtend}).encodedTx}:await this.api.postOracleExtend({oracleId:t,fee:parseInt(a),oracleTtl:r,nonce:o,ttl:s});return i},oraclePostQueryTx:async function(e){let{oracleId:t,responseTtl:n,query:r,queryTtl:a,queryFee:s,senderId:o}=e;const{fee:i,ttl:c,nonce:d}=await this.prepareTxParams(rn.oracleQuery,{senderId:o,...arguments[0]}),{tx:l}=this.nativeMode?{tx:ao({params:{oracleId:t,responseTtl:n,query:r,queryTtl:a,fee:i,queryFee:s,ttl:c,nonce:d,senderId:o},type:rn.oracleQuery}).encodedTx}:await this.api.postOracleQuery({oracleId:t,responseTtl:n,query:r,queryTtl:a,fee:parseInt(i),queryFee:s,ttl:c,nonce:d,senderId:o});return l},oracleRespondTx:async function(e){let{oracleId:t,callerId:n,responseTtl:r,queryId:a,response:s}=e;const{fee:o,ttl:i,nonce:c}=await this.prepareTxParams(rn.oracleResponse,{senderId:n,...arguments[0]}),{tx:d}=this.nativeMode?{tx:ao({params:{oracleId:t,responseTtl:r,queryId:a,response:s,fee:o,ttl:i,nonce:c},type:rn.oracleResponse}).encodedTx}:await this.api.postOracleRespond({oracleId:t,responseTtl:r,queryId:a,response:s,fee:parseInt(o),ttl:i,nonce:c});return d},channelCloseSoloTx:async function(e){let{channelId:t,fromId:n,payload:r,poi:a}=e;const{fee:s,ttl:o,nonce:i}=await this.prepareTxParams(rn.channelCloseSolo,{senderId:n,...arguments[0],payload:r}),{tx:c}=this.nativeMode?Xa({...arguments[0],channelId:t,fromId:n,payload:r,poi:a,ttl:o,fee:s,nonce:i},rn.channelCloseSolo):await this.api.postChannelCloseSolo({...arguments[0],channelId:t,fromId:n,payload:r,poi:a,ttl:o,fee:parseInt(s),nonce:i});return c},channelSlashTx:async function(e){let{channelId:t,fromId:n,payload:r,poi:a}=e;const{fee:s,ttl:o,nonce:i}=await this.prepareTxParams(rn.channelSlash,{senderId:n,...arguments[0],payload:r}),{tx:c}=this.nativeMode?Xa({...arguments[0],channelId:t,fromId:n,payload:r,poi:a,ttl:o,fee:s,nonce:i},rn.channelSlash):await this.api.postChannelSlash({...arguments[0],channelId:t,fromId:n,payload:r,poi:a,ttl:o,fee:parseInt(s),nonce:i});return c},channelSettleTx:async function(e){let{channelId:t,fromId:n,initiatorAmountFinal:r,responderAmountFinal:a}=e;const{fee:s,ttl:o,nonce:i}=await this.prepareTxParams(rn.channelSettle,{senderId:n,...arguments[0]}),{tx:c}=this.nativeMode?Xa({...arguments[0],channelId:t,fromId:n,initiatorAmountFinal:r,responderAmountFinal:a,ttl:o,fee:s,nonce:i},rn.channelSettle):await this.api.postChannelSettle({...arguments[0],channelId:t,fromId:n,initiatorAmountFinal:parseInt(r),responderAmountFinal:parseInt(a),ttl:o,fee:parseInt(s),nonce:i});return c},channelSnapshotSoloTx:async function(e){let{channelId:t,fromId:n,payload:r}=e;const{fee:a,ttl:s,nonce:o}=await this.prepareTxParams(rn.channelSnapshotSolo,{senderId:n,...arguments[0],payload:r}),{tx:i}=this.nativeMode?Xa({...arguments[0],channelId:t,fromId:n,payload:r,ttl:s,fee:a,nonce:o},rn.channelSnapshotSolo):await this.api.postChannelSnapshotSolo({...arguments[0],channelId:t,fromId:n,payload:r,ttl:s,fee:parseInt(a),nonce:o});return i},gaAttachTx:async function(e){let{ownerId:t,code:n,vmVersion:r,abiVersion:a,authFun:s,gas:o,gasPrice:i=At,callData:c}=e;const d=this.getVmVersion(rn.contractCreate,arguments[0]),{fee:l,ttl:u,nonce:h}=await this.prepareTxParams(rn.gaAttach,{senderId:t,...arguments[0],ctVersion:d,gasPrice:i});return{tx:ao({params:{...arguments[0],nonce:h,ttl:u,fee:l,ctVersion:d,gasPrice:i},type:rn.gaAttach}).encodedTx,contractId:xr(t,h)}},payingForTx:async function(e){let{tx:t,payerId:n,...r}=e;const a={tx:Ja(t),payerId:n},{fee:s,nonce:o}=await this.prepareTxParams(rn.payingFor,{...a,...r,senderId:n});return Xa({...a,...r,fee:s,nonce:o},rn.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=cn[r];if(!a)throw new K("Not supported consensus protocol version");const s=a[e];if(!s)throw new Xe("Not supported tx type");if(n=n||s.abiVersion[0],t=t||s.vmVersion[0],!s.vmVersion.includes(t))throw new Ze(`VM VERSION ${t} do not support by this node. Supported: [${s.vmVersion}]`);if(!s.abiVersion.includes(n))throw new Je(`ABI VERSION ${n} do not support by this node. Supported: [${s.abiVersion}]`);return{vmVersion:t,abiVersion:n}}}}),co=io,lo=new WeakMap,uo=Ls.compose({init(e){let{keypair:t,gaId:n}=e;if(this.isGa=!!n,n)return jr(n),void lo.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(!Buffer.isBuffer(t.secretKey)&&"string"==typeof t.secretKey&&!ot(t.secretKey))throw new Q("Secret key must be hex string or Buffer");const r=Buffer.from(jr(t.publicKey,"ak"));if(!ha(Buffer.from(t.secretKey,"hex"),r))throw new Q("Invalid Key Pair");lo.set(this,{secretKey:Buffer.isBuffer(t.secretKey)?t.secretKey:Buffer.from(t.secretKey,"hex"),publicKey:t.publicKey})},props:{isGa:!1},methods:{sign(e){if(this.isGa)throw new Q("You are trying to sign data using generalized account without keypair");return Promise.resolve(ia(e,lo.get(this).secretKey))},address(){return Promise.resolve(lo.get(this).publicKey)}}}),ho=Ls.compose(Ts,{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(jr(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(jr(e,"ak"),!this.accounts[e])throw new z(e);return this.accounts[e];case"object":return Ws(e)?e:uo({keypair:e});default:throw new U(`Account should be an address (ak-prefixed string), keypair, or instance of account base, got ${e} instead`)}}}}),po=Qs.compose({methods:{aensQuery:async function(e){var t=this;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Hr(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]:Ot,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("number"!=typeof r||r>Ot||r<=0)throw new S("nameTtl",`a number between 1 and ${Ot} 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]:{};Hr(e);const n={...this.Ae.defaults,...t},r=ea(),a=await this.height(),s=Cr(e,r),o=await this.namePreclaimTx({...n,accountId:await this.address(n),commitmentId:s}),i=await this.send(o,n);return Object.freeze({...i,height:a,claim:t=>this.aensClaim(e,r,{...t,onAccount:n.onAccount}),salt:r,commitmentId:s})},aensClaim:async function(e,t,n){Hr(e);const r={...this.Ae.defaults,...n},a=await this.nameClaimTx({...r,accountId:await this.address(r),nameSalt:t,name:e}),s=await this.send(a,r);if(!zr(e)){const t=r.waitMined?await this.aensQuery(e,r):{};return Object.assign(s,t)}return{...s,nameFee:r.nameFee}},aensUpdate:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Hr(e);const r={...this.Ae.defaults,...n},a={...n.extendPointers&&Object.fromEntries((await this.getName(e)).pointers.map((e=>{let{key:t,id:n}=e;return[t,n]}))),...t},s=await this.nameUpdateTx({...r,nameId:e,accountId:await this.address(r),pointers:Object.entries(a).map((e=>{let[t,n]=e;return{key:t,id:n}}))});return this.send(s,r)},aensTransfer:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Hr(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]:{};Hr(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:Pt,nameTtl:Ot}}}}),fo=po,mo=Ts.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 Fs(`${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=Ps(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&&!Vs(this.compilerVersion,go,yo))throw new L("compiler",this.compilerVersion,go,yo)}},props:{compilerVersion:null}}),go="6.1.0",yo="7.0.0";var wo=v(946);const bo=Qs.compose(mo,{methods:{getContractInstance:async function(){var e=this;let{source:t,bytecode:n,aci:r,contractAddress:a,filesystem:s={},validateBytecode:o,...i}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!r&&t&&(r=await this.compilerApi.generateACI({code:t,options:{filesystem:s}})),!r)throw new 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 wo.Encoder([r.encoded_aci,...r.external_encoded_aci]),source:t,bytecode:n,deployInfo:{address:a},options:{...this.Ae.defaults,callStatic:!1,filesystem:s,...i},compilerVersion:this.compilerVersion};if(o){if(!a)throw new 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 ue(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 d=async(e,t)=>{const n=await this.send(e,t),r={hash:n.hash,tx:so({tx:n.rawTx}),txData:n,rawTx:n.rawTx};if(!1===t.waitMined)return r;const{callInfo:a}=await this.api.getTransactionInfoByHash(n.hash);return Object.assign(r.txData,a),await l(a),{...r,result:a}},l=e=>{let t,{returnType:n,returnValue:r}=e;switch(n){case"ok":return;case"revert":t=c.calldata.decodeFateString(r);break;case"error":t=jr(r).toString();break;default:throw new G(`Unknown returnType: ${n}`)}throw new we(t)};function u(e){const t=c._aci.encoded_aci.contract.functions.find((t=>t.name===e));if(t)return t;if("init"===e)return{payable:!1};throw new 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 s=[c._aci.encoded_aci,...c._aci.external_encoded_aci].filter((e=>{let{contract:t}=e;return null==t?void 0:t.event})).map((e=>{let{contract:t}=e;return[t.name,t.event.variant]})).map((e=>{let[t,n]=e;return n.map((e=>[t,Object.keys(e)[0]]))})).flat().filter((e=>{let[,n]=e;return BigInt("0x"+pt(n).toString("hex"))===t}));switch(s.length){case 0:throw new ve(t,e);case 1:return s[0][0];default:throw new Te(e,s)}}return c._estimateGas=async(e,t,n)=>{const{result:{gasUsed:r}}=await c.call(e,t,{...n,callStatic:!0});return Math.floor(1.25*r)},c.deploy=async function(){var t;let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],r=arguments.length>1?arguments[1]:void 0;const a={...c.options,...r};if(c.bytecode||await c.compile(a),a.callStatic)return c.call("init",n,a);if(c.deployInfo.address)throw new he;const s=await e.address(a),{tx:o,contractId:i}=await e.contractCreateTx({...a,gas:null!==(t=a.gas)&&void 0!==t?t:await c._estimateGas("init",n,a),callData:c.calldata.encode(c._name,"init",n),code:c.bytecode,ownerId:s}),{hash:l,rawTx:u,result:h,txData:p}=await d(o,a);return c.deployInfo=Object.freeze({result:h,owner:s,transaction:l,rawTx:u,txData:p,address:i}),c.deployInfo},c.call=async function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const a={...c.options,...r},s=u(t),o=c.deployInfo.address;if(!t)throw new ye;if("init"===t&&!a.callStatic)throw new fe('"init" can be called only via dryRun');if(!o&&"init"!==t)throw new fe("You need to deploy contract before calling!");if(a.amount>0&&!1===s.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 _t.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:Et,callData:h,nonce:null!==(m=a.nonce)&&void 0!==m?m:a.top&&(await e.getAccount(i,{hash:a.top})).nonce+1},r="init"===t?(await e.contractCreateTx({...n,code:c.bytecode,ownerId:i})).tx:await e.contractCallTx({...n,callerId:i,contractId:o}),{callObj:s,...d}=await e.txDryRun(r,i,a);await l(s),p={...d,tx:so({tx:r}),result:s}}else{var g;const r=await e.contractCallTx({...a,gas:null!==(g=a.gas)&&void 0!==g?g:await c._estimateGas(t,n,a),callerId:i,contractId:o,callData:h});p=await d(r,a)}return(a.waitMined||a.callStatic)&&(p.decodedResult=s.returns&&"unit"!==s.returns&&"init"!==t&&c.calldata.decode(c._name,t,p.result.returnValue),p.decodedEvents=c.decodeEvents(p.result.log,a)),p},c.decodeEvents=function(e){let{omitUnknown:t,...n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.map((e=>{const r=e.topics.map((e=>BigInt(e)));let a;try{a=h(e.address,r[0],n)}catch(e){if(t&&e instanceof ve)return null;throw e}const s=c.calldata.decodeEvent(a,e.data,r),[o,i]=Object.entries(s)[0];return{name:o,args:i,contract:{name:a,address:e.address}}})).filter((e=>e))},c.methods=Object.fromEntries(c._aci.encoded_aci.contract.functions.map((e=>{let{name:t,arguments:n,stateful:r}=e;const a=e=>function(){for(var r=arguments.length,a=new Array(r),s=0;s<r;s++)a[s]=arguments[s];const o=a.length===n.length+1?a.pop():{};if("object"!=typeof o)throw new U(`Options should be an object: ${o}`);return"init"===t?c.deploy(a,{callStatic:e,...o}):c.call(t,a,{callStatic:e,...o})};return[t,Object.assign(a("init"!==t&&!r),{get:a(!0),send:a(!1)})]}))),c},delegateSignatureCommon:async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=await this.sign(Buffer.concat([Buffer.from(this.getNetworkId(t)),...e.map((e=>jr(e)))]),t);return Buffer.from(n).toString("hex")},createAensDelegationSignature:async function(e){let{contractId:t,name:n}=e,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.delegateSignatureCommon([await this.address(r),...n?[Ir(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:At,amount:Ct}}}}),xo=e=>async(t,n)=>{if("object"!=typeof t)throw new le("AuthData must be an object");if(t.gas&&y()(t.gas).gt(kt))throw new le(`the maximum gas value for ga authFun is ${kt}, got ${t.gas}`);const r=t.gas||kt;if(t.callData){if("cb"!==t.callData.split("_")[0])throw new le('Auth data must be a string with "cb" prefix.');return{authCallData:t.callData,gas:r}}if(!t.source||!t.args)throw new le("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}},vo=bo.compose({methods:{createGeneralizedAccount:async function(e,t){var n;let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const s={...this.Ae.defaults,...a},o=await this.address(s);if(await this.isGA(o))throw new P(`Account ${o} is already GA`);const i=await this.getContractInstance({source:t});await i.compile();const{tx:c,contractId:d}=await this.gaAttachTx({...s,gas:null!==(n=s.gas)&&void 0!==n?n:await i._estimateGas("init",r,s),ownerId:o,code:i.bytecode,callData:i.calldata.encode(i._name,"init",r),authFun:pt(e)}),{hash:l,rawTx:u}=await this.send(c,s);return Object.freeze({owner:o,transaction:l,rawTx:u,gaContractId:d})},createMetaTx:async function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(!t)throw new D("authData is required");const{authCallData:a,gas:s}=await xo(this)(t,n),o={...this.Ae.defaults,...r},{abiVersion:i}=await this.getVmVersion(rn.contractCall),c=Io(Ja(e)),d={...o,tx:{...c,tx:c.txObject},gaId:await this.address(o),abiVersion:i,authData:a,gas:s,vsn:2},{fee:l}=await this.prepareTxParams(rn.gaMeta,d),{rlpEncoded:u}=Xa({...d,fee:`${l}`},rn.gaMeta,{vsn:2});return Io(u).tx},isGA:async function(e){const{contractId:t}=await this.getAccount(e);return!!t}}}),To=vo,Io=e=>Xa({encodedTx:e,signatures:[]},rn.signed),Co=1;let Eo,Ao,ko,_o,Oo;!function(e){e.to_waellet="to_waellet",e.to_aepp="to_aepp"}(Eo||(Eo={})),function(e){e.window="window",e.extension="extension"}(Ao||(Ao={})),function(e){e.subscribe="subscribe",e.unsubscribe="unsubscribe"}(ko||(ko={})),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"}(_o||(_o={})),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"}(Oo||(Oo={}));const No={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"})},So=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{}},Po=()=>window!==window.parent,Bo=e=>{let t=0;return function(n){let{id:r,method:a,params:s,result:o,error:i}=n,c=arguments.length>1&&void 0!==arguments[1]&&arguments[1];c||(t+=1),r=c?r||null:t;const d=s?{params:s}:o?{result:o}:{error:i};return e.sendMessage({jsonrpc:"2.0",...r?{id:r}:{},method:a,...d}),r}},jo=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)},Mo=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{method:e,params:t}},Ro=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}}},Do=e=>(t,n,r)=>e.sendMessage(Ro(t,n,r),!0),Fo=e=>3===["","connected","current"].filter((t=>"object"==typeof(t?e[t]:e))).length,Vo=gs()({init(e){let{id:t,name:n,networkId:r,icons:a,connection:s,handlers:[o,i]}=e;this.id=t,this.connection=s,this.info={name:n,networkId:r,icons:a},this.callbacks={},this.addressSubscription=[],this.accounts={},this.sendMessage=Bo(this.connection),s.connect(((e,t)=>{if(!e||!e.jsonrpc||"2.0"!==e.jsonrpc||!e.method)throw new ee(e);o(e,t)}),((e,t)=>{this.disconnect(!0),"function"==typeof i&&i(t,this)}))},propertyDescriptors:{currentAccount:{enumerable:!0,configurable:!1,get(){return this.isHasAccounts()?Object.keys(this.accounts.current)[0]:void 0}},addresses:{enumerable:!0,configurable:!1,get(){return this.isHasAccounts()?[...Object.keys(this.accounts.current),...Object.keys(this.accounts.connected)]:[]}},origin:{enumerable:!0,configurable:!1,get(){return this.connection}}},methods:{updateInfo(e){Object.assign(this.info,e)},isHasAccounts(){return"object"==typeof this.accounts&&"object"==typeof this.accounts.connected&&"object"==typeof this.accounts.current},isSubscribed(){return this.addressSubscription.length&&this.isHasAccounts()},hasAccessToAccount(e){return!!e&&this.addresses.find((t=>t===e))},isConnected(){return this.connection.isConnected()&&(this.info.status===Oo.CONNECTED||this.info.status===Oo.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=Oo.DISCONNECTED,this.addressSubscription=[],this.accounts={},e||this.connection.disconnect()},setAccounts(e){let{forceNotification:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!Fo(e))throw new U("Invalid accounts object. Should be object like: `{ connected: {}, selected: {} }`");this.accounts=e,t||this.sendMessage(Mo(_o.updateAddress,this.accounts),!0)},updateSubscription(e,t){return e!==ko.subscribe||this.addressSubscription.includes(t)||this.addressSubscription.push(t),e===ko.unsubscribe&&this.addressSubscription.includes(t)&&(this.addressSubscription=this.addressSubscription.filter((e=>e!==t))),this.addressSubscription},request(e,t){const n=this.sendMessage(Mo(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]}}}),qo={[_o.updateAddress]:e=>t=>{let{params:n}=t;e.rpcClient.accounts=n,e.onAddressChange(n)},[_o.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 Ks(a),!0),e.onNetworkChange(n)},[_o.closeConnection]:e=>t=>{e.disconnectWallet(),e.onDisconnect(t.params)}},$o={[_o.address]:e=>t=>e.rpcClient.processResponse(t),[_o.connect]:e=>t=>{t.result&&(e.rpcClient.info.status=Oo.CONNECTED),e.rpcClient.processResponse(t)},[_o.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]}))},[_o.sign]:e=>t=>{e.rpcClient.processResponse(t,(e=>{let{id:t,result:n}=e;return[n.signedTransaction||n.transactionHash]}))},[_o.signMessage]:e=>t=>{e.rpcClient.processResponse(t,(e=>{let{id:t,result:n}=e;return[n.signature]}))}},Uo={},Ho=Qs.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=Vo({connection:e,networkId:this.getNetworkId({force:!0}),...e.connectionInfo,id:(0,pa.v4)(),handlers:[(a=this,async e=>e.id?Object.prototype.hasOwnProperty.call(a.rpcClient.callbacks,e.id)?jo($o,e,{debug:a.debug})(a)(e):jo(Uo,e,{debug:a.debug})(a)(e):jo(qo,e,{debug:a.debug})(a)(e)),this.onDisconnect]});const s=await this.sendConnectRequest(t);if(t&&!Object.prototype.hasOwnProperty.call(s,"node"))throw new rt("Missing URLs of the Node");return t&&this.addNode(n,await Ks(s.node),r),s},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(Mo(_o.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(_o.address)},async subscribeAddress(e,t){if(!this.isConnected())throw new nt("You are not connected to Wallet");return this.rpcClient.request(_o.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(_o.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(_o.signMessage,{...t,message:e})},async sendConnectRequest(e){return this.rpcClient.request(_o.connect,{name:this.name,version:Co,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(_o.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}}}),Ko=Qs.compose({methods:{registerOracle:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r={...this.Ae.defaults,...n},a=await this.address(r),s=await this.oracleRegisterTx({...r,accountId:a,queryFormat:e,responseFormat:t});return{...await this.send(s,r),...await this.getOracleObject(`ok_${a.slice(3)}`)}},respondToQuery:async function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const a={...this.Ae.defaults,...r},s=await this.address(a),o=await this.oracleRespondTx({...a,oracleId:e,queryId:t,callerId:s,response:n});return{...await this.send(o,a),...await this.getOracleObject(e)}},extendOracleTtl:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r={...this.Ae.defaults,...n},a=await this.address(r),s=await this.oracleExtendTx({...r,oracleId:e,callerId:a,oracleTtl:t});return{...await this.send(s,r),...await this.getOracleObject(e)}},postQueryToOracle:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=n.queryFee||(await this.api.getOracleByPubkey(e)).queryFee,a={...this.Ae.defaults,queryFee:r,...n},s=await this.address(a),o=await this.oraclePostQueryTx({...a,oracleId:e,senderId:s,query:t}),i=vr(s,Ja(o).tx.nonce,e);return{...await this.send(o,a),...await this.getQueryObject(e,i)}},pollForQueryResponse:async function(e,t){let{attempts:n=20,interval:r=this._getPollInterval("microblock")}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};for(let a=0;a<n;a++){a&&await Ss(r);const{response:n}=await this.api.getOracleQueryByPubkeyAndQueryId(e,t),s=jr(n,"or");if(s.length)return String(s)}throw new q((n-1)*r)},pollForQueries:function(e,t){let{interval:n=this._getPollInterval("microblock")}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=new Set,a=async()=>{const n=((await this.api.getOracleQueriesByPubkey(e)).oracleQueries||[]).filter((e=>{let{id:t}=e;return!r.has(t)}));n.forEach((e=>{let{id:t}=e;return r.add(t)})),n.length&&t(n)};let s;return(async()=>{for(;!s;)await a().catch(console.error),await Ss(n)})(),()=>{s=!0}},getOracleObject:async function(e){const t=await this.api.getOracleByPubkey(e),{oracleQueries:n}=await this.api.getOracleQueriesByPubkey(e);return{...t,queries:n,pollQueries:this.pollForQueries.bind(this,e),postQuery:this.postQueryToOracle.bind(this,e),respondToQuery:this.respondToQuery.bind(this,e),extendOracle:this.extendOracleTtl.bind(this,e),getQuery:this.getQueryObject.bind(this,e)}},getQueryObject:async function(e,t){const n=await this.api.getOracleQueryByPubkeyAndQueryId(e,t);return{...n,decodedQuery:jr(n.query).toString(),decodedResponse:jr(n.response).toString(),respond:this.respondToQuery.bind(this,e,t),pollForResponse:this.pollForQueryResponse.bind(this,e,t),decode:e=>jr(e)}}},deepProps:{Ae:{defaults:{queryFee:xt,oracleTtl:vt,queryTtl:Tt,responseTtl:It}}}}),Wo=Ko,Lo=Qs.compose(co,Wo,bo,fo,to,Ho),Go=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||!Ws(n.onAccount))throw new U("Provided onAccount should be an AccountBase");t=n.onAccount}return t},Qo={[_o.closeConnection]:(e,t)=>{let{client:n}=t;return async t=>{n.disconnect(!0),e.onDisconnect(t.params,n)}}},zo={},Yo={[_o.connect](e,t,n,r){let{name:a,networkId:s,version:o,icons:i,connectNode:c}=r;return o!==Co?{error:No.unsupportedProtocol()}:(n.updateInfo({status:Oo.WAITING_FOR_CONNECTION_APPROVE,name:a,networkId:s,icons:i,version:o,origin:window.location.origin,connectNode:c}),e("onConnection",{name:a,networkId:s,version:o},(function(){let{shareNode:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return n.updateInfo({status:e?Oo.NODE_BINDED:Oo.CONNECTED}),{result:{...t.getWalletInfo(),...e&&{node:t.selectedNode}}}}),(e=>(n.updateInfo({status:Oo.CONNECTION_REJECTED}),{error:No.connectionDeny(e)}))))},[_o.subscribeAddress](e,t,n,r){let{type:a,value:s}=r;return n.isConnected()?e("onSubscription",{type:a,value:s},(async function(){let{accounts:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{const r=e||t.getAccounts();if(!Fo(r))throw new U("Invalid provided accounts object");const o=n.updateSubscription(a,s);return n.setAccounts(r,{forceNotification:!0}),{result:{subscription:o,address:r}}}catch(e){return t.debug&&console.error(e),{error:No.internalError(e.message)}}}),(e=>({error:No.rejectedByUser(e)}))):{error:No.notAuthorize()}},[_o.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:No.rejectedByUser(e)}))):{error:No.notAuthorize()},[_o.sign](e,t,n,r){const{tx:a,onAccount:s,networkId:o,returnSigned:i=!1}=r,c=s||n.currentAccount;return o&&n.updateInfo({networkId:o}),n.isConnected()?n.hasAccessToAccount(c)?o&&o===t.getNetworkId()?e("onSign",{tx:a,returnSigned:i,onAccount:c,txObject:so.fromString(a)},(async function(e){let n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{n=Go(t.addresses(),c,r)}catch(e){return t.debug&&console.error(e),{error:No.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 Xs(e||a,t.selectedNode.instance);return r.length?{error:No.invalidTransaction(r)}:{error:No.broadcastFailed(n.message)}}throw n}}),(e=>({error:No.rejectedByUser(e)}))):{error:No.unsupportedNetwork()}:{error:No.permissionDeny(c)}:{error:No.notAuthorize()}},[_o.signMessage](e,t,n,r){let{message:a,onAccount:s}=r;if(!n.isConnected())return{error:No.notAuthorize()};const o=s||n.currentAccount;return n.hasAccessToAccount(o)?e("onMessageSign",{message:a,onAccount:o},(async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{const n=Go(t.addresses(),o,e);return{result:{signature:await t.signMessage(a,{onAccount:n,returnHex:!0})}}}catch(e){return t.debug&&console.error(e),{error:No.internalError(e.message)}}}),(e=>({error:No.rejectedByUser(e)}))):{error:No.permissionDeny(o)}}},Xo=(e,t)=>async(n,r)=>{const a=e.rpcClients[t];if(!n.id)return jo(Qo,n,{debug:e.debug})(e,{client:a})(n,r);if(Object.prototype.hasOwnProperty.call(a.callbacks,n.id))return jo(zo,n,{debug:e.debug})(e,{client:a})(n,r);{const{id:t,method:s}=n,o=(n,o,i,c)=>()=>new Promise((d=>{e[n](a,{id:t,method:s,params:o,accept:function(){return d(i(...arguments))},deny:function(){return d(c(...arguments))}},r)})),i=jo(Yo,n,{debug:e.debug})(o,e,a,n.params),c="function"==typeof i?await i():i;Do(a)(t,s,c)}},Jo=Qs.compose(ho,{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,pa.v4)();const a=this.selectAccount.bind(this),s=this.addAccount.bind(this),o=this.selectNode.bind(this);this.selectAccount=function(t){let{condition:n=(()=>!0)}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};a(t),Object.values(e.rpcClients).filter((e=>e.isConnected()&&e.isSubscribed()&&e.hasAccessToAccount(t)&&n(e))).forEach((e=>e.setAccounts({current:{[t]:{}},connected:{...e.accounts.current,...Object.entries(e.accounts.connected).filter((e=>{let[n,r]=e;return n!==t})).reduce(((e,t)=>{let[n,r]=t;return{...e,[n]:r}}),{})}})))},this.addAccount=async function(t){let{select:n,meta:r={},condition:a=(()=>!0)}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};await s(t,{select:n});const o=await t.address();Object.values(e.rpcClients).filter((e=>e.isConnected()&&e.isSubscribed()&&a(e))).forEach((e=>e.setAccounts({current:{...n?{[o]:r}:e.accounts.current},connected:{...n?e.accounts.current:{[o]:r},...e.accounts.connected}})))},this.selectNode=e=>{o(e),Object.values(this.rpcClients).filter((e=>e.isConnected())).forEach((e=>{e.sendMessage(Mo(_o.updateNetwork,{networkId:this.getNetworkId(),...e.info.status===Oo.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,pa.v4)();return this.rpcClients[t]=Vo({id:t,info:{status:Oo.WAITING_FOR_CONNECTION_REQUEST},connection:e,handlers:[Xo(this,t),this.onDisconnect]}),t},shareWalletInfo(e){e({jsonrpc:"2.0",...Mo(_o.readyToConnect,this.getWalletInfo())})},getWalletInfo(){const e=So(!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?Ao.extension:Ao.window}},getAccounts(){return{current:this.selectedAddress?{[this.selectedAddress]:{}}:{},connected:this.addresses().filter((e=>e!==this.selectedAddress)).reduce(((e,t)=>({...e,[t]:{}})),{})}}}}),Zo=Qs.compose(Jo,co,bo,Wo,fo,To,to);var ei=v(397),ti=v(735);const ni=new WeakMap,ri=new WeakMap,ai=new WeakMap,si=new WeakMap,oi=new WeakMap,ii=new WeakMap,ci=new WeakMap,di=new WeakMap,li=new WeakMap,ui=new WeakMap,hi=new WeakMap,pi=new WeakMap,fi=new WeakMap,mi=new WeakMap,gi=new WeakMap,yi=new WeakMap;function wi(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];ii.get(e).emit(...n)}function bi(e,t){if(!t)throw new de;si.set(e,t),t.handler.enter&&t.handler.enter(e),Ci(e)}function xi(e,t){t!==ri.get(e)&&(ri.set(e,t),wi(e,"statusChanged",t))}function vi(e,t){ai.set(e,t),wi(e,"stateChanged",t)}function Ti(e,t){const{debug:n=!1}=ni.get(e);n&&console.log("Send message: ",t),oi.get(e).send(Ns.stringify(t))}function Ii(e,t,n){li.set(e,[...li.get(e)||[],{guard:t,action:n}]),Ci(e)}async function Ci(e){const t=ui.get(e),n=li.get(e)||[];if(t||!n.length)return;const r=si.get(e),a=n.findIndex((t=>t.guard(e,r)));if(-1===a)return;li.set(e,n.filter(((e,t)=>a!==t))),ui.set(e,!0);const s=await Promise.resolve(n[a].action(e,r));ui.set(e,!1),bi(e,s)}async function Ei(e,t){const{handler:n,state:r}=si.get(e);bi(e,await Promise.resolve(n(e,t,r)))}function Ai(e){clearTimeout(mi.get(e)),clearTimeout(gi.get(e)),mi.set(e,setTimeout((()=>{Ti(e,{jsonrpc:"2.0",method:"channels.system",params:{action:"ping"}}),gi.set(e,setTimeout((()=>{_i(e),wi(e,"error",new ie)}),5e3))}),1e4))}function ki(e,t,n){return new Promise(((r,a)=>{const s=hi.set(e,hi.get(e)+1).get(e);fi.get(e).set(s,(e=>{if(e.result)return r(e.result);if(e.error){const[{message:t}={}]=e.error.data||[];return a(new se(e.error.message+(t?`: ${t}`:"")))}})),Ti(e,{jsonrpc:"2.0",method:t,id:s,params:n})}))}function _i(e){oi.get(e).close(),clearTimeout(mi.get(e)),clearTimeout(gi.get(e))}async function Oi(e,t){let{url:n,...r}=t;ni.set(e,r),si.set(e,{handler:r.existingFsmId?Bi:Pi}),ii.set(e,new ti.EventEmitter),hi.set(e,0),fi.set(e,new Map),ci.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(st(t),n)})),a.searchParams.set("protocol","json-rpc"),xi(e,"connecting");const s=new ei.w3cwebsocket(a.toString());await new Promise(((t,n)=>Object.assign(s,{onerror:n,onopen:()=>{t(),xi(e,"connected"),r.reconnectTx&&(bi(e,{handler:Vi}),setTimeout((async()=>vi(e,(await ki(e,"channels.get.offchain_state",{})).signed_tx)))),Ai(e)},onclose:()=>{xi(e,"disconnected"),clearTimeout(mi.get(e)),clearTimeout(gi.get(e))},onmessage:t=>{let{data:n}=t;return function(e,t){const n=Ns.parse(t),{debug:r=!1}=ni.get(e);if(r&&console.log("Receive message: ",n),n.id){const t=fi.get(e).get(n.id);try{t(n)}finally{fi.get(e).delete(n.id)}}else"channels.message"!==n.method?"channels.system.pong"!==n.method?(ci.get(e).push(n),async function(e){if(di.get(e))return;const t=ci.get(e);if(t.length){for(di.set(e,!0);t.length;){const n=t.shift();try{await Ei(e,n)}catch(e){console.error("Error handling incoming message:"),console.error(n),console.error(e)}}di.set(e,!1)}}(e)):n.params.channel_id!==pi.get(e)&&null!=pi.get(e)||Ai(e):wi(e,"message",n.params.data.message)}(e,n)}}))),oi.set(e,s)}async function Ni(e,t){const{signatures:n,encodedTx:r}=Ja(e).tx,a=await t(Mr(r.rlpEncoded,"tx"));if("string"==typeof a){const{tx:e,txType:t}=Ja(a);return Xa({signatures:n.concat(e.signatures),encodedTx:e.encodedTx.rlpEncoded},t).tx}return a}function Si(e,t,n){return n&&n.reject&&n.reject(Object.assign(new ce(`Unexpected message received:\n\n${JSON.stringify(t)}`),{wsMessage:t})),{handler:Vi}}function Pi(e,t,n){return"channels.info"===t.method?["channel_accept","funding_created"].includes(t.params.data.event)?(xi(e,{channel_accept:"accepted",funding_created:"halfSigned"}[t.params.data.event]),{handler:ji}):"channel_reestablished"===t.params.data.event?{handler:Di}:"fsm_up"===t.params.data.event?(yi.set(e,t.params.data.fsm_id),{handler:Pi}):{handler:Pi}:"channels.error"===t.method?(wi(e,"error",new oe(t.payload.message)),{handler:ac}):void 0}async function Bi(e,t,n){return"channels.info"===t.method&&"fsm_up"===t.params.data.event?(yi.set(e,t.params.data.fsm_id),vi(e,(await ki(e,"channels.get.offchain_state",{})).signed_tx),{handler:Vi}):Si(0,t,n)}async function ji(e,t,n){const r={initiator:"initiator_sign",responder:"responder_sign"}[ni.get(e).role];if(t.method===`channels.sign.${r}`){if(t.params.data.tx){const n=await ni.get(e).sign(r,t.params.data.tx);return Ti(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{tx:n}}),{handler:Mi}}const n=await Ni(t.params.data.signed_tx,(t=>ni.get(e).sign(r,t)));return Ti(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{signed_tx:n}}),{handler:Mi}}}function Mi(e,t,n){if("channels.on_chain_tx"===t.method){if("funding_signed"===t.params.data.info&&"initiator"===ni.get(e).role)return{handler:Ri};if("funding_created"===t.params.data.info&&"responder"===ni.get(e).role)return{handler:Ri}}if("channels.info"===t.method&&"funding_signed"===t.params.data.event&&"initiator"===ni.get(e).role)return pi.set(e,t.params.channel_id),xi(e,"signed"),{handler:Mi}}function Ri(e,t,n){if("channels.info"===t.method){const e={funding_created:Ri,own_funding_locked:Ri,funding_locked:Di}[t.params.data.event];if(e)return{handler:e}}if("channels.on_chain_tx"===t.method)return wi(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),{handler:Ri}}function Di(e,t,n){if("channels.info"===t.method&&"open"===t.params.data.event)return pi.set(e,t.params.channel_id),{handler:Fi}}function Fi(e,t,n){if("channels.update"===t.method)return vi(e,t.params.data.state),{handler:Vi}}async function Vi(e,t,n){switch(t.method){case"channels.info":switch(t.params.data.event){case"update":case"withdraw_created":case"deposit_created":return{handler:Ui};case"own_withdraw_locked":case"withdraw_locked":case"own_deposit_locked":case"deposit_locked":case"peer_disconnected":case"channel_reestablished":case"open":return wi(e,t.params.data.event),{handler:Vi};case"fsm_up":return yi.set(e,t.params.data.fsm_id),{handler:Vi};case"timeout":case"close_mutual":case"shutdown":return{handler:Vi};case"closing":return xi(e,"closing"),{handler:Vi};case"closed_confirmed":return xi(e,"closed"),{handler:ac};case"died":return xi(e,"died"),{handler:ac}}break;case"channels.on_chain_tx":return wi(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),{handler:Vi};case"channels.leave":return{handler:Vi};case"channels.update":return vi(e,t.params.data.state),{handler:Vi};case"channels.sign.shutdown_sign_ack":return Ui(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 Ti(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:$i,state:n};const a=await Ni(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return Ti(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:a}}),{handler:$i,state:n};if("number"==typeof a)return Ti(e,{jsonrpc:"2.0",method:"channels.update",params:{error:a}}),{handler:qi,state:n}}if("channels.error"===t.method)return n.reject(new oe(t.data.message)),{handler:Vi};if(t.error){const{data:e=[]}=t.error;return e.find((e=>1001===e.code))?n.reject(new j("Insufficient balance")):e.find((e=>1002===e.code))?n.reject(new P("Amount cannot be negative")):n.reject(new oe(t.error.message)),{handler:Vi}}return"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Vi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Vi}):Si(0,t,n)}function $i(e,t,n){return"channels.update"===t.method?(vi(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Vi}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Vi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Vi}):t.error?(n.reject(new oe(t.error.message)),{handler:Vi}):Si(0,t,n)}async function Ui(e,t,n){const[,r]=t.method.match(/^channels\.sign\.([^.]+)$/)||[];if(r){if(t.params.data.tx){const n=await ni.get(e).sign(r,t.params.data.tx,{updates:t.params.data.updates});if(n)return Ti(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{tx:n}}),{handler:Vi}}else{const a=await Ni(t.params.data.signed_tx,(n=>ni.get(e).sign(r,n,{updates:t.params.data.updates})));if("string"==typeof a)return Ti(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{signed_tx:a}}),{handler:Vi};if("number"==typeof a)return Ti(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{error:a}}),{handler:Hi,state:n}}return Ti(e,{jsonrpc:"2.0",method:"channels.update.new",params:{from:aa().publicKey,to:aa().publicKey,amount:1}}),{handler:Hi,state:n}}return Si(0,t,n)}function Hi(e,t,n){return t.error?{handler:Hi,state:n}:"channels.conflict"===t.method?{handler:Vi}:Si(0,t,n)}async function Ki(e,t,n){if("channels.sign.shutdown_sign"===t.method){if(t.params.data.tx)return Ti(e,{jsonrpc:"2.0",method:"channels.shutdown_sign",params:{tx:await n.sign(t.params.data.tx)}}),{handler:Wi,state:n};const r=await Ni(t.params.data.signed_tx,(e=>n.sign(e)));return Ti(e,{jsonrpc:"2.0",method:"channels.shutdown_sign",params:{signed_tx:r}}),{handler:Wi,state:n}}return Si(0,t,n)}function Wi(e,t,n){return"channels.on_chain_tx"===t.method?{handler:ac,state:n}:Si(0,t,n)}function Li(e,t,n){return"channels.leave"===t.method?(n.resolve({channelId:t.params.channel_id,signedTx:t.params.data.state}),_i(e),{handler:ac}):"channels.error"===t.method?(n.reject(new oe(t.data.message)),{handler:Vi}):Si(0,t,n)}async function Gi(e,t,n){if("channels.sign.withdraw_tx"===t.method){const{sign:r}=n;if(t.params.data.tx)return Ti(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:Qi,state:n};const a=await Ni(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return Ti(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{signed_tx:a}}),{handler:Qi,state:n};if("number"==typeof a)return Ti(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{error:a}}),{handler:Qi,state:n}}return Si(0,t,n)}function Qi(e,t,n){if("channels.on_chain_tx"===t.method)return n.onOnChainTx&&n.onOnChainTx(t.params.data.tx),{handler:Qi,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:Qi,state:n}}return"channels.update"===t.method?(vi(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Vi}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Vi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Vi}):Si(0,t,n)}async function zi(e,t,n){if("channels.sign.deposit_tx"===t.method){const{sign:r}=n;if(t.params.data.tx)return Ti(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:Yi,state:n};const a=await Ni(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return Ti(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{signed_tx:a}}),{handler:Yi,state:n};if("number"==typeof a)return Ti(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{error:a}}),{handler:Yi,state:n}}return Si(0,t,n)}function Yi(e,t,n){if("channels.on_chain_tx"===t.method)return n.onOnChainTx&&n.onOnChainTx(t.params.data.tx),{handler:Yi,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:Yi,state:n}}return"channels.update"===t.method?(vi(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Vi}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Vi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Vi}):Si(0,t,n)}async function Xi(e,t,n){if("channels.sign.update"===t.method){if(t.params.data.tx)return Ti(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await n.sign(t.params.data.tx)}}),{handler:Ji,state:n};const r=await Ni(t.params.data.signed_tx,(e=>n.sign(e)));if("string"==typeof r)return Ti(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:r}}),{handler:Ji,state:n};if("number"==typeof r)return Ti(e,{jsonrpc:"2.0",method:"channels.update",params:{error:r}}),{handler:Ji,state:n}}return Si(0,t,n)}function Ji(e,t,n){if("channels.update"===t.method){const{round:r}=Ja(t.params.data.state).tx.encodedTx.tx,a=ni.get(e)[{initiator:"initiatorId",responder:"responderId"}[ni.get(e).role]];return vi(e,t.params.data.state),n.resolve({accepted:!0,address:na(a,r),signedTx:t.params.data.state}),{handler:Vi}}return"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Vi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Vi}):Si(0,t,n)}async function Zi(e,t,n){if("channels.sign.update"===t.method){if(t.params.data.tx)return Ti(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await n.sign(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:nc,state:n};const r=await Ni(t.params.data.signed_tx,(e=>n.sign(e,{updates:t.params.data.updates})));if("string"==typeof r)return Ti(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:r}}),{handler:nc,state:n};if("number"==typeof r)return Ti(e,{jsonrpc:"2.0",method:"channels.update",params:{error:r}}),{handler:nc,state:n}}return Si(0,t,n)}async function ec(e,t,n){if("channels.sign.force_progress_tx"===t.method){const r=await Ni(t.params.data.signed_tx,(e=>n.sign(e,{updates:t.params.data.updates})));return Ti(e,{jsonrpc:"2.0",method:"channels.force_progress_sign",params:{signed_tx:r}}),{handler:tc,state:n}}return Si(0,t,n)}function tc(e,t,n){return"channels.on_chain_tx"===t.method&&(n.onOnChainTx&&n.onOnChainTx(t.params.data),wi(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})),Si(0,t,n)}function nc(e,t,n){return"channels.update"===t.method?(vi(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Vi}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Vi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Vi}):Si(0,t,n)}function rc(e,t,n){return"channels.calls_pruned.reply"===t.method?(n.resolve(),{handler:Vi}):(n.reject(new ce("Unexpected message received")),{handler:ac})}function ac(e,t,n){return n?"closing"===t.params.data.event?{handler:ac,state:n}:"channel_closed"===t.params.data.info?(n.closeTx=t.params.data.tx,{handler:ac,state:n}):"closed_confirmed"===t.params.data.event?(n.resolve(n.closeTx),{handler:ac}):{handler:ac,state:n}:{handler:ac}}function sc(e){return Object.entries(e).reduce(((e,t)=>{let[n,r]=t;return{...e,[at(n)]:r}}),{})}Vi.enter=e=>{xi(e,"open")};const oc=Ts.compose({async init(e){Oi(this,e)},methods:{on:function(e,t){ii.get(this).on(e,t)},off:function(e,t){ii.get(this).removeListener(e,t)},status:function(){return ri.get(this)},state:async function(){return sc(await ki(this,"channels.get.offchain_state",{}))},round:function(){if(!ai.get(this))return null;const{txType:e,tx:t}=Ja(ai.get(this)).tx.encodedTx;switch(e){case rn.channelCreate:return 1;case rn.channelOffChain:case rn.channelWithdraw:case rn.channelDeposit:return parseInt(t.round,10);default:return null}},id:function(){return pi.get(this)},fsmId:function(){return yi.get(this)},update:function(e,t,n,r,a){return new Promise(((s,o)=>{Ii(this,((e,t)=>t.handler===Vi),((i,c)=>(Ti(i,{jsonrpc:"2.0",method:"channels.update.new",params:{from:e,to:t,amount:n,meta:a}}),{handler:qi,state:{resolve:s,reject:o,sign:r}})))}))},poi:async function(e){let{accounts:t,contracts:n}=e;return(await ki(this,"channels.get.poi",{accounts:t,contracts:n})).poi},balances:async function(e){return Object.fromEntries((await ki(this,"channels.get.balances",{accounts:e})).map((e=>[e.account,e.balance])))},leave:function(){return new Promise(((e,t)=>{Ii(this,((e,t)=>t.handler===Vi),((n,r)=>(Ti(n,{jsonrpc:"2.0",method:"channels.leave",params:{}}),{handler:Li,state:{resolve:e,reject:t}})))}))},shutdown:function(e){return new Promise(((t,n)=>{Ii(this,((e,t)=>t.handler===Vi),((r,a)=>(Ti(r,{jsonrpc:"2.0",method:"channels.shutdown",params:{}}),{handler:Ki,state:{sign:e,resolve:t,reject:n}})))}))},sendMessage:function(e,t){let n=e;"object"==typeof e&&(n=JSON.stringify(e));const r=e=>Ti(e,{jsonrpc:"2.0",method:"channels.message",params:{info:n,to:t}});if("connecting"===this.status()){const e=t=>{"connecting"!==t&&(setTimeout((()=>r(this)),500),this.off("statusChanged",e))};this.on("statusChanged",e)}else r(this)},withdraw:function(e,t){let{onOnChainTx:n,onOwnWithdrawLocked:r,onWithdrawLocked:a}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((s,o)=>{Ii(this,((e,t)=>t.handler===Vi),((i,c)=>(Ti(i,{jsonrpc:"2.0",method:"channels.withdraw",params:{amount:e}}),{handler:Gi,state:{sign:t,resolve:s,reject:o,onOnChainTx:n,onOwnWithdrawLocked:r,onWithdrawLocked:a}})))}))},deposit:function(e,t){let{onOnChainTx:n,onOwnDepositLocked:r,onDepositLocked:a}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((s,o)=>{Ii(this,((e,t)=>t.handler===Vi),((i,c)=>(Ti(i,{jsonrpc:"2.0",method:"channels.deposit",params:{amount:e}}),{handler:zi,state:{sign:t,resolve:s,reject:o,onOnChainTx:n,onOwnDepositLocked:r,onDepositLocked:a}})))}))},createContract:function(e,t){let{code:n,callData:r,deposit:a,vmVersion:s,abiVersion:o}=e;return new Promise(((e,i)=>{Ii(this,((e,t)=>t.handler===Vi),((c,d)=>(Ti(c,{jsonrpc:"2.0",method:"channels.update.new_contract",params:{code:n,call_data:r,deposit:a,vm_version:s,abi_version:o}}),{handler:Xi,state:{sign:t,resolve:e,reject:i}})))}))},callContract:function(e,t){let{amount:n,callData:r,contract:a,abiVersion:s}=e;return new Promise(((e,o)=>{Ii(this,((e,t)=>t.handler===Vi),((i,c)=>(Ti(i,{jsonrpc:"2.0",method:"channels.update.call_contract",params:{amount:n,call_data:r,contract_id:a,abi_version:s}}),{handler:Zi,state:{resolve:e,reject:o,sign:t}})))}))},callContractStatic:async function(e){let{amount:t,callData:n,contract:r,abiVersion:a}=e;return sc(await ki(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 sc(await ki(this,"channels.get.contract_call",{caller_id:t,contract_id:n,round:r}))},getContractState:async function(e){const t=await ki(this,"channels.get.contract",{pubkey:e});return sc({...t,contract:sc(t.contract)})},disconnect:function(){return _i(this)},cleanContractCalls:function(){return new Promise(((e,t)=>{Ii(this,((e,t)=>t.handler===Vi),((n,r)=>(Ti(n,{jsonrpc:"2.0",method:"channels.clean_contract_calls",params:{}}),{handler:rc,state:{resolve:e,reject:t}})))}))},forceProgress:function(e,t){let{amount:n,callData:r,contract:a,abiVersion:s,gas:o=1e6,gasPrice:i=1e9,nonce:c}=e,{onOnChainTx:d}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((e,c)=>{Ii(this,((e,t)=>t.handler===Vi),((l,u)=>(Ti(l,{jsonrpc:"2.0",method:"channels.force_progress",params:{amount:n,call_data:r,contract_id:a,abi_version:s,gas_price:i,gas:o}}),{handler:ec,state:{resolve:e,reject:c,sign:t,onOnChainTx:d}})))}))}},statics:{reconnect:async function(e,t){const{sign:n}=e;return oc({...e,reconnectTx:await n("reconnect",Xa(t,rn.channelReconnect).tx)})}}}),ic=oc,cc=Qs.compose(ho,to,co,fo,bo,Wo,To),dc=gs()({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()}}}),lc=(0,ys.required)({methods:{connect:ys.required,disconnect:ys.required,sendMessage:ys.required,isConnected:ys.required}}),uc=()=>{const e="object"==typeof So(!0).extension,t=window&&window.location&&window.location.protocol.startsWith("http");return e&&t?window:Po()?window.parent:void 0},hc=gs()({init(){let{connectionInfo:e={},target:t=uc(),self:n=window,origin:r,sendDirection:a,receiveDirection:s=Eo.to_aepp,debug:o=!1,forceOrigin:i=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(a&&!Object.keys(Eo).includes(a))throw new tt(`sendDirection must be one of [${Object.keys(Eo)}]`);if(!Object.keys(Eo).includes(s))throw new tt(`receiveDirection must be one of [${Object.keys(Eo)}]`);this.connectionInfo={id:(0,pa.v4)(),...e};const c=n,d=t;this.origin=r,this.debug=o,this.forceOrigin=i,this.sendDirection=a,this.receiveDirection=s,this.subscribeFn=e=>c.addEventListener("message",e,!1),this.unsubscribeFn=e=>c.removeEventListener("message",e,!1),this.postFn=e=>d.postMessage(e,this.origin||"*")},methods:{connect:function(e){const t=this.origin,n=this.receiveDirection,r=this.debug,a=this.forceOrigin;if(this.listener)throw new et("You already connected");this.listener=(s,o)=>{if(s&&"object"==typeof s.data&&(a||!t||t===s.origin))if(r&&console.log("Receive message: ",s),s.data.type){if(s.data.type!==n)return;e(s.data.data,s.origin,s.source)}else e(s.data,s.origin,s.source)},this.subscribeFn(this.listener)},sendMessage:function(e){const t=this.sendDirection?{type:this.sendDirection,data:e}:e;this.debug&&console.log("Send message: ",t),this.postFn(t)},disconnect:function(){if(!this.listener)throw new nt("You dont have connection. Please connect before");this.unsubscribeFn(this.listener),this.listener=null},isConnected:function(){return this.listener}}},lc),pc=gs()({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||hc({connectionInfo:{id:"spy"}}),this.wallets={}},methods:{scan(e){const{wallets:t}=this;this.connection.connect(((n,r,a)=>{let{method:s,params:o}=n;if(!s||!o||s!==_o.readyToConnect||t[o.id])return;const i={...o,async getConnection(){const e="extension"===this.type,t=e?window.origin:this.origin;return hc({connectionInfo:this,sendDirection:e?Eo.to_waellet:void 0,receiveDirection:e?Eo.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()}}}),fc=gs()({init(e){let{connectionInfo:t={},port:n,debug:r=!1}=e;if(!So().runtime)throw new rt("Runtime is not accessible in your environment");this.debug=r,this.connectionInfo=t,this.port=n||So().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)}}},lc),mc=Wr})(),T})()}));
|
|
2
2
|
//# sourceMappingURL=aepp-sdk.js.map
|