@aeternity/aepp-sdk 10.0.0-beta.1 → 11.0.1
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} +23 -11
- 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} +14 -11
- package/es/account/multiple.mjs.map +1 -0
- package/es/ae/{aens.js → aens.mjs} +69 -59
- 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} +12 -10
- package/es/ae/index.mjs.map +1 -0
- package/es/ae/{oracle.js → oracle.mjs} +37 -20
- 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} +28 -8
- package/es/chain/index.mjs.map +1 -0
- package/es/chain/{node.js → node.mjs} +133 -90
- 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} +43 -22
- package/es/channel/index.mjs.map +1 -0
- package/es/channel/{internal.js → internal.mjs} +51 -35
- 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} +40 -28
- package/es/contract/ga/index.mjs.map +1 -0
- package/es/encoder.d.ts +26 -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} +15 -12
- package/es/node-pool/index.mjs.map +1 -0
- package/es/{node.js → node.mjs} +17 -11
- package/es/node.mjs.map +1 -0
- package/es/tx/builder/constants.mjs +108 -0
- package/es/tx/builder/constants.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.mjs +321 -0
- package/es/tx/builder/helpers.mjs.map +1 -0
- package/es/tx/builder/{index.js → index.mjs} +92 -74
- package/es/tx/builder/index.mjs.map +1 -0
- package/es/tx/builder/{schema.js → schema.mjs} +16 -172
- package/es/tx/builder/schema.mjs.map +1 -0
- package/es/tx/{index.js → index.mjs} +106 -14
- package/es/tx/index.mjs.map +1 -0
- package/es/tx/{tx-object.js → tx-object.mjs} +31 -18
- 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} +10 -8
- 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} +25 -17
- 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} +7 -3
- 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} +15 -8
- 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} +126 -72
- 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} +23 -14
- 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} +116 -91
- 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} +42 -156
- package/es/utils/crypto.mjs.map +1 -0
- package/es/utils/encoder.mjs +106 -0
- package/es/utils/encoder.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} +49 -15
- package/es/utils/swagger.mjs.map +1 -0
- package/package.json +49 -58
- package/src/account/base.js +3 -1
- package/src/account/memory.js +13 -8
- package/src/account/multiple.js +16 -6
- package/src/ae/aens.js +52 -58
- package/src/ae/aepp.js +2 -2
- package/src/ae/contract.js +21 -154
- package/src/ae/index.js +6 -4
- package/src/ae/oracle.js +33 -14
- package/src/ae/universal.js +4 -2
- package/src/ae/wallet.js +2 -2
- package/src/chain/index.js +29 -6
- package/src/chain/node.js +95 -65
- package/src/channel/handlers.js +30 -20
- package/src/channel/index.js +46 -16
- package/src/channel/internal.js +35 -30
- package/src/contract/aci.js +376 -0
- package/src/contract/compiler.js +22 -113
- package/src/contract/ga/helpers.js +10 -6
- package/src/contract/ga/index.js +31 -24
- package/src/index.js +9 -8
- package/src/node-pool/index.js +13 -10
- package/src/node.js +11 -10
- package/src/tx/builder/constants.js +100 -0
- package/src/tx/builder/field-types.js +61 -0
- package/src/tx/builder/helpers.js +99 -103
- package/src/tx/builder/index.js +81 -40
- package/src/tx/builder/schema.js +44 -132
- package/src/tx/index.js +101 -12
- package/src/tx/tx-object.js +35 -15
- package/src/tx/tx.js +110 -35
- package/src/tx/validator.js +25 -5
- package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +11 -5
- package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +35 -13
- package/src/utils/aepp-wallet-communication/connection/index.js +2 -1
- package/src/utils/aepp-wallet-communication/content-script-bridge.js +14 -7
- package/src/utils/aepp-wallet-communication/helpers.js +6 -14
- package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +106 -57
- package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +24 -11
- package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +95 -53
- package/src/utils/aepp-wallet-communication/schema.ts +80 -0
- package/src/utils/aepp-wallet-communication/wallet-detector.js +6 -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 +11 -155
- package/src/utils/encoder.ts +101 -0
- package/src/utils/errors.ts +683 -0
- package/src/utils/hd-wallet.js +11 -26
- package/src/utils/keystore.js +57 -53
- package/src/utils/mptree.ts +12 -6
- package/src/utils/swagger.js +68 -45
- 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 -308
- 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 -356
- 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 -242
- 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 -158
- package/es/contract/index.js.map +0 -1
- package/es/index.js +0 -56
- 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 +0 -318
- 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/index.js +0 -310
- package/src/contract/aci/transformation.js +0 -72
- package/src/contract/index.js +0 -159
- 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("ed2curve"),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("ed2curve"),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],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,v){return(()=>{var x={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=f},8367:e=>{"use strict";e.exports=v},3656:e=>{"use strict";e.exports=h},1031:t=>{"use strict";t.exports=e},8081:e=>{"use strict";e.exports=t},4752:e=>{"use strict";e.exports=s},9558:e=>{"use strict";e.exports=n},2405:e=>{"use strict";e.exports=b},817:e=>{"use strict";e.exports=c},2139:e=>{"use strict";e.exports=r},6311:e=>{"use strict";e.exports=u},6409:e=>{"use strict";e.exports=a},3205:e=>{"use strict";e.exports=g},8097:e=>{"use strict";e.exports=y},2001:e=>{"use strict";e.exports=l},2074:e=>{"use strict";e.exports=i},4021:e=>{"use strict";e.exports=d},9174:e=>{"use strict";e.exports=o},1001:e=>{"use strict";e.exports=w},3323:e=>{"use strict";e.exports=p},3752:e=>{"use strict";e.exports=m}},T={};function I(e){var t=T[e];if(void 0!==t)return t.exports;var n=T[e]={exports:{}};return x[e](n,n.exports,I),n.exports}I.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return I.d(t,{a:t}),t},I.d=(e,t)=>{for(var n in t)I.o(t,n)&&!I.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},I.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),I.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";I.r(C),I.d(C,{ACITransformation:()=>i,AccountBase:()=>Na,AccountMultiple:()=>Ya,Ae:()=>Pa,Aens:()=>Xa,AeppWalletHelpers:()=>l,AeppWalletSchema:()=>c,AmountFormatter:()=>o,BrowserRuntimeConnection:()=>fi,BrowserWindowMessageConnection:()=>hi,Bytes:()=>e,Chain:()=>Yr,ChainNode:()=>Fa,Channel:()=>ii,ContentScriptBridge:()=>li,Contract:()=>po,ContractCompilerAPI:()=>Za,Crypto:()=>r,GeneralizeAccount:()=>go,HdWallet:()=>Kr,Keystore:()=>a,MemoryAccount:()=>Qa,Node:()=>Oa,NodePool:()=>qa,Oracle:()=>Wo,RpcAepp:()=>Lo,RpcWallet:()=>Jo,SCHEMA:()=>t,Transaction:()=>La,Tx:()=>Qr,TxBuilder:()=>s,TxBuilderHelper:()=>n,Universal:()=>ci,WalletDetector:()=>pi,genSwaggerClient:()=>Ia,verifyTransaction:()=>Ra});var e={};I.r(e),I.d(e,{bigNumberToByteArray:()=>_,str2buf:()=>O,toBytes:()=>k});var t={};I.r(t),I.d(t,{ABI_VERSIONS:()=>Be,AMOUNT:()=>z,BASE_GAS:()=>qe,CLIENT_TTL:()=>ae,CONTRACT_BYTE_CODE_LIMA:()=>Ye,DEFAULT_FEE:()=>Fe,DEPOSIT:()=>Y,DRY_RUN_ACCOUNT:()=>ee,FIELD_TYPES:()=>Re,GAS:()=>X,GAS_PER_BYTE:()=>Ve,ID_TAG:()=>He,ID_TAG_PREFIX:()=>We,KEY_BLOCK_INTERVAL:()=>$e,MAX_AUTH_FUN_GAS:()=>Z,MIN_GAS_PRICE:()=>J,NAME_BID_MAX_LENGTH:()=>de,NAME_BID_RANGES:()=>he,NAME_BID_TIMEOUTS:()=>pe,NAME_BID_TIMEOUT_BLOCKS:()=>ce,NAME_FEE:()=>oe,NAME_FEE_BID_INCREMENT:()=>ie,NAME_FEE_MULTIPLIER:()=>se,NAME_ID_KEY:()=>ue,NAME_MAX_CLIENT_TTL:()=>re,NAME_MAX_LENGTH_FEE:()=>le,NAME_MAX_TTL:()=>ne,NAME_TTL:()=>te,OBJECT_ID_TX_TYPE:()=>Me,OBJECT_TAG_SIGNED_TRANSACTION:()=>fe,ORACLE_TTL:()=>L,PREFIX_ID_TAG:()=>Ke,PROTOCOL_VERSIONS:()=>Pe,PROTOCOL_VM_ABI:()=>je,QUERY_FEE:()=>W,QUERY_TTL:()=>G,RESPONSE_TTL:()=>Q,TX_DESERIALIZATION_SCHEMA:()=>Ht,TX_FEE_BASE_GAS:()=>De,TX_FEE_OTHER_GAS:()=>Ue,TX_SERIALIZATION_SCHEMA:()=>Ut,TX_TTL:()=>K,TX_TYPE:()=>Se,VALIDATION_MESSAGE:()=>Ge,VM_VERSIONS:()=>Ne,VSN:()=>U,VSN_2:()=>H});var n={};I.r(n),I.d(n,{buildContractId:()=>Qt,buildPointers:()=>on,classify:()=>dn,commitmentHash:()=>Jt,computeAuctionEndBlock:()=>fn,computeBidFee:()=>pn,createSalt:()=>Lt,decode:()=>Zt,encode:()=>en,ensureNameValid:()=>cn,formatSalt:()=>zt,getMinimumNameFee:()=>hn,isAuctionName:()=>mn,isNameValid:()=>ln,oracleQueryId:()=>Yt,produceNameId:()=>Xt,readId:()=>nn,readInt:()=>an,readPointers:()=>sn,validatePointers:()=>un,writeId:()=>tn,writeInt:()=>rn});var r={};I.r(r),I.d(r,{addressFromDecimal:()=>bn,aeEncodeKey:()=>Vn,checkSumFn:()=>In,decodeBase58Check:()=>En,decodeBase64Check:()=>Cn,decryptData:()=>Dn,decryptKey:()=>Bn,encodeBase58Check:()=>An,encodeBase64Check:()=>Tn,encodeContractAddress:()=>kn,encodeUnsigned:()=>_n,encryptData:()=>$n,encryptKey:()=>Nn,generateKeyPair:()=>Sn,generateKeyPairFromSecret:()=>On,getAddressFromPriv:()=>yn,hash:()=>D,isAddressValid:()=>wn,isValidKeypair:()=>Fn,messageToHash:()=>Mn,salt:()=>xn,sha256hash:()=>vn,sign:()=>Pn,signMessage:()=>Rn,verify:()=>jn,verifyMessage:()=>qn});var a={};I.r(a),I.d(a,{deriveKeyUsingArgon2id:()=>Ln,dump:()=>Zn,getAddressFromPriv:()=>Xn,recover:()=>Jn,validateKeyObj:()=>er});var o={};I.r(o),I.d(o,{AE_AMOUNT_FORMATS:()=>nr,DENOMINATION_MAGNITUDE:()=>rr,default:()=>dr,formatAmount:()=>sr,toAe:()=>ar,toAettos:()=>or});var s={};I.r(s),I.d(s,{buildRawTx:()=>Tr,buildTx:()=>Ar,buildTxHash:()=>_r,calculateFee:()=>vr,calculateMinFee:()=>wr,default:()=>kr,unpackRawTx:()=>Ir,unpackTx:()=>Er,validateParams:()=>xr});var i={};I.r(i),I.d(i,{SOPHIA_TYPES:()=>Or,decodeEvents:()=>Sr});var c={};I.r(c),I.d(c,{ERRORS:()=>ko,MESSAGE_DIRECTION:()=>vo,METHODS:()=>Eo,NOTIFICATIONS:()=>To,REQUESTS:()=>Io,RPC_STATUS:()=>_o,SUBSCRIPTION_TYPES:()=>Ao,SUBSCRIPTION_VALUES:()=>Co,VERSION:()=>bo,WALLET_TYPE:()=>xo});var l={};I.r(l),I.d(l,{getBrowserAPI:()=>Oo,getHandler:()=>Bo,isInIframe:()=>So,isValidAccounts:()=>qo,message:()=>Po,resolveOnAccount:()=>Vo,responseMessage:()=>jo,sendMessage:()=>No,sendResponseMessage:()=>Mo,voidFn:()=>Ro});var d=I(2139),u=I.n(d),h=I(6409),p=I.n(h),f=I(9174),m=I.n(f),g=I(4752),y=I.n(g),w=I(2074),b=I.n(w),v=I(9558),x=I.n(v);function T(e){return e.replace(/_./g,(e=>e[1].toUpperCase()))}function A(e){return e.replace(/[A-Z]/g,(e=>`_${e.toLowerCase()}`))}function E(e){return e.length%2==0&&/^[0-9a-f]+$/i.test(e)}function _(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 k(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(null==e)return Buffer.from([]);if(Number.isInteger(e)||x().isBigNumber(e)||t)return x().isBigNumber(e)||(e=new(x())(e)),_(e);if("string"==typeof e)return Buffer.from(e);throw new Error("Byte serialization not supported")}function O(e,t){return Buffer.from(e,t??(E(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 S=I(3007),N=I.n(S),B=I(3594),P=I.n(B),j=I(4115),M=I.n(j),R=I(7560),q=I.n(R),V=I(7794),F=I.n(V),$=I(817);function D(e){return Buffer.from((0,$.blake2b)(e,null,32))}const U=1,H=2,K=0,W=3e4,L={type:"delta",value:500},G={type:"delta",value:10},Q={type:"delta",value:10},Y=0,z=0,X=25e3,J=1e9,Z=5e4,ee={pub:"ak_11111111111111111111111111111111273Yts",amount:"100000000000000000000000000000000000"},te=18e4,ne=36e3,re=84600,ae=re,oe=0,se=1e14,ie=.05,ce=480,le=31,de=12,ue={ak:"account_pubkey",ok:"oracle_pubkey",ct:"contract_pubkey",ch:"channel"},he={31:x()(3).times(se),30:x()(5).times(se),29:x()(8).times(se),28:x()(13).times(se),27:x()(21).times(se),26:x()(34).times(se),25:x()(55).times(se),24:x()(89).times(se),23:x()(144).times(se),22:x()(233).times(se),21:x()(377).times(se),20:x()(610).times(se),19:x()(987).times(se),18:x()(1597).times(se),17:x()(2584).times(se),16:x()(4181).times(se),15:x()(6765).times(se),14:x()(10946).times(se),13:x()(17711).times(se),12:x()(28657).times(se),11:x()(46368).times(se),10:x()(75025).times(se),9:x()(121393).times(se),8:x()(196418).times(se),7:x()(317811).times(se),6:x()(514229).times(se),5:x()(832040).times(se),4:x()(1346269).times(se),3:x()(2178309).times(se),2:x()(3524578).times(se),1:x()(5702887).times(se)},pe={13:x()(0),12:x()(ce),8:x()(31).times(ce),4:x()(62).times(ce)},fe=11,me=521,ge=570,ye=571,we=572,be=573,ve=574,xe=575,Te=621,Ie=622,Ce=623,Ae=624,Ee=625,_e=626,ke=(e,t,n)=>[e,t,n],Oe=(e,t)=>[e,t],Se={account:"account",signed:"signedTx",spend:"spendTx",nameClaim:"nameClaimTx",namePreClaim:"namePreClaimTx",nameUpdate:"nameUpdateTx",nameRevoke:"nameRevokeTx",nameTransfer:"nameTransfer",contract:"contract",contractCreate:"contractCreateTx",contractCall:"contractCallTx",contractCallResult:"contractCallResult",oracleRegister:"oracleRegister",oracleExtend:"oracleExtend",oracleQuery:"oracleQuery",oracleResponse:"oracleResponse",channelCreate:"channelCreate",channelCloseMutual:"channelCloseMutual",channelCloseSolo:"channelCloseSolo",channelSlash:"channelSlash",channelDeposit:"channelDeposit",channelWithdraw:"channelWithdraw",channelSettle:"channelSettle",channelOffChain:"channelOffChain",channelForceProgress:"channelForceProgress",channel:"channel",channelSnapshotSolo:"channelSnapshotSolo",channelOffChainUpdateTransfer:"channelOffChainUpdateTransfer",channelOffChainUpdateDeposit:"channelOffChainUpdateDeposit",channelOffChainUpdateWithdrawal:"channelOffChainUpdateWithdrawal",channelOffChainCreateContract:"channelOffChainCreateContract",channelOffChainCallContract:"channelOffChainCallContract",channelReconnect:"channelReconnect",proofOfInclusion:"proofOfInclusion",stateTrees:"stateTrees",merklePatriciaTree:"merklePatriciaTree",merklePatriciaTreeValue:"merklePatriciaTreeValue",contractsTree:"contractsTree",contractCallsTree:"contractCallsTree",channelsTree:"channelsTree",nameserviceTree:"nameserviceTree",oraclesTree:"oraclesTree",accountsTree:"accountsTree",gaAttach:"gaAttach",gaMeta:"gaMeta",payingFor:"payingFor",sophiaByteCode:"sophiaByteCode"},Ne={NO_VM:0,SOPHIA:1,SOPHIA_IMPROVEMENTS_MINERVA:3,SOPHIA_IMPROVEMENTS_FORTUNA:4,FATE:5,SOPHIA_IMPROVEMENTS_LIMA:6,FATE_2:7},Be={NO_ABI:0,SOPHIA:1,FATE:3},Pe={IRIS:5},je={[Pe.IRIS]:{[Se.contractCreate]:{vmVersion:[Ne.FATE_2],abiVersion:[Be.FATE]},[Se.contractCall]:{vmVersion:[Ne.FATE_2,Ne.FATE,Ne.SOPHIA_IMPROVEMENTS_LIMA,Ne.SOPHIA_IMPROVEMENTS_FORTUNA,Ne.SOPHIA,Ne.SOPHIA_IMPROVEMENTS_MINERVA],abiVersion:[Be.FATE,Be.SOPHIA]},[Se.oracleRegister]:{vmVersion:[],abiVersion:[Be.NO_ABI,Be.SOPHIA]}}},Me={10:Se.account,[fe]:Se.signed,12:Se.spend,32:Se.nameClaim,33:Se.namePreClaim,34:Se.nameUpdate,35:Se.nameRevoke,36:Se.nameTransfer,40:Se.contract,42:Se.contractCreate,43:Se.contractCall,41:Se.contractCallResult,22:Se.oracleRegister,25:Se.oracleExtend,23:Se.oracleQuery,24:Se.oracleResponse,50:Se.channelCreate,53:Se.channelCloseMutual,54:Se.channelCloseSolo,55:Se.channelSlash,[me]:Se.channelForceProgress,51:Se.channelDeposit,52:Se.channelWithdraw,56:Se.channelSettle,57:Se.channelOffChain,58:Se.channel,59:Se.channelSnapshotSolo,[ge]:Se.channelOffChainUpdateTransfer,[ye]:Se.channelOffChainUpdateDeposit,[we]:Se.channelOffChainUpdateWithdrawal,[be]:Se.channelOffChainCreateContract,[ve]:Se.channelOffChainCallContract,[xe]:Se.channelReconnect,60:Se.proofOfInclusion,62:Se.stateTrees,63:Se.merklePatriciaTree,64:Se.merklePatriciaTreeValue,[Te]:Se.contractsTree,[Ie]:Se.contractCallsTree,[Ce]:Se.channelsTree,[Ae]:Se.nameserviceTree,[Ee]:Se.oraclesTree,[_e]:Se.accountsTree,80:Se.gaAttach,81:Se.gaMeta,82:Se.payingFor,70:Se.sophiaByteCode},Re={int:"int",amount:"amount",id:"id",ids:"ids",string:"string",binary:"binary",rlpBinary:"rlpBinary",rlpBinaries:"rlpBinaries",rawBinary:"rawBinary",bool:"bool",hex:"hex",signatures:"signatures",pointers:"pointers",offChainUpdates:"offChainUpdates",callStack:"callStack",proofOfInclusion:"proofOfInclusion",mptrees:"mptrees",callReturnType:"callReturnType",ctVersion:"ctVersion",sophiaCodeTypeInfo:"sophiaCodeTypeInfo",payload:"payload",any:"any",stateTree:"stateTree"},qe=15e3,Ve=20,Fe=2e4,$e=3,De=e=>{const t={[Se.channelForceProgress]:30,[Se.channelOffChain]:0,[Se.channelOffChainCallContract]:0,[Se.channelOffChainCreateContract]:0,[Se.channelOffChainUpdateDeposit]:0,[Se.channelOffChainUpdateWithdrawal]:0,[Se.channelOffChainUpdateTransfer]:0,[Se.contractCreate]:5,[Se.contractCall]:12,[Se.gaAttach]:5,[Se.gaMeta]:5,[Se.payingFor]:.2}[e]||1;return new(x())(t*qe)},Ue=(e,t,n)=>{let{relativeTtl:r,innerTxSize:a}=n;switch(e){case Se.oracleRegister:case Se.oracleExtend:case Se.oracleQuery:case Se.oracleResponse:return new(x())(t).times(Ve).plus(Math.ceil(32e3*r/Math.floor(525600/$e)));case Se.gaMeta:case Se.payingFor:return new(x())(t).minus(a).times(Ve);default:return new(x())(t).times(Ve)}},He={account:1,name:2,commitment:3,oracle:4,contract:5,channel:6},Ke={ak:He.account,nm:He.name,cm:He.commitment,ok:He.oracle,ct:He.contract,ch:He.channel},We=(Le=Ke,Object.entries(Le).reduce(((e,t)=>{let[n,r]=t;return(e[r]=n)&&e}),{}));var Le;const Ge={[Re.int]:e=>{let{value:t,isMinusValue:n}=e;return n?`${t} must be >= 0`:`${t} is not of type Number or BigNumber`},[Re.amount]:e=>{let{value:t,isMinusValue:n}=e;return n?`${t} must be >= 0`:`${t} is not of type Number or BigNumber`},[Re.id]:e=>{let{value:t,prefix:n}=e;return`'${t}' prefix doesn't match expected prefix '${n}' or ID_TAG for prefix not found`},[Re.binary]:e=>{let{prefix:t,value:n}=e;return`'${n}' prefix doesn't match expected prefix '${t}'`},[Re.string]:e=>{let{value:t}=e;return"Not a string"},[Re.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"}\''},[Re.ctVersion]:e=>{let{value:t}=e;return'Value must be an object with "vmVersion" and "abiVersion" fields'}},Qe=[ke("tag",Re.int),ke("VSN",Re.int)],Ye=[...Qe,ke("sourceCodeHash",Re.rawBinary),ke("typeInfo",Re.sophiaCodeTypeInfo),ke("byteCode",Re.rawBinary),ke("compilerVersion",Re.string),ke("payable",Re.bool)],ze=[...Qe,ke("flags",Re.int),ke("nonce",Re.int),ke("balance",Re.int),ke("gaContract",Re.id,["ct","nm"]),ke("gaAuthFun",Re.binary,"cb")],Xe=[...Qe,ke("senderId",Re.id,"ak"),ke("recipientId",Re.id,["ak","nm"]),ke("amount",Re.amount),ke("fee",Re.int),ke("ttl",Re.int),ke("nonce",Re.int),ke("payload",Re.payload)],Je=[...Qe,ke("signatures",Re.signatures),ke("encodedTx",Re.rlpBinary)],Ze=[...Qe,ke("accountId",Re.id,"ak"),ke("nonce",Re.int),ke("commitmentId",Re.id,"cm"),ke("fee",Re.int),ke("ttl",Re.int)],et=[...Qe,ke("accountId",Re.id,"ak"),ke("nonce",Re.int),ke("name",Re.binary,"nm"),ke("nameSalt",Re.int),ke("nameFee",Re.amount),ke("fee",Re.int),ke("ttl",Re.int)],tt=[...Qe,ke("accountId",Re.id,"ak"),ke("nonce",Re.int),ke("nameId",Re.id,"nm"),ke("nameTtl",Re.int),ke("pointers",Re.pointers),ke("clientTtl",Re.int),ke("fee",Re.int),ke("ttl",Re.int)],nt=[...Qe,ke("accountId",Re.id,"ak"),ke("nonce",Re.int),ke("nameId",Re.id,"nm"),ke("recipientId",Re.id,["ak","nm"]),ke("fee",Re.int),ke("ttl",Re.int)],rt=[...Qe,ke("accountId",Re.id,"ak"),ke("nonce",Re.int),ke("nameId",Re.id,"nm"),ke("fee",Re.int),ke("ttl",Re.int)],at=[...Qe,ke("owner",Re.id,"ak"),ke("ctVersion",Re.int),ke("code",Re.binary,"cb"),ke("log",Re.binary,"cb"),ke("active",Re.bool),ke("referers",Re.ids,"ak"),ke("deposit",Re.amount)],ot=[...Qe,ke("ownerId",Re.id,"ak"),ke("nonce",Re.int),ke("code",Re.binary,"cb"),ke("authFun",Re.rawBinary),ke("ctVersion",Re.ctVersion),ke("fee",Re.int),ke("ttl",Re.int),ke("gas",Re.int),ke("gasPrice",Re.int),ke("callData",Re.binary,"cb")],st=[...Qe,ke("gaId",Re.id,"ak"),ke("authData",Re.binary,"cb"),ke("abiVersion",Re.int),ke("fee",Re.int),ke("gas",Re.int),ke("gasPrice",Re.int),ke("tx",Re.rlpBinary)],it=[...Qe,ke("payerId",Re.id,"ak"),ke("nonce",Re.int),ke("fee",Re.int),ke("tx",Re.rlpBinary)],ct=[...Qe,ke("ownerId",Re.id,"ak"),ke("nonce",Re.int),ke("code",Re.binary,"cb"),ke("ctVersion",Re.ctVersion),ke("fee",Re.int),ke("ttl",Re.int),ke("deposit",Re.amount),ke("amount",Re.amount),ke("gas",Re.int),ke("gasPrice",Re.int),ke("callData",Re.binary,"cb")],lt=[...Qe,ke("callerId",Re.id,"ak"),ke("nonce",Re.int),ke("contractId",Re.id,["ct","nm"]),ke("abiVersion",Re.int),ke("fee",Re.int),ke("ttl",Re.int),ke("amount",Re.amount),ke("gas",Re.int),ke("gasPrice",Re.int),ke("callData",Re.binary,"cb")],dt=[...Qe,ke("callerId",Re.id,"ak"),ke("callerNonce",Re.int),ke("height",Re.int),ke("contractId",Re.id,"ct"),ke("gasPrice",Re.int),ke("gasUsed",Re.int),ke("returnValue",Re.binary,"cb"),ke("returnType",Re.callReturnType),ke("log",Re.rawBinary)],ut=[...Qe,ke("accountId",Re.id,"ak"),ke("nonce",Re.int),ke("queryFormat",Re.string),ke("responseFormat",Re.string),ke("queryFee",Re.amount),ke("oracleTtlType",Re.int),ke("oracleTtlValue",Re.int),ke("fee",Re.int),ke("ttl",Re.int),ke("abiVersion",Re.int)],ht=[...Qe,ke("oracleId",Re.id,["ok","nm"]),ke("nonce",Re.int),ke("oracleTtlType",Re.int),ke("oracleTtlValue",Re.int),ke("fee",Re.int),ke("ttl",Re.int)],pt=[...Qe,ke("senderId",Re.id,"ak"),ke("nonce",Re.int),ke("oracleId",Re.id,["ok","nm"]),ke("query",Re.string),ke("queryFee",Re.amount),ke("queryTtlType",Re.int),ke("queryTtlValue",Re.int),ke("responseTtlType",Re.int),ke("responseTtlValue",Re.int),ke("fee",Re.int),ke("ttl",Re.int)],ft=[...Qe,ke("oracleId",Re.id,"ok"),ke("nonce",Re.int),ke("queryId",Re.binary,"oq"),ke("response",Re.string),ke("responseTtlType",Re.int),ke("responseTtlValue",Re.int),ke("fee",Re.int),ke("ttl",Re.int)],mt=[...Qe,ke("initiator",Re.id,"ak"),ke("initiatorAmount",Re.int),ke("responder",Re.id,"ak"),ke("responderAmount",Re.int),ke("channelReserve",Re.int),ke("lockPeriod",Re.int),ke("ttl",Re.int),ke("fee",Re.int),ke("initiatorDelegateIds",Re.string),ke("responderDelegateIds",Re.string),ke("stateHash",Re.binary,"st"),ke("nonce",Re.int)],gt=[...Qe,ke("channelId",Re.id,"ch"),ke("fromId",Re.id,"ak"),ke("amount",Re.int),ke("ttl",Re.int),ke("fee",Re.int),ke("stateHash",Re.binary,"st"),ke("round",Re.int),ke("nonce",Re.int)],yt=[...Qe,ke("channelId",Re.id,"ch"),ke("toId",Re.id,"ak"),ke("amount",Re.int),ke("ttl",Re.int),ke("fee",Re.int),ke("stateHash",Re.binary,"st"),ke("round",Re.int),ke("nonce",Re.int)],wt=[...Qe,ke("channelId",Re.id,"ch"),ke("fromId",Re.id,"ak"),ke("initiatorAmountFinal",Re.int),ke("responderAmountFinal",Re.int),ke("ttl",Re.int),ke("fee",Re.int),ke("nonce",Re.int)],bt=[...Qe,ke("channelId",Re.id,"ch"),ke("fromId",Re.id,"ak"),ke("payload",Re.binary,"tx"),ke("poi",Re.binary,"pi"),ke("ttl",Re.int),ke("fee",Re.int),ke("nonce",Re.int)],vt=[...Qe,ke("channelId",Re.id,"ch"),ke("fromId",Re.id,"ak"),ke("payload",Re.binary,"tx"),ke("poi",Re.binary,"pi"),ke("ttl",Re.int),ke("fee",Re.int),ke("nonce",Re.int)],xt=[...Qe,ke("channelId",Re.id,"ch"),ke("fromId",Re.id,"ak"),ke("initiatorAmountFinal",Re.int),ke("responderAmountFinal",Re.int),ke("ttl",Re.int),ke("fee",Re.int),ke("nonce",Re.int)],Tt=[...Qe,ke("channelId",Re.id,"ch"),ke("fromId",Re.id,"ak"),ke("payload",Re.binary,"tx"),ke("round",Re.int),ke("update",Re.binary),ke("stateHash",Re.binary),ke("offChainTrees",Re.stateTree),ke("ttl",Re.int),ke("fee",Re.int),ke("nonce",Re.int)],It=[...Qe,ke("channelId",Re.id,"ch"),ke("round",Re.int),ke("stateHash",Re.binary,"st")],Ct=[...Qe,ke("initiator",Re.id,"ak"),ke("responder",Re.id,"ak"),ke("channelAmount",Re.int),ke("initiatorAmount",Re.int),ke("responderAmount",Re.int),ke("channelReserve",Re.int),ke("initiatorDelegateIds",Re.ids),ke("responderDelegateIds",Re.ids),ke("stateHash",Re.hex),ke("round",Re.int),ke("soloRound",Re.int),ke("lockPeriod",Re.int),ke("lockedUntil",Re.int),ke("initiatorAuth",Re.binary,"cb"),ke("responderAuth",Re.binary,"cb")],At=[...Qe,ke("channelId",Re.id,"ch"),ke("fromId",Re.id,"ak"),ke("payload",Re.binary,"tx"),ke("ttl",Re.int),ke("fee",Re.int),ke("nonce",Re.int)],Et=[...Qe,ke("owner",Re.id,"ak"),ke("ctVersion",Re.int),ke("code",Re.binary,"cb"),ke("deposit",Re.int),ke("callData",Re.binary,"cb")],_t=[...Qe,ke("caller",Re.id,"ak"),ke("contract",Re.id,"ct"),ke("abiVersion",Re.int),ke("amount",Re.int),ke("callData",Re.binary,"cb"),ke("callStack",Re.callStack),ke("gasPrice",Re.int),ke("gasLimit",Re.int)],kt=[...Qe,ke("channelId",Re.id,"ch"),ke("round",Re.int),ke("role",Re.string),ke("pubkey",Re.id,"ak")],Ot=[...Qe,ke("from",Re.id,"ak"),ke("to",Re.id,"ak"),ke("amount",Re.int)],St=[...Qe,ke("from",Re.id,"ak"),ke("amount",Re.int)],Nt=[...Qe,ke("from",Re.id,"ak"),ke("amount",Re.int)],Bt=[...Qe,ke("accounts",Re.mptrees),ke("calls",Re.mptrees),ke("channels",Re.mptrees),ke("contracts",Re.mptrees),ke("ns",Re.mptrees),ke("oracles",Re.mptrees)],Pt=[...Qe,ke("contracts",Re.rlpBinary),ke("calls",Re.rlpBinary),ke("channels",Re.rlpBinary),ke("ns",Re.rlpBinary),ke("oracles",Re.rlpBinary),ke("accounts",Re.rlpBinary)],jt=[...Qe,ke("values",Re.rlpBinaries)],Mt=[...Qe,ke("key",Re.hex),ke("value",Re.rawBinary)],Rt=[...Qe,ke("contracts",Re.rlpBinary)],qt=[...Qe,ke("calls",Re.rlpBinary)],Vt=[...Qe,ke("channels",Re.rlpBinary)],Ft=[...Qe,ke("mtree",Re.rlpBinary)],$t=[...Qe,ke("otree",Re.rlpBinary)],Dt=[...Qe,ke("accounts",Re.rlpBinary)],Ut={[Se.account]:{2:Oe(ze,10)},[Se.signed]:{1:Oe(Je,fe)},[Se.spend]:{1:Oe(Xe,12)},[Se.namePreClaim]:{1:Oe(Ze,33)},[Se.nameClaim]:{2:Oe(et,32)},[Se.nameUpdate]:{1:Oe(tt,34)},[Se.nameTransfer]:{1:Oe(nt,36)},[Se.nameRevoke]:{1:Oe(rt,35)},[Se.contract]:{1:Oe(at,40)},[Se.contractCreate]:{1:Oe(ct,42)},[Se.contractCall]:{1:Oe(lt,43)},[Se.contractCallResult]:{1:Oe(dt,41)},[Se.oracleRegister]:{1:Oe(ut,22)},[Se.oracleExtend]:{1:Oe(ht,25)},[Se.oracleQuery]:{1:Oe(pt,23)},[Se.oracleResponse]:{1:Oe(ft,24)},[Se.channelCreate]:{2:Oe(mt,50)},[Se.channelCloseMutual]:{1:Oe(wt,53)},[Se.channelCloseSolo]:{1:Oe(bt,54)},[Se.channelSlash]:{1:Oe(vt,55)},[Se.channelDeposit]:{1:Oe(gt,51)},[Se.channelWithdraw]:{1:Oe(yt,52)},[Se.channelSettle]:{1:Oe(xt,56)},[Se.channelForceProgress]:{1:Oe(Tt,me)},[Se.channelOffChain]:{2:Oe(It,57)},[Se.channel]:{3:Oe(Ct,58)},[Se.channelSnapshotSolo]:{1:Oe(At,59)},[Se.channelOffChainUpdateTransfer]:{1:Oe(Ot,ge)},[Se.channelOffChainUpdateDeposit]:{1:Oe(St,ye)},[Se.channelOffChainUpdateWithdrawal]:{1:Oe(Nt,we)},[Se.channelOffChainCreateContract]:{1:Oe(Et,be)},[Se.channelOffChainCallContract]:{1:Oe(_t,ve)},[Se.channelReconnect]:{1:Oe(kt,xe)},[Se.proofOfInclusion]:{1:Oe(Bt,60)},[Se.stateTrees]:{1:Oe(Pt,62)},[Se.merklePatriciaTree]:{1:Oe(jt,63)},[Se.merklePatriciaTreeValue]:{1:Oe(Mt,64)},[Se.contractsTree]:{1:Oe(Rt,Te)},[Se.contractCallsTree]:{1:Oe(qt,Ie)},[Se.channelsTree]:{1:Oe(Vt,Ce)},[Se.nameserviceTree]:{1:Oe(Ft,Ae)},[Se.oraclesTree]:{1:Oe($t,Ee)},[Se.accountsTree]:{1:Oe(Dt,_e)},[Se.gaAttach]:{1:Oe(ot,80)},[Se.gaMeta]:{2:Oe(st,81)},[Se.payingFor]:{1:Oe(it,82)}},Ht={10:{2:Oe(ze,10)},[fe]:{1:Oe(Je,fe)},12:{1:Oe(Xe,12)},33:{1:Oe(Ze,33)},32:{2:Oe(et,32)},34:{1:Oe(tt,34)},36:{1:Oe(nt,36)},35:{1:Oe(rt,35)},40:{1:Oe(at,40)},42:{1:Oe(ct,42)},43:{1:Oe(lt,43)},41:{1:Oe(dt,41)},22:{1:Oe(ut,22)},25:{1:Oe(ht,25)},23:{1:Oe(pt,23)},24:{1:Oe(ft,24)},50:{2:Oe(mt,50)},53:{1:Oe(wt,53)},54:{1:Oe(bt,54)},55:{1:Oe(vt,55)},51:{1:Oe(gt,51)},52:{1:Oe(yt,52)},56:{1:Oe(xt,56)},57:{2:Oe(It,57)},58:{3:Oe(Ct,58)},59:{1:Oe(At,59)},[ge]:{1:Oe(Ot,ge)},[ye]:{1:Oe(St,ye)},[we]:{1:Oe(Nt,we)},[be]:{1:Oe(Et,be)},[ve]:{1:Oe(_t,ve)},[xe]:{1:Oe(kt,xe)},60:{1:Oe(Bt,60)},62:{1:Oe(Pt,62)},63:{1:Oe(jt,63)},64:{1:Oe(Mt,64)},[Te]:{1:Oe(Rt,Te)},[Ie]:{1:Oe(qt,Ie)},[Ce]:{1:Oe(Vt,Ce)},[Ae]:{1:Oe(Ft,Ae)},[Ee]:{1:Oe($t,Ee)},[_e]:{1:Oe(Dt,_e)},80:{1:Oe(ot,80)},81:{2:Oe(st,81)},82:{1:Oe(it,82)},[me]:{1:Oe(Tt,me)},70:{3:Oe(Ye,70)}},Kt=e=>["number","object","string","bigint"].includes(typeof e)&&(!isNaN(e)||Number.isInteger(e)||x().isBigNumber(e)),Wt=e=>e.integerValue(x().ROUND_CEIL),Lt=xn,Gt=["tx","st","ss","pi","ov","or","cb","cs","ba"];function Qt(e,t){return en(D(Buffer.from([...Zt(e,"ak"),...k(t)])),"ct")}function Yt(e,t,n){return en(D(Buffer.from([...Zt(e,"ak"),...function(e){const t=k(e,!0);return Buffer.concat([Buffer.alloc(32-t.length),t])}(t),...Zt(n,"ok")])),"oq")}function zt(e){return Buffer.from(e.toString(16).padStart(64,"0"),"hex")}function Xt(e){return cn(e),en(D(e.toLowerCase()),"nm")}function Jt(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Lt();return cn(e),`cm_${An(D(Buffer.concat([Buffer.from(e.toLowerCase()),zt(t)])))}`}function Zt(e,t){const[n,r,a]=e.split("_");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(Gt.includes(n)?Cn:En)(r)}function en(e,t){return`${t}_${Gt.includes(t)?Tn(e):An(e)}`}function tn(e){const t=e.slice(0,2),n=Ke[t];if(!n)throw new Error(`Id tag for prefix ${t} not found.`);return Buffer.from([...k(n),...Zt(e,t)])}function nn(e){const t=e.readUIntBE(0,1),n=We[t];if(!n)throw new Error(`Prefix for id-tag ${t} not found.`);return en(e.slice(1,e.length),n)}function rn(e){return k(e,!0)}function an(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Buffer.from([]);return x()(e.toString("hex"),16).toString(10)}function on(e){return e.map((e=>[k(e.key),tn(e.id)]))}function sn(e){return e.map((e=>{let[t,n]=e;return Object.assign({key:t.toString(),id:nn(n)})}))}function cn(e){if(!e||"string"!=typeof e)throw new Error("Name must be a string");if(!e.endsWith(".chain"))throw new Error(`Name should end with .chain: ${e}`)}function ln(e){try{return cn(e),!0}catch(e){return!1}}function dn(e){if(!e.match(/^[a-z]{2}_.+/))throw new Error("Not a valid hash");const t=e.substr(0,2);if(t in ue)return ue[t];throw new Error(`Unknown class ${t}`)}function un(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return!e.find((e=>!e||"string"!=typeof e||!["ak","ok","ct","ch"].includes(e.split("_")[0])))}function hn(e){const t=e.replace(".chain","").length;return he[t>=le?le:t]}function pn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:oe,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:ie;if(Number(n)!==n||n%1==0)throw new Error(`Increment must be float. Current increment ${n}`);if(n<ie)throw new Error(`minimum increment percentage is ${ie}`);return Wt(x()(x()(t).eq(oe)?hn(e):t).times(x()(ie).plus(1)))}function fn(e,t){return F()([[q()(5),M()(pe[4].plus(t))],[q()(9),M()(pe[8].plus(t))],[P()(de),M()(pe[12].plus(t))],[N(),M()(x()(t))]])(e.replace(".chain","").length).toString(10)}function mn(e){return e.replace(".chain","").length<13}const gn=y().ModeOfOperation.ecb;function yn(e){const t=m().sign.keyPair.fromSecretKey(O(e));return`ak_${An(Buffer.from(t.publicKey))}`}function wn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ak";if("string"!=typeof e)return!1;try{return 32===Zt(e,t).length}catch(e){return!1}}function bn(e){return Vn(k(e,!0))}function vn(e){return b()("sha256").update(e).digest()}function xn(){return Math.floor(Math.random()*Math.floor(Number.MAX_SAFE_INTEGER))}function Tn(e){const t=Buffer.from(e),n=In(e);return Buffer.concat([t,n],t.length+4).toString("base64")}function In(e){return vn(vn(e)).slice(0,4)}function Cn(e){const t=function(e){const t=e.slice(0,-4),n=e.slice(-4),r=In(t);if(n.equals(r))return t}(Buffer.from(e,"base64"));if(!t)throw new Error("Invalid checksum");return Buffer.from(t)}function An(e){return u().encode(Buffer.from(e))}function En(e){return u().decode(e)}function _n(e){const t=Buffer.allocUnsafe(4);return t.writeUInt32BE(e),t.slice(t.findIndex((e=>0!==e)))}function kn(e,t){const n=Zt(e,"ak");return`ct_${An(D(Buffer.concat([n,_n(t)])))}`}function On(e){return m().sign.keyPair.fromSecretKey(e)}function Sn(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const t=m().sign.keyPair(),n=Buffer.from(t.publicKey),r=Buffer.from(t.secretKey);return e?{publicKey:n,secretKey:r}:{publicKey:`ak_${An(n)}`,secretKey:r.toString("hex")}}function Nn(e,t){const n=vn(e);return new gn(n).encrypt(t)}function Bn(e,t){const n=Buffer.from(t),r=vn(e),a=new gn(r);return Buffer.from(a.decrypt(n))}function Pn(e,t){return m().sign.detached(Buffer.from(e),Buffer.from(t))}function jn(e,t,n){return m().sign.detached.verify(new Uint8Array(e),t,n)}function Mn(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 D(Buffer.concat([Buffer.from([t.length]),t,Buffer.from([n.length]),n]))}function Rn(e,t){return Pn(Mn(e),t)}function qn(e,t,n){return jn(Mn(e),t,n)}function Vn(e){return`ak_${An(Buffer.from(e,"hex"))}`}function Fn(e,t){const n=Buffer.from("TheMessage");return jn(n,Pn(n,e),t)}function $n(e,t){const n=m().box.keyPair(),r=Zt(t,"ak"),a=m().randomBytes(m().box.nonceLength),o=m().box(Buffer.from(e),a,p().convertPublicKey(r),n.secretKey);return{ciphertext:Buffer.from(o).toString("hex"),ephemPubKey:Buffer.from(n.publicKey).toString("hex"),nonce:Buffer.from(a).toString("hex"),version:"x25519-xsalsa20-poly1305"}}function Dn(e,t){const n=p().convertSecretKey(Buffer.from(e,"hex")),r=Buffer.from(t.nonce,"hex"),a=Buffer.from(t.ciphertext,"hex"),o=Buffer.from(t.ephemPubKey,"hex"),s=m().box.open(a,r,o,n);return s?Buffer.from(s):s}var Un=I(3323);const Hn=I(8097),Kn={crypto:{secret_type:"ed25519",symmetric_alg:"xsalsa20-poly1305",kdf:"argon2id",kdf_params:{memlimit_kib:65536,opslimit:3,parallelism:1}}},Wn={argon2id:Ln};async function Ln(e,t,n){const{memlimit_kib:r,opslimit:a}=n.kdf_params;return Hn.ready.then((async()=>{const n=Hn,o=n.crypto_pwhash(32,e,t,a,1024*r,n.crypto_pwhash_ALG_ARGON2ID13);return Buffer.from(o)}))}const Gn={"xsalsa20-poly1305":{encrypt:function(e){let{plaintext:t,key:n,nonce:r}=e;return m().secretbox(t,r,n)},decrypt:function(e){let{ciphertext:t,key:n,nonce:r}=e;const a=m().secretbox.open(t,r,n);if(!a)throw new Error("Invalid password or nonce");return a}}};function Qn(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Kn.crypto.symmetric_alg;if(!Gn[r])throw new Error(r+" is not available");return Gn[r].encrypt({plaintext:e,nonce:n,key:t})}async function Yn(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{kdf_params:Kn.crypto.kdf_params,kdf:Kn.crypto.kdf};if(null==e||!t)throw new Error("Must provide password and nonce to derive a key");if(!Object.prototype.hasOwnProperty.call(Wn,n.kdf))throw new Error("Unsupported kdf type");return Wn[n.kdf](e,t,n)}function zn(e,t,n,r,a){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};const s=Object.assign({},Kn.crypto,o);return Object.assign({name:e,version:1,public_key:Xn(n),id:(0,Un.v4)()},{crypto:Object.assign({secret_type:s.secret_type,symmetric_alg:s.symmetric_alg,ciphertext:Buffer.from(Qn(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 Xn(e){const t=m().sign.keyPair.fromSecretKey(O(e));return`ak_${An(Buffer.from(t.publicKey))}`}async function Jn(e,t){er(t);const n=Uint8Array.from(O(t.crypto.cipher_params.nonce)),r=Uint8Array.from(O(t.crypto.kdf_params.salt)),a=t.crypto.kdf_params,o=t.crypto.kdf,s=await function(e,t,n,r){if(!Gn[r])throw new Error(r+" is not available");return Gn[r].decrypt({ciphertext:e,nonce:n,key:t})}(Uint8Array.from(O(t.crypto.ciphertext)),await Yn(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 Zn(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:m().randomBytes(24),a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:m().randomBytes(16),o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};const s=Object.assign({},Kn.crypto,o);return zn(e,await Yn(t,a,s),n,r,a,s)}function er(e){const t=["crypto","id","version","public_key"].filter((t=>!Object.prototype.hasOwnProperty.call(e,t)));if(t.length)throw new Error(`Invalid key file format. Require properties: ${t}`);const n=["cipher_params","ciphertext","symmetric_alg","kdf","kdf_params"].filter((t=>!Object.prototype.hasOwnProperty.call(e.crypto,t)));if(n.length)throw new Error(`Invalid key file format. Require properties: ${n}`);return!0}var tr=I(2001);const nr={AE:"ae",MILI_AE:"miliAE",MICRO_AE:"microAE",NANO_AE:"nanoAE",PICO_AE:"picoAE",FEMTO_AE:"femtoAE",AETTOS:"aettos"},rr={[nr.AE]:0,[nr.MILI_AE]:-3,[nr.MICRO_AE]:-6,[nr.NANO_AE]:-9,[nr.PICO_AE]:-12,[nr.FEMTO_AE]:-15,[nr.AETTOS]:-18},ar=function(e){let{denomination:t=nr.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return sr(e,{denomination:t,targetDenomination:nr.AE})},or=function(e){let{denomination:t=nr.AE}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return sr(e,{denomination:t})},sr=function(e){let{denomination:t=nr.AETTOS,targetDenomination:n=nr.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=Object.values(nr);if(!r.includes(t))throw new Error(`Invalid denomination: ${t}`);if(!r.includes(n))throw new Error(`Invalid target denomination: ${n}`);if(!Kt(e))throw new Error(`Value ${null==e?void 0:e.toString()} is not type of number`);return new(x())(e).shiftedBy(rr[t]-rr[n]).toFixed()},ir=[{name:"exa",magnitude:18},{name:"giga",magnitude:9},{name:"",magnitude:0},{name:"pico",magnitude:-12}],cr=e=>ir.reduce(((t,n)=>Math.abs(n.magnitude-e)<Math.abs(t.magnitude-e)?n:t)),lr=e=>ir.find((t=>t.magnitude<=e))??ir[ir.length-1],dr=e=>{const t=new(x())(e),n=t.e??0,{name:r,magnitude:a}=(n<0?cr:lr)(n);return`${t.shiftedBy(-a).precision(9+Math.min(n-a,0)).toFixed()}${""!==r?" ":""}${r}`};var ur;!function(e){e[e.Branch=0]="Branch",e[e.Extension=1]="Extension",e[e.Leaf=2]="Leaf"}(ur||(ur={}));class hr{static nodeHash(e){return Buffer.from(D((0,tr.encode)(e))).toString("hex")}constructor(e){if(this.rootHash=e[0].toString("hex"),this.nodes=Object.fromEntries(e[1].map((e=>[e[0].toString("hex"),e[1]]))),void 0===this.nodes[this.rootHash])throw new Error("Can't find a node by root hash");Object.entries(this.nodes).forEach((e=>{let[t,n]=e;if(hr.nodeHash(n)!==t)throw new Error("Node hash is not equal to provided one");const{type:r,payload:a}=hr.parseNode(n);switch(r){case ur.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 ur.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:ur.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?ur.Extension:ur.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}=hr.parseNode(this.nodes[t]);switch(n){case ur.Branch:if(0===e.length)return r[16];t=r[parseInt(e[0],16)].toString("hex"),e=e.substr(1);break;case ur.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 ur.Leaf:if(a!==e)return;return r[0]}}}}const pr="delta";function fr(e,t,n){if(!e)return"";switch(t){case Re.ctVersion:{const[t,,n]=e;return{vmVersion:an(Buffer.from([t])),abiVersion:an(Buffer.from([n]))}}case Re.amount:case Re.int:return an(e);case Re.id:return nn(e);case Re.ids:return e.map(nn);case Re.bool:return 1===e[0];case Re.binary:return en(e,n);case Re.stateTree:return en(e,"ss");case Re.string:return e.toString();case Re.payload:return en(e,"ba");case Re.pointers:return sn(e);case Re.rlpBinary:return Er(e,!0);case Re.rlpBinaries:return e.map((e=>Er(e,!0)));case Re.rawBinary:return e;case Re.hex:return e.toString("hex");case Re.offChainUpdates:return e.map((e=>Er(e,!0)));case Re.callStack:return[an(e)];case Re.mptrees:return e.map((e=>new hr(e)));case Re.callReturnType:switch(an(e)){case"0":return"ok";case"1":return"error";case"2":return"revert";default:return e}case Re.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 mr(e,t,n){switch(t){case Re.amount:case Re.int:return rn(e);case Re.id:return tn(e);case Re.ids:return e.map(tn);case Re.bool:return Buffer.from([e?1:0]);case Re.binary:return Zt(e,n);case Re.stateTree:return Zt(e,"ss");case Re.hex:return Buffer.from(e,"hex");case Re.signatures:return e.map(Buffer.from);case Re.payload:return"string"==typeof e&&"ba"===e.split("_")[0]?Zt(e,"ba"):k(e);case Re.string:return k(e);case Re.pointers:return on(e);case Re.rlpBinary:return e.rlpEncoded??e;case Re.mptrees:return e.map((e=>e.serialize()));case Re.ctVersion:return Buffer.from([...k(e.vmVersion),0,...k(e.abiVersion)]);case Re.callReturnType:switch(e){case"ok":return rn(0);case"error":return rn(1);case"revert":return rn(2);default:return e}default:return e}}function gr(e,t){let{denomination:n}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e=t.filter((e=>{let[t,n]=e;return n===Re.amount})).reduce(((t,r)=>{let[a]=r;return{...e,[a]:sr(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===pr?0:1,e[`${n}Value`]=a.value),e}),{})}function yr(e,t){const n={[Se.oracleRegister]:"oracleTtl",[Se.oracleExtend]:"oracleTtl",[Se.oracleQuery]:"queryTtl",[Se.oracleResponse]:"responseTtl"}[t];return e[n]||e[`${n}Value`]?e[`${n}Value`]||e[n].value:1}function wr(e,t){let{gas:n=0,params:r,vsn:a}=t;const o=x()(1e9);if(!r)return x()(Fe).times(o).toString(10);let s=br(e,{params:{...r,fee:0},multiplier:o,gas:n,vsn:a}),i=x()(0);for(;!s.eq(i);)s=br(e,{params:{...r,fee:s},multiplier:o,gas:n,vsn:a}),i=s;return i.toString(10)}function br(e,t){let{params:n,gas:r=0,multiplier:a,vsn:o}=t;const{rlpEncoded:s}=Ar({...n},e,{vsn:o}),i=s.length;return De(e).plus(Ue(e,i,{relativeTtl:yr(n,e),innerTxSize:[Se.gaMeta,Se.payingFor].includes(e)?n.tx.tx.encodedTx.rlpEncoded.length:0})).times(a)}function vr(){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(${Fe})`),e||wr(t,{params:r,gas:n,vsn:o})}function xr(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]:Ge[n](r)};if(null==e)return{[t]:"Field is required"};switch(n){case Re.amount:case Re.int:{const t=(!isNaN(e)||x().isBigNumber(e))&&x()(e).lt(0);return a((!isNaN(e)||x().isBigNumber(e))&&x()(e).gte(0),{value:e,isMinusValue:t})}case Re.id:return a((Array.isArray(r)?r:[r]).find((t=>t===e.split("_")[0]))&&Ke[e.split("_")[0]],{value:e,prefix:r});case Re.binary:return a(e.split("_")[0]===r,{prefix:r,value:e});case Re.string:return a(!0);case Re.ctVersion:return a("object"==typeof e&&Object.prototype.hasOwnProperty.call(e,"abiVersion")&&Object.prototype.hasOwnProperty.call(e,"vmVersion"));case Re.pointers:return a(Array.isArray(e)&&!e.find((e=>e!==Object(e))),{value:e});default:return{}}}(e[r],r,a,o))}),{})}function Tr(e,t){let{excludeKeys:n=[],denomination:r=nr.AETTOS}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const a=t.filter((e=>{let[t]=e;return!n.includes(t)})),o=xr(e=gr(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 mr(e[n],r,a)}))}function Ir(e,t){return t.reduce(((t,n,r)=>{let[a,o,s]=n;return Object.assign(t,{[a]:fr(e[r],o,s)})}),{})}const Cr=e=>{let{vsn:t,objId:n,type:r}=e;const a=!!n,o=a?n:r,s=a?Ht:Ut;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 Ar(e,t){let{excludeKeys:n=[],prefix:r="tx",vsn:a=U,denomination:o=nr.AETTOS}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const[s,i]=Cr({type:t,vsn:a}),c=Tr({...e,VSN:a,tag:i},s,{excludeKeys:n,denomination:e.denomination||o}).filter((e=>void 0!==e)),l=(0,tr.encode)(c),d=en(l,r);return{tx:d,rlpEncoded:l,binary:c,txObject:Ir(c,s)}}function Er(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:Zt(e,n),a=(0,tr.decode)(r),o=an(a[0]),s=an(a[1]),[i]=Cr({objId:o,vsn:s});return{txType:Me[o],tx:Ir(a,i),rlpEncoded:r,binary:a}}function _r(e){return en(D("string"==typeof e&&e.startsWith("tx_")?Zt(e,"tx"):e),"th")}const kr={calculateMinFee:wr,calculateFee:vr,unpackTx:Er,unpackRawTx:Ir,buildTx:Ar,buildRawTx:Tr,validateParams:xr,buildTxHash:_r},Or=["int","string","tuple","address","bool","list","map","record","option","oracle","oracleQuery","hash","signature","bytes","variant"].reduce(((e,t)=>({...e,[t]:t})),{ChainTtl:"Chain.ttl"}),Sr=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=>D(e.name).equals(k(r,!0))));if(!o)return e;const s=o.types.filter((e=>e===Or.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=>Nr(e===Or.string?n.data:a.shift(),e)))}),e}),[])};function Nr(e,t){switch(t){case Or.int:return n=e,new(x())(n.toString()).toString(10);case Or.bool:return!!e;case Or.hash:return k(e,!0).toString("hex");case Or.address:return bn(e);case Or.string:return Zt(e).toString("utf-8");default:return k(e,!0)}var n}var Br=I(1001),Pr=I(2405),jr=I(8367);const Mr=Buffer.from("ed25519 seed"),Rr=2147483648,qr=e=>Buffer.from(e).toString("hex");function Vr(e,t){const n=""===e?[]:(0,Pr.fromString)(e).toPathArray();return n.forEach(((e,t)=>{if(e<Rr)throw new Error(`Segment #${t+1} is not hardened`)})),n.reduce(((e,t)=>Hr(e,t)),t)}function Fr(e,t){if(!["m","m/"].includes(e.slice(0,2)))throw new Error("Invalid path");const n=Ur(t);return Vr(e.slice(2),n)}function $r(e){const{secretKey:t,publicKey:n}=e;return{secretKey:qr(t),publicKey:`ak_${An(n)}`}}function Dr(e){return m().sign.keyPair.fromSeed(e)}function Ur(e){const t=(0,Br.full)(e,Mr);return{secretKey:t.slice(0,32),chainCode:t.slice(32)}}function Hr(e,t){let{secretKey:n,chainCode:r}=e;if(t<Rr)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,Br.full)(o,r);return{secretKey:s.slice(0,32),chainCode:s.slice(32)}}const Kr={getHdWalletAccountFromMnemonic:(e,t)=>({...$r(Dr(Vr(`${t}h/0h/0h`,Fr("m/44h/457h",(0,jr.mnemonicToSeed)(e))).secretKey)),idx:t}),getSaveHDWalletAccounts:function(e,t,n){const r={secretKey:Bn(t,Buffer.from(e.secretKey,"hex")),chainCode:Bn(t,Buffer.from(e.chainCode,"hex"))};return new Array(n).fill().map(((e,t)=>$r(Dr(Vr(`${t}h/0h/0h`,r).secretKey))))},generateSaveHDWallet:function(e,t){if(!(0,jr.validateMnemonic)(e))throw new Error("Invalid mnemonic");const n=Fr("m/44h/457h",(0,jr.mnemonicToSeed)(e));return{secretKey:qr(Nn(t,n.secretKey)),chainCode:qr(Nn(t,n.chainCode))}},generateMnemonic:function(){return(0,jr.generateMnemonic)()},deriveChild:Hr,getMasterKeyFromSeed:Ur};var Wr=I(1031),Lr=I.n(Wr),Gr=I(8081);const Qr=Lr()((0,Gr.required)({methods:{spendTx:Gr.required,namePreclaimTx:Gr.required,nameClaimTx:Gr.required,nameTransferTx:Gr.required,nameUpdateTx:Gr.required,nameRevokeTx:Gr.required,contractCreateTx:Gr.required,contractCallTx:Gr.required,oracleRegisterTx:Gr.required,oracleExtendTx:Gr.required,oraclePostQueryTx:Gr.required,oracleRespondTx:Gr.required,getAccountNonce:Gr.required,channelCloseSoloTx:Gr.required,channelSlashTx:Gr.required,channelSettleTx:Gr.required,channelSnapshotSoloTx:Gr.required,gaAttachTx:Gr.required,getVmVersion:Gr.required,prepareTxParams:Gr.required}})),Yr=Lr()({deepProps:{Ae:{defaults:{waitMined:!0,verify:!0}}}},(0,Gr.required)({methods:{sendTransaction:Gr.required,height:Gr.required,awaitHeight:Gr.required,topBlock:Gr.required,poll:Gr.required,balance:Gr.required,getBalance:Gr.required,tx:Gr.required,getTxInfo:Gr.required,mempool:Gr.required,txDryRun:Gr.required,getAccount:Gr.required}}));var zr=I(7430),Xr=I.n(zr),Jr=I(7414),Zr=I.n(Jr),ea=I(5713),ta=I.n(ea),na=I(7263),ra=I.n(na),aa=I(6290),oa=I.n(aa);function sa(){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 ia=Lr()({deepConf:{AsyncInit:{initializers:[]}},composers(e){let{stamp:t,composables:n}=e;t.compose.deepConfiguration.AsyncInit.initializers=oa()([sa],ra()(ta(),Zr()(n.map((e=>Xr()(["compose","deepConfiguration","AsyncInit","initializers"],e)||(e.compose||e).initializers||[]))))),t.compose.initializers=[sa]}});var ca=I(4021),la=I.n(ca),da=I(6311),ua=I.n(da),ha=I(3656);const pa=I.n(ha)()({storeAsString:!0}),fa=e=>{if("object"==typeof e&&null!==e&&e.constructor===Object)return Object.entries(e).map((e=>{let[t,n]=e;return[t,fa(n)]})).reduce(((e,t)=>{let[n,r]=t;return{...e,[n]:r}}),{});if(Array.isArray(e))return e.map((e=>fa(e)));if("string"==typeof e&&x()(e).toString(10)===e){const t=x()(e);return t.toJSON=()=>t.toString(10),t}return e},ma={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 pa.stringify(fa(e),...n)},parse:pa.parse},ga=async e=>await new Promise((t=>setTimeout(t,e))),ya=(e,t)=>Object.fromEntries(Object.entries(e).map(t)),wa=(e,t)=>Object.fromEntries(Object.entries(e).filter(t)),ba=(e,t)=>"object"!=typeof t||null===t?t:Array.isArray(t)?t.map((t=>ba(e,t))):ya(t,(t=>{let[n,r]=t;return[e(n),ba(e,r)]})),va=ba.bind(null,A),xa=ba.bind(null,T);let Ta=!1;const Ia=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 ua()(e)).json();const s=r?JSON:ma;(["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?la()({url:e,spec:t,responseInterceptor:e=>{if(!e.text)return e;const t=s.parse(e.text);return Object.assign(e,{body:a?t:xa(t)}),o&&o(e)||e}}):null))),l=[...Object.values(i.apis),ya((null==c?void 0:c.apis.internal)||{},(e=>{let[t,n]=e;return[t,function(){return Ta||(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")'),Ta=!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=ya(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}=ya(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=wa(a?n:va(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 Ca(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 Aa(){let{networkId:e,force:t=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!(t||e||this.networkId||this.selectedNode&&this.selectedNode.networkId))throw new Error("networkId is not provided");return!t||e||this.networkId||this.selectedNode&&this.selectedNode.networkId?e||this.networkId||this.selectedNode.networkId:null}const Ea=ia.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 Ia(`${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,!Ca(this.version,_a,ka)&&!r)throw new Error(`Unsupported node version ${this.version}. Supported: >= ${_a} < ${ka}`);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}}),_a="6.2.0",ka="7.0.0",Oa=Ea,Sa=e=>!["sign","address"].find((t=>"function"!=typeof e[t])),Na=Lr()({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=Zt(e,"tx"),a=Buffer.concat([Buffer.from(n.join("-")),D(r)]),o=[await this.sign(a,t)];return Ar({encodedTx:r,signatures:o},Se.signed).tx},getNetworkId:Aa,signMessage:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{returnHex:!1};const n=await this.sign(Mn(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 qn(e,"string"==typeof t?Buffer.from(t,"hex"):t,Zt(await this.address(n)))}}},(0,Gr.required)({methods:{sign:Gr.required,address:Gr.required}})),Ba=Lr()(Qr,Na,Yr,{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:kr.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,"ak",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,"ak",r),o=await this.address(r),s=new(x())(await this.balance(o)),i=s.times(e).integerValue(x().ROUND_HALF_UP),{tx:{fee:c}}=kr.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:nr.AETTOS}}}}),Pa=Ba,ja=[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(Se.payingFor)?["inner_tx"]:[]].join("-")),c=Buffer.concat([i,n.rlpEncoded]),l=Buffer.concat([i,D(n.rlpEncoded)]),d=Zt(a.id,"ak");return jn(c,r[0],d)||jn(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)?[]:Ra(en((n??r).rlpEncoded,"tx"),a,[...o,s])},(e,t)=>{let{txType:n}=t;if(void 0===e.fee)return[];const r=vr(0,n,{gas:+e.gas||0,params:e,showWarning:!1,vsn:e.VSN});return new(x())(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(x())(r).plus(a||0).plus(n||0).plus(c===Se.payingFor?o.tx.encodedTx.tx.fee:0).minus(i.includes(Se.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(Se.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>=J?[]:[{message:`Gas price ${t} must be bigger then ${J}`,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"]}]:[]}],Ma=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 Ra(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const{tx:r,txType:a}=Er(e),o=Ma(r)??(a===Se.signed?Ma(r.encodedTx.tx):null),[s,i]=await Promise.all([o&&t.api.getAccountByPubkey(o).catch((()=>({id:o,balance:new(x())(0),nonce:0}))),t.api.getCurrentKeyBlockHeight().then((e=>{let{height:t}=e;return t}))]);return(await Promise.all(ja.map((e=>e(r,{txType:a,node:t,account:s,height:i,parentTxTypes:n}))))).flat()}const qa=Lr()({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:Aa,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:{}}}),Va=Yr.compose(qa,{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 Ra(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:()=>Ra(e,this.selectedNode.instance)})}},balance:async function(e){let{height:t,hash:n,format:r=nr.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{balance:a}=await this.getAccount(e,{hash:n,height:t});return sr(a,{targetDenomination:r}).toString()},getBalance:async function(e){let{height:t,hash:n,format:r=nr.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{balance:a}=await this.getAccount(e,{hash:n,height:t}).catch((e=>({balance:0})));return sr(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 ga(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 ga(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:ee.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}`);const a=Object.keys(ue);if(!a.includes(t))throw new Error(`Invalid prefix ${t}, should be one of [${a}]`);try{return Zt(e,t),e}catch(e){}if(ln(e)){if(n||r){const n=await this.getName(e).catch((e=>null));if(!n)throw new Error(`Name not found: ${e}`);const a=n.pointers.find((e=>{let{id:n}=e;return n.split("_")[0]===t}));if(!a)throw new Error(`Name ${e} don't have pointers for ${t}`);if(r)return a.id}return Xt(e)}throw new Error(`Invalid name or address: ${e}`)}}}),Fa=Va,$a=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("object"!=typeof t)throw new Error('"params" should be an object');if("string"!=typeof e||!Object.values(Se).includes(e))throw new Error(`Unknown transaction type ${e}`);const r=vr(t.fee,e,{gas:t.gas,params:t,vsn:t.vsn}),{rlpEncoded:a,binary:o,tx:s,txObject:i}=Ar({...t,fee:r},e,{vsn:t.vsn,...n});return{rlpEncoded:a,binary:o,encodedTx:s,params:i,type:e}},Da=e=>{if(!e)throw new Error(`Invalid transaction: ${e}`);if("string"==typeof e){const{txType:t,tx:n,rlpEncoded:r,binary:a}=Er(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}=Er(e,!0);return{encodedTx:en(e,"tx"),type:t,params:n,rlpEncoded:r,binary:a}}},Ua=Lr()({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 $a(n,t,r);if(e)return Da(e);throw new Error('Invalid TxObject arguments. Please provide one of { tx: "tx_asdasd23..." } or { type: "spendTx", params: {...} }')}({tx:e,params:t,type:n,options:r})),this.type===Se.signed){const{signatures:e,encodedTx:{txType:t,tx:n}}=this.params;this.signatures=e,this.params=n,this.type=t,this.isSigned=!0}},statics:{fromString:e=>Ua({tx:e}),fromRlp:e=>Ua({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,$a(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=E(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,$a(Se.signed,{encodedTx:this.rlpEncoded,signatures:[[...this.signatures,e]]}));const{signatures:t,encodedTx:{txType:n,tx:r}}=this.params;this.signatures=t,this.params=r,this.type=n,this.isSigned=!0},calculateMinFee(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t={...this.params,...e};return vr(0,this.type,{gas:t.gas,params:t,vsn:t.vsn})}}}),Ha=Ua;async function Ka(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:K,t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(0===e)return 0;if(e<0)throw new Error("ttl must be greater than 0");if(t){const{height:t}=await this.api.getCurrentKeyBlock();return+t+e}return e}const Wa=Fa.compose(Qr,{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(Se.spend,{senderId:t,...arguments[0],payload:a}),{tx:c}=this.nativeMode?{tx:Ua({params:{...arguments[0],recipientId:n,senderId:t,nonce:i,ttl:s,payload:a},type:Se.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(Se.namePreClaim,{senderId:t,...arguments[0]}),{tx:s}=this.nativeMode?{tx:Ua({params:{...arguments[0],nonce:o,ttl:a,fee:r},type:Se.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(Se.nameClaim,{senderId:t,...arguments[0],vsn:a}),{tx:c}=this.nativeMode?{tx:Ua({params:{...arguments[0],nonce:i,ttl:s,fee:o,vsn:a},type:Se.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(Se.nameTransfer,{senderId:t,...arguments[0]}),{tx:i}=this.nativeMode?{tx:Ua({params:{...arguments[0],recipientId:r,nonce:s,ttl:o,fee:a},type:Se.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(Se.nameUpdate,{senderId:t,...arguments[0]}),{tx:l}=this.nativeMode?{tx:Ua({params:{...arguments[0],nonce:c,ttl:i,fee:s},type:Se.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(Se.nameRevoke,{senderId:t,...arguments[0]}),{tx:s}=this.nativeMode?{tx:Ua({params:{...arguments[0],nonce:o,ttl:a,fee:r},type:Se.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=J,callData:l}=e;const d=this.getVmVersion(Se.contractCreate,arguments[0]),{fee:u,ttl:h,nonce:p}=await this.prepareTxParams(Se.contractCreate,{senderId:t,...arguments[0],ctVersion:d,gasPrice:c});return this.nativeMode?{tx:Ua({params:{...arguments[0],nonce:p,ttl:h,fee:u,ctVersion:d,gasPrice:c},type:Se.contractCreate}).encodedTx,contractId:Qt(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=J,callData:i}=e;const c=this.getVmVersion(Se.contractCall,arguments[0]),{fee:l,ttl:d,nonce:u}=await this.prepareTxParams(Se.contractCall,{senderId:t,...arguments[0],gasPrice:s,abiVersion:c.abiVersion}),{tx:h}=this.nativeMode?{tx:Ua({params:{...arguments[0],nonce:u,ttl:d,fee:l,abiVersion:c.abiVersion,gasPrice:s},type:Se.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 Ka.call(this,a,!i),u=vr(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=Be.NO_ABI}=e;const{fee:i,ttl:c,nonce:l}=await this.prepareTxParams(Se.oracleRegister,{senderId:t,...arguments[0],abiVersion:s}),{tx:d}=this.nativeMode?{tx:Ua({params:{accountId:t,queryFee:a,abiVersion:s,fee:i,oracleTtl:o,nonce:l,ttl:c,queryFormat:n,responseFormat:r},type:Se.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(Se.oracleExtend,{senderId:n,...arguments[0]}),{tx:i}=this.nativeMode?{tx:Ua({params:{oracleId:t,fee:a,oracleTtl:r,nonce:s,ttl:o},type:Se.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(Se.oracleQuery,{senderId:s,...arguments[0]}),{tx:d}=this.nativeMode?{tx:Ua({params:{oracleId:t,responseTtl:n,query:r,queryTtl:a,fee:i,queryFee:o,ttl:c,nonce:l,senderId:s},type:Se.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(Se.oracleResponse,{senderId:n,...arguments[0]}),{tx:l}=this.nativeMode?{tx:Ua({params:{oracleId:t,responseTtl:r,queryId:a,response:o,fee:s,ttl:i,nonce:c},type:Se.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(Se.channelCloseSolo,{senderId:n,...arguments[0],payload:r}),{tx:c}=this.nativeMode?Ar({...arguments[0],channelId:t,fromId:n,payload:r,poi:a,ttl:s,fee:o,nonce:i},Se.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(Se.channelSlash,{senderId:n,...arguments[0],payload:r}),{tx:c}=this.nativeMode?Ar({...arguments[0],channelId:t,fromId:n,payload:r,poi:a,ttl:s,fee:o,nonce:i},Se.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(Se.channelSettle,{senderId:n,...arguments[0]}),{tx:c}=this.nativeMode?Ar({...arguments[0],channelId:t,fromId:n,initiatorAmountFinal:r,responderAmountFinal:a,ttl:s,fee:o,nonce:i},Se.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(Se.channelSnapshotSolo,{senderId:n,...arguments[0],payload:r}),{tx:i}=this.nativeMode?Ar({...arguments[0],channelId:t,fromId:n,payload:r,ttl:o,fee:a,nonce:s},Se.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=J,callData:c}=e;const l=this.getVmVersion(Se.contractCreate,arguments[0]),{fee:d,ttl:u,nonce:h}=await this.prepareTxParams(Se.gaAttach,{senderId:t,...arguments[0],ctVersion:l,gasPrice:i});return{tx:Ua({params:{...arguments[0],nonce:h,ttl:u,fee:d,ctVersion:l,gasPrice:i},type:Se.gaAttach}).encodedTx,contractId:Qt(t,h)}},payingForTx:async function(e){let{tx:t,payerId:n,...r}=e;const a={tx:Er(t),payerId:n},{fee:o,nonce:s}=await this.prepareTxParams(Se.payingFor,{...a,...r,senderId:n});return Ar({...a,...r,fee:o,nonce:s},Se.payingFor).tx},getAccountNonce:async function(e,t){if(t)return t;const{nonce:n}=await this.api.getAccountByPubkey(e).catch((()=>({nonce:0})));return n+1},getVmVersion:function(e){let{vmVersion:t,abiVersion:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{consensusProtocolVersion:r}=this.getNodeInfo(),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}}}}),La=Wa,Ga=new WeakMap,Qa=Na.compose({init(e){let{keypair:t,gaId:n}=e;if(this.isGa=!!n,n){if(!wn(n))throw new Error("Invalid GA address");return void Ga.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&&!E(t.secretKey))throw new Error("Secret key must be hex string or Buffer");const r=Buffer.from(Zt(t.publicKey,"ak"));if(!Fn(Buffer.from(t.secretKey,"hex"),r))throw new Error("Invalid Key Pair");Ga.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(Pn(e,Ga.get(this).secretKey))},address(){return Promise.resolve(Ga.get(this).publicKey)}}}),Ya=Na.compose(ia,{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(Zt(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(Zt(e,"ak"),!this.accounts[e])throw new Error(`Account for ${e} not available`);return this.accounts[e];case"object":return Sa(e)?e:Qa({keypair:e});default:throw new Error(`Unknown account type: ${typeof e} (account: ${e})`)}}}}),za=Pa.compose({methods:{aensQuery:async function(e){var t=this;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};cn(e);const r=await this.getName(e);return Object.freeze(Object.assign(r,{pointers:r.pointers||[],update:async function(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],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 a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:te,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!a||"number"!=typeof a||a>te)throw new Error("Ttl must be an number and less then 180000 blocks");return{...await t.aensUpdate(e,r.pointers.map((e=>e.id)),{...n,...o,nameTtl:a}),...await t.aensQuery(e)}}}))},aensPreclaim:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};cn(e);const n={...this.Ae.defaults,...t},r=xn(),a=await this.height(),o=Jt(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){cn(e);const r={...this.Ae.defaults,...n},a=hn(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:en(e,"nm")}),s=await this.send(o,r);if(!mn(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]:{extendPointers:!1};cn(e);const r={...this.Ae.defaults,...n};if(!un(t))throw new Error("Invalid pointers array");t=[...n.extendPointers?(await this.getName(e)).pointers:[],...t.map((e=>Object.fromEntries([["id",e],["key",dn(e)]])))].reduce(((e,t)=>[...e.filter((e=>e.key!==t.key)),t]),[]);const a=await this.nameUpdateTx({...r,nameId:Xt(e),accountId:await this.address(r),pointers:t});return this.send(a,r)},aensTransfer:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};cn(e);const r={...this.Ae.defaults,...n},a=await this.nameTransferTx({...r,nameId:Xt(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]:{};cn(e);const n={...this.Ae.defaults,...t},r=await this.nameRevokeTx({...n,nameId:Xt(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]:oe,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.aensClaim(e,0,{...n,nameFee:t,vsn:2})}},deepProps:{Ae:{defaults:{clientTtl:ae,nameTtl:te,nameFee:oe}}}}),Xa=za,Ja=Lr()((0,Gr.required)({methods:{contractEncodeCallDataAPI:Gr.required,compileContractAPI:Gr.required,contractGetACI:Gr.required,setCompilerUrl:Gr.required,getCompilerVersion:Gr.required,contractDecodeCallResultAPI:Gr.required,validateByteCodeAPI:Gr.required,getFateAssembler:Gr.required,getBytecodeCompilerVersion:Gr.required}})),Za=ia.compose(Ja,{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 Ia(`${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&&!Ca(this.compilerVersion,eo,to))throw new Error(`Unsupported compiler version ${this.compilerVersion}. Supported: >= ${eo} < ${to}`)},_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}}),eo="6.0.0",to="7.0.0";var no=I(2478),ro=I.n(no),ao=I(2892),oo=I.n(ao),so=I(5206),io=I.n(so),co=I(590);function lo(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(io()(["state","type_defs","name"]))],event:e.event?e.event.variant:[]}}const uo=Pa.compose(Ja,{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,"ct",{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:oo()(null,ro()("interface",r)),aci:oo()(null,Xr()(["encoded_aci","contract"],r)),calldata:new co.Encoder([r.encoded_aci,...r.external_encoded_aci]),externalAci:r.external_encoded_aci?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:Ha({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=Zt(r).toString();break;default:throw new Error(`Unknown returnType: ${n}`)}throw new Error("Invocation failed"+(t?`: "${t}"`:""))};return c.deploy=async function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1?arguments[1]:void 0;const r={...c.options,...n,deposit:Y};if(c.bytecode||await c.compile(r),r.callStatic)return c.call("init",t,r);if(c.deployInfo.address)throw new Error("Contract already deployed");const 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=lo(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(x()(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 ee.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:Ha({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 Sr(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")?[Zt(await this.address(t))]:[],...e.map((e=>Zt(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?[Xt(n)]:[],t],r)},createOracleDelegationSignature:async function(e){let{contractId:t,queryId:n}=e,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.delegateSignatureCommon([...n?[n]:[],t],r)}},deepProps:{Ae:{defaults:{deposit:Y,gasPrice:J,amount:z,gas:X}}}}),ho=uo.compose(qa).compose(Za),po=ho,fo=e=>async(t,n)=>{if("object"!=typeof t)throw new Error("AuthData must be an object");if(t.gas&&x()(t.gas).gt(Z))throw new Error(`the maximum gas value for ga authFun is ${Z}, got ${t.gas}`);const r=t.gas||Z;if(t.callData){if("cb"!==t.callData.split("_")[0])throw new Error('Auth data must be a string with "cb" prefix.');return{authCallData:t.callData,gas:r}}if(!t.source||!t.args)throw new Error("Auth data must contain source code and arguments.");return{authCallData:await e.contractEncodeCallDataAPI(t.source,n,t.args),gas:r}},mo=uo.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:D(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 fo(this)(t,n),s={...this.Ae.defaults,...r},{abiVersion:i}=await this.getVmVersion(Se.contractCall),c=yo(Er(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(Se.gaMeta,l),{rlpEncoded:u}=Ar({...l,fee:`${d}`},Se.gaMeta,{vsn:2});return yo(u).tx},isGA:async function(e){const{contractId:t}=await this.getAccount(e);return!!t}}}),go=mo,yo=e=>Ar({encodedTx:e,signatures:[]},Se.signed),wo=e=>Object.fromEntries(e.map((e=>[e,e]))),bo=1,vo=wo(["to_waellet","to_aepp"]),xo=wo(["window","extension"]),To=wo(["readyToConnect","closeConnection","updateNetwork","updateAddress"]),Io=wo(["connect","subscribeAddress","sign","address","signMessage"]),Co=wo(["current","connected"]),Ao=wo(["subscribe","unsubscribe"]),Eo={wallet:{[To.readyToConnect]:"connection.announcePresence",[To.updateAddress]:"address.update"},aepp:{[Io.address]:"address.get",[Io.connect]:"connection.open",[Io.sign]:"transaction.sign",[Io.signMessage]:"message.sign",[Io.subscribeAddress]:"address.subscribe"},[To.updateNetwork]:"networkId.update",[To.closeConnection]:"connection.close"},_o={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"},ko={broadcastFailed:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:3,data:e,message:"Broadcast failed"}},invalidTransaction:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:2,data:e,message:"Invalid transaction"}},rejectedByUser:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:4,data:e,message:"Operation rejected by user"}},connectionDeny:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:9,data:e,message:"Wallet deny your connection request"}},permissionDeny: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"}}},Oo=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{}},So=()=>window!==window.parent,No=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}},Bo=function(e,t){let{debug:n=!1}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=e[t.method];return r&&"function"==typeof r?r:(n&&console.log(`Unknown message method ${t.method}`),()=>async()=>!0)},Po=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{method:e,params:t}},jo=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}}},Mo=e=>(t,n,r)=>e.sendMessage(jo(t,n,r),!0),Ro=()=>{},qo=e=>3===["","connected","current"].filter((t=>"object"==typeof(t?e[t]:e))).length,Vo=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||!Sa(n.onAccount))throw new Error("Provided onAccount should be an AccountBase");t=n.onAccount}return t},Fo=Lr()({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=No(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===_o.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=_o.DISCONNECTED,this.addressSubscription=[],this.accounts={},e||this.connection.disconnect()},setAccounts(e){let{forceNotification:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!qo(e))throw new Error("Invalid accounts object. Should be object like: `{ connected: {}, selected: {} }`");this.accounts=e,t||this.sendMessage(Po(Eo.wallet.updateAddress,this.accounts),!0)},updateSubscription(e,t){return e!==Ao.subscribe||this.addressSubscription.includes(t)||this.addressSubscription.push(t),e===Ao.unsubscribe&&this.addressSubscription.includes(t)&&(this.addressSubscription=this.addressSubscription.filter((e=>e!==t))),this.addressSubscription},request(e,t){const n=this.sendMessage(Po(e,t));if(Object.prototype.hasOwnProperty.call(this.callbacks,n))throw new 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]}}}),$o={[Eo.wallet.updateAddress]:e=>t=>{let{params:n}=t;e.rpcClient.accounts=n,e.onAddressChange(n)},[Eo.updateNetwork]:e=>t=>{e.rpcClient.info.networkId=t.params.networkId,e.onNetworkChange(t.params)},[Eo.closeConnection]:e=>t=>{e.disconnectWallet(),e.onDisconnect(t.params)}},Do={[Eo.aepp.address]:e=>t=>e.rpcClient.processResponse(t),[Eo.aepp.connect]:e=>t=>{t.result&&(e.rpcClient.info.status=_o.CONNECTED),e.rpcClient.processResponse(t)},[Eo.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]}))},[Eo.aepp.sign]:e=>t=>{e.rpcClient.processResponse(t,(e=>{let{id:t,result:n}=e;return[n.signedTransaction||n.transactionHash]}))},[Eo.aepp.signMessage]:e=>t=>{e.rpcClient.processResponse(t,(e=>{let{id:t,result:n}=e;return[n.signature]}))}},Uo={},Ho=Pa.compose({async init(e){let{name:t,onAddressChange:n=Ro,onDisconnect:r=Ro,onNetworkChange:a=Ro,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=Fo({connection:e,networkId:this.getNetworkId({force:!0}),...e.connectionInfo,id:(0,Un.v4)(),handlers:[(t=this,async e=>e.id?Object.prototype.hasOwnProperty.call(t.rpcClient.callbacks,e.id)?Bo(Do,e,{debug:t.debug})(t)(e):Bo(Uo,e,{debug:t.debug})(t)(e):Bo($o,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(Po(Eo.closeConnection,{reason:"bye"}),!0),this.rpcClient.disconnect(),this.rpcClient=null},async address(){let{onAccount:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!this.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(Eo.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(Eo.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(Eo.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(Eo.aepp.signMessage,{...t,message:e})},async sendConnectRequest(){return this.rpcClient.request(Eo.aepp.connect,{name:this.name,version:bo,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(Eo.aepp.sign,{onAccount:n.onAccount,tx:e,returnSigned:!1,networkId:this.getNetworkId()})}}}),Ko=Pa.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=Yt(o,Er(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 ga(r);const{response:n}=await this.api.getOracleQueryByPubkeyAndQueryId(e,t),o=Zt(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:Cn(n.query.slice(3)).toString(),decodedResponse:Cn(n.response.slice(3)).toString(),respond:this.respondToQuery.bind(this,e,t),pollForResponse:this.pollForQueryResponse.bind(this,e,t),decode:e=>Cn(e.slice(3))}}},deepProps:{Ae:{defaults:{queryFee:W,oracleTtl:L,queryTtl:G,responseTtl:Q}}}}),Wo=Ko,Lo=Pa.compose(La,Wo,ho,Xa,Fa,Ho),Go={[Eo.closeConnection]:(e,t)=>{let{client:n}=t;return async t=>{n.disconnect(!0),e.onDisconnect(t.params,n)}}},Qo={},Yo={[Eo.aepp.connect](e,t,n,r){let{name:a,networkId:o,version:s,icons:i}=r;return s!==bo?{error:ko.unsupportedProtocol()}:(n.updateInfo({status:_o.WAITING_FOR_CONNECTION_APPROVE,name:a,networkId:o,icons:i,version:s}),e("onConnection",{name:a,networkId:o,version:s},(()=>(n.updateInfo({status:_o.CONNECTED}),{result:t.getWalletInfo()})),(e=>(n.updateInfo({status:_o.CONNECTION_REJECTED}),{error:ko.connectionDeny(e)}))))},[Eo.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(!qo(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:ko.internalError({msg:e.message})}}}),(e=>({error:ko.rejectedByUser(e)}))):{error:ko.notAuthorize()}},[Eo.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:ko.rejectedByUser(e)}))):{error:ko.notAuthorize()},[Eo.aepp.sign](e,t,n,r){let{tx:a,onAccount:o,networkId:s,returnSigned:i=!1}=r;const 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:Ha.fromString(a)},(async function(e){let n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{n=Vo(t.addresses(),c,r)}catch(e){return t.debug&&console.error(e),{error:ko.internalError({msg:e.message})}}try{return{result:i?{signedTransaction:await t.signTransaction(e||a,{onAccount:n})}:{transactionHash:await t.send(e||a,{onAccount:n,verify:!1})}}}catch(n){if(!i){const r=await Ra(e||a,t.selectedNode.instance);return r.length?{error:ko.invalidTransaction(r)}:{error:ko.broadcastFailed(n.message)}}throw n}}),(e=>({error:ko.rejectedByUser(e)}))):{error:ko.unsupportedNetwork()}:{error:ko.permissionDeny({account:c})}:{error:ko.notAuthorize()}},[Eo.aepp.signMessage](e,t,n,r){let{message:a,onAccount:o}=r;if(!n.isConnected())return{error:ko.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=Vo(t.addresses(),s,e);return{result:{signature:await t.signMessage(a,{onAccount:n,returnHex:!0})}}}catch(e){return t.debug&&console.error(e),{error:ko.internalError({msg:e.message})}}}),(e=>({error:ko.rejectedByUser(e)}))):{error:ko.permissionDeny({account:s})}}},zo=(e,t)=>async(n,r)=>{const a=e.rpcClients[t];if(!n.id)return Bo(Go,n,{debug:e.debug})(e,{client:a})(n,r);if(Object.prototype.hasOwnProperty.call(a.callbacks,n.id))return Bo(Qo,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=Bo(Yo,n,{debug:e.debug})(s,e,a,n.params),c="function"==typeof i?await i():i;Mo(a)(t,o,c)}},Xo=Pa.compose(Ya,{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,Un.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(Po(Eo.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,Un.v4)();return this.rpcClients[t]=Fo({id:t,info:{status:_o.WAITING_FOR_CONNECTION_REQUEST},connection:e,handlers:[zo(this,t),this.onDisconnect]}),t},shareWalletInfo(e){e({jsonrpc:"2.0",...Po(Eo.wallet.readyToConnect,this.getWalletInfo())})},getWalletInfo(){const e=Oo(!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?xo.extension:xo.window}},getAccounts(){return{current:this.selectedAddress?{[this.selectedAddress]:{}}:{},connected:this.addresses().filter((e=>e!==this.selectedAddress)).reduce(((e,t)=>({...e,[t]:{}})),{})}}}}),Jo=Pa.compose(Xo,La,po,Wo,Xa,go,Fa);var Zo=I(3752),es=I(3205);const 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,hs=new WeakMap,ps=new WeakMap,fs=new WeakMap,ms=new WeakMap,gs=new WeakMap;function ys(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];ss.get(e).emit(...n)}function ws(e,t){if(!t)throw new Error("State Channels FSM entered unknown state");as.set(e,t),t.handler.enter&&t.handler.enter(e),Is(e)}function bs(e,t){t!==ns.get(e)&&(ns.set(e,t),ys(e,"statusChanged",t))}function vs(e,t){rs.set(e,t),ys(e,"stateChanged",t)}function xs(e,t){const{debug:n=!1}=ts.get(e);n&&console.log("Send message: ",t),os.get(e).send(ma.stringify(t))}function Ts(e,t,n){ls.set(e,[...ls.get(e)||[],{guard:t,action:n}]),Is(e)}async function Is(e){const t=ds.get(e),n=ls.get(e)||[];if(t||!n.length)return;const r=as.get(e),a=n.findIndex((t=>t.guard(e,r)));if(-1===a)return;ls.set(e,n.filter(((e,t)=>a!==t))),ds.set(e,!0);const o=await Promise.resolve(n[a].action(e,r));ds.set(e,!1),ws(e,o)}async function Cs(e){const t=is.get(e);if(cs.get(e)||!t.length)return;const[n,...r]=t;is.set(e,r||[]),cs.set(e,!0),await async function(e,t){const{handler:n,state:r}=as.get(e);ws(e,await Promise.resolve(n(e,t,r)))}(e,n),cs.set(e,!1),Cs(e)}function As(e){clearTimeout(fs.get(e)),clearTimeout(ms.get(e)),fs.set(e,setTimeout((()=>{xs(e,{jsonrpc:"2.0",method:"channels.system",params:{action:"ping"}}),ms.set(e,setTimeout((()=>{_s(e),ys(e,"error",new Error("Server pong timed out"))}),5e3))}),1e4))}function Es(e,t,n){return new Promise(((r,a)=>{const o=us.set(e,us.get(e)+1).get(e);ps.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)),xs(e,{jsonrpc:"2.0",method:t,id:o,params:n})}))}function _s(e){os.get(e).close(),clearTimeout(fs.get(e)),clearTimeout(ms.get(e))}async function ks(e,t){let{url:n,...r}=t;ts.set(e,r),as.set(e,{handler:r.existingFsmId?Ps:Bs}),ss.set(e,new es.EventEmitter),us.set(e,0),ps.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(A(t),n)})),a.searchParams.set("protocol","json-rpc"),bs(e,"connecting");const o=new Zo.w3cwebsocket(a.toString());await new Promise(((t,n)=>Object.assign(o,{onerror:n,onopen:()=>{t(),bs(e,"connected"),r.reconnectTx&&(ws(e,{handler:Fs}),setTimeout((async()=>vs(e,(await Es(e,"channels.get.offchain_state",{})).signed_tx)))),As(e)},onclose:()=>{bs(e,"disconnected"),clearTimeout(fs.get(e)),clearTimeout(ms.get(e))},onmessage:t=>{let{data:n}=t;return function(e,t){const n=ma.parse(t),{debug:r=!1}=ts.get(e);if(r&&console.log("Receive message: ",n),n.id){const t=ps.get(e).get(n.id);try{t(n)}finally{ps.get(e).delete(n.id)}}else"channels.message"===n.method?ys(e,"message",n.params.data.message):"channels.system.pong"===n.method?n.params.channel_id!==hs.get(e)&&null!=hs.get(e)||As(e):(is.set(e,[...is.get(e)||[],n]),Cs(e))}(e,n)}}))),os.set(e,o)}function Os(e){return`tx_${Tn(e)}`}async function Ss(e,t){const{signatures:n,encodedTx:r}=Er(e).tx,a=await t(Os(r.rlpEncoded));if("string"==typeof a){const{tx:e,txType:t}=Er(a);return Os(Ar({signatures:n.concat(e.signatures),encodedTx:e.encodedTx.rlpEncoded},t).rlpEncoded)}return a}function Ns(e,t,n){return n&&n.reject&&n.reject(Object.assign(new Error(`Unexpected message received:\n\n${JSON.stringify(t)}`),{wsMessage:t})),{handler:Fs}}function Bs(e,t,n){return"channels.info"===t.method?["channel_accept","funding_created"].includes(t.params.data.event)?(bs(e,{channel_accept:"accepted",funding_created:"halfSigned"}[t.params.data.event]),{handler:js}):"channel_reestablished"===t.params.data.event?{handler:qs}:"fsm_up"===t.params.data.event?(gs.set(e,t.params.data.fsm_id),{handler:Bs}):{handler:Bs}:"channels.error"===t.method?(ys(e,"error",new Error(t.payload.message)),{handler:ai}):void 0}async function Ps(e,t,n){return"channels.info"===t.method&&"fsm_up"===t.params.data.event?(gs.set(e,t.params.data.fsm_id),vs(e,(await Es(e,"channels.get.offchain_state",{})).signed_tx),{handler:Fs}):Ns(0,t,n)}async function js(e,t,n){const r={initiator:"initiator_sign",responder:"responder_sign"}[ts.get(e).role];if(t.method===`channels.sign.${r}`){if(t.params.data.tx){const n=await ts.get(e).sign(r,t.params.data.tx);return xs(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{tx:n}}),{handler:Ms}}const n=await Ss(t.params.data.signed_tx,(t=>ts.get(e).sign(r,t)));return xs(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{signed_tx:n}}),{handler:Ms}}}function Ms(e,t,n){if("channels.on_chain_tx"===t.method){if("funding_signed"===t.params.data.info&&"initiator"===ts.get(e).role)return{handler:Rs};if("funding_created"===t.params.data.info&&"responder"===ts.get(e).role)return{handler:Rs}}if("channels.info"===t.method&&"funding_signed"===t.params.data.event&&"initiator"===ts.get(e).role)return hs.set(e,t.params.channel_id),bs(e,"signed"),{handler:Ms}}function Rs(e,t,n){if("channels.info"===t.method){const e={funding_created:Rs,own_funding_locked:Rs,funding_locked:qs}[t.params.data.event];if(e)return{handler:e}}if("channels.on_chain_tx"===t.method)return ys(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),{handler:Rs}}function qs(e,t,n){if("channels.info"===t.method&&"open"===t.params.data.event)return hs.set(e,t.params.channel_id),{handler:Vs}}function Vs(e,t,n){if("channels.update"===t.method)return vs(e,t.params.data.state),{handler:Fs}}async function Fs(e,t,n){switch(t.method){case"channels.info":switch(t.params.data.event){case"update":case"withdraw_created":case"deposit_created":return{handler:Us};case"own_withdraw_locked":case"withdraw_locked":case"own_deposit_locked":case"deposit_locked":case"peer_disconnected":case"channel_reestablished":case"open":return ys(e,t.params.data.event),{handler:Fs};case"fsm_up":return gs.set(e,t.params.data.fsm_id),{handler:Fs};case"timeout":case"close_mutual":case"shutdown":return{handler:Fs};case"closing":return bs(e,"closing"),{handler:Fs};case"closed_confirmed":return bs(e,"closed"),{handler:ai};case"died":return bs(e,"died"),{handler:ai}}break;case"channels.on_chain_tx":return ys(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),{handler:Fs};case"channels.leave":return{handler:Fs};case"channels.update":return vs(e,t.params.data.state),{handler:Fs};case"channels.sign.shutdown_sign_ack":return Us(e,t,n)}}async function $s(e,t,n){if("channels.sign.update"===t.method){const{sign:r}=n;if(t.params.data.tx)return xs(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:Ds,state:n};const a=await Ss(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return xs(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:a}}),{handler:Ds,state:n};if("number"==typeof a)return xs(e,{jsonrpc:"2.0",method:"channels.update",params:{error:a}}),{handler:$s,state:n}}if("channels.error"===t.method)return n.reject(new Error(t.data.message)),{handler:Fs};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:Fs}}return"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Fs}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Fs}):Ns(0,t,n)}function Ds(e,t,n){return"channels.update"===t.method?(vs(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Fs}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Fs}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Fs}):t.error?(n.reject(new Error(t.error.message)),{handler:Fs}):Ns(0,t,n)}async function Us(e,t,n){const[,r]=t.method.match(/^channels\.sign\.([^.]+)$/)||[];if(r){if(t.params.data.tx){const n=await ts.get(e).sign(r,t.params.data.tx,{updates:t.params.data.updates});if(n)return xs(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{tx:n}}),{handler:Fs}}else{const a=await Ss(t.params.data.signed_tx,(n=>ts.get(e).sign(r,n,{updates:t.params.data.updates})));if("string"==typeof a)return xs(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{signed_tx:a}}),{handler:Fs};if("number"==typeof a)return xs(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{error:a}}),{handler:Hs,state:n}}return xs(e,{jsonrpc:"2.0",method:"channels.update.new",params:{from:Sn().publicKey,to:Sn().publicKey,amount:1}}),{handler:Hs,state:n}}return Ns(0,t,n)}function Hs(e,t,n){return t.error?{handler:Hs,state:n}:"channels.conflict"===t.method?{handler:Fs}:Ns(0,t,n)}async function Ks(e,t,n){if("channels.sign.shutdown_sign"===t.method){if(t.params.data.tx)return xs(e,{jsonrpc:"2.0",method:"channels.shutdown_sign",params:{tx:await n.sign(t.params.data.tx)}}),{handler:Ws,state:n};const r=await Ss(t.params.data.signed_tx,(e=>n.sign(e)));return xs(e,{jsonrpc:"2.0",method:"channels.shutdown_sign",params:{signed_tx:r}}),{handler:Ws,state:n}}return Ns(0,t,n)}function Ws(e,t,n){return"channels.on_chain_tx"===t.method?{handler:ai,state:n}:Ns(0,t,n)}function Ls(e,t,n){return"channels.leave"===t.method?(n.resolve({channelId:t.params.channel_id,signedTx:t.params.data.state}),_s(e),{handler:ai}):"channels.error"===t.method?(n.reject(new Error(t.data.message)),{handler:Fs}):Ns(0,t,n)}async function Gs(e,t,n){if("channels.sign.withdraw_tx"===t.method){const{sign:r}=n;if(t.params.data.tx)return xs(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:Qs,state:n};const a=await Ss(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return xs(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{signed_tx:a}}),{handler:Qs,state:n};if("number"==typeof a)return xs(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{error:a}}),{handler:Qs,state:n}}return Ns(0,t,n)}function Qs(e,t,n){if("channels.on_chain_tx"===t.method)return n.onOnChainTx&&n.onOnChainTx(t.params.data.tx),{handler:Qs,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:Qs,state:n}}return"channels.update"===t.method?(vs(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Fs}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Fs}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Fs}):Ns(0,t,n)}async function Ys(e,t,n){if("channels.sign.deposit_tx"===t.method){const{sign:r}=n;if(t.params.data.tx)return xs(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:zs,state:n};const a=await Ss(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return xs(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{signed_tx:a}}),{handler:zs,state:n};if("number"==typeof a)return xs(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{error:a}}),{handler:zs,state:n}}return Ns(0,t,n)}function zs(e,t,n){if("channels.on_chain_tx"===t.method)return n.onOnChainTx&&n.onOnChainTx(t.params.data.tx),{handler:zs,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:zs,state:n}}return"channels.update"===t.method?(vs(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Fs}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Fs}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Fs}):Ns(0,t,n)}async function Xs(e,t,n){if("channels.sign.update"===t.method){if(t.params.data.tx)return xs(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await n.sign(t.params.data.tx)}}),{handler:Js,state:n};const r=await Ss(t.params.data.signed_tx,(e=>n.sign(e)));if("string"==typeof r)return xs(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:r}}),{handler:Js,state:n};if("number"==typeof r)return xs(e,{jsonrpc:"2.0",method:"channels.update",params:{error:r}}),{handler:Js,state:n}}return Ns(0,t,n)}function Js(e,t,n){if("channels.update"===t.method){const{round:r}=Er(t.params.data.state).tx.encodedTx.tx,a=ts.get(e)[{initiator:"initiatorId",responder:"responderId"}[ts.get(e).role]];return vs(e,t.params.data.state),n.resolve({accepted:!0,address:kn(a,r),signedTx:t.params.data.state}),{handler:Fs}}return"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Fs}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Fs}):Ns(0,t,n)}async function Zs(e,t,n){if("channels.sign.update"===t.method){if(t.params.data.tx)return xs(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await n.sign(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:ni,state:n};const r=await Ss(t.params.data.signed_tx,(e=>n.sign(e,{updates:t.params.data.updates})));if("string"==typeof r)return xs(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:r}}),{handler:ni,state:n};if("number"==typeof r)return xs(e,{jsonrpc:"2.0",method:"channels.update",params:{error:r}}),{handler:ni,state:n}}return Ns(0,t,n)}async function ei(e,t,n){if("channels.sign.force_progress_tx"===t.method){const r=await Ss(t.params.data.signed_tx,(e=>n.sign(e,{updates:t.params.data.updates})));return xs(e,{jsonrpc:"2.0",method:"channels.force_progress_sign",params:{signed_tx:r}}),{handler:ti,state:n}}return Ns(0,t,n)}function ti(e,t,n){return"channels.on_chain_tx"===t.method&&(n.onOnChainTx&&n.onOnChainTx(t.params.data),ys(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})),Ns(0,t,n)}function ni(e,t,n){return"channels.update"===t.method?(vs(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Fs}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Fs}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Fs}):Ns(0,t,n)}function ri(e,t,n){return"channels.calls_pruned.reply"===t.method?(n.resolve(),{handler:Fs}):(n.reject(new Error("Unexpected message received")),{handler:ai})}function ai(e,t,n){return n?"closing"===t.params.data.event?{handler:ai,state:n}:"channel_closed"===t.params.data.info?(n.closeTx=t.params.data.tx,{handler:ai,state:n}):"closed_confirmed"===t.params.data.event?(n.resolve(n.closeTx),{handler:ai}):{handler:ai,state:n}:{handler:ai}}function oi(e){return Object.entries(e).reduce(((e,t)=>{let[n,r]=t;return{...e,[T(n)]:r}}),{})}Fs.enter=e=>{bs(e,"open")};const si=ia.compose({async init(e){ks(this,e)},methods:{on:function(e,t){ss.get(this).on(e,t)},off:function(e,t){ss.get(this).removeListener(e,t)},status:function(){return ns.get(this)},state:async function(){return oi(await Es(this,"channels.get.offchain_state",{}))},round:function(){if(!rs.get(this))return null;const{txType:e,tx:t}=Er(rs.get(this)).tx.encodedTx;switch(e){case Se.channelCreate:return 1;case Se.channelOffChain:case Se.channelWithdraw:case Se.channelDeposit:return parseInt(t.round,10);default:return null}},id:function(){return hs.get(this)},fsmId:function(){return gs.get(this)},update:function(e,t,n,r,a){return new Promise(((o,s)=>{Ts(this,((e,t)=>t.handler===Fs),((i,c)=>(xs(i,{jsonrpc:"2.0",method:"channels.update.new",params:{from:e,to:t,amount:n,meta:a}}),{handler:$s,state:{resolve:o,reject:s,sign:r}})))}))},poi:async function(e){let{accounts:t,contracts:n}=e;return(await Es(this,"channels.get.poi",{accounts:t,contracts:n})).poi},balances:async function(e){return Object.fromEntries((await Es(this,"channels.get.balances",{accounts:e})).map((e=>[e.account,e.balance])))},leave:function(){return new Promise(((e,t)=>{Ts(this,((e,t)=>t.handler===Fs),((n,r)=>(xs(n,{jsonrpc:"2.0",method:"channels.leave",params:{}}),{handler:Ls,state:{resolve:e,reject:t}})))}))},shutdown:function(e){return new Promise(((t,n)=>{Ts(this,((e,t)=>t.handler===Fs),((r,a)=>(xs(r,{jsonrpc:"2.0",method:"channels.shutdown",params:{}}),{handler:Ks,state:{sign:e,resolve:t,reject:n}})))}))},sendMessage:function(e,t){let n=e;"object"==typeof e&&(n=JSON.stringify(e));const r=e=>xs(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)=>{Ts(this,((e,t)=>t.handler===Fs),((i,c)=>(xs(i,{jsonrpc:"2.0",method:"channels.withdraw",params:{amount:e}}),{handler:Gs,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)=>{Ts(this,((e,t)=>t.handler===Fs),((i,c)=>(xs(i,{jsonrpc:"2.0",method:"channels.deposit",params:{amount:e}}),{handler:Ys,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)=>{Ts(this,((e,t)=>t.handler===Fs),((c,l)=>(xs(c,{jsonrpc:"2.0",method:"channels.update.new_contract",params:{code:n,call_data:r,deposit:a,vm_version:o,abi_version:s}}),{handler:Xs,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)=>{Ts(this,((e,t)=>t.handler===Fs),((i,c)=>(xs(i,{jsonrpc:"2.0",method:"channels.update.call_contract",params:{amount:n,call_data:r,contract_id:a,abi_version:o}}),{handler:Zs,state:{resolve:e,reject:s,sign:t}})))}))},callContractStatic:async function(e){let{amount:t,callData:n,contract:r,abiVersion:a}=e;return oi(await Es(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 oi(await Es(this,"channels.get.contract_call",{caller_id:t,contract_id:n,round:r}))},getContractState:async function(e){const t=await Es(this,"channels.get.contract",{pubkey:e});return oi({...t,contract:oi(t.contract)})},disconnect:function(){return _s(this)},cleanContractCalls:function(){return new Promise(((e,t)=>{Ts(this,((e,t)=>t.handler===Fs),((n,r)=>(xs(n,{jsonrpc:"2.0",method:"channels.clean_contract_calls",params:{}}),{handler:ri,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)=>{Ts(this,((e,t)=>t.handler===Fs),((d,u)=>(xs(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:ei,state:{resolve:e,reject:c,sign:t,onOnChainTx:l}})))}))}},statics:{reconnect:async function(e,t){const{sign:n}=e;return si({...e,reconnectTx:await n("reconnect",Ar(t,Se.channelReconnect).tx)})}}}),ii=si,ci=Pa.compose(Ya,Fa,La,Xa,po,Wo,go),li=Lr()({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()}}}),di=(0,Gr.required)({methods:{connect:Gr.required,disconnect:Gr.required,sendMessage:Gr.required,isConnected:Gr.required}}),ui=()=>{const e="object"==typeof Oo(!0).extension,t=window&&window.location&&window.location.protocol.startsWith("http");return e&&t?window:So()?window.parent:void 0},hi=Lr()({init(){let{connectionInfo:e={},target:t=ui(),self:n=window,origin:r,sendDirection:a,receiveDirection:o=vo.to_aepp,debug:s=!1,forceOrigin:i=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(a&&!Object.keys(vo).includes(a))throw new Error(`sendDirection must be one of [${Object.keys(vo)}]`);if(!Object.keys(vo).includes(o))throw new Error(`receiveDirection must be one of [${Object.keys(vo)}]`);this.connectionInfo={id:(0,Un.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}}},di),pi=Lr()({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||hi({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!==Eo.wallet.readyToConnect||t[s.id])return;const i={...s,async getConnection(){const e="extension"===this.type,t=e?window.origin:this.origin;return hi({connectionInfo:this,sendDirection:e?vo.to_waellet:void 0,receiveDirection:e?vo.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()}}}),fi=Lr()({init(e){let{connectionInfo:t={},port:n,debug:r=!1}=e;if(!Oo().runtime)throw new Error("Runtime is not accessible in your environment");this.debug=r,this.connectionInfo=t,this.port=n||Oo().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)}}},di)})(),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("@aeternity/blakejs"),require("sha.js"),require("rlp"),require("swagger-client"),require("cross-fetch"),require("@aeternity/json-bigint"),require("@aeternity/aepp-calldata"),require("websocket"),require("events"),require("@aeternity/argon2-browser/dist/argon2-bundled.min.js"),require("tweetnacl-auth"),require("bip32-path")):"function"==typeof define&&define.amd?define(["@stamp/it","@aeternity/uuid","@stamp/required","bignumber.js","bs58","tweetnacl","aes-js","@aeternity/blakejs","sha.js","rlp","swagger-client","cross-fetch","@aeternity/json-bigint","@aeternity/aepp-calldata","websocket","events","@aeternity/argon2-browser/dist/argon2-bundled.min.js","tweetnacl-auth","bip32-path"],t):"object"==typeof exports?exports.Ae=t(require("@stamp/it"),require("@aeternity/uuid"),require("@stamp/required"),require("bignumber.js"),require("bs58"),require("tweetnacl"),require("aes-js"),require("@aeternity/blakejs"),require("sha.js"),require("rlp"),require("swagger-client"),require("cross-fetch"),require("@aeternity/json-bigint"),require("@aeternity/aepp-calldata"),require("websocket"),require("events"),require("@aeternity/argon2-browser/dist/argon2-bundled.min.js"),require("tweetnacl-auth"),require("bip32-path")):e.Ae=t(e["@stamp/it"],e["@aeternity/uuid"],e["@stamp/required"],e["bignumber.js"],e.bs58,e.tweetnacl,e["aes-js"],e["@aeternity/blakejs"],e["sha.js"],e.rlp,e["swagger-client"],e["cross-fetch"],e["@aeternity/json-bigint"],e["@aeternity/aepp-calldata"],e.websocket,e.events,e["@aeternity/argon2-browser/dist/argon2-bundled.min.js"],e["tweetnacl-auth"],e["bip32-path"])}(global,(function(e,t,n,r,a,s,o,i,c,d,l,u,h,p,f,m,g,y,w){return(()=>{"use strict";var b={946:e=>{e.exports=p},289:e=>{e.exports=g},343:e=>{e.exports=i},911:e=>{e.exports=h},983:e=>{e.exports=t},910:t=>{t.exports=e},180:e=>{e.exports=n},236:e=>{e.exports=o},192:e=>{e.exports=r},986:e=>{e.exports=w},783:e=>{e.exports=a},503:e=>{e.exports=u},735:e=>{e.exports=m},485:e=>{e.exports=d},433:e=>{e.exports=c},659:e=>{e.exports=l},79:e=>{e.exports=s},882:e=>{e.exports=y},397:e=>{e.exports=f}},x={};function v(e){var t=x[e];if(void 0!==t)return t.exports;var n=x[e]={exports:{}};return b[e](n,n.exports,v),n.exports}v.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return v.d(t,{a:t}),t},v.d=(e,t)=>{for(var n in t)v.o(t,n)&&!v.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},v.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),v.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var T={};return(()=>{v.r(T),v.d(T,{AccountBase:()=>Hs,AccountError:()=>y,AccountMultiple:()=>co,Ae:()=>Ws,Aens:()=>uo,AensError:()=>w,AensPointerContextError:()=>Q,AeppError:()=>b,AeppWalletHelpers:()=>d,AeppWalletSchema:()=>c,AlreadyConnectedError:()=>Je,AmbiguousEventDefinitionError:()=>xe,AmountFormatter:()=>r,ArgumentCountMismatchError:()=>S,ArgumentError:()=>O,BaseError:()=>g,BrowserRuntimeConnection:()=>uc,BrowserWindowMessageConnection:()=>dc,BytecodeMismatchError:()=>de,Bytes:()=>e,Chain:()=>Is,ChainNode:()=>Js,Channel:()=>ac,ChannelCallError:()=>re,ChannelConnectionError:()=>ae,ChannelError:()=>x,ChannelPingTimedOutError:()=>se,CompilerError:()=>I,ContentScriptBridge:()=>oc,Contract:()=>go,ContractCompilerHttp:()=>ho,ContractError:()=>C,Crypto:()=>t,CryptographyError:()=>E,DecodeError:()=>Me,DisconnectedError:()=>Pe,DryRunError:()=>Fe,DuplicateCallbackError:()=>X,DuplicateContractError:()=>le,DuplicateNodeError:()=>Be,EncodeError:()=>Re,GeneralizedAccount:()=>bo,HdWallet:()=>i,IllegalArgumentError:()=>N,IllegalBidFeeError:()=>Ve,InactiveContractError:()=>ue,InsufficientBalanceError:()=>P,InsufficientNameFeeError:()=>z,InternalError:()=>W,InvalidAensNameError:()=>Y,InvalidAuthDataError:()=>ce,InvalidChecksumError:()=>ve,InvalidDenominationError:()=>B,InvalidDerivationPathError:()=>Te,InvalidKeyError:()=>Ie,InvalidKeypairError:()=>L,InvalidMethodInvocationError:()=>he,InvalidNameError:()=>j,InvalidPasswordError:()=>Ce,InvalidRpcMessageError:()=>J,InvalidSignatureError:()=>qe,InvalidTxError:()=>$e,InvalidTxParamsError:()=>Ue,Keystore:()=>n,MemoryAccount:()=>io,MerkleTreeHashMismatchError:()=>Ee,MessageDirectionError:()=>Ze,MissingCallbackError:()=>Z,MissingContractAddressError:()=>pe,MissingContractDefError:()=>fe,MissingEventDefinitionError:()=>be,MissingFunctionNameError:()=>me,MissingNodeInTreeError:()=>Ae,MissingParamError:()=>M,NoBrowserFoundError:()=>R,NoDefaultAensPointerError:()=>He,NoSerializerFoundError:()=>D,NoSuchContractFunctionError:()=>ye,NoWalletConnectedError:()=>et,Node:()=>$s,NodeError:()=>A,NodeInvocationError:()=>ge,NodeNotFoundError:()=>je,NodePool:()=>zs,NotHardenedSegmentError:()=>_e,NotImplementedError:()=>H,NotPayableFunctionError:()=>we,Oracle:()=>Uo,PayloadLengthError:()=>De,PrefixMismatchError:()=>Ke,PrefixNotFoundError:()=>We,RequestTimedOutError:()=>F,RpcAepp:()=>Ho,RpcConnectionError:()=>tt,RpcWallet:()=>Yo,SCHEMA:()=>s,SchemaNotFoundError:()=>Le,TagNotFoundError:()=>Ge,Transaction:()=>so,TransactionError:()=>k,Tx:()=>vs,TxBuilder:()=>o,TxBuilderHelper:()=>a,TxNotInChainError:()=>Qe,TxTimedOutError:()=>V,TypeError:()=>q,UnAuthorizedAccountError:()=>ee,UnavailableAccountError:()=>G,UnexpectedChannelMessageError:()=>oe,Universal:()=>sc,UnknownChannelStateError:()=>ie,UnknownNodeLengthError:()=>Oe,UnknownPathNibbleError:()=>Ne,UnknownRpcClientError:()=>te,UnknownTxError:()=>ze,UnsubscribedAccountError:()=>ne,UnsupportedABIversionError:()=>Ye,UnsupportedAlgorithmError:()=>ke,UnsupportedChildIndexError:()=>Se,UnsupportedPlatformError:()=>$,UnsupportedProtocolError:()=>U,UnsupportedVMversionError:()=>Xe,UnsupportedVersionError:()=>K,WalletDetector:()=>lc,WalletError:()=>_,genSwaggerClient:()=>Ms,getDefaultPointerKey:()=>hc,verifyTransaction:()=>Qs});var e={};v.r(e),v.d(e,{bigNumberToByteArray:()=>st,str2buf:()=>it,toBytes:()=>ot});var t={};v.r(t),v.d(t,{decryptKey:()=>Bt,encodeContractAddress:()=>Ot,encodeUnsigned:()=>_t,encryptKey:()=>Pt,generateKeyPair:()=>St,generateKeyPairFromSecret:()=>Nt,getAddressFromPriv:()=>Et,hash:()=>It,isAddressValid:()=>At,isValidKeypair:()=>Vt,messageToHash:()=>Rt,salt:()=>kt,sha256hash:()=>lt,sign:()=>jt,signMessage:()=>Dt,verify:()=>Mt,verifyMessage:()=>Ft});var n={};v.r(n),v.d(n,{deriveKeyUsingArgon2id:()=>Kt,dump:()=>Xt,getAddressFromPriv:()=>zt,recover:()=>Yt,validateKeyObj:()=>Jt});var r={};v.r(r),v.d(r,{AE_AMOUNT_FORMATS:()=>nn,DENOMINATION_MAGNITUDE:()=>rn,default:()=>un,formatAmount:()=>on,toAe:()=>an,toAettos:()=>sn});var a={};v.r(a),v.d(a,{buildContractId:()=>jn,buildPointers:()=>Hn,commitmentHash:()=>Fn,computeAuctionEndBlock:()=>Xn,computeBidFee:()=>Yn,createSalt:()=>Bn,decode:()=>xt,encode:()=>vt,ensureNameValid:()=>Ln,formatSalt:()=>Rn,getDefaultPointerKey:()=>Qn,getMinimumNameFee:()=>zn,isAuctionName:()=>Jn,isNameValid:()=>Gn,oracleQueryId:()=>Mn,produceNameId:()=>Dn,readId:()=>qn,readInt:()=>Un,readPointers:()=>Kn,writeId:()=>Vn,writeInt:()=>$n});var s={};v.r(s),v.d(s,{ABI_VERSIONS:()=>Pr,AMOUNT:()=>dr,BASE_GAS:()=>Dr,CLIENT_TTL:()=>vn,CONTRACT_BYTE_CODE_LIMA:()=>Kr,DEFAULT_FEE:()=>Vr,DRY_RUN_ACCOUNT:()=>pr,FIELD_TYPES:()=>Rr,GAS_MAX:()=>lr,GAS_PER_BYTE:()=>Fr,ID_TAG:()=>Nn,ID_TAG_PREFIX:()=>Pn,KEY_BLOCK_INTERVAL:()=>qr,MAX_AUTH_FUN_GAS:()=>hr,MIN_GAS_PRICE:()=>ur,NAME_BID_MAX_LENGTH:()=>An,NAME_BID_RANGES:()=>_n,NAME_BID_TIMEOUTS:()=>On,NAME_BID_TIMEOUT_BLOCKS:()=>Cn,NAME_FEE_BID_INCREMENT:()=>In,NAME_FEE_MULTIPLIER:()=>Tn,NAME_MAX_CLIENT_TTL:()=>xn,NAME_MAX_LENGTH_FEE:()=>En,NAME_MAX_TTL:()=>bn,NAME_TTL:()=>wn,OBJECT_ID_TX_TYPE:()=>Mr,OBJECT_TAG_SIGNED_TRANSACTION:()=>fr,ORACLE_TTL:()=>or,POINTER_KEY_BY_PREFIX:()=>kn,PREFIX_ID_TAG:()=>Sn,PROTOCOL_VERSIONS:()=>Br,PROTOCOL_VM_ABI:()=>jr,QUERY_FEE:()=>sr,QUERY_TTL:()=>ir,RESPONSE_TTL:()=>cr,TX_DESERIALIZATION_SCHEMA:()=>Fa,TX_FEE_BASE_GAS:()=>$r,TX_FEE_OTHER_GAS:()=>Ur,TX_SERIALIZATION_SCHEMA:()=>Da,TX_TTL:()=>ar,TX_TYPE:()=>Nr,VM_VERSIONS:()=>Sr,VSN:()=>nr,VSN_2:()=>rr});var o={};v.r(o),v.d(o,{buildRawTx:()=>Xa,buildTx:()=>es,buildTxHash:()=>ns,calculateFee:()=>za,calculateMinFee:()=>Ga,default:()=>rs,unpackRawTx:()=>Ja,unpackTx:()=>ts,validateParams:()=>Ya});var i={};v.r(i),v.d(i,{deriveChild:()=>fs,derivePathFromKey:()=>ds,derivePathFromSeed:()=>ls,generateSaveHDWalletFromSeed:()=>ms,getHdWalletAccountFromSeed:()=>ys,getKeyPair:()=>hs,getMasterKeyFromSeed:()=>ps,getSaveHDWalletAccounts:()=>gs});var c={};v.r(c),v.d(c,{ERRORS:()=>ko,MESSAGE_DIRECTION:()=>To,METHODS:()=>Eo,RPC_STATUS:()=>Ao,SUBSCRIPTION_TYPES:()=>Co,VERSION:()=>vo,WALLET_TYPE:()=>Io});var d={};v.r(d),v.d(d,{getBrowserAPI:()=>_o,getHandler:()=>So,isInIframe:()=>Oo,isValidAccounts:()=>Mo,message:()=>Po,responseMessage:()=>Bo,sendMessage:()=>No,sendResponseMessage:()=>jo});var l=v(79),u=v.n(l),h=v(236),p=v.n(h),f=v(192),m=v.n(f);class g extends Error{constructor(e){super(e),this.name="BaseError"}}class y extends g{constructor(e){super(e),this.name="AccountError"}}class w extends g{constructor(e){super(e),this.name="AensError"}}class b extends g{constructor(e){super(e),this.name="AeppError"}}class x extends g{constructor(e){super(e),this.name="ChannelError"}}class I extends g{constructor(e){super(e),this.name="CompilerError"}}class C extends g{constructor(e){super(e),this.name="ContractError"}}class E extends g{constructor(e){super(e),this.name="CryptographyError"}}class A extends g{constructor(e){super(e),this.name="NodeError"}}class k extends g{constructor(e){super(e),this.name="TransactionError"}}class _ extends g{constructor(e){super(e),this.name="WalletError"}}class O extends g{constructor(e,t,n){super(`${e} should be ${t}, got ${n} instead`),this.name="ArgumentError"}}class N extends E{constructor(e){super(e),this.name="IllegalArgumentError"}}class S extends g{constructor(e,t,n){super(`${e} expects ${t} arguments, got ${n} instead`),this.name="ArgumentCountMismatchError"}}class P extends g{constructor(e){super(e),this.name="InsufficientBalanceError"}}class B extends g{constructor(e){super(e),this.name="InvalidDenominationError"}}class j extends g{constructor(e){super(e),this.name="InvalidNameError"}}class M extends g{constructor(e){super(e),this.name="MissingParamError"}}class R extends g{constructor(){super("Browser is not detected"),this.name="NoBrowserFoundError"}}class D extends g{constructor(){super("Byte serialization not supported"),this.name="NoSerializerFoundError"}}class F extends g{constructor(e,t,n){super(void 0!==t&&void 0!==n?`Giving up after ${e}ms, current height: ${t}, desired height: ${n}`:`Giving up after ${e} ms`),this.name="RequestTimedOutError"}}class V extends g{constructor(e,t,n){super([`Giving up after ${e} blocks mined`,`transaction hash: ${t}`,...n?[`status: ${n}`]:[]].join(", ")),this.name="TxTimedOutError"}}class q extends g{constructor(e){super(e),this.name="TypeError"}}class $ extends g{constructor(e){super(e),this.name="UnsupportedPlatformError"}}class U extends g{constructor(e){super(e),this.name="UnsupportedProtocolError"}}class H extends g{constructor(e){super(e),this.name="NotImplementedError"}}class K extends g{constructor(e,t,n,r){super(`Unsupported ${e} version ${t}. Supported: >= ${n} < ${r}`),this.name="UnsupportedVersionError"}}class W extends g{constructor(e){super(e),this.name="InternalError"}}class L extends y{constructor(e){super(e),this.name="InvalidKeypairError"}}class G extends y{constructor(e){super(`Account for ${e} not available`),this.name="UnavailableAccountError"}}class Q extends w{constructor(e,t){super(`Name ${e} don't have pointers for ${t}`),this.name="AensPointerContextError"}}class z extends w{constructor(e,t){super(`the provided fee ${e} is not enough to execute the claim, required: ${t}`),this.name="InsufficientNameFeeError"}}class Y extends w{constructor(e){super(e),this.name="InvalidAensNameError"}}class X extends b{constructor(){super("Callback Already exist"),this.name="DuplicateCallbackError"}}class J extends b{constructor(e){super(`Received invalid message: ${e}`),this.name="InvalidRpcMessageError"}}class Z extends b{constructor(e){super(`Can't find callback for this messageId ${e}`),this.name="MissingCallbackError"}}class ee extends b{constructor(e){super(`You do not have access to account ${e}`),this.name="UnAuthorizedAccountError"}}class te extends b{constructor(e){super(`RpcClient with id ${e} do not exist`),this.name="UnknownRpcClientError"}}class ne extends b{constructor(){super("You are not subscribed for an account."),this.name="UnsubscribedAccountError"}}class re extends x{constructor(e){super(e),this.name="ChannelCallError"}}class ae extends x{constructor(e){super(e),this.name="ChannelConnectionError"}}class se extends x{constructor(){super("Server pong timed out"),this.name="ChannelPingTimedOutError"}}class oe extends x{constructor(e){super(e),this.name="UnexpectedChannelMessageError"}}class ie extends x{constructor(){super("State Channels FSM entered unknown state"),this.name="UnknownChannelStateError"}}class ce extends I{constructor(e){super(e),this.name="InvalidAuthDataError"}}class de extends C{constructor(e){super(`Contract ${e} do not correspond to the bytecode deployed on the chain`),this.name="BytecodeMismatchError"}}class le extends C{constructor(){super("Contract already deployed"),this.name="DuplicateContractError"}}class ue extends C{constructor(e){super(`Contract with address ${e} not active`),this.name="InactiveContractError"}}class he extends C{constructor(e){super(e),this.name="InvalidMethodInvocationError"}}class pe extends C{constructor(e){super(e),this.name="MissingContractAddressError"}}class fe extends C{constructor(){super("Either ACI or source code is required"),this.name="MissingContractDefError"}}class me extends C{constructor(){super("Function name is required"),this.name="MissingFunctionNameError"}}class ge extends C{constructor(e){var t;super("Invocation failed"+(""===(e=null!==(t=e)&&void 0!==t?t:"")?"":`: "${e}"`)),this.name="NodeInvocationError"}}class ye extends C{constructor(e){super(`Function ${e} doesn't exist in contract`),this.name="NoSuchContractFunctionError"}}class we extends C{constructor(e,t){super(`You try to pay "${e}" to function "${t}" which is not payable. Only payable function can accept tokens`),this.name="NotPayableFunctionError"}}class be extends C{constructor(e,t){super(`Can't find definition of ${e} event emitted by ${t} (use omitUnknown option to ignore events like this)`),this.name="MissingEventDefinitionError"}}class xe extends C{constructor(e,t){super(`Found multiple definitions of "${t[0][1]}" event emitted by ${e} in ${t.map((e=>{let[t]=e;return`"${t}"`})).join(", ")} contracts (use contractAddressToName option to specify contract name corresponding to address)`),this.name="AmbiguousEventDefinitionError"}}class ve extends E{constructor(){super("Invalid checksum"),this.name="InvalidChecksumError"}}class Te extends E{constructor(){super("Invalid path"),this.name="InvalidDerivationPathError"}}class Ie extends E{constructor(e){super(e),this.name="InvalidKeyError"}}class Ce extends E{constructor(e){super(e),this.name="InvalidPasswordError"}}class Ee extends E{constructor(){super("Node hash is not equal to provided one"),this.name="MerkleTreeHashMismatchError"}}class Ae extends E{constructor(e){super(e),this.name="MissingNodeInTreeError"}}class ke extends E{constructor(e){super(e+" is not available"),this.name="UnsupportedAlgorithmError"}}class _e extends E{constructor(e){super(e),this.name="NotHardenedSegmentError"}}class Oe extends E{constructor(e){super(`Unknown node length: ${e}`),this.name="UnknownNodeLengthError"}}class Ne extends E{constructor(e){super(`Unknown path nibble: ${e}`),this.name="UnknownPathNibbleError"}}class Se extends E{constructor(e){super(`Child index #${e} is not supported`),this.name="UnsupportedChildIndexError"}}class Pe extends A{constructor(){super("Can not get node info. Node is not connected"),this.name="DisconnectedError"}}class Be extends A{constructor(e){super(`Node with name ${e} already exist`),this.name="DuplicateNodeError"}}class je extends A{constructor(e){super(e),this.name="NodeNotFoundError"}}class Me extends k{constructor(e){super(e),this.name="DecodeError"}}class Re extends k{constructor(e){super(e),this.name="EncodeError"}}class De extends k{constructor(e){super(e),this.name="PayloadLengthError"}}class Fe extends k{constructor(e){super(e),this.name="DryRunError"}}class Ve extends k{constructor(e){super(e),this.name="IllegalBidFeeError"}}class qe extends k{constructor(e){super(e),this.name="InvalidSignatureError"}}class $e extends k{constructor(e){super(e),this.name="InvalidTxError"}}class Ue extends k{constructor(e){super(e),this.name="InvalidTxParamsError"}}class He extends k{constructor(e){super(`Default AENS pointer key is not defined for ${e} prefix`),this.name="NoDefaultAensPointerError"}}class Ke extends k{constructor(e,t){super(`Encoded string have a wrong type: ${e} (expected: ${t})`),this.name="PrefixMismatchError"}}class We extends k{constructor(e){super(`Prefix for id-tag ${e} not found.`),this.name="PrefixNotFoundError"}}class Le extends k{constructor(e){super(e),this.name="SchemaNotFoundError"}}class Ge extends k{constructor(e){super(`Id tag for prefix ${e} not found.`),this.name="DecodeError"}}class Qe extends k{constructor(e){super(`Transaction ${e} is removed from chain`),this.name="TxNotInChainError"}}class ze extends k{constructor(e){super(e),this.name="UnknownTxError"}}class Ye extends k{constructor(e){super(e),this.name="UnsupportedABIversionError"}}class Xe extends k{constructor(e){super(e),this.name="UnsupportedVMversionError"}}class Je extends _{constructor(e){super(e),this.name="AlreadyConnectedError"}}class Ze extends _{constructor(e){super(e),this.name="MessageDirectionError"}}class et extends _{constructor(e){super(e),this.name="NoWalletConnectedError"}}class tt extends _{constructor(e){super(e),this.name="RpcConnectionError"}}function nt(e){return e.replace(/_./g,(e=>e[1].toUpperCase()))}function rt(e){return e.replace(/[A-Z]/g,(e=>`_${e.toLowerCase()}`))}function at(e){return e.length%2==0&&/^[0-9a-f]+$/i.test(e)}function st(e){if(!e.isInteger())throw new q(`Unexpected not integer value: ${e.toFixed()}`);let t=e.toString(16);return t.length%2==1&&(t="0"+t),Buffer.from(t,"hex")}function ot(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(null==e)return Buffer.from([]);if(Number.isInteger(e)||m().isBigNumber(e)||t)return m().isBigNumber(e)||(e=new(m())(e)),st(e);if("string"==typeof e)return Buffer.from(e);throw new D}function it(e,t){var n;return Buffer.from(e,null!==(n=null!=t?t:at(e)?"hex":void 0)&&void 0!==n?n:function(e){if(e.length%4>0||/[^0-9a-z+/=]/i.test(e))return!1;const t=e.indexOf("=");return-1===t||/={1,2}/.test(e.slice(t))}(e)?"base64":void 0)}var ct=v(783),dt=v(433);function lt(e){return(new dt.sha256).update(e).digest()}const ut=["ba","cb","or","ov","pi","ss","cs","ck","cv","st","tx"],ht=["ak","bf","bs","bx","ch","cm","ct","kh","mh","nm","ok","oq","pp","sg","th"],pt={ak:32,ct:32,ok:32};function ft(e,t){if(pt[t]&&e.length!==pt[t])throw new De(`Payload should be ${pt[t]} bytes, got ${e.length} instead`)}const mt=e=>lt(lt(e)).slice(0,4),gt=e=>{const t=Buffer.from(e);return Buffer.concat([t,mt(t)])};function yt(e){const t=e.slice(0,-4);if(!mt(t).equals(e.slice(-4)))throw new ve;return t}const wt={encode:e=>gt(e).toString("base64"),decode:e=>yt(Buffer.from(e,"base64"))},bt={encode:e=>ct.encode(gt(e)),decode:e=>yt(ct.decode(e))};function xt(e,t){const[n,r,a]=e.split("_");if(!r)throw new Me(`Encoded string missing payload: ${e}`);if(a)throw new Me(`Encoded string have extra parts: ${e}`);if(t&&t!==n)throw new Ke(n,t);const s=ut.includes(n)&&wt.decode||ht.includes(n)&&bt.decode;if(!s)throw new Me(`Encoded string have unknown type: ${n}`);const o=s(r);return ft(o,n),o}function vt(e,t){const n=ut.includes(t)&&wt.encode||ht.includes(t)&&bt.encode;if(!n)throw new Re(`Unknown type: ${t}`);return ft(e,t),`${t}_${n(e)}`}var Tt=v(343);function It(e){return Buffer.from((0,Tt.blake2b)(e,void 0,32))}const Ct=p().ModeOfOperation.ecb;function Et(e){const t=u().sign.keyPair.fromSecretKey(it(e));return vt(Buffer.from(t.publicKey),"ak")}function At(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ak";try{return xt(e,t),!0}catch(e){return!1}}function kt(){return Math.floor(Math.random()*Math.floor(Number.MAX_SAFE_INTEGER))}function _t(e){const t=Buffer.allocUnsafe(4);return t.writeUInt32BE(e),t.slice(t.findIndex((e=>0!==e)))}function Ot(e,t){const n=xt(e,"ak");return vt(It(Buffer.concat([n,_t(t)])),"ct")}function Nt(e){return u().sign.keyPair.fromSecretKey(e)}function St(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const t=u().sign.keyPair(),n=Buffer.from(t.publicKey),r=Buffer.from(t.secretKey);return e?{publicKey:n,secretKey:r}:{publicKey:vt(n,"ak"),secretKey:r.toString("hex")}}function Pt(e,t){const n=lt(e);return new Ct(n).encrypt(t)}function Bt(e,t){const n=Buffer.from(t),r=lt(e),a=new Ct(r);return Buffer.from(a.decrypt(n))}function jt(e,t){return u().sign.detached(Buffer.from(e),Buffer.from(t))}function Mt(e,t,n){return u().sign.detached.verify(new Uint8Array(e),t,n)}function Rt(e){const t=Buffer.from("aeternity Signed Message:\n","utf8"),n=Buffer.from(e,"utf8");if(n.length>=253)throw new H("Message too long");return It(Buffer.concat([Buffer.from([t.length]),t,Buffer.from([n.length]),n]))}function Dt(e,t){return jt(Rt(e),t)}function Ft(e,t,n){return Mt(Rt(e),t,n)}function Vt(e,t){const n=Buffer.from("TheMessage");return Mt(n,jt(n,e),t)}var qt=v(983),$t=v(289);const Ut={crypto:{secret_type:"ed25519",symmetric_alg:"xsalsa20-poly1305",kdf:"argon2id",kdf_params:{memlimit_kib:65536,opslimit:3,parallelism:1}}},Ht={argon2id:Kt};async function Kt(e,t,n){const{memlimit_kib:r,opslimit:a}=n.kdf_params,s=(await(0,$t.hash)({hashLen:32,pass:e,salt:t,time:a,mem:r,type:$t.ArgonType.Argon2id})).hash;return Buffer.from(s)}const Wt={"xsalsa20-poly1305":{encrypt:function(e){let{plaintext:t,key:n,nonce:r}=e;return u().secretbox(t,r,n)},decrypt:function(e){let{ciphertext:t,key:n,nonce:r}=e;const a=u().secretbox.open(t,r,n);if(!a)throw new Ce("Invalid password or nonce");return a}}};function Lt(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Ut.crypto.symmetric_alg;if(!Wt[r])throw new ke(r);return Wt[r].encrypt({plaintext:e,nonce:n,key:t})}async function Gt(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{kdf_params:Ut.crypto.kdf_params,kdf:Ut.crypto.kdf};if(!t)throw new O("nonce","provided",t);if(null==e)throw new O("password","provided",e);if(!Object.prototype.hasOwnProperty.call(Ht,n.kdf))throw new ke(n.kdf);return Ht[n.kdf](e,t,n)}function Qt(e,t,n,r,a){let s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};const o=Object.assign({},Ut.crypto,s);return Object.assign({name:e,version:1,public_key:zt(n),id:(0,qt.v4)()},{crypto:Object.assign({secret_type:o.secret_type,symmetric_alg:o.symmetric_alg,ciphertext:Buffer.from(Lt(Buffer.from(n),t,r,o.symmetric_alg)).toString("hex"),cipher_params:{nonce:Buffer.from(r).toString("hex")}},{kdf:o.kdf,kdf_params:{...o.kdf_params,salt:Buffer.from(a).toString("hex")}})})}function zt(e){const t=u().sign.keyPair.fromSecretKey(it(e));return vt(Buffer.from(t.publicKey),"ak")}async function Yt(e,t){Jt(t);const n=Uint8Array.from(it(t.crypto.cipher_params.nonce)),r=Uint8Array.from(it(t.crypto.kdf_params.salt)),a=t.crypto.kdf_params,s=t.crypto.kdf,o=await function(e,t,n,r){if(!Wt[r])throw new ke(r);return Wt[r].decrypt({ciphertext:e,nonce:n,key:t})}(Uint8Array.from(it(t.crypto.ciphertext)),await Gt(e,r,{kdf:s,kdf_params:a}),n,t.crypto.symmetric_alg);if(!o)throw new Ce("Invalid password");return 64===Buffer.from(o).length?Buffer.from(o).toString("hex"):Buffer.from(o).toString("utf-8")}async function Xt(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:u().randomBytes(24),a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:u().randomBytes(16),s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};const o=Object.assign({},Ut.crypto,s);return Qt(e,await Gt(t,a,o),"string"==typeof n?Buffer.from(n,"hex"):n,r,a,o)}function Jt(e){const t=["crypto","id","version","public_key"].filter((t=>!Object.prototype.hasOwnProperty.call(e,t)));if(t.length)throw new Ie(`Invalid key file format. Require properties: ${t}`);const n=["cipher_params","ciphertext","symmetric_alg","kdf","kdf_params"].filter((t=>!Object.prototype.hasOwnProperty.call(e.crypto,t)));if(n.length)throw new Ie(`Invalid key file format. Require properties: ${n}`);return!0}var Zt=v(485);const en=e=>["number","object","string","bigint"].includes(typeof e)&&(!isNaN(e)||Number.isInteger(e)||m().isBigNumber(e)),tn=e=>e.integerValue(m().ROUND_CEIL),nn={AE:"ae",MILI_AE:"miliAE",MICRO_AE:"microAE",NANO_AE:"nanoAE",PICO_AE:"picoAE",FEMTO_AE:"femtoAE",AETTOS:"aettos"},rn={[nn.AE]:0,[nn.MILI_AE]:-3,[nn.MICRO_AE]:-6,[nn.NANO_AE]:-9,[nn.PICO_AE]:-12,[nn.FEMTO_AE]:-15,[nn.AETTOS]:-18},an=function(e){let{denomination:t=nn.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return on(e,{denomination:t,targetDenomination:nn.AE})},sn=function(e){let{denomination:t=nn.AE}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return on(e,{denomination:t})},on=function(e){let{denomination:t=nn.AETTOS,targetDenomination:n=nn.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=Object.values(nn);if(!r.includes(t))throw new B(`Invalid denomination: ${t}`);if(!r.includes(n))throw new B(`Invalid target denomination: ${n}`);if(!en(e))throw new O("value","a number",e);return new(m())(e).shiftedBy(rn[t]-rn[n]).toFixed()},cn=[{name:"exa",magnitude:18},{name:"giga",magnitude:9},{name:"",magnitude:0},{name:"pico",magnitude:-12}],dn=e=>cn.reduce(((t,n)=>Math.abs(n.magnitude-e)<Math.abs(t.magnitude-e)?n:t)),ln=e=>{var t;return null!==(t=cn.find((t=>t.magnitude<=e)))&&void 0!==t?t:cn[cn.length-1]},un=e=>{var t;const n=new(m())(e),r=null!==(t=n.e)&&void 0!==t?t:0,{name:a,magnitude:s}=(r<0?dn:ln)(r);return`${n.shiftedBy(-s).precision(9+Math.min(r-s,0)).toFixed()}${""!==a?" ":""}${a}`},hn=async e=>await new Promise((t=>setTimeout(t,e))),pn=(e,t)=>Object.fromEntries(Object.entries(e).map(t)),fn=(e,t)=>Object.fromEntries(Object.entries(e).filter(t)),mn=(e,t)=>"object"!=typeof t||null===t?t:Array.isArray(t)?t.map((t=>mn(e,t))):pn(t,(t=>{let[n,r]=t;return[e(n),mn(e,r)]})),gn=mn.bind(null,rt),yn=mn.bind(null,nt),wn=18e4,bn=36e3,xn=84600,vn=xn,Tn=1e14,In=.05,Cn=480,En=31,An=12,kn={ak:"account_pubkey",ok:"oracle_pubkey",ct:"contract_pubkey",ch:"channel"},_n=pn({31:3,30:5,29:8,28:13,27:21,26:34,25:55,24:89,23:144,22:233,21:377,20:610,19:987,18:1597,17:2584,16:4181,15:6765,14:10946,13:17711,12:28657,11:46368,10:75025,9:121393,8:196418,7:317811,6:514229,5:832040,4:1346269,3:2178309,2:3524578,1:5702887},(e=>{let[t,n]=e;return[t,new(m())(n).times(Tn)]})),On={13:m()(0),12:m()(Cn),8:m()(31).times(Cn),4:m()(62).times(Cn)},Nn={account:1,name:2,commitment:3,oracle:4,contract:5,channel:6},Sn={ak:Nn.account,nm:Nn.name,cm:Nn.commitment,ok:Nn.oracle,ct:Nn.contract,ch:Nn.channel},Pn=pn(Sn,(e=>{let[t,n]=e;return[n,t]})),Bn=kt;function jn(e,t){return vt(It(Buffer.from([...xt(e,"ak"),...ot(t)])),"ct")}function Mn(e,t,n){return vt(It(Buffer.from([...xt(e,"ak"),...function(e){const t=ot(e,!0);return Buffer.concat([Buffer.alloc(32-t.length),t])}(t),...xt(n,"ok")])),"oq")}function Rn(e){return Buffer.from(e.toString(16).padStart(64,"0"),"hex")}function Dn(e){return Ln(e),vt(It(e.toLowerCase()),"nm")}function Fn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Bn();return Ln(e),vt(It(Buffer.concat([Buffer.from(e.toLowerCase()),Rn(t)])),"cm")}function Vn(e){if("string"!=typeof e)throw new O("hashId","a string",e);const t=e.slice(0,2),n=Sn[t];if(!n)throw new Ge(t);return Buffer.from([...ot(n),...xt(e,t)])}function qn(e){const t=Buffer.from(e).readUIntBE(0,1),n=Pn[t];if(!n)throw new We(t);return vt(e.slice(1,e.length),n)}function $n(e){return ot(e,!0)}function Un(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Buffer.from([]);return new(m())(Buffer.from(e).toString("hex"),16).toString(10)}function Hn(e){return e.map((e=>[ot(e.key),Vn(e.id)]))}function Kn(e){return e.map((e=>{let[t,n]=e;return Object.assign({key:t.toString(),id:qn(n)})}))}const Wn=".chain";function Ln(e){if(!e||"string"!=typeof e)throw new j("Name must be a string");if(!e.endsWith(Wn))throw new j(`Name should end with .chain: ${e}`)}function Gn(e){try{return Ln(e),!0}catch(e){return!1}}function Qn(e){xt(e);const t=e.substr(0,2);return kn[t]||(()=>{throw new He(t)})()}function zn(e){Ln(e);const t=e.length-Wn.length;return _n[Math.min(t,En)]}function Yn(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:In;if(Number(n)!==n||n%1==0)throw new Ve(`Increment must be float. Current increment ${n}`);if(n<In)throw new Ve(`minimum increment percentage is ${In}`);return tn(m()(null!=t?t:zn(e)).times(m()(In).plus(1)))}function Xn(e,t){Ln(e);const n=e.length-Wn.length;return(n<=4&&On[4]||n<=8&&On[8]||n<=12&&On[12]||On[13]).plus(t).toString(10)}function Jn(e){return Ln(e),e.length<13+Wn.length}class Zn{static serialize(e){return e}static deserialize(e){return e}}class er extends Zn{static serialize(e){return Vn(Gn(e)?Dn(e):e)}static deserialize(e){return qn(e)}}class tr extends Zn{static serialize(e,t){let{name:n}=t;if(+e)throw new N(`Contract deposit is not refundable, so it should be equal 0, got ${e} instead`);return $n(0)}static deserialize(e){return Un(e)}}const nr=1,rr=2,ar=0,sr=3e4,or={type:"delta",value:500},ir={type:"delta",value:10},cr={type:"delta",value:10},dr=0,lr=1579e3,ur=1e9,hr=5e4,pr={pub:"ak_11111111111111111111111111111111273Yts",amount:"100000000000000000000000000000000000"},fr=11,mr=521,gr=570,yr=571,wr=572,br=573,xr=574,vr=575,Tr=621,Ir=622,Cr=623,Er=624,Ar=625,kr=626,_r=(e,t,n)=>[e,t,n],Or=(e,t)=>[e,t],Nr={account:"account",signed:"signedTx",spend:"spendTx",nameClaim:"nameClaimTx",namePreClaim:"namePreClaimTx",nameUpdate:"nameUpdateTx",nameRevoke:"nameRevokeTx",nameTransfer:"nameTransfer",contract:"contract",contractCreate:"contractCreateTx",contractCall:"contractCallTx",contractCallResult:"contractCallResult",oracleRegister:"oracleRegister",oracleExtend:"oracleExtend",oracleQuery:"oracleQuery",oracleResponse:"oracleResponse",channelCreate:"channelCreate",channelCloseMutual:"channelCloseMutual",channelCloseSolo:"channelCloseSolo",channelSlash:"channelSlash",channelDeposit:"channelDeposit",channelWithdraw:"channelWithdraw",channelSettle:"channelSettle",channelOffChain:"channelOffChain",channelForceProgress:"channelForceProgress",channel:"channel",channelSnapshotSolo:"channelSnapshotSolo",channelOffChainUpdateTransfer:"channelOffChainUpdateTransfer",channelOffChainUpdateDeposit:"channelOffChainUpdateDeposit",channelOffChainUpdateWithdrawal:"channelOffChainUpdateWithdrawal",channelOffChainCreateContract:"channelOffChainCreateContract",channelOffChainCallContract:"channelOffChainCallContract",channelReconnect:"channelReconnect",proofOfInclusion:"proofOfInclusion",stateTrees:"stateTrees",merklePatriciaTree:"merklePatriciaTree",merklePatriciaTreeValue:"merklePatriciaTreeValue",contractsTree:"contractsTree",contractCallsTree:"contractCallsTree",channelsTree:"channelsTree",nameserviceTree:"nameserviceTree",oraclesTree:"oraclesTree",accountsTree:"accountsTree",gaAttach:"gaAttach",gaMeta:"gaMeta",payingFor:"payingFor",sophiaByteCode:"sophiaByteCode"},Sr={NO_VM:0,SOPHIA:1,SOPHIA_IMPROVEMENTS_MINERVA:3,SOPHIA_IMPROVEMENTS_FORTUNA:4,FATE:5,SOPHIA_IMPROVEMENTS_LIMA:6,FATE_2:7},Pr={NO_ABI:0,SOPHIA:1,FATE:3},Br={IRIS:5},jr={[Br.IRIS]:{[Nr.contractCreate]:{vmVersion:[Sr.FATE_2],abiVersion:[Pr.FATE]},[Nr.contractCall]:{vmVersion:[Sr.FATE_2,Sr.FATE,Sr.SOPHIA_IMPROVEMENTS_LIMA,Sr.SOPHIA_IMPROVEMENTS_FORTUNA,Sr.SOPHIA,Sr.SOPHIA_IMPROVEMENTS_MINERVA],abiVersion:[Pr.FATE,Pr.SOPHIA]},[Nr.oracleRegister]:{vmVersion:[],abiVersion:[Pr.NO_ABI,Pr.SOPHIA]}}},Mr={10:Nr.account,[fr]:Nr.signed,12:Nr.spend,32:Nr.nameClaim,33:Nr.namePreClaim,34:Nr.nameUpdate,35:Nr.nameRevoke,36:Nr.nameTransfer,40:Nr.contract,42:Nr.contractCreate,43:Nr.contractCall,41:Nr.contractCallResult,22:Nr.oracleRegister,25:Nr.oracleExtend,23:Nr.oracleQuery,24:Nr.oracleResponse,50:Nr.channelCreate,53:Nr.channelCloseMutual,54:Nr.channelCloseSolo,55:Nr.channelSlash,[mr]:Nr.channelForceProgress,51:Nr.channelDeposit,52:Nr.channelWithdraw,56:Nr.channelSettle,57:Nr.channelOffChain,58:Nr.channel,59:Nr.channelSnapshotSolo,[gr]:Nr.channelOffChainUpdateTransfer,[yr]:Nr.channelOffChainUpdateDeposit,[wr]:Nr.channelOffChainUpdateWithdrawal,[br]:Nr.channelOffChainCreateContract,[xr]:Nr.channelOffChainCallContract,[vr]:Nr.channelReconnect,60:Nr.proofOfInclusion,62:Nr.stateTrees,63:Nr.merklePatriciaTree,64:Nr.merklePatriciaTreeValue,[Tr]:Nr.contractsTree,[Ir]:Nr.contractCallsTree,[Cr]:Nr.channelsTree,[Er]:Nr.nameserviceTree,[Ar]:Nr.oraclesTree,[kr]:Nr.accountsTree,80:Nr.gaAttach,81:Nr.gaMeta,82:Nr.payingFor,70:Nr.sophiaByteCode},Rr={int:"int",amount:"amount",id:"id",ids:"ids",string:"string",binary:"binary",rlpBinary:"rlpBinary",rlpBinaries:"rlpBinaries",rawBinary:"rawBinary",bool:"bool",hex:"hex",signatures:"signatures",pointers:"pointers",offChainUpdates:"offChainUpdates",callStack:"callStack",proofOfInclusion:"proofOfInclusion",mptrees:"mptrees",callReturnType:"callReturnType",ctVersion:"ctVersion",sophiaCodeTypeInfo:"sophiaCodeTypeInfo",payload:"payload",any:"any",stateTree:"stateTree"},Dr=15e3,Fr=20,Vr=2e4,qr=3,$r=e=>{const t={[Nr.channelForceProgress]:30,[Nr.channelOffChain]:0,[Nr.channelOffChainCallContract]:0,[Nr.channelOffChainCreateContract]:0,[Nr.channelOffChainUpdateDeposit]:0,[Nr.channelOffChainUpdateWithdrawal]:0,[Nr.channelOffChainUpdateTransfer]:0,[Nr.contractCreate]:5,[Nr.contractCall]:12,[Nr.gaAttach]:5,[Nr.gaMeta]:5,[Nr.payingFor]:.2}[e]||1;return new(m())(t*Dr)},Ur=(e,t,n)=>{let{relativeTtl:r,innerTxSize:a}=n;switch(e){case Nr.oracleRegister:case Nr.oracleExtend:case Nr.oracleQuery:case Nr.oracleResponse:return new(m())(t).times(Fr).plus(Math.ceil(32e3*r/Math.floor(525600/qr)));case Nr.gaMeta:case Nr.payingFor:return new(m())(t).minus(a).times(Fr);default:return new(m())(t).times(Fr)}},Hr=[_r("tag",Rr.int),_r("VSN",Rr.int)],Kr=[...Hr,_r("sourceCodeHash",Rr.rawBinary),_r("typeInfo",Rr.sophiaCodeTypeInfo),_r("byteCode",Rr.rawBinary),_r("compilerVersion",Rr.string),_r("payable",Rr.bool)],Wr=[...Hr,_r("flags",Rr.int),_r("nonce",Rr.int),_r("balance",Rr.int),_r("gaContract",Rr.id,["ct","nm"]),_r("gaAuthFun",Rr.binary,"cb")],Lr=[...Hr,_r("senderId",Rr.id,"ak"),_r("recipientId",Rr.id,["ak","nm"]),_r("amount",Rr.amount),_r("fee",Rr.int),_r("ttl",Rr.int),_r("nonce",Rr.int),_r("payload",Rr.payload)],Gr=[...Hr,_r("signatures",Rr.signatures),_r("encodedTx",Rr.rlpBinary)],Qr=[...Hr,_r("accountId",Rr.id,"ak"),_r("nonce",Rr.int),_r("commitmentId",Rr.id,"cm"),_r("fee",Rr.int),_r("ttl",Rr.int)],zr=[...Hr,_r("accountId",Rr.id,"ak"),_r("nonce",Rr.int),_r("name",class extends Zn{static serialize(e){return Ln(e),Buffer.from(e)}static deserialize(e){return e.toString()}}),_r("nameSalt",Rr.int),_r("nameFee",class extends Zn{static serialize(e,t){var n;let{name:r}=t;const a=zn(r);if(null!==(n=e)&&void 0!==n||(e=a),a.gt(e))throw new z(e,a);return $n(e)}static deserialize(e){return Un(e)}}),_r("fee",Rr.int),_r("ttl",Rr.int)],Yr=[...Hr,_r("accountId",Rr.id,"ak"),_r("nonce",Rr.int),_r("nameId",er),_r("nameTtl",Rr.int),_r("pointers",Rr.pointers),_r("clientTtl",Rr.int),_r("fee",Rr.int),_r("ttl",Rr.int)],Xr=[...Hr,_r("accountId",Rr.id,"ak"),_r("nonce",Rr.int),_r("nameId",er),_r("recipientId",Rr.id,["ak","nm"]),_r("fee",Rr.int),_r("ttl",Rr.int)],Jr=[...Hr,_r("accountId",Rr.id,"ak"),_r("nonce",Rr.int),_r("nameId",er),_r("fee",Rr.int),_r("ttl",Rr.int)],Zr=[...Hr,_r("owner",Rr.id,"ak"),_r("ctVersion",Rr.int),_r("code",Rr.binary,"cb"),_r("log",Rr.binary,"cb"),_r("active",Rr.bool),_r("referers",Rr.ids,"ak"),_r("deposit",tr)],ea=[...Hr,_r("ownerId",Rr.id,"ak"),_r("nonce",Rr.int),_r("code",Rr.binary,"cb"),_r("authFun",Rr.rawBinary),_r("ctVersion",Rr.ctVersion),_r("fee",Rr.int),_r("ttl",Rr.int),_r("gas",Rr.int),_r("gasPrice",Rr.int),_r("callData",Rr.binary,"cb")],ta=[...Hr,_r("gaId",Rr.id,"ak"),_r("authData",Rr.binary,"cb"),_r("abiVersion",Rr.int),_r("fee",Rr.int),_r("gas",Rr.int),_r("gasPrice",Rr.int),_r("tx",Rr.rlpBinary)],na=[...Hr,_r("payerId",Rr.id,"ak"),_r("nonce",Rr.int),_r("fee",Rr.int),_r("tx",Rr.rlpBinary)],ra=[...Hr,_r("ownerId",Rr.id,"ak"),_r("nonce",Rr.int),_r("code",Rr.binary,"cb"),_r("ctVersion",Rr.ctVersion),_r("fee",Rr.int),_r("ttl",Rr.int),_r("deposit",tr),_r("amount",Rr.amount),_r("gas",Rr.int),_r("gasPrice",Rr.int),_r("callData",Rr.binary,"cb")],aa=[...Hr,_r("callerId",Rr.id,"ak"),_r("nonce",Rr.int),_r("contractId",Rr.id,["ct","nm"]),_r("abiVersion",Rr.int),_r("fee",Rr.int),_r("ttl",Rr.int),_r("amount",Rr.amount),_r("gas",Rr.int),_r("gasPrice",Rr.int),_r("callData",Rr.binary,"cb")],sa=[...Hr,_r("callerId",Rr.id,"ak"),_r("callerNonce",Rr.int),_r("height",Rr.int),_r("contractId",Rr.id,"ct"),_r("gasPrice",Rr.int),_r("gasUsed",Rr.int),_r("returnValue",Rr.binary,"cb"),_r("returnType",Rr.callReturnType),_r("log",Rr.rawBinary)],oa=[...Hr,_r("accountId",Rr.id,"ak"),_r("nonce",Rr.int),_r("queryFormat",Rr.string),_r("responseFormat",Rr.string),_r("queryFee",Rr.amount),_r("oracleTtlType",Rr.int),_r("oracleTtlValue",Rr.int),_r("fee",Rr.int),_r("ttl",Rr.int),_r("abiVersion",Rr.int)],ia=[...Hr,_r("oracleId",Rr.id,["ok","nm"]),_r("nonce",Rr.int),_r("oracleTtlType",Rr.int),_r("oracleTtlValue",Rr.int),_r("fee",Rr.int),_r("ttl",Rr.int)],ca=[...Hr,_r("senderId",Rr.id,"ak"),_r("nonce",Rr.int),_r("oracleId",Rr.id,["ok","nm"]),_r("query",Rr.string),_r("queryFee",Rr.amount),_r("queryTtlType",Rr.int),_r("queryTtlValue",Rr.int),_r("responseTtlType",Rr.int),_r("responseTtlValue",Rr.int),_r("fee",Rr.int),_r("ttl",Rr.int)],da=[...Hr,_r("oracleId",Rr.id,"ok"),_r("nonce",Rr.int),_r("queryId",Rr.binary,"oq"),_r("response",Rr.string),_r("responseTtlType",Rr.int),_r("responseTtlValue",Rr.int),_r("fee",Rr.int),_r("ttl",Rr.int)],la=[...Hr,_r("initiator",Rr.id,"ak"),_r("initiatorAmount",Rr.int),_r("responder",Rr.id,"ak"),_r("responderAmount",Rr.int),_r("channelReserve",Rr.int),_r("lockPeriod",Rr.int),_r("ttl",Rr.int),_r("fee",Rr.int),_r("initiatorDelegateIds",Rr.string),_r("responderDelegateIds",Rr.string),_r("stateHash",Rr.binary,"st"),_r("nonce",Rr.int)],ua=[...Hr,_r("channelId",Rr.id,"ch"),_r("fromId",Rr.id,"ak"),_r("amount",Rr.int),_r("ttl",Rr.int),_r("fee",Rr.int),_r("stateHash",Rr.binary,"st"),_r("round",Rr.int),_r("nonce",Rr.int)],ha=[...Hr,_r("channelId",Rr.id,"ch"),_r("toId",Rr.id,"ak"),_r("amount",Rr.int),_r("ttl",Rr.int),_r("fee",Rr.int),_r("stateHash",Rr.binary,"st"),_r("round",Rr.int),_r("nonce",Rr.int)],pa=[...Hr,_r("channelId",Rr.id,"ch"),_r("fromId",Rr.id,"ak"),_r("initiatorAmountFinal",Rr.int),_r("responderAmountFinal",Rr.int),_r("ttl",Rr.int),_r("fee",Rr.int),_r("nonce",Rr.int)],fa=[...Hr,_r("channelId",Rr.id,"ch"),_r("fromId",Rr.id,"ak"),_r("payload",Rr.binary,"tx"),_r("poi",Rr.binary,"pi"),_r("ttl",Rr.int),_r("fee",Rr.int),_r("nonce",Rr.int)],ma=[...Hr,_r("channelId",Rr.id,"ch"),_r("fromId",Rr.id,"ak"),_r("payload",Rr.binary,"tx"),_r("poi",Rr.binary,"pi"),_r("ttl",Rr.int),_r("fee",Rr.int),_r("nonce",Rr.int)],ga=[...Hr,_r("channelId",Rr.id,"ch"),_r("fromId",Rr.id,"ak"),_r("initiatorAmountFinal",Rr.int),_r("responderAmountFinal",Rr.int),_r("ttl",Rr.int),_r("fee",Rr.int),_r("nonce",Rr.int)],ya=[...Hr,_r("channelId",Rr.id,"ch"),_r("fromId",Rr.id,"ak"),_r("payload",Rr.binary,"tx"),_r("round",Rr.int),_r("update",Rr.binary,"cb"),_r("stateHash",Rr.binary,"st"),_r("offChainTrees",Rr.stateTree),_r("ttl",Rr.int),_r("fee",Rr.int),_r("nonce",Rr.int)],wa=[...Hr,_r("channelId",Rr.id,"ch"),_r("round",Rr.int),_r("stateHash",Rr.binary,"st")],ba=[...Hr,_r("initiator",Rr.id,"ak"),_r("responder",Rr.id,"ak"),_r("channelAmount",Rr.int),_r("initiatorAmount",Rr.int),_r("responderAmount",Rr.int),_r("channelReserve",Rr.int),_r("initiatorDelegateIds",Rr.ids),_r("responderDelegateIds",Rr.ids),_r("stateHash",Rr.hex),_r("round",Rr.int),_r("soloRound",Rr.int),_r("lockPeriod",Rr.int),_r("lockedUntil",Rr.int),_r("initiatorAuth",Rr.binary,"cb"),_r("responderAuth",Rr.binary,"cb")],xa=[...Hr,_r("channelId",Rr.id,"ch"),_r("fromId",Rr.id,"ak"),_r("payload",Rr.binary,"tx"),_r("ttl",Rr.int),_r("fee",Rr.int),_r("nonce",Rr.int)],va=[...Hr,_r("owner",Rr.id,"ak"),_r("ctVersion",Rr.int),_r("code",Rr.binary,"cb"),_r("deposit",Rr.int),_r("callData",Rr.binary,"cb")],Ta=[...Hr,_r("caller",Rr.id,"ak"),_r("contract",Rr.id,"ct"),_r("abiVersion",Rr.int),_r("amount",Rr.int),_r("callData",Rr.binary,"cb"),_r("callStack",Rr.callStack),_r("gasPrice",Rr.int),_r("gasLimit",Rr.int)],Ia=[...Hr,_r("channelId",Rr.id,"ch"),_r("round",Rr.int),_r("role",Rr.string),_r("pubkey",Rr.id,"ak")],Ca=[...Hr,_r("from",Rr.id,"ak"),_r("to",Rr.id,"ak"),_r("amount",Rr.int)],Ea=[...Hr,_r("from",Rr.id,"ak"),_r("amount",Rr.int)],Aa=[...Hr,_r("from",Rr.id,"ak"),_r("amount",Rr.int)],ka=[...Hr,_r("accounts",Rr.mptrees),_r("calls",Rr.mptrees),_r("channels",Rr.mptrees),_r("contracts",Rr.mptrees),_r("ns",Rr.mptrees),_r("oracles",Rr.mptrees)],_a=[...Hr,_r("contracts",Rr.rlpBinary),_r("calls",Rr.rlpBinary),_r("channels",Rr.rlpBinary),_r("ns",Rr.rlpBinary),_r("oracles",Rr.rlpBinary),_r("accounts",Rr.rlpBinary)],Oa=[...Hr,_r("values",Rr.rlpBinaries)],Na=[...Hr,_r("key",Rr.hex),_r("value",Rr.rawBinary)],Sa=[...Hr,_r("contracts",Rr.rlpBinary)],Pa=[...Hr,_r("calls",Rr.rlpBinary)],Ba=[...Hr,_r("channels",Rr.rlpBinary)],ja=[...Hr,_r("mtree",Rr.rlpBinary)],Ma=[...Hr,_r("otree",Rr.rlpBinary)],Ra=[...Hr,_r("accounts",Rr.rlpBinary)],Da={[Nr.account]:{2:Or(Wr,10)},[Nr.signed]:{1:Or(Gr,fr)},[Nr.spend]:{1:Or(Lr,12)},[Nr.namePreClaim]:{1:Or(Qr,33)},[Nr.nameClaim]:{2:Or(zr,32)},[Nr.nameUpdate]:{1:Or(Yr,34)},[Nr.nameTransfer]:{1:Or(Xr,36)},[Nr.nameRevoke]:{1:Or(Jr,35)},[Nr.contract]:{1:Or(Zr,40)},[Nr.contractCreate]:{1:Or(ra,42)},[Nr.contractCall]:{1:Or(aa,43)},[Nr.contractCallResult]:{1:Or(sa,41)},[Nr.oracleRegister]:{1:Or(oa,22)},[Nr.oracleExtend]:{1:Or(ia,25)},[Nr.oracleQuery]:{1:Or(ca,23)},[Nr.oracleResponse]:{1:Or(da,24)},[Nr.channelCreate]:{2:Or(la,50)},[Nr.channelCloseMutual]:{1:Or(pa,53)},[Nr.channelCloseSolo]:{1:Or(fa,54)},[Nr.channelSlash]:{1:Or(ma,55)},[Nr.channelDeposit]:{1:Or(ua,51)},[Nr.channelWithdraw]:{1:Or(ha,52)},[Nr.channelSettle]:{1:Or(ga,56)},[Nr.channelForceProgress]:{1:Or(ya,mr)},[Nr.channelOffChain]:{2:Or(wa,57)},[Nr.channel]:{3:Or(ba,58)},[Nr.channelSnapshotSolo]:{1:Or(xa,59)},[Nr.channelOffChainUpdateTransfer]:{1:Or(Ca,gr)},[Nr.channelOffChainUpdateDeposit]:{1:Or(Ea,yr)},[Nr.channelOffChainUpdateWithdrawal]:{1:Or(Aa,wr)},[Nr.channelOffChainCreateContract]:{1:Or(va,br)},[Nr.channelOffChainCallContract]:{1:Or(Ta,xr)},[Nr.channelReconnect]:{1:Or(Ia,vr)},[Nr.proofOfInclusion]:{1:Or(ka,60)},[Nr.stateTrees]:{1:Or(_a,62)},[Nr.merklePatriciaTree]:{1:Or(Oa,63)},[Nr.merklePatriciaTreeValue]:{1:Or(Na,64)},[Nr.contractsTree]:{1:Or(Sa,Tr)},[Nr.contractCallsTree]:{1:Or(Pa,Ir)},[Nr.channelsTree]:{1:Or(Ba,Cr)},[Nr.nameserviceTree]:{1:Or(ja,Er)},[Nr.oraclesTree]:{1:Or(Ma,Ar)},[Nr.accountsTree]:{1:Or(Ra,kr)},[Nr.gaAttach]:{1:Or(ea,80)},[Nr.gaMeta]:{2:Or(ta,81)},[Nr.payingFor]:{1:Or(na,82)}},Fa={10:{2:Or(Wr,10)},[fr]:{1:Or(Gr,fr)},12:{1:Or(Lr,12)},33:{1:Or(Qr,33)},32:{2:Or(zr,32)},34:{1:Or(Yr,34)},36:{1:Or(Xr,36)},35:{1:Or(Jr,35)},40:{1:Or(Zr,40)},42:{1:Or(ra,42)},43:{1:Or(aa,43)},41:{1:Or(sa,41)},22:{1:Or(oa,22)},25:{1:Or(ia,25)},23:{1:Or(ca,23)},24:{1:Or(da,24)},50:{2:Or(la,50)},53:{1:Or(pa,53)},54:{1:Or(fa,54)},55:{1:Or(ma,55)},51:{1:Or(ua,51)},52:{1:Or(ha,52)},56:{1:Or(ga,56)},57:{2:Or(wa,57)},58:{3:Or(ba,58)},59:{1:Or(xa,59)},[gr]:{1:Or(Ca,gr)},[yr]:{1:Or(Ea,yr)},[wr]:{1:Or(Aa,wr)},[br]:{1:Or(va,br)},[xr]:{1:Or(Ta,xr)},[vr]:{1:Or(Ia,vr)},60:{1:Or(ka,60)},62:{1:Or(_a,62)},63:{1:Or(Oa,63)},64:{1:Or(Na,64)},[Tr]:{1:Or(Sa,Tr)},[Ir]:{1:Or(Pa,Ir)},[Cr]:{1:Or(Ba,Cr)},[Er]:{1:Or(ja,Er)},[Ar]:{1:Or(Ma,Ar)},[kr]:{1:Or(Ra,kr)},80:{1:Or(ea,80)},81:{2:Or(ta,81)},82:{1:Or(na,82)},[mr]:{1:Or(ya,mr)},70:{3:Or(Kr,70)}};var Va;!function(e){e[e.Branch=0]="Branch",e[e.Extension=1]="Extension",e[e.Leaf=2]="Leaf"}(Va||(Va={}));class qa{static nodeHash(e){return Buffer.from(It((0,Zt.encode)(e))).toString("hex")}constructor(e){if(this.rootHash=e[0].toString("hex"),this.nodes=Object.fromEntries(e[1].map((e=>[e[0].toString("hex"),e[1]]))),void 0===this.nodes[this.rootHash])throw new Ae("Can't find a node by root hash");Object.entries(this.nodes).forEach((e=>{let[t,n]=e;if(qa.nodeHash(n)!==t)throw new Ee;const{type:r,payload:a}=qa.parseNode(n);switch(r){case Va.Branch:a.slice(0,16).filter((e=>e.length)).forEach((e=>{if(void 0===this.nodes[e.toString("hex")])throw new Ae("Can't find a node by hash in branch node")}));break;case Va.Extension:if(void 0===this.nodes[a[0].toString("hex")])throw new Ae("Can't find a node by hash in extension node")}}))}isEqual(e){return this.rootHash===e.rootHash}static parseNode(e){switch(e.length){case 17:return{type:Va.Branch,payload:e,path:null};case 2:{const t=e[0].toString("hex"),n=parseInt(t[0],16);if(n>3)throw new Ne(n);const r=n<=1?Va.Extension:Va.Leaf,a=[0,2].includes(n)?2:1;return{type:r,payload:[e[1]],path:t.slice(a)}}default:throw new Oe(e.length)}}serialize(){return[Buffer.from(this.rootHash,"hex"),Object.entries(this.nodes).map((e=>{let[t,n]=e;return[Buffer.from(t,"hex"),n]}))]}get(e){let t=this.rootHash;for(;;){const{type:n,payload:r,path:a}=qa.parseNode(this.nodes[t]);switch(n){case Va.Branch:if(0===e.length)return r[16];t=r[parseInt(e[0],16)].toString("hex"),e=e.substr(1);break;case Va.Extension:if(e.substr(0,null==a?void 0:a.length)!==a)return;t=r[0].toString("hex"),e=e.substr(a.length);break;case Va.Leaf:if(a!==e)return;return r[0]}}}}const $a="delta";function Ua(e,t,n){if(!e)return"";switch(t){case Rr.ctVersion:{const[t,,n]=e;return{vmVersion:Un(Buffer.from([t])),abiVersion:Un(Buffer.from([n]))}}case Rr.amount:case Rr.int:return Un(e);case Rr.id:return qn(e);case Rr.ids:return e.map(qn);case Rr.bool:return 1===e[0];case Rr.binary:return vt(e,n);case Rr.stateTree:return vt(e,"ss");case Rr.string:return e.toString();case Rr.payload:return vt(e,"ba");case Rr.pointers:return Kn(e);case Rr.rlpBinary:return ts(e,!0);case Rr.rlpBinaries:return e.map((e=>ts(e,!0)));case Rr.rawBinary:return e;case Rr.hex:return e.toString("hex");case Rr.offChainUpdates:return e.map((e=>ts(e,!0)));case Rr.callStack:return[Un(e)];case Rr.mptrees:return e.map((e=>new qa(e)));case Rr.callReturnType:switch(Un(e)){case"0":return"ok";case"1":return"error";case"2":return"revert";default:return e}case Rr.sophiaCodeTypeInfo:return e.reduce(((e,t)=>{let[n,r,a,s]=t;return{...e,[r.toString()]:{funHash:n,argType:a,outType:s}}}),{});default:return t.prototype instanceof Zn?t.deserialize(e):e}}function Ha(e,t,n,r){var a;switch(t){case Rr.amount:case Rr.int:return $n(e);case Rr.id:return Vn(e);case Rr.ids:return e.map(Vn);case Rr.bool:return Buffer.from([e?1:0]);case Rr.binary:return xt(e,n);case Rr.stateTree:return xt(e,"ss");case Rr.hex:return Buffer.from(e,"hex");case Rr.signatures:return e.map(Buffer.from);case Rr.payload:return"string"==typeof e&&"ba"===e.split("_")[0]?xt(e,"ba"):ot(e);case Rr.string:return ot(e);case Rr.pointers:return Hn(e);case Rr.rlpBinary:return null!==(a=e.rlpEncoded)&&void 0!==a?a:e;case Rr.mptrees:return e.map((e=>e.serialize()));case Rr.ctVersion:return Buffer.from([...ot(e.vmVersion),0,...ot(e.abiVersion)]);case Rr.callReturnType:switch(e){case"ok":return $n(0);case"error":return $n(1);case"revert":return $n(2);default:return e}default:return t.prototype instanceof Zn?t.serialize(e,r):e}}function Ka(e,t,n){if(null==e)return"Field is required";switch(t){case Rr.amount:case Rr.int:return isNaN(e)&&!m().isBigNumber(e)?`${e} is not of type Number or BigNumber`:new(m())(e).lt(0)?`${e} must be >= 0`:void 0;case Rr.id:return(Array.isArray(n)?n:[n]).includes(e.split("_")[0])?void 0:`'${e}' prefix doesn't match expected prefix '${n}'`;case Rr.ctVersion:return null!=e&&e.abiVersion&&null!=e&&e.vmVersion?void 0:'Value must be an object with "vmVersion" and "abiVersion" fields';case Rr.pointers:if(!Array.isArray(e))return"Value must be of type Array";if(e.some((e=>!(null!=e&&e.key&&null!=e&&e.id))))return'Value must contains only object\'s like \'{key: "account_pubkey", id: "ak_lkamsflkalsdalksdlasdlasdlamd"}\'';if(e.length>32)return`Expected 32 pointers or less, got ${e.length} instead`}}function Wa(e,t){let{denomination:n}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e=t.filter((e=>{let[t,n]=e;return n===Rr.amount})).reduce(((t,r)=>{let[a]=r;return{...e,[a]:on(e[a],{denomination:n})}}),e);const r=t.map((e=>{let[t]=e;return t}));return Object.entries(e).reduce(((e,t)=>{let[n,a]=t;return r.includes(n)&&(e[n]=a),["oracleTtl","queryTtl","responseTtl"].includes(n)&&(e[`${n}Type`]=a.type===$a?0:1,e[`${n}Value`]=a.value),e}),{})}function La(e,t){const n={[Nr.oracleRegister]:"oracleTtl",[Nr.oracleExtend]:"oracleTtl",[Nr.oracleQuery]:"queryTtl",[Nr.oracleResponse]:"responseTtl"}[t];return e[n]||e[`${n}Value`]?e[`${n}Value`]||e[n].value:1}function Ga(e,t){let{gas:n=0,params:r,vsn:a}=t;const s=m()(1e9);if(!r)return m()(Vr).times(s).toString(10);let o=Qa(e,{params:{...r,fee:0},multiplier:s,gas:n,vsn:a}),i=m()(0);for(;!o.eq(i);)o=Qa(e,{params:{...r,fee:o},multiplier:s,gas:n,vsn:a}),i=o;return i.toString(10)}function Qa(e,t){let{params:n,gas:r=0,multiplier:a,vsn:s}=t;const{rlpEncoded:o}=es({...n},e,{vsn:s}),i=o.length;return $r(e).plus(Ur(e,i,{relativeTtl:La(n,e),innerTxSize:[Nr.gaMeta,Nr.payingFor].includes(e)?n.tx.tx.encodedTx.rlpEncoded.length:0})).times(a)}function za(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1?arguments[1]:void 0,{gas:n=0,params:r,showWarning:a=!0,vsn:s}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return!r&&a&&console.warn(`Can't build transaction fee, we will use DEFAULT_FEE(${Vr})`),e||Ga(t,{params:r,gas:n,vsn:s})}function Ya(e,t,n){let{excludeKeys:r=[]}=n;return Object.fromEntries(t.filter((e=>{let[t]=e;return!r.includes(t)&&!["payload","nameFee","deposit"].includes(t)})).map((t=>{let[n,r,a]=t;return[n,Ka(e[n],r,a)]})).filter((e=>{let[,t]=e;return t})))}function Xa(e,t){let{excludeKeys:n=[],denomination:r=nn.AETTOS}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const a=t.filter((e=>{let[t]=e;return!n.includes(t)})),s=Ya(e=Wa(e,a,{denomination:r}),t,{excludeKeys:n});if(Object.keys(s).length)throw new Ue("Transaction build error. "+JSON.stringify(s));return a.map((t=>{let[n,r,a]=t;return Ha(e[n],r,a,e)}))}function Ja(e,t){return t.reduce(((t,n,r)=>{let[a,s,o]=n;return Object.assign(t,{[a]:Ua(e[r],s,o)})}),{})}const Za=e=>{let{vsn:t,objId:n,type:r}=e;const a=!!n,s=a?n:r,o=a?Fa:Da;if(!o[s])throw new Le(`Transaction ${a?"deserialization":"serialization"} not implemented for ${a?"tag "+n:r}`);if(!o[s][t])throw new Le(`Transaction ${a?"deserialization":"serialization"} not implemented for ${a?"tag "+n:r} version ${t}`);return o[s][t]};function es(e,t){let{excludeKeys:n=[],prefix:r="tx",vsn:a=nr,denomination:s=nn.AETTOS}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const[o,i]=Za({type:t,vsn:a}),c=Xa({...e,VSN:a,tag:i},o,{excludeKeys:n,denomination:e.denomination||s}).filter((e=>void 0!==e)),d=(0,Zt.encode)(c),l=vt(d,r);return{tx:l,rlpEncoded:d,binary:c,txObject:Ja(c,o)}}function ts(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"tx";const r=t?e:xt(e,n),a=(0,Zt.decode)(r),s=Un(a[0]),o=Un(a[1]),[i]=Za({objId:s,vsn:o});return{txType:Mr[s],tx:Ja(a,i),rlpEncoded:r,binary:a}}function ns(e){return vt(It("string"==typeof e&&e.startsWith("tx_")?xt(e,"tx"):e),"th")}const rs={calculateMinFee:Ga,calculateFee:za,unpackTx:ts,unpackRawTx:Ja,buildTx:es,buildRawTx:Xa,validateParams:Ya,buildTxHash:ns};var as=v(882),ss=v(986);const os=Buffer.from("ed25519 seed"),is=2147483648,cs=e=>Buffer.from(e).toString("hex");function ds(e,t){const n=""===e?[]:(0,ss.fromString)(e).toPathArray();return n.forEach(((e,t)=>{if(e<is)throw new _e(`Segment #${t+1} is not hardened`)})),n.reduce(((e,t)=>fs(e,t)),t)}function ls(e,t){if(!["m","m/"].includes(e.slice(0,2)))throw new Te;const n=ps(t);return ds(e.slice(2),n)}function us(e){const{secretKey:t,publicKey:n}=e;return{secretKey:cs(t),publicKey:vt(n,"ak")}}function hs(e){return u().sign.keyPair.fromSeed(e)}function ps(e){const t=(0,as.full)(e,os);return{secretKey:t.slice(0,32),chainCode:t.slice(32)}}function fs(e,t){let{secretKey:n,chainCode:r}=e;if(t<is)throw new Se(t);const a=Buffer.allocUnsafe(4);a.writeUInt32BE(t,0);const s=Buffer.concat([Buffer.alloc(1,0),Buffer.from(n),Buffer.from(a)]),o=(0,as.full)(s,r);return{secretKey:o.slice(0,32),chainCode:o.slice(32)}}function ms(e,t){const n=ls("m/44h/457h",e);return{secretKey:cs(Pt(t,n.secretKey)),chainCode:cs(Pt(t,n.chainCode))}}function gs(e,t,n){const r={secretKey:Bt(t,Buffer.from(e.secretKey,"hex")),chainCode:Bt(t,Buffer.from(e.chainCode,"hex"))};return new Array(n).fill().map(((e,t)=>us(hs(ds(`${t}h/0h/0h`,r).secretKey))))}const ys=(e,t)=>({...us(hs(ds(`${t}h/0h/0h`,ls("m/44h/457h",e)).secretKey)),idx:t});var ws=v(910),bs=v.n(ws),xs=v(180);const vs=bs()((0,xs.required)({methods:{spendTx:xs.required,namePreclaimTx:xs.required,nameClaimTx:xs.required,nameTransferTx:xs.required,nameUpdateTx:xs.required,nameRevokeTx:xs.required,contractCreateTx:xs.required,contractCallTx:xs.required,oracleRegisterTx:xs.required,oracleExtendTx:xs.required,oraclePostQueryTx:xs.required,oracleRespondTx:xs.required,getAccountNonce:xs.required,channelCloseSoloTx:xs.required,channelSlashTx:xs.required,channelSettleTx:xs.required,channelSnapshotSoloTx:xs.required,gaAttachTx:xs.required,getVmVersion:xs.required,prepareTxParams:xs.required}})),Ts=bs()({deepProps:{Ae:{defaults:{waitMined:!0,verify:!0,_expectedMineRate:18e4,_microBlockCycle:3e3,_maxPollInterval:5e3}}},methods:{_getPollInterval(e){const t={block:this.Ae.defaults._expectedMineRate,microblock:this.Ae.defaults._microBlockCycle}[e];if(!t)throw new Error(`Unknown poll type: ${e}`);return Math.min(t/3,this.Ae.defaults._maxPollInterval)}}},(0,xs.required)({methods:{sendTransaction:xs.required,height:xs.required,awaitHeight:xs.required,poll:xs.required,balance:xs.required,getBalance:xs.required,tx:xs.required,getTxInfo:xs.required,mempool:xs.required,txDryRun:xs.required,getAccount:xs.required}})),Is=Ts;function Cs(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{stamp:t,args:n,instance:r}=arguments.length>1?arguments[1]:void 0;return t.compose.deepConfiguration.AsyncInit.initializers.reduce((async(r,a)=>{if(r=await Promise.resolve(r),"function"==typeof a){const s=await Promise.resolve(a.call(r,e,{stamp:t,args:n,instance:r}));return void 0===s?r:s}return r}),r)}const Es=bs()({deepConf:{AsyncInit:{initializers:[]}},composers(e){let{stamp:t,composables:n}=e;t.compose.deepConfiguration.AsyncInit.initializers=n.map((e=>{var t,n,r;return(null==e||null===(t=e.compose)||void 0===t||null===(n=t.deepConfiguration)||void 0===n||null===(r=n.AsyncInit)||void 0===r?void 0:r.initializers)||(e.compose||e).initializers||[]})).flat(1/0).filter(((e,t,n)=>!n.slice(0,t).includes(e))).filter((e=>e!==Cs)),t.compose.initializers=[Cs]}});var As=v(659),ks=v.n(As),_s=v(503),Os=v.n(_s),Ns=v(911);const Ss=v.n(Ns)()({storeAsString:!0}),Ps=e=>{if("object"==typeof e&&null!==e&&e.constructor===Object)return Object.entries(e).map((e=>{let[t,n]=e;return[t,Ps(n)]})).reduce(((e,t)=>{let[n,r]=t;return{...e,[n]:r}}),{});if(Array.isArray(e))return e.map((e=>Ps(e)));if("string"==typeof e&&m()(e).toString(10)===e){const t=m()(e);return t.toJSON=()=>t.toString(10),t}return e},Bs={stringify:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return Ss.stringify(Ps(e),...n)},parse:Ss.parse};let js=!1;const Ms=async function(e){let{spec:t,internalUrl:n,disableBigNumbers:r,disableCaseConversion:a,responseInterceptor:s}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t=t||await(await Os()(e)).json();const o=r?JSON:Bs,[i,c]=await Promise.all([e,n].map((e=>{if(!e)return null;const n={};return ks()({url:e,spec:t,requestInterceptor:e=>{if("GET"===e.method)return{...e,userFetch:async(e,t)=>{var r;const a=JSON.stringify({...t,url:e});null!==(r=n[a])&&void 0!==r||(n[a]=Os()(e,t));try{return(await n[a]).clone()}finally{delete n[a]}}}},responseInterceptor:e=>{var t;if(""===e.text||0===(null===(t=e.text)||void 0===t?void 0:t.size))return e;const n=o.parse(e.text);return Object.assign(e,{body:a?n:yn(n)}),s&&s(e)||e}})}))),d=Object.assign({},...i.apis.external?[i.apis.external]:Object.values(i.apis),pn((null==c?void 0:c.apis.internal)||{},(e=>{let[t,n]=e;return[t,function(){return js||(console.warn('SDK\'s wrapper of aeternity node internal API is deprecated, please use external equivalent (for example, "sdk.api.protectedDryRunTxs" instead of "sdk.api.dryRunTxs") or create a wrapper of internal API by yourself (using "genSwaggerClient")'),js=!0),n(...arguments)}]}))),l=Object.values(t.paths).map((e=>Object.values(e))).flat().reduce(((e,t)=>({...e,[t.operationId]:t})),{}),u={},h=pn(d,(e=>{let[t,n]=e;const r=t.slice(0,1).toLowerCase()+nt(t.slice(1));return[r,async function(){for(var e,s=arguments.length,i=new Array(s),c=0;c<s;c++)i[c]=arguments[c];const d=l[t],h=[...d.parameters,...d.requestBody?[{required:d.requestBody.required,schema:Object.values(d.requestBody.content)[0].schema,name:"__requestBody"}]:[]],p=h.filter((e=>e.required)).map((e=>e.name));if(![0,1].includes(i.length-p.length))throw new S(r,p.length,i.length);const f=p.reduce(((e,t,n)=>({...e,[t]:i[n]})),i[p.length]||{}),{__requestBody:m,__queue:g,...y}=pn(f,(e=>{let[t,n]=e;if("object"!=typeof n)return[t,n];const r=Object.keys(h.find((e=>e.name===t)).schema.properties),s=fn(a?n:gn(n),(e=>{let[t]=e;return r.includes(t)}));return[t,o.stringify(s)]})),w=async()=>(await n(y,{requestBody:m})).body;if(!g)return w();const b=(null!==(e=u[g])&&void 0!==e?e:Promise.resolve()).then(w,w);return u[g]=b.then((()=>new Promise((e=>setTimeout(e,750))))),b}]}));return Object.assign(i,{api:h})};function Rs(e,t,n){const r=e=>e.split(/[-+]/)[0].split(".").map((e=>+e)),a=r(e),s=r(t),o=r(n),i=Math.max(...a,...s,...o)+1,c=e=>e.reverse().reduce(((e,t,n)=>e+t*Math.pow(i,n)),0),d=c(a),l=c(s),u=c(o);return d>=l&&d<u}function Ds(){var e;let{networkId:t,force:n=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const r=t||this.networkId||(null===(e=this.selectedNode)||void 0===e?void 0:e.networkId);if(!n&&!r)throw new M("networkId is not provided");return n&&!r?null:r}const Fs=Es.compose({async init(e){let{url:t,internalUrl:n,ignoreVersion:r}=e;if(!t)throw new M('"url" required');this.url=t.replace(/\/$/,""),this.internalUrl=null==n?void 0:n.replace(/\/$/,"");const a=await Ms(`${this.url}/api?oas3`,{internalUrl:this.internalUrl,responseInterceptor:e=>{if(!e.ok)return Object.assign(e,{statusText:`${new URL(e.url).pathname.slice(1)} error: `+e.body.reason})}});if(this.version=a.spec.info.version,!Rs(this.version,Vs,qs)&&!r)throw new K("node",this.version,Vs,qs);this.api=a.api;const{nodeRevision:s,genesisKeyBlockHash:o,networkId:i,protocols:c,topBlockHeight:d}=await this.api.getStatus();return this.consensusProtocolVersion=c.filter((e=>{let{effectiveAtHeight:t}=e;return d>=t})).reduce(((e,t)=>t.effectiveAtHeight>e.effectiveAtHeight?t:e),{effectiveAtHeight:-1,version:0}).version,this.nodeNetworkId=i,Object.assign(this,{revision:s,genesisHash:o})},methods:{getNodeInfo(){return{url:this.url,internalUrl:this.internalUrl,nodeNetworkId:this.nodeNetworkId,version:this.version,consensusProtocolVersion:this.consensusProtocolVersion}}},props:{version:null,consensusProtocolVersion:null,nodeNetworkId:null}}),Vs="6.2.0",qs="7.0.0",$s=Fs,Us=e=>!["sign","address"].find((t=>"function"!=typeof e[t])),Hs=bs()({init(e){let{networkId:t}=e;!this.networkId&&t&&(this.networkId=t)},methods:{signTransaction:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=[this.getNetworkId(t)];t.innerTx&&n.push("inner_tx");const r=xt(e,"tx"),a=Buffer.concat([Buffer.from(n.join("-")),It(r)]),s=[await this.sign(a,t)];return es({encodedTx:r,signatures:s},Nr.signed).tx},getNetworkId:Ds,signMessage:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{returnHex:!1};const n=await this.sign(Rt(e),t);return t.returnHex?Buffer.from(n).toString("hex"):n},verifyMessage:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return Ft(e,"string"==typeof t?Buffer.from(t,"hex"):t,xt(await this.address(n)))}}},(0,xs.required)({methods:{sign:xs.required,address:xs.required}})),Ks=bs()(vs,Hs,Is,{methods:{send:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n={...this.Ae.defaults,...t},{contractId:r,authFun:a}=t.innerTx?{contractId:!1}:await this.getAccount(await this.address(n)),s=r?await this.signUsingGA(e,{...n,authFun:a}):await this.signTransaction(e,n);return n.innerTx?{hash:rs.buildTxHash(s),rawTx:s}:this.sendTransaction(s,n)},spend:async function(e,t,n){const r={...this.Ae.defaults,...n};return this.send(await this.spendTx({...r,senderId:await this.address(r),recipientId:await this.resolveName(t,"account_pubkey",r),amount:e}),r)},transferFunds:async function(e,t,n){if(e<0||e>1)throw new O("fraction","a number between 0 and 1",e);const r={...this.Ae.defaults,...n},a=await this.resolveName(t,"account_pubkey",r),s=await this.address(r),o=new(m())(await this.balance(s)),i=o.times(e).integerValue(m().ROUND_HALF_UP),{tx:{fee:c}}=rs.unpackTx(await this.spendTx({...r,senderId:s,recipientId:a,amount:i})),d=i.plus(c).gt(o)?o.minus(c):i;return this.send(await this.spendTx({...r,senderId:s,recipientId:a,amount:d}),r)},payForTransaction:async function(e,t){const n={...this.Ae.defaults,...t};return this.send(await this.payingForTx({...n,payerId:await this.address(n),tx:e}),n)},destroyInstance:function(){["destroyClient","destroyServer"].forEach((e=>this[e]&&"function"==typeof this[e]&&this[e]()))},signUsingGA:async function(e){let{authData:t,authFun:n,...r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.createMetaTx(e,t,n,r)}},deepProps:{Ae:{defaults:{denomination:nn.AETTOS}}}}),Ws=Ks,Ls=[(e,t)=>{let{encodedTx:n,signatures:r}=e,{account:a,node:s,parentTxTypes:o}=t;if(void 0===(null!=n?n:r))return[];if(1!==r.length)return[];const i=Buffer.from([s.nodeNetworkId,...o.includes(Nr.payingFor)?["inner_tx"]:[]].join("-")),c=Buffer.concat([i,n.rlpEncoded]),d=Buffer.concat([i,It(n.rlpEncoded)]),l=xt(a.id,"ak");return Mt(c,r[0],l)||Mt(d,r[0],l)?[]:[{message:"Signature cannot be verified, please ensure that you transaction have the correct prefix and the correct private key for the sender address",key:"InvalidSignature",checkedKeys:["encodedTx","signatures"]}]},(e,t)=>{let{encodedTx:n,tx:r}=e,{node:a,parentTxTypes:s,txType:o}=t;return void 0===(null!=n?n:r)?[]:Qs(vt((null!=n?n:r).rlpEncoded,"tx"),a,[...s,o])},(e,t)=>{let{txType:n}=t;if(void 0===e.fee)return[];const r=za(0,n,{gas:+e.gas||0,params:e,showWarning:!1,vsn:e.VSN});return new(m())(r).lte(e.fee)?[]:[{message:`Fee ${e.fee} is too low, minimum fee for this transaction is ${r}`,key:"InsufficientFee",checkedKeys:["fee"]}]},(e,t)=>{let{ttl:n}=e,{height:r}=t;return void 0===n?[]:(n=+n,0===n||n>=r?[]:[{message:`TTL ${n} is already expired, current height is ${r}`,key:"ExpiredTTL",checkedKeys:["ttl"]}])},(e,t)=>{var n;let{amount:r,fee:a,nameFee:s,tx:o}=e,{account:i,parentTxTypes:c,txType:d}=t;if(void 0===(null!==(n=null!=r?r:a)&&void 0!==n?n:s))return[];const l=new(m())(a).plus(s||0).plus(r||0).plus(d===Nr.payingFor?o.tx.encodedTx.tx.fee:0).minus(c.includes(Nr.payingFor)?a:0);return l.lte(i.balance)?[]:[{message:`Account balance ${i.balance} is not enough to execute the transaction that costs ${l.toFixed()}`,key:"InsufficientBalance",checkedKeys:["amount","fee","nameFee"]}]},(e,t)=>{let{nonce:n}=e,{account:r,parentTxTypes:a}=t;if(void 0===n||a.includes(Nr.gaMeta))return[];n=+n;const s=r.nonce+1;return n===s?[]:[{...n<s?{message:`Nonce ${n} is already used, valid nonce is ${s}`,key:"NonceAlreadyUsed"}:{message:`Nonce ${n} is too high, valid nonce is ${s}`,key:"NonceHigh"},checkedKeys:["nonce"]}]},e=>{let{gasPrice:t}=e;return void 0===t||t>=ur?[]:[{message:`Gas price ${t} must be bigger then ${ur}`,key:"MinGasPrice",checkedKeys:["gasPrice"]}]},(e,t)=>{let{ctVersion:n,abiVersion:r}=e,{txType:a,node:s}=t;const{consensusProtocolVersion:o}=s.getNodeInfo(),i=jr[o];if(!i)throw new U(`Unsupported protocol: ${o}`);n||(n={abiVersion:r});const c=i[a];return c&&Object.entries(n).some((e=>{let[t,n]=e;return!c[t].includes(+n)}))?[{message:`ABI/VM version ${JSON.stringify(n)} is wrong, supported is: ${JSON.stringify(c)}`,key:"VmAndAbiVersionMismatch",checkedKeys:["ctVersion","abiVersion"]}]:[]},async(e,t)=>{let{contractId:n}=e,{txType:r,node:a}=t;if(Nr.contractCall!==r)return[];try{const{active:e}=await a.api.getContract(n);return e?[]:[{message:`Contract ${n} is not active`,key:"ContractNotActive",checkedKeys:["contractId"]}]}catch(e){var s,o;if(null===(s=e.response)||void 0===s||null===(o=s.body)||void 0===o||!o.reason)throw e;return[{message:e.response.body.reason,key:"ContractNotFound",checkedKeys:["contractId"]}]}}],Gs=e=>["senderId","accountId","ownerId","callerId","oracleId","fromId","initiator","gaId","payerId"].map((t=>e[t])).filter((e=>e)).map((e=>e.replace(/^ok_/,"ak_")))[0];async function Qs(e,t){var n;let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const{tx:a,txType:s}=ts(e),o=null!==(n=Gs(a))&&void 0!==n?n:s===Nr.signed?Gs(a.encodedTx.tx):null,[i,{height:c}]=await Promise.all([o&&t.api.getAccountByPubkey(o).catch((()=>({id:o,balance:new(m())(0),nonce:0}))),t.api.getCurrentKeyBlockHeight()]);return(await Promise.all(Ls.map((e=>e(a,{txType:s,node:t,account:i,height:c,parentTxTypes:r}))))).flat()}const zs=bs()({init(){let{nodes:e=[]}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.pool=new Map,this.validateNodes(e),e.forEach(((e,t)=>{const{name:n,instance:r}=e;this.addNode(n,r,0===t)})),e.length&&this.selectNode(e[0].name)},propertyDescriptors:{api:{enumerable:!0,configurable:!1,get(){if(!this.selectedNode||!this.selectedNode.instance)throw new je("You can't use Node API. Node is not connected or not defined!");return this.selectedNode.instance.api}}},methods:{addNode(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(this.pool.has(e))throw new Be(e);this.validateNodes([{name:e,instance:t}]),this.pool.set(e,{name:e,instance:t,url:t.url,internalUrl:t.internalUrl,networkId:t.nodeNetworkId,version:t.version,consensusProtocolVersion:t.consensusProtocolVersion}),!n&&this.selectedNode||this.selectNode(e)},selectNode(e){if(!this.pool.has(e))throw new je(`Node with name ${e} not in pool`);this.selectedNode=this.pool.get(e)},getNetworkId:Ds,isNodeConnected(){return!!this.selectedNode.instance},getNodeInfo(){if(!this.isNodeConnected())throw new Pe;return{name:this.selectedNode.name,...this.selectedNode.instance.getNodeInfo()}},getNodesInPool(){return Array.from(this.pool.entries()).map((e=>{let[t,n]=e;return{name:t,...n.instance.getNodeInfo()}}))},validateNodes(e){if(!Array.isArray(e))throw new q('"nodes" should be an array');const t=e.map((e=>typeof e)).find((e=>"object"!==e));if(t)throw new q(`Each node should be an object, got ${t} instead`);const n=e.find((e=>"string"!=typeof e.name||"object"!=typeof e.instance));if(t)throw new q(`Each node should have name (string), instance (object) fields, got ${JSON.stringify(n)} instead`);const r=e.map((e=>e.instance)).find((e=>"object"!=typeof e.api||"string"!=typeof e.genesisHash||"number"!=typeof e.consensusProtocolVersion));if(r)throw new q(`Each node instance should have api (object), consensusProtocolVersion (number), genesisHash (string) fields, got ${JSON.stringify(r)} instead`)}},props:{selectedNode:{}}});async function Ys(e){const t=this._txDryRun[e];let n;delete this._txDryRun[e];try{n=await this.api.protectedDryRunTxs({top:t[0].top,txEvents:t[0].txEvents,txs:t.map((e=>({tx:e.tx}))),accounts:Array.from(new Set(t.map((e=>e.accountAddress)))).map((e=>({pubKey:e,amount:pr.amount})))})}catch(e){return void t.forEach((t=>{let{reject:n}=t;return n(e)}))}const{results:r,txEvents:a}=n;r.forEach(((e,n)=>{let{result:r,reason:s,...o}=e;const{resolve:i,reject:c,tx:d,options:l,accountAddress:u}=t[n];if("ok"===r)return i({...o,txEvents:a});c(Object.assign(new Fe(s),{tx:d,accountAddress:u,options:l}))}))}const Xs=Is.compose(zs,{methods:{sendTransaction:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n={...this.Ae.defaults,...t};if(n.verify){const t=await Qs(e,this.selectedNode.instance);if(t.length){const n="Transaction verification errors: "+t.map((e=>e.message)).join(", ");throw Object.assign(new $e(n),{code:"TX_VERIFICATION_ERROR",validation:t,transaction:e})}}try{var r;const{txHash:a}=await this.api.postTransaction({tx:e},{__queue:`tx-${await(null===(r=this.address)||void 0===r?void 0:r.call(this,t).catch((()=>"")))}`});if(n.waitMined){const n={...await this.poll(a,t),rawTx:e};return t.confirm?{...n,confirmationHeight:await this.waitForTxConfirm(a,t)}:n}return{hash:a,rawTx:e}}catch(t){throw Object.assign(t,{rawTx:e,verifyTx:()=>Qs(e,this.selectedNode.instance)})}},balance:async function(e){let{height:t,hash:n,format:r=nn.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{balance:a}=await this.getAccount(e,{hash:n,height:t});return on(a,{targetDenomination:r}).toString()},getBalance:async function(e){let{height:t,hash:n,format:r=nn.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{balance:a}=await this.getAccount(e,{hash:n,height:t}).catch((e=>({balance:0})));return on(a,{targetDenomination:r}).toString()},getAccount:async function(e){let{height:t,hash:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t?this.api.getAccountByPubkeyAndHeight(e,t):n?this.api.getAccountByPubkeyAndHash(e,n):this.api.getAccountByPubkey(e)},tx:async function(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const n=await this.api.getTransactionByHash(e);if(["ContractCreateTx","ContractCallTx","ChannelForceProgressTx"].includes(n.tx.type)&&t&&-1!==n.blockHeight)try{return{...n,...await this.getTxInfo(e)}}catch(e){}return n},height:async function(){return(await this.api.getCurrentKeyBlockHeight()).height},awaitHeight:async function(e){let t,{interval:n=this._getPollInterval("block"),attempts:r=20}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(let a=0;a<r;a++)if(a&&await hn(n),t=await this.height(),t>=e)return t;throw new F((r-1)*n,t,e)},poll:async function(e){let{blocks:t=10,interval:n=this._getPollInterval("microblock")}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=await this.height()+t;do{const t=await this.api.getTransactionByHash(e);if(-1!==t.blockHeight)return t;await hn(n)}while(await this.height()<r);const a=this.api.getCheckTxInPool&&(await this.api.getCheckTxInPool(e)).status;throw new V(t,e,a)},getTxInfo:async function(e){const t=await this.api.getTransactionInfoByHash(e);return t.callInfo||t},mempool:async function(){return this.api.getPendingTransactions()},getCurrentGeneration:async function(){return this.api.getCurrentGeneration()},getGeneration:async function(e){if("string"==typeof e)return this.api.getGenerationByHash(e);if("number"==typeof e)return this.api.getGenerationByHeight(e);throw new O("hashOrHeight","a string or number",e)},getMicroBlockHeader:async function(e){return this.api.getMicroBlockHeaderByHash(e)},getMicroBlockTransactions:async function(e){return(await this.api.getMicroBlockTransactionsByHash(e)).transactions},getKeyBlock:async function(e){if("string"==typeof e)return this.api.getKeyBlockByHash(e);if("number"==typeof e)return this.api.getKeyBlockByHeight(e);throw new O("hashOrHeight","a string or number",e)},txDryRun:async function(e,t,n){var r,a,s;let{top:o,txEvents:i,combine:c}=n;const d=c?[o,i].join():"immediate";return null!==(r=this._txDryRun)&&void 0!==r||(this._txDryRun={}),null!==(s=(a=this._txDryRun)[d])&&void 0!==s||(a[d]=[]),new Promise(((n,r)=>{var a,s;this._txDryRun[d].push({tx:e,accountAddress:t,top:o,txEvents:i,resolve:n,reject:r}),c?null!==(s=(a=this._txDryRun[d]).timeout)&&void 0!==s||(a.timeout=setTimeout(Ys.bind(this,d))):Ys.call(this,d)}))},getContractByteCode:async function(e){return this.api.getContractCode(e)},getContract:async function(e){return this.api.getContract(e)},getName:async function(e){return this.api.getNameEntryByName(e)},waitForTxConfirm:async function e(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{confirm:3};n.confirm=!0===n.confirm?3:n.confirm;const{blockHeight:r}=await this.api.getTransactionByHash(t),a=await this.awaitHeight(r+n.confirm,n),{blockHeight:s}=await this.api.getTransactionByHash(t);switch(s){case-1:throw new Qe(t);case r:return a;default:return e(t,n)}},resolveName:async function(e,t){let{verify:n,resolveByNode:r}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!e||"string"!=typeof e)throw new Y(`Name or address should be a string: ${e}`);try{return xt(e),e}catch(e){}if(Gn(e)){if(n||r){const n=(await this.api.getNameEntryByName(e)).pointers.find((e=>e.key===t));if(!n)throw new Q(`Name ${e} don't have pointers for ${t}`);if(r)return n.id}return Dn(e)}throw new Y(`Invalid name or address: ${e}`)}}}),Js=Xs,Zs=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("object"!=typeof t)throw new q('tx "params" should be an object');if("string"!=typeof e||!Object.values(Nr).includes(e))throw new ze(`Unknown transaction type ${e}`);const r=za(t.fee,e,{gas:t.gas,params:t,vsn:t.vsn}),{rlpEncoded:a,binary:s,tx:o,txObject:i}=es({...t,fee:r},e,{vsn:t.vsn,...n});return{rlpEncoded:a,binary:s,encodedTx:o,params:i,type:e}},eo=e=>{if(!e)throw new $e(`Invalid transaction: ${e}`);if("string"==typeof e){const{txType:t,tx:n,rlpEncoded:r,binary:a}=ts(e);return{encodedTx:e,type:t,params:n,rlpEncoded:r,binary:a}}if(e instanceof Uint8Array){const{txType:t,tx:n,rlpEncoded:r,binary:a}=ts(e,!0);return{encodedTx:vt(e,"tx"),type:t,params:n,rlpEncoded:r,binary:a}}throw new $e(`"tx" should be a string or Uint8Array, got ${e} instead`)},to=bs()({init(){let{tx:e,params:t,type:n,options:r={}}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.options=r,this.signatures=[],Object.assign(this,function(){let{tx:e,params:t,type:n,options:r={}}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(t&&n)return Zs(n,t,r);if(e)return eo(e);throw new $e('Invalid TxObject arguments. Please provide one of { tx: "tx_asdasd23..." } or { type: "spendTx", params: {...} }')}({tx:e,params:t,type:n,options:r})),this.type===Nr.signed){const{signatures:e,encodedTx:{txType:t,tx:n}}=this.params;this.signatures=e,this.params=n,this.type=t,this.isSigned=!0}},statics:{fromString:e=>to({tx:e}),fromRlp:e=>to({tx:e})},methods:{setProp(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("object"!=typeof e)throw new q("Props should be an object");return this.isSigned=!1,this.signatures=[],Object.assign(this,Zs(this.type,{...this.params,...e,fee:null},{...this.options,...t})),this},getSignatures(){return this.signatures},addSignature(e){if(e=at(e)?Buffer.from(e,"hex"):e,!(Buffer.isBuffer(e)||e instanceof Uint8Array))throw new qe("Invalid signature, signature must be of type Buffer or Uint8Array");Object.assign(this,Zs(Nr.signed,{encodedTx:this.rlpEncoded,signatures:[[...this.signatures,e]]}));const{signatures:t,encodedTx:{txType:n,tx:r}}=this.params;this.signatures=t,this.params=r,this.type=n,this.isSigned=!0},calculateMinFee(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t={...this.params,...e};return za(0,this.type,{gas:t.gas,params:t,vsn:t.vsn})}}}),no=to;async function ro(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ar,t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(0===e)return 0;if(e<0)throw new O("ttl","greater or equal to 0",e);if(t){const{height:t}=await this.api.getCurrentKeyBlock();return+t+e}return e}const ao=Js.compose(vs,{init(e){let{nativeMode:t=!0,showWarning:n=!1}=e;this.nativeMode=t,this.showWarning=n},props:{nativeMode:!0,showWarning:!1},methods:{spendTx:async function(e){let{senderId:t,recipientId:n,amount:r,payload:a=""}=e;const{fee:s,ttl:o,nonce:i}=await this.prepareTxParams(Nr.spend,{senderId:t,...arguments[0],payload:a}),{tx:c}=this.nativeMode?{tx:to({params:{...arguments[0],recipientId:n,senderId:t,nonce:i,ttl:o,payload:a},type:Nr.spend}).encodedTx}:await this.api.postSpend({...arguments[0],amount:parseInt(r),recipientId:n,senderId:t,nonce:i,ttl:o,fee:parseInt(s),payload:a});return c},namePreclaimTx:async function(e){let{accountId:t,commitmentId:n}=e;const{fee:r,ttl:a,nonce:s}=await this.prepareTxParams(Nr.namePreClaim,{senderId:t,...arguments[0]}),{tx:o}=this.nativeMode?{tx:to({params:{...arguments[0],nonce:s,ttl:a,fee:r},type:Nr.namePreClaim}).encodedTx}:await this.api.postNamePreclaim({...arguments[0],nonce:s,ttl:a,fee:parseInt(r)});return o},nameClaimTx:async function(e){let{accountId:t,name:n,nameSalt:r,vsn:a=2}=e;const{fee:s,ttl:o,nonce:i}=await this.prepareTxParams(Nr.nameClaim,{senderId:t,...arguments[0],vsn:a}),{tx:c}=this.nativeMode?{tx:to({params:{...arguments[0],nonce:i,ttl:o,fee:s,vsn:a},type:Nr.nameClaim}).encodedTx}:await this.api.postNameClaim({...arguments[0],nonce:i,ttl:o,fee:parseInt(s),name:vt(n,"nm")});return c},nameTransferTx:async function(e){let{accountId:t,nameId:n,recipientId:r}=e;const{fee:a,ttl:s,nonce:o}=await this.prepareTxParams(Nr.nameTransfer,{senderId:t,...arguments[0]}),{tx:i}=this.nativeMode?{tx:to({params:{...arguments[0],recipientId:r,nonce:o,ttl:s,fee:a},type:Nr.nameTransfer}).encodedTx}:await this.api.postNameTransfer({...arguments[0],recipientId:r,nonce:o,ttl:s,fee:parseInt(a)});return i},nameUpdateTx:async function(e){let{accountId:t,nameId:n,nameTtl:r,pointers:a,clientTtl:s}=e;const{fee:o,ttl:i,nonce:c}=await this.prepareTxParams(Nr.nameUpdate,{senderId:t,...arguments[0]}),{tx:d}=this.nativeMode?{tx:to({params:{...arguments[0],nonce:c,ttl:i,fee:o},type:Nr.nameUpdate}).encodedTx}:await this.api.postNameUpdate({...arguments[0],nonce:c,ttl:i,fee:parseInt(o)});return d},nameRevokeTx:async function(e){let{accountId:t,nameId:n}=e;const{fee:r,ttl:a,nonce:s}=await this.prepareTxParams(Nr.nameRevoke,{senderId:t,...arguments[0]}),{tx:o}=this.nativeMode?{tx:to({params:{...arguments[0],nonce:s,ttl:a,fee:r},type:Nr.nameRevoke}).encodedTx}:await this.api.postNameRevoke({...arguments[0],nonce:s,ttl:a,fee:parseInt(r)});return o},contractCreateTx:async function(e){let{ownerId:t,code:n,vmVersion:r,abiVersion:a,amount:s,gas:o,gasPrice:i=ur,callData:c}=e;const d=this.getVmVersion(Nr.contractCreate,arguments[0]),{fee:l,ttl:u,nonce:h}=await this.prepareTxParams(Nr.contractCreate,{senderId:t,...arguments[0],ctVersion:d,gasPrice:i});return this.nativeMode?{tx:to({params:{...arguments[0],nonce:h,ttl:u,fee:l,ctVersion:d,gasPrice:i},type:Nr.contractCreate}).encodedTx,contractId:jn(t,h)}:this.api.postContractCreate({...arguments[0],nonce:h,ttl:u,fee:parseInt(l),gas:parseInt(o),gasPrice:i,vmVersion:d.vmVersion,abiVersion:d.abiVersion})},contractCallTx:async function(e){let{callerId:t,contractId:n,abiVersion:r,amount:a,gas:s,gasPrice:o=ur,callData:i}=e;const c=this.getVmVersion(Nr.contractCall,arguments[0]),{fee:d,ttl:l,nonce:u}=await this.prepareTxParams(Nr.contractCall,{senderId:t,...arguments[0],gasPrice:o,abiVersion:c.abiVersion}),{tx:h}=this.nativeMode?{tx:to({params:{...arguments[0],nonce:u,ttl:l,fee:d,abiVersion:c.abiVersion,gasPrice:o},type:Nr.contractCall}).encodedTx}:await this.api.postContractCall({...arguments[0],nonce:u,ttl:l,fee:parseInt(d),gas:parseInt(s),gasPrice:o,abiVersion:c.abiVersion});return h},prepareTxParams:async function(e,t){let{senderId:n,nonce:r,ttl:a,fee:s,gas:o,absoluteTtl:i,vsn:c,strategy:d}=t;r=r||(await this.api.getAccountNextNonce(n,{strategy:d}).catch((e=>({nextNonce:1})))).nextNonce;const l=await ro.call(this,a,!i),u=za(s,e,{showWarning:this.showWarning,gas:o,params:{...arguments[1],nonce:r,ttl:l},vsn:c});return{fee:u,ttl:l,nonce:r}},oracleRegisterTx:async function(e){let{accountId:t,queryFormat:n,responseFormat:r,queryFee:a,oracleTtl:s,abiVersion:o=Pr.NO_ABI}=e;const{fee:i,ttl:c,nonce:d}=await this.prepareTxParams(Nr.oracleRegister,{senderId:t,...arguments[0],abiVersion:o}),{tx:l}=this.nativeMode?{tx:to({params:{accountId:t,queryFee:a,abiVersion:o,fee:i,oracleTtl:s,nonce:d,ttl:c,queryFormat:n,responseFormat:r},type:Nr.oracleRegister}).encodedTx}:await this.api.postOracleRegister({accountId:t,queryFee:a,abiVersion:o,fee:parseInt(i),oracleTtl:s,nonce:d,ttl:c,queryFormat:n,responseFormat:r});return l},oracleExtendTx:async function(e){let{oracleId:t,callerId:n,oracleTtl:r}=e;const{fee:a,ttl:s,nonce:o}=await this.prepareTxParams(Nr.oracleExtend,{senderId:n,...arguments[0]}),{tx:i}=this.nativeMode?{tx:to({params:{oracleId:t,fee:a,oracleTtl:r,nonce:o,ttl:s},type:Nr.oracleExtend}).encodedTx}:await this.api.postOracleExtend({oracleId:t,fee:parseInt(a),oracleTtl:r,nonce:o,ttl:s});return i},oraclePostQueryTx:async function(e){let{oracleId:t,responseTtl:n,query:r,queryTtl:a,queryFee:s,senderId:o}=e;const{fee:i,ttl:c,nonce:d}=await this.prepareTxParams(Nr.oracleQuery,{senderId:o,...arguments[0]}),{tx:l}=this.nativeMode?{tx:to({params:{oracleId:t,responseTtl:n,query:r,queryTtl:a,fee:i,queryFee:s,ttl:c,nonce:d,senderId:o},type:Nr.oracleQuery}).encodedTx}:await this.api.postOracleQuery({oracleId:t,responseTtl:n,query:r,queryTtl:a,fee:parseInt(i),queryFee:s,ttl:c,nonce:d,senderId:o});return l},oracleRespondTx:async function(e){let{oracleId:t,callerId:n,responseTtl:r,queryId:a,response:s}=e;const{fee:o,ttl:i,nonce:c}=await this.prepareTxParams(Nr.oracleResponse,{senderId:n,...arguments[0]}),{tx:d}=this.nativeMode?{tx:to({params:{oracleId:t,responseTtl:r,queryId:a,response:s,fee:o,ttl:i,nonce:c},type:Nr.oracleResponse}).encodedTx}:await this.api.postOracleRespond({oracleId:t,responseTtl:r,queryId:a,response:s,fee:parseInt(o),ttl:i,nonce:c});return d},channelCloseSoloTx:async function(e){let{channelId:t,fromId:n,payload:r,poi:a}=e;const{fee:s,ttl:o,nonce:i}=await this.prepareTxParams(Nr.channelCloseSolo,{senderId:n,...arguments[0],payload:r}),{tx:c}=this.nativeMode?es({...arguments[0],channelId:t,fromId:n,payload:r,poi:a,ttl:o,fee:s,nonce:i},Nr.channelCloseSolo):await this.api.postChannelCloseSolo({...arguments[0],channelId:t,fromId:n,payload:r,poi:a,ttl:o,fee:parseInt(s),nonce:i});return c},channelSlashTx:async function(e){let{channelId:t,fromId:n,payload:r,poi:a}=e;const{fee:s,ttl:o,nonce:i}=await this.prepareTxParams(Nr.channelSlash,{senderId:n,...arguments[0],payload:r}),{tx:c}=this.nativeMode?es({...arguments[0],channelId:t,fromId:n,payload:r,poi:a,ttl:o,fee:s,nonce:i},Nr.channelSlash):await this.api.postChannelSlash({...arguments[0],channelId:t,fromId:n,payload:r,poi:a,ttl:o,fee:parseInt(s),nonce:i});return c},channelSettleTx:async function(e){let{channelId:t,fromId:n,initiatorAmountFinal:r,responderAmountFinal:a}=e;const{fee:s,ttl:o,nonce:i}=await this.prepareTxParams(Nr.channelSettle,{senderId:n,...arguments[0]}),{tx:c}=this.nativeMode?es({...arguments[0],channelId:t,fromId:n,initiatorAmountFinal:r,responderAmountFinal:a,ttl:o,fee:s,nonce:i},Nr.channelSettle):await this.api.postChannelSettle({...arguments[0],channelId:t,fromId:n,initiatorAmountFinal:parseInt(r),responderAmountFinal:parseInt(a),ttl:o,fee:parseInt(s),nonce:i});return c},channelSnapshotSoloTx:async function(e){let{channelId:t,fromId:n,payload:r}=e;const{fee:a,ttl:s,nonce:o}=await this.prepareTxParams(Nr.channelSnapshotSolo,{senderId:n,...arguments[0],payload:r}),{tx:i}=this.nativeMode?es({...arguments[0],channelId:t,fromId:n,payload:r,ttl:s,fee:a,nonce:o},Nr.channelSnapshotSolo):await this.api.postChannelSnapshotSolo({...arguments[0],channelId:t,fromId:n,payload:r,ttl:s,fee:parseInt(a),nonce:o});return i},gaAttachTx:async function(e){let{ownerId:t,code:n,vmVersion:r,abiVersion:a,authFun:s,gas:o,gasPrice:i=ur,callData:c}=e;const d=this.getVmVersion(Nr.contractCreate,arguments[0]),{fee:l,ttl:u,nonce:h}=await this.prepareTxParams(Nr.gaAttach,{senderId:t,...arguments[0],ctVersion:d,gasPrice:i});return{tx:to({params:{...arguments[0],nonce:h,ttl:u,fee:l,ctVersion:d,gasPrice:i},type:Nr.gaAttach}).encodedTx,contractId:jn(t,h)}},payingForTx:async function(e){let{tx:t,payerId:n,...r}=e;const a={tx:ts(t),payerId:n},{fee:s,nonce:o}=await this.prepareTxParams(Nr.payingFor,{...a,...r,senderId:n});return es({...a,...r,fee:s,nonce:o},Nr.payingFor).tx},getAccountNonce:async function(e,t){if(t)return t;const{nonce:n}=await this.api.getAccountByPubkey(e).catch((()=>({nonce:0})));return n+1},getVmVersion:function(e){let{vmVersion:t,abiVersion:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{consensusProtocolVersion:r}=this.getNodeInfo(),a=jr[r];if(!a)throw new U("Not supported consensus protocol version");const s=a[e];if(!s)throw new ze("Not supported tx type");if(n=n||s.abiVersion[0],t=t||s.vmVersion[0],!s.vmVersion.includes(t))throw new Xe(`VM VERSION ${t} do not support by this node. Supported: [${s.vmVersion}]`);if(!s.abiVersion.includes(n))throw new Ye(`ABI VERSION ${n} do not support by this node. Supported: [${s.abiVersion}]`);return{vmVersion:t,abiVersion:n}}}}),so=ao,oo=new WeakMap,io=Hs.compose({init(e){let{keypair:t,gaId:n}=e;if(this.isGa=!!n,n)return xt(n),void oo.set(this,{publicKey:n});if(!t||"object"!=typeof t)throw new L("KeyPair must be an object");if(!t.secretKey||!t.publicKey)throw new L('KeyPair must must have "secretKey", "publicKey" properties');if("string"!=typeof t.publicKey||-1===t.publicKey.indexOf("ak_"))throw new L('Public Key must be a base58c string with "ak_" prefix');if(!Buffer.isBuffer(t.secretKey)&&"string"==typeof t.secretKey&&!at(t.secretKey))throw new L("Secret key must be hex string or Buffer");const r=Buffer.from(xt(t.publicKey,"ak"));if(!Vt(Buffer.from(t.secretKey,"hex"),r))throw new L("Invalid Key Pair");oo.set(this,{secretKey:Buffer.isBuffer(t.secretKey)?t.secretKey:Buffer.from(t.secretKey,"hex"),publicKey:t.publicKey})},props:{isGa:!1},methods:{sign(e){if(this.isGa)throw new L("You are trying to sign data using generalized account without keypair");return Promise.resolve(jt(e,oo.get(this).secretKey))},address(){return Promise.resolve(oo.get(this).publicKey)}}}),co=Hs.compose(Es,{async init(e){let{accounts:t=[],address:n}=e;this.accounts=Object.fromEntries(await Promise.all(t.map((async e=>[await e.address(),e])))),n=n||Object.keys(this.accounts)[0],n&&this.selectAccount(n)},props:{accounts:{}},deepProps:{selectedAddress:null},methods:{async address(){let{onAccount:e=this.selectedAddress}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._resolveAccount(e).address()},async sign(e){let{onAccount:t=this.selectedAddress}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this._resolveAccount(t).sign(e)},addresses(){return Object.keys(this.accounts)},async addAccount(e){let{select:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=await e.address();this.accounts[n]=e,t&&this.selectAccount(n)},removeAccount(e){this.accounts[e]?(delete this.accounts[e],this.selectedAddress===e&&(this.selectedAddress=null)):console.warn(`removeAccount: Account for ${e} not available`)},selectAccount(e){if(xt(e,"ak"),!this.accounts[e])throw new G(e);this.selectedAddress=e},_resolveAccount(e){if(null===e)throw new q("Account should be an address (ak-prefixed string), keypair, or instance of account base, got null instead");switch(typeof e){case"string":if(xt(e,"ak"),!this.accounts[e])throw new G(e);return this.accounts[e];case"object":return Us(e)?e:io({keypair:e});default:throw new q(`Account should be an address (ak-prefixed string), keypair, or instance of account base, got ${e} instead`)}}}}),lo=Ws.compose({methods:{aensQuery:async function(e){var t=this;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Ln(e);const r=await this.getName(e);return Object.freeze(Object.assign(r,{pointers:r.pointers||[],update:async function(r){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{...await t.aensUpdate(e,r,{...n,...a}),...await t.aensQuery(e)}},transfer:async function(r){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{...await t.aensTransfer(e,r,{...n,...a}),...await t.aensQuery(e)}},revoke:async function(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return t.aensRevoke(e,{...n,...r})},extendTtl:async function(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:wn,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("number"!=typeof r||r>wn||r<=0)throw new O("nameTtl",`a number between 1 and ${wn} blocks`,r);return{...await t.aensUpdate(e,{},{...n,...a,nameTtl:r,extendPointers:!0}),...await t.aensQuery(e)}}}))},aensPreclaim:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Ln(e);const n={...this.Ae.defaults,...t},r=kt(),a=await this.height(),s=Fn(e,r),o=await this.namePreclaimTx({...n,accountId:await this.address(n),commitmentId:s}),i=await this.send(o,n);return Object.freeze({...i,height:a,claim:t=>this.aensClaim(e,r,{...t,onAccount:n.onAccount}),salt:r,commitmentId:s})},aensClaim:async function(e,t,n){Ln(e);const r={...this.Ae.defaults,...n},a=await this.nameClaimTx({...r,accountId:await this.address(r),nameSalt:t,name:e}),s=await this.send(a,r);if(!Jn(e)){const t=r.waitMined?await this.aensQuery(e,r):{};return Object.assign(s,t)}return{...s,nameFee:r.nameFee}},aensUpdate:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Ln(e);const r={...this.Ae.defaults,...n},a={...n.extendPointers&&Object.fromEntries((await this.getName(e)).pointers.map((e=>{let{key:t,id:n}=e;return[t,n]}))),...t},s=await this.nameUpdateTx({...r,nameId:e,accountId:await this.address(r),pointers:Object.entries(a).map((e=>{let[t,n]=e;return{key:t,id:n}}))});return this.send(s,r)},aensTransfer:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Ln(e);const r={...this.Ae.defaults,...n},a=await this.nameTransferTx({...r,nameId:e,accountId:await this.address(r),recipientId:t});return this.send(a,r)},aensRevoke:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Ln(e);const n={...this.Ae.defaults,...t},r=await this.nameRevokeTx({...n,nameId:e,accountId:await this.address(n)});return this.send(r,n)},aensBid:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.aensClaim(e,0,{...n,nameFee:t,vsn:2})}},deepProps:{Ae:{defaults:{clientTtl:vn,nameTtl:wn}}}}),uo=lo,ho=Es.compose({async init(e){let{compilerUrl:t,ignoreVersion:n}=e;t&&await this.setCompilerUrl(t,{ignoreVersion:n})},methods:{async setCompilerUrl(e){let{ignoreVersion:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)throw new M("compilerUrl required");e=e.replace(/\/$/,"");const n=await Ms(`${e}/api`,{disableBigNumbers:!0,disableCaseConversion:!0,responseInterceptor:e=>{if(e.ok)return;let t=`${new URL(e.url).pathname.slice(1)} error`;return e.body.reason&&(t+=": "+e.body.reason+(e.body.parameter?` in ${e.body.parameter}`:"")+(e.body.info?` (${JSON.stringify(e.body.info)})`:"")),Array.isArray(e.body)&&(t+=":\n"+e.body.map((e=>`${e.type}:${e.pos.line}:${e.pos.col}: ${e.message}${e.context?`(${e.context})`:""}`)).map((e=>e.trim())).join("\n")),e.statusText=t,e}});if(this.compilerVersion=n.spec.info.version,this.compilerApi=pn(n.api,(e=>{let[t,n]=e;return[t,function(){let{options:{filesystem:e,...t}={},...r}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return n({...r,options:{...t,file_system:e}})}]})),!t&&!Rs(this.compilerVersion,po,fo))throw new K("compiler",this.compilerVersion,po,fo)}},props:{compilerVersion:null}}),po="6.1.0",fo="7.0.0";var mo=v(946);const go=Ws.compose(ho,{methods:{getContractInstance:async function(){var e=this;let{source:t,bytecode:n,aci:r,contractAddress:a,filesystem:s={},validateBytecode:o,...i}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!r&&t&&(r=await this.compilerApi.generateACI({code:t,options:{filesystem:s}})),!r)throw new fe;if(a=a&&await this.resolveName(a,"contract_pubkey",{resolveByNode:!0}),!a&&!t&&!n)throw new pe("Can't create instance by ACI without address");if(a&&!(await this.getContract(a)).active)throw new ue(a);const c={_aci:r,_name:r.encoded_aci.contract.name,calldata:new mo.Encoder([r.encoded_aci,...r.external_encoded_aci]),source:t,bytecode:n,deployInfo:{address:a},options:{...this.Ae.defaults,callStatic:!1,filesystem:s,...i},compilerVersion:this.compilerVersion};if(o){if(!a)throw new pe("Can't validate bytecode without contract address");const e=(await this.getContractByteCode(a)).bytecode;if(!(t?await this.compilerApi.validateByteCode({bytecode:e,source:t,options:c.options}).then((e=>0===Object.entries(e).length),(()=>!1)):n===e))throw new de(t?"source":"bytecode")}c.compile=async function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(c.bytecode)throw new N("Contract already compiled");if(!c.source)throw new N("Can't compile without source code");const{bytecode:n}=await e.compilerApi.compileContract({code:c.source,options:{...c.options,...t}});return c.bytecode=n,c.bytecode};const d=async(e,t)=>{const n=await this.send(e,t),r={hash:n.hash,tx:no({tx:n.rawTx}),txData:n,rawTx:n.rawTx};if(!1===t.waitMined)return r;const{callInfo:a}=await this.api.getTransactionInfoByHash(n.hash);return Object.assign(r.txData,a),await l(a),{...r,result:a}},l=e=>{let t,{returnType:n,returnValue:r}=e;switch(n){case"ok":return;case"revert":t=c.calldata.decodeFateString(r);break;case"error":t=xt(r).toString();break;default:throw new W(`Unknown returnType: ${n}`)}throw new ge(t)};function u(e){const t=c._aci.encoded_aci.contract.functions.find((t=>t.name===e));if(t)return t;if("init"===e)return{payable:!1};throw new ye(`Function ${e} doesn't exist in contract`)}function h(e,t,n){let{contractAddressToName:r}=n;const a={...c.options.contractAddressToName,...r};if(a[e])return a[e];const s=[c._aci.encoded_aci,...c._aci.external_encoded_aci].filter((e=>{let{contract:t}=e;return null==t?void 0:t.event})).map((e=>{let{contract:t}=e;return[t.name,t.event.variant]})).map((e=>{let[t,n]=e;return n.map((e=>[t,Object.keys(e)[0]]))})).flat().filter((e=>{let[,n]=e;return BigInt("0x"+It(n).toString("hex"))===t}));switch(s.length){case 0:throw new be(t,e);case 1:return s[0][0];default:throw new xe(e,s)}}return c._estimateGas=async(e,t,n)=>{const{result:{gasUsed:r}}=await c.call(e,t,{...n,callStatic:!0});return Math.floor(1.25*r)},c.deploy=async function(){var t;let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],r=arguments.length>1?arguments[1]:void 0;const a={...c.options,...r};if(c.bytecode||await c.compile(a),a.callStatic)return c.call("init",n,a);if(c.deployInfo.address)throw new le;const s=await e.address(a),{tx:o,contractId:i}=await e.contractCreateTx({...a,gas:null!==(t=a.gas)&&void 0!==t?t:await c._estimateGas("init",n,a),callData:c.calldata.encode(c._name,"init",n),code:c.bytecode,ownerId:s}),{hash:l,rawTx:u,result:h,txData:p}=await d(o,a);return c.deployInfo=Object.freeze({result:h,owner:s,transaction:l,rawTx:u,txData:p,address:i}),c.deployInfo},c.call=async function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const a={...c.options,...r},s=u(t),o=c.deployInfo.address;if(!t)throw new me;if("init"===t&&!a.callStatic)throw new he('"init" can be called only via dryRun');if(!o&&"init"!==t)throw new he("You need to deploy contract before calling!");if("init"!==t&&a.amount>0&&!1===s.payable)throw new we(`You try to pay "${a.amount}" to function "${t}" which is not payable. Only payable function can accept coins`);const i=await e.address(a).catch((e=>{if(a.callStatic)return pr.pub;throw e})),h=c.calldata.encode(c._name,t,n);let p;if(a.callStatic){var f,m;"number"==typeof a.top&&(a.top=(await e.getKeyBlock(a.top)).hash);const n={...a,gas:null!==(f=a.gas)&&void 0!==f?f:lr,callData:h,nonce:null!==(m=a.nonce)&&void 0!==m?m:a.top&&(await e.getAccount(i,{hash:a.top})).nonce+1},r="init"===t?(await e.contractCreateTx({...n,code:c.bytecode,ownerId:i})).tx:await e.contractCallTx({...n,callerId:i,contractId:o}),{callObj:s,...d}=await e.txDryRun(r,i,a);await l(s),p={...d,tx:no({tx:r}),result:s}}else{var g;const r=await e.contractCallTx({...a,gas:null!==(g=a.gas)&&void 0!==g?g:await c._estimateGas(t,n,a),callerId:i,contractId:o,callData:h});p=await d(r,a)}return(a.waitMined||a.callStatic)&&(p.decodedResult=s.returns&&"unit"!==s.returns&&"init"!==t&&c.calldata.decode(c._name,t,p.result.returnValue),p.decodedEvents=c.decodeEvents(p.result.log,a)),p},c.decodeEvents=function(e){let{omitUnknown:t,...n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.map((e=>{const r=e.topics.map((e=>BigInt(e)));let a;try{a=h(e.address,r[0],n)}catch(e){if(t&&e instanceof be)return null;throw e}const s=c.calldata.decodeEvent(a,e.data,r),[o,i]=Object.entries(s)[0];return{name:o,args:i,contract:{name:a,address:e.address}}})).filter((e=>e))},c.methods=Object.fromEntries(c._aci.encoded_aci.contract.functions.map((e=>{let{name:t,arguments:n,stateful:r}=e;const a=e=>function(){for(var r=arguments.length,a=new Array(r),s=0;s<r;s++)a[s]=arguments[s];const o=a.length===n.length+1?a.pop():{};if("object"!=typeof o)throw new q(`Options should be an object: ${o}`);return"init"===t?c.deploy(a,{callStatic:e,...o}):c.call(t,a,{callStatic:e,...o})};return[t,Object.assign(a("init"!==t&&!r),{get:a(!0),send:a(!1)})]}))),c},delegateSignatureCommon:async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=await this.sign(Buffer.concat([Buffer.from(this.getNetworkId(t)),...e.map((e=>xt(e)))]),t);return Buffer.from(n).toString("hex")},createAensDelegationSignature:async function(e){let{contractId:t,name:n}=e,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.delegateSignatureCommon([await this.address(r),...n?[Dn(n)]:[],t],r)},createOracleDelegationSignature:async function(e){let{contractId:t,queryId:n}=e,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.delegateSignatureCommon([null!=n?n:await this.address(r),t],r)}},deepProps:{Ae:{defaults:{gasPrice:ur,amount:dr}}}}),yo=e=>async(t,n)=>{if("object"!=typeof t)throw new ce("AuthData must be an object");if(t.gas&&m()(t.gas).gt(hr))throw new ce(`the maximum gas value for ga authFun is ${hr}, got ${t.gas}`);const r=t.gas||hr;if(t.callData){if("cb"!==t.callData.split("_")[0])throw new ce('Auth data must be a string with "cb" prefix.');return{authCallData:t.callData,gas:r}}if(!t.source||!t.args)throw new ce("Auth data must contain source code and arguments.");const a=await e.getContractInstance({source:t.source});return{authCallData:a.calldata.encode(a._name,n,t.args),gas:r}},wo=go.compose({methods:{createGeneralizedAccount:async function(e,t){var n;let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const s={...this.Ae.defaults,...a},o=await this.address(s);if(await this.isGA(o))throw new N(`Account ${o} is already GA`);const i=await this.getContractInstance({source:t});await i.compile();const{tx:c,contractId:d}=await this.gaAttachTx({...s,gas:null!==(n=s.gas)&&void 0!==n?n:await i._estimateGas("init",r,s),ownerId:o,code:i.bytecode,callData:i.calldata.encode(i._name,"init",r),authFun:It(e)}),{hash:l,rawTx:u}=await this.send(c,s);return Object.freeze({owner:o,transaction:l,rawTx:u,gaContractId:d})},createMetaTx:async function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(!t)throw new M("authData is required");const{authCallData:a,gas:s}=await yo(this)(t,n),o={...this.Ae.defaults,...r},{abiVersion:i}=await this.getVmVersion(Nr.contractCall),c=xo(ts(e)),d={...o,tx:{...c,tx:c.txObject},gaId:await this.address(o),abiVersion:i,authData:a,gas:s,vsn:2},{fee:l}=await this.prepareTxParams(Nr.gaMeta,d),{rlpEncoded:u}=es({...d,fee:`${l}`},Nr.gaMeta,{vsn:2});return xo(u).tx},isGA:async function(e){const{contractId:t}=await this.getAccount(e);return!!t}}}),bo=wo,xo=e=>es({encodedTx:e,signatures:[]},Nr.signed),vo=1;let To,Io,Co,Eo,Ao;!function(e){e.to_waellet="to_waellet",e.to_aepp="to_aepp"}(To||(To={})),function(e){e.window="window",e.extension="extension"}(Io||(Io={})),function(e){e.subscribe="subscribe",e.unsubscribe="unsubscribe"}(Co||(Co={})),function(e){e.readyToConnect="connection.announcePresence",e.updateAddress="address.update",e.address="address.get",e.connect="connection.open",e.sign="transaction.sign",e.signMessage="message.sign",e.subscribeAddress="address.subscribe",e.updateNetwork="networkId.update",e.closeConnection="connection.close"}(Eo||(Eo={})),function(e){e.CONNECTED="CONNECTED",e.NODE_BINDED="NODE_BINDED",e.DISCONNECTED="DISCONNECTED",e.CONNECTION_REJECTED="CONNECTION_REJECTED",e.WAITING_FOR_CONNECTION_APPROVE="WAITING_FOR_CONNECTION_APPROVE",e.WAITING_FOR_CONNECTION_REQUEST="WAITING_FOR_CONNECTION_REQUEST"}(Ao||(Ao={}));const ko={broadcastFailed:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:3,data:e,message:"Broadcast failed"}},invalidTransaction:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:2,data:e,message:"Invalid transaction"}},rejectedByUser:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:4,data:e,message:"Operation rejected by user"}},connectionDeny:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:9,data:e,message:"Wallet deny your connection request"}},permissionDeny:e=>({code:11,message:`You are not subscribed for account ${e}`}),internalError:e=>({code:12,message:e}),notAuthorize:()=>({code:10,message:"You are not connected to the wallet"}),unsupportedProtocol:()=>({code:5,message:"Unsupported Protocol Version"}),unsupportedNetwork:()=>({code:8,message:"Unsupported Network"})},_o=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const{chrome:t,browser:n}=window;if(void 0!==t&&t===Object(t))return t;if(void 0!==n&&n===Object(n))return n;if(!e)throw new R;return{}},Oo=()=>window!==window.parent,No=e=>{let t=0;return function(n){let{id:r,method:a,params:s,result:o,error:i}=n,c=arguments.length>1&&void 0!==arguments[1]&&arguments[1];c||(t+=1),r=c?r||null:t;const d=s?{params:s}:o?{result:o}:{error:i};return e.sendMessage({jsonrpc:"2.0",...r?{id:r}:{},method:a,...d}),r}},So=function(e,t){let{debug:n=!1}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=e[t.method];return r&&"function"==typeof r?r:(n&&console.log(`Unknown message method ${t.method}`),()=>async()=>!0)},Po=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{method:e,params:t}},Bo=function(e,t){let{error:n,result:r}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return{id:e,method:t,...n?{error:n}:{result:r}}},jo=e=>(t,n,r)=>e.sendMessage(Bo(t,n,r),!0),Mo=e=>3===["","connected","current"].filter((t=>"object"==typeof(t?e[t]:e))).length,Ro=bs()({init(e){let{id:t,name:n,networkId:r,icons:a,connection:s,handlers:[o,i]}=e;this.id=t,this.connection=s,this.info={name:n,networkId:r,icons:a},this.callbacks={},this.addressSubscription=[],this.accounts={},this.sendMessage=No(this.connection),s.connect(((e,t)=>{if(!e||!e.jsonrpc||"2.0"!==e.jsonrpc||!e.method)throw new J(e);o(e,t)}),((e,t)=>{this.disconnect(!0),"function"==typeof i&&i(t,this)}))},propertyDescriptors:{currentAccount:{enumerable:!0,configurable:!1,get(){return this.isHasAccounts()?Object.keys(this.accounts.current)[0]:void 0}},addresses:{enumerable:!0,configurable:!1,get(){return this.isHasAccounts()?[...Object.keys(this.accounts.current),...Object.keys(this.accounts.connected)]:[]}},origin:{enumerable:!0,configurable:!1,get(){return this.connection}}},methods:{updateInfo(e){Object.assign(this.info,e)},isHasAccounts(){return"object"==typeof this.accounts&&"object"==typeof this.accounts.connected&&"object"==typeof this.accounts.current},isSubscribed(){return this.addressSubscription.length&&this.isHasAccounts()},hasAccessToAccount(e){return!!e&&this.addresses.find((t=>t===e))},isConnected(){return this.connection.isConnected()&&(this.info.status===Ao.CONNECTED||this.info.status===Ao.NODE_BINDED)},getCurrentAccount(){let{onAccount:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e||Object.keys(this.accounts.current)[0]},disconnect(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.info.status=Ao.DISCONNECTED,this.addressSubscription=[],this.accounts={},e||this.connection.disconnect()},setAccounts(e){let{forceNotification:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!Mo(e))throw new q("Invalid accounts object. Should be object like: `{ connected: {}, selected: {} }`");this.accounts=e,t||this.sendMessage(Po(Eo.updateAddress,this.accounts),!0)},updateSubscription(e,t){return e!==Co.subscribe||this.addressSubscription.includes(t)||this.addressSubscription.push(t),e===Co.unsubscribe&&this.addressSubscription.includes(t)&&(this.addressSubscription=this.addressSubscription.filter((e=>e!==t))),this.addressSubscription},request(e,t){const n=this.sendMessage(Po(e,t));if(Object.prototype.hasOwnProperty.call(this.callbacks,n))throw new X;return new Promise(((e,t)=>{this.callbacks[n]={resolve:e,reject:t}}))},processResponse(e,t){let{id:n,error:r,result:a}=e;if(!this.callbacks[n])throw new Z(n);a?this.callbacks[n].resolve(..."function"==typeof t?t({id:n,result:a}):[a]):this.callbacks[n].reject(r),delete this.callbacks[n]}}}),Do={[Eo.updateAddress]:e=>t=>{let{params:n}=t;e.rpcClient.accounts=n,e.onAddressChange(n)},[Eo.updateNetwork]:e=>async t=>{let{params:n}=t;const{networkId:r,node:a}=n;e.rpcClient.info.networkId=r,a&&e.addNode(a.name,await $s(a),!0),e.onNetworkChange(n)},[Eo.closeConnection]:e=>t=>{e.disconnectWallet(),e.onDisconnect(t.params)}},Fo={[Eo.address]:e=>t=>e.rpcClient.processResponse(t),[Eo.connect]:e=>t=>{t.result&&(e.rpcClient.info.status=Ao.CONNECTED),e.rpcClient.processResponse(t)},[Eo.subscribeAddress]:e=>t=>{t.result&&(t.result.address&&(e.rpcClient.accounts=t.result.address),t.result.subscription&&(e.rpcClient.addressSubscription=t.result.subscription)),e.rpcClient.processResponse(t,(e=>{let{id:t,result:n}=e;return[n]}))},[Eo.sign]:e=>t=>{e.rpcClient.processResponse(t,(e=>{let{id:t,result:n}=e;return[n.signedTransaction||n.transactionHash]}))},[Eo.signMessage]:e=>t=>{e.rpcClient.processResponse(t,(e=>{let{id:t,result:n}=e;return[n.signature]}))}},Vo={},qo=Ws.compose({async init(e){let{name:t,connection:n,debug:r=!1,...a}=e;["onAddressChange","onDisconnect","onNetworkChange"].forEach((e=>{var t;const n=null!==(t=a[e])&&void 0!==t?t:()=>{};if("function"!=typeof n)throw new O(e,"a function",n);this[e]=n})),this.connection=n,this.name=t,this.debug=r,n&&await this.connectToWallet(n)},deepProps:{Ae:{defaults:{walletBroadcast:!0}}},methods:{sign(){},addresses(){if(!this.isSubscribedAccount())throw new ne;return[this.rpcClient.currentAccount,...Object.keys(this.rpcClient.accounts.connected)]},async connectToWallet(e){let{connectNode:t=!1,name:n="wallet-node",select:r=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.rpcClient&&this.rpcClient.isConnected())throw new Je("You are already connected to wallet "+this.rpcClient);var a;this.rpcClient=Ro({connection:e,networkId:this.getNetworkId({force:!0}),...e.connectionInfo,id:(0,qt.v4)(),handlers:[(a=this,async e=>e.id?Object.prototype.hasOwnProperty.call(a.rpcClient.callbacks,e.id)?So(Fo,e,{debug:a.debug})(a)(e):So(Vo,e,{debug:a.debug})(a)(e):So(Do,e,{debug:a.debug})(a)(e)),this.onDisconnect]});const s=await this.sendConnectRequest(t);if(t&&!Object.prototype.hasOwnProperty.call(s,"node"))throw new tt("Missing URLs of the Node");return t&&this.addNode(n,await $s(s.node),r),s},async disconnectWallet(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(!this.isConnected())throw new et("You are not connected to Wallet");e&&this.rpcClient.sendMessage(Po(Eo.closeConnection,{reason:"bye"}),!0),this.rpcClient.disconnect(),this.rpcClient=null},async address(){let{onAccount:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!this.isConnected())throw new et("You are not connected to Wallet");const t=this.rpcClient.currentAccount;if(!t)throw new ne;if(e&&!this.rpcClient.hasAccessToAccount(e))throw new ee(e);return e||t},async askAddresses(){if(!this.isConnected())throw new et("You are not connected to Wallet");if(!this.isSubscribedAccount())throw new ne;return this.rpcClient.request(Eo.address)},async subscribeAddress(e,t){if(!this.isConnected())throw new et("You are not connected to Wallet");return this.rpcClient.request(Eo.subscribeAddress,{type:e,value:t})},async signTransaction(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isConnected())throw new et("You are not connected to Wallet");if(!this.isSubscribedAccount())throw new ne;if(t.onAccount&&!this.rpcClient.hasAccessToAccount(t.onAccount))throw new ee(t.onAccount);return this.rpcClient.request(Eo.sign,{...t,tx:e,returnSigned:!0,networkId:this.getNetworkId()})},async signMessage(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isConnected())throw new et("You are not connected to Wallet");if(!this.isSubscribedAccount())throw new ne;if(t.onAccount&&!this.rpcClient.hasAccessToAccount(t.onAccount))throw new ee(t.onAccount);return this.rpcClient.request(Eo.signMessage,{...t,message:e})},async sendConnectRequest(e){return this.rpcClient.request(Eo.connect,{name:this.name,version:vo,networkId:this.getNetworkId({force:!0}),connectNode:e})},async send(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isConnected())throw new et("You are not connected to Wallet");if(!this.isSubscribedAccount())throw new ne;if(t.onAccount&&!this.rpcClient.hasAccessToAccount(t.onAccount))throw new ee(t.onAccount);const n={...this.Ae.defaults,...t};if(!n.walletBroadcast){const t=await this.signTransaction(e,{onAccount:n.onAccount});return this.sendTransaction(t,n)}return this.rpcClient.request(Eo.sign,{onAccount:n.onAccount,tx:e,returnSigned:!1,networkId:this.getNetworkId()})},isConnected(){return this.rpcClient&&this.rpcClient.isConnected()},isSubscribedAccount(){return void 0!==this.rpcClient.currentAccount}}}),$o=Ws.compose({methods:{registerOracle:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r={...this.Ae.defaults,...n},a=await this.address(r),s=await this.oracleRegisterTx({...r,accountId:a,queryFormat:e,responseFormat:t});return{...await this.send(s,r),...await this.getOracleObject(`ok_${a.slice(3)}`)}},respondToQuery:async function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const a={...this.Ae.defaults,...r},s=await this.address(a),o=await this.oracleRespondTx({...a,oracleId:e,queryId:t,callerId:s,response:n});return{...await this.send(o,a),...await this.getOracleObject(e)}},extendOracleTtl:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r={...this.Ae.defaults,...n},a=await this.address(r),s=await this.oracleExtendTx({...r,oracleId:e,callerId:a,oracleTtl:t});return{...await this.send(s,r),...await this.getOracleObject(e)}},postQueryToOracle:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=n.queryFee||(await this.api.getOracleByPubkey(e)).queryFee,a={...this.Ae.defaults,queryFee:r,...n},s=await this.address(a),o=await this.oraclePostQueryTx({...a,oracleId:e,senderId:s,query:t}),i=Mn(s,ts(o).tx.nonce,e);return{...await this.send(o,a),...await this.getQueryObject(e,i)}},pollForQueryResponse:async function(e,t){let{attempts:n=20,interval:r=this._getPollInterval("microblock")}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};for(let a=0;a<n;a++){a&&await hn(r);const{response:n}=await this.api.getOracleQueryByPubkeyAndQueryId(e,t),s=xt(n,"or");if(s.length)return String(s)}throw new F((n-1)*r)},pollForQueries:function(e,t){let{interval:n=this._getPollInterval("microblock")}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=new Set,a=async()=>{const n=((await this.api.getOracleQueriesByPubkey(e)).oracleQueries||[]).filter((e=>{let{id:t}=e;return!r.has(t)}));n.forEach((e=>{let{id:t}=e;return r.add(t)})),n.length&&t(n)};let s;return(async()=>{for(;!s;)await a().catch(console.error),await hn(n)})(),()=>{s=!0}},getOracleObject:async function(e){const t=await this.api.getOracleByPubkey(e),{oracleQueries:n}=await this.api.getOracleQueriesByPubkey(e);return{...t,queries:n,pollQueries:this.pollForQueries.bind(this,e),postQuery:this.postQueryToOracle.bind(this,e),respondToQuery:this.respondToQuery.bind(this,e),extendOracle:this.extendOracleTtl.bind(this,e),getQuery:this.getQueryObject.bind(this,e)}},getQueryObject:async function(e,t){const n=await this.api.getOracleQueryByPubkeyAndQueryId(e,t);return{...n,decodedQuery:xt(n.query).toString(),decodedResponse:xt(n.response).toString(),respond:this.respondToQuery.bind(this,e,t),pollForResponse:this.pollForQueryResponse.bind(this,e,t),decode:e=>xt(e)}}},deepProps:{Ae:{defaults:{queryFee:sr,oracleTtl:or,queryTtl:ir,responseTtl:cr}}}}),Uo=$o,Ho=Ws.compose(so,Uo,go,uo,Js,qo),Ko=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!e.find((e=>e===t))){if("object"!=typeof n.onAccount||!Us(n.onAccount))throw new q("Provided onAccount should be an AccountBase");t=n.onAccount}return t},Wo={[Eo.closeConnection]:(e,t)=>{let{client:n}=t;return async t=>{n.disconnect(!0),e.onDisconnect(t.params,n)}}},Lo={},Go={[Eo.connect](e,t,n,r){let{name:a,networkId:s,version:o,icons:i,connectNode:c}=r;return o!==vo?{error:ko.unsupportedProtocol()}:(n.updateInfo({status:Ao.WAITING_FOR_CONNECTION_APPROVE,name:a,networkId:s,icons:i,version:o,origin:window.location.origin,connectNode:c}),e("onConnection",{name:a,networkId:s,version:o},(function(){let{shareNode:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return n.updateInfo({status:e?Ao.NODE_BINDED:Ao.CONNECTED}),{result:{...t.getWalletInfo(),...e&&{node:t.selectedNode}}}}),(e=>(n.updateInfo({status:Ao.CONNECTION_REJECTED}),{error:ko.connectionDeny(e)}))))},[Eo.subscribeAddress](e,t,n,r){let{type:a,value:s}=r;return n.isConnected()?e("onSubscription",{type:a,value:s},(async function(){let{accounts:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{const r=e||t.getAccounts();if(!Mo(r))throw new q("Invalid provided accounts object");const o=n.updateSubscription(a,s);return n.setAccounts(r,{forceNotification:!0}),{result:{subscription:o,address:r}}}catch(e){return t.debug&&console.error(e),{error:ko.internalError(e.message)}}}),(e=>({error:ko.rejectedByUser(e)}))):{error:ko.notAuthorize()}},[Eo.address]:(e,t,n)=>n.isConnected()&&n.isSubscribed()?e("onAskAccounts",{},(function(){let{accounts:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{result:e||[...Object.keys(n.accounts.current),...Object.keys(n.accounts.connected)]}}),(e=>({error:ko.rejectedByUser(e)}))):{error:ko.notAuthorize()},[Eo.sign](e,t,n,r){const{tx:a,onAccount:s,networkId:o,returnSigned:i=!1}=r,c=s||n.currentAccount;return o&&n.updateInfo({networkId:o}),n.isConnected()?n.hasAccessToAccount(c)?o&&o===t.getNetworkId()?e("onSign",{tx:a,returnSigned:i,onAccount:c,txObject:no.fromString(a)},(async function(e){let n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{n=Ko(t.addresses(),c,r)}catch(e){return t.debug&&console.error(e),{error:ko.internalError(e.message)}}try{const r=e||a;return{result:i?{signedTransaction:await t.signTransaction(r,{onAccount:n})}:{transactionHash:await t.send(r,{onAccount:n,verify:!1})}}}catch(n){if(!i){const r=await Qs(e||a,t.selectedNode.instance);return r.length?{error:ko.invalidTransaction(r)}:{error:ko.broadcastFailed(n.message)}}throw n}}),(e=>({error:ko.rejectedByUser(e)}))):{error:ko.unsupportedNetwork()}:{error:ko.permissionDeny(c)}:{error:ko.notAuthorize()}},[Eo.signMessage](e,t,n,r){let{message:a,onAccount:s}=r;if(!n.isConnected())return{error:ko.notAuthorize()};const o=s||n.currentAccount;return n.hasAccessToAccount(o)?e("onMessageSign",{message:a,onAccount:o},(async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{const n=Ko(t.addresses(),o,e);return{result:{signature:await t.signMessage(a,{onAccount:n,returnHex:!0})}}}catch(e){return t.debug&&console.error(e),{error:ko.internalError(e.message)}}}),(e=>({error:ko.rejectedByUser(e)}))):{error:ko.permissionDeny(o)}}},Qo=(e,t)=>async(n,r)=>{const a=e.rpcClients[t];if(!n.id)return So(Wo,n,{debug:e.debug})(e,{client:a})(n,r);if(Object.prototype.hasOwnProperty.call(a.callbacks,n.id))return So(Lo,n,{debug:e.debug})(e,{client:a})(n,r);{const{id:t,method:s}=n,o=(n,o,i,c)=>()=>new Promise((d=>{e[n](a,{id:t,method:s,params:o,accept:function(){return d(i(...arguments))},deny:function(){return d(c(...arguments))}},r)})),i=So(Go,n,{debug:e.debug})(o,e,a,n.params),c="function"==typeof i?await i():i;jo(a)(t,s,c)}},zo=Ws.compose(co,{init(){var e=this;let{name:t,debug:n=!1,...r}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};["onConnection","onSubscription","onSign","onDisconnect","onAskAccounts","onMessageSign"].forEach((e=>{const t=r[e];if("function"!=typeof t)throw new O(e,"a function",t);this[e]=t})),this.debug=n,this.rpcClients={},this.name=t,this.id=(0,qt.v4)();const a=this.selectAccount.bind(this),s=this.addAccount.bind(this),o=this.selectNode.bind(this);this.selectAccount=function(t){let{condition:n=(()=>!0)}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};a(t),Object.values(e.rpcClients).filter((e=>e.isConnected()&&e.isSubscribed()&&e.hasAccessToAccount(t)&&n(e))).forEach((e=>e.setAccounts({current:{[t]:{}},connected:{...e.accounts.current,...Object.entries(e.accounts.connected).filter((e=>{let[n,r]=e;return n!==t})).reduce(((e,t)=>{let[n,r]=t;return{...e,[n]:r}}),{})}})))},this.addAccount=async function(t){let{select:n,meta:r={},condition:a=(()=>!0)}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};await s(t,{select:n});const o=await t.address();Object.values(e.rpcClients).filter((e=>e.isConnected()&&e.isSubscribed()&&a(e))).forEach((e=>e.setAccounts({current:{...n?{[o]:r}:e.accounts.current},connected:{...n?e.accounts.current:{[o]:r},...e.accounts.connected}})))},this.selectNode=e=>{o(e),Object.values(this.rpcClients).filter((e=>e.isConnected())).forEach((e=>{e.sendMessage(Po(Eo.updateNetwork,{networkId:this.getNetworkId(),...e.info.status===Ao.NODE_BINDED&&{node:this.selectedNode}}),!0)}))}},methods:{removeRpcClient(e){let{forceConnectionClose:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=this.rpcClients[e];if(!n)throw new te(e);n.disconnect(t),delete this.rpcClients[e]},addRpcClient(e){const t=(0,qt.v4)();return this.rpcClients[t]=Ro({id:t,info:{status:Ao.WAITING_FOR_CONNECTION_REQUEST},connection:e,handlers:[Qo(this,t),this.onDisconnect]}),t},shareWalletInfo(e){e({jsonrpc:"2.0",...Po(Eo.readyToConnect,this.getWalletInfo())})},getWalletInfo(){const e=_o(!0).runtime;return{id:e&&e.id?e.id:this.id,name:this.name,networkId:this.getNetworkId(),origin:window.location.origin,type:e&&e.id?Io.extension:Io.window}},getAccounts(){return{current:this.selectedAddress?{[this.selectedAddress]:{}}:{},connected:this.addresses().filter((e=>e!==this.selectedAddress)).reduce(((e,t)=>({...e,[t]:{}})),{})}}}}),Yo=Ws.compose(zo,so,go,Uo,uo,bo,Js);var Xo=v(397),Jo=v(735);const Zo=new WeakMap,ei=new WeakMap,ti=new WeakMap,ni=new WeakMap,ri=new WeakMap,ai=new WeakMap,si=new WeakMap,oi=new WeakMap,ii=new WeakMap,ci=new WeakMap,di=new WeakMap,li=new WeakMap,ui=new WeakMap,hi=new WeakMap,pi=new WeakMap,fi=new WeakMap;function mi(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];ai.get(e).emit(...n)}function gi(e,t){if(!t)throw new ie;ni.set(e,t),t.handler.enter&&t.handler.enter(e),vi(e)}function yi(e,t){t!==ei.get(e)&&(ei.set(e,t),mi(e,"statusChanged",t))}function wi(e,t){ti.set(e,t),mi(e,"stateChanged",t)}function bi(e,t){const{debug:n=!1}=Zo.get(e);n&&console.log("Send message: ",t),ri.get(e).send(Bs.stringify(t))}function xi(e,t,n){ii.set(e,[...ii.get(e)||[],{guard:t,action:n}]),vi(e)}async function vi(e){const t=ci.get(e),n=ii.get(e)||[];if(t||!n.length)return;const r=ni.get(e),a=n.findIndex((t=>t.guard(e,r)));if(-1===a)return;ii.set(e,n.filter(((e,t)=>a!==t))),ci.set(e,!0);const s=await Promise.resolve(n[a].action(e,r));ci.set(e,!1),gi(e,s)}async function Ti(e,t){const{handler:n,state:r}=ni.get(e);gi(e,await Promise.resolve(n(e,t,r)))}function Ii(e){clearTimeout(hi.get(e)),clearTimeout(pi.get(e)),hi.set(e,setTimeout((()=>{bi(e,{jsonrpc:"2.0",method:"channels.system",params:{action:"ping"}}),pi.set(e,setTimeout((()=>{Ei(e),mi(e,"error",new se)}),5e3))}),1e4))}function Ci(e,t,n){return new Promise(((r,a)=>{const s=di.set(e,di.get(e)+1).get(e);ui.get(e).set(s,(e=>{if(e.result)return r(e.result);if(e.error){const[{message:t}={}]=e.error.data||[];return a(new re(e.error.message+(t?`: ${t}`:"")))}})),bi(e,{jsonrpc:"2.0",method:t,id:s,params:n})}))}function Ei(e){ri.get(e).close(),clearTimeout(hi.get(e)),clearTimeout(pi.get(e))}async function Ai(e,t,n,r){let{url:a,...s}=r;Zo.set(e,s),ni.set(e,{handler:t}),ai.set(e,new Jo.EventEmitter),di.set(e,0),ui.set(e,new Map),si.set(e,[]);const o=new URL(a);Object.entries(s).filter((e=>{let[t]=e;return!["sign","debug"].includes(t)})).forEach((e=>{let[t,n]=e;return o.searchParams.set(rt(t),n)})),o.searchParams.set("protocol","json-rpc"),yi(e,"connecting");const i=new Xo.w3cwebsocket(o.toString());await new Promise(((t,r)=>Object.assign(i,{onerror:r,onopen:()=>{t(),yi(e,"connected"),s.reconnectTx&&(gi(e,{handler:n}),setTimeout((async()=>wi(e,(await Ci(e,"channels.get.offchain_state",{})).signed_tx)))),Ii(e)},onclose:()=>{yi(e,"disconnected"),clearTimeout(hi.get(e)),clearTimeout(pi.get(e))},onmessage:t=>{let{data:n}=t;return function(e,t){const n=Bs.parse(t),{debug:r=!1}=Zo.get(e);if(r&&console.log("Receive message: ",n),n.id){const t=ui.get(e).get(n.id);try{t(n)}finally{ui.get(e).delete(n.id)}}else"channels.message"!==n.method?"channels.system.pong"!==n.method?(si.get(e).push(n),async function(e){if(oi.get(e))return;const t=si.get(e);if(t.length){for(oi.set(e,!0);t.length;){const n=t.shift();try{await Ti(e,n)}catch(e){console.error("Error handling incoming message:"),console.error(n),console.error(e)}}oi.set(e,!1)}}(e)):n.params.channel_id!==li.get(e)&&null!=li.get(e)||Ii(e):mi(e,"message",n.params.data.message)}(e,n)}}))),ri.set(e,i)}async function ki(e,t){const{signatures:n,encodedTx:r}=ts(e).tx,a=await t(vt(r.rlpEncoded,"tx"));if("string"==typeof a){const{tx:e,txType:t}=ts(a);return es({signatures:n.concat(e.signatures),encodedTx:e.encodedTx.rlpEncoded},t).tx}return a}function _i(e,t,n){return n&&n.reject&&n.reject(Object.assign(new oe(`Unexpected message received:\n\n${JSON.stringify(t)}`),{wsMessage:t})),{handler:Ri}}function Oi(e,t,n){return"channels.info"===t.method?["channel_accept","funding_created"].includes(t.params.data.event)?(yi(e,{channel_accept:"accepted",funding_created:"halfSigned"}[t.params.data.event]),{handler:Si}):"channel_reestablished"===t.params.data.event?{handler:ji}:"fsm_up"===t.params.data.event?(fi.set(e,t.params.data.fsm_id),{handler:Oi}):{handler:Oi}:"channels.error"===t.method?(mi(e,"error",new ae(t.payload.message)),{handler:tc}):void 0}async function Ni(e,t,n){return"channels.info"===t.method&&"fsm_up"===t.params.data.event?(fi.set(e,t.params.data.fsm_id),wi(e,(await Ci(e,"channels.get.offchain_state",{})).signed_tx),{handler:Ri}):_i(0,t,n)}async function Si(e,t,n){const r={initiator:"initiator_sign",responder:"responder_sign"}[Zo.get(e).role];if(t.method===`channels.sign.${r}`){if(t.params.data.tx){const n=await Zo.get(e).sign(r,t.params.data.tx);return bi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{tx:n}}),{handler:Pi}}const n=await ki(t.params.data.signed_tx,(t=>Zo.get(e).sign(r,t)));return bi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{signed_tx:n}}),{handler:Pi}}}function Pi(e,t,n){if("channels.on_chain_tx"===t.method){if("funding_signed"===t.params.data.info&&"initiator"===Zo.get(e).role)return{handler:Bi};if("funding_created"===t.params.data.info&&"responder"===Zo.get(e).role)return{handler:Bi}}if("channels.info"===t.method&&"funding_signed"===t.params.data.event&&"initiator"===Zo.get(e).role)return li.set(e,t.params.channel_id),yi(e,"signed"),{handler:Pi}}function Bi(e,t,n){if("channels.info"===t.method){const e={funding_created:Bi,own_funding_locked:Bi,funding_locked:ji}[t.params.data.event];if(e)return{handler:e}}if("channels.on_chain_tx"===t.method)return mi(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),{handler:Bi}}function ji(e,t,n){if("channels.info"===t.method&&"open"===t.params.data.event)return li.set(e,t.params.channel_id),{handler:Mi}}function Mi(e,t,n){if("channels.update"===t.method)return wi(e,t.params.data.state),{handler:Ri}}async function Ri(e,t,n){switch(t.method){case"channels.info":switch(t.params.data.event){case"update":case"withdraw_created":case"deposit_created":return{handler:Vi};case"own_withdraw_locked":case"withdraw_locked":case"own_deposit_locked":case"deposit_locked":case"peer_disconnected":case"channel_reestablished":case"open":return mi(e,t.params.data.event),{handler:Ri};case"fsm_up":return fi.set(e,t.params.data.fsm_id),{handler:Ri};case"timeout":case"close_mutual":case"shutdown":return{handler:Ri};case"closing":return yi(e,"closing"),{handler:Ri};case"closed_confirmed":return yi(e,"closed"),{handler:tc};case"died":return yi(e,"died"),{handler:tc}}break;case"channels.on_chain_tx":return mi(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),{handler:Ri};case"channels.leave":return{handler:Ri};case"channels.update":return wi(e,t.params.data.state),{handler:Ri};case"channels.sign.shutdown_sign_ack":return Vi(e,t,n)}}async function Di(e,t,n){if("channels.sign.update"===t.method){const{sign:r}=n;if(t.params.data.tx)return bi(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:Fi,state:n};const a=await ki(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return bi(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:a}}),{handler:Fi,state:n};if("number"==typeof a)return bi(e,{jsonrpc:"2.0",method:"channels.update",params:{error:a}}),{handler:Di,state:n}}if("channels.error"===t.method)return n.reject(new ae(t.data.message)),{handler:Ri};if(t.error){const{data:e=[]}=t.error;return e.find((e=>1001===e.code))?n.reject(new P("Insufficient balance")):e.find((e=>1002===e.code))?n.reject(new N("Amount cannot be negative")):n.reject(new ae(t.error.message)),{handler:Ri}}return"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Ri}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Ri}):_i(0,t,n)}function Fi(e,t,n){return"channels.update"===t.method?(wi(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Ri}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Ri}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Ri}):t.error?(n.reject(new ae(t.error.message)),{handler:Ri}):_i(0,t,n)}async function Vi(e,t,n){const[,r]=t.method.match(/^channels\.sign\.([^.]+)$/)||[];if(r){if(t.params.data.tx){const n=await Zo.get(e).sign(r,t.params.data.tx,{updates:t.params.data.updates});if(n)return bi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{tx:n}}),{handler:Ri}}else{const a=await ki(t.params.data.signed_tx,(n=>Zo.get(e).sign(r,n,{updates:t.params.data.updates})));if("string"==typeof a)return bi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{signed_tx:a}}),{handler:Ri};if("number"==typeof a)return bi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{error:a}}),{handler:qi,state:n}}return bi(e,{jsonrpc:"2.0",method:"channels.update.new",params:{from:St().publicKey,to:St().publicKey,amount:1}}),{handler:qi,state:n}}return _i(0,t,n)}function qi(e,t,n){return t.error?{handler:qi,state:n}:"channels.conflict"===t.method?{handler:Ri}:_i(0,t,n)}async function $i(e,t,n){if("channels.sign.shutdown_sign"===t.method){if(t.params.data.tx)return bi(e,{jsonrpc:"2.0",method:"channels.shutdown_sign",params:{tx:await n.sign(t.params.data.tx)}}),{handler:Ui,state:n};const r=await ki(t.params.data.signed_tx,(e=>n.sign(e)));return bi(e,{jsonrpc:"2.0",method:"channels.shutdown_sign",params:{signed_tx:r}}),{handler:Ui,state:n}}return _i(0,t,n)}function Ui(e,t,n){return"channels.on_chain_tx"===t.method?{handler:tc,state:n}:_i(0,t,n)}function Hi(e,t,n){return"channels.leave"===t.method?(n.resolve({channelId:t.params.channel_id,signedTx:t.params.data.state}),Ei(e),{handler:tc}):"channels.error"===t.method?(n.reject(new ae(t.data.message)),{handler:Ri}):_i(0,t,n)}async function Ki(e,t,n){if("channels.sign.withdraw_tx"===t.method){const{sign:r}=n;if(t.params.data.tx)return bi(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:Wi,state:n};const a=await ki(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return bi(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{signed_tx:a}}),{handler:Wi,state:n};if("number"==typeof a)return bi(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{error:a}}),{handler:Wi,state:n}}return _i(0,t,n)}function Wi(e,t,n){if("channels.on_chain_tx"===t.method)return n.onOnChainTx&&n.onOnChainTx(t.params.data.tx),{handler:Wi,state:n};if("channels.info"===t.method&&["own_withdraw_locked","withdraw_locked"].includes(t.params.data.event)){const e={own_withdraw_locked:n.onOwnWithdrawLocked,withdraw_locked:n.onWithdrawLocked}[t.params.data.event];return e&&e(),{handler:Wi,state:n}}return"channels.update"===t.method?(wi(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Ri}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Ri}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Ri}):_i(0,t,n)}async function Li(e,t,n){if("channels.sign.deposit_tx"===t.method){const{sign:r}=n;if(t.params.data.tx)return bi(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:Gi,state:n};const a=await ki(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return bi(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{signed_tx:a}}),{handler:Gi,state:n};if("number"==typeof a)return bi(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{error:a}}),{handler:Gi,state:n}}return _i(0,t,n)}function Gi(e,t,n){if("channels.on_chain_tx"===t.method)return n.onOnChainTx&&n.onOnChainTx(t.params.data.tx),{handler:Gi,state:n};if("channels.info"===t.method&&["own_deposit_locked","deposit_locked"].includes(t.params.data.event)){const e={own_deposit_locked:n.onOwnDepositLocked,deposit_locked:n.onDepositLocked}[t.params.data.event];return e&&e(),{handler:Gi,state:n}}return"channels.update"===t.method?(wi(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Ri}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Ri}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Ri}):_i(0,t,n)}async function Qi(e,t,n){if("channels.sign.update"===t.method){if(t.params.data.tx)return bi(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await n.sign(t.params.data.tx)}}),{handler:zi,state:n};const r=await ki(t.params.data.signed_tx,(e=>n.sign(e)));if("string"==typeof r)return bi(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:r}}),{handler:zi,state:n};if("number"==typeof r)return bi(e,{jsonrpc:"2.0",method:"channels.update",params:{error:r}}),{handler:zi,state:n}}return _i(0,t,n)}function zi(e,t,n){if("channels.update"===t.method){const{round:r}=ts(t.params.data.state).tx.encodedTx.tx,a=Zo.get(e)[{initiator:"initiatorId",responder:"responderId"}[Zo.get(e).role]];return wi(e,t.params.data.state),n.resolve({accepted:!0,address:Ot(a,r),signedTx:t.params.data.state}),{handler:Ri}}return"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Ri}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Ri}):_i(0,t,n)}async function Yi(e,t,n){if("channels.sign.update"===t.method){if(t.params.data.tx)return bi(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await n.sign(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:Zi,state:n};const r=await ki(t.params.data.signed_tx,(e=>n.sign(e,{updates:t.params.data.updates})));if("string"==typeof r)return bi(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:r}}),{handler:Zi,state:n};if("number"==typeof r)return bi(e,{jsonrpc:"2.0",method:"channels.update",params:{error:r}}),{handler:Zi,state:n}}return _i(0,t,n)}async function Xi(e,t,n){if("channels.sign.force_progress_tx"===t.method){const r=await ki(t.params.data.signed_tx,(e=>n.sign(e,{updates:t.params.data.updates})));return bi(e,{jsonrpc:"2.0",method:"channels.force_progress_sign",params:{signed_tx:r}}),{handler:Ji,state:n}}return _i(0,t,n)}function Ji(e,t,n){return"channels.on_chain_tx"===t.method&&(n.onOnChainTx&&n.onOnChainTx(t.params.data),mi(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),n.resolve({accepted:!0,tx:t.params.data.tx})),_i(0,t,n)}function Zi(e,t,n){return"channels.update"===t.method?(wi(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Ri}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Ri}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Ri}):_i(0,t,n)}function ec(e,t,n){return"channels.calls_pruned.reply"===t.method?(n.resolve(),{handler:Ri}):(n.reject(new oe("Unexpected message received")),{handler:tc})}function tc(e,t,n){return n?"closing"===t.params.data.event?{handler:tc,state:n}:"channel_closed"===t.params.data.info?(n.closeTx=t.params.data.tx,{handler:tc,state:n}):"closed_confirmed"===t.params.data.event?(n.resolve(n.closeTx),{handler:tc}):{handler:tc,state:n}:{handler:tc}}function nc(e){return Object.entries(e).reduce(((e,t)=>{let[n,r]=t;return{...e,[nt(n)]:r}}),{})}Ri.enter=e=>{yi(e,"open")};const rc=Es.compose({async init(e){await Ai(this,e.existingFsmId?Ni:Oi,Ri,e)},methods:{on:function(e,t){ai.get(this).on(e,t)},off:function(e,t){ai.get(this).removeListener(e,t)},status:function(){return ei.get(this)},state:async function(){return nc(await Ci(this,"channels.get.offchain_state",{}))},round:function(){if(!ti.get(this))return null;const{txType:e,tx:t}=ts(ti.get(this)).tx.encodedTx;switch(e){case Nr.channelCreate:return 1;case Nr.channelOffChain:case Nr.channelWithdraw:case Nr.channelDeposit:return parseInt(t.round,10);default:return null}},id:function(){return li.get(this)},fsmId:function(){return fi.get(this)},update:function(e,t,n,r,a){return new Promise(((s,o)=>{xi(this,((e,t)=>t.handler===Ri),((i,c)=>(bi(i,{jsonrpc:"2.0",method:"channels.update.new",params:{from:e,to:t,amount:n,meta:a}}),{handler:Di,state:{resolve:s,reject:o,sign:r}})))}))},poi:async function(e){let{accounts:t,contracts:n}=e;return(await Ci(this,"channels.get.poi",{accounts:t,contracts:n})).poi},balances:async function(e){return Object.fromEntries((await Ci(this,"channels.get.balances",{accounts:e})).map((e=>[e.account,e.balance])))},leave:function(){return new Promise(((e,t)=>{xi(this,((e,t)=>t.handler===Ri),((n,r)=>(bi(n,{jsonrpc:"2.0",method:"channels.leave",params:{}}),{handler:Hi,state:{resolve:e,reject:t}})))}))},shutdown:function(e){return new Promise(((t,n)=>{xi(this,((e,t)=>t.handler===Ri),((r,a)=>(bi(r,{jsonrpc:"2.0",method:"channels.shutdown",params:{}}),{handler:$i,state:{sign:e,resolve:t,reject:n}})))}))},sendMessage:function(e,t){let n=e;"object"==typeof e&&(n=JSON.stringify(e));const r=e=>bi(e,{jsonrpc:"2.0",method:"channels.message",params:{info:n,to:t}});if("connecting"===this.status()){const e=t=>{"connecting"!==t&&(setTimeout((()=>r(this)),500),this.off("statusChanged",e))};this.on("statusChanged",e)}else r(this)},withdraw:function(e,t){let{onOnChainTx:n,onOwnWithdrawLocked:r,onWithdrawLocked:a}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((s,o)=>{xi(this,((e,t)=>t.handler===Ri),((i,c)=>(bi(i,{jsonrpc:"2.0",method:"channels.withdraw",params:{amount:e}}),{handler:Ki,state:{sign:t,resolve:s,reject:o,onOnChainTx:n,onOwnWithdrawLocked:r,onWithdrawLocked:a}})))}))},deposit:function(e,t){let{onOnChainTx:n,onOwnDepositLocked:r,onDepositLocked:a}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((s,o)=>{xi(this,((e,t)=>t.handler===Ri),((i,c)=>(bi(i,{jsonrpc:"2.0",method:"channels.deposit",params:{amount:e}}),{handler:Li,state:{sign:t,resolve:s,reject:o,onOnChainTx:n,onOwnDepositLocked:r,onDepositLocked:a}})))}))},createContract:function(e,t){let{code:n,callData:r,deposit:a,vmVersion:s,abiVersion:o}=e;return new Promise(((e,i)=>{xi(this,((e,t)=>t.handler===Ri),((c,d)=>(bi(c,{jsonrpc:"2.0",method:"channels.update.new_contract",params:{code:n,call_data:r,deposit:a,vm_version:s,abi_version:o}}),{handler:Qi,state:{sign:t,resolve:e,reject:i}})))}))},callContract:function(e,t){let{amount:n,callData:r,contract:a,abiVersion:s}=e;return new Promise(((e,o)=>{xi(this,((e,t)=>t.handler===Ri),((i,c)=>(bi(i,{jsonrpc:"2.0",method:"channels.update.call_contract",params:{amount:n,call_data:r,contract_id:a,abi_version:s}}),{handler:Yi,state:{resolve:e,reject:o,sign:t}})))}))},callContractStatic:async function(e){let{amount:t,callData:n,contract:r,abiVersion:a}=e;return nc(await Ci(this,"channels.dry_run.call_contract",{amount:t,call_data:n,contract_id:r,abi_version:a}))},getContractCall:async function(e){let{caller:t,contract:n,round:r}=e;return nc(await Ci(this,"channels.get.contract_call",{caller_id:t,contract_id:n,round:r}))},getContractState:async function(e){const t=await Ci(this,"channels.get.contract",{pubkey:e});return nc({...t,contract:nc(t.contract)})},disconnect:function(){return Ei(this)},cleanContractCalls:function(){return new Promise(((e,t)=>{xi(this,((e,t)=>t.handler===Ri),((n,r)=>(bi(n,{jsonrpc:"2.0",method:"channels.clean_contract_calls",params:{}}),{handler:ec,state:{resolve:e,reject:t}})))}))},forceProgress:function(e,t){let{amount:n,callData:r,contract:a,abiVersion:s,gas:o=1e6,gasPrice:i=1e9,nonce:c}=e,{onOnChainTx:d}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((e,c)=>{xi(this,((e,t)=>t.handler===Ri),((l,u)=>(bi(l,{jsonrpc:"2.0",method:"channels.force_progress",params:{amount:n,call_data:r,contract_id:a,abi_version:s,gas_price:i,gas:o}}),{handler:Xi,state:{resolve:e,reject:c,sign:t,onOnChainTx:d}})))}))}},statics:{reconnect:async function(e,t){const{sign:n}=e;return rc({...e,reconnectTx:await n("reconnect",es(t,Nr.channelReconnect).tx)})}}}),ac=rc,sc=Ws.compose(co,Js,so,uo,go,Uo,bo),oc=bs()({init(e){let{pageConnection:t,extConnection:n,allowCrossOrigin:r=!1}=e;if(!window)throw new $("Window object not found, you can run bridge only in browser");if(!t)throw new M("pageConnection required");if(!n)throw new M("extConnection required");this.allowCrossOrigin=r,this.pageConnection=t,this.extConnection=n},methods:{run:function(){const e=this.allowCrossOrigin;this.extConnection.connect((e=>{this.pageConnection.sendMessage(e)})),this.pageConnection.connect(((t,n,r)=>{(e||r===window)&&this.extConnection.sendMessage(t)}))},stop:function(){this.extConnection.disconnect(),this.pageConnection.disconnect()}}}),ic=(0,xs.required)({methods:{connect:xs.required,disconnect:xs.required,sendMessage:xs.required,isConnected:xs.required}}),cc=()=>{const e="object"==typeof _o(!0).extension,t=window&&window.location&&window.location.protocol.startsWith("http");return e&&t?window:Oo()?window.parent:void 0},dc=bs()({init(){let{connectionInfo:e={},target:t=cc(),self:n=window,origin:r,sendDirection:a,receiveDirection:s=To.to_aepp,debug:o=!1,forceOrigin:i=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(a&&!Object.keys(To).includes(a))throw new Ze(`sendDirection must be one of [${Object.keys(To)}]`);if(!Object.keys(To).includes(s))throw new Ze(`receiveDirection must be one of [${Object.keys(To)}]`);this.connectionInfo={id:(0,qt.v4)(),...e};const c=n,d=t;this.origin=r,this.debug=o,this.forceOrigin=i,this.sendDirection=a,this.receiveDirection=s,this.subscribeFn=e=>c.addEventListener("message",e,!1),this.unsubscribeFn=e=>c.removeEventListener("message",e,!1),this.postFn=e=>d.postMessage(e,this.origin||"*")},methods:{connect:function(e){const t=this.origin,n=this.receiveDirection,r=this.debug,a=this.forceOrigin;if(this.listener)throw new Je("You already connected");this.listener=(s,o)=>{if(s&&"object"==typeof s.data&&(a||!t||t===s.origin))if(r&&console.log("Receive message: ",s),s.data.type){if(s.data.type!==n)return;e(s.data.data,s.origin,s.source)}else e(s.data,s.origin,s.source)},this.subscribeFn(this.listener)},sendMessage:function(e){const t=this.sendDirection?{type:this.sendDirection,data:e}:e;this.debug&&console.log("Send message: ",t),this.postFn(t)},disconnect:function(){if(!this.listener)throw new et("You dont have connection. Please connect before");this.unsubscribeFn(this.listener),this.listener=null},isConnected:function(){return this.listener}}},ic),lc=bs()({init(){let{connection:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!window)throw new $("Window object not found, you can run wallet detector only in browser");this.connection=e||dc({connectionInfo:{id:"spy"}}),this.wallets={}},methods:{scan(e){const{wallets:t}=this;this.connection.connect(((n,r,a)=>{let{method:s,params:o}=n;if(!s||!o||s!==Eo.readyToConnect||t[o.id])return;const i={...o,async getConnection(){const e="extension"===this.type,t=e?window.origin:this.origin;return dc({connectionInfo:this,sendDirection:e?To.to_waellet:void 0,receiveDirection:e?To.to_aepp:void 0,target:a,origin:t})}};t[i.id]=i,e({wallets:t,newWallet:i})})),Object.keys(t).length&&e({wallets:t})},stopScan(){this.connection.disconnect()}}}),uc=bs()({init(e){let{connectionInfo:t={},port:n,debug:r=!1}=e;if(!_o().runtime)throw new tt("Runtime is not accessible in your environment");this.debug=r,this.connectionInfo=t,this.port=n||_o().runtime.connect(t.id||void 0)},methods:{connect:function(e,t){if(this.isConnected())throw new Je("You already connected");this.handler=(t,n)=>{this.debug&&console.log("Receive message: ",t),e(t,n)},this.port.onMessage.addListener(this.handler),this.port.onDisconnect.addListener((()=>{"function"==typeof t&&t({},this),this.port.disconnect()}))},sendMessage:function(e){if(!this.port)throw new et("You dont have connection. Please connect before");this.debug&&console.log("Send message: ",e),this.port.postMessage(e)},disconnect:function(){try{this.port.disconnect()}catch(e){console.warning("From BrowserRuntimeConnection: ",e)}},isConnected:function(){return"function"==typeof this.port.onMessage.hasListeners?this.port.onMessage.hasListeners():this.port.onMessage.hasListener(this.handler)}}},ic),hc=Qn})(),T})()}));
|
|
2
2
|
//# sourceMappingURL=aepp-sdk.js.map
|