@aeternity/aepp-sdk 10.0.0-beta.1 → 10.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1603 -0
- package/dist/aepp-sdk.browser-script.js +1 -1
- 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 +3 -1
- package/es/account/base.js.map +1 -1
- package/es/account/multiple.js +4 -2
- package/es/account/multiple.js.map +1 -1
- package/es/ae/aens.js +52 -38
- package/es/ae/aens.js.map +1 -1
- package/es/ae/contract.js +9 -5
- package/es/ae/contract.js.map +1 -1
- package/es/ae/index.js +4 -3
- package/es/ae/index.js.map +1 -1
- package/es/ae/oracle.js +4 -4
- package/es/ae/oracle.js.map +1 -1
- package/es/ae/universal.js.map +1 -1
- package/es/chain/index.js +8 -4
- package/es/chain/index.js.map +1 -1
- package/es/chain/node.js +15 -20
- package/es/chain/node.js.map +1 -1
- package/es/channel/handlers.js.map +1 -1
- package/es/channel/index.js +35 -14
- package/es/channel/index.js.map +1 -1
- package/es/contract/aci/index.js +12 -7
- package/es/contract/aci/index.js.map +1 -1
- package/es/contract/compiler.js +3 -1
- package/es/contract/compiler.js.map +1 -1
- package/es/contract/ga/helpers.js +6 -6
- package/es/contract/ga/helpers.js.map +1 -1
- package/es/contract/ga/index.js +6 -2
- package/es/contract/ga/index.js.map +1 -1
- package/es/contract/index.js +6 -2
- package/es/contract/index.js.map +1 -1
- package/es/index.js +1 -0
- package/es/index.js.map +1 -1
- package/es/node-pool/index.js +4 -2
- package/es/node-pool/index.js.map +1 -1
- package/es/node.js +9 -4
- package/es/node.js.map +1 -1
- package/es/tx/builder/helpers.js +20 -33
- package/es/tx/builder/helpers.js.map +1 -1
- package/es/tx/builder/index.js +13 -6
- package/es/tx/builder/index.js.map +1 -1
- package/es/tx/builder/schema.js +5 -4
- package/es/tx/builder/schema.js.map +1 -1
- package/es/tx/index.js +101 -12
- package/es/tx/index.js.map +1 -1
- package/es/tx/tx-object.js +9 -3
- package/es/tx/tx-object.js.map +1 -1
- package/es/tx/tx.js.map +1 -1
- package/es/utils/aepp-wallet-communication/connection/browser-runtime.js +3 -2
- package/es/utils/aepp-wallet-communication/connection/browser-runtime.js.map +1 -1
- package/es/utils/aepp-wallet-communication/connection/browser-window-message.js +15 -6
- package/es/utils/aepp-wallet-communication/connection/browser-window-message.js.map +1 -1
- package/es/utils/aepp-wallet-communication/connection/index.js +2 -1
- package/es/utils/aepp-wallet-communication/connection/index.js.map +1 -1
- package/es/utils/aepp-wallet-communication/content-script-bridge.js +10 -4
- package/es/utils/aepp-wallet-communication/content-script-bridge.js.map +1 -1
- package/es/utils/aepp-wallet-communication/helpers.js.map +1 -1
- package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.js +13 -5
- package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.js.map +1 -1
- package/es/utils/aepp-wallet-communication/rpc/rpc-client.js +9 -5
- package/es/utils/aepp-wallet-communication/rpc/rpc-client.js.map +1 -1
- package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.js +57 -40
- package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.js.map +1 -1
- package/es/utils/aepp-wallet-communication/wallet-detector.js.map +1 -1
- package/es/utils/crypto.js +1 -40
- package/es/utils/crypto.js.map +1 -1
- package/es/utils/keystore.js.map +1 -1
- package/es/utils/swagger.js +3 -1
- package/es/utils/swagger.js.map +1 -1
- package/package.json +11 -13
- package/src/account/base.js +3 -1
- package/src/account/multiple.js +4 -2
- package/src/ae/aens.js +41 -42
- package/src/ae/contract.js +9 -5
- package/src/ae/index.js +4 -3
- package/src/ae/oracle.js +9 -5
- package/src/ae/universal.js +3 -1
- package/src/chain/index.js +8 -4
- package/src/chain/node.js +17 -14
- package/src/channel/handlers.js +10 -3
- package/src/channel/index.js +40 -15
- package/src/contract/aci/index.js +15 -8
- package/src/contract/compiler.js +6 -2
- package/src/contract/ga/helpers.js +5 -3
- package/src/contract/ga/index.js +6 -2
- package/src/contract/index.js +6 -2
- package/src/index.js +2 -0
- package/src/node-pool/index.js +4 -2
- package/src/node.js +7 -4
- package/src/tx/builder/helpers.js +20 -33
- package/src/tx/builder/index.js +49 -13
- package/src/tx/builder/schema.js +37 -14
- package/src/tx/index.js +101 -12
- package/src/tx/tx-object.js +25 -6
- package/src/tx/tx.js +94 -28
- package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +3 -2
- package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +25 -7
- package/src/utils/aepp-wallet-communication/connection/index.js +2 -1
- package/src/utils/aepp-wallet-communication/content-script-bridge.js +10 -4
- package/src/utils/aepp-wallet-communication/helpers.js +4 -2
- package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +32 -9
- package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +9 -5
- package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +53 -22
- package/src/utils/aepp-wallet-communication/wallet-detector.js +4 -1
- package/src/utils/crypto.js +1 -52
- package/src/utils/keystore.js +10 -2
- package/src/utils/swagger.js +1 -1
package/dist/aepp-sdk.browser.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@stamp/it"),require("@stamp/required"),require("bignumber.js"),require("bs58check"),require("ed2curve"),require("tweetnacl"),require("aes-js"),require("sha.js"),require("blakejs"),require("buffer"),require("rlp"),require("swagger-client"),require("cross-fetch"),require("@aeternity/json-bigint"),require("uuid"),require("@aeternity/aepp-calldata"),require("websocket"),require("events"),require("libsodium-wrappers-sumo"),require("tweetnacl-auth"),require("bip32-path"),require("@aeternity/bip39")):"function"==typeof define&&define.amd?define([,,,,,,,,,,,,,,,,,,,,,],t):"object"==typeof exports?exports.Ae=t(require("@stamp/it"),require("@stamp/required"),require("bignumber.js"),require("bs58check"),require("ed2curve"),require("tweetnacl"),require("aes-js"),require("sha.js"),require("blakejs"),require("buffer"),require("rlp"),require("swagger-client"),require("cross-fetch"),require("@aeternity/json-bigint"),require("uuid"),require("@aeternity/aepp-calldata"),require("websocket"),require("events"),require("libsodium-wrappers-sumo"),require("tweetnacl-auth"),require("bip32-path"),require("@aeternity/bip39")):e.Ae=t(e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0])}(self,(function(e,t,n,r,o,a,i,s,c,u,l,d,h,p,f,m,g,y,w,b,v,x){return function(){var T={3007:function(e){e.exports=function(){return!0}},4115:function(e,t,n){var r=n(6224)((function(e){return function(){return e}}));e.exports=r},3195:function(e,t,n){var r=n(7455),o=n(9002)((function(e,t){return r(e.length,(function(){return e.apply(t,arguments)}))}));e.exports=o},7794:function(e,t,n){var r=n(7455),o=n(6224),a=n(1894),i=n(1186),s=n(793),c=o((function(e){var t=s(i,0,a((function(e){return e[0].length}),e));return r(t,(function(){for(var t=0;t<e.length;){if(e[t][0].apply(this,arguments))return e[t][1].apply(this,arguments);t+=1}}))}));e.exports=c},2220:function(e,t,n){var r=n(7455),o=n(6224),a=n(9002),i=n(2738),s=a((function(e,t){return 1===e?o(t):r(e,i(e,[],t))}));e.exports=s},2892:function(e,t,n){var r=n(9002)((function(e,t){return null==t||t!=t?e:t}));e.exports=r},1481:function(e,t,n){var r=n(9002),o=n(4023),a=r((function(e,t){return o(e,t,[],[])}));e.exports=a},1383:function(e,t,n){var r=n(9002),o=n(4793),a=n(4877),i=n(8291),s=n(9488),c=n(123),u=n(368),l=r(o(["filter"],c,(function(e,t){return i(t)?s((function(n,r){return e(t[r])&&(n[r]=t[r]),n}),{},u(t)):a(e,t)})));e.exports=l},7414:function(e,t,n){var r=n(6224)(n(5161)(!0));e.exports=r},9134:function(e,t,n){var r=n(6224),o=n(2220),a=r((function(e){return o(e.length,(function(t,n){var r=Array.prototype.slice.call(arguments,0);return r[0]=n,r[1]=t,e.apply(this,r)}))}));e.exports=a},5713:function(e,t,n){var r=n(1361),o=n(9002)(r);e.exports=o},7455:function(e){e.exports=function(e,t){switch(e){case 0:return function(){return t.apply(this,arguments)};case 1:return function(e){return t.apply(this,arguments)};case 2:return function(e,n){return t.apply(this,arguments)};case 3:return function(e,n,r){return t.apply(this,arguments)};case 4:return function(e,n,r,o){return t.apply(this,arguments)};case 5:return function(e,n,r,o,a){return t.apply(this,arguments)};case 6:return function(e,n,r,o,a,i){return t.apply(this,arguments)};case 7:return function(e,n,r,o,a,i,s){return t.apply(this,arguments)};case 8:return function(e,n,r,o,a,i,s,c){return t.apply(this,arguments)};case 9:return function(e,n,r,o,a,i,s,c,u){return t.apply(this,arguments)};case 10:return function(e,n,r,o,a,i,s,c,u,l){return t.apply(this,arguments)};default:throw new Error("First argument to _arity must be a non-negative integer no greater than ten")}}},4118:function(e){e.exports=function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}},8770:function(e){e.exports=function(e){return function(){return!e.apply(this,arguments)}}},6224:function(e,t,n){var r=n(6464);e.exports=function(e){return function t(n){return 0===arguments.length||r(n)?t:e.apply(this,arguments)}}},9002:function(e,t,n){var r=n(6224),o=n(6464);e.exports=function(e){return function t(n,a){switch(arguments.length){case 0:return t;case 1:return o(n)?t:r((function(t){return e(n,t)}));default:return o(n)&&o(a)?t:o(n)?r((function(t){return e(t,a)})):o(a)?r((function(t){return e(n,t)})):e(n,a)}}}},6370:function(e,t,n){var r=n(6224),o=n(9002),a=n(6464);e.exports=function(e){return function t(n,i,s){switch(arguments.length){case 0:return t;case 1:return a(n)?t:o((function(t,r){return e(n,t,r)}));case 2:return a(n)&&a(i)?t:a(n)?o((function(t,n){return e(t,i,n)})):a(i)?o((function(t,r){return e(n,t,r)})):r((function(t){return e(n,i,t)}));default:return a(n)&&a(i)&&a(s)?t:a(n)&&a(i)?o((function(t,n){return e(t,n,s)})):a(n)&&a(s)?o((function(t,n){return e(t,i,n)})):a(i)&&a(s)?o((function(t,r){return e(n,t,r)})):a(n)?r((function(t){return e(t,i,s)})):a(i)?r((function(t){return e(n,t,s)})):a(s)?r((function(t){return e(n,i,t)})):e(n,i,s)}}}},2738:function(e,t,n){var r=n(7455),o=n(6464);e.exports=function e(t,n,a){return function(){for(var i=[],s=0,c=t,u=0;u<n.length||s<arguments.length;){var l;u<n.length&&(!o(n[u])||s>=arguments.length)?l=n[u]:(l=arguments[s],s+=1),i[u]=l,o(l)||(c-=1),u+=1}return c<=0?a.apply(this,i):r(c,e(t,i,a))}}},4793:function(e,t,n){var r=n(219),o=n(9082);e.exports=function(e,t,n){return function(){if(0===arguments.length)return n();var a=Array.prototype.slice.call(arguments,0),i=a.pop();if(!r(i)){for(var s=0;s<e.length;){if("function"==typeof i[e[s]])return i[e[s]].apply(i,a);s+=1}if(o(i)){var c=t.apply(null,a);return c(i)}}return n.apply(this,arguments)}}},4023:function(e,t,n){var r=n(4118),o=n(2976),a=n(4931),i=n(7684),s=n(1361),c=n(368),u=n(6433);function l(e,t,n,a){var i=r(e),s=r(t);function c(e,t){return d(e,t,n.slice(),a.slice())}return!o((function(e,t){return!o(c,t,e)}),s,i)}function d(e,t,n,r){if(s(e,t))return!0;var o=u(e);if(o!==u(t))return!1;if(null==e||null==t)return!1;if("function"==typeof e["fantasy-land/equals"]||"function"==typeof t["fantasy-land/equals"])return"function"==typeof e["fantasy-land/equals"]&&e["fantasy-land/equals"](t)&&"function"==typeof t["fantasy-land/equals"]&&t["fantasy-land/equals"](e);if("function"==typeof e.equals||"function"==typeof t.equals)return"function"==typeof e.equals&&e.equals(t)&&"function"==typeof t.equals&&t.equals(e);switch(o){case"Arguments":case"Array":case"Object":if("function"==typeof e.constructor&&"Promise"===a(e.constructor))return e===t;break;case"Boolean":case"Number":case"String":if(typeof e!=typeof t||!s(e.valueOf(),t.valueOf()))return!1;break;case"Date":if(!s(e.valueOf(),t.valueOf()))return!1;break;case"Error":return e.name===t.name&&e.message===t.message;case"RegExp":if(e.source!==t.source||e.global!==t.global||e.ignoreCase!==t.ignoreCase||e.multiline!==t.multiline||e.sticky!==t.sticky||e.unicode!==t.unicode)return!1}for(var h=n.length-1;h>=0;){if(n[h]===e)return r[h]===t;h-=1}switch(o){case"Map":return e.size===t.size&&l(e.entries(),t.entries(),n.concat([e]),r.concat([t]));case"Set":return e.size===t.size&&l(e.values(),t.values(),n.concat([e]),r.concat([t]));case"Arguments":case"Array":case"Object":case"Boolean":case"Number":case"String":case"Date":case"Error":case"RegExp":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"ArrayBuffer":break;default:return!1}var p=c(e);if(p.length!==c(t).length)return!1;var f=n.concat([e]),m=r.concat([t]);for(h=p.length-1;h>=0;){var g=p[h];if(!i(g,t)||!d(t[g],e[g],f,m))return!1;h-=1}return!0}e.exports=d},4877:function(e){e.exports=function(e,t){for(var n=0,r=t.length,o=[];n<r;)e(t[n])&&(o[o.length]=t[n]),n+=1;return o}},4931:function(e){e.exports=function(e){var t=String(e).match(/^function (\w*)/);return null==t?"":t[1]}},7684:function(e){e.exports=function(e,t){return Object.prototype.hasOwnProperty.call(t,e)}},7243:function(e,t,n){var r=n(6069);e.exports=function(e,t){return r(t,e,0)>=0}},2976:function(e){e.exports=function(e,t,n){for(var r=0,o=n.length;r<o;){if(e(t,n[r]))return!0;r+=1}return!1}},6069:function(e,t,n){var r=n(1481);e.exports=function(e,t,n){var o,a;if("function"==typeof e.indexOf)switch(typeof t){case"number":if(0===t){for(o=1/t;n<e.length;){if(0===(a=e[n])&&1/a===o)return n;n+=1}return-1}if(t!=t){for(;n<e.length;){if("number"==typeof(a=e[n])&&a!=a)return n;n+=1}return-1}return e.indexOf(t,n);case"string":case"boolean":case"function":case"undefined":return e.indexOf(t,n);case"object":if(null===t)return e.indexOf(t,n)}for(;n<e.length;){if(r(e[n],t))return n;n+=1}return-1}},7587:function(e,t,n){var r=n(7684),o=Object.prototype.toString,a=function(){return"[object Arguments]"===o.call(arguments)?function(e){return"[object Arguments]"===o.call(e)}:function(e){return r("callee",e)}}();e.exports=a},219:function(e){e.exports=Array.isArray||function(e){return null!=e&&e.length>=0&&"[object Array]"===Object.prototype.toString.call(e)}},3219:function(e,t,n){var r=n(6224),o=n(219),a=n(190),i=r((function(e){return!!o(e)||!!e&&"object"==typeof e&&!a(e)&&(1===e.nodeType?!!e.length:0===e.length||e.length>0&&e.hasOwnProperty(0)&&e.hasOwnProperty(e.length-1))}));e.exports=i},7e3:function(e){e.exports=Number.isInteger||function(e){return e<<0===e}},8291:function(e){e.exports=function(e){return"[object Object]"===Object.prototype.toString.call(e)}},6464:function(e){e.exports=function(e){return null!=e&&"object"==typeof e&&!0===e["@@functional/placeholder"]}},190:function(e){e.exports=function(e){return"[object String]"===Object.prototype.toString.call(e)}},9082:function(e){e.exports=function(e){return null!=e&&"function"==typeof e["@@transducer/step"]}},5161:function(e,t,n){var r=n(3219);e.exports=function(e){return function t(n){for(var o,a,i,s=[],c=0,u=n.length;c<u;){if(r(n[c]))for(i=0,a=(o=e?t(n[c]):n[c]).length;i<a;)s[s.length]=o[i],i+=1;else s[s.length]=n[c];c+=1}return s}}},6692:function(e){e.exports=function(e,t){for(var n=0,r=t.length,o=Array(r);n<r;)o[n]=e(t[n]),n+=1;return o}},1361:function(e){e.exports="function"==typeof Object.is?Object.is:function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}},9488:function(e,t,n){var r=n(3219),o=n(9874),a=n(3195);function i(e,t,n){for(var r=n.next();!r.done;){if((t=e["@@transducer/step"](t,r.value))&&t["@@transducer/reduced"]){t=t["@@transducer/value"];break}r=n.next()}return e["@@transducer/result"](t)}function s(e,t,n,r){return e["@@transducer/result"](n[r](a(e["@@transducer/step"],e),t))}var c="undefined"!=typeof Symbol?Symbol.iterator:"@@iterator";e.exports=function(e,t,n){if("function"==typeof e&&(e=o(e)),r(n))return function(e,t,n){for(var r=0,o=n.length;r<o;){if((t=e["@@transducer/step"](t,n[r]))&&t["@@transducer/reduced"]){t=t["@@transducer/value"];break}r+=1}return e["@@transducer/result"](t)}(e,t,n);if("function"==typeof n["fantasy-land/reduce"])return s(e,t,n,"fantasy-land/reduce");if(null!=n[c])return i(e,t,n[c]());if("function"==typeof n.next)return i(e,t,n);if("function"==typeof n.reduce)return s(e,t,n,"reduce");throw new TypeError("reduce: list must be array or iterable")}},3714:function(e){e.exports={init:function(){return this.xf["@@transducer/init"]()},result:function(e){return this.xf["@@transducer/result"](e)}}},123:function(e,t,n){var r=n(9002),o=n(3714),a=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=o.init,e.prototype["@@transducer/result"]=o.result,e.prototype["@@transducer/step"]=function(e,t){return this.f(t)?this.xf["@@transducer/step"](e,t):e},e}(),i=r((function(e,t){return new a(e,t)}));e.exports=i},2894:function(e,t,n){var r=n(9002),o=n(3714),a=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=o.init,e.prototype["@@transducer/result"]=o.result,e.prototype["@@transducer/step"]=function(e,t){return this.xf["@@transducer/step"](e,this.f(t))},e}(),i=r((function(e,t){return new a(e,t)}));e.exports=i},9874:function(e){var t=function(){function e(e){this.f=e}return e.prototype["@@transducer/init"]=function(){throw new Error("init not implemented on XWrap")},e.prototype["@@transducer/result"]=function(e){return e},e.prototype["@@transducer/step"]=function(e,t){return this.f(e,t)},e}();e.exports=function(e){return new t(e)}},368:function(e,t,n){var r=n(6224),o=n(7684),a=n(7587),i=!{toString:null}.propertyIsEnumerable("toString"),s=["constructor","valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],c=function(){"use strict";return arguments.propertyIsEnumerable("length")}(),u=function(e,t){for(var n=0;n<e.length;){if(e[n]===t)return!0;n+=1}return!1},l="function"!=typeof Object.keys||c?r((function(e){if(Object(e)!==e)return[];var t,n,r=[],l=c&&a(e);for(t in e)!o(t,e)||l&&"length"===t||(r[r.length]=t);if(i)for(n=s.length-1;n>=0;)o(t=s[n],e)&&!u(r,t)&&(r[r.length]=t),n-=1;return r})):r((function(e){return Object(e)!==e?[]:Object.keys(e)}));e.exports=l},7560:function(e,t,n){var r=n(9002)((function(e,t){return e<t}));e.exports=r},3594:function(e,t,n){var r=n(9002)((function(e,t){return e<=t}));e.exports=r},1894:function(e,t,n){var r=n(9002),o=n(4793),a=n(6692),i=n(9488),s=n(2894),c=n(2220),u=n(368),l=r(o(["fantasy-land/map","map"],s,(function(e,t){switch(Object.prototype.toString.call(t)){case"[object Function]":return c(t.length,(function(){return e.call(this,t.apply(this,arguments))}));case"[object Object]":return i((function(n,r){return n[r]=e(t[r]),n}),{},u(t));default:return a(e,t)}})));e.exports=l},1186:function(e,t,n){var r=n(9002)((function(e,t){return t>e?t:e}));e.exports=r},7041:function(e,t,n){var r=n(9002),o=n(190),a=r((function(e,t){var n=e<0?t.length+e:e;return o(t)?t.charAt(n):t[n]}));e.exports=a},7430:function(e,t,n){var r=n(9002),o=n(4439),a=r((function(e,t){return o([e],t)[0]}));e.exports=a},4439:function(e,t,n){var r=n(9002),o=n(7e3),a=n(7041),i=r((function(e,t){return e.map((function(e){for(var n,r=t,i=0;i<e.length;){if(null==r)return;n=e[i],r=o(n)?a(n,r):r[n],i+=1}return r}))}));e.exports=i},5206:function(e,t,n){var r=n(9002)((function(e,t){for(var n={},r=0;r<e.length;)e[r]in t&&(n[e[r]]=t[e[r]]),r+=1;return n}));e.exports=r},2478:function(e,t,n){var r=n(9002),o=n(7430),a=r((function(e,t){return o([e],t)}));e.exports=a},793:function(e,t,n){var r=n(6370)(n(9488));e.exports=r},3266:function(e,t,n){var r=n(8770),o=n(9002),a=n(1383),i=o((function(e,t){return a(r(e),t)}));e.exports=i},6433:function(e,t,n){var r=n(6224)((function(e){return null===e?"Null":void 0===e?"Undefined":Object.prototype.toString.call(e).slice(8,-1)}));e.exports=r},7263:function(e,t,n){var r=n(2976),o=n(9002)((function(e,t){for(var n,o=0,a=t.length,i=[];o<a;)n=t[o],r(e,n,i)||(i[i.length]=n),o+=1;return i}));e.exports=o},6290:function(e,t,n){var r=n(7243),o=n(9002),a=n(9134),i=n(3266),s=o((function(e,t){return i(a(r)(e),t)}));e.exports=s},590:function(e){"use strict";e.exports=m},8367:function(e){"use strict";e.exports=x},3656:function(e){"use strict";e.exports=p},1031:function(t){"use strict";t.exports=e},8081:function(e){"use strict";e.exports=t},4752:function(e){"use strict";e.exports=i},9558:function(e){"use strict";e.exports=n},2405:function(e){"use strict";e.exports=v},817:function(e){"use strict";e.exports=c},2139:function(e){"use strict";e.exports=r},3550:function(e){"use strict";e.exports=u},6311:function(e){"use strict";e.exports=h},6409:function(e){"use strict";e.exports=o},3205:function(e){"use strict";e.exports=y},8097:function(e){"use strict";e.exports=w},2001:function(e){"use strict";e.exports=l},2074:function(e){"use strict";e.exports=s},4021:function(e){"use strict";e.exports=d},9174:function(e){"use strict";e.exports=a},1001:function(e){"use strict";e.exports=b},3323:function(e){"use strict";e.exports=f},3752:function(e){"use strict";e.exports=g}},I={};function C(e){var t=I[e];if(void 0!==t)return t.exports;var n=I[e]={exports:{}};return T[e](n,n.exports,C),n.exports}C.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return C.d(t,{a:t}),t},C.d=function(e,t){for(var n in t)C.o(t,n)&&!C.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},C.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},C.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var A={};return function(){"use strict";C.r(A),C.d(A,{ACITransformation:function(){return s},AccountBase:function(){return Do},AccountMultiple:function(){return ca},Ae:function(){return Ho},Aens:function(){return la},AeppWalletHelpers:function(){return u},AeppWalletSchema:function(){return c},AmountFormatter:function(){return a},BrowserRuntimeConnection:function(){return _s},BrowserWindowMessageConnection:function(){return As},Bytes:function(){return e},Chain:function(){return ro},ChainNode:function(){return zo},Channel:function(){return vs},ContentScriptBridge:function(){return Ts},Contract:function(){return Ea},ContractCompilerAPI:function(){return ha},Crypto:function(){return r},GeneralizeAccount:function(){return Oa},HdWallet:function(){return Jr},Keystore:function(){return o},MemoryAccount:function(){return sa},Node:function(){return Vo},NodePool:function(){return Qo},Oracle:function(){return oi},RpcAepp:function(){return ai},RpcWallet:function(){return di},SCHEMA:function(){return t},Transaction:function(){return oa},Tx:function(){return no},TxBuilder:function(){return i},TxBuilderHelper:function(){return n},Universal:function(){return xs},WalletDetector:function(){return Es},genSwaggerClient:function(){return Po},verifyTransaction:function(){return Go}});var e={};C.r(e),C.d(e,{bigNumberToByteArray:function(){return k},str2buf:function(){return S},toBytes:function(){return O}});var t={};C.r(t),C.d(t,{ABI_VERSIONS:function(){return Me},AMOUNT:function(){return J},BASE_GAS:function(){return Fe},CLIENT_TTL:function(){return ie},CONTRACT_BYTE_CODE_LIMA:function(){return Xe},DEFAULT_FEE:function(){return De},DEPOSIT:function(){return X},DRY_RUN_ACCOUNT:function(){return ne},FIELD_TYPES:function(){return Ve},GAS:function(){return Z},GAS_PER_BYTE:function(){return $e},ID_TAG:function(){return We},ID_TAG_PREFIX:function(){return Ge},KEY_BLOCK_INTERVAL:function(){return Ue},MAX_AUTH_FUN_GAS:function(){return te},MIN_GAS_PRICE:function(){return ee},NAME_BID_MAX_LENGTH:function(){return he},NAME_BID_RANGES:function(){return fe},NAME_BID_TIMEOUTS:function(){return me},NAME_BID_TIMEOUT_BLOCKS:function(){return le},NAME_FEE:function(){return se},NAME_FEE_BID_INCREMENT:function(){return ue},NAME_FEE_MULTIPLIER:function(){return ce},NAME_ID_KEY:function(){return pe},NAME_MAX_CLIENT_TTL:function(){return ae},NAME_MAX_LENGTH_FEE:function(){return de},NAME_MAX_TTL:function(){return oe},NAME_TTL:function(){return re},OBJECT_ID_TX_TYPE:function(){return qe},OBJECT_TAG_SIGNED_TRANSACTION:function(){return ge},ORACLE_TTL:function(){return Q},PREFIX_ID_TAG:function(){return Le},PROTOCOL_VERSIONS:function(){return Re},PROTOCOL_VM_ABI:function(){return Be},QUERY_FEE:function(){return G},QUERY_TTL:function(){return Y},RESPONSE_TTL:function(){return z},TX_DESERIALIZATION_SCHEMA:function(){return Wt},TX_FEE_BASE_GAS:function(){return He},TX_FEE_OTHER_GAS:function(){return Ke},TX_SERIALIZATION_SCHEMA:function(){return Kt},TX_TTL:function(){return L},TX_TYPE:function(){return Pe},VALIDATION_MESSAGE:function(){return Ye},VM_VERSIONS:function(){return je},VSN:function(){return K},VSN_2:function(){return W}});var n={};C.r(n),C.d(n,{buildContractId:function(){return Xt},buildPointers:function(){return un},classify:function(){return pn},commitmentHash:function(){return tn},computeAuctionEndBlock:function(){return yn},computeBidFee:function(){return gn},createSalt:function(){return Yt},decode:function(){return nn},encode:function(){return rn},ensureNameValid:function(){return dn},formatSalt:function(){return Zt},getMinimumNameFee:function(){return mn},isAuctionName:function(){return wn},isNameValid:function(){return hn},oracleQueryId:function(){return Jt},produceNameId:function(){return en},readId:function(){return an},readInt:function(){return cn},readPointers:function(){return ln},validatePointers:function(){return fn},writeId:function(){return on},writeInt:function(){return sn}});var r={};C.r(r),C.d(r,{addressFromDecimal:function(){return In},aeEncodeKey:function(){return Un},checkSumFn:function(){return _n},decodeBase58Check:function(){return Sn},decodeBase64Check:function(){return kn},decryptData:function(){return Wn},decryptKey:function(){return Bn},encodeBase58Check:function(){return On},encodeBase64Check:function(){return En},encodeContractAddress:function(){return Pn},encodeUnsigned:function(){return Nn},encryptData:function(){return Kn},encryptKey:function(){return Rn},generateKeyPair:function(){return Mn},generateKeyPairFromSecret:function(){return jn},getAddressFromPriv:function(){return xn},hash:function(){return H},isAddressValid:function(){return Tn},isValidKeypair:function(){return Hn},messageToHash:function(){return Fn},salt:function(){return An},sha256hash:function(){return Cn},sign:function(){return qn},signMessage:function(){return $n},verify:function(){return Vn},verifyMessage:function(){return Dn}});var o={};C.r(o),C.d(o,{deriveKeyUsingArgon2id:function(){return Xn},dump:function(){return or},getAddressFromPriv:function(){return nr},recover:function(){return rr},validateKeyObj:function(){return ar}});var a={};C.r(a),C.d(a,{AE_AMOUNT_FORMATS:function(){return sr},DENOMINATION_MAGNITUDE:function(){return cr},default:function(){return gr},formatAmount:function(){return dr},toAe:function(){return ur},toAettos:function(){return lr}});var i={};C.r(i),C.d(i,{buildRawTx:function(){return Or},buildTx:function(){return Pr},buildTxHash:function(){return Mr},calculateFee:function(){return _r},calculateMinFee:function(){return Ar},default:function(){return Rr},unpackRawTx:function(){return Sr},unpackTx:function(){return jr},validateParams:function(){return kr}});var s={};C.r(s),C.d(s,{SOPHIA_TYPES:function(){return Br},decodeEvents:function(){return qr}});var c={};C.r(c),C.d(c,{ERRORS:function(){return Da},MESSAGE_DIRECTION:function(){return ja},METHODS:function(){return Fa},NOTIFICATIONS:function(){return Ra},REQUESTS:function(){return Ba},RPC_STATUS:function(){return $a},SUBSCRIPTION_TYPES:function(){return Va},SUBSCRIPTION_VALUES:function(){return qa},VERSION:function(){return Pa},WALLET_TYPE:function(){return Ma}});var u={};C.r(u),C.d(u,{getBrowserAPI:function(){return Ua},getHandler:function(){return Wa},isInIframe:function(){return Ha},isValidAccounts:function(){return za},message:function(){return La},resolveOnAccount:function(){return Xa},responseMessage:function(){return Ga},sendMessage:function(){return Ka},sendResponseMessage:function(){return Qa},voidFn:function(){return Ya}});var l=C(2139),d=C.n(l),h=C(6409),p=C.n(h),f=C(9174),m=C.n(f),g=C(4752),y=C.n(g),w=C(2074),b=C.n(w),v=C(9558),x=C.n(v);function T(e){return e.replace(/_./g,(e=>e[1].toUpperCase()))}function I(e){return e.replace(/[A-Z]/g,(e=>`_${e.toLowerCase()}`))}function E(e){return e.length%2==0&&/^[0-9a-f]+$/i.test(e)}var _=C(3550).Buffer;function k(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),_.from(t,"hex")}function O(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(null==e)return _.from([]);if(Number.isInteger(e)||x().isBigNumber(e)||t)return x().isBigNumber(e)||(e=new(x())(e)),k(e);if("string"==typeof e)return _.from(e);throw new Error("Byte serialization not supported")}function S(e,t){return _.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 N=C(3007),P=C.n(N),j=C(3594),M=C.n(j),R=C(4115),B=C.n(R),q=C(7560),V=C.n(q),F=C(7794),$=C.n(F),D=C(817),U=C(3550).Buffer;function H(e){return U.from((0,D.blake2b)(e,null,32))}const K=1,W=2,L=0,G=3e4,Q={type:"delta",value:500},Y={type:"delta",value:10},z={type:"delta",value:10},X=0,J=0,Z=25e3,ee=1e9,te=5e4,ne={pub:"ak_11111111111111111111111111111111273Yts",amount:"100000000000000000000000000000000000"},re=18e4,oe=36e3,ae=84600,ie=ae,se=0,ce=1e14,ue=.05,le=480,de=31,he=12,pe={ak:"account_pubkey",ok:"oracle_pubkey",ct:"contract_pubkey",ch:"channel"},fe={31:x()(3).times(ce),30:x()(5).times(ce),29:x()(8).times(ce),28:x()(13).times(ce),27:x()(21).times(ce),26:x()(34).times(ce),25:x()(55).times(ce),24:x()(89).times(ce),23:x()(144).times(ce),22:x()(233).times(ce),21:x()(377).times(ce),20:x()(610).times(ce),19:x()(987).times(ce),18:x()(1597).times(ce),17:x()(2584).times(ce),16:x()(4181).times(ce),15:x()(6765).times(ce),14:x()(10946).times(ce),13:x()(17711).times(ce),12:x()(28657).times(ce),11:x()(46368).times(ce),10:x()(75025).times(ce),9:x()(121393).times(ce),8:x()(196418).times(ce),7:x()(317811).times(ce),6:x()(514229).times(ce),5:x()(832040).times(ce),4:x()(1346269).times(ce),3:x()(2178309).times(ce),2:x()(3524578).times(ce),1:x()(5702887).times(ce)},me={13:x()(0),12:x()(le),8:x()(31).times(le),4:x()(62).times(le)},ge=11,ye=521,we=570,be=571,ve=572,xe=573,Te=574,Ie=575,Ce=621,Ae=622,Ee=623,_e=624,ke=625,Oe=626,Se=(e,t,n)=>[e,t,n],Ne=(e,t)=>[e,t],Pe={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"},je={NO_VM:0,SOPHIA:1,SOPHIA_IMPROVEMENTS_MINERVA:3,SOPHIA_IMPROVEMENTS_FORTUNA:4,FATE:5,SOPHIA_IMPROVEMENTS_LIMA:6,FATE_2:7},Me={NO_ABI:0,SOPHIA:1,FATE:3},Re={IRIS:5},Be={[Re.IRIS]:{[Pe.contractCreate]:{vmVersion:[je.FATE_2],abiVersion:[Me.FATE]},[Pe.contractCall]:{vmVersion:[je.FATE_2,je.FATE,je.SOPHIA_IMPROVEMENTS_LIMA,je.SOPHIA_IMPROVEMENTS_FORTUNA,je.SOPHIA,je.SOPHIA_IMPROVEMENTS_MINERVA],abiVersion:[Me.FATE,Me.SOPHIA]},[Pe.oracleRegister]:{vmVersion:[],abiVersion:[Me.NO_ABI,Me.SOPHIA]}}},qe={10:Pe.account,[ge]:Pe.signed,12:Pe.spend,32:Pe.nameClaim,33:Pe.namePreClaim,34:Pe.nameUpdate,35:Pe.nameRevoke,36:Pe.nameTransfer,40:Pe.contract,42:Pe.contractCreate,43:Pe.contractCall,41:Pe.contractCallResult,22:Pe.oracleRegister,25:Pe.oracleExtend,23:Pe.oracleQuery,24:Pe.oracleResponse,50:Pe.channelCreate,53:Pe.channelCloseMutual,54:Pe.channelCloseSolo,55:Pe.channelSlash,[ye]:Pe.channelForceProgress,51:Pe.channelDeposit,52:Pe.channelWithdraw,56:Pe.channelSettle,57:Pe.channelOffChain,58:Pe.channel,59:Pe.channelSnapshotSolo,[we]:Pe.channelOffChainUpdateTransfer,[be]:Pe.channelOffChainUpdateDeposit,[ve]:Pe.channelOffChainUpdateWithdrawal,[xe]:Pe.channelOffChainCreateContract,[Te]:Pe.channelOffChainCallContract,[Ie]:Pe.channelReconnect,60:Pe.proofOfInclusion,62:Pe.stateTrees,63:Pe.merklePatriciaTree,64:Pe.merklePatriciaTreeValue,[Ce]:Pe.contractsTree,[Ae]:Pe.contractCallsTree,[Ee]:Pe.channelsTree,[_e]:Pe.nameserviceTree,[ke]:Pe.oraclesTree,[Oe]:Pe.accountsTree,80:Pe.gaAttach,81:Pe.gaMeta,82:Pe.payingFor,70:Pe.sophiaByteCode},Ve={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"},Fe=15e3,$e=20,De=2e4,Ue=3,He=e=>{const t={[Pe.channelForceProgress]:30,[Pe.channelOffChain]:0,[Pe.channelOffChainCallContract]:0,[Pe.channelOffChainCreateContract]:0,[Pe.channelOffChainUpdateDeposit]:0,[Pe.channelOffChainUpdateWithdrawal]:0,[Pe.channelOffChainUpdateTransfer]:0,[Pe.contractCreate]:5,[Pe.contractCall]:12,[Pe.gaAttach]:5,[Pe.gaMeta]:5,[Pe.payingFor]:.2}[e]||1;return new(x())(t*Fe)},Ke=(e,t,n)=>{let{relativeTtl:r,innerTxSize:o}=n;switch(e){case Pe.oracleRegister:case Pe.oracleExtend:case Pe.oracleQuery:case Pe.oracleResponse:return new(x())(t).times($e).plus(Math.ceil(32e3*r/Math.floor(525600/Ue)));case Pe.gaMeta:case Pe.payingFor:return new(x())(t).minus(o).times($e);default:return new(x())(t).times($e)}},We={account:1,name:2,commitment:3,oracle:4,contract:5,channel:6},Le={ak:We.account,nm:We.name,cm:We.commitment,ok:We.oracle,ct:We.contract,ch:We.channel},Ge=(Qe=Le,Object.entries(Qe).reduce(((e,t)=>{let[n,r]=t;return(e[r]=n)&&e}),{}));var Qe;const Ye={[Ve.int]:e=>{let{value:t,isMinusValue:n}=e;return n?`${t} must be >= 0`:`${t} is not of type Number or BigNumber`},[Ve.amount]:e=>{let{value:t,isMinusValue:n}=e;return n?`${t} must be >= 0`:`${t} is not of type Number or BigNumber`},[Ve.id]:e=>{let{value:t,prefix:n}=e;return`'${t}' prefix doesn't match expected prefix '${n}' or ID_TAG for prefix not found`},[Ve.binary]:e=>{let{prefix:t,value:n}=e;return`'${n}' prefix doesn't match expected prefix '${t}'`},[Ve.string]:e=>{let{value:t}=e;return"Not a string"},[Ve.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"}\''},[Ve.ctVersion]:e=>{let{value:t}=e;return'Value must be an object with "vmVersion" and "abiVersion" fields'}},ze=[Se("tag",Ve.int),Se("VSN",Ve.int)],Xe=[...ze,Se("sourceCodeHash",Ve.rawBinary),Se("typeInfo",Ve.sophiaCodeTypeInfo),Se("byteCode",Ve.rawBinary),Se("compilerVersion",Ve.string),Se("payable",Ve.bool)],Je=[...ze,Se("flags",Ve.int),Se("nonce",Ve.int),Se("balance",Ve.int),Se("gaContract",Ve.id,["ct","nm"]),Se("gaAuthFun",Ve.binary,"cb")],Ze=[...ze,Se("senderId",Ve.id,"ak"),Se("recipientId",Ve.id,["ak","nm"]),Se("amount",Ve.amount),Se("fee",Ve.int),Se("ttl",Ve.int),Se("nonce",Ve.int),Se("payload",Ve.payload)],et=[...ze,Se("signatures",Ve.signatures),Se("encodedTx",Ve.rlpBinary)],tt=[...ze,Se("accountId",Ve.id,"ak"),Se("nonce",Ve.int),Se("commitmentId",Ve.id,"cm"),Se("fee",Ve.int),Se("ttl",Ve.int)],nt=[...ze,Se("accountId",Ve.id,"ak"),Se("nonce",Ve.int),Se("name",Ve.binary,"nm"),Se("nameSalt",Ve.int),Se("nameFee",Ve.amount),Se("fee",Ve.int),Se("ttl",Ve.int)],rt=[...ze,Se("accountId",Ve.id,"ak"),Se("nonce",Ve.int),Se("nameId",Ve.id,"nm"),Se("nameTtl",Ve.int),Se("pointers",Ve.pointers),Se("clientTtl",Ve.int),Se("fee",Ve.int),Se("ttl",Ve.int)],ot=[...ze,Se("accountId",Ve.id,"ak"),Se("nonce",Ve.int),Se("nameId",Ve.id,"nm"),Se("recipientId",Ve.id,["ak","nm"]),Se("fee",Ve.int),Se("ttl",Ve.int)],at=[...ze,Se("accountId",Ve.id,"ak"),Se("nonce",Ve.int),Se("nameId",Ve.id,"nm"),Se("fee",Ve.int),Se("ttl",Ve.int)],it=[...ze,Se("owner",Ve.id,"ak"),Se("ctVersion",Ve.int),Se("code",Ve.binary,"cb"),Se("log",Ve.binary,"cb"),Se("active",Ve.bool),Se("referers",Ve.ids,"ak"),Se("deposit",Ve.amount)],st=[...ze,Se("ownerId",Ve.id,"ak"),Se("nonce",Ve.int),Se("code",Ve.binary,"cb"),Se("authFun",Ve.rawBinary),Se("ctVersion",Ve.ctVersion),Se("fee",Ve.int),Se("ttl",Ve.int),Se("gas",Ve.int),Se("gasPrice",Ve.int),Se("callData",Ve.binary,"cb")],ct=[...ze,Se("gaId",Ve.id,"ak"),Se("authData",Ve.binary,"cb"),Se("abiVersion",Ve.int),Se("fee",Ve.int),Se("gas",Ve.int),Se("gasPrice",Ve.int),Se("tx",Ve.rlpBinary)],ut=[...ze,Se("payerId",Ve.id,"ak"),Se("nonce",Ve.int),Se("fee",Ve.int),Se("tx",Ve.rlpBinary)],lt=[...ze,Se("ownerId",Ve.id,"ak"),Se("nonce",Ve.int),Se("code",Ve.binary,"cb"),Se("ctVersion",Ve.ctVersion),Se("fee",Ve.int),Se("ttl",Ve.int),Se("deposit",Ve.amount),Se("amount",Ve.amount),Se("gas",Ve.int),Se("gasPrice",Ve.int),Se("callData",Ve.binary,"cb")],dt=[...ze,Se("callerId",Ve.id,"ak"),Se("nonce",Ve.int),Se("contractId",Ve.id,["ct","nm"]),Se("abiVersion",Ve.int),Se("fee",Ve.int),Se("ttl",Ve.int),Se("amount",Ve.amount),Se("gas",Ve.int),Se("gasPrice",Ve.int),Se("callData",Ve.binary,"cb")],ht=[...ze,Se("callerId",Ve.id,"ak"),Se("callerNonce",Ve.int),Se("height",Ve.int),Se("contractId",Ve.id,"ct"),Se("gasPrice",Ve.int),Se("gasUsed",Ve.int),Se("returnValue",Ve.binary,"cb"),Se("returnType",Ve.callReturnType),Se("log",Ve.rawBinary)],pt=[...ze,Se("accountId",Ve.id,"ak"),Se("nonce",Ve.int),Se("queryFormat",Ve.string),Se("responseFormat",Ve.string),Se("queryFee",Ve.amount),Se("oracleTtlType",Ve.int),Se("oracleTtlValue",Ve.int),Se("fee",Ve.int),Se("ttl",Ve.int),Se("abiVersion",Ve.int)],ft=[...ze,Se("oracleId",Ve.id,["ok","nm"]),Se("nonce",Ve.int),Se("oracleTtlType",Ve.int),Se("oracleTtlValue",Ve.int),Se("fee",Ve.int),Se("ttl",Ve.int)],mt=[...ze,Se("senderId",Ve.id,"ak"),Se("nonce",Ve.int),Se("oracleId",Ve.id,["ok","nm"]),Se("query",Ve.string),Se("queryFee",Ve.amount),Se("queryTtlType",Ve.int),Se("queryTtlValue",Ve.int),Se("responseTtlType",Ve.int),Se("responseTtlValue",Ve.int),Se("fee",Ve.int),Se("ttl",Ve.int)],gt=[...ze,Se("oracleId",Ve.id,"ok"),Se("nonce",Ve.int),Se("queryId",Ve.binary,"oq"),Se("response",Ve.string),Se("responseTtlType",Ve.int),Se("responseTtlValue",Ve.int),Se("fee",Ve.int),Se("ttl",Ve.int)],yt=[...ze,Se("initiator",Ve.id,"ak"),Se("initiatorAmount",Ve.int),Se("responder",Ve.id,"ak"),Se("responderAmount",Ve.int),Se("channelReserve",Ve.int),Se("lockPeriod",Ve.int),Se("ttl",Ve.int),Se("fee",Ve.int),Se("initiatorDelegateIds",Ve.string),Se("responderDelegateIds",Ve.string),Se("stateHash",Ve.binary,"st"),Se("nonce",Ve.int)],wt=[...ze,Se("channelId",Ve.id,"ch"),Se("fromId",Ve.id,"ak"),Se("amount",Ve.int),Se("ttl",Ve.int),Se("fee",Ve.int),Se("stateHash",Ve.binary,"st"),Se("round",Ve.int),Se("nonce",Ve.int)],bt=[...ze,Se("channelId",Ve.id,"ch"),Se("toId",Ve.id,"ak"),Se("amount",Ve.int),Se("ttl",Ve.int),Se("fee",Ve.int),Se("stateHash",Ve.binary,"st"),Se("round",Ve.int),Se("nonce",Ve.int)],vt=[...ze,Se("channelId",Ve.id,"ch"),Se("fromId",Ve.id,"ak"),Se("initiatorAmountFinal",Ve.int),Se("responderAmountFinal",Ve.int),Se("ttl",Ve.int),Se("fee",Ve.int),Se("nonce",Ve.int)],xt=[...ze,Se("channelId",Ve.id,"ch"),Se("fromId",Ve.id,"ak"),Se("payload",Ve.binary,"tx"),Se("poi",Ve.binary,"pi"),Se("ttl",Ve.int),Se("fee",Ve.int),Se("nonce",Ve.int)],Tt=[...ze,Se("channelId",Ve.id,"ch"),Se("fromId",Ve.id,"ak"),Se("payload",Ve.binary,"tx"),Se("poi",Ve.binary,"pi"),Se("ttl",Ve.int),Se("fee",Ve.int),Se("nonce",Ve.int)],It=[...ze,Se("channelId",Ve.id,"ch"),Se("fromId",Ve.id,"ak"),Se("initiatorAmountFinal",Ve.int),Se("responderAmountFinal",Ve.int),Se("ttl",Ve.int),Se("fee",Ve.int),Se("nonce",Ve.int)],Ct=[...ze,Se("channelId",Ve.id,"ch"),Se("fromId",Ve.id,"ak"),Se("payload",Ve.binary,"tx"),Se("round",Ve.int),Se("update",Ve.binary),Se("stateHash",Ve.binary),Se("offChainTrees",Ve.stateTree),Se("ttl",Ve.int),Se("fee",Ve.int),Se("nonce",Ve.int)],At=[...ze,Se("channelId",Ve.id,"ch"),Se("round",Ve.int),Se("stateHash",Ve.binary,"st")],Et=[...ze,Se("initiator",Ve.id,"ak"),Se("responder",Ve.id,"ak"),Se("channelAmount",Ve.int),Se("initiatorAmount",Ve.int),Se("responderAmount",Ve.int),Se("channelReserve",Ve.int),Se("initiatorDelegateIds",Ve.ids),Se("responderDelegateIds",Ve.ids),Se("stateHash",Ve.hex),Se("round",Ve.int),Se("soloRound",Ve.int),Se("lockPeriod",Ve.int),Se("lockedUntil",Ve.int),Se("initiatorAuth",Ve.binary,"cb"),Se("responderAuth",Ve.binary,"cb")],_t=[...ze,Se("channelId",Ve.id,"ch"),Se("fromId",Ve.id,"ak"),Se("payload",Ve.binary,"tx"),Se("ttl",Ve.int),Se("fee",Ve.int),Se("nonce",Ve.int)],kt=[...ze,Se("owner",Ve.id,"ak"),Se("ctVersion",Ve.int),Se("code",Ve.binary,"cb"),Se("deposit",Ve.int),Se("callData",Ve.binary,"cb")],Ot=[...ze,Se("caller",Ve.id,"ak"),Se("contract",Ve.id,"ct"),Se("abiVersion",Ve.int),Se("amount",Ve.int),Se("callData",Ve.binary,"cb"),Se("callStack",Ve.callStack),Se("gasPrice",Ve.int),Se("gasLimit",Ve.int)],St=[...ze,Se("channelId",Ve.id,"ch"),Se("round",Ve.int),Se("role",Ve.string),Se("pubkey",Ve.id,"ak")],Nt=[...ze,Se("from",Ve.id,"ak"),Se("to",Ve.id,"ak"),Se("amount",Ve.int)],Pt=[...ze,Se("from",Ve.id,"ak"),Se("amount",Ve.int)],jt=[...ze,Se("from",Ve.id,"ak"),Se("amount",Ve.int)],Mt=[...ze,Se("accounts",Ve.mptrees),Se("calls",Ve.mptrees),Se("channels",Ve.mptrees),Se("contracts",Ve.mptrees),Se("ns",Ve.mptrees),Se("oracles",Ve.mptrees)],Rt=[...ze,Se("contracts",Ve.rlpBinary),Se("calls",Ve.rlpBinary),Se("channels",Ve.rlpBinary),Se("ns",Ve.rlpBinary),Se("oracles",Ve.rlpBinary),Se("accounts",Ve.rlpBinary)],Bt=[...ze,Se("values",Ve.rlpBinaries)],qt=[...ze,Se("key",Ve.hex),Se("value",Ve.rawBinary)],Vt=[...ze,Se("contracts",Ve.rlpBinary)],Ft=[...ze,Se("calls",Ve.rlpBinary)],$t=[...ze,Se("channels",Ve.rlpBinary)],Dt=[...ze,Se("mtree",Ve.rlpBinary)],Ut=[...ze,Se("otree",Ve.rlpBinary)],Ht=[...ze,Se("accounts",Ve.rlpBinary)],Kt={[Pe.account]:{2:Ne(Je,10)},[Pe.signed]:{1:Ne(et,ge)},[Pe.spend]:{1:Ne(Ze,12)},[Pe.namePreClaim]:{1:Ne(tt,33)},[Pe.nameClaim]:{2:Ne(nt,32)},[Pe.nameUpdate]:{1:Ne(rt,34)},[Pe.nameTransfer]:{1:Ne(ot,36)},[Pe.nameRevoke]:{1:Ne(at,35)},[Pe.contract]:{1:Ne(it,40)},[Pe.contractCreate]:{1:Ne(lt,42)},[Pe.contractCall]:{1:Ne(dt,43)},[Pe.contractCallResult]:{1:Ne(ht,41)},[Pe.oracleRegister]:{1:Ne(pt,22)},[Pe.oracleExtend]:{1:Ne(ft,25)},[Pe.oracleQuery]:{1:Ne(mt,23)},[Pe.oracleResponse]:{1:Ne(gt,24)},[Pe.channelCreate]:{2:Ne(yt,50)},[Pe.channelCloseMutual]:{1:Ne(vt,53)},[Pe.channelCloseSolo]:{1:Ne(xt,54)},[Pe.channelSlash]:{1:Ne(Tt,55)},[Pe.channelDeposit]:{1:Ne(wt,51)},[Pe.channelWithdraw]:{1:Ne(bt,52)},[Pe.channelSettle]:{1:Ne(It,56)},[Pe.channelForceProgress]:{1:Ne(Ct,ye)},[Pe.channelOffChain]:{2:Ne(At,57)},[Pe.channel]:{3:Ne(Et,58)},[Pe.channelSnapshotSolo]:{1:Ne(_t,59)},[Pe.channelOffChainUpdateTransfer]:{1:Ne(Nt,we)},[Pe.channelOffChainUpdateDeposit]:{1:Ne(Pt,be)},[Pe.channelOffChainUpdateWithdrawal]:{1:Ne(jt,ve)},[Pe.channelOffChainCreateContract]:{1:Ne(kt,xe)},[Pe.channelOffChainCallContract]:{1:Ne(Ot,Te)},[Pe.channelReconnect]:{1:Ne(St,Ie)},[Pe.proofOfInclusion]:{1:Ne(Mt,60)},[Pe.stateTrees]:{1:Ne(Rt,62)},[Pe.merklePatriciaTree]:{1:Ne(Bt,63)},[Pe.merklePatriciaTreeValue]:{1:Ne(qt,64)},[Pe.contractsTree]:{1:Ne(Vt,Ce)},[Pe.contractCallsTree]:{1:Ne(Ft,Ae)},[Pe.channelsTree]:{1:Ne($t,Ee)},[Pe.nameserviceTree]:{1:Ne(Dt,_e)},[Pe.oraclesTree]:{1:Ne(Ut,ke)},[Pe.accountsTree]:{1:Ne(Ht,Oe)},[Pe.gaAttach]:{1:Ne(st,80)},[Pe.gaMeta]:{2:Ne(ct,81)},[Pe.payingFor]:{1:Ne(ut,82)}},Wt={10:{2:Ne(Je,10)},[ge]:{1:Ne(et,ge)},12:{1:Ne(Ze,12)},33:{1:Ne(tt,33)},32:{2:Ne(nt,32)},34:{1:Ne(rt,34)},36:{1:Ne(ot,36)},35:{1:Ne(at,35)},40:{1:Ne(it,40)},42:{1:Ne(lt,42)},43:{1:Ne(dt,43)},41:{1:Ne(ht,41)},22:{1:Ne(pt,22)},25:{1:Ne(ft,25)},23:{1:Ne(mt,23)},24:{1:Ne(gt,24)},50:{2:Ne(yt,50)},53:{1:Ne(vt,53)},54:{1:Ne(xt,54)},55:{1:Ne(Tt,55)},51:{1:Ne(wt,51)},52:{1:Ne(bt,52)},56:{1:Ne(It,56)},57:{2:Ne(At,57)},58:{3:Ne(Et,58)},59:{1:Ne(_t,59)},[we]:{1:Ne(Nt,we)},[be]:{1:Ne(Pt,be)},[ve]:{1:Ne(jt,ve)},[xe]:{1:Ne(kt,xe)},[Te]:{1:Ne(Ot,Te)},[Ie]:{1:Ne(St,Ie)},60:{1:Ne(Mt,60)},62:{1:Ne(Rt,62)},63:{1:Ne(Bt,63)},64:{1:Ne(qt,64)},[Ce]:{1:Ne(Vt,Ce)},[Ae]:{1:Ne(Ft,Ae)},[Ee]:{1:Ne($t,Ee)},[_e]:{1:Ne(Dt,_e)},[ke]:{1:Ne(Ut,ke)},[Oe]:{1:Ne(Ht,Oe)},80:{1:Ne(st,80)},81:{2:Ne(ct,81)},82:{1:Ne(ut,82)},[ye]:{1:Ne(Ct,ye)},70:{3:Ne(Xe,70)}},Lt=e=>["number","object","string","bigint"].includes(typeof e)&&(!isNaN(e)||Number.isInteger(e)||x().isBigNumber(e)),Gt=e=>e.integerValue(x().ROUND_CEIL);var Qt=C(3550).Buffer;const Yt=An,zt=["tx","st","ss","pi","ov","or","cb","cs","ba"];function Xt(e,t){return rn(H(Qt.from([...nn(e,"ak"),...O(t)])),"ct")}function Jt(e,t,n){return rn(H(Qt.from([...nn(e,"ak"),...function(e){const t=O(e,!0);return Qt.concat([Qt.alloc(32-t.length),t])}(t),...nn(n,"ok")])),"oq")}function Zt(e){return Qt.from(e.toString(16).padStart(64,"0"),"hex")}function en(e){return dn(e),rn(H(e.toLowerCase()),"nm")}function tn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Yt();return dn(e),`cm_${On(H(Qt.concat([Qt.from(e.toLowerCase()),Zt(t)])))}`}function nn(e,t){const[n,r,o]=e.split("_");if(o)throw new Error(`Encoded string have extra parts: ${e}`);if(t&&t!==n)throw new Error(`Encoded string have a wrong type: ${n} (expected: ${t})`);return(zt.includes(n)?kn:Sn)(r)}function rn(e,t){return`${t}_${zt.includes(t)?En(e):On(e)}`}function on(e){const t=e.slice(0,2),n=Le[t];if(!n)throw new Error(`Id tag for prefix ${t} not found.`);return Qt.from([...O(n),...nn(e,t)])}function an(e){const t=e.readUIntBE(0,1),n=Ge[t];if(!n)throw new Error(`Prefix for id-tag ${t} not found.`);return rn(e.slice(1,e.length),n)}function sn(e){return O(e,!0)}function cn(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Qt.from([]);return x()(e.toString("hex"),16).toString(10)}function un(e){return e.map((e=>[O(e.key),on(e.id)]))}function ln(e){return e.map((e=>{let[t,n]=e;return Object.assign({key:t.toString(),id:an(n)})}))}function dn(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 hn(e){try{return dn(e),!0}catch(e){return!1}}function pn(e){if(!e.match(/^[a-z]{2}_.+/))throw new Error("Not a valid hash");const t=e.substr(0,2);if(t in pe)return pe[t];throw new Error(`Unknown class ${t}`)}function fn(){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 mn(e){const t=e.replace(".chain","").length;return fe[t>=de?de:t]}function gn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:se,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:ue;if(Number(n)!==n||n%1==0)throw new Error(`Increment must be float. Current increment ${n}`);if(n<ue)throw new Error(`minimum increment percentage is ${ue}`);return Gt(x()(x()(t).eq(se)?mn(e):t).times(x()(ue).plus(1)))}function yn(e,t){return $()([[V()(5),B()(me[4].plus(t))],[V()(9),B()(me[8].plus(t))],[M()(he),B()(me[12].plus(t))],[P(),B()(x()(t))]])(e.replace(".chain","").length).toString(10)}function wn(e){return e.replace(".chain","").length<13}var bn=C(3550).Buffer;const vn=y().ModeOfOperation.ecb;function xn(e){const t=m().sign.keyPair.fromSecretKey(S(e));return`ak_${On(bn.from(t.publicKey))}`}function Tn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ak";if("string"!=typeof e)return!1;try{return 32===nn(e,t).length}catch(e){return!1}}function In(e){return Un(O(e,!0))}function Cn(e){return b()("sha256").update(e).digest()}function An(){return Math.floor(Math.random()*Math.floor(Number.MAX_SAFE_INTEGER))}function En(e){const t=bn.from(e),n=_n(e);return bn.concat([t,n],t.length+4).toString("base64")}function _n(e){return Cn(Cn(e)).slice(0,4)}function kn(e){const t=function(e){const t=e.slice(0,-4),n=e.slice(-4),r=_n(t);if(n.equals(r))return t}(bn.from(e,"base64"));if(!t)throw new Error("Invalid checksum");return bn.from(t)}function On(e){return d().encode(bn.from(e))}function Sn(e){return d().decode(e)}function Nn(e){const t=bn.allocUnsafe(4);return t.writeUInt32BE(e),t.slice(t.findIndex((e=>0!==e)))}function Pn(e,t){const n=nn(e,"ak");return`ct_${On(H(bn.concat([n,Nn(t)])))}`}function jn(e){return m().sign.keyPair.fromSecretKey(e)}function Mn(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const t=m().sign.keyPair(),n=bn.from(t.publicKey),r=bn.from(t.secretKey);return e?{publicKey:n,secretKey:r}:{publicKey:`ak_${On(n)}`,secretKey:r.toString("hex")}}function Rn(e,t){const n=Cn(e);return new vn(n).encrypt(t)}function Bn(e,t){const n=bn.from(t),r=Cn(e),o=new vn(r);return bn.from(o.decrypt(n))}function qn(e,t){return m().sign.detached(bn.from(e),bn.from(t))}function Vn(e,t,n){return m().sign.detached.verify(new Uint8Array(e),t,n)}function Fn(e){const t=bn.from("aeternity Signed Message:\n","utf8"),n=bn.from(e,"utf8");if(n.length>=253)throw new Error("message too long");return H(bn.concat([bn.from([t.length]),t,bn.from([n.length]),n]))}function $n(e,t){return qn(Fn(e),t)}function Dn(e,t,n){return Vn(Fn(e),t,n)}function Un(e){return`ak_${On(bn.from(e,"hex"))}`}function Hn(e,t){const n=bn.from("TheMessage");return Vn(n,qn(n,e),t)}function Kn(e,t){const n=m().box.keyPair(),r=nn(t,"ak"),o=m().randomBytes(m().box.nonceLength),a=m().box(bn.from(e),o,p().convertPublicKey(r),n.secretKey);return{ciphertext:bn.from(a).toString("hex"),ephemPubKey:bn.from(n.publicKey).toString("hex"),nonce:bn.from(o).toString("hex"),version:"x25519-xsalsa20-poly1305"}}function Wn(e,t){const n=p().convertSecretKey(bn.from(e,"hex")),r=bn.from(t.nonce,"hex"),o=bn.from(t.ciphertext,"hex"),a=bn.from(t.ephemPubKey,"hex"),i=m().box.open(o,r,a,n);return i?bn.from(i):i}var Ln=C(3323),Gn=C(3550).Buffer;const Qn=C(8097),Yn={crypto:{secret_type:"ed25519",symmetric_alg:"xsalsa20-poly1305",kdf:"argon2id",kdf_params:{memlimit_kib:65536,opslimit:3,parallelism:1}}},zn={argon2id:Xn};async function Xn(e,t,n){const{memlimit_kib:r,opslimit:o}=n.kdf_params;return Qn.ready.then((async()=>{const n=Qn,a=n.crypto_pwhash(32,e,t,o,1024*r,n.crypto_pwhash_ALG_ARGON2ID13);return Gn.from(a)}))}const Jn={"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 o=m().secretbox.open(t,r,n);if(!o)throw new Error("Invalid password or nonce");return o}}};function Zn(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Yn.crypto.symmetric_alg;if(!Jn[r])throw new Error(r+" is not available");return Jn[r].encrypt({plaintext:e,nonce:n,key:t})}async function er(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{kdf_params:Yn.crypto.kdf_params,kdf:Yn.crypto.kdf};if(null==e||!t)throw new Error("Must provide password and nonce to derive a key");if(!Object.prototype.hasOwnProperty.call(zn,n.kdf))throw new Error("Unsupported kdf type");return zn[n.kdf](e,t,n)}function tr(e,t,n,r,o){let a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};const i=Object.assign({},Yn.crypto,a);return Object.assign({name:e,version:1,public_key:nr(n),id:(0,Ln.v4)()},{crypto:Object.assign({secret_type:i.secret_type,symmetric_alg:i.symmetric_alg,ciphertext:Gn.from(Zn(Gn.from(n),t,r,i.symmetric_alg)).toString("hex"),cipher_params:{nonce:Gn.from(r).toString("hex")}},{kdf:i.kdf,kdf_params:{...i.kdf_params,salt:Gn.from(o).toString("hex")}})})}function nr(e){const t=m().sign.keyPair.fromSecretKey(S(e));return`ak_${On(Gn.from(t.publicKey))}`}async function rr(e,t){ar(t);const n=Uint8Array.from(S(t.crypto.cipher_params.nonce)),r=Uint8Array.from(S(t.crypto.kdf_params.salt)),o=t.crypto.kdf_params,a=t.crypto.kdf,i=await function(e,t,n,r){if(!Jn[r])throw new Error(r+" is not available");return Jn[r].decrypt({ciphertext:e,nonce:n,key:t})}(Uint8Array.from(S(t.crypto.ciphertext)),await er(e,r,{kdf:a,kdf_params:o}),n,t.crypto.symmetric_alg);if(!i)throw new Error("Invalid password");return 64===Gn.from(i).length?Gn.from(i).toString("hex"):Gn.from(i).toString("utf-8")}async function or(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:m().randomBytes(24),o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:m().randomBytes(16),a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};const i=Object.assign({},Yn.crypto,a);return tr(e,await er(t,o,i),n,r,o,i)}function ar(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 ir=C(2001);const sr={AE:"ae",MILI_AE:"miliAE",MICRO_AE:"microAE",NANO_AE:"nanoAE",PICO_AE:"picoAE",FEMTO_AE:"femtoAE",AETTOS:"aettos"},cr={[sr.AE]:0,[sr.MILI_AE]:-3,[sr.MICRO_AE]:-6,[sr.NANO_AE]:-9,[sr.PICO_AE]:-12,[sr.FEMTO_AE]:-15,[sr.AETTOS]:-18},ur=function(e){let{denomination:t=sr.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return dr(e,{denomination:t,targetDenomination:sr.AE})},lr=function(e){let{denomination:t=sr.AE}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return dr(e,{denomination:t})},dr=function(e){let{denomination:t=sr.AETTOS,targetDenomination:n=sr.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=Object.values(sr);if(!r.includes(t))throw new Error(`Invalid denomination: ${t}`);if(!r.includes(n))throw new Error(`Invalid target denomination: ${n}`);if(!Lt(e))throw new Error(`Value ${null==e?void 0:e.toString()} is not type of number`);return new(x())(e).shiftedBy(cr[t]-cr[n]).toFixed()},hr=[{name:"exa",magnitude:18},{name:"giga",magnitude:9},{name:"",magnitude:0},{name:"pico",magnitude:-12}],pr=e=>hr.reduce(((t,n)=>Math.abs(n.magnitude-e)<Math.abs(t.magnitude-e)?n:t)),fr=e=>hr.find((t=>t.magnitude<=e))??hr[hr.length-1];var mr,gr=e=>{const t=new(x())(e),n=t.e??0,{name:r,magnitude:o}=(n<0?pr:fr)(n);return`${t.shiftedBy(-o).precision(9+Math.min(n-o,0)).toFixed()}${""!==r?" ":""}${r}`},yr=C(3550).Buffer;!function(e){e[e.Branch=0]="Branch",e[e.Extension=1]="Extension",e[e.Leaf=2]="Leaf"}(mr||(mr={}));class wr{static nodeHash(e){return yr.from(H((0,ir.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(wr.nodeHash(n)!==t)throw new Error("Node hash is not equal to provided one");const{type:r,payload:o}=wr.parseNode(n);switch(r){case mr.Branch:o.slice(0,16).filter((e=>e.length)).forEach((e=>{if(void 0===this.nodes[e.toString("hex")])throw new Error("Can't find a node by hash in branch node")}));break;case mr.Extension:if(void 0===this.nodes[o[0].toString("hex")])throw new Error("Can't find a node by hash in extension node")}}))}isEqual(e){return this.rootHash===e.rootHash}static parseNode(e){switch(e.length){case 17:return{type:mr.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?mr.Extension:mr.Leaf,o=[0,2].includes(n)?2:1;return{type:r,payload:[e[1]],path:t.slice(o)}}default:throw new Error(`Unknown node length: ${e.length}`)}}serialize(){return[yr.from(this.rootHash,"hex"),Object.entries(this.nodes).map((e=>{let[t,n]=e;return[yr.from(t,"hex"),n]}))]}get(e){let t=this.rootHash;for(;;){const{type:n,payload:r,path:o}=wr.parseNode(this.nodes[t]);switch(n){case mr.Branch:if(0===e.length)return r[16];t=r[parseInt(e[0],16)].toString("hex"),e=e.substr(1);break;case mr.Extension:if(e.substr(0,null==o?void 0:o.length)!==o)return;t=r[0].toString("hex"),e=e.substr(o.length);break;case mr.Leaf:if(o!==e)return;return r[0]}}}}var br=C(3550).Buffer;const vr="delta";function xr(e,t,n){if(!e)return"";switch(t){case Ve.ctVersion:{const[t,,n]=e;return{vmVersion:cn(br.from([t])),abiVersion:cn(br.from([n]))}}case Ve.amount:case Ve.int:return cn(e);case Ve.id:return an(e);case Ve.ids:return e.map(an);case Ve.bool:return 1===e[0];case Ve.binary:return rn(e,n);case Ve.stateTree:return rn(e,"ss");case Ve.string:return e.toString();case Ve.payload:return rn(e,"ba");case Ve.pointers:return ln(e);case Ve.rlpBinary:return jr(e,!0);case Ve.rlpBinaries:return e.map((e=>jr(e,!0)));case Ve.rawBinary:return e;case Ve.hex:return e.toString("hex");case Ve.offChainUpdates:return e.map((e=>jr(e,!0)));case Ve.callStack:return[cn(e)];case Ve.mptrees:return e.map((e=>new wr(e)));case Ve.callReturnType:switch(cn(e)){case"0":return"ok";case"1":return"error";case"2":return"revert";default:return e}case Ve.sophiaCodeTypeInfo:return e.reduce(((e,t)=>{let[n,r,o,a]=t;return{...e,[r.toString()]:{funHash:n,argType:o,outType:a}}}),{});default:return e}}function Tr(e,t,n){switch(t){case Ve.amount:case Ve.int:return sn(e);case Ve.id:return on(e);case Ve.ids:return e.map(on);case Ve.bool:return br.from([e?1:0]);case Ve.binary:return nn(e,n);case Ve.stateTree:return nn(e,"ss");case Ve.hex:return br.from(e,"hex");case Ve.signatures:return e.map(br.from);case Ve.payload:return"string"==typeof e&&"ba"===e.split("_")[0]?nn(e,"ba"):O(e);case Ve.string:return O(e);case Ve.pointers:return un(e);case Ve.rlpBinary:return e.rlpEncoded??e;case Ve.mptrees:return e.map((e=>e.serialize()));case Ve.ctVersion:return br.from([...O(e.vmVersion),0,...O(e.abiVersion)]);case Ve.callReturnType:switch(e){case"ok":return sn(0);case"error":return sn(1);case"revert":return sn(2);default:return e}default:return e}}function Ir(e,t){let{denomination:n}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e=t.filter((e=>{let[t,n]=e;return n===Ve.amount})).reduce(((t,r)=>{let[o]=r;return{...e,[o]:dr(e[o],{denomination:n})}}),e);const r=t.map((e=>{let[t]=e;return t}));return Object.entries(e).reduce(((e,t)=>{let[n,o]=t;return r.includes(n)&&(e[n]=o),["oracleTtl","queryTtl","responseTtl"].includes(n)&&(e[`${n}Type`]=o.type===vr?0:1,e[`${n}Value`]=o.value),e}),{})}function Cr(e,t){const n={[Pe.oracleRegister]:"oracleTtl",[Pe.oracleExtend]:"oracleTtl",[Pe.oracleQuery]:"queryTtl",[Pe.oracleResponse]:"responseTtl"}[t];return e[n]||e[`${n}Value`]?e[`${n}Value`]||e[n].value:1}function Ar(e,t){let{gas:n=0,params:r,vsn:o}=t;const a=x()(1e9);if(!r)return x()(De).times(a).toString(10);let i=Er(e,{params:{...r,fee:0},multiplier:a,gas:n,vsn:o}),s=x()(0);for(;!i.eq(s);)i=Er(e,{params:{...r,fee:i},multiplier:a,gas:n,vsn:o}),s=i;return s.toString(10)}function Er(e,t){let{params:n,gas:r=0,multiplier:o,vsn:a}=t;const{rlpEncoded:i}=Pr({...n},e,{vsn:a}),s=i.length;return He(e).plus(Ke(e,s,{relativeTtl:Cr(n,e),innerTxSize:[Pe.gaMeta,Pe.payingFor].includes(e)?n.tx.tx.encodedTx.rlpEncoded.length:0})).times(o)}function _r(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1?arguments[1]:void 0,{gas:n=0,params:r,showWarning:o=!0,vsn:a}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return!r&&o&&console.warn(`Can't build transaction fee, we will use DEFAULT_FEE(${De})`),e||Ar(t,{params:r,gas:n,vsn:a})}function kr(e,t,n){let{excludeKeys:r=[]}=n;return t.filter((e=>{let[t]=e;return!r.includes(t)&&"payload"!==t})).reduce(((t,n)=>{let[r,o,a]=n;return Object.assign(t,function(e,t,n,r){const o=(e,r)=>e?{}:{[t]:Ye[n](r)};if(null==e)return{[t]:"Field is required"};switch(n){case Ve.amount:case Ve.int:{const t=(!isNaN(e)||x().isBigNumber(e))&&x()(e).lt(0);return o((!isNaN(e)||x().isBigNumber(e))&&x()(e).gte(0),{value:e,isMinusValue:t})}case Ve.id:return o((Array.isArray(r)?r:[r]).find((t=>t===e.split("_")[0]))&&Le[e.split("_")[0]],{value:e,prefix:r});case Ve.binary:return o(e.split("_")[0]===r,{prefix:r,value:e});case Ve.string:return o(!0);case Ve.ctVersion:return o("object"==typeof e&&Object.prototype.hasOwnProperty.call(e,"abiVersion")&&Object.prototype.hasOwnProperty.call(e,"vmVersion"));case Ve.pointers:return o(Array.isArray(e)&&!e.find((e=>e!==Object(e))),{value:e});default:return{}}}(e[r],r,o,a))}),{})}function Or(e,t){let{excludeKeys:n=[],denomination:r=sr.AETTOS}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const o=t.filter((e=>{let[t]=e;return!n.includes(t)})),a=kr(e=Ir(e,o,{denomination:r}),t,{excludeKeys:n});if(Object.keys(a).length)throw new Error("Transaction build error. "+JSON.stringify(a));return o.map((t=>{let[n,r,o]=t;return Tr(e[n],r,o)}))}function Sr(e,t){return t.reduce(((t,n,r)=>{let[o,a,i]=n;return Object.assign(t,{[o]:xr(e[r],a,i)})}),{})}const Nr=e=>{let{vsn:t,objId:n,type:r}=e;const o=!!n,a=o?n:r,i=o?Wt:Kt;if(!i[a])throw new Error(`Transaction ${o?"deserialization":"serialization"} not implemented for ${o?"tag "+n:r}`);if(!i[a][t])throw new Error(`Transaction ${o?"deserialization":"serialization"} not implemented for ${o?"tag "+n:r} version ${t}`);return i[a][t]};function Pr(e,t){let{excludeKeys:n=[],prefix:r="tx",vsn:o=K,denomination:a=sr.AETTOS}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const[i,s]=Nr({type:t,vsn:o}),c=Or({...e,VSN:o,tag:s},i,{excludeKeys:n,denomination:e.denomination||a}).filter((e=>void 0!==e)),u=(0,ir.encode)(c),l=rn(u,r);return{tx:l,rlpEncoded:u,binary:c,txObject:Sr(c,i)}}function jr(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:nn(e,n),o=(0,ir.decode)(r),a=cn(o[0]),i=cn(o[1]),[s]=Nr({objId:a,vsn:i});return{txType:qe[a],tx:Sr(o,s),rlpEncoded:r,binary:o}}function Mr(e){return rn(H("string"==typeof e&&e.startsWith("tx_")?nn(e,"tx"):e),"th")}var Rr={calculateMinFee:Ar,calculateFee:_r,unpackTx:jr,unpackRawTx:Sr,buildTx:Pr,buildRawTx:Or,validateParams:kr,buildTxHash:Mr};const Br=["int","string","tuple","address","bool","list","map","record","option","oracle","oracleQuery","hash","signature","bytes","variant"].reduce(((e,t)=>({...e,[t]:t})),{ChainTtl:"Chain.ttl"}),qr=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return e.reduce(((e,n)=>{const[r,...o]=n.topics,a=t.find((e=>H(e.name).equals(O(r,!0))));if(!a)return e;const i=a.types.filter((e=>e===Br.string)).length;if(i>1)throw new Error(`Event schema contains more than one string: ${a.types}`);const s=a.types.length-i;if(s!==o.length)throw new Error(`Schema defines ${s} types, but ${o.length} topics present`);return e.push({...n,name:a.name,decoded:a.types.map((e=>Vr(e===Br.string?n.data:o.shift(),e)))}),e}),[])};function Vr(e,t){switch(t){case Br.int:return n=e,new(x())(n.toString()).toString(10);case Br.bool:return!!e;case Br.hash:return O(e,!0).toString("hex");case Br.address:return In(e);case Br.string:return nn(e).toString("utf-8");default:return O(e,!0)}var n}var Fr=C(1001),$r=C(2405),Dr=C(8367),Ur=C(3550).Buffer;const Hr=Ur.from("ed25519 seed"),Kr=2147483648,Wr=e=>Ur.from(e).toString("hex");function Lr(e,t){const n=""===e?[]:(0,$r.fromString)(e).toPathArray();return n.forEach(((e,t)=>{if(e<Kr)throw new Error(`Segment #${t+1} is not hardened`)})),n.reduce(((e,t)=>Xr(e,t)),t)}function Gr(e,t){if(!["m","m/"].includes(e.slice(0,2)))throw new Error("Invalid path");const n=zr(t);return Lr(e.slice(2),n)}function Qr(e){const{secretKey:t,publicKey:n}=e;return{secretKey:Wr(t),publicKey:`ak_${On(n)}`}}function Yr(e){return m().sign.keyPair.fromSeed(e)}function zr(e){const t=(0,Fr.full)(e,Hr);return{secretKey:t.slice(0,32),chainCode:t.slice(32)}}function Xr(e,t){let{secretKey:n,chainCode:r}=e;if(t<Kr)throw new Error(`Child index #${t} is not supported`);const o=Ur.allocUnsafe(4);o.writeUInt32BE(t,0);const a=Ur.concat([Ur.alloc(1,0),Ur.from(n),Ur.from(o)]),i=(0,Fr.full)(a,r);return{secretKey:i.slice(0,32),chainCode:i.slice(32)}}var Jr={getHdWalletAccountFromMnemonic:(e,t)=>({...Qr(Yr(Lr(`${t}h/0h/0h`,Gr("m/44h/457h",(0,Dr.mnemonicToSeed)(e))).secretKey)),idx:t}),getSaveHDWalletAccounts:function(e,t,n){const r={secretKey:Bn(t,Ur.from(e.secretKey,"hex")),chainCode:Bn(t,Ur.from(e.chainCode,"hex"))};return new Array(n).fill().map(((e,t)=>Qr(Yr(Lr(`${t}h/0h/0h`,r).secretKey))))},generateSaveHDWallet:function(e,t){if(!(0,Dr.validateMnemonic)(e))throw new Error("Invalid mnemonic");const n=Gr("m/44h/457h",(0,Dr.mnemonicToSeed)(e));return{secretKey:Wr(Rn(t,n.secretKey)),chainCode:Wr(Rn(t,n.chainCode))}},generateMnemonic:function(){return(0,Dr.generateMnemonic)()},deriveChild:Xr,getMasterKeyFromSeed:zr},Zr=C(1031),eo=C.n(Zr),to=C(8081),no=eo()((0,to.required)({methods:{spendTx:to.required,namePreclaimTx:to.required,nameClaimTx:to.required,nameTransferTx:to.required,nameUpdateTx:to.required,nameRevokeTx:to.required,contractCreateTx:to.required,contractCallTx:to.required,oracleRegisterTx:to.required,oracleExtendTx:to.required,oraclePostQueryTx:to.required,oracleRespondTx:to.required,getAccountNonce:to.required,channelCloseSoloTx:to.required,channelSlashTx:to.required,channelSettleTx:to.required,channelSnapshotSoloTx:to.required,gaAttachTx:to.required,getVmVersion:to.required,prepareTxParams:to.required}})),ro=eo()({deepProps:{Ae:{defaults:{waitMined:!0,verify:!0}}}},(0,to.required)({methods:{sendTransaction:to.required,height:to.required,awaitHeight:to.required,topBlock:to.required,poll:to.required,balance:to.required,getBalance:to.required,tx:to.required,getTxInfo:to.required,mempool:to.required,txDryRun:to.required,getAccount:to.required}})),oo=C(7430),ao=C.n(oo),io=C(7414),so=C.n(io),co=C(5713),uo=C.n(co),lo=C(7263),ho=C.n(lo),po=C(6290),fo=C.n(po);function mo(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{stamp:t,args:n,instance:r}=arguments.length>1?arguments[1]:void 0;return t.compose.deepConfiguration.AsyncInit.initializers.reduce((async(r,o)=>{if(r=await Promise.resolve(r),"function"==typeof o){const a=await Promise.resolve(o.call(r,e,{stamp:t,args:n,instance:r}));return void 0===a?r:a}return r}),r)}var go=eo()({deepConf:{AsyncInit:{initializers:[]}},composers(e){let{stamp:t,composables:n}=e;t.compose.deepConfiguration.AsyncInit.initializers=fo()([mo],ho()(uo(),so()(n.map((e=>ao()(["compose","deepConfiguration","AsyncInit","initializers"],e)||(e.compose||e).initializers||[]))))),t.compose.initializers=[mo]}}),yo=C(4021),wo=C.n(yo),bo=C(6311),vo=C.n(bo),xo=C(3656);const To=C.n(xo)()({storeAsString:!0}),Io=e=>{if("object"==typeof e&&null!==e&&e.constructor===Object)return Object.entries(e).map((e=>{let[t,n]=e;return[t,Io(n)]})).reduce(((e,t)=>{let[n,r]=t;return{...e,[n]:r}}),{});if(Array.isArray(e))return e.map((e=>Io(e)));if("string"==typeof e&&x()(e).toString(10)===e){const t=x()(e);return t.toJSON=()=>t.toString(10),t}return e};var Co={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 To.stringify(Io(e),...n)},parse:To.parse};const Ao=async e=>await new Promise((t=>setTimeout(t,e))),Eo=(e,t)=>Object.fromEntries(Object.entries(e).map(t)),_o=(e,t)=>Object.fromEntries(Object.entries(e).filter(t)),ko=(e,t)=>"object"!=typeof t||null===t?t:Array.isArray(t)?t.map((t=>ko(e,t))):Eo(t,(t=>{let[n,r]=t;return[e(n),ko(e,r)]})),Oo=ko.bind(null,I),So=ko.bind(null,T);let No=!1;var Po=async function(e){let{spec:t,internalUrl:n,disableBigNumbers:r,disableCaseConversion:o,responseInterceptor:a}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t=t||await(await vo()(e)).json();const i=r?JSON:Co;(["https://compiler.aepps.com","https://latest.compiler.aepps.com"].includes(new URL(e).origin)||new URL(e).origin.includes("https://"))&&(t.schemes=["https"]);const[s,c]=await Promise.all([e,n].map((e=>e?wo()({url:e,spec:t,responseInterceptor:e=>{if(!e.text)return e;const t=i.parse(e.text);return Object.assign(e,{body:o?t:So(t)}),a&&a(e)||e}}):null))),u=[...Object.values(s.apis),Eo((null==c?void 0:c.apis.internal)||{},(e=>{let[t,n]=e;return[t,function(){return No||(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")'),No=!0),n(...arguments)}]}))].reduce(((e,t)=>({...e,...t}))),l=Object.values(t.paths).map((e=>Object.values(e))).flat().reduce(((e,t)=>({...e,[t.operationId]:t})),{}),d=Eo(u,(e=>{let[t,n]=e;return[t.slice(0,1).toLowerCase()+t.slice(1),async function(){for(var e=arguments.length,r=new Array(e),a=0;a<e;a++)r[a]=arguments[a];const s=l[t],c=[...s.parameters,...s.requestBody?[{required:s.requestBody.required,schema:Object.values(s.requestBody.content)[0].schema,name:"__requestBody"}]:[]],u=c.filter((e=>e.required)).map((e=>e.name));if(r.length<u.length)throw new Error("swagger: Not enough arguments");const d=u.reduce(((e,t,n)=>({...e,[t]:r[n]})),r[u.length]||{}),{__requestBody:h,...p}=Eo(d,(e=>{let[t,n]=e;if("object"!=typeof n)return[t,n];const r=Object.keys(c.find((e=>e.name===t)).schema.properties),a=_o(o?n:Oo(n),(e=>{let[t]=e;return r.includes(t)}));return[t,i.stringify(a)]}));return(await n(p,{requestBody:h})).body}]}));return Object.assign(s,{api:d})};function jo(e,t,n){const r=e=>e.split(/[-+]/)[0].split(".").map((e=>+e)),o=r(e),a=r(t),i=r(n),s=Math.max(...o,...a,...i)+1,c=e=>e.reverse().reduce(((e,t,n)=>e+t*Math.pow(s,n)),0),u=c(o),l=c(a),d=c(i);return u>=l&&u<d}function Mo(){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 Ro=go.compose({async init(e){let{url:t,internalUrl:n,ignoreVersion:r}=e;if(!t)throw new Error('"url" required');this.url=t.replace(/\/$/,""),this.internalUrl=n?n.replace(/\/$/,""):this.url;const o=await Po(`${this.url}/api?oas3`,{internalUrl:this.internalUrl,responseInterceptor:e=>{if(!e.ok)return Object.assign(e,{statusText:`${new URL(e.url).pathname.slice(1)} error: `+e.body.reason})}});if(this.version=o.spec.info.version,!jo(this.version,Bo,qo)&&!r)throw new Error(`Unsupported node version ${this.version}. Supported: >= ${Bo} < ${qo}`);this.api=o.api;const{nodeRevision:a,genesisKeyBlockHash:i,networkId:s,protocols:c,topBlockHeight:u}=await this.api.getStatus();return this.consensusProtocolVersion=c.filter((e=>{let{effectiveAtHeight:t}=e;return u>=t})).reduce(((e,t)=>t.effectiveAtHeight>e.effectiveAtHeight?t:e),{effectiveAtHeight:-1,version:0}).version,this.nodeNetworkId=s,Object.assign(this,{revision:a,genesisHash:i})},methods:{getNodeInfo(){return{url:this.url,internalUrl:this.internalUrl,nodeNetworkId:this.nodeNetworkId,version:this.version,consensusProtocolVersion:this.consensusProtocolVersion}}},props:{version:null,consensusProtocolVersion:null,nodeNetworkId:null}}),Bo="6.2.0",qo="7.0.0";var Vo=Ro,Fo=C(3550).Buffer;const $o=e=>!["sign","address"].find((t=>"function"!=typeof e[t]));var Do=eo()({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=nn(e,"tx"),o=Fo.concat([Fo.from(n.join("-")),H(r)]),a=[await this.sign(o,t)];return Pr({encodedTx:r,signatures:a},Pe.signed).tx},getNetworkId:Mo,signMessage:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{returnHex:!1};const n=await this.sign(Fn(e),t);return t.returnHex?Fo.from(n).toString("hex"):n},verifyMessage:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return Dn(e,"string"==typeof t?Fo.from(t,"hex"):t,nn(await this.address(n)))}}},(0,to.required)({methods:{sign:to.required,address:to.required}}));const Uo=eo()(no,Do,ro,{methods:{send:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n={...this.Ae.defaults,...t},{contractId:r,authFun:o}=t.innerTx?{contractId:!1}:await this.getAccount(await this.address(n)),a=r?await this.signUsingGA(e,{...n,authFun:o}):await this.signTransaction(e,n);return n.innerTx?{hash:Rr.buildTxHash(a),rawTx:a}:this.sendTransaction(a,n)},spend:async function(e,t,n){const r={...this.Ae.defaults,...n};return this.send(await this.spendTx({...r,senderId:await this.address(r),recipientId:await this.resolveName(t,"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},o=await this.resolveName(t,"ak",r),a=await this.address(r),i=new(x())(await this.balance(a)),s=i.times(e).integerValue(x().ROUND_HALF_UP),{tx:{fee:c}}=Rr.unpackTx(await this.spendTx({...r,senderId:a,recipientId:o,amount:s})),u=s.plus(c).gt(i)?i.minus(c):s;return this.send(await this.spendTx({...r,senderId:a,recipientId:o,amount:u}),r)},payForTransaction:async function(e,t){const n={...this.Ae.defaults,...t};return this.send(await this.payingForTx({...n,payerId:await this.address(n),tx:e}),n)},destroyInstance:function(){["destroyClient","destroyServer"].forEach((e=>this[e]&&"function"==typeof this[e]&&this[e]()))},signUsingGA:async function(e){let{authData:t,authFun:n,...r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.createMetaTx(e,t,n,r)}},deepProps:{Ae:{defaults:{denomination:sr.AETTOS}}}});var Ho=Uo,Ko=C(3550).Buffer;const Wo=[async(e,t)=>{let{encodedTx:n,signatures:r}=e,{account:o,node:a,parentTxTypes:i}=t;if(void 0===(n??r))return[];if(1!==r.length)return[];const s=Ko.from([a.nodeNetworkId,...i.includes(Pe.payingFor)?["inner_tx"]:[]].join("-")),c=Ko.concat([s,n.rlpEncoded]),u=Ko.concat([s,H(n.rlpEncoded)]),l=nn(o.id,"ak");return Vn(c,r[0],l)||Vn(u,r[0],l)?[]:[{message:"Signature cannot be verified, please ensure that you transaction have the correct prefix and the correct private key for the sender address",key:"InvalidSignature",checkedKeys:["encodedTx","signatures"]}]},async(e,t)=>{let{encodedTx:n,tx:r}=e,{node:o,parentTxTypes:a,txType:i}=t;return void 0===(n??r)?[]:Go(rn((n??r).rlpEncoded,"tx"),o,[...a,i])},(e,t)=>{let{txType:n}=t;if(void 0===e.fee)return[];const r=_r(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:o,tx:a}=e,{account:i,parentTxTypes:s,txType:c}=t;if(void 0===(n??r??o))return[];const u=new(x())(r).plus(o||0).plus(n||0).plus(c===Pe.payingFor?a.tx.encodedTx.tx.fee:0).minus(s.includes(Pe.payingFor)?r:0);return u.lte(i.balance)?[]:[{message:`Account balance ${i.balance} is not enough to execute the transaction that costs ${u.toFixed()}`,key:"InsufficientBalance",checkedKeys:["amount","fee","nameFee"]}]},(e,t)=>{let{nonce:n}=e,{account:r,parentTxTypes:o}=t;if(void 0===n||o.includes(Pe.gaMeta))return[];n=+n;const a=r.nonce+1;return n===a?[]:[{...n<a?{message:`Nonce ${n} is already used, valid nonce is ${a}`,key:"NonceAlreadyUsed"}:{message:`Nonce ${n} is too high, valid nonce is ${a}`,key:"NonceHigh"},checkedKeys:["nonce"]}]},e=>{let{gasPrice:t}=e;return void 0===t||t>=ee?[]:[{message:`Gas price ${t} must be bigger then ${ee}`,key:"MinGasPrice",checkedKeys:["gasPrice"]}]},(e,t)=>{let{ctVersion:n,abiVersion:r}=e,{txType:o,node:a}=t;const{consensusProtocolVersion:i}=a.getNodeInfo(),s=Be[i];if(!s)throw new Error(`Unsupported protocol: ${i}`);n||(n={abiVersion:r});const c=s[o];return c&&Object.entries(n).some((e=>{let[t,n]=e;return!c[t].includes(+n)}))?[{message:`ABI/VM version ${JSON.stringify(n)} is wrong, supported is: ${JSON.stringify(c)}`,key:"VmAndAbiVersionMismatch",checkedKeys:["ctVersion","abiVersion"]}]:[]}],Lo=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 Go(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const{tx:r,txType:o}=jr(e),a=Lo(r)??(o===Pe.signed?Lo(r.encodedTx.tx):null),[i,s]=await Promise.all([a&&t.api.getAccountByPubkey(a).catch((()=>({id:a,balance:new(x())(0),nonce:0}))),t.api.getCurrentKeyBlockHeight().then((e=>{let{height:t}=e;return t}))]);return(await Promise.all(Wo.map((e=>e(r,{txType:o,node:t,account:i,height:s,parentTxTypes:n}))))).flat()}var Qo=eo()({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:Mo,isNodeConnected(){return!!this.selectedNode.instance},getNodeInfo(){if(!this.isNodeConnected())throw new Error("Can not get node info. Node is not connected");return{name:this.selectedNode.name,...this.selectedNode.instance.getNodeInfo()}},getNodesInPool(){return Array.from(this.pool.entries()).map((e=>{let[t,n]=e;return{name:t,...n.instance.getNodeInfo()}}))},validateNodes(e){if(!Array.isArray(e))throw new Error('"nodes" should be an array');const t=e.map((e=>typeof e)).find((e=>"object"!==e));if(t)throw new Error(`Each node should be an object, got ${t} instead`);const n=e.find((e=>"string"!=typeof e.name||"object"!=typeof e.instance));if(t)throw new Error(`Each node should have name (string), instance (object) fields, got ${JSON.stringify(n)} instead`);const r=e.map((e=>e.instance)).find((e=>"object"!=typeof e.api||"string"!=typeof e.genesisHash||"number"!=typeof e.consensusProtocolVersion));if(r)throw new Error(`Each node instance should have api (object), consensusProtocolVersion (number), genesisHash (string) fields, got ${JSON.stringify(r)} instead`)}},props:{selectedNode:{}}});const Yo=ro.compose(Qo,{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 Go(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:()=>Go(e,this.selectedNode.instance)})}},balance:async function(e){let{height:t,hash:n,format:r=sr.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{balance:o}=await this.getAccount(e,{hash:n,height:t});return dr(o,{targetDenomination:r}).toString()},getBalance:async function(e){let{height:t,hash:n,format:r=sr.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{balance:o}=await this.getAccount(e,{hash:n,height:t}).catch((e=>({balance:0})));return dr(o,{targetDenomination:r}).toString()},getAccount:async function(e){let{height:t,hash:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t?this.api.getAccountByPubkeyAndHeight(e,t):n?this.api.getAccountByPubkeyAndHash(e,n):this.api.getAccountByPubkey(e)},topBlock:async function(){return this.api.getTopHeader()},tx:async function(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const n=await this.api.getTransactionByHash(e);if(["ContractCreateTx","ContractCallTx","ChannelForceProgressTx"].includes(n.tx.type)&&t&&-1!==n.blockHeight)try{return{...n,...await this.getTxInfo(e)}}catch(e){}return n},height:async function(){try{return this._heightPromise||(this._heightPromise=this.api.getCurrentKeyBlockHeight()),(await this._heightPromise).height}finally{delete this._heightPromise}},awaitHeight:async function(e){let t,{interval:n=5e3,attempts:r=20}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(let o=0;o<r;o++)if(o&&await Ao(n),t=await this.height(),t>=e)return t;throw new Error(`Giving up after ${(r-1)*n}ms, current height: ${t}, desired height: ${e}`)},poll:async function(e){let{blocks:t=10,interval:n=500,allowUnsynced:r=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=await this.height()+t;do{const t=await this.tx(e).catch((e=>null));if(t&&(-1!==t.blockHeight||r&&t.height))return t;await Ao(n)}while(await this.height()<o);throw new Error(`Giving up after ${t} blocks mined, transaction hash: ${e}`)},getTxInfo:async function(e){const t=await this.api.getTransactionInfoByHash(e);return t.callInfo||t},mempool:async function(){return this.api.getPendingTransactions()},getCurrentGeneration:async function(){return this.api.getCurrentGeneration()},getGeneration:async function(e){if("string"==typeof e)return this.api.getGenerationByHash(e);if("number"==typeof e)return this.api.getGenerationByHeight(e);throw new Error("Invalid param, param must be hash or height")},getMicroBlockHeader:async function(e){return this.api.getMicroBlockHeaderByHash(e)},getMicroBlockTransactions:async function(e){return(await this.api.getMicroBlockTransactionsByHash(e)).transactions},getKeyBlock:async function(e){if("string"==typeof e)return this.api.getKeyBlockByHash(e);if("number"==typeof e)return this.api.getKeyBlockByHeight(e);throw new Error("Invalid param, param must be hash or height")},txDryRun:async function(e,t,n){const{results:[{result:r,reason:o,...a}],...i}=await this.api.protectedDryRunTxs({...n,txs:[{tx:e}],accounts:[{pubKey:t,amount:ne.amount}]});if("ok"===r)return{...a,...i};throw Object.assign(new Error("Dry run error, "+o),{tx:e,accountAddress:t,options:n})},getContractByteCode:async function(e){return this.api.getContractCode(e)},getContract:async function(e){return this.api.getContract(e)},getName:async function(e){return this.api.getNameEntryByName(e)},waitForTxConfirm:async function e(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{confirm:3};n.confirm=!0===n.confirm?3:n.confirm;const{blockHeight:r}=await this.tx(t),o=await this.awaitHeight(r+n.confirm,n),{blockHeight:a}=await this.tx(t);switch(a){case-1:throw new Error(`Transaction ${t} is removed from chain`);case r:return o;default:return e(t,n)}},resolveName:async function(e,t){let{verify:n,resolveByNode:r}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!e||"string"!=typeof e)throw new Error(`Name or address should be a string: ${e}`);const o=Object.keys(pe);if(!o.includes(t))throw new Error(`Invalid prefix ${t}, should be one of [${o}]`);try{return nn(e,t),e}catch(e){}if(hn(e)){if(n||r){const n=await this.getName(e).catch((e=>null));if(!n)throw new Error(`Name not found: ${e}`);const o=n.pointers.find((e=>{let{id:n}=e;return n.split("_")[0]===t}));if(!o)throw new Error(`Name ${e} don't have pointers for ${t}`);if(r)return o.id}return en(e)}throw new Error(`Invalid name or address: ${e}`)}}});var zo=Yo,Xo=C(3550).Buffer;const Jo=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(Pe).includes(e))throw new Error(`Unknown transaction type ${e}`);const r=_r(t.fee,e,{gas:t.gas,params:t,vsn:t.vsn}),{rlpEncoded:o,binary:a,tx:i,txObject:s}=Pr({...t,fee:r},e,{vsn:t.vsn,...n});return{rlpEncoded:o,binary:a,encodedTx:i,params:s,type:e}},Zo=e=>{if(!e)throw new Error(`Invalid transaction: ${e}`);if("string"==typeof e){const{txType:t,tx:n,rlpEncoded:r,binary:o}=jr(e);return{encodedTx:e,type:t,params:n,rlpEncoded:r,binary:o}}if(Xo.isBuffer(e)){const{txType:t,tx:n,rlpEncoded:r,binary:o}=jr(e,!0);return{encodedTx:rn(e,"tx"),type:t,params:n,rlpEncoded:r,binary:o}}},ea=eo()({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 Jo(n,t,r);if(e)return Zo(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===Pe.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=>ea({tx:e}),fromRlp:e=>ea({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,Jo(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)?Xo.from(e,"hex"):e,!(Xo.isBuffer(e)||e instanceof Uint8Array))throw new Error("Invalid signature, signature must be of type Buffer or Uint8Array");Object.assign(this,Jo(Pe.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 _r(0,this.type,{gas:t.gas,params:t,vsn:t.vsn})}}});var ta=ea;async function na(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:L,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 ra=zo.compose(no,{init(e){let{nativeMode:t=!0,showWarning:n=!1}=e;this.nativeMode=t,this.showWarning=n},props:{nativeMode:!0,showWarning:!1},methods:{spendTx:async function(e){let{senderId:t,recipientId:n,amount:r,payload:o=""}=e;const{fee:a,ttl:i,nonce:s}=await this.prepareTxParams(Pe.spend,{senderId:t,...arguments[0],payload:o}),{tx:c}=this.nativeMode?{tx:ea({params:{...arguments[0],recipientId:n,senderId:t,nonce:s,ttl:i,payload:o},type:Pe.spend}).encodedTx}:await this.api.postSpend({...arguments[0],amount:parseInt(r),recipientId:n,senderId:t,nonce:s,ttl:i,fee:parseInt(a),payload:o});return c},namePreclaimTx:async function(e){let{accountId:t,commitmentId:n}=e;const{fee:r,ttl:o,nonce:a}=await this.prepareTxParams(Pe.namePreClaim,{senderId:t,...arguments[0]}),{tx:i}=this.nativeMode?{tx:ea({params:{...arguments[0],nonce:a,ttl:o,fee:r},type:Pe.namePreClaim}).encodedTx}:await this.api.postNamePreclaim({...arguments[0],nonce:a,ttl:o,fee:parseInt(r)});return i},nameClaimTx:async function(e){let{accountId:t,name:n,nameSalt:r,vsn:o=2}=e;const{fee:a,ttl:i,nonce:s}=await this.prepareTxParams(Pe.nameClaim,{senderId:t,...arguments[0],vsn:o}),{tx:c}=this.nativeMode?{tx:ea({params:{...arguments[0],nonce:s,ttl:i,fee:a,vsn:o},type:Pe.nameClaim}).encodedTx}:await this.api.postNameClaim({...arguments[0],nonce:s,ttl:i,fee:parseInt(a)});return c},nameTransferTx:async function(e){let{accountId:t,nameId:n,recipientId:r}=e;const{fee:o,ttl:a,nonce:i}=await this.prepareTxParams(Pe.nameTransfer,{senderId:t,...arguments[0]}),{tx:s}=this.nativeMode?{tx:ea({params:{...arguments[0],recipientId:r,nonce:i,ttl:a,fee:o},type:Pe.nameTransfer}).encodedTx}:await this.api.postNameTransfer({...arguments[0],recipientId:r,nonce:i,ttl:a,fee:parseInt(o)});return s},nameUpdateTx:async function(e){let{accountId:t,nameId:n,nameTtl:r,pointers:o,clientTtl:a}=e;const{fee:i,ttl:s,nonce:c}=await this.prepareTxParams(Pe.nameUpdate,{senderId:t,...arguments[0]}),{tx:u}=this.nativeMode?{tx:ea({params:{...arguments[0],nonce:c,ttl:s,fee:i},type:Pe.nameUpdate}).encodedTx}:await this.api.postNameUpdate({...arguments[0],nonce:c,ttl:s,fee:parseInt(i)});return u},nameRevokeTx:async function(e){let{accountId:t,nameId:n}=e;const{fee:r,ttl:o,nonce:a}=await this.prepareTxParams(Pe.nameRevoke,{senderId:t,...arguments[0]}),{tx:i}=this.nativeMode?{tx:ea({params:{...arguments[0],nonce:a,ttl:o,fee:r},type:Pe.nameRevoke}).encodedTx}:await this.api.postNameRevoke({...arguments[0],nonce:a,ttl:o,fee:parseInt(r)});return i},contractCreateTx:async function(e){let{ownerId:t,code:n,vmVersion:r,abiVersion:o,deposit:a,amount:i,gas:s,gasPrice:c=ee,callData:u}=e;const l=this.getVmVersion(Pe.contractCreate,arguments[0]),{fee:d,ttl:h,nonce:p}=await this.prepareTxParams(Pe.contractCreate,{senderId:t,...arguments[0],ctVersion:l,gasPrice:c});return this.nativeMode?{tx:ea({params:{...arguments[0],nonce:p,ttl:h,fee:d,ctVersion:l,gasPrice:c},type:Pe.contractCreate}).encodedTx,contractId:Xt(t,p)}:this.api.postContractCreate({...arguments[0],nonce:p,ttl:h,fee:parseInt(d),gas:parseInt(s),gasPrice:c,vmVersion:l.vmVersion,abiVersion:l.abiVersion})},contractCallTx:async function(e){let{callerId:t,contractId:n,abiVersion:r,amount:o,gas:a,gasPrice:i=ee,callData:s}=e;const c=this.getVmVersion(Pe.contractCall,arguments[0]),{fee:u,ttl:l,nonce:d}=await this.prepareTxParams(Pe.contractCall,{senderId:t,...arguments[0],gasPrice:i,abiVersion:c.abiVersion}),{tx:h}=this.nativeMode?{tx:ea({params:{...arguments[0],nonce:d,ttl:l,fee:u,abiVersion:c.abiVersion,gasPrice:i},type:Pe.contractCall}).encodedTx}:await this.api.postContractCall({...arguments[0],nonce:d,ttl:l,fee:parseInt(u),gas:parseInt(a),gasPrice:i,abiVersion:c.abiVersion});return h},prepareTxParams:async function(e,t){let{senderId:n,nonce:r,ttl:o,fee:a,gas:i,absoluteTtl:s,vsn:c,strategy:u}=t;r=r||(await this.api.getAccountNextNonce(n,{strategy:u}).catch((e=>({nextNonce:1})))).nextNonce;const l=await na.call(this,o,!s),d=_r(a,e,{showWarning:this.showWarning,gas:i,params:{...arguments[1],nonce:r,ttl:l},vsn:c});return{fee:d,ttl:l,nonce:r}},oracleRegisterTx:async function(e){let{accountId:t,queryFormat:n,responseFormat:r,queryFee:o,oracleTtl:a,abiVersion:i=Me.NO_ABI}=e;const{fee:s,ttl:c,nonce:u}=await this.prepareTxParams(Pe.oracleRegister,{senderId:t,...arguments[0],abiVersion:i}),{tx:l}=this.nativeMode?{tx:ea({params:{accountId:t,queryFee:o,abiVersion:i,fee:s,oracleTtl:a,nonce:u,ttl:c,queryFormat:n,responseFormat:r},type:Pe.oracleRegister}).encodedTx}:await this.api.postOracleRegister({accountId:t,queryFee:o,abiVersion:i,fee:parseInt(s),oracleTtl:a,nonce:u,ttl:c,queryFormat:n,responseFormat:r});return l},oracleExtendTx:async function(e){let{oracleId:t,callerId:n,oracleTtl:r}=e;const{fee:o,ttl:a,nonce:i}=await this.prepareTxParams(Pe.oracleExtend,{senderId:n,...arguments[0]}),{tx:s}=this.nativeMode?{tx:ea({params:{oracleId:t,fee:o,oracleTtl:r,nonce:i,ttl:a},type:Pe.oracleExtend}).encodedTx}:await this.api.postOracleExtend({oracleId:t,fee:parseInt(o),oracleTtl:r,nonce:i,ttl:a});return s},oraclePostQueryTx:async function(e){let{oracleId:t,responseTtl:n,query:r,queryTtl:o,queryFee:a,senderId:i}=e;const{fee:s,ttl:c,nonce:u}=await this.prepareTxParams(Pe.oracleQuery,{senderId:i,...arguments[0]}),{tx:l}=this.nativeMode?{tx:ea({params:{oracleId:t,responseTtl:n,query:r,queryTtl:o,fee:s,queryFee:a,ttl:c,nonce:u,senderId:i},type:Pe.oracleQuery}).encodedTx}:await this.api.postOracleQuery({oracleId:t,responseTtl:n,query:r,queryTtl:o,fee:parseInt(s),queryFee:a,ttl:c,nonce:u,senderId:i});return l},oracleRespondTx:async function(e){let{oracleId:t,callerId:n,responseTtl:r,queryId:o,response:a}=e;const{fee:i,ttl:s,nonce:c}=await this.prepareTxParams(Pe.oracleResponse,{senderId:n,...arguments[0]}),{tx:u}=this.nativeMode?{tx:ea({params:{oracleId:t,responseTtl:r,queryId:o,response:a,fee:i,ttl:s,nonce:c},type:Pe.oracleResponse}).encodedTx}:await this.api.postOracleRespond({oracleId:t,responseTtl:r,queryId:o,response:a,fee:parseInt(i),ttl:s,nonce:c});return u},channelCloseSoloTx:async function(e){let{channelId:t,fromId:n,payload:r,poi:o}=e;const{fee:a,ttl:i,nonce:s}=await this.prepareTxParams(Pe.channelCloseSolo,{senderId:n,...arguments[0],payload:r}),{tx:c}=this.nativeMode?Pr({...arguments[0],channelId:t,fromId:n,payload:r,poi:o,ttl:i,fee:a,nonce:s},Pe.channelCloseSolo):await this.api.postChannelCloseSolo({...arguments[0],channelId:t,fromId:n,payload:r,poi:o,ttl:i,fee:parseInt(a),nonce:s});return c},channelSlashTx:async function(e){let{channelId:t,fromId:n,payload:r,poi:o}=e;const{fee:a,ttl:i,nonce:s}=await this.prepareTxParams(Pe.channelSlash,{senderId:n,...arguments[0],payload:r}),{tx:c}=this.nativeMode?Pr({...arguments[0],channelId:t,fromId:n,payload:r,poi:o,ttl:i,fee:a,nonce:s},Pe.channelSlash):await this.api.postChannelSlash({...arguments[0],channelId:t,fromId:n,payload:r,poi:o,ttl:i,fee:parseInt(a),nonce:s});return c},channelSettleTx:async function(e){let{channelId:t,fromId:n,initiatorAmountFinal:r,responderAmountFinal:o}=e;const{fee:a,ttl:i,nonce:s}=await this.prepareTxParams(Pe.channelSettle,{senderId:n,...arguments[0]}),{tx:c}=this.nativeMode?Pr({...arguments[0],channelId:t,fromId:n,initiatorAmountFinal:r,responderAmountFinal:o,ttl:i,fee:a,nonce:s},Pe.channelSettle):await this.api.postChannelSettle({...arguments[0],channelId:t,fromId:n,initiatorAmountFinal:parseInt(r),responderAmountFinal:parseInt(o),ttl:i,fee:parseInt(a),nonce:s});return c},channelSnapshotSoloTx:async function(e){let{channelId:t,fromId:n,payload:r}=e;const{fee:o,ttl:a,nonce:i}=await this.prepareTxParams(Pe.channelSnapshotSolo,{senderId:n,...arguments[0],payload:r}),{tx:s}=this.nativeMode?Pr({...arguments[0],channelId:t,fromId:n,payload:r,ttl:a,fee:o,nonce:i},Pe.channelSnapshotSolo):await this.api.postChannelSnapshotSolo({...arguments[0],channelId:t,fromId:n,payload:r,ttl:a,fee:parseInt(o),nonce:i});return s},gaAttachTx:async function(e){let{ownerId:t,code:n,vmVersion:r,abiVersion:o,authFun:a,gas:i,gasPrice:s=ee,callData:c}=e;const u=this.getVmVersion(Pe.contractCreate,arguments[0]),{fee:l,ttl:d,nonce:h}=await this.prepareTxParams(Pe.gaAttach,{senderId:t,...arguments[0],ctVersion:u,gasPrice:s});return{tx:ea({params:{...arguments[0],nonce:h,ttl:d,fee:l,ctVersion:u,gasPrice:s},type:Pe.gaAttach}).encodedTx,contractId:Xt(t,h)}},payingForTx:async function(e){let{tx:t,payerId:n,...r}=e;const o={tx:jr(t),payerId:n},{fee:a,nonce:i}=await this.prepareTxParams(Pe.payingFor,{...o,...r,senderId:n});return Pr({...o,...r,fee:a,nonce:i},Pe.payingFor).tx},getAccountNonce:async function(e,t){if(t)return t;const{nonce:n}=await this.api.getAccountByPubkey(e).catch((()=>({nonce:0})));return n+1},getVmVersion:function(e){let{vmVersion:t,abiVersion:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{consensusProtocolVersion:r}=this.getNodeInfo(),o=Be[r];if(!o)throw new Error("Not supported consensus protocol version");const a=o[e];if(!a)throw new Error("Not supported tx type");if(n=n||a.abiVersion[0],t=t||a.vmVersion[0],!a.vmVersion.includes(t))throw new Error(`VM VERSION ${t} do not support by this node. Supported: [${a.vmVersion}]`);if(!a.abiVersion.includes(n))throw new Error(`ABI VERSION ${n} do not support by this node. Supported: [${a.abiVersion}]`);return{vmVersion:t,abiVersion:n}}}});var oa=ra,aa=C(3550).Buffer;const ia=new WeakMap;var sa=Do.compose({init(e){let{keypair:t,gaId:n}=e;if(this.isGa=!!n,n){if(!Tn(n))throw new Error("Invalid GA address");return void ia.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(!aa.isBuffer(t.secretKey)&&"string"==typeof t.secretKey&&!E(t.secretKey))throw new Error("Secret key must be hex string or Buffer");const r=aa.from(nn(t.publicKey,"ak"));if(!Hn(aa.from(t.secretKey,"hex"),r))throw new Error("Invalid Key Pair");ia.set(this,{secretKey:aa.isBuffer(t.secretKey)?t.secretKey:aa.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(qn(e,ia.get(this).secretKey))},address(){return Promise.resolve(ia.get(this).publicKey)}}}),ca=Do.compose(go,{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(nn(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(nn(e,"ak"),!this.accounts[e])throw new Error(`Account for ${e} not available`);return this.accounts[e];case"object":return $o(e)?e:sa({keypair:e});default:throw new Error(`Unknown account type: ${typeof e} (account: ${e})`)}}}});const ua=Ho.compose({methods:{aensQuery:async function(e){var t=this;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};dn(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]:[],o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{...await t.aensUpdate(e,r,{...n,...o}),...await t.aensQuery(e)}},transfer:async function(r){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{...await t.aensTransfer(e,r,{...n,...o}),...await t.aensQuery(e)}},revoke:async function(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return t.aensRevoke(e,{...n,...r})},extendTtl:async function(){let o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:re,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!o||"number"!=typeof o||o>re)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,...a,nameTtl:o}),...await t.aensQuery(e)}}}))},aensPreclaim:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};dn(e);const n={...this.Ae.defaults,...t},r=An(),o=await this.height(),a=tn(e,r),i=await this.namePreclaimTx({...n,accountId:await this.address(n),commitmentId:a}),s=await this.send(i,n);return Object.freeze({...s,height:o,claim:t=>this.aensClaim(e,r,{...t,onAccount:n.onAccount}),salt:r,commitmentId:a})},aensClaim:async function(e,t,n){dn(e);const r={...this.Ae.defaults,...n},o=mn(e);if(r.nameFee!==this.Ae.defaults.nameFee&&o.gt(r.nameFee))throw new Error(`the provided fee ${r.nameFee} is not enough to execute the claim, required: ${o}`);r.nameFee=r.nameFee!==this.Ae.defaults.nameFee?r.nameFee:o;const a=await this.nameClaimTx({...r,accountId:await this.address(r),nameSalt:t,name:rn(e,"nm")}),i=await this.send(a,r);if(!wn(e)){const t=r.waitMined?await this.aensQuery(e,r):{};return Object.assign(i,t)}return{...i,nameFee:r.nameFee}},aensUpdate:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{extendPointers:!1};dn(e);const r={...this.Ae.defaults,...n};if(!fn(t))throw new Error("Invalid pointers array");t=[...n.extendPointers?(await this.getName(e)).pointers:[],...t.map((e=>Object.fromEntries([["id",e],["key",pn(e)]])))].reduce(((e,t)=>[...e.filter((e=>e.key!==t.key)),t]),[]);const o=await this.nameUpdateTx({...r,nameId:en(e),accountId:await this.address(r),pointers:t});return this.send(o,r)},aensTransfer:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};dn(e);const r={...this.Ae.defaults,...n},o=await this.nameTransferTx({...r,nameId:en(e),accountId:await this.address(r),recipientId:t});return this.send(o,r)},aensRevoke:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};dn(e);const n={...this.Ae.defaults,...t},r=await this.nameRevokeTx({...n,nameId:en(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]:se,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.aensClaim(e,0,{...n,nameFee:t,vsn:2})}},deepProps:{Ae:{defaults:{clientTtl:ie,nameTtl:re,nameFee:se}}}});var la=ua,da=eo()((0,to.required)({methods:{contractEncodeCallDataAPI:to.required,compileContractAPI:to.required,contractGetACI:to.required,setCompilerUrl:to.required,getCompilerVersion:to.required,contractDecodeCallResultAPI:to.required,validateByteCodeAPI:to.required,getFateAssembler:to.required,getBytecodeCompilerVersion:to.required}})),ha=go.compose(da,{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 Po(`${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&&!jo(this.compilerVersion,pa,fa))throw new Error(`Unsupported compiler version ${this.compilerVersion}. Supported: >= ${pa} < ${fa}`)},_ensureCompilerReady(){if(!this._compilerApi)throw new Error("Compiler is not ready")},_prepareCompilerOptions(){let{filesystem:e={}}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{file_system:e}},getCompilerVersion(){return this._ensureCompilerReady(),Promise.resolve(this.compilerVersion)},async contractEncodeCallDataAPI(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=arguments.length>3?arguments[3]:void 0;this._ensureCompilerReady();const{calldata:o}=await this._compilerApi.encodeCalldata({source:e,function:t,arguments:n,options:this._prepareCompilerOptions(r)});return o},async compileContractAPI(e,t){this._ensureCompilerReady();const{bytecode:n}=await this._compilerApi.compileContract({code:e,options:this._prepareCompilerOptions(t)});return n},contractGetACI(e,t){return this._ensureCompilerReady(),this._compilerApi.generateACI({code:e,options:this._prepareCompilerOptions(t)})},contractDecodeCallDataByCodeAPI(e,t){return this._ensureCompilerReady(),this._compilerApi.decodeCalldataBytecode({bytecode:e,calldata:t})},contractDecodeCallDataBySourceAPI(e,t,n,r){return this._ensureCompilerReady(),this._compilerApi.decodeCalldataSource({function:t,source:e,calldata:n,options:this._prepareCompilerOptions(r)})},contractDecodeCallResultAPI(e,t,n,r,o){return this._ensureCompilerReady(),this._compilerApi.decodeCallResult({function:t,source:e,"call-result":r,"call-value":n,options:this._prepareCompilerOptions(o)})},async validateByteCodeAPI(e,t,n){this._ensureCompilerReady();const r=await this._compilerApi.validateByteCode({bytecode:e,source:t,options:this._prepareCompilerOptions(n)});return"object"==typeof r||r},getFateAssembler(e,t){return this._ensureCompilerReady(),this._compilerApi.getFateAssemblerCode({bytecode:e,options:this._prepareCompilerOptions(t)})},getBytecodeCompilerVersion(e,t){return this._ensureCompilerReady(),this._compilerApi.getCompilerVersion({bytecode:e,options:this._prepareCompilerOptions(t)})}},props:{compilerVersion:null}});const pa="6.0.0",fa="7.0.0";var ma=C(2478),ga=C.n(ma),ya=C(2892),wa=C.n(ya),ba=C(5206),va=C.n(ba),xa=C(590);function Ta(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(va()(["state","type_defs","name"]))],event:e.event?e.event.variant:[]}}var Ia=C(3550).Buffer;const Ca=Ho.compose(da,{methods:{getContractInstance:async function(){var e=this;let{source:t,bytecode:n,aci:r,contractAddress:o,filesystem:a={},validateBytecode:i,...s}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(r=r||t&&await this.contractGetACI(t,{filesystem:a}),!r)throw new Error("Either ACI or source code is required");if(o=o&&await this.resolveName(o,"ct",{resolveByNode:!0}),!o&&!t&&!n)throw new Error("Can't create instance by ACI without address");if(o){const e=await this.getContract(o).catch((()=>null));if(!e)throw new Error(`Contract with address ${o} not found on-chain`);if(!e.active)throw new Error(`Contract with address ${o} not active`)}const c={interface:wa()(null,ga()("interface",r)),aci:wa()(null,ao()(["encoded_aci","contract"],r)),calldata:new xa.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:o},options:{...this.Ae.defaults,callStatic:!1,filesystem:a,...s},compilerVersion:this.compilerVersion};if(i){if(!o)throw new Error("Can't validate bytecode without contract address");const e=(await this.getContractByteCode(o)).bytecode;if(!(t&&await this.validateByteCodeAPI(e,t,c.options).catch((()=>!1))||n===e))throw new Error(`Contract ${t?"source":"bytecode"} do not correspond to the bytecode deployed on the chain`)}c.compile=async function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(c.bytecode)throw new Error("Contract already compiled");if(!c.source)throw new Error("Can't compile without source code");const{bytecode:n}=await e.contractCompile(c.source,{...c.options,...t});return c.bytecode=n,c.bytecode};const u=async(e,t)=>{const n=await this.send(e,t),r={hash:n.hash,tx:ta({tx:n.rawTx}),txData:n,rawTx:n.rawTx};if(!1===t.waitMined)return r;const o=await this.getTxInfo(n.hash);return await l(o),{...r,result:o}},l=e=>{let t,{returnType:n,returnValue:r}=e;switch(n){case"ok":return;case"revert":t=c.calldata.decodeFateString(r);break;case"error":t=nn(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:X};if(c.bytecode||await c.compile(r),r.callStatic)return c.call("init",t,r);if(c.deployInfo.address)throw new Error("Contract already deployed");const o=await e.address(r),{tx:a,contractId:i}=await e.contractCreateTx({...r,callData:c.calldata.encode(c.aci.name,"init",t),code:c.bytecode,ownerId:o}),{hash:s,rawTx:l,result:d,txData:h}=await u(a,r);return c.deployInfo=Object.freeze({result:d,owner:o,transaction:s,rawTx:l,txData:h,address:i,call:(t,n,o)=>e.contractCall(c.source,i,t,n,{...r,...o}),callStatic:(t,n,o)=>e.contractCallStatic(c.source,i,t,n,{...r,...o}),createdAt:new Date}),c.deployInfo},c.call=async function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const o={...c.options,...r},a=Ta(c.aci,t,c.externalAci),i=c.deployInfo.address;if(!t)throw new Error("Function name is required");if("init"===t&&!o.callStatic)throw new Error('"init" can be called only via dryRun');if(!i&&"init"!==t)throw new Error("You need to deploy contract before calling!");if(x()(o.amount).gt(0)&&Object.prototype.hasOwnProperty.call(a,"payable")&&!a.payable)throw new Error(`You try to pay "${o.amount}" to function "${t}" which is not payable. Only payable function can accept tokens`);const s=await e.address(o).catch((e=>{if(o.callStatic)return ne.pub;throw e})),d=c.calldata.encode(c.aci.name,t,n);let h;if(o.callStatic){"number"==typeof o.top&&(o.top=(await e.getKeyBlock(o.top)).hash);const n={...o,callData:d,nonce:o.top&&(await e.getAccount(s,{hash:o.top})).nonce+1},r="init"===t?(await e.contractCreateTx({...n,code:c.bytecode,ownerId:s})).tx:await e.contractCallTx({...n,callerId:s,contractId:i}),{callObj:a,...u}=await e.txDryRun(r,s,o);await l(a),h={...u,tx:ta({tx:r}),result:a}}else{const t=await e.contractCallTx({...o,callerId:s,contractId:i,callData:d});h=await u(t,o)}return(o.waitMined||o.callStatic)&&(h.decodedResult=a.returns&&"unit"!==a.returns&&"init"!==t&&c.calldata.decode(c.aci.name,t,h.result.returnValue),h.decodedEvents=c.decodeEvents(h.result.log)),h},c.decodeEvents=e=>{const t=(c.aci.event?c.aci.event.variant:[]).map((e=>{const t=Object.keys(e)[0];return{name:t,types:e[t]}}));return qr(e,t)},c.methods=Object.fromEntries(c.aci.functions.map((e=>{let{name:t,arguments:n,stateful:r}=e;const o=e=>function(){for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];const i=o.length===n.length+1?o.pop():{};if("object"!=typeof i)throw new Error(`Options should be an object: ${i}`);return"init"===t?c.deploy(o,{callStatic:e,...i}):c.call(t,o,{callStatic:e,...i})};return[t,Object.assign(o("init"!==t&&!r),{get:o(!0),send:o(!1),decodeEvents:e=>c.decodeEvents(e)})]}))),c},contractCompile:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n={...this.Ae.defaults,...t},r=await this.compileContractAPI(e,t);return Object.freeze({encodeCall:(t,r)=>this.contractEncodeCallDataAPI(e,t,r,n),deploy:(t,o)=>this.contractDeploy(r,e,t,{...n,...o}),deployStatic:(t,o)=>this.contractCallStatic(e,null,"init",t,{...n,...o,bytecode:r}),bytecode:r})},contractCallStatic:async function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],o=arguments.length>4?arguments[4]:void 0;const a=await this.getContractInstance({...o,source:e,contractAddress:t});return a.call(n,r,{...o,callStatic:!0})},contractDeploy:async function(e,t,n,r){const o=await this.getContractInstance({...r,source:t});return o.bytecode=e,o.deploy(n,r)},contractCall:async function(e,t,n,r,o){return(await this.getContractInstance({...o,source:e,contractAddress:t})).call(n,r,o)},delegateSignatureCommon:async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=await this.sign(Ia.concat([Ia.from(this.getNetworkId(t)),...Object.prototype.hasOwnProperty.call(t,"onAccount")?[nn(await this.address(t))]:[],...e.map((e=>nn(e)))]),t);return Ia.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?[en(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:X,gasPrice:ee,amount:J,gas:Z}}}}),Aa=Ca.compose(Qo).compose(ha);var Ea=Aa;const _a=e=>async(t,n)=>{if("object"!=typeof t)throw new Error("AuthData must be an object");if(t.gas&&x()(t.gas).gt(te))throw new Error(`the maximum gas value for ga authFun is ${te}, got ${t.gas}`);const r=t.gas||te;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}},ka=Ca.compose({methods:{createGeneralizeAccount:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const o={...this.Ae.defaults,...r},a=await this.address(o);if(await this.isGA(a))throw new Error(`Account ${a} is already GA`);const{tx:i,contractId:s}=await this.gaAttachTx({...o,ownerId:a,code:(await this.contractCompile(t)).bytecode,callData:await this.contractEncodeCallDataAPI(t,"init",n),authFun:H(e)}),{hash:c,rawTx:u}=await this.send(i,o);return Object.freeze({owner:a,transaction:c,rawTx:u,gaContractId:s})},createMetaTx:async function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(!t)throw new Error("authData is required");const{authCallData:o,gas:a}=await _a(this)(t,n),i={...this.Ae.defaults,...r},{abiVersion:s}=await this.getVmVersion(Pe.contractCall),c=Sa(jr(e)),u={...i,tx:{...c,tx:c.txObject},gaId:await this.address(i),abiVersion:s,authData:o,gas:a,vsn:2},{fee:l}=await this.prepareTxParams(Pe.gaMeta,u),{rlpEncoded:d}=Pr({...u,fee:`${l}`},Pe.gaMeta,{vsn:2});return Sa(d).tx},isGA:async function(e){const{contractId:t}=await this.getAccount(e);return!!t}}});var Oa=ka;const Sa=e=>Pr({encodedTx:e,signatures:[]},Pe.signed),Na=e=>Object.fromEntries(e.map((e=>[e,e]))),Pa=1,ja=Na(["to_waellet","to_aepp"]),Ma=Na(["window","extension"]),Ra=Na(["readyToConnect","closeConnection","updateNetwork","updateAddress"]),Ba=Na(["connect","subscribeAddress","sign","address","signMessage"]),qa=Na(["current","connected"]),Va=Na(["subscribe","unsubscribe"]),Fa={wallet:{[Ra.readyToConnect]:"connection.announcePresence",[Ra.updateAddress]:"address.update"},aepp:{[Ba.address]:"address.get",[Ba.connect]:"connection.open",[Ba.sign]:"transaction.sign",[Ba.signMessage]:"message.sign",[Ba.subscribeAddress]:"address.subscribe"},[Ra.updateNetwork]:"networkId.update",[Ra.closeConnection]:"connection.close"},$a={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"},Da={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"}}},Ua=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{}},Ha=()=>window!==window.parent,Ka=e=>{let t=0;return function(n){let{id:r,method:o,params:a,result:i,error:s}=n,c=arguments.length>1&&void 0!==arguments[1]&&arguments[1];c||(t+=1),r=c?r||null:t;const u=a?{params:a}:i?{result:i}:{error:s};return e.sendMessage({jsonrpc:"2.0",...r?{id:r}:{},method:o,...u}),r}},Wa=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)},La=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{method:e,params:t}},Ga=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}}},Qa=e=>(t,n,r)=>e.sendMessage(Ga(t,n,r),!0),Ya=()=>{},za=e=>3===["","connected","current"].filter((t=>"object"==typeof(t?e[t]:e))).length,Xa=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||!$o(n.onAccount))throw new Error("Provided onAccount should be an AccountBase");t=n.onAccount}return t};var Ja=eo()({init(e){let{id:t,name:n,networkId:r,icons:o,connection:a,handlers:[i,s]}=e;this.id=t,this.connection=a,this.info={name:n,networkId:r,icons:o},this.callbacks={},this.addressSubscription=[],this.accounts={},this.sendMessage=Ka(this.connection),a.connect(((e,t)=>{if(!e||!e.jsonrpc||"2.0"!==e.jsonrpc||!e.method)throw new Error(`Received invalid message: ${e}`);i(e,t)}),((e,t)=>{this.disconnect(!0),"function"==typeof s&&s(t,this)}))},propertyDescriptors:{currentAccount:{enumerable:!0,configurable:!1,get(){return this.isHasAccounts()?Object.keys(this.accounts.current)[0]:void 0}},addresses:{enumerable:!0,configurable:!1,get(){return this.isHasAccounts()?[...Object.keys(this.accounts.current),...Object.keys(this.accounts.connected)]:[]}},origin:{enumerable:!0,configurable:!1,get(){return this.connection}}},methods:{updateInfo(e){Object.assign(this.info,e)},isHasAccounts(){return"object"==typeof this.accounts&&"object"==typeof this.accounts.connected&&"object"==typeof this.accounts.current},isSubscribed(){return this.addressSubscription.length&&this.isHasAccounts()},hasAccessToAccount(e){return!!e&&this.addresses.find((t=>t===e))},isConnected(){return this.connection.isConnected()&&this.info.status===$a.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=$a.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(!za(e))throw new Error("Invalid accounts object. Should be object like: `{ connected: {}, selected: {} }`");this.accounts=e,t||this.sendMessage(La(Fa.wallet.updateAddress,this.accounts),!0)},updateSubscription(e,t){return e!==Va.subscribe||this.addressSubscription.includes(t)||this.addressSubscription.push(t),e===Va.unsubscribe&&this.addressSubscription.includes(t)&&(this.addressSubscription=this.addressSubscription.filter((e=>e!==t))),this.addressSubscription},request(e,t){const n=this.sendMessage(La(e,t));if(Object.prototype.hasOwnProperty.call(this.callbacks,n))throw new Error("Callback Already exist");return new Promise(((e,t)=>{this.callbacks[n]={resolve:e,reject:t}}))},processResponse(e,t){let{id:n,error:r,result:o}=e;if(!this.callbacks[n])throw new Error(`Can't find callback for this messageId ${n}`);o?this.callbacks[n].resolve(..."function"==typeof t?t({id:n,result:o}):[o]):this.callbacks[n].reject(r),delete this.callbacks[n]}}});const Za={[Fa.wallet.updateAddress]:e=>t=>{let{params:n}=t;e.rpcClient.accounts=n,e.onAddressChange(n)},[Fa.updateNetwork]:e=>t=>{e.rpcClient.info.networkId=t.params.networkId,e.onNetworkChange(t.params)},[Fa.closeConnection]:e=>t=>{e.disconnectWallet(),e.onDisconnect(t.params)}},ei={[Fa.aepp.address]:e=>t=>e.rpcClient.processResponse(t),[Fa.aepp.connect]:e=>t=>{t.result&&(e.rpcClient.info.status=$a.CONNECTED),e.rpcClient.processResponse(t)},[Fa.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]}))},[Fa.aepp.sign]:e=>t=>{e.rpcClient.processResponse(t,(e=>{let{id:t,result:n}=e;return[n.signedTransaction||n.transactionHash]}))},[Fa.aepp.signMessage]:e=>t=>{e.rpcClient.processResponse(t,(e=>{let{id:t,result:n}=e;return[n.signature]}))}},ti={};var ni=Ho.compose({async init(e){let{name:t,onAddressChange:n=Ya,onDisconnect:r=Ya,onNetworkChange:o=Ya,connection:a,forceValidation:i=!1,debug:s=!1}=e;this.connection=a,this.name=t,this.debug=s,a&&await this.connectToWallet(a),this.onDisconnect=r,this.onAddressChange=n,this.onNetworkChange=o,["onDisconnect","onAddressChange","onNetworkChange"].forEach((e=>{if(!i&&"function"!=typeof this[e])throw new Error(`Call-back for ${e} must be an function!`)}))},deepProps:{Ae:{defaults:{walletBroadcast:!0}}},methods:{sign(){},addresses(){if(!this.rpcClient.currentAccount)throw new Error("You are not subscribed for an account.");return[this.rpcClient.currentAccount,...Object.keys(this.rpcClient.accounts.connected)]},async connectToWallet(e){if(this.rpcClient&&this.rpcClient.isConnected())throw new Error("You are already connected to wallet "+this.rpcClient);var t;return this.rpcClient=Ja({connection:e,networkId:this.getNetworkId({force:!0}),...e.connectionInfo,id:(0,Ln.v4)(),handlers:[(t=this,async e=>e.id?Object.prototype.hasOwnProperty.call(t.rpcClient.callbacks,e.id)?Wa(ei,e,{debug:t.debug})(t)(e):Wa(ti,e,{debug:t.debug})(t)(e):Wa(Za,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(La(Fa.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(Fa.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(Fa.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(Fa.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(Fa.aepp.signMessage,{...t,message:e})},async sendConnectRequest(){return this.rpcClient.request(Fa.aepp.connect,{name:this.name,version:Pa,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(Fa.aepp.sign,{onAccount:n.onAccount,tx:e,returnSigned:!1,networkId:this.getNetworkId()})}}});const ri=Ho.compose({methods:{registerOracle:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r={...this.Ae.defaults,...n},o=await this.address(r),a=await this.oracleRegisterTx({...r,accountId:o,queryFormat:e,responseFormat:t});return{...await this.send(a,r),...await this.getOracleObject(`ok_${o.slice(3)}`)}},respondToQuery:async function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const o={...this.Ae.defaults,...r},a=await this.address(o),i=await this.oracleRespondTx({...o,oracleId:e,queryId:t,callerId:a,response:n});return{...await this.send(i,o),...await this.getOracleObject(e)}},extendOracleTtl:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r={...this.Ae.defaults,...n},o=await this.address(r),a=await this.oracleExtendTx({...r,oracleId:e,callerId:o,oracleTtl:t});return{...await this.send(a,r),...await this.getOracleObject(e)}},postQueryToOracle:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=n.queryFee||(await this.api.getOracleByPubkey(e)).queryFee,o={...this.Ae.defaults,queryFee:r,...n},a=await this.address(o),i=await this.oraclePostQueryTx({...o,oracleId:e,senderId:a,query:t}),s=Jt(a,jr(i).tx.nonce,e);return{...await this.send(i,o),...await this.getQueryObject(e,s)}},pollForQueryResponse:async function(e,t){let{attempts:n=20,interval:r=5e3}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};for(let o=0;o<n;o++){o&&await Ao(r);const{response:n}=await this.api.getOracleQueryByPubkeyAndQueryId(e,t),a=nn(n,"or");if(a.length)return String(a)}throw new Error(`Giving up after ${(n-1)*r}ms`)},pollForQueries:function(e,t){let{interval:n=5e3}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=new Set,o=async()=>{const n=((await this.api.getOracleQueriesByPubkey(e)).oracleQueries||[]).filter((e=>{let{id:t}=e;return!r.has(t)}));n.forEach((e=>{let{id:t}=e;return r.add(t)})),n.length&&t(n)};o();const a=setInterval(o,n);return()=>clearInterval(a)},getOracleObject:async function(e){const t=await this.api.getOracleByPubkey(e),{oracleQueries:n}=await this.api.getOracleQueriesByPubkey(e);return{...t,queries:n,pollQueries:this.pollForQueries.bind(this,e),postQuery:this.postQueryToOracle.bind(this,e),respondToQuery:this.respondToQuery.bind(this,e),extendOracle:this.extendOracleTtl.bind(this,e),getQuery:this.getQueryObject.bind(this,e)}},getQueryObject:async function(e,t){const n=await this.api.getOracleQueryByPubkeyAndQueryId(e,t);return{...n,decodedQuery:kn(n.query.slice(3)).toString(),decodedResponse:kn(n.response.slice(3)).toString(),respond:this.respondToQuery.bind(this,e,t),pollForResponse:this.pollForQueryResponse.bind(this,e,t),decode:e=>kn(e.slice(3))}}},deepProps:{Ae:{defaults:{queryFee:G,oracleTtl:Q,queryTtl:Y,responseTtl:z}}}});var oi=ri,ai=Ho.compose(oa,oi,Aa,la,zo,ni);const ii={[Fa.closeConnection]:(e,t)=>{let{client:n}=t;return async t=>{n.disconnect(!0),e.onDisconnect(t.params,n)}}},si={},ci={[Fa.aepp.connect](e,t,n,r){let{name:o,networkId:a,version:i,icons:s}=r;return i!==Pa?{error:Da.unsupportedProtocol()}:(n.updateInfo({status:$a.WAITING_FOR_CONNECTION_APPROVE,name:o,networkId:a,icons:s,version:i}),e("onConnection",{name:o,networkId:a,version:i},(()=>(n.updateInfo({status:$a.CONNECTED}),{result:t.getWalletInfo()})),(e=>(n.updateInfo({status:$a.CONNECTION_REJECTED}),{error:Da.connectionDeny(e)}))))},[Fa.aepp.subscribeAddress](e,t,n,r){let{type:o,value:a}=r;return n.isConnected()?e("onSubscription",{type:o,value:a},(async function(){let{accounts:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{const r=e||t.getAccounts();if(!za(r))throw new Error("Invalid provided accounts object");const i=n.updateSubscription(o,a);return n.setAccounts(r,{forceNotification:!0}),{result:{subscription:i,address:r}}}catch(e){return t.debug&&console.error(e),{error:Da.internalError({msg:e.message})}}}),(e=>({error:Da.rejectedByUser(e)}))):{error:Da.notAuthorize()}},[Fa.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:Da.rejectedByUser(e)}))):{error:Da.notAuthorize()},[Fa.aepp.sign](e,t,n,r){let{tx:o,onAccount:a,networkId:i,returnSigned:s=!1}=r;const c=a||n.currentAccount;return i&&n.updateInfo({networkId:i}),n.isConnected()?n.hasAccessToAccount(c)?i&&i===t.getNetworkId()?e("onSign",{tx:o,returnSigned:s,onAccount:c,txObject:ta.fromString(o)},(async function(e){let n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{n=Xa(t.addresses(),c,r)}catch(e){return t.debug&&console.error(e),{error:Da.internalError({msg:e.message})}}try{return{result:s?{signedTransaction:await t.signTransaction(e||o,{onAccount:n})}:{transactionHash:await t.send(e||o,{onAccount:n,verify:!1})}}}catch(n){if(!s){const r=await Go(e||o,t.selectedNode.instance);return r.length?{error:Da.invalidTransaction(r)}:{error:Da.broadcastFailed(n.message)}}throw n}}),(e=>({error:Da.rejectedByUser(e)}))):{error:Da.unsupportedNetwork()}:{error:Da.permissionDeny({account:c})}:{error:Da.notAuthorize()}},[Fa.aepp.signMessage](e,t,n,r){let{message:o,onAccount:a}=r;if(!n.isConnected())return{error:Da.notAuthorize()};const i=a||n.currentAccount;return n.hasAccessToAccount(i)?e("onMessageSign",{message:o,onAccount:i},(async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{const n=Xa(t.addresses(),i,e);return{result:{signature:await t.signMessage(o,{onAccount:n,returnHex:!0})}}}catch(e){return t.debug&&console.error(e),{error:Da.internalError({msg:e.message})}}}),(e=>({error:Da.rejectedByUser(e)}))):{error:Da.permissionDeny({account:i})}}},ui=(e,t)=>async(n,r)=>{const o=e.rpcClients[t];if(!n.id)return Wa(ii,n,{debug:e.debug})(e,{client:o})(n,r);if(Object.prototype.hasOwnProperty.call(o.callbacks,n.id))return Wa(si,n,{debug:e.debug})(e,{client:o})(n,r);{const{id:t,method:a}=n,i=(n,i,s,c)=>()=>new Promise((u=>{e[n](o,{id:t,method:a,params:i,accept:function(){return u(s(...arguments))},deny:function(){return u(c(...arguments))}},r)})),s=Wa(ci,n,{debug:e.debug})(i,e,o,n.params),c="function"==typeof s?await s():s;Qa(o)(t,a,c)}};var li=Ho.compose(ca,{init(){var e=this;let{name:t,onConnection:n,onSubscription:r,onSign:o,onDisconnect:a,onAskAccounts:i,onMessageSign:s,forceValidation:c=!1,debug:u=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.debug=u,this.onConnection=n,this.onSubscription=r,this.onSign=o,this.onDisconnect=a,this.onAskAccounts=i,this.onMessageSign=s,this.rpcClients={},["onConnection","onSubscription","onSign","onDisconnect","onMessageSign"].forEach((e=>{if(!c&&"function"!=typeof this[e])throw new Error(`Call-back for ${e} must be an function!`)})),this.name=t,this.id=(0,Ln.v4)();const l=this.selectAccount.bind(this),d=this.addAccount.bind(this),h=this.selectNode.bind(this);this.selectAccount=function(t){let{condition:n=(()=>!0)}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};l(t),Object.values(e.rpcClients).filter((e=>e.isConnected()&&e.isSubscribed()&&e.hasAccessToAccount(t)&&n(e))).forEach((e=>e.setAccounts({current:{[t]:{}},connected:{...e.accounts.current,...Object.entries(e.accounts.connected).filter((e=>{let[n,r]=e;return n!==t})).reduce(((e,t)=>{let[n,r]=t;return{...e,[n]:r}}),{})}})))},this.addAccount=async function(t){let{select:n,meta:r={},condition:o=(()=>!0)}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};await d(t,{select:n});const a=await t.address();Object.values(e.rpcClients).filter((e=>e.isConnected()&&e.isSubscribed()&&o(e))).forEach((e=>e.setAccounts({current:{...n?{[a]:r}:e.accounts.current},connected:{...n?e.accounts.current:{[a]:r},...e.accounts.connected}})))},this.selectNode=e=>{h(e),Object.values(this.rpcClients).filter((e=>e.isConnected())).forEach((e=>e.sendMessage(La(Fa.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,Ln.v4)();return this.rpcClients[t]=Ja({id:t,info:{status:$a.WAITING_FOR_CONNECTION_REQUEST},connection:e,handlers:[ui(this,t),this.onDisconnect]}),t},shareWalletInfo(e){e({jsonrpc:"2.0",...La(Fa.wallet.readyToConnect,this.getWalletInfo())})},getWalletInfo(){const e=Ua(!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?Ma.extension:Ma.window}},getAccounts(){return{current:this.selectedAddress?{[this.selectedAddress]:{}}:{},connected:this.addresses().filter((e=>e!==this.selectedAddress)).reduce(((e,t)=>({...e,[t]:{}})),{})}}}}),di=Ho.compose(li,oa,Ea,oi,la,Oa,zo),hi=C(3752),pi=C(3205);const fi=new WeakMap,mi=new WeakMap,gi=new WeakMap,yi=new WeakMap,wi=new WeakMap,bi=new WeakMap,vi=new WeakMap,xi=new WeakMap,Ti=new WeakMap,Ii=new WeakMap,Ci=new WeakMap,Ai=new WeakMap,Ei=new WeakMap,_i=new WeakMap,ki=new WeakMap,Oi=new WeakMap;function Si(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];bi.get(e).emit(...n)}function Ni(e,t){if(!t)throw new Error("State Channels FSM entered unknown state");yi.set(e,t),t.handler.enter&&t.handler.enter(e),Bi(e)}function Pi(e,t){t!==mi.get(e)&&(mi.set(e,t),Si(e,"statusChanged",t))}function ji(e,t){gi.set(e,t),Si(e,"stateChanged",t)}function Mi(e,t){const{debug:n=!1}=fi.get(e);n&&console.log("Send message: ",t),wi.get(e).send(Co.stringify(t))}function Ri(e,t,n){Ti.set(e,[...Ti.get(e)||[],{guard:t,action:n}]),Bi(e)}async function Bi(e){const t=Ii.get(e),n=Ti.get(e)||[];if(t||!n.length)return;const r=yi.get(e),o=n.findIndex((t=>t.guard(e,r)));if(-1===o)return;Ti.set(e,n.filter(((e,t)=>o!==t))),Ii.set(e,!0);const a=await Promise.resolve(n[o].action(e,r));Ii.set(e,!1),Ni(e,a)}async function qi(e){const t=vi.get(e);if(xi.get(e)||!t.length)return;const[n,...r]=t;vi.set(e,r||[]),xi.set(e,!0),await async function(e,t){const{handler:n,state:r}=yi.get(e);Ni(e,await Promise.resolve(n(e,t,r)))}(e,n),xi.set(e,!1),qi(e)}function Vi(e){clearTimeout(_i.get(e)),clearTimeout(ki.get(e)),_i.set(e,setTimeout((()=>{Mi(e,{jsonrpc:"2.0",method:"channels.system",params:{action:"ping"}}),ki.set(e,setTimeout((()=>{$i(e),Si(e,"error",new Error("Server pong timed out"))}),5e3))}),1e4))}function Fi(e,t,n){return new Promise(((r,o)=>{const a=Ci.set(e,Ci.get(e)+1).get(e);Ei.get(e).set(a,(e=>e.result?r(e.result):e.error?o(function(e){const[{message:t}={}]=e.error.data||[];return t?new Error(`${e.error.message}: ${t}`):new Error(e.error.message)}(e)):void 0)),Mi(e,{jsonrpc:"2.0",method:t,id:a,params:n})}))}function $i(e){wi.get(e).close(),clearTimeout(_i.get(e)),clearTimeout(ki.get(e))}async function Di(e,t){let{url:n,...r}=t;fi.set(e,r),yi.set(e,{handler:r.existingFsmId?Li:Wi}),bi.set(e,new pi.EventEmitter),Ci.set(e,0),Ei.set(e,new Map);const o=new URL(n);Object.entries(r).filter((e=>{let[t]=e;return!["sign","debug"].includes(t)})).forEach((e=>{let[t,n]=e;return o.searchParams.set(I(t),n)})),o.searchParams.set("protocol","json-rpc"),Pi(e,"connecting");const a=new hi.w3cwebsocket(o.toString());await new Promise(((t,n)=>Object.assign(a,{onerror:n,onopen:()=>{t(),Pi(e,"connected"),r.reconnectTx&&(Ni(e,{handler:Ji}),setTimeout((async()=>ji(e,(await Fi(e,"channels.get.offchain_state",{})).signed_tx)))),Vi(e)},onclose:()=>{Pi(e,"disconnected"),clearTimeout(_i.get(e)),clearTimeout(ki.get(e))},onmessage:t=>{let{data:n}=t;return function(e,t){const n=Co.parse(t),{debug:r=!1}=fi.get(e);if(r&&console.log("Receive message: ",n),n.id){const t=Ei.get(e).get(n.id);try{t(n)}finally{Ei.get(e).delete(n.id)}}else"channels.message"===n.method?Si(e,"message",n.params.data.message):"channels.system.pong"===n.method?n.params.channel_id!==Ai.get(e)&&null!=Ai.get(e)||Vi(e):(vi.set(e,[...vi.get(e)||[],n]),qi(e))}(e,n)}}))),wi.set(e,a)}function Ui(e){return`tx_${En(e)}`}async function Hi(e,t){const{signatures:n,encodedTx:r}=jr(e).tx,o=await t(Ui(r.rlpEncoded));if("string"==typeof o){const{tx:e,txType:t}=jr(o);return Ui(Pr({signatures:n.concat(e.signatures),encodedTx:e.encodedTx.rlpEncoded},t).rlpEncoded)}return o}function Ki(e,t,n){return n&&n.reject&&n.reject(Object.assign(new Error(`Unexpected message received:\n\n${JSON.stringify(t)}`),{wsMessage:t})),{handler:Ji}}function Wi(e,t,n){return"channels.info"===t.method?["channel_accept","funding_created"].includes(t.params.data.event)?(Pi(e,{channel_accept:"accepted",funding_created:"halfSigned"}[t.params.data.event]),{handler:Gi}):"channel_reestablished"===t.params.data.event?{handler:zi}:"fsm_up"===t.params.data.event?(Oi.set(e,t.params.data.fsm_id),{handler:Wi}):{handler:Wi}:"channels.error"===t.method?(Si(e,"error",new Error(t.payload.message)),{handler:ys}):void 0}async function Li(e,t,n){return"channels.info"===t.method&&"fsm_up"===t.params.data.event?(Oi.set(e,t.params.data.fsm_id),ji(e,(await Fi(e,"channels.get.offchain_state",{})).signed_tx),{handler:Ji}):Ki(0,t,n)}async function Gi(e,t,n){const r={initiator:"initiator_sign",responder:"responder_sign"}[fi.get(e).role];if(t.method===`channels.sign.${r}`){if(t.params.data.tx){const n=await fi.get(e).sign(r,t.params.data.tx);return Mi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{tx:n}}),{handler:Qi}}const n=await Hi(t.params.data.signed_tx,(t=>fi.get(e).sign(r,t)));return Mi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{signed_tx:n}}),{handler:Qi}}}function Qi(e,t,n){if("channels.on_chain_tx"===t.method){if("funding_signed"===t.params.data.info&&"initiator"===fi.get(e).role)return{handler:Yi};if("funding_created"===t.params.data.info&&"responder"===fi.get(e).role)return{handler:Yi}}if("channels.info"===t.method&&"funding_signed"===t.params.data.event&&"initiator"===fi.get(e).role)return Ai.set(e,t.params.channel_id),Pi(e,"signed"),{handler:Qi}}function Yi(e,t,n){if("channels.info"===t.method){const e={funding_created:Yi,own_funding_locked:Yi,funding_locked:zi}[t.params.data.event];if(e)return{handler:e}}if("channels.on_chain_tx"===t.method)return Si(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),{handler:Yi}}function zi(e,t,n){if("channels.info"===t.method&&"open"===t.params.data.event)return Ai.set(e,t.params.channel_id),{handler:Xi}}function Xi(e,t,n){if("channels.update"===t.method)return ji(e,t.params.data.state),{handler:Ji}}async function Ji(e,t,n){switch(t.method){case"channels.info":switch(t.params.data.event){case"update":case"withdraw_created":case"deposit_created":return{handler:ts};case"own_withdraw_locked":case"withdraw_locked":case"own_deposit_locked":case"deposit_locked":case"peer_disconnected":case"channel_reestablished":case"open":return Si(e,t.params.data.event),{handler:Ji};case"fsm_up":return Oi.set(e,t.params.data.fsm_id),{handler:Ji};case"timeout":case"close_mutual":case"shutdown":return{handler:Ji};case"closing":return Pi(e,"closing"),{handler:Ji};case"closed_confirmed":return Pi(e,"closed"),{handler:ys};case"died":return Pi(e,"died"),{handler:ys}}break;case"channels.on_chain_tx":return Si(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),{handler:Ji};case"channels.leave":return{handler:Ji};case"channels.update":return ji(e,t.params.data.state),{handler:Ji};case"channels.sign.shutdown_sign_ack":return ts(e,t,n)}}async function Zi(e,t,n){if("channels.sign.update"===t.method){const{sign:r}=n;if(t.params.data.tx)return Mi(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:es,state:n};const o=await Hi(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof o)return Mi(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:o}}),{handler:es,state:n};if("number"==typeof o)return Mi(e,{jsonrpc:"2.0",method:"channels.update",params:{error:o}}),{handler:Zi,state:n}}if("channels.error"===t.method)return n.reject(new Error(t.data.message)),{handler:Ji};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:Ji}}return"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Ji}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Ji}):Ki(0,t,n)}function es(e,t,n){return"channels.update"===t.method?(ji(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Ji}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Ji}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Ji}):t.error?(n.reject(new Error(t.error.message)),{handler:Ji}):Ki(0,t,n)}async function ts(e,t,n){const[,r]=t.method.match(/^channels\.sign\.([^.]+)$/)||[];if(r){if(t.params.data.tx){const n=await fi.get(e).sign(r,t.params.data.tx,{updates:t.params.data.updates});if(n)return Mi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{tx:n}}),{handler:Ji}}else{const o=await Hi(t.params.data.signed_tx,(n=>fi.get(e).sign(r,n,{updates:t.params.data.updates})));if("string"==typeof o)return Mi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{signed_tx:o}}),{handler:Ji};if("number"==typeof o)return Mi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{error:o}}),{handler:ns,state:n}}return Mi(e,{jsonrpc:"2.0",method:"channels.update.new",params:{from:Mn().publicKey,to:Mn().publicKey,amount:1}}),{handler:ns,state:n}}return Ki(0,t,n)}function ns(e,t,n){return t.error?{handler:ns,state:n}:"channels.conflict"===t.method?{handler:Ji}:Ki(0,t,n)}async function rs(e,t,n){if("channels.sign.shutdown_sign"===t.method){if(t.params.data.tx)return Mi(e,{jsonrpc:"2.0",method:"channels.shutdown_sign",params:{tx:await n.sign(t.params.data.tx)}}),{handler:os,state:n};const r=await Hi(t.params.data.signed_tx,(e=>n.sign(e)));return Mi(e,{jsonrpc:"2.0",method:"channels.shutdown_sign",params:{signed_tx:r}}),{handler:os,state:n}}return Ki(0,t,n)}function os(e,t,n){return"channels.on_chain_tx"===t.method?{handler:ys,state:n}:Ki(0,t,n)}function as(e,t,n){return"channels.leave"===t.method?(n.resolve({channelId:t.params.channel_id,signedTx:t.params.data.state}),$i(e),{handler:ys}):"channels.error"===t.method?(n.reject(new Error(t.data.message)),{handler:Ji}):Ki(0,t,n)}async function is(e,t,n){if("channels.sign.withdraw_tx"===t.method){const{sign:r}=n;if(t.params.data.tx)return Mi(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:ss,state:n};const o=await Hi(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof o)return Mi(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{signed_tx:o}}),{handler:ss,state:n};if("number"==typeof o)return Mi(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{error:o}}),{handler:ss,state:n}}return Ki(0,t,n)}function ss(e,t,n){if("channels.on_chain_tx"===t.method)return n.onOnChainTx&&n.onOnChainTx(t.params.data.tx),{handler:ss,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:ss,state:n}}return"channels.update"===t.method?(ji(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Ji}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Ji}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Ji}):Ki(0,t,n)}async function cs(e,t,n){if("channels.sign.deposit_tx"===t.method){const{sign:r}=n;if(t.params.data.tx)return Mi(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:us,state:n};const o=await Hi(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof o)return Mi(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{signed_tx:o}}),{handler:us,state:n};if("number"==typeof o)return Mi(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{error:o}}),{handler:us,state:n}}return Ki(0,t,n)}function us(e,t,n){if("channels.on_chain_tx"===t.method)return n.onOnChainTx&&n.onOnChainTx(t.params.data.tx),{handler:us,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:us,state:n}}return"channels.update"===t.method?(ji(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Ji}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Ji}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Ji}):Ki(0,t,n)}async function ls(e,t,n){if("channels.sign.update"===t.method){if(t.params.data.tx)return Mi(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await n.sign(t.params.data.tx)}}),{handler:ds,state:n};const r=await Hi(t.params.data.signed_tx,(e=>n.sign(e)));if("string"==typeof r)return Mi(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:r}}),{handler:ds,state:n};if("number"==typeof r)return Mi(e,{jsonrpc:"2.0",method:"channels.update",params:{error:r}}),{handler:ds,state:n}}return Ki(0,t,n)}function ds(e,t,n){if("channels.update"===t.method){const{round:r}=jr(t.params.data.state).tx.encodedTx.tx,o=fi.get(e)[{initiator:"initiatorId",responder:"responderId"}[fi.get(e).role]];return ji(e,t.params.data.state),n.resolve({accepted:!0,address:Pn(o,r),signedTx:t.params.data.state}),{handler:Ji}}return"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Ji}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Ji}):Ki(0,t,n)}async function hs(e,t,n){if("channels.sign.update"===t.method){if(t.params.data.tx)return Mi(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await n.sign(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:ms,state:n};const r=await Hi(t.params.data.signed_tx,(e=>n.sign(e,{updates:t.params.data.updates})));if("string"==typeof r)return Mi(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:r}}),{handler:ms,state:n};if("number"==typeof r)return Mi(e,{jsonrpc:"2.0",method:"channels.update",params:{error:r}}),{handler:ms,state:n}}return Ki(0,t,n)}async function ps(e,t,n){if("channels.sign.force_progress_tx"===t.method){const r=await Hi(t.params.data.signed_tx,(e=>n.sign(e,{updates:t.params.data.updates})));return Mi(e,{jsonrpc:"2.0",method:"channels.force_progress_sign",params:{signed_tx:r}}),{handler:fs,state:n}}return Ki(0,t,n)}function fs(e,t,n){return"channels.on_chain_tx"===t.method&&(n.onOnChainTx&&n.onOnChainTx(t.params.data),Si(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})),Ki(0,t,n)}function ms(e,t,n){return"channels.update"===t.method?(ji(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Ji}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Ji}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Ji}):Ki(0,t,n)}function gs(e,t,n){return"channels.calls_pruned.reply"===t.method?(n.resolve(),{handler:Ji}):(n.reject(new Error("Unexpected message received")),{handler:ys})}function ys(e,t,n){return n?"closing"===t.params.data.event?{handler:ys,state:n}:"channel_closed"===t.params.data.info?(n.closeTx=t.params.data.tx,{handler:ys,state:n}):"closed_confirmed"===t.params.data.event?(n.resolve(n.closeTx),{handler:ys}):{handler:ys,state:n}:{handler:ys}}function ws(e){return Object.entries(e).reduce(((e,t)=>{let[n,r]=t;return{...e,[T(n)]:r}}),{})}Ji.enter=e=>{Pi(e,"open")};const bs=go.compose({async init(e){Di(this,e)},methods:{on:function(e,t){bi.get(this).on(e,t)},off:function(e,t){bi.get(this).removeListener(e,t)},status:function(){return mi.get(this)},state:async function(){return ws(await Fi(this,"channels.get.offchain_state",{}))},round:function(){if(!gi.get(this))return null;const{txType:e,tx:t}=jr(gi.get(this)).tx.encodedTx;switch(e){case Pe.channelCreate:return 1;case Pe.channelOffChain:case Pe.channelWithdraw:case Pe.channelDeposit:return parseInt(t.round,10);default:return null}},id:function(){return Ai.get(this)},fsmId:function(){return Oi.get(this)},update:function(e,t,n,r,o){return new Promise(((a,i)=>{Ri(this,((e,t)=>t.handler===Ji),((s,c)=>(Mi(s,{jsonrpc:"2.0",method:"channels.update.new",params:{from:e,to:t,amount:n,meta:o}}),{handler:Zi,state:{resolve:a,reject:i,sign:r}})))}))},poi:async function(e){let{accounts:t,contracts:n}=e;return(await Fi(this,"channels.get.poi",{accounts:t,contracts:n})).poi},balances:async function(e){return Object.fromEntries((await Fi(this,"channels.get.balances",{accounts:e})).map((e=>[e.account,e.balance])))},leave:function(){return new Promise(((e,t)=>{Ri(this,((e,t)=>t.handler===Ji),((n,r)=>(Mi(n,{jsonrpc:"2.0",method:"channels.leave",params:{}}),{handler:as,state:{resolve:e,reject:t}})))}))},shutdown:function(e){return new Promise(((t,n)=>{Ri(this,((e,t)=>t.handler===Ji),((r,o)=>(Mi(r,{jsonrpc:"2.0",method:"channels.shutdown",params:{}}),{handler:rs,state:{sign:e,resolve:t,reject:n}})))}))},sendMessage:function(e,t){let n=e;"object"==typeof e&&(n=JSON.stringify(e));const r=e=>Mi(e,{jsonrpc:"2.0",method:"channels.message",params:{info:n,to:t}});if("connecting"===this.status()){const e=t=>{"connecting"!==t&&(setTimeout((()=>r(this)),500),this.off("statusChanged",e))};this.on("statusChanged",e)}else r(this)},withdraw:function(e,t){let{onOnChainTx:n,onOwnWithdrawLocked:r,onWithdrawLocked:o}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((a,i)=>{Ri(this,((e,t)=>t.handler===Ji),((s,c)=>(Mi(s,{jsonrpc:"2.0",method:"channels.withdraw",params:{amount:e}}),{handler:is,state:{sign:t,resolve:a,reject:i,onOnChainTx:n,onOwnWithdrawLocked:r,onWithdrawLocked:o}})))}))},deposit:function(e,t){let{onOnChainTx:n,onOwnDepositLocked:r,onDepositLocked:o}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((a,i)=>{Ri(this,((e,t)=>t.handler===Ji),((s,c)=>(Mi(s,{jsonrpc:"2.0",method:"channels.deposit",params:{amount:e}}),{handler:cs,state:{sign:t,resolve:a,reject:i,onOnChainTx:n,onOwnDepositLocked:r,onDepositLocked:o}})))}))},createContract:function(e,t){let{code:n,callData:r,deposit:o,vmVersion:a,abiVersion:i}=e;return new Promise(((e,s)=>{Ri(this,((e,t)=>t.handler===Ji),((c,u)=>(Mi(c,{jsonrpc:"2.0",method:"channels.update.new_contract",params:{code:n,call_data:r,deposit:o,vm_version:a,abi_version:i}}),{handler:ls,state:{sign:t,resolve:e,reject:s}})))}))},callContract:function(e,t){let{amount:n,callData:r,contract:o,abiVersion:a}=e;return new Promise(((e,i)=>{Ri(this,((e,t)=>t.handler===Ji),((s,c)=>(Mi(s,{jsonrpc:"2.0",method:"channels.update.call_contract",params:{amount:n,call_data:r,contract_id:o,abi_version:a}}),{handler:hs,state:{resolve:e,reject:i,sign:t}})))}))},callContractStatic:async function(e){let{amount:t,callData:n,contract:r,abiVersion:o}=e;return ws(await Fi(this,"channels.dry_run.call_contract",{amount:t,call_data:n,contract_id:r,abi_version:o}))},getContractCall:async function(e){let{caller:t,contract:n,round:r}=e;return ws(await Fi(this,"channels.get.contract_call",{caller_id:t,contract_id:n,round:r}))},getContractState:async function(e){const t=await Fi(this,"channels.get.contract",{pubkey:e});return ws({...t,contract:ws(t.contract)})},disconnect:function(){return $i(this)},cleanContractCalls:function(){return new Promise(((e,t)=>{Ri(this,((e,t)=>t.handler===Ji),((n,r)=>(Mi(n,{jsonrpc:"2.0",method:"channels.clean_contract_calls",params:{}}),{handler:gs,state:{resolve:e,reject:t}})))}))},forceProgress:function(e,t){let{amount:n,callData:r,contract:o,abiVersion:a,gas:i=1e6,gasPrice:s=1e9,nonce:c}=e,{onOnChainTx:u}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((e,c)=>{Ri(this,((e,t)=>t.handler===Ji),((l,d)=>(Mi(l,{jsonrpc:"2.0",method:"channels.force_progress",params:{amount:n,call_data:r,contract_id:o,abi_version:a,gas_price:s,gas:i}}),{handler:ps,state:{resolve:e,reject:c,sign:t,onOnChainTx:u}})))}))}},statics:{reconnect:async function(e,t){const{sign:n}=e;return bs({...e,reconnectTx:await n("reconnect",Pr(t,Pe.channelReconnect).tx)})}}});var vs=bs,xs=Ho.compose(ca,zo,oa,la,Ea,oi,Oa),Ts=eo()({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()}}}),Is=(0,to.required)({methods:{connect:to.required,disconnect:to.required,sendMessage:to.required,isConnected:to.required}});const Cs=()=>{const e="object"==typeof Ua(!0).extension,t=window&&window.location&&window.location.protocol.startsWith("http");return e&&t?window:Ha()?window.parent:void 0};var As=eo()({init(){let{connectionInfo:e={},target:t=Cs(),self:n=window,origin:r,sendDirection:o,receiveDirection:a=ja.to_aepp,debug:i=!1,forceOrigin:s=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(o&&!Object.keys(ja).includes(o))throw new Error(`sendDirection must be one of [${Object.keys(ja)}]`);if(!Object.keys(ja).includes(a))throw new Error(`receiveDirection must be one of [${Object.keys(ja)}]`);this.connectionInfo={id:(0,Ln.v4)(),...e};const c=n,u=t;if(this.origin=r,this.debug=i,this.forceOrigin=s,this.sendDirection=o,this.receiveDirection=a,this.subscribeFn=e=>c.addEventListener("message",e,!1),this.unsubscribeFn=e=>c.removeEventListener("message",e,!1),this.postFn=e=>u.postMessage(e,this.origin||"*"),!this.connectionInfo.id)throw new Error("ID required.")},methods:{connect:function(e){const t=this.origin,n=this.receiveDirection,r=this.debug,o=this.forceOrigin;if(this.listener)throw new Error("You already connected");this.listener=(a,i)=>{if(a&&"object"==typeof a.data&&(o||!t||t===a.origin))if(r&&console.log("Receive message: ",a),a.data.type){if(a.data.type!==n)return;e(a.data.data,a.origin,a.source)}else e(a.data,a.origin,a.source)},this.subscribeFn(this.listener)},sendMessage:function(e){const t=this.sendDirection?{type:this.sendDirection,data:e}:e;this.debug&&console.log("Send message: ",t),this.postFn(t)},disconnect:function(){if(!this.listener)throw new Error("You dont have connection. Please connect before");this.unsubscribeFn(this.listener),this.listener=null},isConnected:function(){return this.listener}}},Is),Es=eo()({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||As({connectionInfo:{id:"spy"}}),this.wallets={}},methods:{scan(e){const{wallets:t}=this;this.connection.connect(((n,r,o)=>{let{method:a,params:i}=n;if(!a||!i||a!==Fa.wallet.readyToConnect||t[i.id])return;const s={...i,async getConnection(){const e="extension"===this.type,t=e?window.origin:this.origin;return As({connectionInfo:this,sendDirection:e?ja.to_waellet:void 0,receiveDirection:e?ja.to_aepp:void 0,target:o,origin:t})}};t[s.id]=s,e({wallets:t,newWallet:s})})),Object.keys(t).length&&e({wallets:t})},stopScan(){this.connection.disconnect()}}}),_s=eo()({init(e){let{connectionInfo:t={},port:n,debug:r=!1}=e;if(!Ua().runtime)throw new Error("Runtime is not accessible in your environment");this.debug=r,this.connectionInfo=t,this.port=n||Ua().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)}}},Is)}(),A}()}));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@stamp/it"),require("@stamp/required"),require("bignumber.js"),require("bs58check"),require("tweetnacl"),require("aes-js"),require("sha.js"),require("blakejs"),require("buffer"),require("rlp"),require("swagger-client"),require("cross-fetch"),require("@aeternity/json-bigint"),require("uuid"),require("@aeternity/aepp-calldata"),require("websocket"),require("events"),require("libsodium-wrappers-sumo"),require("tweetnacl-auth"),require("bip32-path"),require("@aeternity/bip39")):"function"==typeof define&&define.amd?define([,,,,,,,,,,,,,,,,,,,,],t):"object"==typeof exports?exports.Ae=t(require("@stamp/it"),require("@stamp/required"),require("bignumber.js"),require("bs58check"),require("tweetnacl"),require("aes-js"),require("sha.js"),require("blakejs"),require("buffer"),require("rlp"),require("swagger-client"),require("cross-fetch"),require("@aeternity/json-bigint"),require("uuid"),require("@aeternity/aepp-calldata"),require("websocket"),require("events"),require("libsodium-wrappers-sumo"),require("tweetnacl-auth"),require("bip32-path"),require("@aeternity/bip39")):e.Ae=t(e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0],e[void 0])}(self,(function(e,t,n,r,o,a,i,s,c,u,l,d,h,p,f,m,g,y,w,b,v){return function(){var x={3007:function(e){e.exports=function(){return!0}},4115:function(e,t,n){var r=n(6224)((function(e){return function(){return e}}));e.exports=r},3195:function(e,t,n){var r=n(7455),o=n(9002)((function(e,t){return r(e.length,(function(){return e.apply(t,arguments)}))}));e.exports=o},7794:function(e,t,n){var r=n(7455),o=n(6224),a=n(1894),i=n(1186),s=n(793),c=o((function(e){var t=s(i,0,a((function(e){return e[0].length}),e));return r(t,(function(){for(var t=0;t<e.length;){if(e[t][0].apply(this,arguments))return e[t][1].apply(this,arguments);t+=1}}))}));e.exports=c},2220:function(e,t,n){var r=n(7455),o=n(6224),a=n(9002),i=n(2738),s=a((function(e,t){return 1===e?o(t):r(e,i(e,[],t))}));e.exports=s},2892:function(e,t,n){var r=n(9002)((function(e,t){return null==t||t!=t?e:t}));e.exports=r},1481:function(e,t,n){var r=n(9002),o=n(4023),a=r((function(e,t){return o(e,t,[],[])}));e.exports=a},1383:function(e,t,n){var r=n(9002),o=n(4793),a=n(4877),i=n(8291),s=n(9488),c=n(123),u=n(368),l=r(o(["filter"],c,(function(e,t){return i(t)?s((function(n,r){return e(t[r])&&(n[r]=t[r]),n}),{},u(t)):a(e,t)})));e.exports=l},7414:function(e,t,n){var r=n(6224)(n(5161)(!0));e.exports=r},9134:function(e,t,n){var r=n(6224),o=n(2220),a=r((function(e){return o(e.length,(function(t,n){var r=Array.prototype.slice.call(arguments,0);return r[0]=n,r[1]=t,e.apply(this,r)}))}));e.exports=a},5713:function(e,t,n){var r=n(1361),o=n(9002)(r);e.exports=o},7455:function(e){e.exports=function(e,t){switch(e){case 0:return function(){return t.apply(this,arguments)};case 1:return function(e){return t.apply(this,arguments)};case 2:return function(e,n){return t.apply(this,arguments)};case 3:return function(e,n,r){return t.apply(this,arguments)};case 4:return function(e,n,r,o){return t.apply(this,arguments)};case 5:return function(e,n,r,o,a){return t.apply(this,arguments)};case 6:return function(e,n,r,o,a,i){return t.apply(this,arguments)};case 7:return function(e,n,r,o,a,i,s){return t.apply(this,arguments)};case 8:return function(e,n,r,o,a,i,s,c){return t.apply(this,arguments)};case 9:return function(e,n,r,o,a,i,s,c,u){return t.apply(this,arguments)};case 10:return function(e,n,r,o,a,i,s,c,u,l){return t.apply(this,arguments)};default:throw new Error("First argument to _arity must be a non-negative integer no greater than ten")}}},4118:function(e){e.exports=function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}},8770:function(e){e.exports=function(e){return function(){return!e.apply(this,arguments)}}},6224:function(e,t,n){var r=n(6464);e.exports=function(e){return function t(n){return 0===arguments.length||r(n)?t:e.apply(this,arguments)}}},9002:function(e,t,n){var r=n(6224),o=n(6464);e.exports=function(e){return function t(n,a){switch(arguments.length){case 0:return t;case 1:return o(n)?t:r((function(t){return e(n,t)}));default:return o(n)&&o(a)?t:o(n)?r((function(t){return e(t,a)})):o(a)?r((function(t){return e(n,t)})):e(n,a)}}}},6370:function(e,t,n){var r=n(6224),o=n(9002),a=n(6464);e.exports=function(e){return function t(n,i,s){switch(arguments.length){case 0:return t;case 1:return a(n)?t:o((function(t,r){return e(n,t,r)}));case 2:return a(n)&&a(i)?t:a(n)?o((function(t,n){return e(t,i,n)})):a(i)?o((function(t,r){return e(n,t,r)})):r((function(t){return e(n,i,t)}));default:return a(n)&&a(i)&&a(s)?t:a(n)&&a(i)?o((function(t,n){return e(t,n,s)})):a(n)&&a(s)?o((function(t,n){return e(t,i,n)})):a(i)&&a(s)?o((function(t,r){return e(n,t,r)})):a(n)?r((function(t){return e(t,i,s)})):a(i)?r((function(t){return e(n,t,s)})):a(s)?r((function(t){return e(n,i,t)})):e(n,i,s)}}}},2738:function(e,t,n){var r=n(7455),o=n(6464);e.exports=function e(t,n,a){return function(){for(var i=[],s=0,c=t,u=0;u<n.length||s<arguments.length;){var l;u<n.length&&(!o(n[u])||s>=arguments.length)?l=n[u]:(l=arguments[s],s+=1),i[u]=l,o(l)||(c-=1),u+=1}return c<=0?a.apply(this,i):r(c,e(t,i,a))}}},4793:function(e,t,n){var r=n(219),o=n(9082);e.exports=function(e,t,n){return function(){if(0===arguments.length)return n();var a=Array.prototype.slice.call(arguments,0),i=a.pop();if(!r(i)){for(var s=0;s<e.length;){if("function"==typeof i[e[s]])return i[e[s]].apply(i,a);s+=1}if(o(i)){var c=t.apply(null,a);return c(i)}}return n.apply(this,arguments)}}},4023:function(e,t,n){var r=n(4118),o=n(2976),a=n(4931),i=n(7684),s=n(1361),c=n(368),u=n(6433);function l(e,t,n,a){var i=r(e),s=r(t);function c(e,t){return d(e,t,n.slice(),a.slice())}return!o((function(e,t){return!o(c,t,e)}),s,i)}function d(e,t,n,r){if(s(e,t))return!0;var o=u(e);if(o!==u(t))return!1;if(null==e||null==t)return!1;if("function"==typeof e["fantasy-land/equals"]||"function"==typeof t["fantasy-land/equals"])return"function"==typeof e["fantasy-land/equals"]&&e["fantasy-land/equals"](t)&&"function"==typeof t["fantasy-land/equals"]&&t["fantasy-land/equals"](e);if("function"==typeof e.equals||"function"==typeof t.equals)return"function"==typeof e.equals&&e.equals(t)&&"function"==typeof t.equals&&t.equals(e);switch(o){case"Arguments":case"Array":case"Object":if("function"==typeof e.constructor&&"Promise"===a(e.constructor))return e===t;break;case"Boolean":case"Number":case"String":if(typeof e!=typeof t||!s(e.valueOf(),t.valueOf()))return!1;break;case"Date":if(!s(e.valueOf(),t.valueOf()))return!1;break;case"Error":return e.name===t.name&&e.message===t.message;case"RegExp":if(e.source!==t.source||e.global!==t.global||e.ignoreCase!==t.ignoreCase||e.multiline!==t.multiline||e.sticky!==t.sticky||e.unicode!==t.unicode)return!1}for(var h=n.length-1;h>=0;){if(n[h]===e)return r[h]===t;h-=1}switch(o){case"Map":return e.size===t.size&&l(e.entries(),t.entries(),n.concat([e]),r.concat([t]));case"Set":return e.size===t.size&&l(e.values(),t.values(),n.concat([e]),r.concat([t]));case"Arguments":case"Array":case"Object":case"Boolean":case"Number":case"String":case"Date":case"Error":case"RegExp":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"ArrayBuffer":break;default:return!1}var p=c(e);if(p.length!==c(t).length)return!1;var f=n.concat([e]),m=r.concat([t]);for(h=p.length-1;h>=0;){var g=p[h];if(!i(g,t)||!d(t[g],e[g],f,m))return!1;h-=1}return!0}e.exports=d},4877:function(e){e.exports=function(e,t){for(var n=0,r=t.length,o=[];n<r;)e(t[n])&&(o[o.length]=t[n]),n+=1;return o}},4931:function(e){e.exports=function(e){var t=String(e).match(/^function (\w*)/);return null==t?"":t[1]}},7684:function(e){e.exports=function(e,t){return Object.prototype.hasOwnProperty.call(t,e)}},7243:function(e,t,n){var r=n(6069);e.exports=function(e,t){return r(t,e,0)>=0}},2976:function(e){e.exports=function(e,t,n){for(var r=0,o=n.length;r<o;){if(e(t,n[r]))return!0;r+=1}return!1}},6069:function(e,t,n){var r=n(1481);e.exports=function(e,t,n){var o,a;if("function"==typeof e.indexOf)switch(typeof t){case"number":if(0===t){for(o=1/t;n<e.length;){if(0===(a=e[n])&&1/a===o)return n;n+=1}return-1}if(t!=t){for(;n<e.length;){if("number"==typeof(a=e[n])&&a!=a)return n;n+=1}return-1}return e.indexOf(t,n);case"string":case"boolean":case"function":case"undefined":return e.indexOf(t,n);case"object":if(null===t)return e.indexOf(t,n)}for(;n<e.length;){if(r(e[n],t))return n;n+=1}return-1}},7587:function(e,t,n){var r=n(7684),o=Object.prototype.toString,a=function(){return"[object Arguments]"===o.call(arguments)?function(e){return"[object Arguments]"===o.call(e)}:function(e){return r("callee",e)}}();e.exports=a},219:function(e){e.exports=Array.isArray||function(e){return null!=e&&e.length>=0&&"[object Array]"===Object.prototype.toString.call(e)}},3219:function(e,t,n){var r=n(6224),o=n(219),a=n(190),i=r((function(e){return!!o(e)||!!e&&"object"==typeof e&&!a(e)&&(1===e.nodeType?!!e.length:0===e.length||e.length>0&&e.hasOwnProperty(0)&&e.hasOwnProperty(e.length-1))}));e.exports=i},7e3:function(e){e.exports=Number.isInteger||function(e){return e<<0===e}},8291:function(e){e.exports=function(e){return"[object Object]"===Object.prototype.toString.call(e)}},6464:function(e){e.exports=function(e){return null!=e&&"object"==typeof e&&!0===e["@@functional/placeholder"]}},190:function(e){e.exports=function(e){return"[object String]"===Object.prototype.toString.call(e)}},9082:function(e){e.exports=function(e){return null!=e&&"function"==typeof e["@@transducer/step"]}},5161:function(e,t,n){var r=n(3219);e.exports=function(e){return function t(n){for(var o,a,i,s=[],c=0,u=n.length;c<u;){if(r(n[c]))for(i=0,a=(o=e?t(n[c]):n[c]).length;i<a;)s[s.length]=o[i],i+=1;else s[s.length]=n[c];c+=1}return s}}},6692:function(e){e.exports=function(e,t){for(var n=0,r=t.length,o=Array(r);n<r;)o[n]=e(t[n]),n+=1;return o}},1361:function(e){e.exports="function"==typeof Object.is?Object.is:function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}},9488:function(e,t,n){var r=n(3219),o=n(9874),a=n(3195);function i(e,t,n){for(var r=n.next();!r.done;){if((t=e["@@transducer/step"](t,r.value))&&t["@@transducer/reduced"]){t=t["@@transducer/value"];break}r=n.next()}return e["@@transducer/result"](t)}function s(e,t,n,r){return e["@@transducer/result"](n[r](a(e["@@transducer/step"],e),t))}var c="undefined"!=typeof Symbol?Symbol.iterator:"@@iterator";e.exports=function(e,t,n){if("function"==typeof e&&(e=o(e)),r(n))return function(e,t,n){for(var r=0,o=n.length;r<o;){if((t=e["@@transducer/step"](t,n[r]))&&t["@@transducer/reduced"]){t=t["@@transducer/value"];break}r+=1}return e["@@transducer/result"](t)}(e,t,n);if("function"==typeof n["fantasy-land/reduce"])return s(e,t,n,"fantasy-land/reduce");if(null!=n[c])return i(e,t,n[c]());if("function"==typeof n.next)return i(e,t,n);if("function"==typeof n.reduce)return s(e,t,n,"reduce");throw new TypeError("reduce: list must be array or iterable")}},3714:function(e){e.exports={init:function(){return this.xf["@@transducer/init"]()},result:function(e){return this.xf["@@transducer/result"](e)}}},123:function(e,t,n){var r=n(9002),o=n(3714),a=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=o.init,e.prototype["@@transducer/result"]=o.result,e.prototype["@@transducer/step"]=function(e,t){return this.f(t)?this.xf["@@transducer/step"](e,t):e},e}(),i=r((function(e,t){return new a(e,t)}));e.exports=i},2894:function(e,t,n){var r=n(9002),o=n(3714),a=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=o.init,e.prototype["@@transducer/result"]=o.result,e.prototype["@@transducer/step"]=function(e,t){return this.xf["@@transducer/step"](e,this.f(t))},e}(),i=r((function(e,t){return new a(e,t)}));e.exports=i},9874:function(e){var t=function(){function e(e){this.f=e}return e.prototype["@@transducer/init"]=function(){throw new Error("init not implemented on XWrap")},e.prototype["@@transducer/result"]=function(e){return e},e.prototype["@@transducer/step"]=function(e,t){return this.f(e,t)},e}();e.exports=function(e){return new t(e)}},368:function(e,t,n){var r=n(6224),o=n(7684),a=n(7587),i=!{toString:null}.propertyIsEnumerable("toString"),s=["constructor","valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],c=function(){"use strict";return arguments.propertyIsEnumerable("length")}(),u=function(e,t){for(var n=0;n<e.length;){if(e[n]===t)return!0;n+=1}return!1},l="function"!=typeof Object.keys||c?r((function(e){if(Object(e)!==e)return[];var t,n,r=[],l=c&&a(e);for(t in e)!o(t,e)||l&&"length"===t||(r[r.length]=t);if(i)for(n=s.length-1;n>=0;)o(t=s[n],e)&&!u(r,t)&&(r[r.length]=t),n-=1;return r})):r((function(e){return Object(e)!==e?[]:Object.keys(e)}));e.exports=l},7560:function(e,t,n){var r=n(9002)((function(e,t){return e<t}));e.exports=r},3594:function(e,t,n){var r=n(9002)((function(e,t){return e<=t}));e.exports=r},1894:function(e,t,n){var r=n(9002),o=n(4793),a=n(6692),i=n(9488),s=n(2894),c=n(2220),u=n(368),l=r(o(["fantasy-land/map","map"],s,(function(e,t){switch(Object.prototype.toString.call(t)){case"[object Function]":return c(t.length,(function(){return e.call(this,t.apply(this,arguments))}));case"[object Object]":return i((function(n,r){return n[r]=e(t[r]),n}),{},u(t));default:return a(e,t)}})));e.exports=l},1186:function(e,t,n){var r=n(9002)((function(e,t){return t>e?t:e}));e.exports=r},7041:function(e,t,n){var r=n(9002),o=n(190),a=r((function(e,t){var n=e<0?t.length+e:e;return o(t)?t.charAt(n):t[n]}));e.exports=a},7430:function(e,t,n){var r=n(9002),o=n(4439),a=r((function(e,t){return o([e],t)[0]}));e.exports=a},4439:function(e,t,n){var r=n(9002),o=n(7e3),a=n(7041),i=r((function(e,t){return e.map((function(e){for(var n,r=t,i=0;i<e.length;){if(null==r)return;n=e[i],r=o(n)?a(n,r):r[n],i+=1}return r}))}));e.exports=i},5206:function(e,t,n){var r=n(9002)((function(e,t){for(var n={},r=0;r<e.length;)e[r]in t&&(n[e[r]]=t[e[r]]),r+=1;return n}));e.exports=r},2478:function(e,t,n){var r=n(9002),o=n(7430),a=r((function(e,t){return o([e],t)}));e.exports=a},793:function(e,t,n){var r=n(6370)(n(9488));e.exports=r},3266:function(e,t,n){var r=n(8770),o=n(9002),a=n(1383),i=o((function(e,t){return a(r(e),t)}));e.exports=i},6433:function(e,t,n){var r=n(6224)((function(e){return null===e?"Null":void 0===e?"Undefined":Object.prototype.toString.call(e).slice(8,-1)}));e.exports=r},7263:function(e,t,n){var r=n(2976),o=n(9002)((function(e,t){for(var n,o=0,a=t.length,i=[];o<a;)n=t[o],r(e,n,i)||(i[i.length]=n),o+=1;return i}));e.exports=o},6290:function(e,t,n){var r=n(7243),o=n(9002),a=n(9134),i=n(3266),s=o((function(e,t){return i(a(r)(e),t)}));e.exports=s},590:function(e){"use strict";e.exports=f},8367:function(e){"use strict";e.exports=v},3656:function(e){"use strict";e.exports=h},1031:function(t){"use strict";t.exports=e},8081:function(e){"use strict";e.exports=t},4752:function(e){"use strict";e.exports=a},9558:function(e){"use strict";e.exports=n},2405:function(e){"use strict";e.exports=b},817:function(e){"use strict";e.exports=s},2139:function(e){"use strict";e.exports=r},3550:function(e){"use strict";e.exports=c},6311:function(e){"use strict";e.exports=d},3205:function(e){"use strict";e.exports=g},8097:function(e){"use strict";e.exports=y},2001:function(e){"use strict";e.exports=u},2074:function(e){"use strict";e.exports=i},4021:function(e){"use strict";e.exports=l},9174:function(e){"use strict";e.exports=o},1001:function(e){"use strict";e.exports=w},3323:function(e){"use strict";e.exports=p},3752:function(e){"use strict";e.exports=m}},T={};function C(e){var t=T[e];if(void 0!==t)return t.exports;var n=T[e]={exports:{}};return x[e](n,n.exports,C),n.exports}C.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return C.d(t,{a:t}),t},C.d=function(e,t){for(var n in t)C.o(t,n)&&!C.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},C.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},C.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var I={};return function(){"use strict";C.r(I),C.d(I,{ACITransformation:function(){return s},AccountBase:function(){return Bo},AccountMultiple:function(){return ra},Ae:function(){return Vo},Aens:function(){return aa},AeppWalletHelpers:function(){return u},AeppWalletSchema:function(){return c},AmountFormatter:function(){return a},BrowserRuntimeConnection:function(){return Ts},BrowserWindowMessageConnection:function(){return vs},Bytes:function(){return e},Chain:function(){return Jr},ChainNode:function(){return Wo},Channel:function(){return ms},ContentScriptBridge:function(){return ys},Contract:function(){return xa},ContractCompilerAPI:function(){return sa},Crypto:function(){return r},GeneralizeAccount:function(){return Ia},HdWallet:function(){return Gr},Keystore:function(){return o},MemoryAccount:function(){return na},Node:function(){return Po},NodePool:function(){return Ho},Oracle:function(){return Za},RpcAepp:function(){return ei},RpcWallet:function(){return ii},SCHEMA:function(){return t},Transaction:function(){return Zo},Tx:function(){return Xr},TxBuilder:function(){return i},TxBuilderHelper:function(){return n},Universal:function(){return gs},WalletDetector:function(){return xs},genSwaggerClient:function(){return _o},getDefaultPointerKey:function(){return Cs},verifyTransaction:function(){return Uo}});var e={};C.r(e),C.d(e,{bigNumberToByteArray:function(){return E},str2buf:function(){return k},toBytes:function(){return _}});var t={};C.r(t),C.d(t,{ABI_VERSIONS:function(){return je},AMOUNT:function(){return z},BASE_GAS:function(){return qe},CLIENT_TTL:function(){return oe},CONTRACT_BYTE_CODE_LIMA:function(){return Ye},DEFAULT_FEE:function(){return Fe},DEPOSIT:function(){return Y},DRY_RUN_ACCOUNT:function(){return ee},FIELD_TYPES:function(){return Be},GAS:function(){return X},GAS_PER_BYTE:function(){return Ve},ID_TAG:function(){return He},ID_TAG_PREFIX:function(){return We},KEY_BLOCK_INTERVAL:function(){return $e},MAX_AUTH_FUN_GAS:function(){return Z},MIN_GAS_PRICE:function(){return J},NAME_BID_MAX_LENGTH:function(){return le},NAME_BID_RANGES:function(){return he},NAME_BID_TIMEOUTS:function(){return pe},NAME_BID_TIMEOUT_BLOCKS:function(){return ce},NAME_FEE:function(){return ae},NAME_FEE_BID_INCREMENT:function(){return se},NAME_FEE_MULTIPLIER:function(){return ie},NAME_MAX_CLIENT_TTL:function(){return re},NAME_MAX_LENGTH_FEE:function(){return ue},NAME_MAX_TTL:function(){return ne},NAME_TTL:function(){return te},OBJECT_ID_TX_TYPE:function(){return Re},OBJECT_TAG_SIGNED_TRANSACTION:function(){return fe},ORACLE_TTL:function(){return L},POINTER_KEY_BY_PREFIX:function(){return de},PREFIX_ID_TAG:function(){return Ke},PROTOCOL_VERSIONS:function(){return Pe},PROTOCOL_VM_ABI:function(){return Me},QUERY_FEE:function(){return W},QUERY_TTL:function(){return G},RESPONSE_TTL:function(){return Q},TX_DESERIALIZATION_SCHEMA:function(){return Ht},TX_FEE_BASE_GAS:function(){return De},TX_FEE_OTHER_GAS:function(){return Ue},TX_SERIALIZATION_SCHEMA:function(){return Ut},TX_TTL:function(){return K},TX_TYPE:function(){return Se},VALIDATION_MESSAGE:function(){return Ge},VM_VERSIONS:function(){return Ne},VSN:function(){return U},VSN_2:function(){return H}});var n={};C.r(n),C.d(n,{buildContractId:function(){return Yt},buildPointers:function(){return sn},commitmentHash:function(){return Zt},computeAuctionEndBlock:function(){return fn},computeBidFee:function(){return pn},createSalt:function(){return Gt},decode:function(){return en},encode:function(){return tn},ensureNameValid:function(){return un},formatSalt:function(){return Xt},getDefaultPointerKey:function(){return dn},getMinimumNameFee:function(){return hn},isAuctionName:function(){return mn},isNameValid:function(){return ln},oracleQueryId:function(){return zt},produceNameId:function(){return Jt},readId:function(){return rn},readInt:function(){return an},readPointers:function(){return cn},writeId:function(){return nn},writeInt:function(){return on}});var r={};C.r(r),C.d(r,{addressFromDecimal:function(){return vn},aeEncodeKey:function(){return Fn},checkSumFn:function(){return In},decodeBase58Check:function(){return _n},decodeBase64Check:function(){return An},decryptKey:function(){return Pn},encodeBase58Check:function(){return En},encodeBase64Check:function(){return Cn},encodeContractAddress:function(){return On},encodeUnsigned:function(){return kn},encryptKey:function(){return jn},generateKeyPair:function(){return Nn},generateKeyPairFromSecret:function(){return Sn},getAddressFromPriv:function(){return wn},hash:function(){return D},isAddressValid:function(){return bn},isValidKeypair:function(){return $n},messageToHash:function(){return Bn},salt:function(){return Tn},sha256hash:function(){return xn},sign:function(){return Mn},signMessage:function(){return qn},verify:function(){return Rn},verifyMessage:function(){return Vn}});var o={};C.r(o),C.d(o,{deriveKeyUsingArgon2id:function(){return Ln},dump:function(){return Zn},getAddressFromPriv:function(){return Xn},recover:function(){return Jn},validateKeyObj:function(){return er}});var a={};C.r(a),C.d(a,{AE_AMOUNT_FORMATS:function(){return nr},DENOMINATION_MAGNITUDE:function(){return rr},default:function(){return dr},formatAmount:function(){return ir},toAe:function(){return or},toAettos:function(){return ar}});var i={};C.r(i),C.d(i,{buildRawTx:function(){return Ir},buildTx:function(){return _r},buildTxHash:function(){return Or},calculateFee:function(){return Tr},calculateMinFee:function(){return vr},default:function(){return Sr},unpackRawTx:function(){return Ar},unpackTx:function(){return kr},validateParams:function(){return Cr}});var s={};C.r(s),C.d(s,{SOPHIA_TYPES:function(){return Nr},decodeEvents:function(){return jr}});var c={};C.r(c),C.d(c,{ERRORS:function(){return Ba},MESSAGE_DIRECTION:function(){return ka},METHODS:function(){return Ma},NOTIFICATIONS:function(){return Sa},REQUESTS:function(){return Na},RPC_STATUS:function(){return Ra},SUBSCRIPTION_TYPES:function(){return Pa},SUBSCRIPTION_VALUES:function(){return ja},VERSION:function(){return _a},WALLET_TYPE:function(){return Oa}});var u={};C.r(u),C.d(u,{getBrowserAPI:function(){return qa},getHandler:function(){return $a},isInIframe:function(){return Va},isValidAccounts:function(){return Wa},message:function(){return Da},resolveOnAccount:function(){return La},responseMessage:function(){return Ua},sendMessage:function(){return Fa},sendResponseMessage:function(){return Ha},voidFn:function(){return Ka}});var l=C(2139),d=C.n(l),h=C(9174),p=C.n(h),f=C(4752),m=C.n(f),g=C(2074),y=C.n(g),w=C(9558),b=C.n(w);function v(e){return e.replace(/_./g,(e=>e[1].toUpperCase()))}function x(e){return e.replace(/[A-Z]/g,(e=>`_${e.toLowerCase()}`))}function T(e){return e.length%2==0&&/^[0-9a-f]+$/i.test(e)}var A=C(3550).Buffer;function E(e){if(!e.isInteger())throw new Error(`Unexpected not integer value: ${e.toFixed()}`);let t=e.toString(16);return t.length%2==1&&(t="0"+t),A.from(t,"hex")}function _(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(null==e)return A.from([]);if(Number.isInteger(e)||b().isBigNumber(e)||t)return b().isBigNumber(e)||(e=new(b())(e)),E(e);if("string"==typeof e)return A.from(e);throw new Error("Byte serialization not supported")}function k(e,t){return A.from(e,t??(T(e)?"hex":void 0)??(function(e){if(e.length%4>0||/[^0-9a-z+/=]/i.test(e))return!1;const t=e.indexOf("=");return-1===t||/={1,2}/.test(e.slice(t))}(e)?"base64":void 0))}var O=C(3007),S=C.n(O),N=C(3594),j=C.n(N),P=C(4115),M=C.n(P),R=C(7560),B=C.n(R),q=C(7794),V=C.n(q),F=C(817),$=C(3550).Buffer;function D(e){return $.from((0,F.blake2b)(e,null,32))}const U=1,H=2,K=0,W=3e4,L={type:"delta",value:500},G={type:"delta",value:10},Q={type:"delta",value:10},Y=0,z=0,X=25e3,J=1e9,Z=5e4,ee={pub:"ak_11111111111111111111111111111111273Yts",amount:"100000000000000000000000000000000000"},te=18e4,ne=36e3,re=84600,oe=re,ae=0,ie=1e14,se=.05,ce=480,ue=31,le=12,de={ak:"account_pubkey",ok:"oracle_pubkey",ct:"contract_pubkey",ch:"channel"},he={31:b()(3).times(ie),30:b()(5).times(ie),29:b()(8).times(ie),28:b()(13).times(ie),27:b()(21).times(ie),26:b()(34).times(ie),25:b()(55).times(ie),24:b()(89).times(ie),23:b()(144).times(ie),22:b()(233).times(ie),21:b()(377).times(ie),20:b()(610).times(ie),19:b()(987).times(ie),18:b()(1597).times(ie),17:b()(2584).times(ie),16:b()(4181).times(ie),15:b()(6765).times(ie),14:b()(10946).times(ie),13:b()(17711).times(ie),12:b()(28657).times(ie),11:b()(46368).times(ie),10:b()(75025).times(ie),9:b()(121393).times(ie),8:b()(196418).times(ie),7:b()(317811).times(ie),6:b()(514229).times(ie),5:b()(832040).times(ie),4:b()(1346269).times(ie),3:b()(2178309).times(ie),2:b()(3524578).times(ie),1:b()(5702887).times(ie)},pe={13:b()(0),12:b()(ce),8:b()(31).times(ce),4:b()(62).times(ce)},fe=11,me=521,ge=570,ye=571,we=572,be=573,ve=574,xe=575,Te=621,Ce=622,Ie=623,Ae=624,Ee=625,_e=626,ke=(e,t,n)=>[e,t,n],Oe=(e,t)=>[e,t],Se={account:"account",signed:"signedTx",spend:"spendTx",nameClaim:"nameClaimTx",namePreClaim:"namePreClaimTx",nameUpdate:"nameUpdateTx",nameRevoke:"nameRevokeTx",nameTransfer:"nameTransfer",contract:"contract",contractCreate:"contractCreateTx",contractCall:"contractCallTx",contractCallResult:"contractCallResult",oracleRegister:"oracleRegister",oracleExtend:"oracleExtend",oracleQuery:"oracleQuery",oracleResponse:"oracleResponse",channelCreate:"channelCreate",channelCloseMutual:"channelCloseMutual",channelCloseSolo:"channelCloseSolo",channelSlash:"channelSlash",channelDeposit:"channelDeposit",channelWithdraw:"channelWithdraw",channelSettle:"channelSettle",channelOffChain:"channelOffChain",channelForceProgress:"channelForceProgress",channel:"channel",channelSnapshotSolo:"channelSnapshotSolo",channelOffChainUpdateTransfer:"channelOffChainUpdateTransfer",channelOffChainUpdateDeposit:"channelOffChainUpdateDeposit",channelOffChainUpdateWithdrawal:"channelOffChainUpdateWithdrawal",channelOffChainCreateContract:"channelOffChainCreateContract",channelOffChainCallContract:"channelOffChainCallContract",channelReconnect:"channelReconnect",proofOfInclusion:"proofOfInclusion",stateTrees:"stateTrees",merklePatriciaTree:"merklePatriciaTree",merklePatriciaTreeValue:"merklePatriciaTreeValue",contractsTree:"contractsTree",contractCallsTree:"contractCallsTree",channelsTree:"channelsTree",nameserviceTree:"nameserviceTree",oraclesTree:"oraclesTree",accountsTree:"accountsTree",gaAttach:"gaAttach",gaMeta:"gaMeta",payingFor:"payingFor",sophiaByteCode:"sophiaByteCode"},Ne={NO_VM:0,SOPHIA:1,SOPHIA_IMPROVEMENTS_MINERVA:3,SOPHIA_IMPROVEMENTS_FORTUNA:4,FATE:5,SOPHIA_IMPROVEMENTS_LIMA:6,FATE_2:7},je={NO_ABI:0,SOPHIA:1,FATE:3},Pe={IRIS:5},Me={[Pe.IRIS]:{[Se.contractCreate]:{vmVersion:[Ne.FATE_2],abiVersion:[je.FATE]},[Se.contractCall]:{vmVersion:[Ne.FATE_2,Ne.FATE,Ne.SOPHIA_IMPROVEMENTS_LIMA,Ne.SOPHIA_IMPROVEMENTS_FORTUNA,Ne.SOPHIA,Ne.SOPHIA_IMPROVEMENTS_MINERVA],abiVersion:[je.FATE,je.SOPHIA]},[Se.oracleRegister]:{vmVersion:[],abiVersion:[je.NO_ABI,je.SOPHIA]}}},Re={10:Se.account,[fe]:Se.signed,12:Se.spend,32:Se.nameClaim,33:Se.namePreClaim,34:Se.nameUpdate,35:Se.nameRevoke,36:Se.nameTransfer,40:Se.contract,42:Se.contractCreate,43:Se.contractCall,41:Se.contractCallResult,22:Se.oracleRegister,25:Se.oracleExtend,23:Se.oracleQuery,24:Se.oracleResponse,50:Se.channelCreate,53:Se.channelCloseMutual,54:Se.channelCloseSolo,55:Se.channelSlash,[me]:Se.channelForceProgress,51:Se.channelDeposit,52:Se.channelWithdraw,56:Se.channelSettle,57:Se.channelOffChain,58:Se.channel,59:Se.channelSnapshotSolo,[ge]:Se.channelOffChainUpdateTransfer,[ye]:Se.channelOffChainUpdateDeposit,[we]:Se.channelOffChainUpdateWithdrawal,[be]:Se.channelOffChainCreateContract,[ve]:Se.channelOffChainCallContract,[xe]:Se.channelReconnect,60:Se.proofOfInclusion,62:Se.stateTrees,63:Se.merklePatriciaTree,64:Se.merklePatriciaTreeValue,[Te]:Se.contractsTree,[Ce]:Se.contractCallsTree,[Ie]:Se.channelsTree,[Ae]:Se.nameserviceTree,[Ee]:Se.oraclesTree,[_e]:Se.accountsTree,80:Se.gaAttach,81:Se.gaMeta,82:Se.payingFor,70:Se.sophiaByteCode},Be={int:"int",amount:"amount",id:"id",ids:"ids",string:"string",binary:"binary",rlpBinary:"rlpBinary",rlpBinaries:"rlpBinaries",rawBinary:"rawBinary",bool:"bool",hex:"hex",signatures:"signatures",pointers:"pointers",offChainUpdates:"offChainUpdates",callStack:"callStack",proofOfInclusion:"proofOfInclusion",mptrees:"mptrees",callReturnType:"callReturnType",ctVersion:"ctVersion",sophiaCodeTypeInfo:"sophiaCodeTypeInfo",payload:"payload",any:"any",stateTree:"stateTree"},qe=15e3,Ve=20,Fe=2e4,$e=3,De=e=>{const t={[Se.channelForceProgress]:30,[Se.channelOffChain]:0,[Se.channelOffChainCallContract]:0,[Se.channelOffChainCreateContract]:0,[Se.channelOffChainUpdateDeposit]:0,[Se.channelOffChainUpdateWithdrawal]:0,[Se.channelOffChainUpdateTransfer]:0,[Se.contractCreate]:5,[Se.contractCall]:12,[Se.gaAttach]:5,[Se.gaMeta]:5,[Se.payingFor]:.2}[e]||1;return new(b())(t*qe)},Ue=(e,t,n)=>{let{relativeTtl:r,innerTxSize:o}=n;switch(e){case Se.oracleRegister:case Se.oracleExtend:case Se.oracleQuery:case Se.oracleResponse:return new(b())(t).times(Ve).plus(Math.ceil(32e3*r/Math.floor(525600/$e)));case Se.gaMeta:case Se.payingFor:return new(b())(t).minus(o).times(Ve);default:return new(b())(t).times(Ve)}},He={account:1,name:2,commitment:3,oracle:4,contract:5,channel:6},Ke={ak:He.account,nm:He.name,cm:He.commitment,ok:He.oracle,ct:He.contract,ch:He.channel},We=(Le=Ke,Object.entries(Le).reduce(((e,t)=>{let[n,r]=t;return(e[r]=n)&&e}),{}));var Le;const Ge={[Be.int]:e=>{let{value:t,isMinusValue:n}=e;return n?`${t} must be >= 0`:`${t} is not of type Number or BigNumber`},[Be.amount]:e=>{let{value:t,isMinusValue:n}=e;return n?`${t} must be >= 0`:`${t} is not of type Number or BigNumber`},[Be.id]:e=>{let{value:t,prefix:n}=e;return`'${t}' prefix doesn't match expected prefix '${n}' or ID_TAG for prefix not found`},[Be.binary]:e=>{let{prefix:t,value:n}=e;return`'${n}' prefix doesn't match expected prefix '${t}'`},[Be.string]:e=>{let{value:t}=e;return"Not a string"},[Be.pointers]:e=>{let{value:t}=e;return'Value must be of type Array and contains only object\'s like \'{key: "account_pubkey", id: "ak_lkamsflkalsdalksdlasdlasdlamd"}\''},[Be.ctVersion]:e=>{let{value:t}=e;return'Value must be an object with "vmVersion" and "abiVersion" fields'}},Qe=[ke("tag",Be.int),ke("VSN",Be.int)],Ye=[...Qe,ke("sourceCodeHash",Be.rawBinary),ke("typeInfo",Be.sophiaCodeTypeInfo),ke("byteCode",Be.rawBinary),ke("compilerVersion",Be.string),ke("payable",Be.bool)],ze=[...Qe,ke("flags",Be.int),ke("nonce",Be.int),ke("balance",Be.int),ke("gaContract",Be.id,["ct","nm"]),ke("gaAuthFun",Be.binary,"cb")],Xe=[...Qe,ke("senderId",Be.id,"ak"),ke("recipientId",Be.id,["ak","nm"]),ke("amount",Be.amount),ke("fee",Be.int),ke("ttl",Be.int),ke("nonce",Be.int),ke("payload",Be.payload)],Je=[...Qe,ke("signatures",Be.signatures),ke("encodedTx",Be.rlpBinary)],Ze=[...Qe,ke("accountId",Be.id,"ak"),ke("nonce",Be.int),ke("commitmentId",Be.id,"cm"),ke("fee",Be.int),ke("ttl",Be.int)],et=[...Qe,ke("accountId",Be.id,"ak"),ke("nonce",Be.int),ke("name",Be.binary,"nm"),ke("nameSalt",Be.int),ke("nameFee",Be.amount),ke("fee",Be.int),ke("ttl",Be.int)],tt=[...Qe,ke("accountId",Be.id,"ak"),ke("nonce",Be.int),ke("nameId",Be.id,"nm"),ke("nameTtl",Be.int),ke("pointers",Be.pointers),ke("clientTtl",Be.int),ke("fee",Be.int),ke("ttl",Be.int)],nt=[...Qe,ke("accountId",Be.id,"ak"),ke("nonce",Be.int),ke("nameId",Be.id,"nm"),ke("recipientId",Be.id,["ak","nm"]),ke("fee",Be.int),ke("ttl",Be.int)],rt=[...Qe,ke("accountId",Be.id,"ak"),ke("nonce",Be.int),ke("nameId",Be.id,"nm"),ke("fee",Be.int),ke("ttl",Be.int)],ot=[...Qe,ke("owner",Be.id,"ak"),ke("ctVersion",Be.int),ke("code",Be.binary,"cb"),ke("log",Be.binary,"cb"),ke("active",Be.bool),ke("referers",Be.ids,"ak"),ke("deposit",Be.amount)],at=[...Qe,ke("ownerId",Be.id,"ak"),ke("nonce",Be.int),ke("code",Be.binary,"cb"),ke("authFun",Be.rawBinary),ke("ctVersion",Be.ctVersion),ke("fee",Be.int),ke("ttl",Be.int),ke("gas",Be.int),ke("gasPrice",Be.int),ke("callData",Be.binary,"cb")],it=[...Qe,ke("gaId",Be.id,"ak"),ke("authData",Be.binary,"cb"),ke("abiVersion",Be.int),ke("fee",Be.int),ke("gas",Be.int),ke("gasPrice",Be.int),ke("tx",Be.rlpBinary)],st=[...Qe,ke("payerId",Be.id,"ak"),ke("nonce",Be.int),ke("fee",Be.int),ke("tx",Be.rlpBinary)],ct=[...Qe,ke("ownerId",Be.id,"ak"),ke("nonce",Be.int),ke("code",Be.binary,"cb"),ke("ctVersion",Be.ctVersion),ke("fee",Be.int),ke("ttl",Be.int),ke("deposit",Be.amount),ke("amount",Be.amount),ke("gas",Be.int),ke("gasPrice",Be.int),ke("callData",Be.binary,"cb")],ut=[...Qe,ke("callerId",Be.id,"ak"),ke("nonce",Be.int),ke("contractId",Be.id,["ct","nm"]),ke("abiVersion",Be.int),ke("fee",Be.int),ke("ttl",Be.int),ke("amount",Be.amount),ke("gas",Be.int),ke("gasPrice",Be.int),ke("callData",Be.binary,"cb")],lt=[...Qe,ke("callerId",Be.id,"ak"),ke("callerNonce",Be.int),ke("height",Be.int),ke("contractId",Be.id,"ct"),ke("gasPrice",Be.int),ke("gasUsed",Be.int),ke("returnValue",Be.binary,"cb"),ke("returnType",Be.callReturnType),ke("log",Be.rawBinary)],dt=[...Qe,ke("accountId",Be.id,"ak"),ke("nonce",Be.int),ke("queryFormat",Be.string),ke("responseFormat",Be.string),ke("queryFee",Be.amount),ke("oracleTtlType",Be.int),ke("oracleTtlValue",Be.int),ke("fee",Be.int),ke("ttl",Be.int),ke("abiVersion",Be.int)],ht=[...Qe,ke("oracleId",Be.id,["ok","nm"]),ke("nonce",Be.int),ke("oracleTtlType",Be.int),ke("oracleTtlValue",Be.int),ke("fee",Be.int),ke("ttl",Be.int)],pt=[...Qe,ke("senderId",Be.id,"ak"),ke("nonce",Be.int),ke("oracleId",Be.id,["ok","nm"]),ke("query",Be.string),ke("queryFee",Be.amount),ke("queryTtlType",Be.int),ke("queryTtlValue",Be.int),ke("responseTtlType",Be.int),ke("responseTtlValue",Be.int),ke("fee",Be.int),ke("ttl",Be.int)],ft=[...Qe,ke("oracleId",Be.id,"ok"),ke("nonce",Be.int),ke("queryId",Be.binary,"oq"),ke("response",Be.string),ke("responseTtlType",Be.int),ke("responseTtlValue",Be.int),ke("fee",Be.int),ke("ttl",Be.int)],mt=[...Qe,ke("initiator",Be.id,"ak"),ke("initiatorAmount",Be.int),ke("responder",Be.id,"ak"),ke("responderAmount",Be.int),ke("channelReserve",Be.int),ke("lockPeriod",Be.int),ke("ttl",Be.int),ke("fee",Be.int),ke("initiatorDelegateIds",Be.string),ke("responderDelegateIds",Be.string),ke("stateHash",Be.binary,"st"),ke("nonce",Be.int)],gt=[...Qe,ke("channelId",Be.id,"ch"),ke("fromId",Be.id,"ak"),ke("amount",Be.int),ke("ttl",Be.int),ke("fee",Be.int),ke("stateHash",Be.binary,"st"),ke("round",Be.int),ke("nonce",Be.int)],yt=[...Qe,ke("channelId",Be.id,"ch"),ke("toId",Be.id,"ak"),ke("amount",Be.int),ke("ttl",Be.int),ke("fee",Be.int),ke("stateHash",Be.binary,"st"),ke("round",Be.int),ke("nonce",Be.int)],wt=[...Qe,ke("channelId",Be.id,"ch"),ke("fromId",Be.id,"ak"),ke("initiatorAmountFinal",Be.int),ke("responderAmountFinal",Be.int),ke("ttl",Be.int),ke("fee",Be.int),ke("nonce",Be.int)],bt=[...Qe,ke("channelId",Be.id,"ch"),ke("fromId",Be.id,"ak"),ke("payload",Be.binary,"tx"),ke("poi",Be.binary,"pi"),ke("ttl",Be.int),ke("fee",Be.int),ke("nonce",Be.int)],vt=[...Qe,ke("channelId",Be.id,"ch"),ke("fromId",Be.id,"ak"),ke("payload",Be.binary,"tx"),ke("poi",Be.binary,"pi"),ke("ttl",Be.int),ke("fee",Be.int),ke("nonce",Be.int)],xt=[...Qe,ke("channelId",Be.id,"ch"),ke("fromId",Be.id,"ak"),ke("initiatorAmountFinal",Be.int),ke("responderAmountFinal",Be.int),ke("ttl",Be.int),ke("fee",Be.int),ke("nonce",Be.int)],Tt=[...Qe,ke("channelId",Be.id,"ch"),ke("fromId",Be.id,"ak"),ke("payload",Be.binary,"tx"),ke("round",Be.int),ke("update",Be.binary),ke("stateHash",Be.binary),ke("offChainTrees",Be.stateTree),ke("ttl",Be.int),ke("fee",Be.int),ke("nonce",Be.int)],Ct=[...Qe,ke("channelId",Be.id,"ch"),ke("round",Be.int),ke("stateHash",Be.binary,"st")],It=[...Qe,ke("initiator",Be.id,"ak"),ke("responder",Be.id,"ak"),ke("channelAmount",Be.int),ke("initiatorAmount",Be.int),ke("responderAmount",Be.int),ke("channelReserve",Be.int),ke("initiatorDelegateIds",Be.ids),ke("responderDelegateIds",Be.ids),ke("stateHash",Be.hex),ke("round",Be.int),ke("soloRound",Be.int),ke("lockPeriod",Be.int),ke("lockedUntil",Be.int),ke("initiatorAuth",Be.binary,"cb"),ke("responderAuth",Be.binary,"cb")],At=[...Qe,ke("channelId",Be.id,"ch"),ke("fromId",Be.id,"ak"),ke("payload",Be.binary,"tx"),ke("ttl",Be.int),ke("fee",Be.int),ke("nonce",Be.int)],Et=[...Qe,ke("owner",Be.id,"ak"),ke("ctVersion",Be.int),ke("code",Be.binary,"cb"),ke("deposit",Be.int),ke("callData",Be.binary,"cb")],_t=[...Qe,ke("caller",Be.id,"ak"),ke("contract",Be.id,"ct"),ke("abiVersion",Be.int),ke("amount",Be.int),ke("callData",Be.binary,"cb"),ke("callStack",Be.callStack),ke("gasPrice",Be.int),ke("gasLimit",Be.int)],kt=[...Qe,ke("channelId",Be.id,"ch"),ke("round",Be.int),ke("role",Be.string),ke("pubkey",Be.id,"ak")],Ot=[...Qe,ke("from",Be.id,"ak"),ke("to",Be.id,"ak"),ke("amount",Be.int)],St=[...Qe,ke("from",Be.id,"ak"),ke("amount",Be.int)],Nt=[...Qe,ke("from",Be.id,"ak"),ke("amount",Be.int)],jt=[...Qe,ke("accounts",Be.mptrees),ke("calls",Be.mptrees),ke("channels",Be.mptrees),ke("contracts",Be.mptrees),ke("ns",Be.mptrees),ke("oracles",Be.mptrees)],Pt=[...Qe,ke("contracts",Be.rlpBinary),ke("calls",Be.rlpBinary),ke("channels",Be.rlpBinary),ke("ns",Be.rlpBinary),ke("oracles",Be.rlpBinary),ke("accounts",Be.rlpBinary)],Mt=[...Qe,ke("values",Be.rlpBinaries)],Rt=[...Qe,ke("key",Be.hex),ke("value",Be.rawBinary)],Bt=[...Qe,ke("contracts",Be.rlpBinary)],qt=[...Qe,ke("calls",Be.rlpBinary)],Vt=[...Qe,ke("channels",Be.rlpBinary)],Ft=[...Qe,ke("mtree",Be.rlpBinary)],$t=[...Qe,ke("otree",Be.rlpBinary)],Dt=[...Qe,ke("accounts",Be.rlpBinary)],Ut={[Se.account]:{2:Oe(ze,10)},[Se.signed]:{1:Oe(Je,fe)},[Se.spend]:{1:Oe(Xe,12)},[Se.namePreClaim]:{1:Oe(Ze,33)},[Se.nameClaim]:{2:Oe(et,32)},[Se.nameUpdate]:{1:Oe(tt,34)},[Se.nameTransfer]:{1:Oe(nt,36)},[Se.nameRevoke]:{1:Oe(rt,35)},[Se.contract]:{1:Oe(ot,40)},[Se.contractCreate]:{1:Oe(ct,42)},[Se.contractCall]:{1:Oe(ut,43)},[Se.contractCallResult]:{1:Oe(lt,41)},[Se.oracleRegister]:{1:Oe(dt,22)},[Se.oracleExtend]:{1:Oe(ht,25)},[Se.oracleQuery]:{1:Oe(pt,23)},[Se.oracleResponse]:{1:Oe(ft,24)},[Se.channelCreate]:{2:Oe(mt,50)},[Se.channelCloseMutual]:{1:Oe(wt,53)},[Se.channelCloseSolo]:{1:Oe(bt,54)},[Se.channelSlash]:{1:Oe(vt,55)},[Se.channelDeposit]:{1:Oe(gt,51)},[Se.channelWithdraw]:{1:Oe(yt,52)},[Se.channelSettle]:{1:Oe(xt,56)},[Se.channelForceProgress]:{1:Oe(Tt,me)},[Se.channelOffChain]:{2:Oe(Ct,57)},[Se.channel]:{3:Oe(It,58)},[Se.channelSnapshotSolo]:{1:Oe(At,59)},[Se.channelOffChainUpdateTransfer]:{1:Oe(Ot,ge)},[Se.channelOffChainUpdateDeposit]:{1:Oe(St,ye)},[Se.channelOffChainUpdateWithdrawal]:{1:Oe(Nt,we)},[Se.channelOffChainCreateContract]:{1:Oe(Et,be)},[Se.channelOffChainCallContract]:{1:Oe(_t,ve)},[Se.channelReconnect]:{1:Oe(kt,xe)},[Se.proofOfInclusion]:{1:Oe(jt,60)},[Se.stateTrees]:{1:Oe(Pt,62)},[Se.merklePatriciaTree]:{1:Oe(Mt,63)},[Se.merklePatriciaTreeValue]:{1:Oe(Rt,64)},[Se.contractsTree]:{1:Oe(Bt,Te)},[Se.contractCallsTree]:{1:Oe(qt,Ce)},[Se.channelsTree]:{1:Oe(Vt,Ie)},[Se.nameserviceTree]:{1:Oe(Ft,Ae)},[Se.oraclesTree]:{1:Oe($t,Ee)},[Se.accountsTree]:{1:Oe(Dt,_e)},[Se.gaAttach]:{1:Oe(at,80)},[Se.gaMeta]:{2:Oe(it,81)},[Se.payingFor]:{1:Oe(st,82)}},Ht={10:{2:Oe(ze,10)},[fe]:{1:Oe(Je,fe)},12:{1:Oe(Xe,12)},33:{1:Oe(Ze,33)},32:{2:Oe(et,32)},34:{1:Oe(tt,34)},36:{1:Oe(nt,36)},35:{1:Oe(rt,35)},40:{1:Oe(ot,40)},42:{1:Oe(ct,42)},43:{1:Oe(ut,43)},41:{1:Oe(lt,41)},22:{1:Oe(dt,22)},25:{1:Oe(ht,25)},23:{1:Oe(pt,23)},24:{1:Oe(ft,24)},50:{2:Oe(mt,50)},53:{1:Oe(wt,53)},54:{1:Oe(bt,54)},55:{1:Oe(vt,55)},51:{1:Oe(gt,51)},52:{1:Oe(yt,52)},56:{1:Oe(xt,56)},57:{2:Oe(Ct,57)},58:{3:Oe(It,58)},59:{1:Oe(At,59)},[ge]:{1:Oe(Ot,ge)},[ye]:{1:Oe(St,ye)},[we]:{1:Oe(Nt,we)},[be]:{1:Oe(Et,be)},[ve]:{1:Oe(_t,ve)},[xe]:{1:Oe(kt,xe)},60:{1:Oe(jt,60)},62:{1:Oe(Pt,62)},63:{1:Oe(Mt,63)},64:{1:Oe(Rt,64)},[Te]:{1:Oe(Bt,Te)},[Ce]:{1:Oe(qt,Ce)},[Ie]:{1:Oe(Vt,Ie)},[Ae]:{1:Oe(Ft,Ae)},[Ee]:{1:Oe($t,Ee)},[_e]:{1:Oe(Dt,_e)},80:{1:Oe(at,80)},81:{2:Oe(it,81)},82:{1:Oe(st,82)},[me]:{1:Oe(Tt,me)},70:{3:Oe(Ye,70)}},Kt=e=>["number","object","string","bigint"].includes(typeof e)&&(!isNaN(e)||Number.isInteger(e)||b().isBigNumber(e)),Wt=e=>e.integerValue(b().ROUND_CEIL);var Lt=C(3550).Buffer;const Gt=Tn,Qt=["tx","st","ss","pi","ov","or","cb","cs","ba"];function Yt(e,t){return tn(D(Lt.from([...en(e,"ak"),..._(t)])),"ct")}function zt(e,t,n){return tn(D(Lt.from([...en(e,"ak"),...function(e){const t=_(e,!0);return Lt.concat([Lt.alloc(32-t.length),t])}(t),...en(n,"ok")])),"oq")}function Xt(e){return Lt.from(e.toString(16).padStart(64,"0"),"hex")}function Jt(e){return un(e),tn(D(e.toLowerCase()),"nm")}function Zt(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Gt();return un(e),`cm_${En(D(Lt.concat([Lt.from(e.toLowerCase()),Xt(t)])))}`}function en(e,t){const[n,r,o]=e.split("_");if(!r)throw new Error(`Encoded string missing payload: ${e}`);if(o)throw new Error(`Encoded string have extra parts: ${e}`);if(t&&t!==n)throw new Error(`Encoded string have a wrong type: ${n} (expected: ${t})`);return(Qt.includes(n)?An:_n)(r)}function tn(e,t){return`${t}_${Qt.includes(t)?Cn(e):En(e)}`}function nn(e){if("string"!=typeof e)throw new Error(`Address should be a string, got ${e} instead`);const t=e.slice(0,2),n=Ke[t];if(!n)throw new Error(`Id tag for prefix ${t} not found.`);return Lt.from([..._(n),...en(e,t)])}function rn(e){const t=e.readUIntBE(0,1),n=We[t];if(!n)throw new Error(`Prefix for id-tag ${t} not found.`);return tn(e.slice(1,e.length),n)}function on(e){return _(e,!0)}function an(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Lt.from([]);return b()(e.toString("hex"),16).toString(10)}function sn(e){return e.map((e=>[_(e.key),nn(e.id)]))}function cn(e){return e.map((e=>{let[t,n]=e;return Object.assign({key:t.toString(),id:rn(n)})}))}function un(e){if(!e||"string"!=typeof e)throw new Error("Name must be a string");if(!e.endsWith(".chain"))throw new Error(`Name should end with .chain: ${e}`)}function ln(e){try{return un(e),!0}catch(e){return!1}}function dn(e){en(e);const t=e.substr(0,2);return de[t]||(()=>{throw new Error(`Default AENS pointer key is not defined for ${t} prefix`)})()}function hn(e){const t=e.replace(".chain","").length;return he[t>=ue?ue:t]}function pn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ae,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:se;if(Number(n)!==n||n%1==0)throw new Error(`Increment must be float. Current increment ${n}`);if(n<se)throw new Error(`minimum increment percentage is ${se}`);return Wt(b()(b()(t).eq(ae)?hn(e):t).times(b()(se).plus(1)))}function fn(e,t){return V()([[B()(5),M()(pe[4].plus(t))],[B()(9),M()(pe[8].plus(t))],[j()(le),M()(pe[12].plus(t))],[S(),M()(b()(t))]])(e.replace(".chain","").length).toString(10)}function mn(e){return e.replace(".chain","").length<13}var gn=C(3550).Buffer;const yn=m().ModeOfOperation.ecb;function wn(e){const t=p().sign.keyPair.fromSecretKey(k(e));return`ak_${En(gn.from(t.publicKey))}`}function bn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ak";if("string"!=typeof e)return!1;try{return 32===en(e,t).length}catch(e){return!1}}function vn(e){return Fn(_(e,!0))}function xn(e){return y()("sha256").update(e).digest()}function Tn(){return Math.floor(Math.random()*Math.floor(Number.MAX_SAFE_INTEGER))}function Cn(e){const t=gn.from(e),n=In(e);return gn.concat([t,n],t.length+4).toString("base64")}function In(e){return xn(xn(e)).slice(0,4)}function An(e){const t=function(e){const t=e.slice(0,-4),n=e.slice(-4),r=In(t);if(n.equals(r))return t}(gn.from(e,"base64"));if(!t)throw new Error("Invalid checksum");return gn.from(t)}function En(e){return d().encode(gn.from(e))}function _n(e){return d().decode(e)}function kn(e){const t=gn.allocUnsafe(4);return t.writeUInt32BE(e),t.slice(t.findIndex((e=>0!==e)))}function On(e,t){const n=en(e,"ak");return`ct_${En(D(gn.concat([n,kn(t)])))}`}function Sn(e){return p().sign.keyPair.fromSecretKey(e)}function Nn(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const t=p().sign.keyPair(),n=gn.from(t.publicKey),r=gn.from(t.secretKey);return e?{publicKey:n,secretKey:r}:{publicKey:`ak_${En(n)}`,secretKey:r.toString("hex")}}function jn(e,t){const n=xn(e);return new yn(n).encrypt(t)}function Pn(e,t){const n=gn.from(t),r=xn(e),o=new yn(r);return gn.from(o.decrypt(n))}function Mn(e,t){return p().sign.detached(gn.from(e),gn.from(t))}function Rn(e,t,n){return p().sign.detached.verify(new Uint8Array(e),t,n)}function Bn(e){const t=gn.from("aeternity Signed Message:\n","utf8"),n=gn.from(e,"utf8");if(n.length>=253)throw new Error("message too long");return D(gn.concat([gn.from([t.length]),t,gn.from([n.length]),n]))}function qn(e,t){return Mn(Bn(e),t)}function Vn(e,t,n){return Rn(Bn(e),t,n)}function Fn(e){return`ak_${En(gn.from(e,"hex"))}`}function $n(e,t){const n=gn.from("TheMessage");return Rn(n,Mn(n,e),t)}var Dn=C(3323),Un=C(3550).Buffer;const Hn=C(8097),Kn={crypto:{secret_type:"ed25519",symmetric_alg:"xsalsa20-poly1305",kdf:"argon2id",kdf_params:{memlimit_kib:65536,opslimit:3,parallelism:1}}},Wn={argon2id:Ln};async function Ln(e,t,n){const{memlimit_kib:r,opslimit:o}=n.kdf_params;return Hn.ready.then((async()=>{const n=Hn,a=n.crypto_pwhash(32,e,t,o,1024*r,n.crypto_pwhash_ALG_ARGON2ID13);return Un.from(a)}))}const Gn={"xsalsa20-poly1305":{encrypt:function(e){let{plaintext:t,key:n,nonce:r}=e;return p().secretbox(t,r,n)},decrypt:function(e){let{ciphertext:t,key:n,nonce:r}=e;const o=p().secretbox.open(t,r,n);if(!o)throw new Error("Invalid password or nonce");return o}}};function Qn(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Kn.crypto.symmetric_alg;if(!Gn[r])throw new Error(r+" is not available");return Gn[r].encrypt({plaintext:e,nonce:n,key:t})}async function Yn(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{kdf_params:Kn.crypto.kdf_params,kdf:Kn.crypto.kdf};if(null==e||!t)throw new Error("Must provide password and nonce to derive a key");if(!Object.prototype.hasOwnProperty.call(Wn,n.kdf))throw new Error("Unsupported kdf type");return Wn[n.kdf](e,t,n)}function zn(e,t,n,r,o){let a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};const i=Object.assign({},Kn.crypto,a);return Object.assign({name:e,version:1,public_key:Xn(n),id:(0,Dn.v4)()},{crypto:Object.assign({secret_type:i.secret_type,symmetric_alg:i.symmetric_alg,ciphertext:Un.from(Qn(Un.from(n),t,r,i.symmetric_alg)).toString("hex"),cipher_params:{nonce:Un.from(r).toString("hex")}},{kdf:i.kdf,kdf_params:{...i.kdf_params,salt:Un.from(o).toString("hex")}})})}function Xn(e){const t=p().sign.keyPair.fromSecretKey(k(e));return`ak_${En(Un.from(t.publicKey))}`}async function Jn(e,t){er(t);const n=Uint8Array.from(k(t.crypto.cipher_params.nonce)),r=Uint8Array.from(k(t.crypto.kdf_params.salt)),o=t.crypto.kdf_params,a=t.crypto.kdf,i=await function(e,t,n,r){if(!Gn[r])throw new Error(r+" is not available");return Gn[r].decrypt({ciphertext:e,nonce:n,key:t})}(Uint8Array.from(k(t.crypto.ciphertext)),await Yn(e,r,{kdf:a,kdf_params:o}),n,t.crypto.symmetric_alg);if(!i)throw new Error("Invalid password");return 64===Un.from(i).length?Un.from(i).toString("hex"):Un.from(i).toString("utf-8")}async function Zn(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:p().randomBytes(24),o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:p().randomBytes(16),a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};const i=Object.assign({},Kn.crypto,a);return zn(e,await Yn(t,o,i),n,r,o,i)}function er(e){const t=["crypto","id","version","public_key"].filter((t=>!Object.prototype.hasOwnProperty.call(e,t)));if(t.length)throw new Error(`Invalid key file format. Require properties: ${t}`);const n=["cipher_params","ciphertext","symmetric_alg","kdf","kdf_params"].filter((t=>!Object.prototype.hasOwnProperty.call(e.crypto,t)));if(n.length)throw new Error(`Invalid key file format. Require properties: ${n}`);return!0}var tr=C(2001);const nr={AE:"ae",MILI_AE:"miliAE",MICRO_AE:"microAE",NANO_AE:"nanoAE",PICO_AE:"picoAE",FEMTO_AE:"femtoAE",AETTOS:"aettos"},rr={[nr.AE]:0,[nr.MILI_AE]:-3,[nr.MICRO_AE]:-6,[nr.NANO_AE]:-9,[nr.PICO_AE]:-12,[nr.FEMTO_AE]:-15,[nr.AETTOS]:-18},or=function(e){let{denomination:t=nr.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return ir(e,{denomination:t,targetDenomination:nr.AE})},ar=function(e){let{denomination:t=nr.AE}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return ir(e,{denomination:t})},ir=function(e){let{denomination:t=nr.AETTOS,targetDenomination:n=nr.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=Object.values(nr);if(!r.includes(t))throw new Error(`Invalid denomination: ${t}`);if(!r.includes(n))throw new Error(`Invalid target denomination: ${n}`);if(!Kt(e))throw new Error(`Value ${null==e?void 0:e.toString()} is not type of number`);return new(b())(e).shiftedBy(rr[t]-rr[n]).toFixed()},sr=[{name:"exa",magnitude:18},{name:"giga",magnitude:9},{name:"",magnitude:0},{name:"pico",magnitude:-12}],cr=e=>sr.reduce(((t,n)=>Math.abs(n.magnitude-e)<Math.abs(t.magnitude-e)?n:t)),ur=e=>sr.find((t=>t.magnitude<=e))??sr[sr.length-1];var lr,dr=e=>{const t=new(b())(e),n=t.e??0,{name:r,magnitude:o}=(n<0?cr:ur)(n);return`${t.shiftedBy(-o).precision(9+Math.min(n-o,0)).toFixed()}${""!==r?" ":""}${r}`},hr=C(3550).Buffer;!function(e){e[e.Branch=0]="Branch",e[e.Extension=1]="Extension",e[e.Leaf=2]="Leaf"}(lr||(lr={}));class pr{static nodeHash(e){return hr.from(D((0,tr.encode)(e))).toString("hex")}constructor(e){if(this.rootHash=e[0].toString("hex"),this.nodes=Object.fromEntries(e[1].map((e=>[e[0].toString("hex"),e[1]]))),void 0===this.nodes[this.rootHash])throw new Error("Can't find a node by root hash");Object.entries(this.nodes).forEach((e=>{let[t,n]=e;if(pr.nodeHash(n)!==t)throw new Error("Node hash is not equal to provided one");const{type:r,payload:o}=pr.parseNode(n);switch(r){case lr.Branch:o.slice(0,16).filter((e=>e.length)).forEach((e=>{if(void 0===this.nodes[e.toString("hex")])throw new Error("Can't find a node by hash in branch node")}));break;case lr.Extension:if(void 0===this.nodes[o[0].toString("hex")])throw new Error("Can't find a node by hash in extension node")}}))}isEqual(e){return this.rootHash===e.rootHash}static parseNode(e){switch(e.length){case 17:return{type:lr.Branch,payload:e,path:null};case 2:{const t=e[0].toString("hex"),n=parseInt(t[0],16);if(n>3)throw new Error(`Unknown path nibble: ${n}`);const r=n<=1?lr.Extension:lr.Leaf,o=[0,2].includes(n)?2:1;return{type:r,payload:[e[1]],path:t.slice(o)}}default:throw new Error(`Unknown node length: ${e.length}`)}}serialize(){return[hr.from(this.rootHash,"hex"),Object.entries(this.nodes).map((e=>{let[t,n]=e;return[hr.from(t,"hex"),n]}))]}get(e){let t=this.rootHash;for(;;){const{type:n,payload:r,path:o}=pr.parseNode(this.nodes[t]);switch(n){case lr.Branch:if(0===e.length)return r[16];t=r[parseInt(e[0],16)].toString("hex"),e=e.substr(1);break;case lr.Extension:if(e.substr(0,null==o?void 0:o.length)!==o)return;t=r[0].toString("hex"),e=e.substr(o.length);break;case lr.Leaf:if(o!==e)return;return r[0]}}}}var fr=C(3550).Buffer;const mr="delta";function gr(e,t,n){if(!e)return"";switch(t){case Be.ctVersion:{const[t,,n]=e;return{vmVersion:an(fr.from([t])),abiVersion:an(fr.from([n]))}}case Be.amount:case Be.int:return an(e);case Be.id:return rn(e);case Be.ids:return e.map(rn);case Be.bool:return 1===e[0];case Be.binary:return tn(e,n);case Be.stateTree:return tn(e,"ss");case Be.string:return e.toString();case Be.payload:return tn(e,"ba");case Be.pointers:return cn(e);case Be.rlpBinary:return kr(e,!0);case Be.rlpBinaries:return e.map((e=>kr(e,!0)));case Be.rawBinary:return e;case Be.hex:return e.toString("hex");case Be.offChainUpdates:return e.map((e=>kr(e,!0)));case Be.callStack:return[an(e)];case Be.mptrees:return e.map((e=>new pr(e)));case Be.callReturnType:switch(an(e)){case"0":return"ok";case"1":return"error";case"2":return"revert";default:return e}case Be.sophiaCodeTypeInfo:return e.reduce(((e,t)=>{let[n,r,o,a]=t;return{...e,[r.toString()]:{funHash:n,argType:o,outType:a}}}),{});default:return e}}function yr(e,t,n){switch(t){case Be.amount:case Be.int:return on(e);case Be.id:return nn(e);case Be.ids:return e.map(nn);case Be.bool:return fr.from([e?1:0]);case Be.binary:return en(e,n);case Be.stateTree:return en(e,"ss");case Be.hex:return fr.from(e,"hex");case Be.signatures:return e.map(fr.from);case Be.payload:return"string"==typeof e&&"ba"===e.split("_")[0]?en(e,"ba"):_(e);case Be.string:return _(e);case Be.pointers:return sn(e);case Be.rlpBinary:return e.rlpEncoded??e;case Be.mptrees:return e.map((e=>e.serialize()));case Be.ctVersion:return fr.from([..._(e.vmVersion),0,..._(e.abiVersion)]);case Be.callReturnType:switch(e){case"ok":return on(0);case"error":return on(1);case"revert":return on(2);default:return e}default:return e}}function wr(e,t){let{denomination:n}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e=t.filter((e=>{let[t,n]=e;return n===Be.amount})).reduce(((t,r)=>{let[o]=r;return{...e,[o]:ir(e[o],{denomination:n})}}),e);const r=t.map((e=>{let[t]=e;return t}));return Object.entries(e).reduce(((e,t)=>{let[n,o]=t;return r.includes(n)&&(e[n]=o),["oracleTtl","queryTtl","responseTtl"].includes(n)&&(e[`${n}Type`]=o.type===mr?0:1,e[`${n}Value`]=o.value),e}),{})}function br(e,t){const n={[Se.oracleRegister]:"oracleTtl",[Se.oracleExtend]:"oracleTtl",[Se.oracleQuery]:"queryTtl",[Se.oracleResponse]:"responseTtl"}[t];return e[n]||e[`${n}Value`]?e[`${n}Value`]||e[n].value:1}function vr(e,t){let{gas:n=0,params:r,vsn:o}=t;const a=b()(1e9);if(!r)return b()(Fe).times(a).toString(10);let i=xr(e,{params:{...r,fee:0},multiplier:a,gas:n,vsn:o}),s=b()(0);for(;!i.eq(s);)i=xr(e,{params:{...r,fee:i},multiplier:a,gas:n,vsn:o}),s=i;return s.toString(10)}function xr(e,t){let{params:n,gas:r=0,multiplier:o,vsn:a}=t;const{rlpEncoded:i}=_r({...n},e,{vsn:a}),s=i.length;return De(e).plus(Ue(e,s,{relativeTtl:br(n,e),innerTxSize:[Se.gaMeta,Se.payingFor].includes(e)?n.tx.tx.encodedTx.rlpEncoded.length:0})).times(o)}function Tr(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1?arguments[1]:void 0,{gas:n=0,params:r,showWarning:o=!0,vsn:a}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return!r&&o&&console.warn(`Can't build transaction fee, we will use DEFAULT_FEE(${Fe})`),e||vr(t,{params:r,gas:n,vsn:a})}function Cr(e,t,n){let{excludeKeys:r=[]}=n;return t.filter((e=>{let[t]=e;return!r.includes(t)&&"payload"!==t})).reduce(((t,n)=>{let[r,o,a]=n;return Object.assign(t,function(e,t,n,r){const o=(e,r)=>e?{}:{[t]:Ge[n](r)};if(null==e)return{[t]:"Field is required"};switch(n){case Be.amount:case Be.int:{const t=(!isNaN(e)||b().isBigNumber(e))&&b()(e).lt(0);return o((!isNaN(e)||b().isBigNumber(e))&&b()(e).gte(0),{value:e,isMinusValue:t})}case Be.id:return o((Array.isArray(r)?r:[r]).find((t=>t===e.split("_")[0]))&&Ke[e.split("_")[0]],{value:e,prefix:r});case Be.binary:return o(e.split("_")[0]===r,{prefix:r,value:e});case Be.string:return o(!0);case Be.ctVersion:return o("object"==typeof e&&Object.prototype.hasOwnProperty.call(e,"abiVersion")&&Object.prototype.hasOwnProperty.call(e,"vmVersion"));case Be.pointers:return o(Array.isArray(e)&&!e.find((e=>e!==Object(e))),{value:e});default:return{}}}(e[r],r,o,a))}),{})}function Ir(e,t){let{excludeKeys:n=[],denomination:r=nr.AETTOS}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const o=t.filter((e=>{let[t]=e;return!n.includes(t)})),a=Cr(e=wr(e,o,{denomination:r}),t,{excludeKeys:n});if(Object.keys(a).length)throw new Error("Transaction build error. "+JSON.stringify(a));return o.map((t=>{let[n,r,o]=t;return yr(e[n],r,o)}))}function Ar(e,t){return t.reduce(((t,n,r)=>{let[o,a,i]=n;return Object.assign(t,{[o]:gr(e[r],a,i)})}),{})}const Er=e=>{let{vsn:t,objId:n,type:r}=e;const o=!!n,a=o?n:r,i=o?Ht:Ut;if(!i[a])throw new Error(`Transaction ${o?"deserialization":"serialization"} not implemented for ${o?"tag "+n:r}`);if(!i[a][t])throw new Error(`Transaction ${o?"deserialization":"serialization"} not implemented for ${o?"tag "+n:r} version ${t}`);return i[a][t]};function _r(e,t){let{excludeKeys:n=[],prefix:r="tx",vsn:o=U,denomination:a=nr.AETTOS}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const[i,s]=Er({type:t,vsn:o}),c=Ir({...e,VSN:o,tag:s},i,{excludeKeys:n,denomination:e.denomination||a}).filter((e=>void 0!==e)),u=(0,tr.encode)(c),l=tn(u,r);return{tx:l,rlpEncoded:u,binary:c,txObject:Ar(c,i)}}function kr(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"tx";const r=t?e:en(e,n),o=(0,tr.decode)(r),a=an(o[0]),i=an(o[1]),[s]=Er({objId:a,vsn:i});return{txType:Re[a],tx:Ar(o,s),rlpEncoded:r,binary:o}}function Or(e){return tn(D("string"==typeof e&&e.startsWith("tx_")?en(e,"tx"):e),"th")}var Sr={calculateMinFee:vr,calculateFee:Tr,unpackTx:kr,unpackRawTx:Ar,buildTx:_r,buildRawTx:Ir,validateParams:Cr,buildTxHash:Or};const Nr=["int","string","tuple","address","bool","list","map","record","option","oracle","oracleQuery","hash","signature","bytes","variant"].reduce(((e,t)=>({...e,[t]:t})),{ChainTtl:"Chain.ttl"}),jr=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return e.reduce(((e,n)=>{const[r,...o]=n.topics,a=t.find((e=>D(e.name).equals(_(r,!0))));if(!a)return e;const i=a.types.filter((e=>e===Nr.string)).length;if(i>1)throw new Error(`Event schema contains more than one string: ${a.types}`);const s=a.types.length-i;if(s!==o.length)throw new Error(`Schema defines ${s} types, but ${o.length} topics present`);return e.push({...n,name:a.name,decoded:a.types.map((e=>Pr(e===Nr.string?n.data:o.shift(),e)))}),e}),[])};function Pr(e,t){switch(t){case Nr.int:return n=e,new(b())(n.toString()).toString(10);case Nr.bool:return!!e;case Nr.hash:return _(e,!0).toString("hex");case Nr.address:return vn(e);case Nr.string:return en(e).toString("utf-8");default:return _(e,!0)}var n}var Mr=C(1001),Rr=C(2405),Br=C(8367),qr=C(3550).Buffer;const Vr=qr.from("ed25519 seed"),Fr=2147483648,$r=e=>qr.from(e).toString("hex");function Dr(e,t){const n=""===e?[]:(0,Rr.fromString)(e).toPathArray();return n.forEach(((e,t)=>{if(e<Fr)throw new Error(`Segment #${t+1} is not hardened`)})),n.reduce(((e,t)=>Lr(e,t)),t)}function Ur(e,t){if(!["m","m/"].includes(e.slice(0,2)))throw new Error("Invalid path");const n=Wr(t);return Dr(e.slice(2),n)}function Hr(e){const{secretKey:t,publicKey:n}=e;return{secretKey:$r(t),publicKey:`ak_${En(n)}`}}function Kr(e){return p().sign.keyPair.fromSeed(e)}function Wr(e){const t=(0,Mr.full)(e,Vr);return{secretKey:t.slice(0,32),chainCode:t.slice(32)}}function Lr(e,t){let{secretKey:n,chainCode:r}=e;if(t<Fr)throw new Error(`Child index #${t} is not supported`);const o=qr.allocUnsafe(4);o.writeUInt32BE(t,0);const a=qr.concat([qr.alloc(1,0),qr.from(n),qr.from(o)]),i=(0,Mr.full)(a,r);return{secretKey:i.slice(0,32),chainCode:i.slice(32)}}var Gr={getHdWalletAccountFromMnemonic:(e,t)=>({...Hr(Kr(Dr(`${t}h/0h/0h`,Ur("m/44h/457h",(0,Br.mnemonicToSeed)(e))).secretKey)),idx:t}),getSaveHDWalletAccounts:function(e,t,n){const r={secretKey:Pn(t,qr.from(e.secretKey,"hex")),chainCode:Pn(t,qr.from(e.chainCode,"hex"))};return new Array(n).fill().map(((e,t)=>Hr(Kr(Dr(`${t}h/0h/0h`,r).secretKey))))},generateSaveHDWallet:function(e,t){if(!(0,Br.validateMnemonic)(e))throw new Error("Invalid mnemonic");const n=Ur("m/44h/457h",(0,Br.mnemonicToSeed)(e));return{secretKey:$r(jn(t,n.secretKey)),chainCode:$r(jn(t,n.chainCode))}},generateMnemonic:function(){return(0,Br.generateMnemonic)()},deriveChild:Lr,getMasterKeyFromSeed:Wr},Qr=C(1031),Yr=C.n(Qr),zr=C(8081),Xr=Yr()((0,zr.required)({methods:{spendTx:zr.required,namePreclaimTx:zr.required,nameClaimTx:zr.required,nameTransferTx:zr.required,nameUpdateTx:zr.required,nameRevokeTx:zr.required,contractCreateTx:zr.required,contractCallTx:zr.required,oracleRegisterTx:zr.required,oracleExtendTx:zr.required,oraclePostQueryTx:zr.required,oracleRespondTx:zr.required,getAccountNonce:zr.required,channelCloseSoloTx:zr.required,channelSlashTx:zr.required,channelSettleTx:zr.required,channelSnapshotSoloTx:zr.required,gaAttachTx:zr.required,getVmVersion:zr.required,prepareTxParams:zr.required}})),Jr=Yr()({deepProps:{Ae:{defaults:{waitMined:!0,verify:!0}}}},(0,zr.required)({methods:{sendTransaction:zr.required,height:zr.required,awaitHeight:zr.required,topBlock:zr.required,poll:zr.required,balance:zr.required,getBalance:zr.required,tx:zr.required,getTxInfo:zr.required,mempool:zr.required,txDryRun:zr.required,getAccount:zr.required}})),Zr=C(7430),eo=C.n(Zr),to=C(7414),no=C.n(to),ro=C(5713),oo=C.n(ro),ao=C(7263),io=C.n(ao),so=C(6290),co=C.n(so);function uo(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{stamp:t,args:n,instance:r}=arguments.length>1?arguments[1]:void 0;return t.compose.deepConfiguration.AsyncInit.initializers.reduce((async(r,o)=>{if(r=await Promise.resolve(r),"function"==typeof o){const a=await Promise.resolve(o.call(r,e,{stamp:t,args:n,instance:r}));return void 0===a?r:a}return r}),r)}var lo=Yr()({deepConf:{AsyncInit:{initializers:[]}},composers(e){let{stamp:t,composables:n}=e;t.compose.deepConfiguration.AsyncInit.initializers=co()([uo],io()(oo(),no()(n.map((e=>eo()(["compose","deepConfiguration","AsyncInit","initializers"],e)||(e.compose||e).initializers||[]))))),t.compose.initializers=[uo]}}),ho=C(4021),po=C.n(ho),fo=C(6311),mo=C.n(fo),go=C(3656);const yo=C.n(go)()({storeAsString:!0}),wo=e=>{if("object"==typeof e&&null!==e&&e.constructor===Object)return Object.entries(e).map((e=>{let[t,n]=e;return[t,wo(n)]})).reduce(((e,t)=>{let[n,r]=t;return{...e,[n]:r}}),{});if(Array.isArray(e))return e.map((e=>wo(e)));if("string"==typeof e&&b()(e).toString(10)===e){const t=b()(e);return t.toJSON=()=>t.toString(10),t}return e};var bo={stringify:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return yo.stringify(wo(e),...n)},parse:yo.parse};const vo=async e=>await new Promise((t=>setTimeout(t,e))),xo=(e,t)=>Object.fromEntries(Object.entries(e).map(t)),To=(e,t)=>Object.fromEntries(Object.entries(e).filter(t)),Co=(e,t)=>"object"!=typeof t||null===t?t:Array.isArray(t)?t.map((t=>Co(e,t))):xo(t,(t=>{let[n,r]=t;return[e(n),Co(e,r)]})),Io=Co.bind(null,x),Ao=Co.bind(null,v);let Eo=!1;var _o=async function(e){let{spec:t,internalUrl:n,disableBigNumbers:r,disableCaseConversion:o,responseInterceptor:a}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t=t||await(await mo()(e)).json();const i=r?JSON:bo;(["https://compiler.aepps.com","https://latest.compiler.aepps.com"].includes(new URL(e).origin)||new URL(e).origin.includes("https://"))&&(t.schemes=["https"]);const[s,c]=await Promise.all([e,n].map((e=>e?po()({url:e,spec:t,responseInterceptor:e=>{var t;if(""===e.text||0===(null===(t=e.text)||void 0===t?void 0:t.size))return e;const n=i.parse(e.text);return Object.assign(e,{body:o?n:Ao(n)}),a&&a(e)||e}}):null))),u=[...Object.values(s.apis),xo((null==c?void 0:c.apis.internal)||{},(e=>{let[t,n]=e;return[t,function(){return Eo||(console.warn('SDK\'s wrapper of aeternity node internal API is deprecated, please use external equivalent (for example, "sdk.api.protectedDryRunTxs" instead of "sdk.api.dryRunTxs") or create a wrapper of internal API by yourself (using "genSwaggerClient")'),Eo=!0),n(...arguments)}]}))].reduce(((e,t)=>({...e,...t}))),l=Object.values(t.paths).map((e=>Object.values(e))).flat().reduce(((e,t)=>({...e,[t.operationId]:t})),{}),d=xo(u,(e=>{let[t,n]=e;return[t.slice(0,1).toLowerCase()+t.slice(1),async function(){for(var e=arguments.length,r=new Array(e),a=0;a<e;a++)r[a]=arguments[a];const s=l[t],c=[...s.parameters,...s.requestBody?[{required:s.requestBody.required,schema:Object.values(s.requestBody.content)[0].schema,name:"__requestBody"}]:[]],u=c.filter((e=>e.required)).map((e=>e.name));if(r.length<u.length)throw new Error("swagger: Not enough arguments");const d=u.reduce(((e,t,n)=>({...e,[t]:r[n]})),r[u.length]||{}),{__requestBody:h,...p}=xo(d,(e=>{let[t,n]=e;if("object"!=typeof n)return[t,n];const r=Object.keys(c.find((e=>e.name===t)).schema.properties),a=To(o?n:Io(n),(e=>{let[t]=e;return r.includes(t)}));return[t,i.stringify(a)]}));return(await n(p,{requestBody:h})).body}]}));return Object.assign(s,{api:d})};function ko(e,t,n){const r=e=>e.split(/[-+]/)[0].split(".").map((e=>+e)),o=r(e),a=r(t),i=r(n),s=Math.max(...o,...a,...i)+1,c=e=>e.reverse().reduce(((e,t,n)=>e+t*Math.pow(s,n)),0),u=c(o),l=c(a),d=c(i);return u>=l&&u<d}function Oo(){var e;let{networkId:t,force:n=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const r=t||this.networkId||(null===(e=this.selectedNode)||void 0===e?void 0:e.networkId);if(!n&&!r)throw new Error("networkId is not provided");return n&&!r?null:r}const So=lo.compose({async init(e){let{url:t,internalUrl:n,ignoreVersion:r}=e;if(!t)throw new Error('"url" required');this.url=t.replace(/\/$/,""),this.internalUrl=n?n.replace(/\/$/,""):this.url;const o=await _o(`${this.url}/api?oas3`,{internalUrl:this.internalUrl,responseInterceptor:e=>{if(!e.ok)return Object.assign(e,{statusText:`${new URL(e.url).pathname.slice(1)} error: `+e.body.reason})}});if(this.version=o.spec.info.version,!ko(this.version,No,jo)&&!r)throw new Error(`Unsupported node version ${this.version}. Supported: >= ${No} < ${jo}`);this.api=o.api;const{nodeRevision:a,genesisKeyBlockHash:i,networkId:s,protocols:c,topBlockHeight:u}=await this.api.getStatus();return this.consensusProtocolVersion=c.filter((e=>{let{effectiveAtHeight:t}=e;return u>=t})).reduce(((e,t)=>t.effectiveAtHeight>e.effectiveAtHeight?t:e),{effectiveAtHeight:-1,version:0}).version,this.nodeNetworkId=s,Object.assign(this,{revision:a,genesisHash:i})},methods:{getNodeInfo(){return{url:this.url,internalUrl:this.internalUrl,nodeNetworkId:this.nodeNetworkId,version:this.version,consensusProtocolVersion:this.consensusProtocolVersion}}},props:{version:null,consensusProtocolVersion:null,nodeNetworkId:null}}),No="6.2.0",jo="7.0.0";var Po=So,Mo=C(3550).Buffer;const Ro=e=>!["sign","address"].find((t=>"function"!=typeof e[t]));var Bo=Yr()({init(e){let{networkId:t}=e;!this.networkId&&t&&(this.networkId=t)},methods:{signTransaction:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=[this.getNetworkId(t)];t.innerTx&&n.push("inner_tx");const r=en(e,"tx"),o=Mo.concat([Mo.from(n.join("-")),D(r)]),a=[await this.sign(o,t)];return _r({encodedTx:r,signatures:a},Se.signed).tx},getNetworkId:Oo,signMessage:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{returnHex:!1};const n=await this.sign(Bn(e),t);return t.returnHex?Mo.from(n).toString("hex"):n},verifyMessage:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return Vn(e,"string"==typeof t?Mo.from(t,"hex"):t,en(await this.address(n)))}}},(0,zr.required)({methods:{sign:zr.required,address:zr.required}}));const qo=Yr()(Xr,Bo,Jr,{methods:{send:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n={...this.Ae.defaults,...t},{contractId:r,authFun:o}=t.innerTx?{contractId:!1}:await this.getAccount(await this.address(n)),a=r?await this.signUsingGA(e,{...n,authFun:o}):await this.signTransaction(e,n);return n.innerTx?{hash:Sr.buildTxHash(a),rawTx:a}:this.sendTransaction(a,n)},spend:async function(e,t,n){const r={...this.Ae.defaults,...n};return this.send(await this.spendTx({...r,senderId:await this.address(r),recipientId:await this.resolveName(t,"account_pubkey",r),amount:e}),r)},transferFunds:async function(e,t,n){if(e<0||e>1)throw new Error(`Fraction should be a number between 0 and 1, got ${e}`);const r={...this.Ae.defaults,...n},o=await this.resolveName(t,"account_pubkey",r),a=await this.address(r),i=new(b())(await this.balance(a)),s=i.times(e).integerValue(b().ROUND_HALF_UP),{tx:{fee:c}}=Sr.unpackTx(await this.spendTx({...r,senderId:a,recipientId:o,amount:s})),u=s.plus(c).gt(i)?i.minus(c):s;return this.send(await this.spendTx({...r,senderId:a,recipientId:o,amount:u}),r)},payForTransaction:async function(e,t){const n={...this.Ae.defaults,...t};return this.send(await this.payingForTx({...n,payerId:await this.address(n),tx:e}),n)},destroyInstance:function(){["destroyClient","destroyServer"].forEach((e=>this[e]&&"function"==typeof this[e]&&this[e]()))},signUsingGA:async function(e){let{authData:t,authFun:n,...r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.createMetaTx(e,t,n,r)}},deepProps:{Ae:{defaults:{denomination:nr.AETTOS}}}});var Vo=qo,Fo=C(3550).Buffer;const $o=[async(e,t)=>{let{encodedTx:n,signatures:r}=e,{account:o,node:a,parentTxTypes:i}=t;if(void 0===(n??r))return[];if(1!==r.length)return[];const s=Fo.from([a.nodeNetworkId,...i.includes(Se.payingFor)?["inner_tx"]:[]].join("-")),c=Fo.concat([s,n.rlpEncoded]),u=Fo.concat([s,D(n.rlpEncoded)]),l=en(o.id,"ak");return Rn(c,r[0],l)||Rn(u,r[0],l)?[]:[{message:"Signature cannot be verified, please ensure that you transaction have the correct prefix and the correct private key for the sender address",key:"InvalidSignature",checkedKeys:["encodedTx","signatures"]}]},async(e,t)=>{let{encodedTx:n,tx:r}=e,{node:o,parentTxTypes:a,txType:i}=t;return void 0===(n??r)?[]:Uo(tn((n??r).rlpEncoded,"tx"),o,[...a,i])},(e,t)=>{let{txType:n}=t;if(void 0===e.fee)return[];const r=Tr(0,n,{gas:+e.gas||0,params:e,showWarning:!1,vsn:e.VSN});return new(b())(r).lte(e.fee)?[]:[{message:`Fee ${e.fee} is too low, minimum fee for this transaction is ${r}`,key:"InsufficientFee",checkedKeys:["fee"]}]},(e,t)=>{let{ttl:n}=e,{height:r}=t;return void 0===n?[]:(n=+n,0===n||n>=r?[]:[{message:`TTL ${n} is already expired, current height is ${r}`,key:"ExpiredTTL",checkedKeys:["ttl"]}])},(e,t)=>{let{amount:n,fee:r,nameFee:o,tx:a}=e,{account:i,parentTxTypes:s,txType:c}=t;if(void 0===(n??r??o))return[];const u=new(b())(r).plus(o||0).plus(n||0).plus(c===Se.payingFor?a.tx.encodedTx.tx.fee:0).minus(s.includes(Se.payingFor)?r:0);return u.lte(i.balance)?[]:[{message:`Account balance ${i.balance} is not enough to execute the transaction that costs ${u.toFixed()}`,key:"InsufficientBalance",checkedKeys:["amount","fee","nameFee"]}]},(e,t)=>{let{nonce:n}=e,{account:r,parentTxTypes:o}=t;if(void 0===n||o.includes(Se.gaMeta))return[];n=+n;const a=r.nonce+1;return n===a?[]:[{...n<a?{message:`Nonce ${n} is already used, valid nonce is ${a}`,key:"NonceAlreadyUsed"}:{message:`Nonce ${n} is too high, valid nonce is ${a}`,key:"NonceHigh"},checkedKeys:["nonce"]}]},e=>{let{gasPrice:t}=e;return void 0===t||t>=J?[]:[{message:`Gas price ${t} must be bigger then ${J}`,key:"MinGasPrice",checkedKeys:["gasPrice"]}]},(e,t)=>{let{ctVersion:n,abiVersion:r}=e,{txType:o,node:a}=t;const{consensusProtocolVersion:i}=a.getNodeInfo(),s=Me[i];if(!s)throw new Error(`Unsupported protocol: ${i}`);n||(n={abiVersion:r});const c=s[o];return c&&Object.entries(n).some((e=>{let[t,n]=e;return!c[t].includes(+n)}))?[{message:`ABI/VM version ${JSON.stringify(n)} is wrong, supported is: ${JSON.stringify(c)}`,key:"VmAndAbiVersionMismatch",checkedKeys:["ctVersion","abiVersion"]}]:[]}],Do=e=>["senderId","accountId","ownerId","callerId","oracleId","fromId","initiator","gaId","payerId"].map((t=>e[t])).filter((e=>e)).map((e=>e.replace(/^ok_/,"ak_")))[0];async function Uo(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const{tx:r,txType:o}=kr(e),a=Do(r)??(o===Se.signed?Do(r.encodedTx.tx):null),[i,s]=await Promise.all([a&&t.api.getAccountByPubkey(a).catch((()=>({id:a,balance:new(b())(0),nonce:0}))),t.api.getCurrentKeyBlockHeight().then((e=>{let{height:t}=e;return t}))]);return(await Promise.all($o.map((e=>e(r,{txType:o,node:t,account:i,height:s,parentTxTypes:n}))))).flat()}var Ho=Yr()({init(){let{nodes:e=[]}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.pool=new Map,this.validateNodes(e),e.forEach(((e,t)=>{const{name:n,instance:r}=e;this.addNode(n,r,0===t)})),e.length&&this.selectNode(e[0].name)},propertyDescriptors:{api:{enumerable:!0,configurable:!1,get(){if(!this.selectedNode||!this.selectedNode.instance)throw new Error("You can't use Node API. Node is not connected or not defined!");return this.selectedNode.instance.api}}},methods:{addNode(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(this.pool.has(e))throw new Error(`Node with name ${e} already exist`);this.validateNodes([{name:e,instance:t}]),this.pool.set(e,{name:e,instance:t,url:t.url,internalUrl:t.internalUrl,networkId:t.nodeNetworkId,version:t.version,consensusProtocolVersion:t.consensusProtocolVersion}),!n&&this.selectedNode||this.selectNode(e)},selectNode(e){if(!this.pool.has(e))throw new Error(`Node with name ${e} not in pool`);this.selectedNode=this.pool.get(e)},getNetworkId:Oo,isNodeConnected(){return!!this.selectedNode.instance},getNodeInfo(){if(!this.isNodeConnected())throw new Error("Can not get node info. Node is not connected");return{name:this.selectedNode.name,...this.selectedNode.instance.getNodeInfo()}},getNodesInPool(){return Array.from(this.pool.entries()).map((e=>{let[t,n]=e;return{name:t,...n.instance.getNodeInfo()}}))},validateNodes(e){if(!Array.isArray(e))throw new Error('"nodes" should be an array');const t=e.map((e=>typeof e)).find((e=>"object"!==e));if(t)throw new Error(`Each node should be an object, got ${t} instead`);const n=e.find((e=>"string"!=typeof e.name||"object"!=typeof e.instance));if(t)throw new Error(`Each node should have name (string), instance (object) fields, got ${JSON.stringify(n)} instead`);const r=e.map((e=>e.instance)).find((e=>"object"!=typeof e.api||"string"!=typeof e.genesisHash||"number"!=typeof e.consensusProtocolVersion));if(r)throw new Error(`Each node instance should have api (object), consensusProtocolVersion (number), genesisHash (string) fields, got ${JSON.stringify(r)} instead`)}},props:{selectedNode:{}}});const Ko=Jr.compose(Ho,{methods:{sendTransaction:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{waitMined:n,verify:r}={...this.Ae.defaults,...t};if(r){const t=await Uo(e,this.selectedNode.instance);if(t.length){const n="Transaction verification errors: "+t.map((e=>e.message)).join(", ");throw Object.assign(new Error(n),{code:"TX_VERIFICATION_ERROR",validation:t,transaction:e})}}try{const{txHash:r}=await this.api.postTransaction({tx:e});if(n){const n={...await this.poll(r,t),rawTx:e};return t.confirm?{...n,confirmationHeight:await this.waitForTxConfirm(r,t)}:n}return{hash:r,rawTx:e}}catch(t){throw Object.assign(t,{rawTx:e,verifyTx:()=>Uo(e,this.selectedNode.instance)})}},balance:async function(e){let{height:t,hash:n,format:r=nr.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{balance:o}=await this.getAccount(e,{hash:n,height:t});return ir(o,{targetDenomination:r}).toString()},getBalance:async function(e){let{height:t,hash:n,format:r=nr.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{balance:o}=await this.getAccount(e,{hash:n,height:t}).catch((e=>({balance:0})));return ir(o,{targetDenomination:r}).toString()},getAccount:async function(e){let{height:t,hash:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t?this.api.getAccountByPubkeyAndHeight(e,t):n?this.api.getAccountByPubkeyAndHash(e,n):this.api.getAccountByPubkey(e)},topBlock:async function(){return this.api.getTopHeader()},tx:async function(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const n=await this.api.getTransactionByHash(e);if(["ContractCreateTx","ContractCallTx","ChannelForceProgressTx"].includes(n.tx.type)&&t&&-1!==n.blockHeight)try{return{...n,...await this.getTxInfo(e)}}catch(e){}return n},height:async function(){try{return this._heightPromise||(this._heightPromise=this.api.getCurrentKeyBlockHeight()),(await this._heightPromise).height}finally{delete this._heightPromise}},awaitHeight:async function(e){let t,{interval:n=5e3,attempts:r=20}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(let o=0;o<r;o++)if(o&&await vo(n),t=await this.height(),t>=e)return t;throw new Error(`Giving up after ${(r-1)*n}ms, current height: ${t}, desired height: ${e}`)},poll:async function(e){let{blocks:t=10,interval:n=500,allowUnsynced:r=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=await this.height()+t;do{const t=await this.tx(e).catch((e=>null));if(t&&(-1!==t.blockHeight||r&&t.height))return t;await vo(n)}while(await this.height()<o);throw new Error(`Giving up after ${t} blocks mined, transaction hash: ${e}`)},getTxInfo:async function(e){const t=await this.api.getTransactionInfoByHash(e);return t.callInfo||t},mempool:async function(){return this.api.getPendingTransactions()},getCurrentGeneration:async function(){return this.api.getCurrentGeneration()},getGeneration:async function(e){if("string"==typeof e)return this.api.getGenerationByHash(e);if("number"==typeof e)return this.api.getGenerationByHeight(e);throw new Error("Invalid param, param must be hash or height")},getMicroBlockHeader:async function(e){return this.api.getMicroBlockHeaderByHash(e)},getMicroBlockTransactions:async function(e){return(await this.api.getMicroBlockTransactionsByHash(e)).transactions},getKeyBlock:async function(e){if("string"==typeof e)return this.api.getKeyBlockByHash(e);if("number"==typeof e)return this.api.getKeyBlockByHeight(e);throw new Error("Invalid param, param must be hash or height")},txDryRun:async function(e,t,n){const{results:[{result:r,reason:o,...a}],...i}=await this.api.protectedDryRunTxs({...n,txs:[{tx:e}],accounts:[{pubKey:t,amount:ee.amount}]});if("ok"===r)return{...a,...i};throw Object.assign(new Error("Dry run error, "+o),{tx:e,accountAddress:t,options:n})},getContractByteCode:async function(e){return this.api.getContractCode(e)},getContract:async function(e){return this.api.getContract(e)},getName:async function(e){return this.api.getNameEntryByName(e)},waitForTxConfirm:async function e(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{confirm:3};n.confirm=!0===n.confirm?3:n.confirm;const{blockHeight:r}=await this.tx(t),o=await this.awaitHeight(r+n.confirm,n),{blockHeight:a}=await this.tx(t);switch(a){case-1:throw new Error(`Transaction ${t} is removed from chain`);case r:return o;default:return e(t,n)}},resolveName:async function(e,t){let{verify:n,resolveByNode:r}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!e||"string"!=typeof e)throw new Error(`Name or address should be a string: ${e}`);try{return en(e),e}catch(e){}if(ln(e)){if(n||r){const n=await this.api.getNameEntryByName(e).catch((e=>null));if(!n)throw new Error(`Name not found: ${e}`);const o=n.pointers.find((e=>e.key===t));if(!o)throw new Error(`Name ${e} don't have pointers for ${t}`);if(r)return o.id}return Jt(e)}throw new Error(`Invalid name or address: ${e}`)}}});var Wo=Ko,Lo=C(3550).Buffer;const Go=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("object"!=typeof t)throw new Error('"params" should be an object');if("string"!=typeof e||!Object.values(Se).includes(e))throw new Error(`Unknown transaction type ${e}`);const r=Tr(t.fee,e,{gas:t.gas,params:t,vsn:t.vsn}),{rlpEncoded:o,binary:a,tx:i,txObject:s}=_r({...t,fee:r},e,{vsn:t.vsn,...n});return{rlpEncoded:o,binary:a,encodedTx:i,params:s,type:e}},Qo=e=>{if(!e)throw new Error(`Invalid transaction: ${e}`);if("string"==typeof e){const{txType:t,tx:n,rlpEncoded:r,binary:o}=kr(e);return{encodedTx:e,type:t,params:n,rlpEncoded:r,binary:o}}if(Lo.isBuffer(e)){const{txType:t,tx:n,rlpEncoded:r,binary:o}=kr(e,!0);return{encodedTx:tn(e,"tx"),type:t,params:n,rlpEncoded:r,binary:o}}},Yo=Yr()({init(){let{tx:e,params:t,type:n,options:r={}}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.options=r,this.signatures=[],Object.assign(this,function(){let{tx:e,params:t,type:n,options:r={}}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(t&&n)return Go(n,t,r);if(e)return Qo(e);throw new Error('Invalid TxObject arguments. Please provide one of { tx: "tx_asdasd23..." } or { type: "spendTx", params: {...} }')}({tx:e,params:t,type:n,options:r})),this.type===Se.signed){const{signatures:e,encodedTx:{txType:t,tx:n}}=this.params;this.signatures=e,this.params=n,this.type=t,this.isSigned=!0}},statics:{fromString:e=>Yo({tx:e}),fromRlp:e=>Yo({tx:e})},methods:{setProp(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("object"!=typeof e)throw new Error("Props should be an object");return this.isSigned=!1,this.signatures=[],Object.assign(this,Go(this.type,{...this.params,...e,fee:null},{...this.options,...t})),this},getSignatures(){if(!this.isSigned)throw new Error("Signature not found, transaction is not signed");return this.signatures},addSignature(e){if(e=T(e)?Lo.from(e,"hex"):e,!(Lo.isBuffer(e)||e instanceof Uint8Array))throw new Error("Invalid signature, signature must be of type Buffer or Uint8Array");Object.assign(this,Go(Se.signed,{encodedTx:this.rlpEncoded,signatures:[[...this.signatures,e]]}));const{signatures:t,encodedTx:{txType:n,tx:r}}=this.params;this.signatures=t,this.params=r,this.type=n,this.isSigned=!0},calculateMinFee(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t={...this.params,...e};return Tr(0,this.type,{gas:t.gas,params:t,vsn:t.vsn})}}});var zo=Yo;async function Xo(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:K,t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(0===e)return 0;if(e<0)throw new Error("ttl must be greater than 0");if(t){const{height:t}=await this.api.getCurrentKeyBlock();return+t+e}return e}const Jo=Wo.compose(Xr,{init(e){let{nativeMode:t=!0,showWarning:n=!1}=e;this.nativeMode=t,this.showWarning=n},props:{nativeMode:!0,showWarning:!1},methods:{spendTx:async function(e){let{senderId:t,recipientId:n,amount:r,payload:o=""}=e;const{fee:a,ttl:i,nonce:s}=await this.prepareTxParams(Se.spend,{senderId:t,...arguments[0],payload:o}),{tx:c}=this.nativeMode?{tx:Yo({params:{...arguments[0],recipientId:n,senderId:t,nonce:s,ttl:i,payload:o},type:Se.spend}).encodedTx}:await this.api.postSpend({...arguments[0],amount:parseInt(r),recipientId:n,senderId:t,nonce:s,ttl:i,fee:parseInt(a),payload:o});return c},namePreclaimTx:async function(e){let{accountId:t,commitmentId:n}=e;const{fee:r,ttl:o,nonce:a}=await this.prepareTxParams(Se.namePreClaim,{senderId:t,...arguments[0]}),{tx:i}=this.nativeMode?{tx:Yo({params:{...arguments[0],nonce:a,ttl:o,fee:r},type:Se.namePreClaim}).encodedTx}:await this.api.postNamePreclaim({...arguments[0],nonce:a,ttl:o,fee:parseInt(r)});return i},nameClaimTx:async function(e){let{accountId:t,name:n,nameSalt:r,vsn:o=2}=e;const{fee:a,ttl:i,nonce:s}=await this.prepareTxParams(Se.nameClaim,{senderId:t,...arguments[0],vsn:o}),{tx:c}=this.nativeMode?{tx:Yo({params:{...arguments[0],nonce:s,ttl:i,fee:a,vsn:o},type:Se.nameClaim}).encodedTx}:await this.api.postNameClaim({...arguments[0],nonce:s,ttl:i,fee:parseInt(a)});return c},nameTransferTx:async function(e){let{accountId:t,nameId:n,recipientId:r}=e;const{fee:o,ttl:a,nonce:i}=await this.prepareTxParams(Se.nameTransfer,{senderId:t,...arguments[0]}),{tx:s}=this.nativeMode?{tx:Yo({params:{...arguments[0],recipientId:r,nonce:i,ttl:a,fee:o},type:Se.nameTransfer}).encodedTx}:await this.api.postNameTransfer({...arguments[0],recipientId:r,nonce:i,ttl:a,fee:parseInt(o)});return s},nameUpdateTx:async function(e){let{accountId:t,nameId:n,nameTtl:r,pointers:o,clientTtl:a}=e;const{fee:i,ttl:s,nonce:c}=await this.prepareTxParams(Se.nameUpdate,{senderId:t,...arguments[0]}),{tx:u}=this.nativeMode?{tx:Yo({params:{...arguments[0],nonce:c,ttl:s,fee:i},type:Se.nameUpdate}).encodedTx}:await this.api.postNameUpdate({...arguments[0],nonce:c,ttl:s,fee:parseInt(i)});return u},nameRevokeTx:async function(e){let{accountId:t,nameId:n}=e;const{fee:r,ttl:o,nonce:a}=await this.prepareTxParams(Se.nameRevoke,{senderId:t,...arguments[0]}),{tx:i}=this.nativeMode?{tx:Yo({params:{...arguments[0],nonce:a,ttl:o,fee:r},type:Se.nameRevoke}).encodedTx}:await this.api.postNameRevoke({...arguments[0],nonce:a,ttl:o,fee:parseInt(r)});return i},contractCreateTx:async function(e){let{ownerId:t,code:n,vmVersion:r,abiVersion:o,deposit:a,amount:i,gas:s,gasPrice:c=J,callData:u}=e;const l=this.getVmVersion(Se.contractCreate,arguments[0]),{fee:d,ttl:h,nonce:p}=await this.prepareTxParams(Se.contractCreate,{senderId:t,...arguments[0],ctVersion:l,gasPrice:c});return this.nativeMode?{tx:Yo({params:{...arguments[0],nonce:p,ttl:h,fee:d,ctVersion:l,gasPrice:c},type:Se.contractCreate}).encodedTx,contractId:Yt(t,p)}:this.api.postContractCreate({...arguments[0],nonce:p,ttl:h,fee:parseInt(d),gas:parseInt(s),gasPrice:c,vmVersion:l.vmVersion,abiVersion:l.abiVersion})},contractCallTx:async function(e){let{callerId:t,contractId:n,abiVersion:r,amount:o,gas:a,gasPrice:i=J,callData:s}=e;const c=this.getVmVersion(Se.contractCall,arguments[0]),{fee:u,ttl:l,nonce:d}=await this.prepareTxParams(Se.contractCall,{senderId:t,...arguments[0],gasPrice:i,abiVersion:c.abiVersion}),{tx:h}=this.nativeMode?{tx:Yo({params:{...arguments[0],nonce:d,ttl:l,fee:u,abiVersion:c.abiVersion,gasPrice:i},type:Se.contractCall}).encodedTx}:await this.api.postContractCall({...arguments[0],nonce:d,ttl:l,fee:parseInt(u),gas:parseInt(a),gasPrice:i,abiVersion:c.abiVersion});return h},prepareTxParams:async function(e,t){let{senderId:n,nonce:r,ttl:o,fee:a,gas:i,absoluteTtl:s,vsn:c,strategy:u}=t;r=r||(await this.api.getAccountNextNonce(n,{strategy:u}).catch((e=>({nextNonce:1})))).nextNonce;const l=await Xo.call(this,o,!s),d=Tr(a,e,{showWarning:this.showWarning,gas:i,params:{...arguments[1],nonce:r,ttl:l},vsn:c});return{fee:d,ttl:l,nonce:r}},oracleRegisterTx:async function(e){let{accountId:t,queryFormat:n,responseFormat:r,queryFee:o,oracleTtl:a,abiVersion:i=je.NO_ABI}=e;const{fee:s,ttl:c,nonce:u}=await this.prepareTxParams(Se.oracleRegister,{senderId:t,...arguments[0],abiVersion:i}),{tx:l}=this.nativeMode?{tx:Yo({params:{accountId:t,queryFee:o,abiVersion:i,fee:s,oracleTtl:a,nonce:u,ttl:c,queryFormat:n,responseFormat:r},type:Se.oracleRegister}).encodedTx}:await this.api.postOracleRegister({accountId:t,queryFee:o,abiVersion:i,fee:parseInt(s),oracleTtl:a,nonce:u,ttl:c,queryFormat:n,responseFormat:r});return l},oracleExtendTx:async function(e){let{oracleId:t,callerId:n,oracleTtl:r}=e;const{fee:o,ttl:a,nonce:i}=await this.prepareTxParams(Se.oracleExtend,{senderId:n,...arguments[0]}),{tx:s}=this.nativeMode?{tx:Yo({params:{oracleId:t,fee:o,oracleTtl:r,nonce:i,ttl:a},type:Se.oracleExtend}).encodedTx}:await this.api.postOracleExtend({oracleId:t,fee:parseInt(o),oracleTtl:r,nonce:i,ttl:a});return s},oraclePostQueryTx:async function(e){let{oracleId:t,responseTtl:n,query:r,queryTtl:o,queryFee:a,senderId:i}=e;const{fee:s,ttl:c,nonce:u}=await this.prepareTxParams(Se.oracleQuery,{senderId:i,...arguments[0]}),{tx:l}=this.nativeMode?{tx:Yo({params:{oracleId:t,responseTtl:n,query:r,queryTtl:o,fee:s,queryFee:a,ttl:c,nonce:u,senderId:i},type:Se.oracleQuery}).encodedTx}:await this.api.postOracleQuery({oracleId:t,responseTtl:n,query:r,queryTtl:o,fee:parseInt(s),queryFee:a,ttl:c,nonce:u,senderId:i});return l},oracleRespondTx:async function(e){let{oracleId:t,callerId:n,responseTtl:r,queryId:o,response:a}=e;const{fee:i,ttl:s,nonce:c}=await this.prepareTxParams(Se.oracleResponse,{senderId:n,...arguments[0]}),{tx:u}=this.nativeMode?{tx:Yo({params:{oracleId:t,responseTtl:r,queryId:o,response:a,fee:i,ttl:s,nonce:c},type:Se.oracleResponse}).encodedTx}:await this.api.postOracleRespond({oracleId:t,responseTtl:r,queryId:o,response:a,fee:parseInt(i),ttl:s,nonce:c});return u},channelCloseSoloTx:async function(e){let{channelId:t,fromId:n,payload:r,poi:o}=e;const{fee:a,ttl:i,nonce:s}=await this.prepareTxParams(Se.channelCloseSolo,{senderId:n,...arguments[0],payload:r}),{tx:c}=this.nativeMode?_r({...arguments[0],channelId:t,fromId:n,payload:r,poi:o,ttl:i,fee:a,nonce:s},Se.channelCloseSolo):await this.api.postChannelCloseSolo({...arguments[0],channelId:t,fromId:n,payload:r,poi:o,ttl:i,fee:parseInt(a),nonce:s});return c},channelSlashTx:async function(e){let{channelId:t,fromId:n,payload:r,poi:o}=e;const{fee:a,ttl:i,nonce:s}=await this.prepareTxParams(Se.channelSlash,{senderId:n,...arguments[0],payload:r}),{tx:c}=this.nativeMode?_r({...arguments[0],channelId:t,fromId:n,payload:r,poi:o,ttl:i,fee:a,nonce:s},Se.channelSlash):await this.api.postChannelSlash({...arguments[0],channelId:t,fromId:n,payload:r,poi:o,ttl:i,fee:parseInt(a),nonce:s});return c},channelSettleTx:async function(e){let{channelId:t,fromId:n,initiatorAmountFinal:r,responderAmountFinal:o}=e;const{fee:a,ttl:i,nonce:s}=await this.prepareTxParams(Se.channelSettle,{senderId:n,...arguments[0]}),{tx:c}=this.nativeMode?_r({...arguments[0],channelId:t,fromId:n,initiatorAmountFinal:r,responderAmountFinal:o,ttl:i,fee:a,nonce:s},Se.channelSettle):await this.api.postChannelSettle({...arguments[0],channelId:t,fromId:n,initiatorAmountFinal:parseInt(r),responderAmountFinal:parseInt(o),ttl:i,fee:parseInt(a),nonce:s});return c},channelSnapshotSoloTx:async function(e){let{channelId:t,fromId:n,payload:r}=e;const{fee:o,ttl:a,nonce:i}=await this.prepareTxParams(Se.channelSnapshotSolo,{senderId:n,...arguments[0],payload:r}),{tx:s}=this.nativeMode?_r({...arguments[0],channelId:t,fromId:n,payload:r,ttl:a,fee:o,nonce:i},Se.channelSnapshotSolo):await this.api.postChannelSnapshotSolo({...arguments[0],channelId:t,fromId:n,payload:r,ttl:a,fee:parseInt(o),nonce:i});return s},gaAttachTx:async function(e){let{ownerId:t,code:n,vmVersion:r,abiVersion:o,authFun:a,gas:i,gasPrice:s=J,callData:c}=e;const u=this.getVmVersion(Se.contractCreate,arguments[0]),{fee:l,ttl:d,nonce:h}=await this.prepareTxParams(Se.gaAttach,{senderId:t,...arguments[0],ctVersion:u,gasPrice:s});return{tx:Yo({params:{...arguments[0],nonce:h,ttl:d,fee:l,ctVersion:u,gasPrice:s},type:Se.gaAttach}).encodedTx,contractId:Yt(t,h)}},payingForTx:async function(e){let{tx:t,payerId:n,...r}=e;const o={tx:kr(t),payerId:n},{fee:a,nonce:i}=await this.prepareTxParams(Se.payingFor,{...o,...r,senderId:n});return _r({...o,...r,fee:a,nonce:i},Se.payingFor).tx},getAccountNonce:async function(e,t){if(t)return t;const{nonce:n}=await this.api.getAccountByPubkey(e).catch((()=>({nonce:0})));return n+1},getVmVersion:function(e){let{vmVersion:t,abiVersion:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{consensusProtocolVersion:r}=this.getNodeInfo(),o=Me[r];if(!o)throw new Error("Not supported consensus protocol version");const a=o[e];if(!a)throw new Error("Not supported tx type");if(n=n||a.abiVersion[0],t=t||a.vmVersion[0],!a.vmVersion.includes(t))throw new Error(`VM VERSION ${t} do not support by this node. Supported: [${a.vmVersion}]`);if(!a.abiVersion.includes(n))throw new Error(`ABI VERSION ${n} do not support by this node. Supported: [${a.abiVersion}]`);return{vmVersion:t,abiVersion:n}}}});var Zo=Jo,ea=C(3550).Buffer;const ta=new WeakMap;var na=Bo.compose({init(e){let{keypair:t,gaId:n}=e;if(this.isGa=!!n,n){if(!bn(n))throw new Error("Invalid GA address");return void ta.set(this,{publicKey:n})}if(!t||"object"!=typeof t)throw new Error("KeyPair must be an object");if(!t.secretKey||!t.publicKey)throw new Error('KeyPair must must have "secretKey", "publicKey" properties');if("string"!=typeof t.publicKey||-1===t.publicKey.indexOf("ak_"))throw new Error('Public Key must be a base58c string with "ak_" prefix');if(!ea.isBuffer(t.secretKey)&&"string"==typeof t.secretKey&&!T(t.secretKey))throw new Error("Secret key must be hex string or Buffer");const r=ea.from(en(t.publicKey,"ak"));if(!$n(ea.from(t.secretKey,"hex"),r))throw new Error("Invalid Key Pair");ta.set(this,{secretKey:ea.isBuffer(t.secretKey)?t.secretKey:ea.from(t.secretKey,"hex"),publicKey:t.publicKey})},props:{isGa:!1},methods:{sign(e){if(this.isGa)throw new Error("You are trying to sign data using GA account without keypair");return Promise.resolve(Mn(e,ta.get(this).secretKey))},address(){return Promise.resolve(ta.get(this).publicKey)}}}),ra=Bo.compose(lo,{async init(e){let{accounts:t=[],address:n}=e;this.accounts=Object.fromEntries(await Promise.all(t.map((async e=>[await e.address(),e])))),n=n||Object.keys(this.accounts)[0],n&&this.selectAccount(n)},props:{accounts:{}},deepProps:{selectedAddress:null},methods:{async address(){let{onAccount:e=this.selectedAddress}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._resolveAccount(e).address()},async sign(e){let{onAccount:t=this.selectedAddress}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this._resolveAccount(t).sign(e)},addresses(){return Object.keys(this.accounts)},async addAccount(e){let{select:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=await e.address();this.accounts[n]=e,t&&this.selectAccount(n)},removeAccount(e){this.accounts[e]?(delete this.accounts[e],this.selectedAddress===e&&(this.selectedAddress=null)):console.warn(`removeAccount: Account for ${e} not available`)},selectAccount(e){if(en(e,"ak"),!this.accounts[e])throw new Error(`Account for ${e} not available`);this.selectedAddress=e},_resolveAccount(e){if(null===e)throw new Error("No account or wallet configured");switch(typeof e){case"string":if(en(e,"ak"),!this.accounts[e])throw new Error(`Account for ${e} not available`);return this.accounts[e];case"object":return Ro(e)?e:na({keypair:e});default:throw new Error(`Unknown account type: ${typeof e} (account: ${e})`)}}}});const oa=Vo.compose({methods:{aensQuery:async function(e){var t=this;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};un(e);const r=await this.getName(e);return Object.freeze(Object.assign(r,{pointers:r.pointers||[],update:async function(r){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{...await t.aensUpdate(e,r,{...n,...o}),...await t.aensQuery(e)}},transfer:async function(r){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{...await t.aensTransfer(e,r,{...n,...o}),...await t.aensQuery(e)}},revoke:async function(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return t.aensRevoke(e,{...n,...r})},extendTtl:async function(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:te,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!r||"number"!=typeof r||r>te)throw new Error("Ttl must be an number and less then 180000 blocks");return{...await t.aensUpdate(e,{},{...n,...o,nameTtl:r,extendPointers:!0}),...await t.aensQuery(e)}}}))},aensPreclaim:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};un(e);const n={...this.Ae.defaults,...t},r=Tn(),o=await this.height(),a=Zt(e,r),i=await this.namePreclaimTx({...n,accountId:await this.address(n),commitmentId:a}),s=await this.send(i,n);return Object.freeze({...s,height:o,claim:t=>this.aensClaim(e,r,{...t,onAccount:n.onAccount}),salt:r,commitmentId:a})},aensClaim:async function(e,t,n){un(e);const r={...this.Ae.defaults,...n},o=hn(e);if(r.nameFee!==this.Ae.defaults.nameFee&&o.gt(r.nameFee))throw new Error(`the provided fee ${r.nameFee} is not enough to execute the claim, required: ${o}`);r.nameFee=r.nameFee!==this.Ae.defaults.nameFee?r.nameFee:o;const a=await this.nameClaimTx({...r,accountId:await this.address(r),nameSalt:t,name:tn(e,"nm")}),i=await this.send(a,r);if(!mn(e)){const t=r.waitMined?await this.aensQuery(e,r):{};return Object.assign(i,t)}return{...i,nameFee:r.nameFee}},aensUpdate:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};un(e);const r={...this.Ae.defaults,...n},o={...n.extendPointers&&Object.fromEntries((await this.getName(e)).pointers.map((e=>{let{key:t,id:n}=e;return[t,n]}))),...t},a=await this.nameUpdateTx({...r,nameId:Jt(e),accountId:await this.address(r),pointers:Object.entries(o).map((e=>{let[t,n]=e;return{key:t,id:n}}))});return this.send(a,r)},aensTransfer:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};un(e);const r={...this.Ae.defaults,...n},o=await this.nameTransferTx({...r,nameId:Jt(e),accountId:await this.address(r),recipientId:t});return this.send(o,r)},aensRevoke:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};un(e);const n={...this.Ae.defaults,...t},r=await this.nameRevokeTx({...n,nameId:Jt(e),accountId:await this.address(n)});return this.send(r,n)},aensBid:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ae,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.aensClaim(e,0,{...n,nameFee:t,vsn:2})}},deepProps:{Ae:{defaults:{clientTtl:oe,nameTtl:te,nameFee:ae}}}});var aa=oa,ia=Yr()((0,zr.required)({methods:{contractEncodeCallDataAPI:zr.required,compileContractAPI:zr.required,contractGetACI:zr.required,setCompilerUrl:zr.required,getCompilerVersion:zr.required,contractDecodeCallResultAPI:zr.required,validateByteCodeAPI:zr.required,getFateAssembler:zr.required,getBytecodeCompilerVersion:zr.required}})),sa=lo.compose(ia,{async init(e){let{compilerUrl:t,ignoreVersion:n}=e;t&&await this.setCompilerUrl(t,{ignoreVersion:n})},methods:{async setCompilerUrl(e){let{ignoreVersion:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)throw new Error('"compilerUrl" required');e=e.replace(/\/$/,"");const n=await _o(`${e}/api`,{disableBigNumbers:!0,disableCaseConversion:!0,responseInterceptor:e=>{if(e.ok)return;let t=`${new URL(e.url).pathname.slice(1)} error`;return e.body.reason&&(t+=": "+e.body.reason+(e.body.parameter?` in ${e.body.parameter}`:"")+(e.body.info?` (${JSON.stringify(e.body.info)})`:"")),Array.isArray(e.body)&&(t+=":\n"+e.body.map((e=>`${e.type}:${e.pos.line}:${e.pos.col}: ${e.message}${e.context?`(${e.context})`:""}`)).map((e=>e.trim())).join("\n")),e.statusText=t,e}});if(this.compilerVersion=n.spec.info.version,this._compilerApi=n.api,!t&&!ko(this.compilerVersion,ca,ua))throw new Error(`Unsupported compiler version ${this.compilerVersion}. Supported: >= ${ca} < ${ua}`)},_ensureCompilerReady(){if(!this._compilerApi)throw new Error("Compiler is not ready")},_prepareCompilerOptions(){let{filesystem:e={}}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{file_system:e}},getCompilerVersion(){return this._ensureCompilerReady(),Promise.resolve(this.compilerVersion)},async contractEncodeCallDataAPI(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=arguments.length>3?arguments[3]:void 0;this._ensureCompilerReady();const{calldata:o}=await this._compilerApi.encodeCalldata({source:e,function:t,arguments:n,options:this._prepareCompilerOptions(r)});return o},async compileContractAPI(e,t){this._ensureCompilerReady();const{bytecode:n}=await this._compilerApi.compileContract({code:e,options:this._prepareCompilerOptions(t)});return n},contractGetACI(e,t){return this._ensureCompilerReady(),this._compilerApi.generateACI({code:e,options:this._prepareCompilerOptions(t)})},contractDecodeCallDataByCodeAPI(e,t){return this._ensureCompilerReady(),this._compilerApi.decodeCalldataBytecode({bytecode:e,calldata:t})},contractDecodeCallDataBySourceAPI(e,t,n,r){return this._ensureCompilerReady(),this._compilerApi.decodeCalldataSource({function:t,source:e,calldata:n,options:this._prepareCompilerOptions(r)})},contractDecodeCallResultAPI(e,t,n,r,o){return this._ensureCompilerReady(),this._compilerApi.decodeCallResult({function:t,source:e,"call-result":r,"call-value":n,options:this._prepareCompilerOptions(o)})},async validateByteCodeAPI(e,t,n){this._ensureCompilerReady();const r=await this._compilerApi.validateByteCode({bytecode:e,source:t,options:this._prepareCompilerOptions(n)});return"object"==typeof r||r},getFateAssembler(e,t){return this._ensureCompilerReady(),this._compilerApi.getFateAssemblerCode({bytecode:e,options:this._prepareCompilerOptions(t)})},getBytecodeCompilerVersion(e,t){return this._ensureCompilerReady(),this._compilerApi.getCompilerVersion({bytecode:e,options:this._prepareCompilerOptions(t)})}},props:{compilerVersion:null}});const ca="6.0.0",ua="7.0.0";var la=C(2478),da=C.n(la),ha=C(2892),pa=C.n(ha),fa=C(5206),ma=C.n(fa),ga=C(590);function ya(e,t,n){const r=e.functions.find((e=>e.name===t));if(!r&&"init"!==t)throw new Error(`Function ${t} doesn't exist in contract`);return{...r,bindings:[{state:e.state,type_defs:e.type_defs,name:e.name},...n.map(ma()(["state","type_defs","name"]))],event:e.event?e.event.variant:[]}}var wa=C(3550).Buffer;const ba=Vo.compose(ia,{methods:{getContractInstance:async function(){var e=this;let{source:t,bytecode:n,aci:r,contractAddress:o,filesystem:a={},validateBytecode:i,...s}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(r=r||t&&await this.contractGetACI(t,{filesystem:a}),!r)throw new Error("Either ACI or source code is required");if(o=o&&await this.resolveName(o,"contract_pubkey",{resolveByNode:!0}),!o&&!t&&!n)throw new Error("Can't create instance by ACI without address");if(o){const e=await this.getContract(o).catch((()=>null));if(!e)throw new Error(`Contract with address ${o} not found on-chain`);if(!e.active)throw new Error(`Contract with address ${o} not active`)}const c={interface:pa()(null,da()("interface",r)),aci:pa()(null,eo()(["encoded_aci","contract"],r)),calldata:new ga.Encoder([r.encoded_aci,...r.external_encoded_aci]),externalAci:(r.external_encoded_aci??[]).map((e=>e.contract||e.namespace)),source:t,bytecode:n,deployInfo:{address:o},options:{...this.Ae.defaults,callStatic:!1,filesystem:a,...s},compilerVersion:this.compilerVersion};if(i){if(!o)throw new Error("Can't validate bytecode without contract address");const e=(await this.getContractByteCode(o)).bytecode;if(!(t&&await this.validateByteCodeAPI(e,t,c.options).catch((()=>!1))||n===e))throw new Error(`Contract ${t?"source":"bytecode"} do not correspond to the bytecode deployed on the chain`)}c.compile=async function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(c.bytecode)throw new Error("Contract already compiled");if(!c.source)throw new Error("Can't compile without source code");const{bytecode:n}=await e.contractCompile(c.source,{...c.options,...t});return c.bytecode=n,c.bytecode};const u=async(e,t)=>{const n=await this.send(e,t),r={hash:n.hash,tx:zo({tx:n.rawTx}),txData:n,rawTx:n.rawTx};if(!1===t.waitMined)return r;const o=await this.getTxInfo(n.hash);return await l(o),{...r,result:o}},l=e=>{let t,{returnType:n,returnValue:r}=e;switch(n){case"ok":return;case"revert":t=c.calldata.decodeFateString(r);break;case"error":t=en(r).toString();break;default:throw new Error(`Unknown returnType: ${n}`)}throw new Error("Invocation failed"+(t?`: "${t}"`:""))};return c.deploy=async function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1?arguments[1]:void 0;const r={...c.options,...n,deposit:Y};if(c.bytecode||await c.compile(r),r.callStatic)return c.call("init",t,r);if(c.deployInfo.address)throw new Error("Contract already deployed");const o=await e.address(r),{tx:a,contractId:i}=await e.contractCreateTx({...r,callData:c.calldata.encode(c.aci.name,"init",t),code:c.bytecode,ownerId:o}),{hash:s,rawTx:l,result:d,txData:h}=await u(a,r);return c.deployInfo=Object.freeze({result:d,owner:o,transaction:s,rawTx:l,txData:h,address:i,call:(t,n,o)=>e.contractCall(c.source,i,t,n,{...r,...o}),callStatic:(t,n,o)=>e.contractCallStatic(c.source,i,t,n,{...r,...o}),createdAt:new Date}),c.deployInfo},c.call=async function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const o={...c.options,...r},a=ya(c.aci,t,c.externalAci),i=c.deployInfo.address;if(!t)throw new Error("Function name is required");if("init"===t&&!o.callStatic)throw new Error('"init" can be called only via dryRun');if(!i&&"init"!==t)throw new Error("You need to deploy contract before calling!");if(b()(o.amount).gt(0)&&Object.prototype.hasOwnProperty.call(a,"payable")&&!a.payable)throw new Error(`You try to pay "${o.amount}" to function "${t}" which is not payable. Only payable function can accept tokens`);const s=await e.address(o).catch((e=>{if(o.callStatic)return ee.pub;throw e})),d=c.calldata.encode(c.aci.name,t,n);let h;if(o.callStatic){"number"==typeof o.top&&(o.top=(await e.getKeyBlock(o.top)).hash);const n={...o,callData:d,nonce:o.top&&(await e.getAccount(s,{hash:o.top})).nonce+1},r="init"===t?(await e.contractCreateTx({...n,code:c.bytecode,ownerId:s})).tx:await e.contractCallTx({...n,callerId:s,contractId:i}),{callObj:a,...u}=await e.txDryRun(r,s,o);await l(a),h={...u,tx:zo({tx:r}),result:a}}else{const t=await e.contractCallTx({...o,callerId:s,contractId:i,callData:d});h=await u(t,o)}return(o.waitMined||o.callStatic)&&(h.decodedResult=a.returns&&"unit"!==a.returns&&"init"!==t&&c.calldata.decode(c.aci.name,t,h.result.returnValue),h.decodedEvents=c.decodeEvents(h.result.log)),h},c.decodeEvents=e=>{const t=(c.aci.event?c.aci.event.variant:[]).map((e=>{const t=Object.keys(e)[0];return{name:t,types:e[t]}}));return jr(e,t)},c.methods=Object.fromEntries(c.aci.functions.map((e=>{let{name:t,arguments:n,stateful:r}=e;const o=e=>function(){for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];const i=o.length===n.length+1?o.pop():{};if("object"!=typeof i)throw new Error(`Options should be an object: ${i}`);return"init"===t?c.deploy(o,{callStatic:e,...i}):c.call(t,o,{callStatic:e,...i})};return[t,Object.assign(o("init"!==t&&!r),{get:o(!0),send:o(!1),decodeEvents:e=>c.decodeEvents(e)})]}))),c},contractCompile:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n={...this.Ae.defaults,...t},r=await this.compileContractAPI(e,t);return Object.freeze({encodeCall:(t,r)=>this.contractEncodeCallDataAPI(e,t,r,n),deploy:(t,o)=>this.contractDeploy(r,e,t,{...n,...o}),deployStatic:(t,o)=>this.contractCallStatic(e,null,"init",t,{...n,...o,bytecode:r}),bytecode:r})},contractCallStatic:async function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],o=arguments.length>4?arguments[4]:void 0;const a=await this.getContractInstance({...o,source:e,contractAddress:t});return a.call(n,r,{...o,callStatic:!0})},contractDeploy:async function(e,t,n,r){const o=await this.getContractInstance({...r,source:t});return o.bytecode=e,o.deploy(n,r)},contractCall:async function(e,t,n,r,o){return(await this.getContractInstance({...o,source:e,contractAddress:t})).call(n,r,o)},delegateSignatureCommon:async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=await this.sign(wa.concat([wa.from(this.getNetworkId(t)),...Object.prototype.hasOwnProperty.call(t,"onAccount")?[en(await this.address(t))]:[],...e.map((e=>en(e)))]),t);return wa.from(n).toString("hex")},createAensDelegationSignature:async function(e){let{contractId:t,name:n}=e,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.delegateSignatureCommon([...n?[Jt(n)]:[],t],r)},createOracleDelegationSignature:async function(e){let{contractId:t,queryId:n}=e,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.delegateSignatureCommon([...n?[n]:[],t],r)}},deepProps:{Ae:{defaults:{deposit:Y,gasPrice:J,amount:z,gas:X}}}}),va=ba.compose(Ho).compose(sa);var xa=va;const Ta=e=>async(t,n)=>{if("object"!=typeof t)throw new Error("AuthData must be an object");if(t.gas&&b()(t.gas).gt(Z))throw new Error(`the maximum gas value for ga authFun is ${Z}, got ${t.gas}`);const r=t.gas||Z;if(t.callData){if("cb"!==t.callData.split("_")[0])throw new Error('Auth data must be a string with "cb" prefix.');return{authCallData:t.callData,gas:r}}if(!t.source||!t.args)throw new Error("Auth data must contain source code and arguments.");return{authCallData:await e.contractEncodeCallDataAPI(t.source,n,t.args),gas:r}},Ca=ba.compose({methods:{createGeneralizeAccount:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const o={...this.Ae.defaults,...r},a=await this.address(o);if(await this.isGA(a))throw new Error(`Account ${a} is already GA`);const{tx:i,contractId:s}=await this.gaAttachTx({...o,ownerId:a,code:(await this.contractCompile(t)).bytecode,callData:await this.contractEncodeCallDataAPI(t,"init",n),authFun:D(e)}),{hash:c,rawTx:u}=await this.send(i,o);return Object.freeze({owner:a,transaction:c,rawTx:u,gaContractId:s})},createMetaTx:async function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(!t)throw new Error("authData is required");const{authCallData:o,gas:a}=await Ta(this)(t,n),i={...this.Ae.defaults,...r},{abiVersion:s}=await this.getVmVersion(Se.contractCall),c=Aa(kr(e)),u={...i,tx:{...c,tx:c.txObject},gaId:await this.address(i),abiVersion:s,authData:o,gas:a,vsn:2},{fee:l}=await this.prepareTxParams(Se.gaMeta,u),{rlpEncoded:d}=_r({...u,fee:`${l}`},Se.gaMeta,{vsn:2});return Aa(d).tx},isGA:async function(e){const{contractId:t}=await this.getAccount(e);return!!t}}});var Ia=Ca;const Aa=e=>_r({encodedTx:e,signatures:[]},Se.signed),Ea=e=>Object.fromEntries(e.map((e=>[e,e]))),_a=1,ka=Ea(["to_waellet","to_aepp"]),Oa=Ea(["window","extension"]),Sa=Ea(["readyToConnect","closeConnection","updateNetwork","updateAddress"]),Na=Ea(["connect","subscribeAddress","sign","address","signMessage"]),ja=Ea(["current","connected"]),Pa=Ea(["subscribe","unsubscribe"]),Ma={wallet:{[Sa.readyToConnect]:"connection.announcePresence",[Sa.updateAddress]:"address.update"},aepp:{[Na.address]:"address.get",[Na.connect]:"connection.open",[Na.sign]:"transaction.sign",[Na.signMessage]:"message.sign",[Na.subscribeAddress]:"address.subscribe"},[Sa.updateNetwork]:"networkId.update",[Sa.closeConnection]:"connection.close"},Ra={CONNECTED:"CONNECTED",DISCONNECTED:"DISCONNECTED",CONNECTION_REJECTED:"CONNECTION_REJECTED",WAITING_FOR_CONNECTION_APPROVE:"WAITING_FOR_CONNECTION_APPROVE",WAITING_FOR_CONNECTION_REQUEST:"WAITING_FOR_CONNECTION_REQUEST",WAITING_FOR_SUBSCRIPTION:"WAITING_FOR_SUBSCRIPTION"},Ba={broadcastFailed:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:3,data:e,message:"Broadcast failed"}},invalidTransaction:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:2,data:e,message:"Invalid transaction"}},rejectedByUser:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:4,data:e,message:"Operation rejected by user"}},connectionDeny:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:9,data:e,message:"Wallet deny your connection request"}},permissionDeny:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:11,data:e,message:`You are not subscribed for account ${e.account}`}},internalError:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:12,data:e,message:e.msg}},notAuthorize:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:10,data:e,message:"You are not connected to the wallet"}},unsupportedProtocol:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:5,data:e,message:"Unsupported Protocol Version"}},unsupportedNetwork:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:8,data:e,message:"Unsupported Network"}}},qa=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const{chrome:t,browser:n}=window;if(void 0!==t&&t===Object(t))return t;if(void 0!==n&&n===Object(n))return n;if(!e)throw new Error("Browser is not detected");return{}},Va=()=>window!==window.parent,Fa=e=>{let t=0;return function(n){let{id:r,method:o,params:a,result:i,error:s}=n,c=arguments.length>1&&void 0!==arguments[1]&&arguments[1];c||(t+=1),r=c?r||null:t;const u=a?{params:a}:i?{result:i}:{error:s};return e.sendMessage({jsonrpc:"2.0",...r?{id:r}:{},method:o,...u}),r}},$a=function(e,t){let{debug:n=!1}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=e[t.method];return r&&"function"==typeof r?r:(n&&console.log(`Unknown message method ${t.method}`),()=>async()=>!0)},Da=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{method:e,params:t}},Ua=function(e,t){let{error:n,result:r}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return{id:e,method:t,...n?{error:n}:{result:r}}},Ha=e=>(t,n,r)=>e.sendMessage(Ua(t,n,r),!0),Ka=()=>{},Wa=e=>3===["","connected","current"].filter((t=>"object"==typeof(t?e[t]:e))).length,La=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!e.find((e=>e===t))){if("object"!=typeof n.onAccount||!Ro(n.onAccount))throw new Error("Provided onAccount should be an AccountBase");t=n.onAccount}return t};var Ga=Yr()({init(e){let{id:t,name:n,networkId:r,icons:o,connection:a,handlers:[i,s]}=e;this.id=t,this.connection=a,this.info={name:n,networkId:r,icons:o},this.callbacks={},this.addressSubscription=[],this.accounts={},this.sendMessage=Fa(this.connection),a.connect(((e,t)=>{if(!e||!e.jsonrpc||"2.0"!==e.jsonrpc||!e.method)throw new Error(`Received invalid message: ${e}`);i(e,t)}),((e,t)=>{this.disconnect(!0),"function"==typeof s&&s(t,this)}))},propertyDescriptors:{currentAccount:{enumerable:!0,configurable:!1,get(){return this.isHasAccounts()?Object.keys(this.accounts.current)[0]:void 0}},addresses:{enumerable:!0,configurable:!1,get(){return this.isHasAccounts()?[...Object.keys(this.accounts.current),...Object.keys(this.accounts.connected)]:[]}},origin:{enumerable:!0,configurable:!1,get(){return this.connection}}},methods:{updateInfo(e){Object.assign(this.info,e)},isHasAccounts(){return"object"==typeof this.accounts&&"object"==typeof this.accounts.connected&&"object"==typeof this.accounts.current},isSubscribed(){return this.addressSubscription.length&&this.isHasAccounts()},hasAccessToAccount(e){return!!e&&this.addresses.find((t=>t===e))},isConnected(){return this.connection.isConnected()&&this.info.status===Ra.CONNECTED},getCurrentAccount(){let{onAccount:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e||Object.keys(this.accounts.current)[0]},disconnect(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.info.status=Ra.DISCONNECTED,this.addressSubscription=[],this.accounts={},e||this.connection.disconnect()},setAccounts(e){let{forceNotification:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!Wa(e))throw new Error("Invalid accounts object. Should be object like: `{ connected: {}, selected: {} }`");this.accounts=e,t||this.sendMessage(Da(Ma.wallet.updateAddress,this.accounts),!0)},updateSubscription(e,t){return e!==Pa.subscribe||this.addressSubscription.includes(t)||this.addressSubscription.push(t),e===Pa.unsubscribe&&this.addressSubscription.includes(t)&&(this.addressSubscription=this.addressSubscription.filter((e=>e!==t))),this.addressSubscription},request(e,t){const n=this.sendMessage(Da(e,t));if(Object.prototype.hasOwnProperty.call(this.callbacks,n))throw new Error("Callback Already exist");return new Promise(((e,t)=>{this.callbacks[n]={resolve:e,reject:t}}))},processResponse(e,t){let{id:n,error:r,result:o}=e;if(!this.callbacks[n])throw new Error(`Can't find callback for this messageId ${n}`);o?this.callbacks[n].resolve(..."function"==typeof t?t({id:n,result:o}):[o]):this.callbacks[n].reject(r),delete this.callbacks[n]}}});const Qa={[Ma.wallet.updateAddress]:e=>t=>{let{params:n}=t;e.rpcClient.accounts=n,e.onAddressChange(n)},[Ma.updateNetwork]:e=>t=>{e.rpcClient.info.networkId=t.params.networkId,e.onNetworkChange(t.params)},[Ma.closeConnection]:e=>t=>{e.disconnectWallet(),e.onDisconnect(t.params)}},Ya={[Ma.aepp.address]:e=>t=>e.rpcClient.processResponse(t),[Ma.aepp.connect]:e=>t=>{t.result&&(e.rpcClient.info.status=Ra.CONNECTED),e.rpcClient.processResponse(t)},[Ma.aepp.subscribeAddress]:e=>t=>{t.result&&(t.result.address&&(e.rpcClient.accounts=t.result.address),t.result.subscription&&(e.rpcClient.addressSubscription=t.result.subscription)),e.rpcClient.processResponse(t,(e=>{let{id:t,result:n}=e;return[n]}))},[Ma.aepp.sign]:e=>t=>{e.rpcClient.processResponse(t,(e=>{let{id:t,result:n}=e;return[n.signedTransaction||n.transactionHash]}))},[Ma.aepp.signMessage]:e=>t=>{e.rpcClient.processResponse(t,(e=>{let{id:t,result:n}=e;return[n.signature]}))}},za={};var Xa=Vo.compose({async init(e){let{name:t,onAddressChange:n=Ka,onDisconnect:r=Ka,onNetworkChange:o=Ka,connection:a,forceValidation:i=!1,debug:s=!1}=e;this.connection=a,this.name=t,this.debug=s,a&&await this.connectToWallet(a),this.onDisconnect=r,this.onAddressChange=n,this.onNetworkChange=o,["onDisconnect","onAddressChange","onNetworkChange"].forEach((e=>{if(!i&&"function"!=typeof this[e])throw new Error(`Call-back for ${e} must be an function!`)}))},deepProps:{Ae:{defaults:{walletBroadcast:!0}}},methods:{sign(){},addresses(){if(!this.rpcClient.currentAccount)throw new Error("You are not subscribed for an account.");return[this.rpcClient.currentAccount,...Object.keys(this.rpcClient.accounts.connected)]},async connectToWallet(e){if(this.rpcClient&&this.rpcClient.isConnected())throw new Error("You are already connected to wallet "+this.rpcClient);var t;return this.rpcClient=Ga({connection:e,networkId:this.getNetworkId({force:!0}),...e.connectionInfo,id:(0,Dn.v4)(),handlers:[(t=this,async e=>e.id?Object.prototype.hasOwnProperty.call(t.rpcClient.callbacks,e.id)?$a(Ya,e,{debug:t.debug})(t)(e):$a(za,e,{debug:t.debug})(t)(e):$a(Qa,e,{debug:t.debug})(t)(e)),this.onDisconnect]}),this.sendConnectRequest()},async disconnectWallet(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(!this.rpcClient||!this.rpcClient.isConnected())throw new Error("You are not connected to Wallet");e&&this.rpcClient.sendMessage(Da(Ma.closeConnection,{reason:"bye"}),!0),this.rpcClient.disconnect(),this.rpcClient=null},async address(){let{onAccount:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!this.rpcClient||!this.rpcClient.isConnected())throw new Error("You are not connected to Wallet");const t=this.rpcClient.currentAccount;if(!t)throw new Error("You are not subscribed for an account.");if(e&&!this.rpcClient.hasAccessToAccount(e))throw new Error(`You do not have access to account ${e}`);return e||t},async askAddresses(){if(!this.rpcClient||!this.rpcClient.isConnected())throw new Error("You are not connected to Wallet");if(!this.rpcClient.currentAccount)throw new Error("You are not subscribed for an account.");return this.rpcClient.request(Ma.aepp.address)},async subscribeAddress(e,t){if(!this.rpcClient||!this.rpcClient.isConnected())throw new Error("You are not connected to Wallet");return this.rpcClient.request(Ma.aepp.subscribeAddress,{type:e,value:t})},async signTransaction(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.rpcClient||!this.rpcClient.isConnected())throw new Error("You are not connected to Wallet");if(!this.rpcClient.currentAccount)throw new Error("You are not subscribed for an account.");if(t.onAccount&&!this.rpcClient.hasAccessToAccount(t.onAccount))throw new Error(`You do not have access to account ${t.onAccount}`);return this.rpcClient.request(Ma.aepp.sign,{...t,tx:e,returnSigned:!0,networkId:this.getNetworkId()})},async signMessage(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.rpcClient||!this.rpcClient.isConnected())throw new Error("You are not connected to Wallet");if(!this.rpcClient.currentAccount)throw new Error("You are not subscribed for an account.");if(t.onAccount&&!this.rpcClient.hasAccessToAccount(t.onAccount))throw new Error(`You do not have access to account ${t.onAccount}`);return this.rpcClient.request(Ma.aepp.signMessage,{...t,message:e})},async sendConnectRequest(){return this.rpcClient.request(Ma.aepp.connect,{name:this.name,version:_a,networkId:this.getNetworkId({force:!0})})},async send(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.rpcClient||!this.rpcClient.isConnected())throw new Error("You are not connected to Wallet");if(!this.rpcClient.currentAccount)throw new Error("You are not subscribed for an account.");if(t.onAccount&&!this.rpcClient.hasAccessToAccount(t.onAccount))throw new Error(`You do not have access to account ${t.onAccount}`);const n={...this.Ae.defaults,...t};if(!n.walletBroadcast){const t=await this.signTransaction(e,{onAccount:n.onAccount});return this.sendTransaction(t,n)}return this.rpcClient.request(Ma.aepp.sign,{onAccount:n.onAccount,tx:e,returnSigned:!1,networkId:this.getNetworkId()})}}});const Ja=Vo.compose({methods:{registerOracle:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r={...this.Ae.defaults,...n},o=await this.address(r),a=await this.oracleRegisterTx({...r,accountId:o,queryFormat:e,responseFormat:t});return{...await this.send(a,r),...await this.getOracleObject(`ok_${o.slice(3)}`)}},respondToQuery:async function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const o={...this.Ae.defaults,...r},a=await this.address(o),i=await this.oracleRespondTx({...o,oracleId:e,queryId:t,callerId:a,response:n});return{...await this.send(i,o),...await this.getOracleObject(e)}},extendOracleTtl:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r={...this.Ae.defaults,...n},o=await this.address(r),a=await this.oracleExtendTx({...r,oracleId:e,callerId:o,oracleTtl:t});return{...await this.send(a,r),...await this.getOracleObject(e)}},postQueryToOracle:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=n.queryFee||(await this.api.getOracleByPubkey(e)).queryFee,o={...this.Ae.defaults,queryFee:r,...n},a=await this.address(o),i=await this.oraclePostQueryTx({...o,oracleId:e,senderId:a,query:t}),s=zt(a,kr(i).tx.nonce,e);return{...await this.send(i,o),...await this.getQueryObject(e,s)}},pollForQueryResponse:async function(e,t){let{attempts:n=20,interval:r=5e3}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};for(let o=0;o<n;o++){o&&await vo(r);const{response:n}=await this.api.getOracleQueryByPubkeyAndQueryId(e,t),a=en(n,"or");if(a.length)return String(a)}throw new Error(`Giving up after ${(n-1)*r}ms`)},pollForQueries:function(e,t){let{interval:n=5e3}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=new Set,o=async()=>{const n=((await this.api.getOracleQueriesByPubkey(e)).oracleQueries||[]).filter((e=>{let{id:t}=e;return!r.has(t)}));n.forEach((e=>{let{id:t}=e;return r.add(t)})),n.length&&t(n)};o();const a=setInterval(o,n);return()=>clearInterval(a)},getOracleObject:async function(e){const t=await this.api.getOracleByPubkey(e),{oracleQueries:n}=await this.api.getOracleQueriesByPubkey(e);return{...t,queries:n,pollQueries:this.pollForQueries.bind(this,e),postQuery:this.postQueryToOracle.bind(this,e),respondToQuery:this.respondToQuery.bind(this,e),extendOracle:this.extendOracleTtl.bind(this,e),getQuery:this.getQueryObject.bind(this,e)}},getQueryObject:async function(e,t){const n=await this.api.getOracleQueryByPubkeyAndQueryId(e,t);return{...n,decodedQuery:An(n.query.slice(3)).toString(),decodedResponse:An(n.response.slice(3)).toString(),respond:this.respondToQuery.bind(this,e,t),pollForResponse:this.pollForQueryResponse.bind(this,e,t),decode:e=>An(e.slice(3))}}},deepProps:{Ae:{defaults:{queryFee:W,oracleTtl:L,queryTtl:G,responseTtl:Q}}}});var Za=Ja,ei=Vo.compose(Zo,Za,va,aa,Wo,Xa);const ti={[Ma.closeConnection]:(e,t)=>{let{client:n}=t;return async t=>{n.disconnect(!0),e.onDisconnect(t.params,n)}}},ni={},ri={[Ma.aepp.connect](e,t,n,r){let{name:o,networkId:a,version:i,icons:s}=r;return i!==_a?{error:Ba.unsupportedProtocol()}:(n.updateInfo({status:Ra.WAITING_FOR_CONNECTION_APPROVE,name:o,networkId:a,icons:s,version:i}),e("onConnection",{name:o,networkId:a,version:i},(()=>(n.updateInfo({status:Ra.CONNECTED}),{result:t.getWalletInfo()})),(e=>(n.updateInfo({status:Ra.CONNECTION_REJECTED}),{error:Ba.connectionDeny(e)}))))},[Ma.aepp.subscribeAddress](e,t,n,r){let{type:o,value:a}=r;return n.isConnected()?e("onSubscription",{type:o,value:a},(async function(){let{accounts:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{const r=e||t.getAccounts();if(!Wa(r))throw new Error("Invalid provided accounts object");const i=n.updateSubscription(o,a);return n.setAccounts(r,{forceNotification:!0}),{result:{subscription:i,address:r}}}catch(e){return t.debug&&console.error(e),{error:Ba.internalError({msg:e.message})}}}),(e=>({error:Ba.rejectedByUser(e)}))):{error:Ba.notAuthorize()}},[Ma.aepp.address]:(e,t,n)=>n.isConnected()&&n.isSubscribed()?e("onAskAccounts",{},(function(){let{accounts:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{result:e||[...Object.keys(n.accounts.current),...Object.keys(n.accounts.connected)]}}),(e=>({error:Ba.rejectedByUser(e)}))):{error:Ba.notAuthorize()},[Ma.aepp.sign](e,t,n,r){const{tx:o,onAccount:a,networkId:i,returnSigned:s=!1}=r,c=a||n.currentAccount;return i&&n.updateInfo({networkId:i}),n.isConnected()?n.hasAccessToAccount(c)?i&&i===t.getNetworkId()?e("onSign",{tx:o,returnSigned:s,onAccount:c,txObject:zo.fromString(o)},(async function(e){let n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{n=La(t.addresses(),c,r)}catch(e){return t.debug&&console.error(e),{error:Ba.internalError({msg:e.message})}}try{const r=e||o;return{result:s?{signedTransaction:await t.signTransaction(r,{onAccount:n})}:{transactionHash:await t.send(r,{onAccount:n,verify:!1})}}}catch(n){if(!s){const r=await Uo(e||o,t.selectedNode.instance);return r.length?{error:Ba.invalidTransaction(r)}:{error:Ba.broadcastFailed(n.message)}}throw n}}),(e=>({error:Ba.rejectedByUser(e)}))):{error:Ba.unsupportedNetwork()}:{error:Ba.permissionDeny({account:c})}:{error:Ba.notAuthorize()}},[Ma.aepp.signMessage](e,t,n,r){let{message:o,onAccount:a}=r;if(!n.isConnected())return{error:Ba.notAuthorize()};const i=a||n.currentAccount;return n.hasAccessToAccount(i)?e("onMessageSign",{message:o,onAccount:i},(async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{const n=La(t.addresses(),i,e);return{result:{signature:await t.signMessage(o,{onAccount:n,returnHex:!0})}}}catch(e){return t.debug&&console.error(e),{error:Ba.internalError({msg:e.message})}}}),(e=>({error:Ba.rejectedByUser(e)}))):{error:Ba.permissionDeny({account:i})}}},oi=(e,t)=>async(n,r)=>{const o=e.rpcClients[t];if(!n.id)return $a(ti,n,{debug:e.debug})(e,{client:o})(n,r);if(Object.prototype.hasOwnProperty.call(o.callbacks,n.id))return $a(ni,n,{debug:e.debug})(e,{client:o})(n,r);{const{id:t,method:a}=n,i=(n,i,s,c)=>()=>new Promise((u=>{e[n](o,{id:t,method:a,params:i,accept:function(){return u(s(...arguments))},deny:function(){return u(c(...arguments))}},r)})),s=$a(ri,n,{debug:e.debug})(i,e,o,n.params),c="function"==typeof s?await s():s;Ha(o)(t,a,c)}};var ai=Vo.compose(ra,{init(){var e=this;let{name:t,onConnection:n,onSubscription:r,onSign:o,onDisconnect:a,onAskAccounts:i,onMessageSign:s,forceValidation:c=!1,debug:u=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.debug=u,this.onConnection=n,this.onSubscription=r,this.onSign=o,this.onDisconnect=a,this.onAskAccounts=i,this.onMessageSign=s,this.rpcClients={},["onConnection","onSubscription","onSign","onDisconnect","onMessageSign"].forEach((e=>{if(!c&&"function"!=typeof this[e])throw new Error(`Call-back for ${e} must be an function!`)})),this.name=t,this.id=(0,Dn.v4)();const l=this.selectAccount.bind(this),d=this.addAccount.bind(this),h=this.selectNode.bind(this);this.selectAccount=function(t){let{condition:n=(()=>!0)}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};l(t),Object.values(e.rpcClients).filter((e=>e.isConnected()&&e.isSubscribed()&&e.hasAccessToAccount(t)&&n(e))).forEach((e=>e.setAccounts({current:{[t]:{}},connected:{...e.accounts.current,...Object.entries(e.accounts.connected).filter((e=>{let[n,r]=e;return n!==t})).reduce(((e,t)=>{let[n,r]=t;return{...e,[n]:r}}),{})}})))},this.addAccount=async function(t){let{select:n,meta:r={},condition:o=(()=>!0)}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};await d(t,{select:n});const a=await t.address();Object.values(e.rpcClients).filter((e=>e.isConnected()&&e.isSubscribed()&&o(e))).forEach((e=>e.setAccounts({current:{...n?{[a]:r}:e.accounts.current},connected:{...n?e.accounts.current:{[a]:r},...e.accounts.connected}})))},this.selectNode=e=>{h(e),Object.values(this.rpcClients).filter((e=>e.isConnected())).forEach((e=>e.sendMessage(Da(Ma.updateNetwork,{networkId:this.getNetworkId()}),!0)))}},methods:{removeRpcClient(e){let{forceConnectionClose:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=this.rpcClients[e];if(!n)throw new Error(`RpcClient with id ${e} do not exist`);n.disconnect(t),delete this.rpcClients[e]},addRpcClient(e){const t=(0,Dn.v4)();return this.rpcClients[t]=Ga({id:t,info:{status:Ra.WAITING_FOR_CONNECTION_REQUEST},connection:e,handlers:[oi(this,t),this.onDisconnect]}),t},shareWalletInfo(e){e({jsonrpc:"2.0",...Da(Ma.wallet.readyToConnect,this.getWalletInfo())})},getWalletInfo(){const e=qa(!0).runtime;return{id:e&&e.id?e.id:this.id,name:this.name,networkId:this.getNetworkId(),origin:window.location.origin,type:e&&e.id?Oa.extension:Oa.window}},getAccounts(){return{current:this.selectedAddress?{[this.selectedAddress]:{}}:{},connected:this.addresses().filter((e=>e!==this.selectedAddress)).reduce(((e,t)=>({...e,[t]:{}})),{})}}}}),ii=Vo.compose(ai,Zo,xa,Za,aa,Ia,Wo),si=C(3752),ci=C(3205);const ui=new WeakMap,li=new WeakMap,di=new WeakMap,hi=new WeakMap,pi=new WeakMap,fi=new WeakMap,mi=new WeakMap,gi=new WeakMap,yi=new WeakMap,wi=new WeakMap,bi=new WeakMap,vi=new WeakMap,xi=new WeakMap,Ti=new WeakMap,Ci=new WeakMap,Ii=new WeakMap;function Ai(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];fi.get(e).emit(...n)}function Ei(e,t){if(!t)throw new Error("State Channels FSM entered unknown state");hi.set(e,t),t.handler.enter&&t.handler.enter(e),Ni(e)}function _i(e,t){t!==li.get(e)&&(li.set(e,t),Ai(e,"statusChanged",t))}function ki(e,t){di.set(e,t),Ai(e,"stateChanged",t)}function Oi(e,t){const{debug:n=!1}=ui.get(e);n&&console.log("Send message: ",t),pi.get(e).send(bo.stringify(t))}function Si(e,t,n){yi.set(e,[...yi.get(e)||[],{guard:t,action:n}]),Ni(e)}async function Ni(e){const t=wi.get(e),n=yi.get(e)||[];if(t||!n.length)return;const r=hi.get(e),o=n.findIndex((t=>t.guard(e,r)));if(-1===o)return;yi.set(e,n.filter(((e,t)=>o!==t))),wi.set(e,!0);const a=await Promise.resolve(n[o].action(e,r));wi.set(e,!1),Ei(e,a)}async function ji(e){const t=mi.get(e);if(gi.get(e)||!t.length)return;const[n,...r]=t;mi.set(e,r||[]),gi.set(e,!0),await async function(e,t){const{handler:n,state:r}=hi.get(e);Ei(e,await Promise.resolve(n(e,t,r)))}(e,n),gi.set(e,!1),ji(e)}function Pi(e){clearTimeout(Ti.get(e)),clearTimeout(Ci.get(e)),Ti.set(e,setTimeout((()=>{Oi(e,{jsonrpc:"2.0",method:"channels.system",params:{action:"ping"}}),Ci.set(e,setTimeout((()=>{Ri(e),Ai(e,"error",new Error("Server pong timed out"))}),5e3))}),1e4))}function Mi(e,t,n){return new Promise(((r,o)=>{const a=bi.set(e,bi.get(e)+1).get(e);xi.get(e).set(a,(e=>e.result?r(e.result):e.error?o(function(e){const[{message:t}={}]=e.error.data||[];return t?new Error(`${e.error.message}: ${t}`):new Error(e.error.message)}(e)):void 0)),Oi(e,{jsonrpc:"2.0",method:t,id:a,params:n})}))}function Ri(e){pi.get(e).close(),clearTimeout(Ti.get(e)),clearTimeout(Ci.get(e))}async function Bi(e,t){let{url:n,...r}=t;ui.set(e,r),hi.set(e,{handler:r.existingFsmId?Di:$i}),fi.set(e,new ci.EventEmitter),bi.set(e,0),xi.set(e,new Map);const o=new URL(n);Object.entries(r).filter((e=>{let[t]=e;return!["sign","debug"].includes(t)})).forEach((e=>{let[t,n]=e;return o.searchParams.set(x(t),n)})),o.searchParams.set("protocol","json-rpc"),_i(e,"connecting");const a=new si.w3cwebsocket(o.toString());await new Promise(((t,n)=>Object.assign(a,{onerror:n,onopen:()=>{t(),_i(e,"connected"),r.reconnectTx&&(Ei(e,{handler:Gi}),setTimeout((async()=>ki(e,(await Mi(e,"channels.get.offchain_state",{})).signed_tx)))),Pi(e)},onclose:()=>{_i(e,"disconnected"),clearTimeout(Ti.get(e)),clearTimeout(Ci.get(e))},onmessage:t=>{let{data:n}=t;return function(e,t){const n=bo.parse(t),{debug:r=!1}=ui.get(e);if(r&&console.log("Receive message: ",n),n.id){const t=xi.get(e).get(n.id);try{t(n)}finally{xi.get(e).delete(n.id)}}else"channels.message"===n.method?Ai(e,"message",n.params.data.message):"channels.system.pong"===n.method?n.params.channel_id!==vi.get(e)&&null!=vi.get(e)||Pi(e):(mi.set(e,[...mi.get(e)||[],n]),ji(e))}(e,n)}}))),pi.set(e,a)}function qi(e){return`tx_${Cn(e)}`}async function Vi(e,t){const{signatures:n,encodedTx:r}=kr(e).tx,o=await t(qi(r.rlpEncoded));if("string"==typeof o){const{tx:e,txType:t}=kr(o);return qi(_r({signatures:n.concat(e.signatures),encodedTx:e.encodedTx.rlpEncoded},t).rlpEncoded)}return o}function Fi(e,t,n){return n&&n.reject&&n.reject(Object.assign(new Error(`Unexpected message received:\n\n${JSON.stringify(t)}`),{wsMessage:t})),{handler:Gi}}function $i(e,t,n){return"channels.info"===t.method?["channel_accept","funding_created"].includes(t.params.data.event)?(_i(e,{channel_accept:"accepted",funding_created:"halfSigned"}[t.params.data.event]),{handler:Ui}):"channel_reestablished"===t.params.data.event?{handler:Wi}:"fsm_up"===t.params.data.event?(Ii.set(e,t.params.data.fsm_id),{handler:$i}):{handler:$i}:"channels.error"===t.method?(Ai(e,"error",new Error(t.payload.message)),{handler:hs}):void 0}async function Di(e,t,n){return"channels.info"===t.method&&"fsm_up"===t.params.data.event?(Ii.set(e,t.params.data.fsm_id),ki(e,(await Mi(e,"channels.get.offchain_state",{})).signed_tx),{handler:Gi}):Fi(0,t,n)}async function Ui(e,t,n){const r={initiator:"initiator_sign",responder:"responder_sign"}[ui.get(e).role];if(t.method===`channels.sign.${r}`){if(t.params.data.tx){const n=await ui.get(e).sign(r,t.params.data.tx);return Oi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{tx:n}}),{handler:Hi}}const n=await Vi(t.params.data.signed_tx,(t=>ui.get(e).sign(r,t)));return Oi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{signed_tx:n}}),{handler:Hi}}}function Hi(e,t,n){if("channels.on_chain_tx"===t.method){if("funding_signed"===t.params.data.info&&"initiator"===ui.get(e).role)return{handler:Ki};if("funding_created"===t.params.data.info&&"responder"===ui.get(e).role)return{handler:Ki}}if("channels.info"===t.method&&"funding_signed"===t.params.data.event&&"initiator"===ui.get(e).role)return vi.set(e,t.params.channel_id),_i(e,"signed"),{handler:Hi}}function Ki(e,t,n){if("channels.info"===t.method){const e={funding_created:Ki,own_funding_locked:Ki,funding_locked:Wi}[t.params.data.event];if(e)return{handler:e}}if("channels.on_chain_tx"===t.method)return Ai(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),{handler:Ki}}function Wi(e,t,n){if("channels.info"===t.method&&"open"===t.params.data.event)return vi.set(e,t.params.channel_id),{handler:Li}}function Li(e,t,n){if("channels.update"===t.method)return ki(e,t.params.data.state),{handler:Gi}}async function Gi(e,t,n){switch(t.method){case"channels.info":switch(t.params.data.event){case"update":case"withdraw_created":case"deposit_created":return{handler:zi};case"own_withdraw_locked":case"withdraw_locked":case"own_deposit_locked":case"deposit_locked":case"peer_disconnected":case"channel_reestablished":case"open":return Ai(e,t.params.data.event),{handler:Gi};case"fsm_up":return Ii.set(e,t.params.data.fsm_id),{handler:Gi};case"timeout":case"close_mutual":case"shutdown":return{handler:Gi};case"closing":return _i(e,"closing"),{handler:Gi};case"closed_confirmed":return _i(e,"closed"),{handler:hs};case"died":return _i(e,"died"),{handler:hs}}break;case"channels.on_chain_tx":return Ai(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),{handler:Gi};case"channels.leave":return{handler:Gi};case"channels.update":return ki(e,t.params.data.state),{handler:Gi};case"channels.sign.shutdown_sign_ack":return zi(e,t,n)}}async function Qi(e,t,n){if("channels.sign.update"===t.method){const{sign:r}=n;if(t.params.data.tx)return Oi(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:Yi,state:n};const o=await Vi(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof o)return Oi(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:o}}),{handler:Yi,state:n};if("number"==typeof o)return Oi(e,{jsonrpc:"2.0",method:"channels.update",params:{error:o}}),{handler:Qi,state:n}}if("channels.error"===t.method)return n.reject(new Error(t.data.message)),{handler:Gi};if(t.error){const{data:e=[]}=t.error;return e.find((e=>1001===e.code))?n.reject(new Error("Insufficient balance")):e.find((e=>1002===e.code))?n.reject(new Error("Amount cannot be negative")):n.reject(new Error(t.error.message)),{handler:Gi}}return"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Gi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Gi}):Fi(0,t,n)}function Yi(e,t,n){return"channels.update"===t.method?(ki(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Gi}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Gi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Gi}):t.error?(n.reject(new Error(t.error.message)),{handler:Gi}):Fi(0,t,n)}async function zi(e,t,n){const[,r]=t.method.match(/^channels\.sign\.([^.]+)$/)||[];if(r){if(t.params.data.tx){const n=await ui.get(e).sign(r,t.params.data.tx,{updates:t.params.data.updates});if(n)return Oi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{tx:n}}),{handler:Gi}}else{const o=await Vi(t.params.data.signed_tx,(n=>ui.get(e).sign(r,n,{updates:t.params.data.updates})));if("string"==typeof o)return Oi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{signed_tx:o}}),{handler:Gi};if("number"==typeof o)return Oi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{error:o}}),{handler:Xi,state:n}}return Oi(e,{jsonrpc:"2.0",method:"channels.update.new",params:{from:Nn().publicKey,to:Nn().publicKey,amount:1}}),{handler:Xi,state:n}}return Fi(0,t,n)}function Xi(e,t,n){return t.error?{handler:Xi,state:n}:"channels.conflict"===t.method?{handler:Gi}:Fi(0,t,n)}async function Ji(e,t,n){if("channels.sign.shutdown_sign"===t.method){if(t.params.data.tx)return Oi(e,{jsonrpc:"2.0",method:"channels.shutdown_sign",params:{tx:await n.sign(t.params.data.tx)}}),{handler:Zi,state:n};const r=await Vi(t.params.data.signed_tx,(e=>n.sign(e)));return Oi(e,{jsonrpc:"2.0",method:"channels.shutdown_sign",params:{signed_tx:r}}),{handler:Zi,state:n}}return Fi(0,t,n)}function Zi(e,t,n){return"channels.on_chain_tx"===t.method?{handler:hs,state:n}:Fi(0,t,n)}function es(e,t,n){return"channels.leave"===t.method?(n.resolve({channelId:t.params.channel_id,signedTx:t.params.data.state}),Ri(e),{handler:hs}):"channels.error"===t.method?(n.reject(new Error(t.data.message)),{handler:Gi}):Fi(0,t,n)}async function ts(e,t,n){if("channels.sign.withdraw_tx"===t.method){const{sign:r}=n;if(t.params.data.tx)return Oi(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:ns,state:n};const o=await Vi(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof o)return Oi(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{signed_tx:o}}),{handler:ns,state:n};if("number"==typeof o)return Oi(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{error:o}}),{handler:ns,state:n}}return Fi(0,t,n)}function ns(e,t,n){if("channels.on_chain_tx"===t.method)return n.onOnChainTx&&n.onOnChainTx(t.params.data.tx),{handler:ns,state:n};if("channels.info"===t.method&&["own_withdraw_locked","withdraw_locked"].includes(t.params.data.event)){const e={own_withdraw_locked:n.onOwnWithdrawLocked,withdraw_locked:n.onWithdrawLocked}[t.params.data.event];return e&&e(),{handler:ns,state:n}}return"channels.update"===t.method?(ki(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Gi}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Gi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Gi}):Fi(0,t,n)}async function rs(e,t,n){if("channels.sign.deposit_tx"===t.method){const{sign:r}=n;if(t.params.data.tx)return Oi(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:os,state:n};const o=await Vi(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof o)return Oi(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{signed_tx:o}}),{handler:os,state:n};if("number"==typeof o)return Oi(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{error:o}}),{handler:os,state:n}}return Fi(0,t,n)}function os(e,t,n){if("channels.on_chain_tx"===t.method)return n.onOnChainTx&&n.onOnChainTx(t.params.data.tx),{handler:os,state:n};if("channels.info"===t.method&&["own_deposit_locked","deposit_locked"].includes(t.params.data.event)){const e={own_deposit_locked:n.onOwnDepositLocked,deposit_locked:n.onDepositLocked}[t.params.data.event];return e&&e(),{handler:os,state:n}}return"channels.update"===t.method?(ki(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Gi}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Gi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Gi}):Fi(0,t,n)}async function as(e,t,n){if("channels.sign.update"===t.method){if(t.params.data.tx)return Oi(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await n.sign(t.params.data.tx)}}),{handler:is,state:n};const r=await Vi(t.params.data.signed_tx,(e=>n.sign(e)));if("string"==typeof r)return Oi(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:r}}),{handler:is,state:n};if("number"==typeof r)return Oi(e,{jsonrpc:"2.0",method:"channels.update",params:{error:r}}),{handler:is,state:n}}return Fi(0,t,n)}function is(e,t,n){if("channels.update"===t.method){const{round:r}=kr(t.params.data.state).tx.encodedTx.tx,o=ui.get(e)[{initiator:"initiatorId",responder:"responderId"}[ui.get(e).role]];return ki(e,t.params.data.state),n.resolve({accepted:!0,address:On(o,r),signedTx:t.params.data.state}),{handler:Gi}}return"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Gi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Gi}):Fi(0,t,n)}async function ss(e,t,n){if("channels.sign.update"===t.method){if(t.params.data.tx)return Oi(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await n.sign(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:ls,state:n};const r=await Vi(t.params.data.signed_tx,(e=>n.sign(e,{updates:t.params.data.updates})));if("string"==typeof r)return Oi(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:r}}),{handler:ls,state:n};if("number"==typeof r)return Oi(e,{jsonrpc:"2.0",method:"channels.update",params:{error:r}}),{handler:ls,state:n}}return Fi(0,t,n)}async function cs(e,t,n){if("channels.sign.force_progress_tx"===t.method){const r=await Vi(t.params.data.signed_tx,(e=>n.sign(e,{updates:t.params.data.updates})));return Oi(e,{jsonrpc:"2.0",method:"channels.force_progress_sign",params:{signed_tx:r}}),{handler:us,state:n}}return Fi(0,t,n)}function us(e,t,n){return"channels.on_chain_tx"===t.method&&(n.onOnChainTx&&n.onOnChainTx(t.params.data),Ai(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),n.resolve({accepted:!0,tx:t.params.data.tx})),Fi(0,t,n)}function ls(e,t,n){return"channels.update"===t.method?(ki(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Gi}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Gi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Gi}):Fi(0,t,n)}function ds(e,t,n){return"channels.calls_pruned.reply"===t.method?(n.resolve(),{handler:Gi}):(n.reject(new Error("Unexpected message received")),{handler:hs})}function hs(e,t,n){return n?"closing"===t.params.data.event?{handler:hs,state:n}:"channel_closed"===t.params.data.info?(n.closeTx=t.params.data.tx,{handler:hs,state:n}):"closed_confirmed"===t.params.data.event?(n.resolve(n.closeTx),{handler:hs}):{handler:hs,state:n}:{handler:hs}}function ps(e){return Object.entries(e).reduce(((e,t)=>{let[n,r]=t;return{...e,[v(n)]:r}}),{})}Gi.enter=e=>{_i(e,"open")};const fs=lo.compose({async init(e){Bi(this,e)},methods:{on:function(e,t){fi.get(this).on(e,t)},off:function(e,t){fi.get(this).removeListener(e,t)},status:function(){return li.get(this)},state:async function(){return ps(await Mi(this,"channels.get.offchain_state",{}))},round:function(){if(!di.get(this))return null;const{txType:e,tx:t}=kr(di.get(this)).tx.encodedTx;switch(e){case Se.channelCreate:return 1;case Se.channelOffChain:case Se.channelWithdraw:case Se.channelDeposit:return parseInt(t.round,10);default:return null}},id:function(){return vi.get(this)},fsmId:function(){return Ii.get(this)},update:function(e,t,n,r,o){return new Promise(((a,i)=>{Si(this,((e,t)=>t.handler===Gi),((s,c)=>(Oi(s,{jsonrpc:"2.0",method:"channels.update.new",params:{from:e,to:t,amount:n,meta:o}}),{handler:Qi,state:{resolve:a,reject:i,sign:r}})))}))},poi:async function(e){let{accounts:t,contracts:n}=e;return(await Mi(this,"channels.get.poi",{accounts:t,contracts:n})).poi},balances:async function(e){return Object.fromEntries((await Mi(this,"channels.get.balances",{accounts:e})).map((e=>[e.account,e.balance])))},leave:function(){return new Promise(((e,t)=>{Si(this,((e,t)=>t.handler===Gi),((n,r)=>(Oi(n,{jsonrpc:"2.0",method:"channels.leave",params:{}}),{handler:es,state:{resolve:e,reject:t}})))}))},shutdown:function(e){return new Promise(((t,n)=>{Si(this,((e,t)=>t.handler===Gi),((r,o)=>(Oi(r,{jsonrpc:"2.0",method:"channels.shutdown",params:{}}),{handler:Ji,state:{sign:e,resolve:t,reject:n}})))}))},sendMessage:function(e,t){let n=e;"object"==typeof e&&(n=JSON.stringify(e));const r=e=>Oi(e,{jsonrpc:"2.0",method:"channels.message",params:{info:n,to:t}});if("connecting"===this.status()){const e=t=>{"connecting"!==t&&(setTimeout((()=>r(this)),500),this.off("statusChanged",e))};this.on("statusChanged",e)}else r(this)},withdraw:function(e,t){let{onOnChainTx:n,onOwnWithdrawLocked:r,onWithdrawLocked:o}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((a,i)=>{Si(this,((e,t)=>t.handler===Gi),((s,c)=>(Oi(s,{jsonrpc:"2.0",method:"channels.withdraw",params:{amount:e}}),{handler:ts,state:{sign:t,resolve:a,reject:i,onOnChainTx:n,onOwnWithdrawLocked:r,onWithdrawLocked:o}})))}))},deposit:function(e,t){let{onOnChainTx:n,onOwnDepositLocked:r,onDepositLocked:o}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((a,i)=>{Si(this,((e,t)=>t.handler===Gi),((s,c)=>(Oi(s,{jsonrpc:"2.0",method:"channels.deposit",params:{amount:e}}),{handler:rs,state:{sign:t,resolve:a,reject:i,onOnChainTx:n,onOwnDepositLocked:r,onDepositLocked:o}})))}))},createContract:function(e,t){let{code:n,callData:r,deposit:o,vmVersion:a,abiVersion:i}=e;return new Promise(((e,s)=>{Si(this,((e,t)=>t.handler===Gi),((c,u)=>(Oi(c,{jsonrpc:"2.0",method:"channels.update.new_contract",params:{code:n,call_data:r,deposit:o,vm_version:a,abi_version:i}}),{handler:as,state:{sign:t,resolve:e,reject:s}})))}))},callContract:function(e,t){let{amount:n,callData:r,contract:o,abiVersion:a}=e;return new Promise(((e,i)=>{Si(this,((e,t)=>t.handler===Gi),((s,c)=>(Oi(s,{jsonrpc:"2.0",method:"channels.update.call_contract",params:{amount:n,call_data:r,contract_id:o,abi_version:a}}),{handler:ss,state:{resolve:e,reject:i,sign:t}})))}))},callContractStatic:async function(e){let{amount:t,callData:n,contract:r,abiVersion:o}=e;return ps(await Mi(this,"channels.dry_run.call_contract",{amount:t,call_data:n,contract_id:r,abi_version:o}))},getContractCall:async function(e){let{caller:t,contract:n,round:r}=e;return ps(await Mi(this,"channels.get.contract_call",{caller_id:t,contract_id:n,round:r}))},getContractState:async function(e){const t=await Mi(this,"channels.get.contract",{pubkey:e});return ps({...t,contract:ps(t.contract)})},disconnect:function(){return Ri(this)},cleanContractCalls:function(){return new Promise(((e,t)=>{Si(this,((e,t)=>t.handler===Gi),((n,r)=>(Oi(n,{jsonrpc:"2.0",method:"channels.clean_contract_calls",params:{}}),{handler:ds,state:{resolve:e,reject:t}})))}))},forceProgress:function(e,t){let{amount:n,callData:r,contract:o,abiVersion:a,gas:i=1e6,gasPrice:s=1e9,nonce:c}=e,{onOnChainTx:u}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((e,c)=>{Si(this,((e,t)=>t.handler===Gi),((l,d)=>(Oi(l,{jsonrpc:"2.0",method:"channels.force_progress",params:{amount:n,call_data:r,contract_id:o,abi_version:a,gas_price:s,gas:i}}),{handler:cs,state:{resolve:e,reject:c,sign:t,onOnChainTx:u}})))}))}},statics:{reconnect:async function(e,t){const{sign:n}=e;return fs({...e,reconnectTx:await n("reconnect",_r(t,Se.channelReconnect).tx)})}}});var ms=fs,gs=Vo.compose(ra,Wo,Zo,aa,xa,Za,Ia),ys=Yr()({init(e){let{pageConnection:t,extConnection:n,allowCrossOrigin:r=!1}=e;if(!window)throw new Error("Window object not found, you can run bridge only in browser");if(!t)throw new Error("pageConnection required");if(!n)throw new Error("extConnection required");this.allowCrossOrigin=r,this.pageConnection=t,this.extConnection=n},methods:{run:function(){const e=this.allowCrossOrigin;this.extConnection.connect((e=>{this.pageConnection.sendMessage(e)})),this.pageConnection.connect(((t,n,r)=>{(e||r===window)&&this.extConnection.sendMessage(t)}))},stop:function(){this.extConnection.disconnect(),this.pageConnection.disconnect()}}}),ws=(0,zr.required)({methods:{connect:zr.required,disconnect:zr.required,sendMessage:zr.required,isConnected:zr.required}});const bs=()=>{const e="object"==typeof qa(!0).extension,t=window&&window.location&&window.location.protocol.startsWith("http");return e&&t?window:Va()?window.parent:void 0};var vs=Yr()({init(){let{connectionInfo:e={},target:t=bs(),self:n=window,origin:r,sendDirection:o,receiveDirection:a=ka.to_aepp,debug:i=!1,forceOrigin:s=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(o&&!Object.keys(ka).includes(o))throw new Error(`sendDirection must be one of [${Object.keys(ka)}]`);if(!Object.keys(ka).includes(a))throw new Error(`receiveDirection must be one of [${Object.keys(ka)}]`);this.connectionInfo={id:(0,Dn.v4)(),...e};const c=n,u=t;if(this.origin=r,this.debug=i,this.forceOrigin=s,this.sendDirection=o,this.receiveDirection=a,this.subscribeFn=e=>c.addEventListener("message",e,!1),this.unsubscribeFn=e=>c.removeEventListener("message",e,!1),this.postFn=e=>u.postMessage(e,this.origin||"*"),!this.connectionInfo.id)throw new Error("ID required.")},methods:{connect:function(e){const t=this.origin,n=this.receiveDirection,r=this.debug,o=this.forceOrigin;if(this.listener)throw new Error("You already connected");this.listener=(a,i)=>{if(a&&"object"==typeof a.data&&(o||!t||t===a.origin))if(r&&console.log("Receive message: ",a),a.data.type){if(a.data.type!==n)return;e(a.data.data,a.origin,a.source)}else e(a.data,a.origin,a.source)},this.subscribeFn(this.listener)},sendMessage:function(e){const t=this.sendDirection?{type:this.sendDirection,data:e}:e;this.debug&&console.log("Send message: ",t),this.postFn(t)},disconnect:function(){if(!this.listener)throw new Error("You dont have connection. Please connect before");this.unsubscribeFn(this.listener),this.listener=null},isConnected:function(){return this.listener}}},ws),xs=Yr()({init(){let{connection:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!window)throw new Error("Window object not found, you can run wallet detector only in browser");this.connection=e||vs({connectionInfo:{id:"spy"}}),this.wallets={}},methods:{scan(e){const{wallets:t}=this;this.connection.connect(((n,r,o)=>{let{method:a,params:i}=n;if(!a||!i||a!==Ma.wallet.readyToConnect||t[i.id])return;const s={...i,async getConnection(){const e="extension"===this.type,t=e?window.origin:this.origin;return vs({connectionInfo:this,sendDirection:e?ka.to_waellet:void 0,receiveDirection:e?ka.to_aepp:void 0,target:o,origin:t})}};t[s.id]=s,e({wallets:t,newWallet:s})})),Object.keys(t).length&&e({wallets:t})},stopScan(){this.connection.disconnect()}}}),Ts=Yr()({init(e){let{connectionInfo:t={},port:n,debug:r=!1}=e;if(!qa().runtime)throw new Error("Runtime is not accessible in your environment");this.debug=r,this.connectionInfo=t,this.port=n||qa().runtime.connect(t.id||void 0)},methods:{connect:function(e,t){if(this.isConnected())throw new Error("You already connected");this.handler=(t,n)=>{this.debug&&console.log("Receive message: ",t),e(t,n)},this.port.onMessage.addListener(this.handler),this.port.onDisconnect.addListener((()=>{"function"==typeof t&&t({},this),this.port.disconnect()}))},sendMessage:function(e){if(!this.port)throw new Error("You dont have connection. Please connect before");this.debug&&console.log("Send message: ",e),this.port.postMessage(e)},disconnect:function(){try{this.port.disconnect()}catch(e){console.warning("From BrowserRuntimeConnection: ",e)}},isConnected:function(){return"function"==typeof this.port.onMessage.hasListeners?this.port.onMessage.hasListeners():this.port.onMessage.hasListener(this.handler)}}},ws);const Cs=dn}(),I}()}));
|
|
2
2
|
//# sourceMappingURL=aepp-sdk.browser.js.map
|