@aeternity/aepp-sdk 11.0.0 → 11.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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/ae/contract.mjs +1 -1
- package/es/ae/contract.mjs.map +1 -1
- package/es/channel/index.mjs +1 -1
- package/es/channel/index.mjs.map +1 -1
- package/es/channel/internal.mjs +3 -4
- package/es/channel/internal.mjs.map +1 -1
- package/es/contract/aci.mjs +1 -1
- package/es/contract/aci.mjs.map +1 -1
- package/es/encoder.d.ts +26 -0
- package/es/tx/builder/constants.mjs +108 -0
- package/es/tx/builder/constants.mjs.map +1 -0
- package/es/tx/builder/helpers.mjs +10 -52
- package/es/tx/builder/helpers.mjs.map +1 -1
- package/es/tx/builder/schema.mjs +4 -107
- package/es/tx/builder/schema.mjs.map +1 -1
- package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs +1 -1
- package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs.map +1 -1
- package/es/utils/crypto.mjs +2 -12
- package/es/utils/crypto.mjs.map +1 -1
- package/es/utils/encoder.mjs +106 -0
- package/es/utils/encoder.mjs.map +1 -0
- package/package.json +4 -2
- package/src/ae/contract.js +1 -1
- package/src/channel/index.js +6 -1
- package/src/channel/internal.js +5 -6
- package/src/contract/aci.js +1 -1
- package/src/tx/builder/constants.js +100 -0
- package/src/tx/builder/helpers.js +7 -53
- package/src/tx/builder/schema.js +1 -98
- package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +1 -1
- package/src/utils/crypto.js +2 -12
- package/src/utils/encoder.ts +101 -0
package/dist/aepp-sdk.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@stamp/it"),require("@aeternity/uuid"),require("@stamp/required"),require("bignumber.js"),require("bs58"),require("tweetnacl"),require("aes-js"),require("sha.js"),require("@aeternity/blakejs"),require("rlp"),require("swagger-client"),require("cross-fetch"),require("@aeternity/json-bigint"),require("@aeternity/aepp-calldata"),require("websocket"),require("events"),require("@aeternity/argon2-browser/dist/argon2-bundled.min.js"),require("tweetnacl-auth"),require("bip32-path")):"function"==typeof define&&define.amd?define(["@stamp/it","@aeternity/uuid","@stamp/required","bignumber.js","bs58","tweetnacl","aes-js","sha.js","@aeternity/blakejs","rlp","swagger-client","cross-fetch","@aeternity/json-bigint","@aeternity/aepp-calldata","websocket","events","@aeternity/argon2-browser/dist/argon2-bundled.min.js","tweetnacl-auth","bip32-path"],t):"object"==typeof exports?exports.Ae=t(require("@stamp/it"),require("@aeternity/uuid"),require("@stamp/required"),require("bignumber.js"),require("bs58"),require("tweetnacl"),require("aes-js"),require("sha.js"),require("@aeternity/blakejs"),require("rlp"),require("swagger-client"),require("cross-fetch"),require("@aeternity/json-bigint"),require("@aeternity/aepp-calldata"),require("websocket"),require("events"),require("@aeternity/argon2-browser/dist/argon2-bundled.min.js"),require("tweetnacl-auth"),require("bip32-path")):e.Ae=t(e["@stamp/it"],e["@aeternity/uuid"],e["@stamp/required"],e["bignumber.js"],e.bs58,e.tweetnacl,e["aes-js"],e["sha.js"],e["@aeternity/blakejs"],e.rlp,e["swagger-client"],e["cross-fetch"],e["@aeternity/json-bigint"],e["@aeternity/aepp-calldata"],e.websocket,e.events,e["@aeternity/argon2-browser/dist/argon2-bundled.min.js"],e["tweetnacl-auth"],e["bip32-path"])}(global,(function(e,t,n,r,a,s,o,i,c,d,l,u,h,p,f,m,g,y,w){return(()=>{"use strict";var b={946:e=>{e.exports=p},289:e=>{e.exports=g},343:e=>{e.exports=c},911:e=>{e.exports=h},983:e=>{e.exports=t},910:t=>{t.exports=e},180:e=>{e.exports=n},236:e=>{e.exports=o},192:e=>{e.exports=r},986:e=>{e.exports=w},783:e=>{e.exports=a},503:e=>{e.exports=u},735:e=>{e.exports=m},485:e=>{e.exports=d},433:e=>{e.exports=i},659:e=>{e.exports=l},79:e=>{e.exports=s},882:e=>{e.exports=y},397:e=>{e.exports=f}},x={};function v(e){var t=x[e];if(void 0!==t)return t.exports;var n=x[e]={exports:{}};return b[e](n,n.exports,v),n.exports}v.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return v.d(t,{a:t}),t},v.d=(e,t)=>{for(var n in t)v.o(t,n)&&!v.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},v.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),v.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var T={};return(()=>{v.r(T),v.d(T,{AccountBase:()=>Ls,AccountError:()=>b,AccountMultiple:()=>ho,Ae:()=>Qs,Aens:()=>fo,AensError:()=>x,AensPointerContextError:()=>Y,AeppError:()=>I,AeppWalletHelpers:()=>d,AeppWalletSchema:()=>c,AlreadyConnectedError:()=>et,AmbiguousEventDefinitionError:()=>Te,AmountFormatter:()=>s,ArgumentCountMismatchError:()=>B,ArgumentError:()=>S,BaseError:()=>w,BrowserRuntimeConnection:()=>fc,BrowserWindowMessageConnection:()=>hc,BytecodeMismatchError:()=>ue,Bytes:()=>e,Chain:()=>xs,ChainNode:()=>to,Channel:()=>ic,ChannelCallError:()=>se,ChannelConnectionError:()=>oe,ChannelError:()=>C,ChannelPingTimedOutError:()=>ie,CompilerError:()=>E,ContentScriptBridge:()=>dc,Contract:()=>bo,ContractCompilerHttp:()=>mo,ContractError:()=>A,Crypto:()=>r,CryptographyError:()=>k,DecodeError:()=>De,DisconnectedError:()=>je,DryRunError:()=>qe,DuplicateCallbackError:()=>Z,DuplicateContractError:()=>he,DuplicateNodeError:()=>Me,EncodeError:()=>Fe,GeneralizedAccount:()=>To,HdWallet:()=>i,IllegalArgumentError:()=>P,IllegalBidFeeError:()=>$e,InactiveContractError:()=>pe,InsufficientBalanceError:()=>j,InsufficientNameFeeError:()=>X,InternalError:()=>G,InvalidAensNameError:()=>J,InvalidAuthDataError:()=>le,InvalidChecksumError:()=>Ie,InvalidDenominationError:()=>M,InvalidDerivationPathError:()=>Ce,InvalidKeyError:()=>Ee,InvalidKeypairError:()=>Q,InvalidMethodInvocationError:()=>fe,InvalidNameError:()=>R,InvalidPasswordError:()=>Ae,InvalidRpcMessageError:()=>ee,InvalidSignatureError:()=>Ue,InvalidTxError:()=>He,InvalidTxParamsError:()=>Ke,Keystore:()=>a,MemoryAccount:()=>uo,MerkleTreeHashMismatchError:()=>ke,MessageDirectionError:()=>tt,MissingCallbackError:()=>te,MissingContractAddressError:()=>me,MissingContractDefError:()=>ge,MissingEventDefinitionError:()=>ve,MissingFunctionNameError:()=>ye,MissingNodeInTreeError:()=>_e,MissingParamError:()=>D,NoBrowserFoundError:()=>F,NoDefaultAensPointerError:()=>We,NoSerializerFoundError:()=>V,NoSuchContractFunctionError:()=>be,NoWalletConnectedError:()=>nt,Node:()=>Ks,NodeError:()=>_,NodeInvocationError:()=>we,NodeNotFoundError:()=>Re,NodePool:()=>Js,NotHardenedSegmentError:()=>Ne,NotImplementedError:()=>W,NotPayableFunctionError:()=>xe,Oracle:()=>Wo,PayloadLengthError:()=>Ve,PrefixMismatchError:()=>Le,PrefixNotFoundError:()=>Ge,RequestTimedOutError:()=>q,RpcAepp:()=>Lo,RpcConnectionError:()=>rt,RpcWallet:()=>Zo,SCHEMA:()=>t,SchemaNotFoundError:()=>Qe,TagNotFoundError:()=>ze,Transaction:()=>co,TransactionError:()=>O,Tx:()=>ws,TxBuilder:()=>o,TxBuilderHelper:()=>n,TxNotInChainError:()=>Ye,TxTimedOutError:()=>$,TypeError:()=>U,UnAuthorizedAccountError:()=>ne,UnavailableAccountError:()=>z,UnexpectedChannelMessageError:()=>ce,Universal:()=>cc,UnknownChannelStateError:()=>de,UnknownNodeLengthError:()=>Se,UnknownPathNibbleError:()=>Pe,UnknownRpcClientError:()=>re,UnknownTxError:()=>Xe,UnsubscribedAccountError:()=>ae,UnsupportedABIversionError:()=>Je,UnsupportedAlgorithmError:()=>Oe,UnsupportedChildIndexError:()=>Be,UnsupportedPlatformError:()=>H,UnsupportedProtocolError:()=>K,UnsupportedVMversionError:()=>Ze,UnsupportedVersionError:()=>L,WalletDetector:()=>pc,WalletError:()=>N,genSwaggerClient:()=>Fs,getDefaultPointerKey:()=>mc,verifyTransaction:()=>Xs});var e={};v.r(e),v.d(e,{bigNumberToByteArray:()=>it,str2buf:()=>dt,toBytes:()=>ct});var t={};v.r(t),v.d(t,{ABI_VERSIONS:()=>sn,AMOUNT:()=>Ct,BASE_GAS:()=>un,CLIENT_TTL:()=>Pt,CONTRACT_BYTE_CODE_LIMA:()=>Tn,DEFAULT_FEE:()=>pn,DRY_RUN_ACCOUNT:()=>_t,FIELD_TYPES:()=>ln,GAS_MAX:()=>Et,GAS_PER_BYTE:()=>hn,ID_TAG:()=>yn,ID_TAG_PREFIX:()=>bn,KEY_BLOCK_INTERVAL:()=>fn,MAX_AUTH_FUN_GAS:()=>kt,MIN_GAS_PRICE:()=>At,NAME_BID_MAX_LENGTH:()=>Dt,NAME_BID_RANGES:()=>Vt,NAME_BID_TIMEOUTS:()=>qt,NAME_BID_TIMEOUT_BLOCKS:()=>Mt,NAME_FEE_BID_INCREMENT:()=>jt,NAME_FEE_MULTIPLIER:()=>Bt,NAME_MAX_CLIENT_TTL:()=>St,NAME_MAX_LENGTH_FEE:()=>Rt,NAME_MAX_TTL:()=>Nt,NAME_TTL:()=>Ot,OBJECT_ID_TX_TYPE:()=>dn,OBJECT_TAG_SIGNED_TRANSACTION:()=>$t,ORACLE_TTL:()=>vt,POINTER_KEY_BY_PREFIX:()=>Ft,PREFIX_ID_TAG:()=>wn,PROTOCOL_VERSIONS:()=>on,PROTOCOL_VM_ABI:()=>cn,QUERY_FEE:()=>xt,QUERY_TTL:()=>Tt,RESPONSE_TTL:()=>It,TX_DESERIALIZATION_SCHEMA:()=>gr,TX_FEE_BASE_GAS:()=>mn,TX_FEE_OTHER_GAS:()=>gn,TX_SERIALIZATION_SCHEMA:()=>mr,TX_TTL:()=>bt,TX_TYPE:()=>rn,VM_VERSIONS:()=>an,VSN:()=>yt,VSN_2:()=>wt});var n={};v.r(n),v.d(n,{buildContractId:()=>xr,buildPointers:()=>qr,commitmentHash:()=>Cr,computeAuctionEndBlock:()=>Qr,computeBidFee:()=>Gr,createSalt:()=>br,decode:()=>jr,encode:()=>Mr,ensureNameValid:()=>Hr,formatSalt:()=>Tr,getDefaultPointerKey:()=>Wr,getMinimumNameFee:()=>Lr,isAuctionName:()=>zr,isNameValid:()=>Kr,oracleQueryId:()=>vr,produceNameId:()=>Ir,readId:()=>Dr,readInt:()=>Vr,readPointers:()=>$r,writeId:()=>Rr,writeInt:()=>Fr});var r={};v.r(r),v.d(r,{decryptKey:()=>oa,encodeContractAddress:()=>na,encodeUnsigned:()=>ta,encryptKey:()=>sa,generateKeyPair:()=>aa,generateKeyPairFromSecret:()=>ra,getAddressFromPriv:()=>Xr,hash:()=>pt,isAddressValid:()=>Jr,isValidKeypair:()=>ha,messageToHash:()=>da,salt:()=>ea,sha256hash:()=>Zr,sign:()=>ia,signMessage:()=>la,verify:()=>ca,verifyMessage:()=>ua});var a={};v.r(a),v.d(a,{deriveKeyUsingArgon2id:()=>ya,dump:()=>Ca,getAddressFromPriv:()=>Ta,recover:()=>Ia,validateKeyObj:()=>Ea});var s={};v.r(s),v.d(s,{AE_AMOUNT_FORMATS:()=>ka,DENOMINATION_MAGNITUDE:()=>_a,default:()=>Ma,formatAmount:()=>Sa,toAe:()=>Oa,toAettos:()=>Na});var o={};v.r(o),v.d(o,{buildRawTx:()=>Qa,buildTx:()=>Xa,buildTxHash:()=>Za,calculateFee:()=>La,calculateMinFee:()=>Ka,default:()=>es,unpackRawTx:()=>za,unpackTx:()=>Ja,validateParams:()=>Ga});var i={};v.r(i),v.d(i,{deriveChild:()=>us,derivePathFromKey:()=>os,derivePathFromSeed:()=>is,generateSaveHDWalletFromSeed:()=>hs,getHdWalletAccountFromSeed:()=>fs,getKeyPair:()=>ds,getMasterKeyFromSeed:()=>ls,getSaveHDWalletAccounts:()=>ps});var c={};v.r(c),v.d(c,{ERRORS:()=>No,MESSAGE_DIRECTION:()=>Eo,METHODS:()=>_o,RPC_STATUS:()=>Oo,SUBSCRIPTION_TYPES:()=>ko,VERSION:()=>Co,WALLET_TYPE:()=>Ao});var d={};v.r(d),v.d(d,{getBrowserAPI:()=>So,getHandler:()=>jo,isInIframe:()=>Po,isValidAccounts:()=>Fo,message:()=>Mo,responseMessage:()=>Ro,sendMessage:()=>Bo,sendResponseMessage:()=>Do});var l=v(79),u=v.n(l),h=v(236),p=v.n(h),f=v(433),m=v.n(f),g=v(192),y=v.n(g);class w extends Error{constructor(e){super(e),this.name="BaseError"}}class b extends w{constructor(e){super(e),this.name="AccountError"}}class x extends w{constructor(e){super(e),this.name="AensError"}}class I extends w{constructor(e){super(e),this.name="AeppError"}}class C extends w{constructor(e){super(e),this.name="ChannelError"}}class E extends w{constructor(e){super(e),this.name="CompilerError"}}class A extends w{constructor(e){super(e),this.name="ContractError"}}class k extends w{constructor(e){super(e),this.name="CryptographyError"}}class _ extends w{constructor(e){super(e),this.name="NodeError"}}class O extends w{constructor(e){super(e),this.name="TransactionError"}}class N extends w{constructor(e){super(e),this.name="WalletError"}}class S extends w{constructor(e,t,n){super(`${e} should be ${t}, got ${n} instead`),this.name="ArgumentError"}}class P extends k{constructor(e){super(e),this.name="IllegalArgumentError"}}class B extends w{constructor(e,t,n){super(`${e} expects ${t} arguments, got ${n} instead`),this.name="ArgumentCountMismatchError"}}class j extends w{constructor(e){super(e),this.name="InsufficientBalanceError"}}class M extends w{constructor(e){super(e),this.name="InvalidDenominationError"}}class R extends w{constructor(e){super(e),this.name="InvalidNameError"}}class D extends w{constructor(e){super(e),this.name="MissingParamError"}}class F extends w{constructor(){super("Browser is not detected"),this.name="NoBrowserFoundError"}}class V extends w{constructor(){super("Byte serialization not supported"),this.name="NoSerializerFoundError"}}class q extends w{constructor(e,t,n){super(void 0!==t&&void 0!==n?`Giving up after ${e}ms, current height: ${t}, desired height: ${n}`:`Giving up after ${e} ms`),this.name="RequestTimedOutError"}}class $ extends w{constructor(e,t,n){super([`Giving up after ${e} blocks mined`,`transaction hash: ${t}`,...n?[`status: ${n}`]:[]].join(", ")),this.name="TxTimedOutError"}}class U extends w{constructor(e){super(e),this.name="TypeError"}}class H extends w{constructor(e){super(e),this.name="UnsupportedPlatformError"}}class K extends w{constructor(e){super(e),this.name="UnsupportedProtocolError"}}class W extends w{constructor(e){super(e),this.name="NotImplementedError"}}class L extends w{constructor(e,t,n,r){super(`Unsupported ${e} version ${t}. Supported: >= ${n} < ${r}`),this.name="UnsupportedVersionError"}}class G extends w{constructor(e){super(e),this.name="InternalError"}}class Q extends b{constructor(e){super(e),this.name="InvalidKeypairError"}}class z extends b{constructor(e){super(`Account for ${e} not available`),this.name="UnavailableAccountError"}}class Y extends x{constructor(e,t){super(`Name ${e} don't have pointers for ${t}`),this.name="AensPointerContextError"}}class X extends x{constructor(e,t){super(`the provided fee ${e} is not enough to execute the claim, required: ${t}`),this.name="InsufficientNameFeeError"}}class J extends x{constructor(e){super(e),this.name="InvalidAensNameError"}}class Z extends I{constructor(){super("Callback Already exist"),this.name="DuplicateCallbackError"}}class ee extends I{constructor(e){super(`Received invalid message: ${e}`),this.name="InvalidRpcMessageError"}}class te extends I{constructor(e){super(`Can't find callback for this messageId ${e}`),this.name="MissingCallbackError"}}class ne extends I{constructor(e){super(`You do not have access to account ${e}`),this.name="UnAuthorizedAccountError"}}class re extends I{constructor(e){super(`RpcClient with id ${e} do not exist`),this.name="UnknownRpcClientError"}}class ae extends I{constructor(){super("You are not subscribed for an account."),this.name="UnsubscribedAccountError"}}class se extends C{constructor(e){super(e),this.name="ChannelCallError"}}class oe extends C{constructor(e){super(e),this.name="ChannelConnectionError"}}class ie extends C{constructor(){super("Server pong timed out"),this.name="ChannelPingTimedOutError"}}class ce extends C{constructor(e){super(e),this.name="UnexpectedChannelMessageError"}}class de extends C{constructor(){super("State Channels FSM entered unknown state"),this.name="UnknownChannelStateError"}}class le extends E{constructor(e){super(e),this.name="InvalidAuthDataError"}}class ue extends A{constructor(e){super(`Contract ${e} do not correspond to the bytecode deployed on the chain`),this.name="BytecodeMismatchError"}}class he extends A{constructor(){super("Contract already deployed"),this.name="DuplicateContractError"}}class pe extends A{constructor(e){super(`Contract with address ${e} not active`),this.name="InactiveContractError"}}class fe extends A{constructor(e){super(e),this.name="InvalidMethodInvocationError"}}class me extends A{constructor(e){super(e),this.name="MissingContractAddressError"}}class ge extends A{constructor(){super("Either ACI or source code is required"),this.name="MissingContractDefError"}}class ye extends A{constructor(){super("Function name is required"),this.name="MissingFunctionNameError"}}class we extends A{constructor(e){var t;super("Invocation failed"+(""===(e=null!==(t=e)&&void 0!==t?t:"")?"":`: "${e}"`)),this.name="NodeInvocationError"}}class be extends A{constructor(e){super(`Function ${e} doesn't exist in contract`),this.name="NoSuchContractFunctionError"}}class xe extends A{constructor(e,t){super(`You try to pay "${e}" to function "${t}" which is not payable. Only payable function can accept tokens`),this.name="NotPayableFunctionError"}}class ve extends A{constructor(e,t){super(`Can't find definition of ${e} event emitted by ${t} (use omitUnknown option to ignore events like this)`),this.name="MissingEventDefinitionError"}}class Te extends A{constructor(e,t){super(`Found multiple definitions of "${t[0][1]}" event emitted by ${e} in ${t.map((e=>{let[t]=e;return`"${t}"`})).join(", ")} contracts (use contractAddressToName option to specify contract name corresponding to address)`),this.name="AmbiguousEventDefinitionError"}}class Ie extends k{constructor(){super("Invalid checksum"),this.name="InvalidChecksumError"}}class Ce extends k{constructor(){super("Invalid path"),this.name="InvalidDerivationPathError"}}class Ee extends k{constructor(e){super(e),this.name="InvalidKeyError"}}class Ae extends k{constructor(e){super(e),this.name="InvalidPasswordError"}}class ke extends k{constructor(){super("Node hash is not equal to provided one"),this.name="MerkleTreeHashMismatchError"}}class _e extends k{constructor(e){super(e),this.name="MissingNodeInTreeError"}}class Oe extends k{constructor(e){super(e+" is not available"),this.name="UnsupportedAlgorithmError"}}class Ne extends k{constructor(e){super(e),this.name="NotHardenedSegmentError"}}class Se extends k{constructor(e){super(`Unknown node length: ${e}`),this.name="UnknownNodeLengthError"}}class Pe extends k{constructor(e){super(`Unknown path nibble: ${e}`),this.name="UnknownPathNibbleError"}}class Be extends k{constructor(e){super(`Child index #${e} is not supported`),this.name="UnsupportedChildIndexError"}}class je extends _{constructor(){super("Can not get node info. Node is not connected"),this.name="DisconnectedError"}}class Me extends _{constructor(e){super(`Node with name ${e} already exist`),this.name="DuplicateNodeError"}}class Re extends _{constructor(e){super(e),this.name="NodeNotFoundError"}}class De extends O{constructor(e){super(e),this.name="DecodeError"}}class Fe extends O{constructor(e){super(e),this.name="EncodeError"}}class Ve extends O{constructor(e){super(e),this.name="PayloadLengthError"}}class qe extends O{constructor(e){super(e),this.name="DryRunError"}}class $e extends O{constructor(e){super(e),this.name="IllegalBidFeeError"}}class Ue extends O{constructor(e){super(e),this.name="InvalidSignatureError"}}class He extends O{constructor(e){super(e),this.name="InvalidTxError"}}class Ke extends O{constructor(e){super(e),this.name="InvalidTxParamsError"}}class We extends O{constructor(e){super(`Default AENS pointer key is not defined for ${e} prefix`),this.name="NoDefaultAensPointerError"}}class Le extends O{constructor(e,t){super(`Encoded string have a wrong type: ${e} (expected: ${t})`),this.name="PrefixMismatchError"}}class Ge extends O{constructor(e){super(`Prefix for id-tag ${e} not found.`),this.name="PrefixNotFoundError"}}class Qe extends O{constructor(e){super(e),this.name="SchemaNotFoundError"}}class ze extends O{constructor(e){super(`Id tag for prefix ${e} not found.`),this.name="DecodeError"}}class Ye extends O{constructor(e){super(`Transaction ${e} is removed from chain`),this.name="TxNotInChainError"}}class Xe extends O{constructor(e){super(e),this.name="UnknownTxError"}}class Je extends O{constructor(e){super(e),this.name="UnsupportedABIversionError"}}class Ze extends O{constructor(e){super(e),this.name="UnsupportedVMversionError"}}class et extends N{constructor(e){super(e),this.name="AlreadyConnectedError"}}class tt extends N{constructor(e){super(e),this.name="MessageDirectionError"}}class nt extends N{constructor(e){super(e),this.name="NoWalletConnectedError"}}class rt extends N{constructor(e){super(e),this.name="RpcConnectionError"}}function at(e){return e.replace(/_./g,(e=>e[1].toUpperCase()))}function st(e){return e.replace(/[A-Z]/g,(e=>`_${e.toLowerCase()}`))}function ot(e){return e.length%2==0&&/^[0-9a-f]+$/i.test(e)}function it(e){if(!e.isInteger())throw new U(`Unexpected not integer value: ${e.toFixed()}`);let t=e.toString(16);return t.length%2==1&&(t="0"+t),Buffer.from(t,"hex")}function ct(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(null==e)return Buffer.from([]);if(Number.isInteger(e)||y().isBigNumber(e)||t)return y().isBigNumber(e)||(e=new(y())(e)),it(e);if("string"==typeof e)return Buffer.from(e);throw new V}function dt(e,t){var n;return Buffer.from(e,null!==(n=null!=t?t:ot(e)?"hex":void 0)&&void 0!==n?n:function(e){if(e.length%4>0||/[^0-9a-z+/=]/i.test(e))return!1;const t=e.indexOf("=");return-1===t||/={1,2}/.test(e.slice(t))}(e)?"base64":void 0)}var lt=v(783),ut=v.n(lt),ht=v(343);function pt(e){return Buffer.from((0,ht.blake2b)(e,void 0,32))}class ft{static serialize(e){return e}static deserialize(e){return e}}class mt extends ft{static serialize(e){return Rr(Kr(e)?Ir(e):e)}static deserialize(e){return Dr(e)}}class gt extends ft{static serialize(e,t){let{name:n}=t;if(+e)throw new P(`Contract deposit is not refundable, so it should be equal 0, got ${e} instead`);return Fr(0)}static deserialize(e){return Vr(e)}}const yt=1,wt=2,bt=0,xt=3e4,vt={type:"delta",value:500},Tt={type:"delta",value:10},It={type:"delta",value:10},Ct=0,Et=1579e3,At=1e9,kt=5e4,_t={pub:"ak_11111111111111111111111111111111273Yts",amount:"100000000000000000000000000000000000"},Ot=18e4,Nt=36e3,St=84600,Pt=St,Bt=1e14,jt=.05,Mt=480,Rt=31,Dt=12,Ft={ak:"account_pubkey",ok:"oracle_pubkey",ct:"contract_pubkey",ch:"channel"},Vt={31:y()(3).times(Bt),30:y()(5).times(Bt),29:y()(8).times(Bt),28:y()(13).times(Bt),27:y()(21).times(Bt),26:y()(34).times(Bt),25:y()(55).times(Bt),24:y()(89).times(Bt),23:y()(144).times(Bt),22:y()(233).times(Bt),21:y()(377).times(Bt),20:y()(610).times(Bt),19:y()(987).times(Bt),18:y()(1597).times(Bt),17:y()(2584).times(Bt),16:y()(4181).times(Bt),15:y()(6765).times(Bt),14:y()(10946).times(Bt),13:y()(17711).times(Bt),12:y()(28657).times(Bt),11:y()(46368).times(Bt),10:y()(75025).times(Bt),9:y()(121393).times(Bt),8:y()(196418).times(Bt),7:y()(317811).times(Bt),6:y()(514229).times(Bt),5:y()(832040).times(Bt),4:y()(1346269).times(Bt),3:y()(2178309).times(Bt),2:y()(3524578).times(Bt),1:y()(5702887).times(Bt)},qt={13:y()(0),12:y()(Mt),8:y()(31).times(Mt),4:y()(62).times(Mt)},$t=11,Ut=521,Ht=570,Kt=571,Wt=572,Lt=573,Gt=574,Qt=575,zt=621,Yt=622,Xt=623,Jt=624,Zt=625,en=626,tn=(e,t,n)=>[e,t,n],nn=(e,t)=>[e,t],rn={account:"account",signed:"signedTx",spend:"spendTx",nameClaim:"nameClaimTx",namePreClaim:"namePreClaimTx",nameUpdate:"nameUpdateTx",nameRevoke:"nameRevokeTx",nameTransfer:"nameTransfer",contract:"contract",contractCreate:"contractCreateTx",contractCall:"contractCallTx",contractCallResult:"contractCallResult",oracleRegister:"oracleRegister",oracleExtend:"oracleExtend",oracleQuery:"oracleQuery",oracleResponse:"oracleResponse",channelCreate:"channelCreate",channelCloseMutual:"channelCloseMutual",channelCloseSolo:"channelCloseSolo",channelSlash:"channelSlash",channelDeposit:"channelDeposit",channelWithdraw:"channelWithdraw",channelSettle:"channelSettle",channelOffChain:"channelOffChain",channelForceProgress:"channelForceProgress",channel:"channel",channelSnapshotSolo:"channelSnapshotSolo",channelOffChainUpdateTransfer:"channelOffChainUpdateTransfer",channelOffChainUpdateDeposit:"channelOffChainUpdateDeposit",channelOffChainUpdateWithdrawal:"channelOffChainUpdateWithdrawal",channelOffChainCreateContract:"channelOffChainCreateContract",channelOffChainCallContract:"channelOffChainCallContract",channelReconnect:"channelReconnect",proofOfInclusion:"proofOfInclusion",stateTrees:"stateTrees",merklePatriciaTree:"merklePatriciaTree",merklePatriciaTreeValue:"merklePatriciaTreeValue",contractsTree:"contractsTree",contractCallsTree:"contractCallsTree",channelsTree:"channelsTree",nameserviceTree:"nameserviceTree",oraclesTree:"oraclesTree",accountsTree:"accountsTree",gaAttach:"gaAttach",gaMeta:"gaMeta",payingFor:"payingFor",sophiaByteCode:"sophiaByteCode"},an={NO_VM:0,SOPHIA:1,SOPHIA_IMPROVEMENTS_MINERVA:3,SOPHIA_IMPROVEMENTS_FORTUNA:4,FATE:5,SOPHIA_IMPROVEMENTS_LIMA:6,FATE_2:7},sn={NO_ABI:0,SOPHIA:1,FATE:3},on={IRIS:5},cn={[on.IRIS]:{[rn.contractCreate]:{vmVersion:[an.FATE_2],abiVersion:[sn.FATE]},[rn.contractCall]:{vmVersion:[an.FATE_2,an.FATE,an.SOPHIA_IMPROVEMENTS_LIMA,an.SOPHIA_IMPROVEMENTS_FORTUNA,an.SOPHIA,an.SOPHIA_IMPROVEMENTS_MINERVA],abiVersion:[sn.FATE,sn.SOPHIA]},[rn.oracleRegister]:{vmVersion:[],abiVersion:[sn.NO_ABI,sn.SOPHIA]}}},dn={10:rn.account,[$t]:rn.signed,12:rn.spend,32:rn.nameClaim,33:rn.namePreClaim,34:rn.nameUpdate,35:rn.nameRevoke,36:rn.nameTransfer,40:rn.contract,42:rn.contractCreate,43:rn.contractCall,41:rn.contractCallResult,22:rn.oracleRegister,25:rn.oracleExtend,23:rn.oracleQuery,24:rn.oracleResponse,50:rn.channelCreate,53:rn.channelCloseMutual,54:rn.channelCloseSolo,55:rn.channelSlash,[Ut]:rn.channelForceProgress,51:rn.channelDeposit,52:rn.channelWithdraw,56:rn.channelSettle,57:rn.channelOffChain,58:rn.channel,59:rn.channelSnapshotSolo,[Ht]:rn.channelOffChainUpdateTransfer,[Kt]:rn.channelOffChainUpdateDeposit,[Wt]:rn.channelOffChainUpdateWithdrawal,[Lt]:rn.channelOffChainCreateContract,[Gt]:rn.channelOffChainCallContract,[Qt]:rn.channelReconnect,60:rn.proofOfInclusion,62:rn.stateTrees,63:rn.merklePatriciaTree,64:rn.merklePatriciaTreeValue,[zt]:rn.contractsTree,[Yt]:rn.contractCallsTree,[Xt]:rn.channelsTree,[Jt]:rn.nameserviceTree,[Zt]:rn.oraclesTree,[en]:rn.accountsTree,80:rn.gaAttach,81:rn.gaMeta,82:rn.payingFor,70:rn.sophiaByteCode},ln={int:"int",amount:"amount",id:"id",ids:"ids",string:"string",binary:"binary",rlpBinary:"rlpBinary",rlpBinaries:"rlpBinaries",rawBinary:"rawBinary",bool:"bool",hex:"hex",signatures:"signatures",pointers:"pointers",offChainUpdates:"offChainUpdates",callStack:"callStack",proofOfInclusion:"proofOfInclusion",mptrees:"mptrees",callReturnType:"callReturnType",ctVersion:"ctVersion",sophiaCodeTypeInfo:"sophiaCodeTypeInfo",payload:"payload",any:"any",stateTree:"stateTree"},un=15e3,hn=20,pn=2e4,fn=3,mn=e=>{const t={[rn.channelForceProgress]:30,[rn.channelOffChain]:0,[rn.channelOffChainCallContract]:0,[rn.channelOffChainCreateContract]:0,[rn.channelOffChainUpdateDeposit]:0,[rn.channelOffChainUpdateWithdrawal]:0,[rn.channelOffChainUpdateTransfer]:0,[rn.contractCreate]:5,[rn.contractCall]:12,[rn.gaAttach]:5,[rn.gaMeta]:5,[rn.payingFor]:.2}[e]||1;return new(y())(t*un)},gn=(e,t,n)=>{let{relativeTtl:r,innerTxSize:a}=n;switch(e){case rn.oracleRegister:case rn.oracleExtend:case rn.oracleQuery:case rn.oracleResponse:return new(y())(t).times(hn).plus(Math.ceil(32e3*r/Math.floor(525600/fn)));case rn.gaMeta:case rn.payingFor:return new(y())(t).minus(a).times(hn);default:return new(y())(t).times(hn)}},yn={account:1,name:2,commitment:3,oracle:4,contract:5,channel:6},wn={ak:yn.account,nm:yn.name,cm:yn.commitment,ok:yn.oracle,ct:yn.contract,ch:yn.channel},bn=(xn=wn,Object.entries(xn).reduce(((e,t)=>{let[n,r]=t;return(e[r]=n)&&e}),{}));var xn;const vn=[tn("tag",ln.int),tn("VSN",ln.int)],Tn=[...vn,tn("sourceCodeHash",ln.rawBinary),tn("typeInfo",ln.sophiaCodeTypeInfo),tn("byteCode",ln.rawBinary),tn("compilerVersion",ln.string),tn("payable",ln.bool)],In=[...vn,tn("flags",ln.int),tn("nonce",ln.int),tn("balance",ln.int),tn("gaContract",ln.id,["ct","nm"]),tn("gaAuthFun",ln.binary,"cb")],Cn=[...vn,tn("senderId",ln.id,"ak"),tn("recipientId",ln.id,["ak","nm"]),tn("amount",ln.amount),tn("fee",ln.int),tn("ttl",ln.int),tn("nonce",ln.int),tn("payload",ln.payload)],En=[...vn,tn("signatures",ln.signatures),tn("encodedTx",ln.rlpBinary)],An=[...vn,tn("accountId",ln.id,"ak"),tn("nonce",ln.int),tn("commitmentId",ln.id,"cm"),tn("fee",ln.int),tn("ttl",ln.int)],kn=[...vn,tn("accountId",ln.id,"ak"),tn("nonce",ln.int),tn("name",class extends ft{static serialize(e){return Hr(e),Buffer.from(e)}static deserialize(e){return e.toString()}}),tn("nameSalt",ln.int),tn("nameFee",class extends ft{static serialize(e,t){var n;let{name:r}=t;const a=Lr(r);if(null!==(n=e)&&void 0!==n||(e=a),a.gt(e))throw new X(e,a);return Fr(e)}static deserialize(e){return Vr(e)}}),tn("fee",ln.int),tn("ttl",ln.int)],_n=[...vn,tn("accountId",ln.id,"ak"),tn("nonce",ln.int),tn("nameId",mt),tn("nameTtl",ln.int),tn("pointers",ln.pointers),tn("clientTtl",ln.int),tn("fee",ln.int),tn("ttl",ln.int)],On=[...vn,tn("accountId",ln.id,"ak"),tn("nonce",ln.int),tn("nameId",mt),tn("recipientId",ln.id,["ak","nm"]),tn("fee",ln.int),tn("ttl",ln.int)],Nn=[...vn,tn("accountId",ln.id,"ak"),tn("nonce",ln.int),tn("nameId",mt),tn("fee",ln.int),tn("ttl",ln.int)],Sn=[...vn,tn("owner",ln.id,"ak"),tn("ctVersion",ln.int),tn("code",ln.binary,"cb"),tn("log",ln.binary,"cb"),tn("active",ln.bool),tn("referers",ln.ids,"ak"),tn("deposit",gt)],Pn=[...vn,tn("ownerId",ln.id,"ak"),tn("nonce",ln.int),tn("code",ln.binary,"cb"),tn("authFun",ln.rawBinary),tn("ctVersion",ln.ctVersion),tn("fee",ln.int),tn("ttl",ln.int),tn("gas",ln.int),tn("gasPrice",ln.int),tn("callData",ln.binary,"cb")],Bn=[...vn,tn("gaId",ln.id,"ak"),tn("authData",ln.binary,"cb"),tn("abiVersion",ln.int),tn("fee",ln.int),tn("gas",ln.int),tn("gasPrice",ln.int),tn("tx",ln.rlpBinary)],jn=[...vn,tn("payerId",ln.id,"ak"),tn("nonce",ln.int),tn("fee",ln.int),tn("tx",ln.rlpBinary)],Mn=[...vn,tn("ownerId",ln.id,"ak"),tn("nonce",ln.int),tn("code",ln.binary,"cb"),tn("ctVersion",ln.ctVersion),tn("fee",ln.int),tn("ttl",ln.int),tn("deposit",gt),tn("amount",ln.amount),tn("gas",ln.int),tn("gasPrice",ln.int),tn("callData",ln.binary,"cb")],Rn=[...vn,tn("callerId",ln.id,"ak"),tn("nonce",ln.int),tn("contractId",ln.id,["ct","nm"]),tn("abiVersion",ln.int),tn("fee",ln.int),tn("ttl",ln.int),tn("amount",ln.amount),tn("gas",ln.int),tn("gasPrice",ln.int),tn("callData",ln.binary,"cb")],Dn=[...vn,tn("callerId",ln.id,"ak"),tn("callerNonce",ln.int),tn("height",ln.int),tn("contractId",ln.id,"ct"),tn("gasPrice",ln.int),tn("gasUsed",ln.int),tn("returnValue",ln.binary,"cb"),tn("returnType",ln.callReturnType),tn("log",ln.rawBinary)],Fn=[...vn,tn("accountId",ln.id,"ak"),tn("nonce",ln.int),tn("queryFormat",ln.string),tn("responseFormat",ln.string),tn("queryFee",ln.amount),tn("oracleTtlType",ln.int),tn("oracleTtlValue",ln.int),tn("fee",ln.int),tn("ttl",ln.int),tn("abiVersion",ln.int)],Vn=[...vn,tn("oracleId",ln.id,["ok","nm"]),tn("nonce",ln.int),tn("oracleTtlType",ln.int),tn("oracleTtlValue",ln.int),tn("fee",ln.int),tn("ttl",ln.int)],qn=[...vn,tn("senderId",ln.id,"ak"),tn("nonce",ln.int),tn("oracleId",ln.id,["ok","nm"]),tn("query",ln.string),tn("queryFee",ln.amount),tn("queryTtlType",ln.int),tn("queryTtlValue",ln.int),tn("responseTtlType",ln.int),tn("responseTtlValue",ln.int),tn("fee",ln.int),tn("ttl",ln.int)],$n=[...vn,tn("oracleId",ln.id,"ok"),tn("nonce",ln.int),tn("queryId",ln.binary,"oq"),tn("response",ln.string),tn("responseTtlType",ln.int),tn("responseTtlValue",ln.int),tn("fee",ln.int),tn("ttl",ln.int)],Un=[...vn,tn("initiator",ln.id,"ak"),tn("initiatorAmount",ln.int),tn("responder",ln.id,"ak"),tn("responderAmount",ln.int),tn("channelReserve",ln.int),tn("lockPeriod",ln.int),tn("ttl",ln.int),tn("fee",ln.int),tn("initiatorDelegateIds",ln.string),tn("responderDelegateIds",ln.string),tn("stateHash",ln.binary,"st"),tn("nonce",ln.int)],Hn=[...vn,tn("channelId",ln.id,"ch"),tn("fromId",ln.id,"ak"),tn("amount",ln.int),tn("ttl",ln.int),tn("fee",ln.int),tn("stateHash",ln.binary,"st"),tn("round",ln.int),tn("nonce",ln.int)],Kn=[...vn,tn("channelId",ln.id,"ch"),tn("toId",ln.id,"ak"),tn("amount",ln.int),tn("ttl",ln.int),tn("fee",ln.int),tn("stateHash",ln.binary,"st"),tn("round",ln.int),tn("nonce",ln.int)],Wn=[...vn,tn("channelId",ln.id,"ch"),tn("fromId",ln.id,"ak"),tn("initiatorAmountFinal",ln.int),tn("responderAmountFinal",ln.int),tn("ttl",ln.int),tn("fee",ln.int),tn("nonce",ln.int)],Ln=[...vn,tn("channelId",ln.id,"ch"),tn("fromId",ln.id,"ak"),tn("payload",ln.binary,"tx"),tn("poi",ln.binary,"pi"),tn("ttl",ln.int),tn("fee",ln.int),tn("nonce",ln.int)],Gn=[...vn,tn("channelId",ln.id,"ch"),tn("fromId",ln.id,"ak"),tn("payload",ln.binary,"tx"),tn("poi",ln.binary,"pi"),tn("ttl",ln.int),tn("fee",ln.int),tn("nonce",ln.int)],Qn=[...vn,tn("channelId",ln.id,"ch"),tn("fromId",ln.id,"ak"),tn("initiatorAmountFinal",ln.int),tn("responderAmountFinal",ln.int),tn("ttl",ln.int),tn("fee",ln.int),tn("nonce",ln.int)],zn=[...vn,tn("channelId",ln.id,"ch"),tn("fromId",ln.id,"ak"),tn("payload",ln.binary,"tx"),tn("round",ln.int),tn("update",ln.binary,"cb"),tn("stateHash",ln.binary,"st"),tn("offChainTrees",ln.stateTree),tn("ttl",ln.int),tn("fee",ln.int),tn("nonce",ln.int)],Yn=[...vn,tn("channelId",ln.id,"ch"),tn("round",ln.int),tn("stateHash",ln.binary,"st")],Xn=[...vn,tn("initiator",ln.id,"ak"),tn("responder",ln.id,"ak"),tn("channelAmount",ln.int),tn("initiatorAmount",ln.int),tn("responderAmount",ln.int),tn("channelReserve",ln.int),tn("initiatorDelegateIds",ln.ids),tn("responderDelegateIds",ln.ids),tn("stateHash",ln.hex),tn("round",ln.int),tn("soloRound",ln.int),tn("lockPeriod",ln.int),tn("lockedUntil",ln.int),tn("initiatorAuth",ln.binary,"cb"),tn("responderAuth",ln.binary,"cb")],Jn=[...vn,tn("channelId",ln.id,"ch"),tn("fromId",ln.id,"ak"),tn("payload",ln.binary,"tx"),tn("ttl",ln.int),tn("fee",ln.int),tn("nonce",ln.int)],Zn=[...vn,tn("owner",ln.id,"ak"),tn("ctVersion",ln.int),tn("code",ln.binary,"cb"),tn("deposit",ln.int),tn("callData",ln.binary,"cb")],er=[...vn,tn("caller",ln.id,"ak"),tn("contract",ln.id,"ct"),tn("abiVersion",ln.int),tn("amount",ln.int),tn("callData",ln.binary,"cb"),tn("callStack",ln.callStack),tn("gasPrice",ln.int),tn("gasLimit",ln.int)],tr=[...vn,tn("channelId",ln.id,"ch"),tn("round",ln.int),tn("role",ln.string),tn("pubkey",ln.id,"ak")],nr=[...vn,tn("from",ln.id,"ak"),tn("to",ln.id,"ak"),tn("amount",ln.int)],rr=[...vn,tn("from",ln.id,"ak"),tn("amount",ln.int)],ar=[...vn,tn("from",ln.id,"ak"),tn("amount",ln.int)],sr=[...vn,tn("accounts",ln.mptrees),tn("calls",ln.mptrees),tn("channels",ln.mptrees),tn("contracts",ln.mptrees),tn("ns",ln.mptrees),tn("oracles",ln.mptrees)],or=[...vn,tn("contracts",ln.rlpBinary),tn("calls",ln.rlpBinary),tn("channels",ln.rlpBinary),tn("ns",ln.rlpBinary),tn("oracles",ln.rlpBinary),tn("accounts",ln.rlpBinary)],ir=[...vn,tn("values",ln.rlpBinaries)],cr=[...vn,tn("key",ln.hex),tn("value",ln.rawBinary)],dr=[...vn,tn("contracts",ln.rlpBinary)],lr=[...vn,tn("calls",ln.rlpBinary)],ur=[...vn,tn("channels",ln.rlpBinary)],hr=[...vn,tn("mtree",ln.rlpBinary)],pr=[...vn,tn("otree",ln.rlpBinary)],fr=[...vn,tn("accounts",ln.rlpBinary)],mr={[rn.account]:{2:nn(In,10)},[rn.signed]:{1:nn(En,$t)},[rn.spend]:{1:nn(Cn,12)},[rn.namePreClaim]:{1:nn(An,33)},[rn.nameClaim]:{2:nn(kn,32)},[rn.nameUpdate]:{1:nn(_n,34)},[rn.nameTransfer]:{1:nn(On,36)},[rn.nameRevoke]:{1:nn(Nn,35)},[rn.contract]:{1:nn(Sn,40)},[rn.contractCreate]:{1:nn(Mn,42)},[rn.contractCall]:{1:nn(Rn,43)},[rn.contractCallResult]:{1:nn(Dn,41)},[rn.oracleRegister]:{1:nn(Fn,22)},[rn.oracleExtend]:{1:nn(Vn,25)},[rn.oracleQuery]:{1:nn(qn,23)},[rn.oracleResponse]:{1:nn($n,24)},[rn.channelCreate]:{2:nn(Un,50)},[rn.channelCloseMutual]:{1:nn(Wn,53)},[rn.channelCloseSolo]:{1:nn(Ln,54)},[rn.channelSlash]:{1:nn(Gn,55)},[rn.channelDeposit]:{1:nn(Hn,51)},[rn.channelWithdraw]:{1:nn(Kn,52)},[rn.channelSettle]:{1:nn(Qn,56)},[rn.channelForceProgress]:{1:nn(zn,Ut)},[rn.channelOffChain]:{2:nn(Yn,57)},[rn.channel]:{3:nn(Xn,58)},[rn.channelSnapshotSolo]:{1:nn(Jn,59)},[rn.channelOffChainUpdateTransfer]:{1:nn(nr,Ht)},[rn.channelOffChainUpdateDeposit]:{1:nn(rr,Kt)},[rn.channelOffChainUpdateWithdrawal]:{1:nn(ar,Wt)},[rn.channelOffChainCreateContract]:{1:nn(Zn,Lt)},[rn.channelOffChainCallContract]:{1:nn(er,Gt)},[rn.channelReconnect]:{1:nn(tr,Qt)},[rn.proofOfInclusion]:{1:nn(sr,60)},[rn.stateTrees]:{1:nn(or,62)},[rn.merklePatriciaTree]:{1:nn(ir,63)},[rn.merklePatriciaTreeValue]:{1:nn(cr,64)},[rn.contractsTree]:{1:nn(dr,zt)},[rn.contractCallsTree]:{1:nn(lr,Yt)},[rn.channelsTree]:{1:nn(ur,Xt)},[rn.nameserviceTree]:{1:nn(hr,Jt)},[rn.oraclesTree]:{1:nn(pr,Zt)},[rn.accountsTree]:{1:nn(fr,en)},[rn.gaAttach]:{1:nn(Pn,80)},[rn.gaMeta]:{2:nn(Bn,81)},[rn.payingFor]:{1:nn(jn,82)}},gr={10:{2:nn(In,10)},[$t]:{1:nn(En,$t)},12:{1:nn(Cn,12)},33:{1:nn(An,33)},32:{2:nn(kn,32)},34:{1:nn(_n,34)},36:{1:nn(On,36)},35:{1:nn(Nn,35)},40:{1:nn(Sn,40)},42:{1:nn(Mn,42)},43:{1:nn(Rn,43)},41:{1:nn(Dn,41)},22:{1:nn(Fn,22)},25:{1:nn(Vn,25)},23:{1:nn(qn,23)},24:{1:nn($n,24)},50:{2:nn(Un,50)},53:{1:nn(Wn,53)},54:{1:nn(Ln,54)},55:{1:nn(Gn,55)},51:{1:nn(Hn,51)},52:{1:nn(Kn,52)},56:{1:nn(Qn,56)},57:{2:nn(Yn,57)},58:{3:nn(Xn,58)},59:{1:nn(Jn,59)},[Ht]:{1:nn(nr,Ht)},[Kt]:{1:nn(rr,Kt)},[Wt]:{1:nn(ar,Wt)},[Lt]:{1:nn(Zn,Lt)},[Gt]:{1:nn(er,Gt)},[Qt]:{1:nn(tr,Qt)},60:{1:nn(sr,60)},62:{1:nn(or,62)},63:{1:nn(ir,63)},64:{1:nn(cr,64)},[zt]:{1:nn(dr,zt)},[Yt]:{1:nn(lr,Yt)},[Xt]:{1:nn(ur,Xt)},[Jt]:{1:nn(hr,Jt)},[Zt]:{1:nn(pr,Zt)},[en]:{1:nn(fr,en)},80:{1:nn(Pn,80)},81:{2:nn(Bn,81)},82:{1:nn(jn,82)},[Ut]:{1:nn(zn,Ut)},70:{3:nn(Tn,70)}},yr=e=>["number","object","string","bigint"].includes(typeof e)&&(!isNaN(e)||Number.isInteger(e)||y().isBigNumber(e)),wr=e=>e.integerValue(y().ROUND_CEIL),br=ea;function xr(e,t){return Mr(pt(Buffer.from([...jr(e,"ak"),...ct(t)])),"ct")}function vr(e,t,n){return Mr(pt(Buffer.from([...jr(e,"ak"),...function(e){const t=ct(e,!0);return Buffer.concat([Buffer.alloc(32-t.length),t])}(t),...jr(n,"ok")])),"oq")}function Tr(e){return Buffer.from(e.toString(16).padStart(64,"0"),"hex")}function Ir(e){return Hr(e),Mr(pt(e.toLowerCase()),"nm")}function Cr(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:br();return Hr(e),Mr(pt(Buffer.concat([Buffer.from(e.toLowerCase()),Tr(t)])),"cm")}const Er=["ba","cb","or","ov","pi","ss","cs","ck","cv","st","tx"],Ar=["ak","bf","bs","bx","ch","cm","ct","kh","mh","nm","ok","oq","pp","sg","th"],kr={ak:32,ct:32,ok:32};function _r(e,t){if(kr[t]&&e.length!==kr[t])throw new Ve(`Payload should be ${kr[t]} bytes, got ${e.length} instead`)}const Or=e=>Zr(Zr(e)).slice(0,4),Nr=e=>{const t=Buffer.from(e);return Buffer.concat([t,Or(t)])};function Sr(e){const t=e.slice(0,-4);if(!Or(t).equals(e.slice(-4)))throw new Ie;return t}const Pr={encode:e=>Nr(e).toString("base64"),decode:e=>Sr(Buffer.from(e,"base64"))},Br={encode:e=>ut().encode(Nr(e)),decode:e=>Sr(ut().decode(e))};function jr(e,t){if("string"!=typeof e)throw new De(`Encoded should be a string, got ${e} instead`);const[n,r,a]=e.split("_");if(!r)throw new De(`Encoded string missing payload: ${e}`);if(a)throw new De(`Encoded string have extra parts: ${e}`);if(t&&t!==n)throw new Le(n,t);const s=Er.includes(n)&&Pr.decode||Ar.includes(n)&&Br.decode;if(!s)throw new De(`Encoded string have unknown type: ${n}`);const o=s(r);return _r(o,n),o}function Mr(e,t){const n=Er.includes(t)&&Pr.encode||Ar.includes(t)&&Br.encode;if(!n)throw new Fe(`Unknown type: ${t}`);return _r(e,t),`${t}_${n(e)}`}function Rr(e){if("string"!=typeof e)throw new S("hashId","a string",e);const t=e.slice(0,2),n=wn[t];if(!n)throw new ze(t);return Buffer.from([...ct(n),...jr(e,t)])}function Dr(e){const t=Buffer.from(e).readUIntBE(0,1),n=bn[t];if(!n)throw new Ge(t);return Mr(e.slice(1,e.length),n)}function Fr(e){return ct(e,!0)}function Vr(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Buffer.from([]);return new(y())(Buffer.from(e).toString("hex"),16).toString(10)}function qr(e){return e.map((e=>[ct(e.key),Rr(e.id)]))}function $r(e){return e.map((e=>{let[t,n]=e;return Object.assign({key:t.toString(),id:Dr(n)})}))}const Ur=".chain";function Hr(e){if(!e||"string"!=typeof e)throw new R("Name must be a string");if(!e.endsWith(Ur))throw new R(`Name should end with .chain: ${e}`)}function Kr(e){try{return Hr(e),!0}catch(e){return!1}}function Wr(e){jr(e);const t=e.substr(0,2);return Ft[t]||(()=>{throw new We(t)})()}function Lr(e){Hr(e);const t=e.length-Ur.length;return Vt[Math.min(t,Rt)]}function Gr(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:jt;if(Number(n)!==n||n%1==0)throw new $e(`Increment must be float. Current increment ${n}`);if(n<jt)throw new $e(`minimum increment percentage is ${jt}`);return wr(y()(null!=t?t:Lr(e)).times(y()(jt).plus(1)))}function Qr(e,t){Hr(e);const n=e.length-Ur.length;return(n<=4&&qt[4]||n<=8&&qt[8]||n<=12&&qt[12]||qt[13]).plus(t).toString(10)}function zr(e){return Hr(e),e.length<13+Ur.length}const Yr=p().ModeOfOperation.ecb;function Xr(e){const t=u().sign.keyPair.fromSecretKey(dt(e));return Mr(Buffer.from(t.publicKey),"ak")}function Jr(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ak";try{return jr(e,t),!0}catch(e){return!1}}function Zr(e){return m()("sha256").update(e).digest()}function ea(){return Math.floor(Math.random()*Math.floor(Number.MAX_SAFE_INTEGER))}function ta(e){const t=Buffer.allocUnsafe(4);return t.writeUInt32BE(e),t.slice(t.findIndex((e=>0!==e)))}function na(e,t){const n=jr(e,"ak");return Mr(pt(Buffer.concat([n,ta(t)])),"ct")}function ra(e){return u().sign.keyPair.fromSecretKey(e)}function aa(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const t=u().sign.keyPair(),n=Buffer.from(t.publicKey),r=Buffer.from(t.secretKey);return e?{publicKey:n,secretKey:r}:{publicKey:Mr(n,"ak"),secretKey:r.toString("hex")}}function sa(e,t){const n=Zr(e);return new Yr(n).encrypt(t)}function oa(e,t){const n=Buffer.from(t),r=Zr(e),a=new Yr(r);return Buffer.from(a.decrypt(n))}function ia(e,t){return u().sign.detached(Buffer.from(e),Buffer.from(t))}function ca(e,t,n){return u().sign.detached.verify(new Uint8Array(e),t,n)}function da(e){const t=Buffer.from("aeternity Signed Message:\n","utf8"),n=Buffer.from(e,"utf8");if(n.length>=253)throw new W("Message too long");return pt(Buffer.concat([Buffer.from([t.length]),t,Buffer.from([n.length]),n]))}function la(e,t){return ia(da(e),t)}function ua(e,t,n){return ca(da(e),t,n)}function ha(e,t){const n=Buffer.from("TheMessage");return ca(n,ia(n,e),t)}var pa=v(983),fa=v(289);const ma={crypto:{secret_type:"ed25519",symmetric_alg:"xsalsa20-poly1305",kdf:"argon2id",kdf_params:{memlimit_kib:65536,opslimit:3,parallelism:1}}},ga={argon2id:ya};async function ya(e,t,n){const{memlimit_kib:r,opslimit:a}=n.kdf_params,s=(await(0,fa.hash)({hashLen:32,pass:e,salt:t,time:a,mem:r,type:fa.ArgonType.Argon2id})).hash;return Buffer.from(s)}const wa={"xsalsa20-poly1305":{encrypt:function(e){let{plaintext:t,key:n,nonce:r}=e;return u().secretbox(t,r,n)},decrypt:function(e){let{ciphertext:t,key:n,nonce:r}=e;const a=u().secretbox.open(t,r,n);if(!a)throw new Ae("Invalid password or nonce");return a}}};function ba(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:ma.crypto.symmetric_alg;if(!wa[r])throw new Oe(r);return wa[r].encrypt({plaintext:e,nonce:n,key:t})}async function xa(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{kdf_params:ma.crypto.kdf_params,kdf:ma.crypto.kdf};if(!t)throw new S("nonce","provided",t);if(null==e)throw new S("password","provided",e);if(!Object.prototype.hasOwnProperty.call(ga,n.kdf))throw new Oe(n.kdf);return ga[n.kdf](e,t,n)}function va(e,t,n,r,a){let s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};const o=Object.assign({},ma.crypto,s);return Object.assign({name:e,version:1,public_key:Ta(n),id:(0,pa.v4)()},{crypto:Object.assign({secret_type:o.secret_type,symmetric_alg:o.symmetric_alg,ciphertext:Buffer.from(ba(Buffer.from(n),t,r,o.symmetric_alg)).toString("hex"),cipher_params:{nonce:Buffer.from(r).toString("hex")}},{kdf:o.kdf,kdf_params:{...o.kdf_params,salt:Buffer.from(a).toString("hex")}})})}function Ta(e){const t=u().sign.keyPair.fromSecretKey(dt(e));return Mr(Buffer.from(t.publicKey),"ak")}async function Ia(e,t){Ea(t);const n=Uint8Array.from(dt(t.crypto.cipher_params.nonce)),r=Uint8Array.from(dt(t.crypto.kdf_params.salt)),a=t.crypto.kdf_params,s=t.crypto.kdf,o=await function(e,t,n,r){if(!wa[r])throw new Oe(r);return wa[r].decrypt({ciphertext:e,nonce:n,key:t})}(Uint8Array.from(dt(t.crypto.ciphertext)),await xa(e,r,{kdf:s,kdf_params:a}),n,t.crypto.symmetric_alg);if(!o)throw new Ae("Invalid password");return 64===Buffer.from(o).length?Buffer.from(o).toString("hex"):Buffer.from(o).toString("utf-8")}async function Ca(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:u().randomBytes(24),a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:u().randomBytes(16),s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};const o=Object.assign({},ma.crypto,s);return va(e,await xa(t,a,o),"string"==typeof n?Buffer.from(n,"hex"):n,r,a,o)}function Ea(e){const t=["crypto","id","version","public_key"].filter((t=>!Object.prototype.hasOwnProperty.call(e,t)));if(t.length)throw new Ee(`Invalid key file format. Require properties: ${t}`);const n=["cipher_params","ciphertext","symmetric_alg","kdf","kdf_params"].filter((t=>!Object.prototype.hasOwnProperty.call(e.crypto,t)));if(n.length)throw new Ee(`Invalid key file format. Require properties: ${n}`);return!0}var Aa=v(485);const ka={AE:"ae",MILI_AE:"miliAE",MICRO_AE:"microAE",NANO_AE:"nanoAE",PICO_AE:"picoAE",FEMTO_AE:"femtoAE",AETTOS:"aettos"},_a={[ka.AE]:0,[ka.MILI_AE]:-3,[ka.MICRO_AE]:-6,[ka.NANO_AE]:-9,[ka.PICO_AE]:-12,[ka.FEMTO_AE]:-15,[ka.AETTOS]:-18},Oa=function(e){let{denomination:t=ka.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Sa(e,{denomination:t,targetDenomination:ka.AE})},Na=function(e){let{denomination:t=ka.AE}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Sa(e,{denomination:t})},Sa=function(e){let{denomination:t=ka.AETTOS,targetDenomination:n=ka.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=Object.values(ka);if(!r.includes(t))throw new M(`Invalid denomination: ${t}`);if(!r.includes(n))throw new M(`Invalid target denomination: ${n}`);if(!yr(e))throw new S("value","a number",e);return new(y())(e).shiftedBy(_a[t]-_a[n]).toFixed()},Pa=[{name:"exa",magnitude:18},{name:"giga",magnitude:9},{name:"",magnitude:0},{name:"pico",magnitude:-12}],Ba=e=>Pa.reduce(((t,n)=>Math.abs(n.magnitude-e)<Math.abs(t.magnitude-e)?n:t)),ja=e=>{var t;return null!==(t=Pa.find((t=>t.magnitude<=e)))&&void 0!==t?t:Pa[Pa.length-1]},Ma=e=>{var t;const n=new(y())(e),r=null!==(t=n.e)&&void 0!==t?t:0,{name:a,magnitude:s}=(r<0?Ba:ja)(r);return`${n.shiftedBy(-s).precision(9+Math.min(r-s,0)).toFixed()}${""!==a?" ":""}${a}`};var Ra;!function(e){e[e.Branch=0]="Branch",e[e.Extension=1]="Extension",e[e.Leaf=2]="Leaf"}(Ra||(Ra={}));class Da{static nodeHash(e){return Buffer.from(pt((0,Aa.encode)(e))).toString("hex")}constructor(e){if(this.rootHash=e[0].toString("hex"),this.nodes=Object.fromEntries(e[1].map((e=>[e[0].toString("hex"),e[1]]))),void 0===this.nodes[this.rootHash])throw new _e("Can't find a node by root hash");Object.entries(this.nodes).forEach((e=>{let[t,n]=e;if(Da.nodeHash(n)!==t)throw new ke;const{type:r,payload:a}=Da.parseNode(n);switch(r){case Ra.Branch:a.slice(0,16).filter((e=>e.length)).forEach((e=>{if(void 0===this.nodes[e.toString("hex")])throw new _e("Can't find a node by hash in branch node")}));break;case Ra.Extension:if(void 0===this.nodes[a[0].toString("hex")])throw new _e("Can't find a node by hash in extension node")}}))}isEqual(e){return this.rootHash===e.rootHash}static parseNode(e){switch(e.length){case 17:return{type:Ra.Branch,payload:e,path:null};case 2:{const t=e[0].toString("hex"),n=parseInt(t[0],16);if(n>3)throw new Pe(n);const r=n<=1?Ra.Extension:Ra.Leaf,a=[0,2].includes(n)?2:1;return{type:r,payload:[e[1]],path:t.slice(a)}}default:throw new Se(e.length)}}serialize(){return[Buffer.from(this.rootHash,"hex"),Object.entries(this.nodes).map((e=>{let[t,n]=e;return[Buffer.from(t,"hex"),n]}))]}get(e){let t=this.rootHash;for(;;){const{type:n,payload:r,path:a}=Da.parseNode(this.nodes[t]);switch(n){case Ra.Branch:if(0===e.length)return r[16];t=r[parseInt(e[0],16)].toString("hex"),e=e.substr(1);break;case Ra.Extension:if(e.substr(0,null==a?void 0:a.length)!==a)return;t=r[0].toString("hex"),e=e.substr(a.length);break;case Ra.Leaf:if(a!==e)return;return r[0]}}}}const Fa="delta";function Va(e,t,n){if(!e)return"";switch(t){case ln.ctVersion:{const[t,,n]=e;return{vmVersion:Vr(Buffer.from([t])),abiVersion:Vr(Buffer.from([n]))}}case ln.amount:case ln.int:return Vr(e);case ln.id:return Dr(e);case ln.ids:return e.map(Dr);case ln.bool:return 1===e[0];case ln.binary:return Mr(e,n);case ln.stateTree:return Mr(e,"ss");case ln.string:return e.toString();case ln.payload:return Mr(e,"ba");case ln.pointers:return $r(e);case ln.rlpBinary:return Ja(e,!0);case ln.rlpBinaries:return e.map((e=>Ja(e,!0)));case ln.rawBinary:return e;case ln.hex:return e.toString("hex");case ln.offChainUpdates:return e.map((e=>Ja(e,!0)));case ln.callStack:return[Vr(e)];case ln.mptrees:return e.map((e=>new Da(e)));case ln.callReturnType:switch(Vr(e)){case"0":return"ok";case"1":return"error";case"2":return"revert";default:return e}case ln.sophiaCodeTypeInfo:return e.reduce(((e,t)=>{let[n,r,a,s]=t;return{...e,[r.toString()]:{funHash:n,argType:a,outType:s}}}),{});default:return t.prototype instanceof ft?t.deserialize(e):e}}function qa(e,t,n,r){var a;switch(t){case ln.amount:case ln.int:return Fr(e);case ln.id:return Rr(e);case ln.ids:return e.map(Rr);case ln.bool:return Buffer.from([e?1:0]);case ln.binary:return jr(e,n);case ln.stateTree:return jr(e,"ss");case ln.hex:return Buffer.from(e,"hex");case ln.signatures:return e.map(Buffer.from);case ln.payload:return"string"==typeof e&&"ba"===e.split("_")[0]?jr(e,"ba"):ct(e);case ln.string:return ct(e);case ln.pointers:return qr(e);case ln.rlpBinary:return null!==(a=e.rlpEncoded)&&void 0!==a?a:e;case ln.mptrees:return e.map((e=>e.serialize()));case ln.ctVersion:return Buffer.from([...ct(e.vmVersion),0,...ct(e.abiVersion)]);case ln.callReturnType:switch(e){case"ok":return Fr(0);case"error":return Fr(1);case"revert":return Fr(2);default:return e}default:return t.prototype instanceof ft?t.serialize(e,r):e}}function $a(e,t,n){if(null==e)return"Field is required";switch(t){case ln.amount:case ln.int:return isNaN(e)&&!y().isBigNumber(e)?`${e} is not of type Number or BigNumber`:new(y())(e).lt(0)?`${e} must be >= 0`:void 0;case ln.id:return(Array.isArray(n)?n:[n]).includes(e.split("_")[0])?void 0:`'${e}' prefix doesn't match expected prefix '${n}'`;case ln.ctVersion:return null!=e&&e.abiVersion&&null!=e&&e.vmVersion?void 0:'Value must be an object with "vmVersion" and "abiVersion" fields';case ln.pointers:if(!Array.isArray(e))return"Value must be of type Array";if(e.some((e=>!(null!=e&&e.key&&null!=e&&e.id))))return'Value must contains only object\'s like \'{key: "account_pubkey", id: "ak_lkamsflkalsdalksdlasdlasdlamd"}\'';if(e.length>32)return`Expected 32 pointers or less, got ${e.length} instead`}}function Ua(e,t){let{denomination:n}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e=t.filter((e=>{let[t,n]=e;return n===ln.amount})).reduce(((t,r)=>{let[a]=r;return{...e,[a]:Sa(e[a],{denomination:n})}}),e);const r=t.map((e=>{let[t]=e;return t}));return Object.entries(e).reduce(((e,t)=>{let[n,a]=t;return r.includes(n)&&(e[n]=a),["oracleTtl","queryTtl","responseTtl"].includes(n)&&(e[`${n}Type`]=a.type===Fa?0:1,e[`${n}Value`]=a.value),e}),{})}function Ha(e,t){const n={[rn.oracleRegister]:"oracleTtl",[rn.oracleExtend]:"oracleTtl",[rn.oracleQuery]:"queryTtl",[rn.oracleResponse]:"responseTtl"}[t];return e[n]||e[`${n}Value`]?e[`${n}Value`]||e[n].value:1}function Ka(e,t){let{gas:n=0,params:r,vsn:a}=t;const s=y()(1e9);if(!r)return y()(pn).times(s).toString(10);let o=Wa(e,{params:{...r,fee:0},multiplier:s,gas:n,vsn:a}),i=y()(0);for(;!o.eq(i);)o=Wa(e,{params:{...r,fee:o},multiplier:s,gas:n,vsn:a}),i=o;return i.toString(10)}function Wa(e,t){let{params:n,gas:r=0,multiplier:a,vsn:s}=t;const{rlpEncoded:o}=Xa({...n},e,{vsn:s}),i=o.length;return mn(e).plus(gn(e,i,{relativeTtl:Ha(n,e),innerTxSize:[rn.gaMeta,rn.payingFor].includes(e)?n.tx.tx.encodedTx.rlpEncoded.length:0})).times(a)}function La(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1?arguments[1]:void 0,{gas:n=0,params:r,showWarning:a=!0,vsn:s}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return!r&&a&&console.warn(`Can't build transaction fee, we will use DEFAULT_FEE(${pn})`),e||Ka(t,{params:r,gas:n,vsn:s})}function Ga(e,t,n){let{excludeKeys:r=[]}=n;return Object.fromEntries(t.filter((e=>{let[t]=e;return!r.includes(t)&&!["payload","nameFee","deposit"].includes(t)})).map((t=>{let[n,r,a]=t;return[n,$a(e[n],r,a)]})).filter((e=>{let[,t]=e;return t})))}function Qa(e,t){let{excludeKeys:n=[],denomination:r=ka.AETTOS}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const a=t.filter((e=>{let[t]=e;return!n.includes(t)})),s=Ga(e=Ua(e,a,{denomination:r}),t,{excludeKeys:n});if(Object.keys(s).length)throw new Ke("Transaction build error. "+JSON.stringify(s));return a.map((t=>{let[n,r,a]=t;return qa(e[n],r,a,e)}))}function za(e,t){return t.reduce(((t,n,r)=>{let[a,s,o]=n;return Object.assign(t,{[a]:Va(e[r],s,o)})}),{})}const Ya=e=>{let{vsn:t,objId:n,type:r}=e;const a=!!n,s=a?n:r,o=a?gr:mr;if(!o[s])throw new Qe(`Transaction ${a?"deserialization":"serialization"} not implemented for ${a?"tag "+n:r}`);if(!o[s][t])throw new Qe(`Transaction ${a?"deserialization":"serialization"} not implemented for ${a?"tag "+n:r} version ${t}`);return o[s][t]};function Xa(e,t){let{excludeKeys:n=[],prefix:r="tx",vsn:a=yt,denomination:s=ka.AETTOS}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const[o,i]=Ya({type:t,vsn:a}),c=Qa({...e,VSN:a,tag:i},o,{excludeKeys:n,denomination:e.denomination||s}).filter((e=>void 0!==e)),d=(0,Aa.encode)(c),l=Mr(d,r);return{tx:l,rlpEncoded:d,binary:c,txObject:za(c,o)}}function Ja(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"tx";const r=t?e:jr(e,n),a=(0,Aa.decode)(r),s=Vr(a[0]),o=Vr(a[1]),[i]=Ya({objId:s,vsn:o});return{txType:dn[s],tx:za(a,i),rlpEncoded:r,binary:a}}function Za(e){return Mr(pt("string"==typeof e&&e.startsWith("tx_")?jr(e,"tx"):e),"th")}const es={calculateMinFee:Ka,calculateFee:La,unpackTx:Ja,unpackRawTx:za,buildTx:Xa,buildRawTx:Qa,validateParams:Ga,buildTxHash:Za};var ts=v(882),ns=v(986);const rs=Buffer.from("ed25519 seed"),as=2147483648,ss=e=>Buffer.from(e).toString("hex");function os(e,t){const n=""===e?[]:(0,ns.fromString)(e).toPathArray();return n.forEach(((e,t)=>{if(e<as)throw new Ne(`Segment #${t+1} is not hardened`)})),n.reduce(((e,t)=>us(e,t)),t)}function is(e,t){if(!["m","m/"].includes(e.slice(0,2)))throw new Ce;const n=ls(t);return os(e.slice(2),n)}function cs(e){const{secretKey:t,publicKey:n}=e;return{secretKey:ss(t),publicKey:Mr(n,"ak")}}function ds(e){return u().sign.keyPair.fromSeed(e)}function ls(e){const t=(0,ts.full)(e,rs);return{secretKey:t.slice(0,32),chainCode:t.slice(32)}}function us(e,t){let{secretKey:n,chainCode:r}=e;if(t<as)throw new Be(t);const a=Buffer.allocUnsafe(4);a.writeUInt32BE(t,0);const s=Buffer.concat([Buffer.alloc(1,0),Buffer.from(n),Buffer.from(a)]),o=(0,ts.full)(s,r);return{secretKey:o.slice(0,32),chainCode:o.slice(32)}}function hs(e,t){const n=is("m/44h/457h",e);return{secretKey:ss(sa(t,n.secretKey)),chainCode:ss(sa(t,n.chainCode))}}function ps(e,t,n){const r={secretKey:oa(t,Buffer.from(e.secretKey,"hex")),chainCode:oa(t,Buffer.from(e.chainCode,"hex"))};return new Array(n).fill().map(((e,t)=>cs(ds(os(`${t}h/0h/0h`,r).secretKey))))}const fs=(e,t)=>({...cs(ds(os(`${t}h/0h/0h`,is("m/44h/457h",e)).secretKey)),idx:t});var ms=v(910),gs=v.n(ms),ys=v(180);const ws=gs()((0,ys.required)({methods:{spendTx:ys.required,namePreclaimTx:ys.required,nameClaimTx:ys.required,nameTransferTx:ys.required,nameUpdateTx:ys.required,nameRevokeTx:ys.required,contractCreateTx:ys.required,contractCallTx:ys.required,oracleRegisterTx:ys.required,oracleExtendTx:ys.required,oraclePostQueryTx:ys.required,oracleRespondTx:ys.required,getAccountNonce:ys.required,channelCloseSoloTx:ys.required,channelSlashTx:ys.required,channelSettleTx:ys.required,channelSnapshotSoloTx:ys.required,gaAttachTx:ys.required,getVmVersion:ys.required,prepareTxParams:ys.required}})),bs=gs()({deepProps:{Ae:{defaults:{waitMined:!0,verify:!0,_expectedMineRate:18e4,_microBlockCycle:3e3,_maxPollInterval:5e3}}},methods:{_getPollInterval(e){const t={block:this.Ae.defaults._expectedMineRate,microblock:this.Ae.defaults._microBlockCycle}[e];if(!t)throw new Error(`Unknown poll type: ${e}`);return Math.min(t/3,this.Ae.defaults._maxPollInterval)}}},(0,ys.required)({methods:{sendTransaction:ys.required,height:ys.required,awaitHeight:ys.required,poll:ys.required,balance:ys.required,getBalance:ys.required,tx:ys.required,getTxInfo:ys.required,mempool:ys.required,txDryRun:ys.required,getAccount:ys.required}})),xs=bs;function vs(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{stamp:t,args:n,instance:r}=arguments.length>1?arguments[1]:void 0;return t.compose.deepConfiguration.AsyncInit.initializers.reduce((async(r,a)=>{if(r=await Promise.resolve(r),"function"==typeof a){const s=await Promise.resolve(a.call(r,e,{stamp:t,args:n,instance:r}));return void 0===s?r:s}return r}),r)}const Ts=gs()({deepConf:{AsyncInit:{initializers:[]}},composers(e){let{stamp:t,composables:n}=e;t.compose.deepConfiguration.AsyncInit.initializers=n.map((e=>{var t,n,r;return(null==e||null===(t=e.compose)||void 0===t||null===(n=t.deepConfiguration)||void 0===n||null===(r=n.AsyncInit)||void 0===r?void 0:r.initializers)||(e.compose||e).initializers||[]})).flat(1/0).filter(((e,t,n)=>!n.slice(0,t).includes(e))).filter((e=>e!==vs)),t.compose.initializers=[vs]}});var Is=v(659),Cs=v.n(Is),Es=v(503),As=v.n(Es),ks=v(911);const _s=v.n(ks)()({storeAsString:!0}),Os=e=>{if("object"==typeof e&&null!==e&&e.constructor===Object)return Object.entries(e).map((e=>{let[t,n]=e;return[t,Os(n)]})).reduce(((e,t)=>{let[n,r]=t;return{...e,[n]:r}}),{});if(Array.isArray(e))return e.map((e=>Os(e)));if("string"==typeof e&&y()(e).toString(10)===e){const t=y()(e);return t.toJSON=()=>t.toString(10),t}return e},Ns={stringify:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return _s.stringify(Os(e),...n)},parse:_s.parse},Ss=async e=>await new Promise((t=>setTimeout(t,e))),Ps=(e,t)=>Object.fromEntries(Object.entries(e).map(t)),Bs=(e,t)=>Object.fromEntries(Object.entries(e).filter(t)),js=(e,t)=>"object"!=typeof t||null===t?t:Array.isArray(t)?t.map((t=>js(e,t))):Ps(t,(t=>{let[n,r]=t;return[e(n),js(e,r)]})),Ms=js.bind(null,st),Rs=js.bind(null,at);let Ds=!1;const Fs=async function(e){let{spec:t,internalUrl:n,disableBigNumbers:r,disableCaseConversion:a,responseInterceptor:s}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t=t||await(await As()(e)).json();const o=r?JSON:Ns,[i,c]=await Promise.all([e,n].map((e=>{if(!e)return null;const n={};return Cs()({url:e,spec:t,requestInterceptor:e=>{if("GET"===e.method)return{...e,userFetch:async(e,t)=>{var r;const a=JSON.stringify({...t,url:e});null!==(r=n[a])&&void 0!==r||(n[a]=As()(e,t));try{return(await n[a]).clone()}finally{delete n[a]}}}},responseInterceptor:e=>{var t;if(""===e.text||0===(null===(t=e.text)||void 0===t?void 0:t.size))return e;const n=o.parse(e.text);return Object.assign(e,{body:a?n:Rs(n)}),s&&s(e)||e}})}))),d=Object.assign({},...i.apis.external?[i.apis.external]:Object.values(i.apis),Ps((null==c?void 0:c.apis.internal)||{},(e=>{let[t,n]=e;return[t,function(){return Ds||(console.warn('SDK\'s wrapper of aeternity node internal API is deprecated, please use external equivalent (for example, "sdk.api.protectedDryRunTxs" instead of "sdk.api.dryRunTxs") or create a wrapper of internal API by yourself (using "genSwaggerClient")'),Ds=!0),n(...arguments)}]}))),l=Object.values(t.paths).map((e=>Object.values(e))).flat().reduce(((e,t)=>({...e,[t.operationId]:t})),{}),u={},h=Ps(d,(e=>{let[t,n]=e;const r=t.slice(0,1).toLowerCase()+at(t.slice(1));return[r,async function(){for(var e,s=arguments.length,i=new Array(s),c=0;c<s;c++)i[c]=arguments[c];const d=l[t],h=[...d.parameters,...d.requestBody?[{required:d.requestBody.required,schema:Object.values(d.requestBody.content)[0].schema,name:"__requestBody"}]:[]],p=h.filter((e=>e.required)).map((e=>e.name));if(![0,1].includes(i.length-p.length))throw new B(r,p.length,i.length);const f=p.reduce(((e,t,n)=>({...e,[t]:i[n]})),i[p.length]||{}),{__requestBody:m,__queue:g,...y}=Ps(f,(e=>{let[t,n]=e;if("object"!=typeof n)return[t,n];const r=Object.keys(h.find((e=>e.name===t)).schema.properties),s=Bs(a?n:Ms(n),(e=>{let[t]=e;return r.includes(t)}));return[t,o.stringify(s)]})),w=async()=>(await n(y,{requestBody:m})).body;if(!g)return w();const b=(null!==(e=u[g])&&void 0!==e?e:Promise.resolve()).then(w,w);return u[g]=b.then((()=>new Promise((e=>setTimeout(e,750))))),b}]}));return Object.assign(i,{api:h})};function Vs(e,t,n){const r=e=>e.split(/[-+]/)[0].split(".").map((e=>+e)),a=r(e),s=r(t),o=r(n),i=Math.max(...a,...s,...o)+1,c=e=>e.reverse().reduce(((e,t,n)=>e+t*Math.pow(i,n)),0),d=c(a),l=c(s),u=c(o);return d>=l&&d<u}function qs(){var e;let{networkId:t,force:n=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const r=t||this.networkId||(null===(e=this.selectedNode)||void 0===e?void 0:e.networkId);if(!n&&!r)throw new D("networkId is not provided");return n&&!r?null:r}const $s=Ts.compose({async init(e){let{url:t,internalUrl:n,ignoreVersion:r}=e;if(!t)throw new D('"url" required');this.url=t.replace(/\/$/,""),this.internalUrl=null==n?void 0:n.replace(/\/$/,"");const a=await Fs(`${this.url}/api?oas3`,{internalUrl:this.internalUrl,responseInterceptor:e=>{if(!e.ok)return Object.assign(e,{statusText:`${new URL(e.url).pathname.slice(1)} error: `+e.body.reason})}});if(this.version=a.spec.info.version,!Vs(this.version,Us,Hs)&&!r)throw new L("node",this.version,Us,Hs);this.api=a.api;const{nodeRevision:s,genesisKeyBlockHash:o,networkId:i,protocols:c,topBlockHeight:d}=await this.api.getStatus();return this.consensusProtocolVersion=c.filter((e=>{let{effectiveAtHeight:t}=e;return d>=t})).reduce(((e,t)=>t.effectiveAtHeight>e.effectiveAtHeight?t:e),{effectiveAtHeight:-1,version:0}).version,this.nodeNetworkId=i,Object.assign(this,{revision:s,genesisHash:o})},methods:{getNodeInfo(){return{url:this.url,internalUrl:this.internalUrl,nodeNetworkId:this.nodeNetworkId,version:this.version,consensusProtocolVersion:this.consensusProtocolVersion}}},props:{version:null,consensusProtocolVersion:null,nodeNetworkId:null}}),Us="6.2.0",Hs="7.0.0",Ks=$s,Ws=e=>!["sign","address"].find((t=>"function"!=typeof e[t])),Ls=gs()({init(e){let{networkId:t}=e;!this.networkId&&t&&(this.networkId=t)},methods:{signTransaction:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=[this.getNetworkId(t)];t.innerTx&&n.push("inner_tx");const r=jr(e,"tx"),a=Buffer.concat([Buffer.from(n.join("-")),pt(r)]),s=[await this.sign(a,t)];return Xa({encodedTx:r,signatures:s},rn.signed).tx},getNetworkId:qs,signMessage:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{returnHex:!1};const n=await this.sign(da(e),t);return t.returnHex?Buffer.from(n).toString("hex"):n},verifyMessage:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return ua(e,"string"==typeof t?Buffer.from(t,"hex"):t,jr(await this.address(n)))}}},(0,ys.required)({methods:{sign:ys.required,address:ys.required}})),Gs=gs()(ws,Ls,xs,{methods:{send:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n={...this.Ae.defaults,...t},{contractId:r,authFun:a}=t.innerTx?{contractId:!1}:await this.getAccount(await this.address(n)),s=r?await this.signUsingGA(e,{...n,authFun:a}):await this.signTransaction(e,n);return n.innerTx?{hash:es.buildTxHash(s),rawTx:s}:this.sendTransaction(s,n)},spend:async function(e,t,n){const r={...this.Ae.defaults,...n};return this.send(await this.spendTx({...r,senderId:await this.address(r),recipientId:await this.resolveName(t,"account_pubkey",r),amount:e}),r)},transferFunds:async function(e,t,n){if(e<0||e>1)throw new S("fraction","a number between 0 and 1",e);const r={...this.Ae.defaults,...n},a=await this.resolveName(t,"account_pubkey",r),s=await this.address(r),o=new(y())(await this.balance(s)),i=o.times(e).integerValue(y().ROUND_HALF_UP),{tx:{fee:c}}=es.unpackTx(await this.spendTx({...r,senderId:s,recipientId:a,amount:i})),d=i.plus(c).gt(o)?o.minus(c):i;return this.send(await this.spendTx({...r,senderId:s,recipientId:a,amount:d}),r)},payForTransaction:async function(e,t){const n={...this.Ae.defaults,...t};return this.send(await this.payingForTx({...n,payerId:await this.address(n),tx:e}),n)},destroyInstance:function(){["destroyClient","destroyServer"].forEach((e=>this[e]&&"function"==typeof this[e]&&this[e]()))},signUsingGA:async function(e){let{authData:t,authFun:n,...r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.createMetaTx(e,t,n,r)}},deepProps:{Ae:{defaults:{denomination:ka.AETTOS}}}}),Qs=Gs,zs=[(e,t)=>{let{encodedTx:n,signatures:r}=e,{account:a,node:s,parentTxTypes:o}=t;if(void 0===(null!=n?n:r))return[];if(1!==r.length)return[];const i=Buffer.from([s.nodeNetworkId,...o.includes(rn.payingFor)?["inner_tx"]:[]].join("-")),c=Buffer.concat([i,n.rlpEncoded]),d=Buffer.concat([i,pt(n.rlpEncoded)]),l=jr(a.id,"ak");return ca(c,r[0],l)||ca(d,r[0],l)?[]:[{message:"Signature cannot be verified, please ensure that you transaction have the correct prefix and the correct private key for the sender address",key:"InvalidSignature",checkedKeys:["encodedTx","signatures"]}]},(e,t)=>{let{encodedTx:n,tx:r}=e,{node:a,parentTxTypes:s,txType:o}=t;return void 0===(null!=n?n:r)?[]:Xs(Mr((null!=n?n:r).rlpEncoded,"tx"),a,[...s,o])},(e,t)=>{let{txType:n}=t;if(void 0===e.fee)return[];const r=La(0,n,{gas:+e.gas||0,params:e,showWarning:!1,vsn:e.VSN});return new(y())(r).lte(e.fee)?[]:[{message:`Fee ${e.fee} is too low, minimum fee for this transaction is ${r}`,key:"InsufficientFee",checkedKeys:["fee"]}]},(e,t)=>{let{ttl:n}=e,{height:r}=t;return void 0===n?[]:(n=+n,0===n||n>=r?[]:[{message:`TTL ${n} is already expired, current height is ${r}`,key:"ExpiredTTL",checkedKeys:["ttl"]}])},(e,t)=>{var n;let{amount:r,fee:a,nameFee:s,tx:o}=e,{account:i,parentTxTypes:c,txType:d}=t;if(void 0===(null!==(n=null!=r?r:a)&&void 0!==n?n:s))return[];const l=new(y())(a).plus(s||0).plus(r||0).plus(d===rn.payingFor?o.tx.encodedTx.tx.fee:0).minus(c.includes(rn.payingFor)?a:0);return l.lte(i.balance)?[]:[{message:`Account balance ${i.balance} is not enough to execute the transaction that costs ${l.toFixed()}`,key:"InsufficientBalance",checkedKeys:["amount","fee","nameFee"]}]},(e,t)=>{let{nonce:n}=e,{account:r,parentTxTypes:a}=t;if(void 0===n||a.includes(rn.gaMeta))return[];n=+n;const s=r.nonce+1;return n===s?[]:[{...n<s?{message:`Nonce ${n} is already used, valid nonce is ${s}`,key:"NonceAlreadyUsed"}:{message:`Nonce ${n} is too high, valid nonce is ${s}`,key:"NonceHigh"},checkedKeys:["nonce"]}]},e=>{let{gasPrice:t}=e;return void 0===t||t>=At?[]:[{message:`Gas price ${t} must be bigger then ${At}`,key:"MinGasPrice",checkedKeys:["gasPrice"]}]},(e,t)=>{let{ctVersion:n,abiVersion:r}=e,{txType:a,node:s}=t;const{consensusProtocolVersion:o}=s.getNodeInfo(),i=cn[o];if(!i)throw new K(`Unsupported protocol: ${o}`);n||(n={abiVersion:r});const c=i[a];return c&&Object.entries(n).some((e=>{let[t,n]=e;return!c[t].includes(+n)}))?[{message:`ABI/VM version ${JSON.stringify(n)} is wrong, supported is: ${JSON.stringify(c)}`,key:"VmAndAbiVersionMismatch",checkedKeys:["ctVersion","abiVersion"]}]:[]},async(e,t)=>{let{contractId:n}=e,{txType:r,node:a}=t;if(rn.contractCall!==r)return[];try{const{active:e}=await a.api.getContract(n);return e?[]:[{message:`Contract ${n} is not active`,key:"ContractNotActive",checkedKeys:["contractId"]}]}catch(e){var s,o;if(null===(s=e.response)||void 0===s||null===(o=s.body)||void 0===o||!o.reason)throw e;return[{message:e.response.body.reason,key:"ContractNotFound",checkedKeys:["contractId"]}]}}],Ys=e=>["senderId","accountId","ownerId","callerId","oracleId","fromId","initiator","gaId","payerId"].map((t=>e[t])).filter((e=>e)).map((e=>e.replace(/^ok_/,"ak_")))[0];async function Xs(e,t){var n;let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const{tx:a,txType:s}=Ja(e),o=null!==(n=Ys(a))&&void 0!==n?n:s===rn.signed?Ys(a.encodedTx.tx):null,[i,{height:c}]=await Promise.all([o&&t.api.getAccountByPubkey(o).catch((()=>({id:o,balance:new(y())(0),nonce:0}))),t.api.getCurrentKeyBlockHeight()]);return(await Promise.all(zs.map((e=>e(a,{txType:s,node:t,account:i,height:c,parentTxTypes:r}))))).flat()}const Js=gs()({init(){let{nodes:e=[]}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.pool=new Map,this.validateNodes(e),e.forEach(((e,t)=>{const{name:n,instance:r}=e;this.addNode(n,r,0===t)})),e.length&&this.selectNode(e[0].name)},propertyDescriptors:{api:{enumerable:!0,configurable:!1,get(){if(!this.selectedNode||!this.selectedNode.instance)throw new Re("You can't use Node API. Node is not connected or not defined!");return this.selectedNode.instance.api}}},methods:{addNode(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(this.pool.has(e))throw new Me(e);this.validateNodes([{name:e,instance:t}]),this.pool.set(e,{name:e,instance:t,url:t.url,internalUrl:t.internalUrl,networkId:t.nodeNetworkId,version:t.version,consensusProtocolVersion:t.consensusProtocolVersion}),!n&&this.selectedNode||this.selectNode(e)},selectNode(e){if(!this.pool.has(e))throw new Re(`Node with name ${e} not in pool`);this.selectedNode=this.pool.get(e)},getNetworkId:qs,isNodeConnected(){return!!this.selectedNode.instance},getNodeInfo(){if(!this.isNodeConnected())throw new je;return{name:this.selectedNode.name,...this.selectedNode.instance.getNodeInfo()}},getNodesInPool(){return Array.from(this.pool.entries()).map((e=>{let[t,n]=e;return{name:t,...n.instance.getNodeInfo()}}))},validateNodes(e){if(!Array.isArray(e))throw new U('"nodes" should be an array');const t=e.map((e=>typeof e)).find((e=>"object"!==e));if(t)throw new U(`Each node should be an object, got ${t} instead`);const n=e.find((e=>"string"!=typeof e.name||"object"!=typeof e.instance));if(t)throw new U(`Each node should have name (string), instance (object) fields, got ${JSON.stringify(n)} instead`);const r=e.map((e=>e.instance)).find((e=>"object"!=typeof e.api||"string"!=typeof e.genesisHash||"number"!=typeof e.consensusProtocolVersion));if(r)throw new U(`Each node instance should have api (object), consensusProtocolVersion (number), genesisHash (string) fields, got ${JSON.stringify(r)} instead`)}},props:{selectedNode:{}}});async function Zs(e){const t=this._txDryRun[e];let n;delete this._txDryRun[e];try{n=await this.api.protectedDryRunTxs({top:t[0].top,txEvents:t[0].txEvents,txs:t.map((e=>({tx:e.tx}))),accounts:Array.from(new Set(t.map((e=>e.accountAddress)))).map((e=>({pubKey:e,amount:_t.amount})))})}catch(e){return void t.forEach((t=>{let{reject:n}=t;return n(e)}))}const{results:r,txEvents:a}=n;r.forEach(((e,n)=>{let{result:r,reason:s,...o}=e;const{resolve:i,reject:c,tx:d,options:l,accountAddress:u}=t[n];if("ok"===r)return i({...o,txEvents:a});c(Object.assign(new qe(s),{tx:d,accountAddress:u,options:l}))}))}const eo=xs.compose(Js,{methods:{sendTransaction:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n={...this.Ae.defaults,...t};if(n.verify){const t=await Xs(e,this.selectedNode.instance);if(t.length){const n="Transaction verification errors: "+t.map((e=>e.message)).join(", ");throw Object.assign(new He(n),{code:"TX_VERIFICATION_ERROR",validation:t,transaction:e})}}try{var r;const{txHash:a}=await this.api.postTransaction({tx:e},{__queue:`tx-${await(null===(r=this.address)||void 0===r?void 0:r.call(this,t).catch((()=>"")))}`});if(n.waitMined){const n={...await this.poll(a,t),rawTx:e};return t.confirm?{...n,confirmationHeight:await this.waitForTxConfirm(a,t)}:n}return{hash:a,rawTx:e}}catch(t){throw Object.assign(t,{rawTx:e,verifyTx:()=>Xs(e,this.selectedNode.instance)})}},balance:async function(e){let{height:t,hash:n,format:r=ka.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{balance:a}=await this.getAccount(e,{hash:n,height:t});return Sa(a,{targetDenomination:r}).toString()},getBalance:async function(e){let{height:t,hash:n,format:r=ka.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{balance:a}=await this.getAccount(e,{hash:n,height:t}).catch((e=>({balance:0})));return Sa(a,{targetDenomination:r}).toString()},getAccount:async function(e){let{height:t,hash:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t?this.api.getAccountByPubkeyAndHeight(e,t):n?this.api.getAccountByPubkeyAndHash(e,n):this.api.getAccountByPubkey(e)},tx:async function(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const n=await this.api.getTransactionByHash(e);if(["ContractCreateTx","ContractCallTx","ChannelForceProgressTx"].includes(n.tx.type)&&t&&-1!==n.blockHeight)try{return{...n,...await this.getTxInfo(e)}}catch(e){}return n},height:async function(){return(await this.api.getCurrentKeyBlockHeight()).height},awaitHeight:async function(e){let t,{interval:n=this._getPollInterval("block"),attempts:r=20}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(let a=0;a<r;a++)if(a&&await Ss(n),t=await this.height(),t>=e)return t;throw new q((r-1)*n,t,e)},poll:async function(e){let{blocks:t=10,interval:n=this._getPollInterval("microblock")}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=await this.height()+t;do{const t=await this.api.getTransactionByHash(e);if(-1!==t.blockHeight)return t;await Ss(n)}while(await this.height()<r);const a=this.api.getCheckTxInPool&&(await this.api.getCheckTxInPool(e)).status;throw new $(t,e,a)},getTxInfo:async function(e){const t=await this.api.getTransactionInfoByHash(e);return t.callInfo||t},mempool:async function(){return this.api.getPendingTransactions()},getCurrentGeneration:async function(){return this.api.getCurrentGeneration()},getGeneration:async function(e){if("string"==typeof e)return this.api.getGenerationByHash(e);if("number"==typeof e)return this.api.getGenerationByHeight(e);throw new S("hashOrHeight","a string or number",e)},getMicroBlockHeader:async function(e){return this.api.getMicroBlockHeaderByHash(e)},getMicroBlockTransactions:async function(e){return(await this.api.getMicroBlockTransactionsByHash(e)).transactions},getKeyBlock:async function(e){if("string"==typeof e)return this.api.getKeyBlockByHash(e);if("number"==typeof e)return this.api.getKeyBlockByHeight(e);throw new S("hashOrHeight","a string or number",e)},txDryRun:async function(e,t,n){var r,a,s;let{top:o,txEvents:i,combine:c}=n;const d=c?[o,i].join():"immediate";return null!==(r=this._txDryRun)&&void 0!==r||(this._txDryRun={}),null!==(s=(a=this._txDryRun)[d])&&void 0!==s||(a[d]=[]),new Promise(((n,r)=>{var a,s;this._txDryRun[d].push({tx:e,accountAddress:t,top:o,txEvents:i,resolve:n,reject:r}),c?null!==(s=(a=this._txDryRun[d]).timeout)&&void 0!==s||(a.timeout=setTimeout(Zs.bind(this,d))):Zs.call(this,d)}))},getContractByteCode:async function(e){return this.api.getContractCode(e)},getContract:async function(e){return this.api.getContract(e)},getName:async function(e){return this.api.getNameEntryByName(e)},waitForTxConfirm:async function e(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{confirm:3};n.confirm=!0===n.confirm?3:n.confirm;const{blockHeight:r}=await this.api.getTransactionByHash(t),a=await this.awaitHeight(r+n.confirm,n),{blockHeight:s}=await this.api.getTransactionByHash(t);switch(s){case-1:throw new Ye(t);case r:return a;default:return e(t,n)}},resolveName:async function(e,t){let{verify:n,resolveByNode:r}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!e||"string"!=typeof e)throw new J(`Name or address should be a string: ${e}`);try{return jr(e),e}catch(e){}if(Kr(e)){if(n||r){const n=(await this.api.getNameEntryByName(e)).pointers.find((e=>e.key===t));if(!n)throw new Y(`Name ${e} don't have pointers for ${t}`);if(r)return n.id}return Ir(e)}throw new J(`Invalid name or address: ${e}`)}}}),to=eo,no=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("object"!=typeof t)throw new U('tx "params" should be an object');if("string"!=typeof e||!Object.values(rn).includes(e))throw new Xe(`Unknown transaction type ${e}`);const r=La(t.fee,e,{gas:t.gas,params:t,vsn:t.vsn}),{rlpEncoded:a,binary:s,tx:o,txObject:i}=Xa({...t,fee:r},e,{vsn:t.vsn,...n});return{rlpEncoded:a,binary:s,encodedTx:o,params:i,type:e}},ro=e=>{if(!e)throw new He(`Invalid transaction: ${e}`);if("string"==typeof e){const{txType:t,tx:n,rlpEncoded:r,binary:a}=Ja(e);return{encodedTx:e,type:t,params:n,rlpEncoded:r,binary:a}}if(e instanceof Uint8Array){const{txType:t,tx:n,rlpEncoded:r,binary:a}=Ja(e,!0);return{encodedTx:Mr(e,"tx"),type:t,params:n,rlpEncoded:r,binary:a}}throw new He(`"tx" should be a string or Uint8Array, got ${e} instead`)},ao=gs()({init(){let{tx:e,params:t,type:n,options:r={}}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.options=r,this.signatures=[],Object.assign(this,function(){let{tx:e,params:t,type:n,options:r={}}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(t&&n)return no(n,t,r);if(e)return ro(e);throw new He('Invalid TxObject arguments. Please provide one of { tx: "tx_asdasd23..." } or { type: "spendTx", params: {...} }')}({tx:e,params:t,type:n,options:r})),this.type===rn.signed){const{signatures:e,encodedTx:{txType:t,tx:n}}=this.params;this.signatures=e,this.params=n,this.type=t,this.isSigned=!0}},statics:{fromString:e=>ao({tx:e}),fromRlp:e=>ao({tx:e})},methods:{setProp(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("object"!=typeof e)throw new U("Props should be an object");return this.isSigned=!1,this.signatures=[],Object.assign(this,no(this.type,{...this.params,...e,fee:null},{...this.options,...t})),this},getSignatures(){return this.signatures},addSignature(e){if(e=ot(e)?Buffer.from(e,"hex"):e,!(Buffer.isBuffer(e)||e instanceof Uint8Array))throw new Ue("Invalid signature, signature must be of type Buffer or Uint8Array");Object.assign(this,no(rn.signed,{encodedTx:this.rlpEncoded,signatures:[[...this.signatures,e]]}));const{signatures:t,encodedTx:{txType:n,tx:r}}=this.params;this.signatures=t,this.params=r,this.type=n,this.isSigned=!0},calculateMinFee(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t={...this.params,...e};return La(0,this.type,{gas:t.gas,params:t,vsn:t.vsn})}}}),so=ao;async function oo(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:bt,t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(0===e)return 0;if(e<0)throw new S("ttl","greater or equal to 0",e);if(t){const{height:t}=await this.api.getCurrentKeyBlock();return+t+e}return e}const io=to.compose(ws,{init(e){let{nativeMode:t=!0,showWarning:n=!1}=e;this.nativeMode=t,this.showWarning=n},props:{nativeMode:!0,showWarning:!1},methods:{spendTx:async function(e){let{senderId:t,recipientId:n,amount:r,payload:a=""}=e;const{fee:s,ttl:o,nonce:i}=await this.prepareTxParams(rn.spend,{senderId:t,...arguments[0],payload:a}),{tx:c}=this.nativeMode?{tx:ao({params:{...arguments[0],recipientId:n,senderId:t,nonce:i,ttl:o,payload:a},type:rn.spend}).encodedTx}:await this.api.postSpend({...arguments[0],amount:parseInt(r),recipientId:n,senderId:t,nonce:i,ttl:o,fee:parseInt(s),payload:a});return c},namePreclaimTx:async function(e){let{accountId:t,commitmentId:n}=e;const{fee:r,ttl:a,nonce:s}=await this.prepareTxParams(rn.namePreClaim,{senderId:t,...arguments[0]}),{tx:o}=this.nativeMode?{tx:ao({params:{...arguments[0],nonce:s,ttl:a,fee:r},type:rn.namePreClaim}).encodedTx}:await this.api.postNamePreclaim({...arguments[0],nonce:s,ttl:a,fee:parseInt(r)});return o},nameClaimTx:async function(e){let{accountId:t,name:n,nameSalt:r,vsn:a=2}=e;const{fee:s,ttl:o,nonce:i}=await this.prepareTxParams(rn.nameClaim,{senderId:t,...arguments[0],vsn:a}),{tx:c}=this.nativeMode?{tx:ao({params:{...arguments[0],nonce:i,ttl:o,fee:s,vsn:a},type:rn.nameClaim}).encodedTx}:await this.api.postNameClaim({...arguments[0],nonce:i,ttl:o,fee:parseInt(s),name:Mr(n,"nm")});return c},nameTransferTx:async function(e){let{accountId:t,nameId:n,recipientId:r}=e;const{fee:a,ttl:s,nonce:o}=await this.prepareTxParams(rn.nameTransfer,{senderId:t,...arguments[0]}),{tx:i}=this.nativeMode?{tx:ao({params:{...arguments[0],recipientId:r,nonce:o,ttl:s,fee:a},type:rn.nameTransfer}).encodedTx}:await this.api.postNameTransfer({...arguments[0],recipientId:r,nonce:o,ttl:s,fee:parseInt(a)});return i},nameUpdateTx:async function(e){let{accountId:t,nameId:n,nameTtl:r,pointers:a,clientTtl:s}=e;const{fee:o,ttl:i,nonce:c}=await this.prepareTxParams(rn.nameUpdate,{senderId:t,...arguments[0]}),{tx:d}=this.nativeMode?{tx:ao({params:{...arguments[0],nonce:c,ttl:i,fee:o},type:rn.nameUpdate}).encodedTx}:await this.api.postNameUpdate({...arguments[0],nonce:c,ttl:i,fee:parseInt(o)});return d},nameRevokeTx:async function(e){let{accountId:t,nameId:n}=e;const{fee:r,ttl:a,nonce:s}=await this.prepareTxParams(rn.nameRevoke,{senderId:t,...arguments[0]}),{tx:o}=this.nativeMode?{tx:ao({params:{...arguments[0],nonce:s,ttl:a,fee:r},type:rn.nameRevoke}).encodedTx}:await this.api.postNameRevoke({...arguments[0],nonce:s,ttl:a,fee:parseInt(r)});return o},contractCreateTx:async function(e){let{ownerId:t,code:n,vmVersion:r,abiVersion:a,amount:s,gas:o,gasPrice:i=At,callData:c}=e;const d=this.getVmVersion(rn.contractCreate,arguments[0]),{fee:l,ttl:u,nonce:h}=await this.prepareTxParams(rn.contractCreate,{senderId:t,...arguments[0],ctVersion:d,gasPrice:i});return this.nativeMode?{tx:ao({params:{...arguments[0],nonce:h,ttl:u,fee:l,ctVersion:d,gasPrice:i},type:rn.contractCreate}).encodedTx,contractId:xr(t,h)}:this.api.postContractCreate({...arguments[0],nonce:h,ttl:u,fee:parseInt(l),gas:parseInt(o),gasPrice:i,vmVersion:d.vmVersion,abiVersion:d.abiVersion})},contractCallTx:async function(e){let{callerId:t,contractId:n,abiVersion:r,amount:a,gas:s,gasPrice:o=At,callData:i}=e;const c=this.getVmVersion(rn.contractCall,arguments[0]),{fee:d,ttl:l,nonce:u}=await this.prepareTxParams(rn.contractCall,{senderId:t,...arguments[0],gasPrice:o,abiVersion:c.abiVersion}),{tx:h}=this.nativeMode?{tx:ao({params:{...arguments[0],nonce:u,ttl:l,fee:d,abiVersion:c.abiVersion,gasPrice:o},type:rn.contractCall}).encodedTx}:await this.api.postContractCall({...arguments[0],nonce:u,ttl:l,fee:parseInt(d),gas:parseInt(s),gasPrice:o,abiVersion:c.abiVersion});return h},prepareTxParams:async function(e,t){let{senderId:n,nonce:r,ttl:a,fee:s,gas:o,absoluteTtl:i,vsn:c,strategy:d}=t;r=r||(await this.api.getAccountNextNonce(n,{strategy:d}).catch((e=>({nextNonce:1})))).nextNonce;const l=await oo.call(this,a,!i),u=La(s,e,{showWarning:this.showWarning,gas:o,params:{...arguments[1],nonce:r,ttl:l},vsn:c});return{fee:u,ttl:l,nonce:r}},oracleRegisterTx:async function(e){let{accountId:t,queryFormat:n,responseFormat:r,queryFee:a,oracleTtl:s,abiVersion:o=sn.NO_ABI}=e;const{fee:i,ttl:c,nonce:d}=await this.prepareTxParams(rn.oracleRegister,{senderId:t,...arguments[0],abiVersion:o}),{tx:l}=this.nativeMode?{tx:ao({params:{accountId:t,queryFee:a,abiVersion:o,fee:i,oracleTtl:s,nonce:d,ttl:c,queryFormat:n,responseFormat:r},type:rn.oracleRegister}).encodedTx}:await this.api.postOracleRegister({accountId:t,queryFee:a,abiVersion:o,fee:parseInt(i),oracleTtl:s,nonce:d,ttl:c,queryFormat:n,responseFormat:r});return l},oracleExtendTx:async function(e){let{oracleId:t,callerId:n,oracleTtl:r}=e;const{fee:a,ttl:s,nonce:o}=await this.prepareTxParams(rn.oracleExtend,{senderId:n,...arguments[0]}),{tx:i}=this.nativeMode?{tx:ao({params:{oracleId:t,fee:a,oracleTtl:r,nonce:o,ttl:s},type:rn.oracleExtend}).encodedTx}:await this.api.postOracleExtend({oracleId:t,fee:parseInt(a),oracleTtl:r,nonce:o,ttl:s});return i},oraclePostQueryTx:async function(e){let{oracleId:t,responseTtl:n,query:r,queryTtl:a,queryFee:s,senderId:o}=e;const{fee:i,ttl:c,nonce:d}=await this.prepareTxParams(rn.oracleQuery,{senderId:o,...arguments[0]}),{tx:l}=this.nativeMode?{tx:ao({params:{oracleId:t,responseTtl:n,query:r,queryTtl:a,fee:i,queryFee:s,ttl:c,nonce:d,senderId:o},type:rn.oracleQuery}).encodedTx}:await this.api.postOracleQuery({oracleId:t,responseTtl:n,query:r,queryTtl:a,fee:parseInt(i),queryFee:s,ttl:c,nonce:d,senderId:o});return l},oracleRespondTx:async function(e){let{oracleId:t,callerId:n,responseTtl:r,queryId:a,response:s}=e;const{fee:o,ttl:i,nonce:c}=await this.prepareTxParams(rn.oracleResponse,{senderId:n,...arguments[0]}),{tx:d}=this.nativeMode?{tx:ao({params:{oracleId:t,responseTtl:r,queryId:a,response:s,fee:o,ttl:i,nonce:c},type:rn.oracleResponse}).encodedTx}:await this.api.postOracleRespond({oracleId:t,responseTtl:r,queryId:a,response:s,fee:parseInt(o),ttl:i,nonce:c});return d},channelCloseSoloTx:async function(e){let{channelId:t,fromId:n,payload:r,poi:a}=e;const{fee:s,ttl:o,nonce:i}=await this.prepareTxParams(rn.channelCloseSolo,{senderId:n,...arguments[0],payload:r}),{tx:c}=this.nativeMode?Xa({...arguments[0],channelId:t,fromId:n,payload:r,poi:a,ttl:o,fee:s,nonce:i},rn.channelCloseSolo):await this.api.postChannelCloseSolo({...arguments[0],channelId:t,fromId:n,payload:r,poi:a,ttl:o,fee:parseInt(s),nonce:i});return c},channelSlashTx:async function(e){let{channelId:t,fromId:n,payload:r,poi:a}=e;const{fee:s,ttl:o,nonce:i}=await this.prepareTxParams(rn.channelSlash,{senderId:n,...arguments[0],payload:r}),{tx:c}=this.nativeMode?Xa({...arguments[0],channelId:t,fromId:n,payload:r,poi:a,ttl:o,fee:s,nonce:i},rn.channelSlash):await this.api.postChannelSlash({...arguments[0],channelId:t,fromId:n,payload:r,poi:a,ttl:o,fee:parseInt(s),nonce:i});return c},channelSettleTx:async function(e){let{channelId:t,fromId:n,initiatorAmountFinal:r,responderAmountFinal:a}=e;const{fee:s,ttl:o,nonce:i}=await this.prepareTxParams(rn.channelSettle,{senderId:n,...arguments[0]}),{tx:c}=this.nativeMode?Xa({...arguments[0],channelId:t,fromId:n,initiatorAmountFinal:r,responderAmountFinal:a,ttl:o,fee:s,nonce:i},rn.channelSettle):await this.api.postChannelSettle({...arguments[0],channelId:t,fromId:n,initiatorAmountFinal:parseInt(r),responderAmountFinal:parseInt(a),ttl:o,fee:parseInt(s),nonce:i});return c},channelSnapshotSoloTx:async function(e){let{channelId:t,fromId:n,payload:r}=e;const{fee:a,ttl:s,nonce:o}=await this.prepareTxParams(rn.channelSnapshotSolo,{senderId:n,...arguments[0],payload:r}),{tx:i}=this.nativeMode?Xa({...arguments[0],channelId:t,fromId:n,payload:r,ttl:s,fee:a,nonce:o},rn.channelSnapshotSolo):await this.api.postChannelSnapshotSolo({...arguments[0],channelId:t,fromId:n,payload:r,ttl:s,fee:parseInt(a),nonce:o});return i},gaAttachTx:async function(e){let{ownerId:t,code:n,vmVersion:r,abiVersion:a,authFun:s,gas:o,gasPrice:i=At,callData:c}=e;const d=this.getVmVersion(rn.contractCreate,arguments[0]),{fee:l,ttl:u,nonce:h}=await this.prepareTxParams(rn.gaAttach,{senderId:t,...arguments[0],ctVersion:d,gasPrice:i});return{tx:ao({params:{...arguments[0],nonce:h,ttl:u,fee:l,ctVersion:d,gasPrice:i},type:rn.gaAttach}).encodedTx,contractId:xr(t,h)}},payingForTx:async function(e){let{tx:t,payerId:n,...r}=e;const a={tx:Ja(t),payerId:n},{fee:s,nonce:o}=await this.prepareTxParams(rn.payingFor,{...a,...r,senderId:n});return Xa({...a,...r,fee:s,nonce:o},rn.payingFor).tx},getAccountNonce:async function(e,t){if(t)return t;const{nonce:n}=await this.api.getAccountByPubkey(e).catch((()=>({nonce:0})));return n+1},getVmVersion:function(e){let{vmVersion:t,abiVersion:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{consensusProtocolVersion:r}=this.getNodeInfo(),a=cn[r];if(!a)throw new K("Not supported consensus protocol version");const s=a[e];if(!s)throw new Xe("Not supported tx type");if(n=n||s.abiVersion[0],t=t||s.vmVersion[0],!s.vmVersion.includes(t))throw new Ze(`VM VERSION ${t} do not support by this node. Supported: [${s.vmVersion}]`);if(!s.abiVersion.includes(n))throw new Je(`ABI VERSION ${n} do not support by this node. Supported: [${s.abiVersion}]`);return{vmVersion:t,abiVersion:n}}}}),co=io,lo=new WeakMap,uo=Ls.compose({init(e){let{keypair:t,gaId:n}=e;if(this.isGa=!!n,n)return jr(n),void lo.set(this,{publicKey:n});if(!t||"object"!=typeof t)throw new Q("KeyPair must be an object");if(!t.secretKey||!t.publicKey)throw new Q('KeyPair must must have "secretKey", "publicKey" properties');if("string"!=typeof t.publicKey||-1===t.publicKey.indexOf("ak_"))throw new Q('Public Key must be a base58c string with "ak_" prefix');if(!Buffer.isBuffer(t.secretKey)&&"string"==typeof t.secretKey&&!ot(t.secretKey))throw new Q("Secret key must be hex string or Buffer");const r=Buffer.from(jr(t.publicKey,"ak"));if(!ha(Buffer.from(t.secretKey,"hex"),r))throw new Q("Invalid Key Pair");lo.set(this,{secretKey:Buffer.isBuffer(t.secretKey)?t.secretKey:Buffer.from(t.secretKey,"hex"),publicKey:t.publicKey})},props:{isGa:!1},methods:{sign(e){if(this.isGa)throw new Q("You are trying to sign data using generalized account without keypair");return Promise.resolve(ia(e,lo.get(this).secretKey))},address(){return Promise.resolve(lo.get(this).publicKey)}}}),ho=Ls.compose(Ts,{async init(e){let{accounts:t=[],address:n}=e;this.accounts=Object.fromEntries(await Promise.all(t.map((async e=>[await e.address(),e])))),n=n||Object.keys(this.accounts)[0],n&&this.selectAccount(n)},props:{accounts:{}},deepProps:{selectedAddress:null},methods:{async address(){let{onAccount:e=this.selectedAddress}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._resolveAccount(e).address()},async sign(e){let{onAccount:t=this.selectedAddress}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this._resolveAccount(t).sign(e)},addresses(){return Object.keys(this.accounts)},async addAccount(e){let{select:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=await e.address();this.accounts[n]=e,t&&this.selectAccount(n)},removeAccount(e){this.accounts[e]?(delete this.accounts[e],this.selectedAddress===e&&(this.selectedAddress=null)):console.warn(`removeAccount: Account for ${e} not available`)},selectAccount(e){if(jr(e,"ak"),!this.accounts[e])throw new z(e);this.selectedAddress=e},_resolveAccount(e){if(null===e)throw new U("Account should be an address (ak-prefixed string), keypair, or instance of account base, got null instead");switch(typeof e){case"string":if(jr(e,"ak"),!this.accounts[e])throw new z(e);return this.accounts[e];case"object":return Ws(e)?e:uo({keypair:e});default:throw new U(`Account should be an address (ak-prefixed string), keypair, or instance of account base, got ${e} instead`)}}}}),po=Qs.compose({methods:{aensQuery:async function(e){var t=this;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Hr(e);const r=await this.getName(e);return Object.freeze(Object.assign(r,{pointers:r.pointers||[],update:async function(r){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{...await t.aensUpdate(e,r,{...n,...a}),...await t.aensQuery(e)}},transfer:async function(r){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{...await t.aensTransfer(e,r,{...n,...a}),...await t.aensQuery(e)}},revoke:async function(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return t.aensRevoke(e,{...n,...r})},extendTtl:async function(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Ot,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("number"!=typeof r||r>Ot||r<=0)throw new S("nameTtl",`a number between 1 and ${Ot} blocks`,r);return{...await t.aensUpdate(e,{},{...n,...a,nameTtl:r,extendPointers:!0}),...await t.aensQuery(e)}}}))},aensPreclaim:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Hr(e);const n={...this.Ae.defaults,...t},r=ea(),a=await this.height(),s=Cr(e,r),o=await this.namePreclaimTx({...n,accountId:await this.address(n),commitmentId:s}),i=await this.send(o,n);return Object.freeze({...i,height:a,claim:t=>this.aensClaim(e,r,{...t,onAccount:n.onAccount}),salt:r,commitmentId:s})},aensClaim:async function(e,t,n){Hr(e);const r={...this.Ae.defaults,...n},a=await this.nameClaimTx({...r,accountId:await this.address(r),nameSalt:t,name:e}),s=await this.send(a,r);if(!zr(e)){const t=r.waitMined?await this.aensQuery(e,r):{};return Object.assign(s,t)}return{...s,nameFee:r.nameFee}},aensUpdate:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Hr(e);const r={...this.Ae.defaults,...n},a={...n.extendPointers&&Object.fromEntries((await this.getName(e)).pointers.map((e=>{let{key:t,id:n}=e;return[t,n]}))),...t},s=await this.nameUpdateTx({...r,nameId:e,accountId:await this.address(r),pointers:Object.entries(a).map((e=>{let[t,n]=e;return{key:t,id:n}}))});return this.send(s,r)},aensTransfer:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Hr(e);const r={...this.Ae.defaults,...n},a=await this.nameTransferTx({...r,nameId:e,accountId:await this.address(r),recipientId:t});return this.send(a,r)},aensRevoke:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Hr(e);const n={...this.Ae.defaults,...t},r=await this.nameRevokeTx({...n,nameId:e,accountId:await this.address(n)});return this.send(r,n)},aensBid:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.aensClaim(e,0,{...n,nameFee:t,vsn:2})}},deepProps:{Ae:{defaults:{clientTtl:Pt,nameTtl:Ot}}}}),fo=po,mo=Ts.compose({async init(e){let{compilerUrl:t,ignoreVersion:n}=e;t&&await this.setCompilerUrl(t,{ignoreVersion:n})},methods:{async setCompilerUrl(e){let{ignoreVersion:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)throw new D("compilerUrl required");e=e.replace(/\/$/,"");const n=await Fs(`${e}/api`,{disableBigNumbers:!0,disableCaseConversion:!0,responseInterceptor:e=>{if(e.ok)return;let t=`${new URL(e.url).pathname.slice(1)} error`;return e.body.reason&&(t+=": "+e.body.reason+(e.body.parameter?` in ${e.body.parameter}`:"")+(e.body.info?` (${JSON.stringify(e.body.info)})`:"")),Array.isArray(e.body)&&(t+=":\n"+e.body.map((e=>`${e.type}:${e.pos.line}:${e.pos.col}: ${e.message}${e.context?`(${e.context})`:""}`)).map((e=>e.trim())).join("\n")),e.statusText=t,e}});if(this.compilerVersion=n.spec.info.version,this.compilerApi=Ps(n.api,(e=>{let[t,n]=e;return[t,function(){let{options:{filesystem:e,...t}={},...r}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return n({...r,options:{...t,file_system:e}})}]})),!t&&!Vs(this.compilerVersion,go,yo))throw new L("compiler",this.compilerVersion,go,yo)}},props:{compilerVersion:null}}),go="6.1.0",yo="7.0.0";var wo=v(946);const bo=Qs.compose(mo,{methods:{getContractInstance:async function(){var e=this;let{source:t,bytecode:n,aci:r,contractAddress:a,filesystem:s={},validateBytecode:o,...i}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!r&&t&&(r=await this.compilerApi.generateACI({code:t,options:{filesystem:s}})),!r)throw new ge;if(a=a&&await this.resolveName(a,"contract_pubkey",{resolveByNode:!0}),!a&&!t&&!n)throw new me("Can't create instance by ACI without address");if(a&&!(await this.getContract(a)).active)throw new pe(a);const c={_aci:r,_name:r.encoded_aci.contract.name,calldata:new wo.Encoder([r.encoded_aci,...r.external_encoded_aci]),source:t,bytecode:n,deployInfo:{address:a},options:{...this.Ae.defaults,callStatic:!1,filesystem:s,...i},compilerVersion:this.compilerVersion};if(o){if(!a)throw new me("Can't validate bytecode without contract address");const e=(await this.getContractByteCode(a)).bytecode;if(!(t?await this.compilerApi.validateByteCode({bytecode:e,source:t,options:c.options}).then((e=>0===Object.entries(e).length),(()=>!1)):n===e))throw new ue(t?"source":"bytecode")}c.compile=async function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(c.bytecode)throw new P("Contract already compiled");if(!c.source)throw new P("Can't compile without source code");const{bytecode:n}=await e.compilerApi.compileContract({code:c.source,options:{...c.options,...t}});return c.bytecode=n,c.bytecode};const d=async(e,t)=>{const n=await this.send(e,t),r={hash:n.hash,tx:so({tx:n.rawTx}),txData:n,rawTx:n.rawTx};if(!1===t.waitMined)return r;const{callInfo:a}=await this.api.getTransactionInfoByHash(n.hash);return Object.assign(r.txData,a),await l(a),{...r,result:a}},l=e=>{let t,{returnType:n,returnValue:r}=e;switch(n){case"ok":return;case"revert":t=c.calldata.decodeFateString(r);break;case"error":t=jr(r).toString();break;default:throw new G(`Unknown returnType: ${n}`)}throw new we(t)};function u(e){const t=c._aci.encoded_aci.contract.functions.find((t=>t.name===e));if(t)return t;if("init"===e)return{payable:!1};throw new be(`Function ${e} doesn't exist in contract`)}function h(e,t,n){let{contractAddressToName:r}=n;const a={...c.options.contractAddressToName,...r};if(a[e])return a[e];const s=[c._aci.encoded_aci,...c._aci.external_encoded_aci].filter((e=>{let{contract:t}=e;return null==t?void 0:t.event})).map((e=>{let{contract:t}=e;return[t.name,t.event.variant]})).map((e=>{let[t,n]=e;return n.map((e=>[t,Object.keys(e)[0]]))})).flat().filter((e=>{let[,n]=e;return BigInt("0x"+pt(n).toString("hex"))===t}));switch(s.length){case 0:throw new ve(t,e);case 1:return s[0][0];default:throw new Te(e,s)}}return c._estimateGas=async(e,t,n)=>{const{result:{gasUsed:r}}=await c.call(e,t,{...n,callStatic:!0});return Math.floor(1.25*r)},c.deploy=async function(){var t;let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],r=arguments.length>1?arguments[1]:void 0;const a={...c.options,...r};if(c.bytecode||await c.compile(a),a.callStatic)return c.call("init",n,a);if(c.deployInfo.address)throw new he;const s=await e.address(a),{tx:o,contractId:i}=await e.contractCreateTx({...a,gas:null!==(t=a.gas)&&void 0!==t?t:await c._estimateGas("init",n,a),callData:c.calldata.encode(c._name,"init",n),code:c.bytecode,ownerId:s}),{hash:l,rawTx:u,result:h,txData:p}=await d(o,a);return c.deployInfo=Object.freeze({result:h,owner:s,transaction:l,rawTx:u,txData:p,address:i}),c.deployInfo},c.call=async function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const a={...c.options,...r},s=u(t),o=c.deployInfo.address;if(!t)throw new ye;if("init"===t&&!a.callStatic)throw new fe('"init" can be called only via dryRun');if(!o&&"init"!==t)throw new fe("You need to deploy contract before calling!");if(a.amount>0&&!1===s.payable)throw new xe(`You try to pay "${a.amount}" to function "${t}" which is not payable. Only payable function can accept coins`);const i=await e.address(a).catch((e=>{if(a.callStatic)return _t.pub;throw e})),h=c.calldata.encode(c._name,t,n);let p;if(a.callStatic){var f,m;"number"==typeof a.top&&(a.top=(await e.getKeyBlock(a.top)).hash);const n={...a,gas:null!==(f=a.gas)&&void 0!==f?f:Et,callData:h,nonce:null!==(m=a.nonce)&&void 0!==m?m:a.top&&(await e.getAccount(i,{hash:a.top})).nonce+1},r="init"===t?(await e.contractCreateTx({...n,code:c.bytecode,ownerId:i})).tx:await e.contractCallTx({...n,callerId:i,contractId:o}),{callObj:s,...d}=await e.txDryRun(r,i,a);await l(s),p={...d,tx:so({tx:r}),result:s}}else{var g;const r=await e.contractCallTx({...a,gas:null!==(g=a.gas)&&void 0!==g?g:await c._estimateGas(t,n,a),callerId:i,contractId:o,callData:h});p=await d(r,a)}return(a.waitMined||a.callStatic)&&(p.decodedResult=s.returns&&"unit"!==s.returns&&"init"!==t&&c.calldata.decode(c._name,t,p.result.returnValue),p.decodedEvents=c.decodeEvents(p.result.log,a)),p},c.decodeEvents=function(e){let{omitUnknown:t,...n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.map((e=>{const r=e.topics.map((e=>BigInt(e)));let a;try{a=h(e.address,r[0],n)}catch(e){if(t&&e instanceof ve)return null;throw e}const s=c.calldata.decodeEvent(a,e.data,r),[o,i]=Object.entries(s)[0];return{name:o,args:i,contract:{name:a,address:e.address}}})).filter((e=>e))},c.methods=Object.fromEntries(c._aci.encoded_aci.contract.functions.map((e=>{let{name:t,arguments:n,stateful:r}=e;const a=e=>function(){for(var r=arguments.length,a=new Array(r),s=0;s<r;s++)a[s]=arguments[s];const o=a.length===n.length+1?a.pop():{};if("object"!=typeof o)throw new U(`Options should be an object: ${o}`);return"init"===t?c.deploy(a,{callStatic:e,...o}):c.call(t,a,{callStatic:e,...o})};return[t,Object.assign(a("init"!==t&&!r),{get:a(!0),send:a(!1)})]}))),c},delegateSignatureCommon:async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=await this.sign(Buffer.concat([Buffer.from(this.getNetworkId(t)),...e.map((e=>jr(e)))]),t);return Buffer.from(n).toString("hex")},createAensDelegationSignature:async function(e){let{contractId:t,name:n}=e,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.delegateSignatureCommon([await this.address(r),...n?[Ir(n)]:[],t],r)},createOracleDelegationSignature:async function(e){let{contractId:t,queryId:n}=e,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.delegateSignatureCommon([...n?[n]:[],t],r)}},deepProps:{Ae:{defaults:{gasPrice:At,amount:Ct}}}}),xo=e=>async(t,n)=>{if("object"!=typeof t)throw new le("AuthData must be an object");if(t.gas&&y()(t.gas).gt(kt))throw new le(`the maximum gas value for ga authFun is ${kt}, got ${t.gas}`);const r=t.gas||kt;if(t.callData){if("cb"!==t.callData.split("_")[0])throw new le('Auth data must be a string with "cb" prefix.');return{authCallData:t.callData,gas:r}}if(!t.source||!t.args)throw new le("Auth data must contain source code and arguments.");const a=await e.getContractInstance({source:t.source});return{authCallData:a.calldata.encode(a._name,n,t.args),gas:r}},vo=bo.compose({methods:{createGeneralizedAccount:async function(e,t){var n;let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const s={...this.Ae.defaults,...a},o=await this.address(s);if(await this.isGA(o))throw new P(`Account ${o} is already GA`);const i=await this.getContractInstance({source:t});await i.compile();const{tx:c,contractId:d}=await this.gaAttachTx({...s,gas:null!==(n=s.gas)&&void 0!==n?n:await i._estimateGas("init",r,s),ownerId:o,code:i.bytecode,callData:i.calldata.encode(i._name,"init",r),authFun:pt(e)}),{hash:l,rawTx:u}=await this.send(c,s);return Object.freeze({owner:o,transaction:l,rawTx:u,gaContractId:d})},createMetaTx:async function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(!t)throw new D("authData is required");const{authCallData:a,gas:s}=await xo(this)(t,n),o={...this.Ae.defaults,...r},{abiVersion:i}=await this.getVmVersion(rn.contractCall),c=Io(Ja(e)),d={...o,tx:{...c,tx:c.txObject},gaId:await this.address(o),abiVersion:i,authData:a,gas:s,vsn:2},{fee:l}=await this.prepareTxParams(rn.gaMeta,d),{rlpEncoded:u}=Xa({...d,fee:`${l}`},rn.gaMeta,{vsn:2});return Io(u).tx},isGA:async function(e){const{contractId:t}=await this.getAccount(e);return!!t}}}),To=vo,Io=e=>Xa({encodedTx:e,signatures:[]},rn.signed),Co=1;let Eo,Ao,ko,_o,Oo;!function(e){e.to_waellet="to_waellet",e.to_aepp="to_aepp"}(Eo||(Eo={})),function(e){e.window="window",e.extension="extension"}(Ao||(Ao={})),function(e){e.subscribe="subscribe",e.unsubscribe="unsubscribe"}(ko||(ko={})),function(e){e.readyToConnect="connection.announcePresence",e.updateAddress="address.update",e.address="address.get",e.connect="connection.open",e.sign="transaction.sign",e.signMessage="message.sign",e.subscribeAddress="address.subscribe",e.updateNetwork="networkId.update",e.closeConnection="connection.close"}(_o||(_o={})),function(e){e.CONNECTED="CONNECTED",e.NODE_BINDED="NODE_BINDED",e.DISCONNECTED="DISCONNECTED",e.CONNECTION_REJECTED="CONNECTION_REJECTED",e.WAITING_FOR_CONNECTION_APPROVE="WAITING_FOR_CONNECTION_APPROVE",e.WAITING_FOR_CONNECTION_REQUEST="WAITING_FOR_CONNECTION_REQUEST"}(Oo||(Oo={}));const No={broadcastFailed:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:3,data:e,message:"Broadcast failed"}},invalidTransaction:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:2,data:e,message:"Invalid transaction"}},rejectedByUser:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:4,data:e,message:"Operation rejected by user"}},connectionDeny:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:9,data:e,message:"Wallet deny your connection request"}},permissionDeny:e=>({code:11,message:`You are not subscribed for account ${e}`}),internalError:e=>({code:12,message:e}),notAuthorize:()=>({code:10,message:"You are not connected to the wallet"}),unsupportedProtocol:()=>({code:5,message:"Unsupported Protocol Version"}),unsupportedNetwork:()=>({code:8,message:"Unsupported Network"})},So=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const{chrome:t,browser:n}=window;if(void 0!==t&&t===Object(t))return t;if(void 0!==n&&n===Object(n))return n;if(!e)throw new F;return{}},Po=()=>window!==window.parent,Bo=e=>{let t=0;return function(n){let{id:r,method:a,params:s,result:o,error:i}=n,c=arguments.length>1&&void 0!==arguments[1]&&arguments[1];c||(t+=1),r=c?r||null:t;const d=s?{params:s}:o?{result:o}:{error:i};return e.sendMessage({jsonrpc:"2.0",...r?{id:r}:{},method:a,...d}),r}},jo=function(e,t){let{debug:n=!1}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=e[t.method];return r&&"function"==typeof r?r:(n&&console.log(`Unknown message method ${t.method}`),()=>async()=>!0)},Mo=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{method:e,params:t}},Ro=function(e,t){let{error:n,result:r}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return{id:e,method:t,...n?{error:n}:{result:r}}},Do=e=>(t,n,r)=>e.sendMessage(Ro(t,n,r),!0),Fo=e=>3===["","connected","current"].filter((t=>"object"==typeof(t?e[t]:e))).length,Vo=gs()({init(e){let{id:t,name:n,networkId:r,icons:a,connection:s,handlers:[o,i]}=e;this.id=t,this.connection=s,this.info={name:n,networkId:r,icons:a},this.callbacks={},this.addressSubscription=[],this.accounts={},this.sendMessage=Bo(this.connection),s.connect(((e,t)=>{if(!e||!e.jsonrpc||"2.0"!==e.jsonrpc||!e.method)throw new ee(e);o(e,t)}),((e,t)=>{this.disconnect(!0),"function"==typeof i&&i(t,this)}))},propertyDescriptors:{currentAccount:{enumerable:!0,configurable:!1,get(){return this.isHasAccounts()?Object.keys(this.accounts.current)[0]:void 0}},addresses:{enumerable:!0,configurable:!1,get(){return this.isHasAccounts()?[...Object.keys(this.accounts.current),...Object.keys(this.accounts.connected)]:[]}},origin:{enumerable:!0,configurable:!1,get(){return this.connection}}},methods:{updateInfo(e){Object.assign(this.info,e)},isHasAccounts(){return"object"==typeof this.accounts&&"object"==typeof this.accounts.connected&&"object"==typeof this.accounts.current},isSubscribed(){return this.addressSubscription.length&&this.isHasAccounts()},hasAccessToAccount(e){return!!e&&this.addresses.find((t=>t===e))},isConnected(){return this.connection.isConnected()&&(this.info.status===Oo.CONNECTED||this.info.status===Oo.NODE_BINDED)},getCurrentAccount(){let{onAccount:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e||Object.keys(this.accounts.current)[0]},disconnect(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.info.status=Oo.DISCONNECTED,this.addressSubscription=[],this.accounts={},e||this.connection.disconnect()},setAccounts(e){let{forceNotification:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!Fo(e))throw new U("Invalid accounts object. Should be object like: `{ connected: {}, selected: {} }`");this.accounts=e,t||this.sendMessage(Mo(_o.updateAddress,this.accounts),!0)},updateSubscription(e,t){return e!==ko.subscribe||this.addressSubscription.includes(t)||this.addressSubscription.push(t),e===ko.unsubscribe&&this.addressSubscription.includes(t)&&(this.addressSubscription=this.addressSubscription.filter((e=>e!==t))),this.addressSubscription},request(e,t){const n=this.sendMessage(Mo(e,t));if(Object.prototype.hasOwnProperty.call(this.callbacks,n))throw new Z;return new Promise(((e,t)=>{this.callbacks[n]={resolve:e,reject:t}}))},processResponse(e,t){let{id:n,error:r,result:a}=e;if(!this.callbacks[n])throw new te(n);a?this.callbacks[n].resolve(..."function"==typeof t?t({id:n,result:a}):[a]):this.callbacks[n].reject(r),delete this.callbacks[n]}}}),qo={[_o.updateAddress]:e=>t=>{let{params:n}=t;e.rpcClient.accounts=n,e.onAddressChange(n)},[_o.updateNetwork]:e=>async t=>{let{params:n}=t;const{networkId:r,node:a}=n;e.rpcClient.info.networkId=r,a&&e.addNode(a.name,await Ks(a),!0),e.onNetworkChange(n)},[_o.closeConnection]:e=>t=>{e.disconnectWallet(),e.onDisconnect(t.params)}},$o={[_o.address]:e=>t=>e.rpcClient.processResponse(t),[_o.connect]:e=>t=>{t.result&&(e.rpcClient.info.status=Oo.CONNECTED),e.rpcClient.processResponse(t)},[_o.subscribeAddress]:e=>t=>{t.result&&(t.result.address&&(e.rpcClient.accounts=t.result.address),t.result.subscription&&(e.rpcClient.addressSubscription=t.result.subscription)),e.rpcClient.processResponse(t,(e=>{let{id:t,result:n}=e;return[n]}))},[_o.sign]:e=>t=>{e.rpcClient.processResponse(t,(e=>{let{id:t,result:n}=e;return[n.signedTransaction||n.transactionHash]}))},[_o.signMessage]:e=>t=>{e.rpcClient.processResponse(t,(e=>{let{id:t,result:n}=e;return[n.signature]}))}},Uo={},Ho=Qs.compose({async init(e){let{name:t,connection:n,debug:r=!1,...a}=e;["onAddressChange","onDisconnect","onNetworkChange"].forEach((e=>{var t;const n=null!==(t=a[e])&&void 0!==t?t:()=>{};if("function"!=typeof n)throw new S(e,"a function",n);this[e]=n})),this.connection=n,this.name=t,this.debug=r,n&&await this.connectToWallet(n)},deepProps:{Ae:{defaults:{walletBroadcast:!0}}},methods:{sign(){},addresses(){if(!this.isSubscribedAccount())throw new ae;return[this.rpcClient.currentAccount,...Object.keys(this.rpcClient.accounts.connected)]},async connectToWallet(e){let{connectNode:t=!1,name:n="wallet-node",select:r=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.rpcClient&&this.rpcClient.isConnected())throw new et("You are already connected to wallet "+this.rpcClient);var a;this.rpcClient=Vo({connection:e,networkId:this.getNetworkId({force:!0}),...e.connectionInfo,id:(0,pa.v4)(),handlers:[(a=this,async e=>e.id?Object.prototype.hasOwnProperty.call(a.rpcClient.callbacks,e.id)?jo($o,e,{debug:a.debug})(a)(e):jo(Uo,e,{debug:a.debug})(a)(e):jo(qo,e,{debug:a.debug})(a)(e)),this.onDisconnect]});const s=await this.sendConnectRequest(t);if(t&&!Object.prototype.hasOwnProperty.call(s,"node"))throw new rt("Missing URLs of the Node");return t&&this.addNode(n,await Ks(s.node),r),s},async disconnectWallet(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(!this.isConnected())throw new nt("You are not connected to Wallet");e&&this.rpcClient.sendMessage(Mo(_o.closeConnection,{reason:"bye"}),!0),this.rpcClient.disconnect(),this.rpcClient=null},async address(){let{onAccount:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!this.isConnected())throw new nt("You are not connected to Wallet");const t=this.rpcClient.currentAccount;if(!t)throw new ae;if(e&&!this.rpcClient.hasAccessToAccount(e))throw new ne(e);return e||t},async askAddresses(){if(!this.isConnected())throw new nt("You are not connected to Wallet");if(!this.isSubscribedAccount())throw new ae;return this.rpcClient.request(_o.address)},async subscribeAddress(e,t){if(!this.isConnected())throw new nt("You are not connected to Wallet");return this.rpcClient.request(_o.subscribeAddress,{type:e,value:t})},async signTransaction(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isConnected())throw new nt("You are not connected to Wallet");if(!this.isSubscribedAccount())throw new ae;if(t.onAccount&&!this.rpcClient.hasAccessToAccount(t.onAccount))throw new ne(t.onAccount);return this.rpcClient.request(_o.sign,{...t,tx:e,returnSigned:!0,networkId:this.getNetworkId()})},async signMessage(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isConnected())throw new nt("You are not connected to Wallet");if(!this.isSubscribedAccount())throw new ae;if(t.onAccount&&!this.rpcClient.hasAccessToAccount(t.onAccount))throw new ne(t.onAccount);return this.rpcClient.request(_o.signMessage,{...t,message:e})},async sendConnectRequest(e){return this.rpcClient.request(_o.connect,{name:this.name,version:Co,networkId:this.getNetworkId({force:!0}),connectNode:e})},async send(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isConnected())throw new nt("You are not connected to Wallet");if(!this.isSubscribedAccount())throw new ae;if(t.onAccount&&!this.rpcClient.hasAccessToAccount(t.onAccount))throw new ne(t.onAccount);const n={...this.Ae.defaults,...t};if(!n.walletBroadcast){const t=await this.signTransaction(e,{onAccount:n.onAccount});return this.sendTransaction(t,n)}return this.rpcClient.request(_o.sign,{onAccount:n.onAccount,tx:e,returnSigned:!1,networkId:this.getNetworkId()})},isConnected(){return this.rpcClient&&this.rpcClient.isConnected()},isSubscribedAccount(){return void 0!==this.rpcClient.currentAccount}}}),Ko=Qs.compose({methods:{registerOracle:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r={...this.Ae.defaults,...n},a=await this.address(r),s=await this.oracleRegisterTx({...r,accountId:a,queryFormat:e,responseFormat:t});return{...await this.send(s,r),...await this.getOracleObject(`ok_${a.slice(3)}`)}},respondToQuery:async function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const a={...this.Ae.defaults,...r},s=await this.address(a),o=await this.oracleRespondTx({...a,oracleId:e,queryId:t,callerId:s,response:n});return{...await this.send(o,a),...await this.getOracleObject(e)}},extendOracleTtl:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r={...this.Ae.defaults,...n},a=await this.address(r),s=await this.oracleExtendTx({...r,oracleId:e,callerId:a,oracleTtl:t});return{...await this.send(s,r),...await this.getOracleObject(e)}},postQueryToOracle:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=n.queryFee||(await this.api.getOracleByPubkey(e)).queryFee,a={...this.Ae.defaults,queryFee:r,...n},s=await this.address(a),o=await this.oraclePostQueryTx({...a,oracleId:e,senderId:s,query:t}),i=vr(s,Ja(o).tx.nonce,e);return{...await this.send(o,a),...await this.getQueryObject(e,i)}},pollForQueryResponse:async function(e,t){let{attempts:n=20,interval:r=this._getPollInterval("microblock")}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};for(let a=0;a<n;a++){a&&await Ss(r);const{response:n}=await this.api.getOracleQueryByPubkeyAndQueryId(e,t),s=jr(n,"or");if(s.length)return String(s)}throw new q((n-1)*r)},pollForQueries:function(e,t){let{interval:n=this._getPollInterval("microblock")}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=new Set,a=async()=>{const n=((await this.api.getOracleQueriesByPubkey(e)).oracleQueries||[]).filter((e=>{let{id:t}=e;return!r.has(t)}));n.forEach((e=>{let{id:t}=e;return r.add(t)})),n.length&&t(n)};let s;return(async()=>{for(;!s;)await a().catch(console.error),await Ss(n)})(),()=>{s=!0}},getOracleObject:async function(e){const t=await this.api.getOracleByPubkey(e),{oracleQueries:n}=await this.api.getOracleQueriesByPubkey(e);return{...t,queries:n,pollQueries:this.pollForQueries.bind(this,e),postQuery:this.postQueryToOracle.bind(this,e),respondToQuery:this.respondToQuery.bind(this,e),extendOracle:this.extendOracleTtl.bind(this,e),getQuery:this.getQueryObject.bind(this,e)}},getQueryObject:async function(e,t){const n=await this.api.getOracleQueryByPubkeyAndQueryId(e,t);return{...n,decodedQuery:jr(n.query).toString(),decodedResponse:jr(n.response).toString(),respond:this.respondToQuery.bind(this,e,t),pollForResponse:this.pollForQueryResponse.bind(this,e,t),decode:e=>jr(e)}}},deepProps:{Ae:{defaults:{queryFee:xt,oracleTtl:vt,queryTtl:Tt,responseTtl:It}}}}),Wo=Ko,Lo=Qs.compose(co,Wo,bo,fo,to,Ho),Go=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!e.find((e=>e===t))){if("object"!=typeof n.onAccount||!Ws(n.onAccount))throw new U("Provided onAccount should be an AccountBase");t=n.onAccount}return t},Qo={[_o.closeConnection]:(e,t)=>{let{client:n}=t;return async t=>{n.disconnect(!0),e.onDisconnect(t.params,n)}}},zo={},Yo={[_o.connect](e,t,n,r){let{name:a,networkId:s,version:o,icons:i,connectNode:c}=r;return o!==Co?{error:No.unsupportedProtocol()}:(n.updateInfo({status:Oo.WAITING_FOR_CONNECTION_APPROVE,name:a,networkId:s,icons:i,version:o,origin:window.location.origin,connectNode:c}),e("onConnection",{name:a,networkId:s,version:o},(function(){let{shareNode:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return n.updateInfo({status:e?Oo.NODE_BINDED:Oo.CONNECTED}),{result:{...t.getWalletInfo(),...e&&{node:t.selectedNode}}}}),(e=>(n.updateInfo({status:Oo.CONNECTION_REJECTED}),{error:No.connectionDeny(e)}))))},[_o.subscribeAddress](e,t,n,r){let{type:a,value:s}=r;return n.isConnected()?e("onSubscription",{type:a,value:s},(async function(){let{accounts:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{const r=e||t.getAccounts();if(!Fo(r))throw new U("Invalid provided accounts object");const o=n.updateSubscription(a,s);return n.setAccounts(r,{forceNotification:!0}),{result:{subscription:o,address:r}}}catch(e){return t.debug&&console.error(e),{error:No.internalError(e.message)}}}),(e=>({error:No.rejectedByUser(e)}))):{error:No.notAuthorize()}},[_o.address]:(e,t,n)=>n.isConnected()&&n.isSubscribed()?e("onAskAccounts",{},(function(){let{accounts:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{result:e||[...Object.keys(n.accounts.current),...Object.keys(n.accounts.connected)]}}),(e=>({error:No.rejectedByUser(e)}))):{error:No.notAuthorize()},[_o.sign](e,t,n,r){const{tx:a,onAccount:s,networkId:o,returnSigned:i=!1}=r,c=s||n.currentAccount;return o&&n.updateInfo({networkId:o}),n.isConnected()?n.hasAccessToAccount(c)?o&&o===t.getNetworkId()?e("onSign",{tx:a,returnSigned:i,onAccount:c,txObject:so.fromString(a)},(async function(e){let n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{n=Go(t.addresses(),c,r)}catch(e){return t.debug&&console.error(e),{error:No.internalError(e.message)}}try{const r=e||a;return{result:i?{signedTransaction:await t.signTransaction(r,{onAccount:n})}:{transactionHash:await t.send(r,{onAccount:n,verify:!1})}}}catch(n){if(!i){const r=await Xs(e||a,t.selectedNode.instance);return r.length?{error:No.invalidTransaction(r)}:{error:No.broadcastFailed(n.message)}}throw n}}),(e=>({error:No.rejectedByUser(e)}))):{error:No.unsupportedNetwork()}:{error:No.permissionDeny(c)}:{error:No.notAuthorize()}},[_o.signMessage](e,t,n,r){let{message:a,onAccount:s}=r;if(!n.isConnected())return{error:No.notAuthorize()};const o=s||n.currentAccount;return n.hasAccessToAccount(o)?e("onMessageSign",{message:a,onAccount:o},(async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{const n=Go(t.addresses(),o,e);return{result:{signature:await t.signMessage(a,{onAccount:n,returnHex:!0})}}}catch(e){return t.debug&&console.error(e),{error:No.internalError(e.message)}}}),(e=>({error:No.rejectedByUser(e)}))):{error:No.permissionDeny(o)}}},Xo=(e,t)=>async(n,r)=>{const a=e.rpcClients[t];if(!n.id)return jo(Qo,n,{debug:e.debug})(e,{client:a})(n,r);if(Object.prototype.hasOwnProperty.call(a.callbacks,n.id))return jo(zo,n,{debug:e.debug})(e,{client:a})(n,r);{const{id:t,method:s}=n,o=(n,o,i,c)=>()=>new Promise((d=>{e[n](a,{id:t,method:s,params:o,accept:function(){return d(i(...arguments))},deny:function(){return d(c(...arguments))}},r)})),i=jo(Yo,n,{debug:e.debug})(o,e,a,n.params),c="function"==typeof i?await i():i;Do(a)(t,s,c)}},Jo=Qs.compose(ho,{init(){var e=this;let{name:t,debug:n=!1,...r}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};["onConnection","onSubscription","onSign","onDisconnect","onAskAccounts","onMessageSign"].forEach((e=>{const t=r[e];if("function"!=typeof t)throw new S(e,"a function",t);this[e]=t})),this.debug=n,this.rpcClients={},this.name=t,this.id=(0,pa.v4)();const a=this.selectAccount.bind(this),s=this.addAccount.bind(this),o=this.selectNode.bind(this);this.selectAccount=function(t){let{condition:n=(()=>!0)}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};a(t),Object.values(e.rpcClients).filter((e=>e.isConnected()&&e.isSubscribed()&&e.hasAccessToAccount(t)&&n(e))).forEach((e=>e.setAccounts({current:{[t]:{}},connected:{...e.accounts.current,...Object.entries(e.accounts.connected).filter((e=>{let[n,r]=e;return n!==t})).reduce(((e,t)=>{let[n,r]=t;return{...e,[n]:r}}),{})}})))},this.addAccount=async function(t){let{select:n,meta:r={},condition:a=(()=>!0)}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};await s(t,{select:n});const o=await t.address();Object.values(e.rpcClients).filter((e=>e.isConnected()&&e.isSubscribed()&&a(e))).forEach((e=>e.setAccounts({current:{...n?{[o]:r}:e.accounts.current},connected:{...n?e.accounts.current:{[o]:r},...e.accounts.connected}})))},this.selectNode=e=>{o(e),Object.values(this.rpcClients).filter((e=>e.isConnected())).forEach((e=>{e.sendMessage(Mo(_o.updateNetwork,{networkId:this.getNetworkId(),...e.info.status===Oo.NODE_BINDED&&{node:this.selectedNode}}),!0)}))}},methods:{removeRpcClient(e){let{forceConnectionClose:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=this.rpcClients[e];if(!n)throw new re(e);n.disconnect(t),delete this.rpcClients[e]},addRpcClient(e){const t=(0,pa.v4)();return this.rpcClients[t]=Vo({id:t,info:{status:Oo.WAITING_FOR_CONNECTION_REQUEST},connection:e,handlers:[Xo(this,t),this.onDisconnect]}),t},shareWalletInfo(e){e({jsonrpc:"2.0",...Mo(_o.readyToConnect,this.getWalletInfo())})},getWalletInfo(){const e=So(!0).runtime;return{id:e&&e.id?e.id:this.id,name:this.name,networkId:this.getNetworkId(),origin:window.location.origin,type:e&&e.id?Ao.extension:Ao.window}},getAccounts(){return{current:this.selectedAddress?{[this.selectedAddress]:{}}:{},connected:this.addresses().filter((e=>e!==this.selectedAddress)).reduce(((e,t)=>({...e,[t]:{}})),{})}}}}),Zo=Qs.compose(Jo,co,bo,Wo,fo,To,to);var ei=v(397),ti=v(735);const ni=new WeakMap,ri=new WeakMap,ai=new WeakMap,si=new WeakMap,oi=new WeakMap,ii=new WeakMap,ci=new WeakMap,di=new WeakMap,li=new WeakMap,ui=new WeakMap,hi=new WeakMap,pi=new WeakMap,fi=new WeakMap,mi=new WeakMap,gi=new WeakMap,yi=new WeakMap;function wi(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];ii.get(e).emit(...n)}function bi(e,t){if(!t)throw new de;si.set(e,t),t.handler.enter&&t.handler.enter(e),Ci(e)}function xi(e,t){t!==ri.get(e)&&(ri.set(e,t),wi(e,"statusChanged",t))}function vi(e,t){ai.set(e,t),wi(e,"stateChanged",t)}function Ti(e,t){const{debug:n=!1}=ni.get(e);n&&console.log("Send message: ",t),oi.get(e).send(Ns.stringify(t))}function Ii(e,t,n){li.set(e,[...li.get(e)||[],{guard:t,action:n}]),Ci(e)}async function Ci(e){const t=ui.get(e),n=li.get(e)||[];if(t||!n.length)return;const r=si.get(e),a=n.findIndex((t=>t.guard(e,r)));if(-1===a)return;li.set(e,n.filter(((e,t)=>a!==t))),ui.set(e,!0);const s=await Promise.resolve(n[a].action(e,r));ui.set(e,!1),bi(e,s)}async function Ei(e,t){const{handler:n,state:r}=si.get(e);bi(e,await Promise.resolve(n(e,t,r)))}function Ai(e){clearTimeout(mi.get(e)),clearTimeout(gi.get(e)),mi.set(e,setTimeout((()=>{Ti(e,{jsonrpc:"2.0",method:"channels.system",params:{action:"ping"}}),gi.set(e,setTimeout((()=>{_i(e),wi(e,"error",new ie)}),5e3))}),1e4))}function ki(e,t,n){return new Promise(((r,a)=>{const s=hi.set(e,hi.get(e)+1).get(e);fi.get(e).set(s,(e=>{if(e.result)return r(e.result);if(e.error){const[{message:t}={}]=e.error.data||[];return a(new se(e.error.message+(t?`: ${t}`:"")))}})),Ti(e,{jsonrpc:"2.0",method:t,id:s,params:n})}))}function _i(e){oi.get(e).close(),clearTimeout(mi.get(e)),clearTimeout(gi.get(e))}async function Oi(e,t){let{url:n,...r}=t;ni.set(e,r),si.set(e,{handler:r.existingFsmId?Bi:Pi}),ii.set(e,new ti.EventEmitter),hi.set(e,0),fi.set(e,new Map),ci.set(e,[]);const a=new URL(n);Object.entries(r).filter((e=>{let[t]=e;return!["sign","debug"].includes(t)})).forEach((e=>{let[t,n]=e;return a.searchParams.set(st(t),n)})),a.searchParams.set("protocol","json-rpc"),xi(e,"connecting");const s=new ei.w3cwebsocket(a.toString());await new Promise(((t,n)=>Object.assign(s,{onerror:n,onopen:()=>{t(),xi(e,"connected"),r.reconnectTx&&(bi(e,{handler:Vi}),setTimeout((async()=>vi(e,(await ki(e,"channels.get.offchain_state",{})).signed_tx)))),Ai(e)},onclose:()=>{xi(e,"disconnected"),clearTimeout(mi.get(e)),clearTimeout(gi.get(e))},onmessage:t=>{let{data:n}=t;return function(e,t){const n=Ns.parse(t),{debug:r=!1}=ni.get(e);if(r&&console.log("Receive message: ",n),n.id){const t=fi.get(e).get(n.id);try{t(n)}finally{fi.get(e).delete(n.id)}}else"channels.message"!==n.method?"channels.system.pong"!==n.method?(ci.get(e).push(n),async function(e){if(di.get(e))return;const t=ci.get(e);if(t.length){for(di.set(e,!0);t.length;){const n=t.shift();try{await Ei(e,n)}catch(e){console.error("Error handling incoming message:"),console.error(n),console.error(e)}}di.set(e,!1)}}(e)):n.params.channel_id!==pi.get(e)&&null!=pi.get(e)||Ai(e):wi(e,"message",n.params.data.message)}(e,n)}}))),oi.set(e,s)}async function Ni(e,t){const{signatures:n,encodedTx:r}=Ja(e).tx,a=await t(Mr(r.rlpEncoded,"tx"));if("string"==typeof a){const{tx:e,txType:t}=Ja(a);return Xa({signatures:n.concat(e.signatures),encodedTx:e.encodedTx.rlpEncoded},t).tx}return a}function Si(e,t,n){return n&&n.reject&&n.reject(Object.assign(new ce(`Unexpected message received:\n\n${JSON.stringify(t)}`),{wsMessage:t})),{handler:Vi}}function Pi(e,t,n){return"channels.info"===t.method?["channel_accept","funding_created"].includes(t.params.data.event)?(xi(e,{channel_accept:"accepted",funding_created:"halfSigned"}[t.params.data.event]),{handler:ji}):"channel_reestablished"===t.params.data.event?{handler:Di}:"fsm_up"===t.params.data.event?(yi.set(e,t.params.data.fsm_id),{handler:Pi}):{handler:Pi}:"channels.error"===t.method?(wi(e,"error",new oe(t.payload.message)),{handler:ac}):void 0}async function Bi(e,t,n){return"channels.info"===t.method&&"fsm_up"===t.params.data.event?(yi.set(e,t.params.data.fsm_id),vi(e,(await ki(e,"channels.get.offchain_state",{})).signed_tx),{handler:Vi}):Si(0,t,n)}async function ji(e,t,n){const r={initiator:"initiator_sign",responder:"responder_sign"}[ni.get(e).role];if(t.method===`channels.sign.${r}`){if(t.params.data.tx){const n=await ni.get(e).sign(r,t.params.data.tx);return Ti(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{tx:n}}),{handler:Mi}}const n=await Ni(t.params.data.signed_tx,(t=>ni.get(e).sign(r,t)));return Ti(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{signed_tx:n}}),{handler:Mi}}}function Mi(e,t,n){if("channels.on_chain_tx"===t.method){if("funding_signed"===t.params.data.info&&"initiator"===ni.get(e).role)return{handler:Ri};if("funding_created"===t.params.data.info&&"responder"===ni.get(e).role)return{handler:Ri}}if("channels.info"===t.method&&"funding_signed"===t.params.data.event&&"initiator"===ni.get(e).role)return pi.set(e,t.params.channel_id),xi(e,"signed"),{handler:Mi}}function Ri(e,t,n){if("channels.info"===t.method){const e={funding_created:Ri,own_funding_locked:Ri,funding_locked:Di}[t.params.data.event];if(e)return{handler:e}}if("channels.on_chain_tx"===t.method)return wi(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),{handler:Ri}}function Di(e,t,n){if("channels.info"===t.method&&"open"===t.params.data.event)return pi.set(e,t.params.channel_id),{handler:Fi}}function Fi(e,t,n){if("channels.update"===t.method)return vi(e,t.params.data.state),{handler:Vi}}async function Vi(e,t,n){switch(t.method){case"channels.info":switch(t.params.data.event){case"update":case"withdraw_created":case"deposit_created":return{handler:Ui};case"own_withdraw_locked":case"withdraw_locked":case"own_deposit_locked":case"deposit_locked":case"peer_disconnected":case"channel_reestablished":case"open":return wi(e,t.params.data.event),{handler:Vi};case"fsm_up":return yi.set(e,t.params.data.fsm_id),{handler:Vi};case"timeout":case"close_mutual":case"shutdown":return{handler:Vi};case"closing":return xi(e,"closing"),{handler:Vi};case"closed_confirmed":return xi(e,"closed"),{handler:ac};case"died":return xi(e,"died"),{handler:ac}}break;case"channels.on_chain_tx":return wi(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),{handler:Vi};case"channels.leave":return{handler:Vi};case"channels.update":return vi(e,t.params.data.state),{handler:Vi};case"channels.sign.shutdown_sign_ack":return Ui(e,t,n)}}async function qi(e,t,n){if("channels.sign.update"===t.method){const{sign:r}=n;if(t.params.data.tx)return Ti(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:$i,state:n};const a=await Ni(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return Ti(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:a}}),{handler:$i,state:n};if("number"==typeof a)return Ti(e,{jsonrpc:"2.0",method:"channels.update",params:{error:a}}),{handler:qi,state:n}}if("channels.error"===t.method)return n.reject(new oe(t.data.message)),{handler:Vi};if(t.error){const{data:e=[]}=t.error;return e.find((e=>1001===e.code))?n.reject(new j("Insufficient balance")):e.find((e=>1002===e.code))?n.reject(new P("Amount cannot be negative")):n.reject(new oe(t.error.message)),{handler:Vi}}return"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Vi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Vi}):Si(0,t,n)}function $i(e,t,n){return"channels.update"===t.method?(vi(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Vi}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Vi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Vi}):t.error?(n.reject(new oe(t.error.message)),{handler:Vi}):Si(0,t,n)}async function Ui(e,t,n){const[,r]=t.method.match(/^channels\.sign\.([^.]+)$/)||[];if(r){if(t.params.data.tx){const n=await ni.get(e).sign(r,t.params.data.tx,{updates:t.params.data.updates});if(n)return Ti(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{tx:n}}),{handler:Vi}}else{const a=await Ni(t.params.data.signed_tx,(n=>ni.get(e).sign(r,n,{updates:t.params.data.updates})));if("string"==typeof a)return Ti(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{signed_tx:a}}),{handler:Vi};if("number"==typeof a)return Ti(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{error:a}}),{handler:Hi,state:n}}return Ti(e,{jsonrpc:"2.0",method:"channels.update.new",params:{from:aa().publicKey,to:aa().publicKey,amount:1}}),{handler:Hi,state:n}}return Si(0,t,n)}function Hi(e,t,n){return t.error?{handler:Hi,state:n}:"channels.conflict"===t.method?{handler:Vi}:Si(0,t,n)}async function Ki(e,t,n){if("channels.sign.shutdown_sign"===t.method){if(t.params.data.tx)return Ti(e,{jsonrpc:"2.0",method:"channels.shutdown_sign",params:{tx:await n.sign(t.params.data.tx)}}),{handler:Wi,state:n};const r=await Ni(t.params.data.signed_tx,(e=>n.sign(e)));return Ti(e,{jsonrpc:"2.0",method:"channels.shutdown_sign",params:{signed_tx:r}}),{handler:Wi,state:n}}return Si(0,t,n)}function Wi(e,t,n){return"channels.on_chain_tx"===t.method?{handler:ac,state:n}:Si(0,t,n)}function Li(e,t,n){return"channels.leave"===t.method?(n.resolve({channelId:t.params.channel_id,signedTx:t.params.data.state}),_i(e),{handler:ac}):"channels.error"===t.method?(n.reject(new oe(t.data.message)),{handler:Vi}):Si(0,t,n)}async function Gi(e,t,n){if("channels.sign.withdraw_tx"===t.method){const{sign:r}=n;if(t.params.data.tx)return Ti(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:Qi,state:n};const a=await Ni(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return Ti(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{signed_tx:a}}),{handler:Qi,state:n};if("number"==typeof a)return Ti(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{error:a}}),{handler:Qi,state:n}}return Si(0,t,n)}function Qi(e,t,n){if("channels.on_chain_tx"===t.method)return n.onOnChainTx&&n.onOnChainTx(t.params.data.tx),{handler:Qi,state:n};if("channels.info"===t.method&&["own_withdraw_locked","withdraw_locked"].includes(t.params.data.event)){const e={own_withdraw_locked:n.onOwnWithdrawLocked,withdraw_locked:n.onWithdrawLocked}[t.params.data.event];return e&&e(),{handler:Qi,state:n}}return"channels.update"===t.method?(vi(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Vi}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Vi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Vi}):Si(0,t,n)}async function zi(e,t,n){if("channels.sign.deposit_tx"===t.method){const{sign:r}=n;if(t.params.data.tx)return Ti(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:Yi,state:n};const a=await Ni(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return Ti(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{signed_tx:a}}),{handler:Yi,state:n};if("number"==typeof a)return Ti(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{error:a}}),{handler:Yi,state:n}}return Si(0,t,n)}function Yi(e,t,n){if("channels.on_chain_tx"===t.method)return n.onOnChainTx&&n.onOnChainTx(t.params.data.tx),{handler:Yi,state:n};if("channels.info"===t.method&&["own_deposit_locked","deposit_locked"].includes(t.params.data.event)){const e={own_deposit_locked:n.onOwnDepositLocked,deposit_locked:n.onDepositLocked}[t.params.data.event];return e&&e(),{handler:Yi,state:n}}return"channels.update"===t.method?(vi(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Vi}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Vi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Vi}):Si(0,t,n)}async function Xi(e,t,n){if("channels.sign.update"===t.method){if(t.params.data.tx)return Ti(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await n.sign(t.params.data.tx)}}),{handler:Ji,state:n};const r=await Ni(t.params.data.signed_tx,(e=>n.sign(e)));if("string"==typeof r)return Ti(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:r}}),{handler:Ji,state:n};if("number"==typeof r)return Ti(e,{jsonrpc:"2.0",method:"channels.update",params:{error:r}}),{handler:Ji,state:n}}return Si(0,t,n)}function Ji(e,t,n){if("channels.update"===t.method){const{round:r}=Ja(t.params.data.state).tx.encodedTx.tx,a=ni.get(e)[{initiator:"initiatorId",responder:"responderId"}[ni.get(e).role]];return vi(e,t.params.data.state),n.resolve({accepted:!0,address:na(a,r),signedTx:t.params.data.state}),{handler:Vi}}return"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Vi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Vi}):Si(0,t,n)}async function Zi(e,t,n){if("channels.sign.update"===t.method){if(t.params.data.tx)return Ti(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await n.sign(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:nc,state:n};const r=await Ni(t.params.data.signed_tx,(e=>n.sign(e,{updates:t.params.data.updates})));if("string"==typeof r)return Ti(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:r}}),{handler:nc,state:n};if("number"==typeof r)return Ti(e,{jsonrpc:"2.0",method:"channels.update",params:{error:r}}),{handler:nc,state:n}}return Si(0,t,n)}async function ec(e,t,n){if("channels.sign.force_progress_tx"===t.method){const r=await Ni(t.params.data.signed_tx,(e=>n.sign(e,{updates:t.params.data.updates})));return Ti(e,{jsonrpc:"2.0",method:"channels.force_progress_sign",params:{signed_tx:r}}),{handler:tc,state:n}}return Si(0,t,n)}function tc(e,t,n){return"channels.on_chain_tx"===t.method&&(n.onOnChainTx&&n.onOnChainTx(t.params.data),wi(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),n.resolve({accepted:!0,tx:t.params.data.tx})),Si(0,t,n)}function nc(e,t,n){return"channels.update"===t.method?(vi(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Vi}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Vi}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Vi}):Si(0,t,n)}function rc(e,t,n){return"channels.calls_pruned.reply"===t.method?(n.resolve(),{handler:Vi}):(n.reject(new ce("Unexpected message received")),{handler:ac})}function ac(e,t,n){return n?"closing"===t.params.data.event?{handler:ac,state:n}:"channel_closed"===t.params.data.info?(n.closeTx=t.params.data.tx,{handler:ac,state:n}):"closed_confirmed"===t.params.data.event?(n.resolve(n.closeTx),{handler:ac}):{handler:ac,state:n}:{handler:ac}}function sc(e){return Object.entries(e).reduce(((e,t)=>{let[n,r]=t;return{...e,[at(n)]:r}}),{})}Vi.enter=e=>{xi(e,"open")};const oc=Ts.compose({async init(e){Oi(this,e)},methods:{on:function(e,t){ii.get(this).on(e,t)},off:function(e,t){ii.get(this).removeListener(e,t)},status:function(){return ri.get(this)},state:async function(){return sc(await ki(this,"channels.get.offchain_state",{}))},round:function(){if(!ai.get(this))return null;const{txType:e,tx:t}=Ja(ai.get(this)).tx.encodedTx;switch(e){case rn.channelCreate:return 1;case rn.channelOffChain:case rn.channelWithdraw:case rn.channelDeposit:return parseInt(t.round,10);default:return null}},id:function(){return pi.get(this)},fsmId:function(){return yi.get(this)},update:function(e,t,n,r,a){return new Promise(((s,o)=>{Ii(this,((e,t)=>t.handler===Vi),((i,c)=>(Ti(i,{jsonrpc:"2.0",method:"channels.update.new",params:{from:e,to:t,amount:n,meta:a}}),{handler:qi,state:{resolve:s,reject:o,sign:r}})))}))},poi:async function(e){let{accounts:t,contracts:n}=e;return(await ki(this,"channels.get.poi",{accounts:t,contracts:n})).poi},balances:async function(e){return Object.fromEntries((await ki(this,"channels.get.balances",{accounts:e})).map((e=>[e.account,e.balance])))},leave:function(){return new Promise(((e,t)=>{Ii(this,((e,t)=>t.handler===Vi),((n,r)=>(Ti(n,{jsonrpc:"2.0",method:"channels.leave",params:{}}),{handler:Li,state:{resolve:e,reject:t}})))}))},shutdown:function(e){return new Promise(((t,n)=>{Ii(this,((e,t)=>t.handler===Vi),((r,a)=>(Ti(r,{jsonrpc:"2.0",method:"channels.shutdown",params:{}}),{handler:Ki,state:{sign:e,resolve:t,reject:n}})))}))},sendMessage:function(e,t){let n=e;"object"==typeof e&&(n=JSON.stringify(e));const r=e=>Ti(e,{jsonrpc:"2.0",method:"channels.message",params:{info:n,to:t}});if("connecting"===this.status()){const e=t=>{"connecting"!==t&&(setTimeout((()=>r(this)),500),this.off("statusChanged",e))};this.on("statusChanged",e)}else r(this)},withdraw:function(e,t){let{onOnChainTx:n,onOwnWithdrawLocked:r,onWithdrawLocked:a}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((s,o)=>{Ii(this,((e,t)=>t.handler===Vi),((i,c)=>(Ti(i,{jsonrpc:"2.0",method:"channels.withdraw",params:{amount:e}}),{handler:Gi,state:{sign:t,resolve:s,reject:o,onOnChainTx:n,onOwnWithdrawLocked:r,onWithdrawLocked:a}})))}))},deposit:function(e,t){let{onOnChainTx:n,onOwnDepositLocked:r,onDepositLocked:a}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((s,o)=>{Ii(this,((e,t)=>t.handler===Vi),((i,c)=>(Ti(i,{jsonrpc:"2.0",method:"channels.deposit",params:{amount:e}}),{handler:zi,state:{sign:t,resolve:s,reject:o,onOnChainTx:n,onOwnDepositLocked:r,onDepositLocked:a}})))}))},createContract:function(e,t){let{code:n,callData:r,deposit:a,vmVersion:s,abiVersion:o}=e;return new Promise(((e,i)=>{Ii(this,((e,t)=>t.handler===Vi),((c,d)=>(Ti(c,{jsonrpc:"2.0",method:"channels.update.new_contract",params:{code:n,call_data:r,deposit:a,vm_version:s,abi_version:o}}),{handler:Xi,state:{sign:t,resolve:e,reject:i}})))}))},callContract:function(e,t){let{amount:n,callData:r,contract:a,abiVersion:s}=e;return new Promise(((e,o)=>{Ii(this,((e,t)=>t.handler===Vi),((i,c)=>(Ti(i,{jsonrpc:"2.0",method:"channels.update.call_contract",params:{amount:n,call_data:r,contract_id:a,abi_version:s}}),{handler:Zi,state:{resolve:e,reject:o,sign:t}})))}))},callContractStatic:async function(e){let{amount:t,callData:n,contract:r,abiVersion:a}=e;return sc(await ki(this,"channels.dry_run.call_contract",{amount:t,call_data:n,contract_id:r,abi_version:a}))},getContractCall:async function(e){let{caller:t,contract:n,round:r}=e;return sc(await ki(this,"channels.get.contract_call",{caller_id:t,contract_id:n,round:r}))},getContractState:async function(e){const t=await ki(this,"channels.get.contract",{pubkey:e});return sc({...t,contract:sc(t.contract)})},disconnect:function(){return _i(this)},cleanContractCalls:function(){return new Promise(((e,t)=>{Ii(this,((e,t)=>t.handler===Vi),((n,r)=>(Ti(n,{jsonrpc:"2.0",method:"channels.clean_contract_calls",params:{}}),{handler:rc,state:{resolve:e,reject:t}})))}))},forceProgress:function(e,t){let{amount:n,callData:r,contract:a,abiVersion:s,gas:o=1e6,gasPrice:i=1e9,nonce:c}=e,{onOnChainTx:d}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((e,c)=>{Ii(this,((e,t)=>t.handler===Vi),((l,u)=>(Ti(l,{jsonrpc:"2.0",method:"channels.force_progress",params:{amount:n,call_data:r,contract_id:a,abi_version:s,gas_price:i,gas:o}}),{handler:ec,state:{resolve:e,reject:c,sign:t,onOnChainTx:d}})))}))}},statics:{reconnect:async function(e,t){const{sign:n}=e;return oc({...e,reconnectTx:await n("reconnect",Xa(t,rn.channelReconnect).tx)})}}}),ic=oc,cc=Qs.compose(ho,to,co,fo,bo,Wo,To),dc=gs()({init(e){let{pageConnection:t,extConnection:n,allowCrossOrigin:r=!1}=e;if(!window)throw new H("Window object not found, you can run bridge only in browser");if(!t)throw new D("pageConnection required");if(!n)throw new D("extConnection required");this.allowCrossOrigin=r,this.pageConnection=t,this.extConnection=n},methods:{run:function(){const e=this.allowCrossOrigin;this.extConnection.connect((e=>{this.pageConnection.sendMessage(e)})),this.pageConnection.connect(((t,n,r)=>{(e||r===window)&&this.extConnection.sendMessage(t)}))},stop:function(){this.extConnection.disconnect(),this.pageConnection.disconnect()}}}),lc=(0,ys.required)({methods:{connect:ys.required,disconnect:ys.required,sendMessage:ys.required,isConnected:ys.required}}),uc=()=>{const e="object"==typeof So(!0).extension,t=window&&window.location&&window.location.protocol.startsWith("http");return e&&t?window:Po()?window.parent:void 0},hc=gs()({init(){let{connectionInfo:e={},target:t=uc(),self:n=window,origin:r,sendDirection:a,receiveDirection:s=Eo.to_aepp,debug:o=!1,forceOrigin:i=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(a&&!Object.keys(Eo).includes(a))throw new tt(`sendDirection must be one of [${Object.keys(Eo)}]`);if(!Object.keys(Eo).includes(s))throw new tt(`receiveDirection must be one of [${Object.keys(Eo)}]`);this.connectionInfo={id:(0,pa.v4)(),...e};const c=n,d=t;this.origin=r,this.debug=o,this.forceOrigin=i,this.sendDirection=a,this.receiveDirection=s,this.subscribeFn=e=>c.addEventListener("message",e,!1),this.unsubscribeFn=e=>c.removeEventListener("message",e,!1),this.postFn=e=>d.postMessage(e,this.origin||"*")},methods:{connect:function(e){const t=this.origin,n=this.receiveDirection,r=this.debug,a=this.forceOrigin;if(this.listener)throw new et("You already connected");this.listener=(s,o)=>{if(s&&"object"==typeof s.data&&(a||!t||t===s.origin))if(r&&console.log("Receive message: ",s),s.data.type){if(s.data.type!==n)return;e(s.data.data,s.origin,s.source)}else e(s.data,s.origin,s.source)},this.subscribeFn(this.listener)},sendMessage:function(e){const t=this.sendDirection?{type:this.sendDirection,data:e}:e;this.debug&&console.log("Send message: ",t),this.postFn(t)},disconnect:function(){if(!this.listener)throw new nt("You dont have connection. Please connect before");this.unsubscribeFn(this.listener),this.listener=null},isConnected:function(){return this.listener}}},lc),pc=gs()({init(){let{connection:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!window)throw new H("Window object not found, you can run wallet detector only in browser");this.connection=e||hc({connectionInfo:{id:"spy"}}),this.wallets={}},methods:{scan(e){const{wallets:t}=this;this.connection.connect(((n,r,a)=>{let{method:s,params:o}=n;if(!s||!o||s!==_o.readyToConnect||t[o.id])return;const i={...o,async getConnection(){const e="extension"===this.type,t=e?window.origin:this.origin;return hc({connectionInfo:this,sendDirection:e?Eo.to_waellet:void 0,receiveDirection:e?Eo.to_aepp:void 0,target:a,origin:t})}};t[i.id]=i,e({wallets:t,newWallet:i})})),Object.keys(t).length&&e({wallets:t})},stopScan(){this.connection.disconnect()}}}),fc=gs()({init(e){let{connectionInfo:t={},port:n,debug:r=!1}=e;if(!So().runtime)throw new rt("Runtime is not accessible in your environment");this.debug=r,this.connectionInfo=t,this.port=n||So().runtime.connect(t.id||void 0)},methods:{connect:function(e,t){if(this.isConnected())throw new et("You already connected");this.handler=(t,n)=>{this.debug&&console.log("Receive message: ",t),e(t,n)},this.port.onMessage.addListener(this.handler),this.port.onDisconnect.addListener((()=>{"function"==typeof t&&t({},this),this.port.disconnect()}))},sendMessage:function(e){if(!this.port)throw new nt("You dont have connection. Please connect before");this.debug&&console.log("Send message: ",e),this.port.postMessage(e)},disconnect:function(){try{this.port.disconnect()}catch(e){console.warning("From BrowserRuntimeConnection: ",e)}},isConnected:function(){return"function"==typeof this.port.onMessage.hasListeners?this.port.onMessage.hasListeners():this.port.onMessage.hasListener(this.handler)}}},lc),mc=Wr})(),T})()}));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@stamp/it"),require("@aeternity/uuid"),require("@stamp/required"),require("bignumber.js"),require("bs58"),require("tweetnacl"),require("aes-js"),require("@aeternity/blakejs"),require("sha.js"),require("rlp"),require("swagger-client"),require("cross-fetch"),require("@aeternity/json-bigint"),require("@aeternity/aepp-calldata"),require("websocket"),require("events"),require("@aeternity/argon2-browser/dist/argon2-bundled.min.js"),require("tweetnacl-auth"),require("bip32-path")):"function"==typeof define&&define.amd?define(["@stamp/it","@aeternity/uuid","@stamp/required","bignumber.js","bs58","tweetnacl","aes-js","@aeternity/blakejs","sha.js","rlp","swagger-client","cross-fetch","@aeternity/json-bigint","@aeternity/aepp-calldata","websocket","events","@aeternity/argon2-browser/dist/argon2-bundled.min.js","tweetnacl-auth","bip32-path"],t):"object"==typeof exports?exports.Ae=t(require("@stamp/it"),require("@aeternity/uuid"),require("@stamp/required"),require("bignumber.js"),require("bs58"),require("tweetnacl"),require("aes-js"),require("@aeternity/blakejs"),require("sha.js"),require("rlp"),require("swagger-client"),require("cross-fetch"),require("@aeternity/json-bigint"),require("@aeternity/aepp-calldata"),require("websocket"),require("events"),require("@aeternity/argon2-browser/dist/argon2-bundled.min.js"),require("tweetnacl-auth"),require("bip32-path")):e.Ae=t(e["@stamp/it"],e["@aeternity/uuid"],e["@stamp/required"],e["bignumber.js"],e.bs58,e.tweetnacl,e["aes-js"],e["@aeternity/blakejs"],e["sha.js"],e.rlp,e["swagger-client"],e["cross-fetch"],e["@aeternity/json-bigint"],e["@aeternity/aepp-calldata"],e.websocket,e.events,e["@aeternity/argon2-browser/dist/argon2-bundled.min.js"],e["tweetnacl-auth"],e["bip32-path"])}(global,(function(e,t,n,r,a,s,o,i,c,d,l,u,h,p,f,m,g,y,w){return(()=>{"use strict";var b={946:e=>{e.exports=p},289:e=>{e.exports=g},343:e=>{e.exports=i},911:e=>{e.exports=h},983:e=>{e.exports=t},910:t=>{t.exports=e},180:e=>{e.exports=n},236:e=>{e.exports=o},192:e=>{e.exports=r},986:e=>{e.exports=w},783:e=>{e.exports=a},503:e=>{e.exports=u},735:e=>{e.exports=m},485:e=>{e.exports=d},433:e=>{e.exports=c},659:e=>{e.exports=l},79:e=>{e.exports=s},882:e=>{e.exports=y},397:e=>{e.exports=f}},x={};function v(e){var t=x[e];if(void 0!==t)return t.exports;var n=x[e]={exports:{}};return b[e](n,n.exports,v),n.exports}v.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return v.d(t,{a:t}),t},v.d=(e,t)=>{for(var n in t)v.o(t,n)&&!v.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},v.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),v.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var T={};return(()=>{v.r(T),v.d(T,{AccountBase:()=>Hs,AccountError:()=>y,AccountMultiple:()=>co,Ae:()=>Ws,Aens:()=>uo,AensError:()=>w,AensPointerContextError:()=>Q,AeppError:()=>b,AeppWalletHelpers:()=>d,AeppWalletSchema:()=>c,AlreadyConnectedError:()=>Je,AmbiguousEventDefinitionError:()=>xe,AmountFormatter:()=>r,ArgumentCountMismatchError:()=>S,ArgumentError:()=>O,BaseError:()=>g,BrowserRuntimeConnection:()=>uc,BrowserWindowMessageConnection:()=>dc,BytecodeMismatchError:()=>de,Bytes:()=>e,Chain:()=>Is,ChainNode:()=>Js,Channel:()=>ac,ChannelCallError:()=>re,ChannelConnectionError:()=>ae,ChannelError:()=>x,ChannelPingTimedOutError:()=>se,CompilerError:()=>I,ContentScriptBridge:()=>oc,Contract:()=>go,ContractCompilerHttp:()=>ho,ContractError:()=>C,Crypto:()=>t,CryptographyError:()=>E,DecodeError:()=>Me,DisconnectedError:()=>Pe,DryRunError:()=>Fe,DuplicateCallbackError:()=>X,DuplicateContractError:()=>le,DuplicateNodeError:()=>Be,EncodeError:()=>Re,GeneralizedAccount:()=>bo,HdWallet:()=>i,IllegalArgumentError:()=>N,IllegalBidFeeError:()=>Ve,InactiveContractError:()=>ue,InsufficientBalanceError:()=>P,InsufficientNameFeeError:()=>z,InternalError:()=>W,InvalidAensNameError:()=>Y,InvalidAuthDataError:()=>ce,InvalidChecksumError:()=>ve,InvalidDenominationError:()=>B,InvalidDerivationPathError:()=>Te,InvalidKeyError:()=>Ie,InvalidKeypairError:()=>L,InvalidMethodInvocationError:()=>he,InvalidNameError:()=>j,InvalidPasswordError:()=>Ce,InvalidRpcMessageError:()=>J,InvalidSignatureError:()=>qe,InvalidTxError:()=>$e,InvalidTxParamsError:()=>Ue,Keystore:()=>n,MemoryAccount:()=>io,MerkleTreeHashMismatchError:()=>Ee,MessageDirectionError:()=>Ze,MissingCallbackError:()=>Z,MissingContractAddressError:()=>pe,MissingContractDefError:()=>fe,MissingEventDefinitionError:()=>be,MissingFunctionNameError:()=>me,MissingNodeInTreeError:()=>Ae,MissingParamError:()=>M,NoBrowserFoundError:()=>R,NoDefaultAensPointerError:()=>He,NoSerializerFoundError:()=>D,NoSuchContractFunctionError:()=>ye,NoWalletConnectedError:()=>et,Node:()=>$s,NodeError:()=>A,NodeInvocationError:()=>ge,NodeNotFoundError:()=>je,NodePool:()=>zs,NotHardenedSegmentError:()=>_e,NotImplementedError:()=>H,NotPayableFunctionError:()=>we,Oracle:()=>Uo,PayloadLengthError:()=>De,PrefixMismatchError:()=>Ke,PrefixNotFoundError:()=>We,RequestTimedOutError:()=>F,RpcAepp:()=>Ho,RpcConnectionError:()=>tt,RpcWallet:()=>Yo,SCHEMA:()=>s,SchemaNotFoundError:()=>Le,TagNotFoundError:()=>Ge,Transaction:()=>so,TransactionError:()=>k,Tx:()=>vs,TxBuilder:()=>o,TxBuilderHelper:()=>a,TxNotInChainError:()=>Qe,TxTimedOutError:()=>V,TypeError:()=>q,UnAuthorizedAccountError:()=>ee,UnavailableAccountError:()=>G,UnexpectedChannelMessageError:()=>oe,Universal:()=>sc,UnknownChannelStateError:()=>ie,UnknownNodeLengthError:()=>Oe,UnknownPathNibbleError:()=>Ne,UnknownRpcClientError:()=>te,UnknownTxError:()=>ze,UnsubscribedAccountError:()=>ne,UnsupportedABIversionError:()=>Ye,UnsupportedAlgorithmError:()=>ke,UnsupportedChildIndexError:()=>Se,UnsupportedPlatformError:()=>$,UnsupportedProtocolError:()=>U,UnsupportedVMversionError:()=>Xe,UnsupportedVersionError:()=>K,WalletDetector:()=>lc,WalletError:()=>_,genSwaggerClient:()=>Ms,getDefaultPointerKey:()=>hc,verifyTransaction:()=>Qs});var e={};v.r(e),v.d(e,{bigNumberToByteArray:()=>st,str2buf:()=>it,toBytes:()=>ot});var t={};v.r(t),v.d(t,{decryptKey:()=>Bt,encodeContractAddress:()=>Ot,encodeUnsigned:()=>_t,encryptKey:()=>Pt,generateKeyPair:()=>St,generateKeyPairFromSecret:()=>Nt,getAddressFromPriv:()=>Et,hash:()=>It,isAddressValid:()=>At,isValidKeypair:()=>Vt,messageToHash:()=>Rt,salt:()=>kt,sha256hash:()=>lt,sign:()=>jt,signMessage:()=>Dt,verify:()=>Mt,verifyMessage:()=>Ft});var n={};v.r(n),v.d(n,{deriveKeyUsingArgon2id:()=>Kt,dump:()=>Xt,getAddressFromPriv:()=>zt,recover:()=>Yt,validateKeyObj:()=>Jt});var r={};v.r(r),v.d(r,{AE_AMOUNT_FORMATS:()=>nn,DENOMINATION_MAGNITUDE:()=>rn,default:()=>un,formatAmount:()=>on,toAe:()=>an,toAettos:()=>sn});var a={};v.r(a),v.d(a,{buildContractId:()=>jn,buildPointers:()=>Hn,commitmentHash:()=>Fn,computeAuctionEndBlock:()=>Xn,computeBidFee:()=>Yn,createSalt:()=>Bn,decode:()=>xt,encode:()=>vt,ensureNameValid:()=>Ln,formatSalt:()=>Rn,getDefaultPointerKey:()=>Qn,getMinimumNameFee:()=>zn,isAuctionName:()=>Jn,isNameValid:()=>Gn,oracleQueryId:()=>Mn,produceNameId:()=>Dn,readId:()=>qn,readInt:()=>Un,readPointers:()=>Kn,writeId:()=>Vn,writeInt:()=>$n});var s={};v.r(s),v.d(s,{ABI_VERSIONS:()=>Pr,AMOUNT:()=>dr,BASE_GAS:()=>Dr,CLIENT_TTL:()=>vn,CONTRACT_BYTE_CODE_LIMA:()=>Kr,DEFAULT_FEE:()=>Vr,DRY_RUN_ACCOUNT:()=>pr,FIELD_TYPES:()=>Rr,GAS_MAX:()=>lr,GAS_PER_BYTE:()=>Fr,ID_TAG:()=>Nn,ID_TAG_PREFIX:()=>Pn,KEY_BLOCK_INTERVAL:()=>qr,MAX_AUTH_FUN_GAS:()=>hr,MIN_GAS_PRICE:()=>ur,NAME_BID_MAX_LENGTH:()=>An,NAME_BID_RANGES:()=>_n,NAME_BID_TIMEOUTS:()=>On,NAME_BID_TIMEOUT_BLOCKS:()=>Cn,NAME_FEE_BID_INCREMENT:()=>In,NAME_FEE_MULTIPLIER:()=>Tn,NAME_MAX_CLIENT_TTL:()=>xn,NAME_MAX_LENGTH_FEE:()=>En,NAME_MAX_TTL:()=>bn,NAME_TTL:()=>wn,OBJECT_ID_TX_TYPE:()=>Mr,OBJECT_TAG_SIGNED_TRANSACTION:()=>fr,ORACLE_TTL:()=>or,POINTER_KEY_BY_PREFIX:()=>kn,PREFIX_ID_TAG:()=>Sn,PROTOCOL_VERSIONS:()=>Br,PROTOCOL_VM_ABI:()=>jr,QUERY_FEE:()=>sr,QUERY_TTL:()=>ir,RESPONSE_TTL:()=>cr,TX_DESERIALIZATION_SCHEMA:()=>Fa,TX_FEE_BASE_GAS:()=>$r,TX_FEE_OTHER_GAS:()=>Ur,TX_SERIALIZATION_SCHEMA:()=>Da,TX_TTL:()=>ar,TX_TYPE:()=>Nr,VM_VERSIONS:()=>Sr,VSN:()=>nr,VSN_2:()=>rr});var o={};v.r(o),v.d(o,{buildRawTx:()=>Xa,buildTx:()=>es,buildTxHash:()=>ns,calculateFee:()=>za,calculateMinFee:()=>Ga,default:()=>rs,unpackRawTx:()=>Ja,unpackTx:()=>ts,validateParams:()=>Ya});var i={};v.r(i),v.d(i,{deriveChild:()=>fs,derivePathFromKey:()=>ds,derivePathFromSeed:()=>ls,generateSaveHDWalletFromSeed:()=>ms,getHdWalletAccountFromSeed:()=>ys,getKeyPair:()=>hs,getMasterKeyFromSeed:()=>ps,getSaveHDWalletAccounts:()=>gs});var c={};v.r(c),v.d(c,{ERRORS:()=>ko,MESSAGE_DIRECTION:()=>To,METHODS:()=>Eo,RPC_STATUS:()=>Ao,SUBSCRIPTION_TYPES:()=>Co,VERSION:()=>vo,WALLET_TYPE:()=>Io});var d={};v.r(d),v.d(d,{getBrowserAPI:()=>_o,getHandler:()=>So,isInIframe:()=>Oo,isValidAccounts:()=>Mo,message:()=>Po,responseMessage:()=>Bo,sendMessage:()=>No,sendResponseMessage:()=>jo});var l=v(79),u=v.n(l),h=v(236),p=v.n(h),f=v(192),m=v.n(f);class g extends Error{constructor(e){super(e),this.name="BaseError"}}class y extends g{constructor(e){super(e),this.name="AccountError"}}class w extends g{constructor(e){super(e),this.name="AensError"}}class b extends g{constructor(e){super(e),this.name="AeppError"}}class x extends g{constructor(e){super(e),this.name="ChannelError"}}class I extends g{constructor(e){super(e),this.name="CompilerError"}}class C extends g{constructor(e){super(e),this.name="ContractError"}}class E extends g{constructor(e){super(e),this.name="CryptographyError"}}class A extends g{constructor(e){super(e),this.name="NodeError"}}class k extends g{constructor(e){super(e),this.name="TransactionError"}}class _ extends g{constructor(e){super(e),this.name="WalletError"}}class O extends g{constructor(e,t,n){super(`${e} should be ${t}, got ${n} instead`),this.name="ArgumentError"}}class N extends E{constructor(e){super(e),this.name="IllegalArgumentError"}}class S extends g{constructor(e,t,n){super(`${e} expects ${t} arguments, got ${n} instead`),this.name="ArgumentCountMismatchError"}}class P extends g{constructor(e){super(e),this.name="InsufficientBalanceError"}}class B extends g{constructor(e){super(e),this.name="InvalidDenominationError"}}class j extends g{constructor(e){super(e),this.name="InvalidNameError"}}class M extends g{constructor(e){super(e),this.name="MissingParamError"}}class R extends g{constructor(){super("Browser is not detected"),this.name="NoBrowserFoundError"}}class D extends g{constructor(){super("Byte serialization not supported"),this.name="NoSerializerFoundError"}}class F extends g{constructor(e,t,n){super(void 0!==t&&void 0!==n?`Giving up after ${e}ms, current height: ${t}, desired height: ${n}`:`Giving up after ${e} ms`),this.name="RequestTimedOutError"}}class V extends g{constructor(e,t,n){super([`Giving up after ${e} blocks mined`,`transaction hash: ${t}`,...n?[`status: ${n}`]:[]].join(", ")),this.name="TxTimedOutError"}}class q extends g{constructor(e){super(e),this.name="TypeError"}}class $ extends g{constructor(e){super(e),this.name="UnsupportedPlatformError"}}class U extends g{constructor(e){super(e),this.name="UnsupportedProtocolError"}}class H extends g{constructor(e){super(e),this.name="NotImplementedError"}}class K extends g{constructor(e,t,n,r){super(`Unsupported ${e} version ${t}. Supported: >= ${n} < ${r}`),this.name="UnsupportedVersionError"}}class W extends g{constructor(e){super(e),this.name="InternalError"}}class L extends y{constructor(e){super(e),this.name="InvalidKeypairError"}}class G extends y{constructor(e){super(`Account for ${e} not available`),this.name="UnavailableAccountError"}}class Q extends w{constructor(e,t){super(`Name ${e} don't have pointers for ${t}`),this.name="AensPointerContextError"}}class z extends w{constructor(e,t){super(`the provided fee ${e} is not enough to execute the claim, required: ${t}`),this.name="InsufficientNameFeeError"}}class Y extends w{constructor(e){super(e),this.name="InvalidAensNameError"}}class X extends b{constructor(){super("Callback Already exist"),this.name="DuplicateCallbackError"}}class J extends b{constructor(e){super(`Received invalid message: ${e}`),this.name="InvalidRpcMessageError"}}class Z extends b{constructor(e){super(`Can't find callback for this messageId ${e}`),this.name="MissingCallbackError"}}class ee extends b{constructor(e){super(`You do not have access to account ${e}`),this.name="UnAuthorizedAccountError"}}class te extends b{constructor(e){super(`RpcClient with id ${e} do not exist`),this.name="UnknownRpcClientError"}}class ne extends b{constructor(){super("You are not subscribed for an account."),this.name="UnsubscribedAccountError"}}class re extends x{constructor(e){super(e),this.name="ChannelCallError"}}class ae extends x{constructor(e){super(e),this.name="ChannelConnectionError"}}class se extends x{constructor(){super("Server pong timed out"),this.name="ChannelPingTimedOutError"}}class oe extends x{constructor(e){super(e),this.name="UnexpectedChannelMessageError"}}class ie extends x{constructor(){super("State Channels FSM entered unknown state"),this.name="UnknownChannelStateError"}}class ce extends I{constructor(e){super(e),this.name="InvalidAuthDataError"}}class de extends C{constructor(e){super(`Contract ${e} do not correspond to the bytecode deployed on the chain`),this.name="BytecodeMismatchError"}}class le extends C{constructor(){super("Contract already deployed"),this.name="DuplicateContractError"}}class ue extends C{constructor(e){super(`Contract with address ${e} not active`),this.name="InactiveContractError"}}class he extends C{constructor(e){super(e),this.name="InvalidMethodInvocationError"}}class pe extends C{constructor(e){super(e),this.name="MissingContractAddressError"}}class fe extends C{constructor(){super("Either ACI or source code is required"),this.name="MissingContractDefError"}}class me extends C{constructor(){super("Function name is required"),this.name="MissingFunctionNameError"}}class ge extends C{constructor(e){var t;super("Invocation failed"+(""===(e=null!==(t=e)&&void 0!==t?t:"")?"":`: "${e}"`)),this.name="NodeInvocationError"}}class ye extends C{constructor(e){super(`Function ${e} doesn't exist in contract`),this.name="NoSuchContractFunctionError"}}class we extends C{constructor(e,t){super(`You try to pay "${e}" to function "${t}" which is not payable. Only payable function can accept tokens`),this.name="NotPayableFunctionError"}}class be extends C{constructor(e,t){super(`Can't find definition of ${e} event emitted by ${t} (use omitUnknown option to ignore events like this)`),this.name="MissingEventDefinitionError"}}class xe extends C{constructor(e,t){super(`Found multiple definitions of "${t[0][1]}" event emitted by ${e} in ${t.map((e=>{let[t]=e;return`"${t}"`})).join(", ")} contracts (use contractAddressToName option to specify contract name corresponding to address)`),this.name="AmbiguousEventDefinitionError"}}class ve extends E{constructor(){super("Invalid checksum"),this.name="InvalidChecksumError"}}class Te extends E{constructor(){super("Invalid path"),this.name="InvalidDerivationPathError"}}class Ie extends E{constructor(e){super(e),this.name="InvalidKeyError"}}class Ce extends E{constructor(e){super(e),this.name="InvalidPasswordError"}}class Ee extends E{constructor(){super("Node hash is not equal to provided one"),this.name="MerkleTreeHashMismatchError"}}class Ae extends E{constructor(e){super(e),this.name="MissingNodeInTreeError"}}class ke extends E{constructor(e){super(e+" is not available"),this.name="UnsupportedAlgorithmError"}}class _e extends E{constructor(e){super(e),this.name="NotHardenedSegmentError"}}class Oe extends E{constructor(e){super(`Unknown node length: ${e}`),this.name="UnknownNodeLengthError"}}class Ne extends E{constructor(e){super(`Unknown path nibble: ${e}`),this.name="UnknownPathNibbleError"}}class Se extends E{constructor(e){super(`Child index #${e} is not supported`),this.name="UnsupportedChildIndexError"}}class Pe extends A{constructor(){super("Can not get node info. Node is not connected"),this.name="DisconnectedError"}}class Be extends A{constructor(e){super(`Node with name ${e} already exist`),this.name="DuplicateNodeError"}}class je extends A{constructor(e){super(e),this.name="NodeNotFoundError"}}class Me extends k{constructor(e){super(e),this.name="DecodeError"}}class Re extends k{constructor(e){super(e),this.name="EncodeError"}}class De extends k{constructor(e){super(e),this.name="PayloadLengthError"}}class Fe extends k{constructor(e){super(e),this.name="DryRunError"}}class Ve extends k{constructor(e){super(e),this.name="IllegalBidFeeError"}}class qe extends k{constructor(e){super(e),this.name="InvalidSignatureError"}}class $e extends k{constructor(e){super(e),this.name="InvalidTxError"}}class Ue extends k{constructor(e){super(e),this.name="InvalidTxParamsError"}}class He extends k{constructor(e){super(`Default AENS pointer key is not defined for ${e} prefix`),this.name="NoDefaultAensPointerError"}}class Ke extends k{constructor(e,t){super(`Encoded string have a wrong type: ${e} (expected: ${t})`),this.name="PrefixMismatchError"}}class We extends k{constructor(e){super(`Prefix for id-tag ${e} not found.`),this.name="PrefixNotFoundError"}}class Le extends k{constructor(e){super(e),this.name="SchemaNotFoundError"}}class Ge extends k{constructor(e){super(`Id tag for prefix ${e} not found.`),this.name="DecodeError"}}class Qe extends k{constructor(e){super(`Transaction ${e} is removed from chain`),this.name="TxNotInChainError"}}class ze extends k{constructor(e){super(e),this.name="UnknownTxError"}}class Ye extends k{constructor(e){super(e),this.name="UnsupportedABIversionError"}}class Xe extends k{constructor(e){super(e),this.name="UnsupportedVMversionError"}}class Je extends _{constructor(e){super(e),this.name="AlreadyConnectedError"}}class Ze extends _{constructor(e){super(e),this.name="MessageDirectionError"}}class et extends _{constructor(e){super(e),this.name="NoWalletConnectedError"}}class tt extends _{constructor(e){super(e),this.name="RpcConnectionError"}}function nt(e){return e.replace(/_./g,(e=>e[1].toUpperCase()))}function rt(e){return e.replace(/[A-Z]/g,(e=>`_${e.toLowerCase()}`))}function at(e){return e.length%2==0&&/^[0-9a-f]+$/i.test(e)}function st(e){if(!e.isInteger())throw new q(`Unexpected not integer value: ${e.toFixed()}`);let t=e.toString(16);return t.length%2==1&&(t="0"+t),Buffer.from(t,"hex")}function ot(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(null==e)return Buffer.from([]);if(Number.isInteger(e)||m().isBigNumber(e)||t)return m().isBigNumber(e)||(e=new(m())(e)),st(e);if("string"==typeof e)return Buffer.from(e);throw new D}function it(e,t){var n;return Buffer.from(e,null!==(n=null!=t?t:at(e)?"hex":void 0)&&void 0!==n?n:function(e){if(e.length%4>0||/[^0-9a-z+/=]/i.test(e))return!1;const t=e.indexOf("=");return-1===t||/={1,2}/.test(e.slice(t))}(e)?"base64":void 0)}var ct=v(783),dt=v(433);function lt(e){return(new dt.sha256).update(e).digest()}const ut=["ba","cb","or","ov","pi","ss","cs","ck","cv","st","tx"],ht=["ak","bf","bs","bx","ch","cm","ct","kh","mh","nm","ok","oq","pp","sg","th"],pt={ak:32,ct:32,ok:32};function ft(e,t){if(pt[t]&&e.length!==pt[t])throw new De(`Payload should be ${pt[t]} bytes, got ${e.length} instead`)}const mt=e=>lt(lt(e)).slice(0,4),gt=e=>{const t=Buffer.from(e);return Buffer.concat([t,mt(t)])};function yt(e){const t=e.slice(0,-4);if(!mt(t).equals(e.slice(-4)))throw new ve;return t}const wt={encode:e=>gt(e).toString("base64"),decode:e=>yt(Buffer.from(e,"base64"))},bt={encode:e=>ct.encode(gt(e)),decode:e=>yt(ct.decode(e))};function xt(e,t){const[n,r,a]=e.split("_");if(!r)throw new Me(`Encoded string missing payload: ${e}`);if(a)throw new Me(`Encoded string have extra parts: ${e}`);if(t&&t!==n)throw new Ke(n,t);const s=ut.includes(n)&&wt.decode||ht.includes(n)&&bt.decode;if(!s)throw new Me(`Encoded string have unknown type: ${n}`);const o=s(r);return ft(o,n),o}function vt(e,t){const n=ut.includes(t)&&wt.encode||ht.includes(t)&&bt.encode;if(!n)throw new Re(`Unknown type: ${t}`);return ft(e,t),`${t}_${n(e)}`}var Tt=v(343);function It(e){return Buffer.from((0,Tt.blake2b)(e,void 0,32))}const Ct=p().ModeOfOperation.ecb;function Et(e){const t=u().sign.keyPair.fromSecretKey(it(e));return vt(Buffer.from(t.publicKey),"ak")}function At(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ak";try{return xt(e,t),!0}catch(e){return!1}}function kt(){return Math.floor(Math.random()*Math.floor(Number.MAX_SAFE_INTEGER))}function _t(e){const t=Buffer.allocUnsafe(4);return t.writeUInt32BE(e),t.slice(t.findIndex((e=>0!==e)))}function Ot(e,t){const n=xt(e,"ak");return vt(It(Buffer.concat([n,_t(t)])),"ct")}function Nt(e){return u().sign.keyPair.fromSecretKey(e)}function St(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const t=u().sign.keyPair(),n=Buffer.from(t.publicKey),r=Buffer.from(t.secretKey);return e?{publicKey:n,secretKey:r}:{publicKey:vt(n,"ak"),secretKey:r.toString("hex")}}function Pt(e,t){const n=lt(e);return new Ct(n).encrypt(t)}function Bt(e,t){const n=Buffer.from(t),r=lt(e),a=new Ct(r);return Buffer.from(a.decrypt(n))}function jt(e,t){return u().sign.detached(Buffer.from(e),Buffer.from(t))}function Mt(e,t,n){return u().sign.detached.verify(new Uint8Array(e),t,n)}function Rt(e){const t=Buffer.from("aeternity Signed Message:\n","utf8"),n=Buffer.from(e,"utf8");if(n.length>=253)throw new H("Message too long");return It(Buffer.concat([Buffer.from([t.length]),t,Buffer.from([n.length]),n]))}function Dt(e,t){return jt(Rt(e),t)}function Ft(e,t,n){return Mt(Rt(e),t,n)}function Vt(e,t){const n=Buffer.from("TheMessage");return Mt(n,jt(n,e),t)}var qt=v(983),$t=v(289);const Ut={crypto:{secret_type:"ed25519",symmetric_alg:"xsalsa20-poly1305",kdf:"argon2id",kdf_params:{memlimit_kib:65536,opslimit:3,parallelism:1}}},Ht={argon2id:Kt};async function Kt(e,t,n){const{memlimit_kib:r,opslimit:a}=n.kdf_params,s=(await(0,$t.hash)({hashLen:32,pass:e,salt:t,time:a,mem:r,type:$t.ArgonType.Argon2id})).hash;return Buffer.from(s)}const Wt={"xsalsa20-poly1305":{encrypt:function(e){let{plaintext:t,key:n,nonce:r}=e;return u().secretbox(t,r,n)},decrypt:function(e){let{ciphertext:t,key:n,nonce:r}=e;const a=u().secretbox.open(t,r,n);if(!a)throw new Ce("Invalid password or nonce");return a}}};function Lt(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Ut.crypto.symmetric_alg;if(!Wt[r])throw new ke(r);return Wt[r].encrypt({plaintext:e,nonce:n,key:t})}async function Gt(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{kdf_params:Ut.crypto.kdf_params,kdf:Ut.crypto.kdf};if(!t)throw new O("nonce","provided",t);if(null==e)throw new O("password","provided",e);if(!Object.prototype.hasOwnProperty.call(Ht,n.kdf))throw new ke(n.kdf);return Ht[n.kdf](e,t,n)}function Qt(e,t,n,r,a){let s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};const o=Object.assign({},Ut.crypto,s);return Object.assign({name:e,version:1,public_key:zt(n),id:(0,qt.v4)()},{crypto:Object.assign({secret_type:o.secret_type,symmetric_alg:o.symmetric_alg,ciphertext:Buffer.from(Lt(Buffer.from(n),t,r,o.symmetric_alg)).toString("hex"),cipher_params:{nonce:Buffer.from(r).toString("hex")}},{kdf:o.kdf,kdf_params:{...o.kdf_params,salt:Buffer.from(a).toString("hex")}})})}function zt(e){const t=u().sign.keyPair.fromSecretKey(it(e));return vt(Buffer.from(t.publicKey),"ak")}async function Yt(e,t){Jt(t);const n=Uint8Array.from(it(t.crypto.cipher_params.nonce)),r=Uint8Array.from(it(t.crypto.kdf_params.salt)),a=t.crypto.kdf_params,s=t.crypto.kdf,o=await function(e,t,n,r){if(!Wt[r])throw new ke(r);return Wt[r].decrypt({ciphertext:e,nonce:n,key:t})}(Uint8Array.from(it(t.crypto.ciphertext)),await Gt(e,r,{kdf:s,kdf_params:a}),n,t.crypto.symmetric_alg);if(!o)throw new Ce("Invalid password");return 64===Buffer.from(o).length?Buffer.from(o).toString("hex"):Buffer.from(o).toString("utf-8")}async function Xt(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:u().randomBytes(24),a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:u().randomBytes(16),s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};const o=Object.assign({},Ut.crypto,s);return Qt(e,await Gt(t,a,o),"string"==typeof n?Buffer.from(n,"hex"):n,r,a,o)}function Jt(e){const t=["crypto","id","version","public_key"].filter((t=>!Object.prototype.hasOwnProperty.call(e,t)));if(t.length)throw new Ie(`Invalid key file format. Require properties: ${t}`);const n=["cipher_params","ciphertext","symmetric_alg","kdf","kdf_params"].filter((t=>!Object.prototype.hasOwnProperty.call(e.crypto,t)));if(n.length)throw new Ie(`Invalid key file format. Require properties: ${n}`);return!0}var Zt=v(485);const en=e=>["number","object","string","bigint"].includes(typeof e)&&(!isNaN(e)||Number.isInteger(e)||m().isBigNumber(e)),tn=e=>e.integerValue(m().ROUND_CEIL),nn={AE:"ae",MILI_AE:"miliAE",MICRO_AE:"microAE",NANO_AE:"nanoAE",PICO_AE:"picoAE",FEMTO_AE:"femtoAE",AETTOS:"aettos"},rn={[nn.AE]:0,[nn.MILI_AE]:-3,[nn.MICRO_AE]:-6,[nn.NANO_AE]:-9,[nn.PICO_AE]:-12,[nn.FEMTO_AE]:-15,[nn.AETTOS]:-18},an=function(e){let{denomination:t=nn.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return on(e,{denomination:t,targetDenomination:nn.AE})},sn=function(e){let{denomination:t=nn.AE}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return on(e,{denomination:t})},on=function(e){let{denomination:t=nn.AETTOS,targetDenomination:n=nn.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=Object.values(nn);if(!r.includes(t))throw new B(`Invalid denomination: ${t}`);if(!r.includes(n))throw new B(`Invalid target denomination: ${n}`);if(!en(e))throw new O("value","a number",e);return new(m())(e).shiftedBy(rn[t]-rn[n]).toFixed()},cn=[{name:"exa",magnitude:18},{name:"giga",magnitude:9},{name:"",magnitude:0},{name:"pico",magnitude:-12}],dn=e=>cn.reduce(((t,n)=>Math.abs(n.magnitude-e)<Math.abs(t.magnitude-e)?n:t)),ln=e=>{var t;return null!==(t=cn.find((t=>t.magnitude<=e)))&&void 0!==t?t:cn[cn.length-1]},un=e=>{var t;const n=new(m())(e),r=null!==(t=n.e)&&void 0!==t?t:0,{name:a,magnitude:s}=(r<0?dn:ln)(r);return`${n.shiftedBy(-s).precision(9+Math.min(r-s,0)).toFixed()}${""!==a?" ":""}${a}`},hn=async e=>await new Promise((t=>setTimeout(t,e))),pn=(e,t)=>Object.fromEntries(Object.entries(e).map(t)),fn=(e,t)=>Object.fromEntries(Object.entries(e).filter(t)),mn=(e,t)=>"object"!=typeof t||null===t?t:Array.isArray(t)?t.map((t=>mn(e,t))):pn(t,(t=>{let[n,r]=t;return[e(n),mn(e,r)]})),gn=mn.bind(null,rt),yn=mn.bind(null,nt),wn=18e4,bn=36e3,xn=84600,vn=xn,Tn=1e14,In=.05,Cn=480,En=31,An=12,kn={ak:"account_pubkey",ok:"oracle_pubkey",ct:"contract_pubkey",ch:"channel"},_n=pn({31:3,30:5,29:8,28:13,27:21,26:34,25:55,24:89,23:144,22:233,21:377,20:610,19:987,18:1597,17:2584,16:4181,15:6765,14:10946,13:17711,12:28657,11:46368,10:75025,9:121393,8:196418,7:317811,6:514229,5:832040,4:1346269,3:2178309,2:3524578,1:5702887},(e=>{let[t,n]=e;return[t,new(m())(n).times(Tn)]})),On={13:m()(0),12:m()(Cn),8:m()(31).times(Cn),4:m()(62).times(Cn)},Nn={account:1,name:2,commitment:3,oracle:4,contract:5,channel:6},Sn={ak:Nn.account,nm:Nn.name,cm:Nn.commitment,ok:Nn.oracle,ct:Nn.contract,ch:Nn.channel},Pn=pn(Sn,(e=>{let[t,n]=e;return[n,t]})),Bn=kt;function jn(e,t){return vt(It(Buffer.from([...xt(e,"ak"),...ot(t)])),"ct")}function Mn(e,t,n){return vt(It(Buffer.from([...xt(e,"ak"),...function(e){const t=ot(e,!0);return Buffer.concat([Buffer.alloc(32-t.length),t])}(t),...xt(n,"ok")])),"oq")}function Rn(e){return Buffer.from(e.toString(16).padStart(64,"0"),"hex")}function Dn(e){return Ln(e),vt(It(e.toLowerCase()),"nm")}function Fn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Bn();return Ln(e),vt(It(Buffer.concat([Buffer.from(e.toLowerCase()),Rn(t)])),"cm")}function Vn(e){if("string"!=typeof e)throw new O("hashId","a string",e);const t=e.slice(0,2),n=Sn[t];if(!n)throw new Ge(t);return Buffer.from([...ot(n),...xt(e,t)])}function qn(e){const t=Buffer.from(e).readUIntBE(0,1),n=Pn[t];if(!n)throw new We(t);return vt(e.slice(1,e.length),n)}function $n(e){return ot(e,!0)}function Un(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Buffer.from([]);return new(m())(Buffer.from(e).toString("hex"),16).toString(10)}function Hn(e){return e.map((e=>[ot(e.key),Vn(e.id)]))}function Kn(e){return e.map((e=>{let[t,n]=e;return Object.assign({key:t.toString(),id:qn(n)})}))}const Wn=".chain";function Ln(e){if(!e||"string"!=typeof e)throw new j("Name must be a string");if(!e.endsWith(Wn))throw new j(`Name should end with .chain: ${e}`)}function Gn(e){try{return Ln(e),!0}catch(e){return!1}}function Qn(e){xt(e);const t=e.substr(0,2);return kn[t]||(()=>{throw new He(t)})()}function zn(e){Ln(e);const t=e.length-Wn.length;return _n[Math.min(t,En)]}function Yn(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:In;if(Number(n)!==n||n%1==0)throw new Ve(`Increment must be float. Current increment ${n}`);if(n<In)throw new Ve(`minimum increment percentage is ${In}`);return tn(m()(null!=t?t:zn(e)).times(m()(In).plus(1)))}function Xn(e,t){Ln(e);const n=e.length-Wn.length;return(n<=4&&On[4]||n<=8&&On[8]||n<=12&&On[12]||On[13]).plus(t).toString(10)}function Jn(e){return Ln(e),e.length<13+Wn.length}class Zn{static serialize(e){return e}static deserialize(e){return e}}class er extends Zn{static serialize(e){return Vn(Gn(e)?Dn(e):e)}static deserialize(e){return qn(e)}}class tr extends Zn{static serialize(e,t){let{name:n}=t;if(+e)throw new N(`Contract deposit is not refundable, so it should be equal 0, got ${e} instead`);return $n(0)}static deserialize(e){return Un(e)}}const nr=1,rr=2,ar=0,sr=3e4,or={type:"delta",value:500},ir={type:"delta",value:10},cr={type:"delta",value:10},dr=0,lr=1579e3,ur=1e9,hr=5e4,pr={pub:"ak_11111111111111111111111111111111273Yts",amount:"100000000000000000000000000000000000"},fr=11,mr=521,gr=570,yr=571,wr=572,br=573,xr=574,vr=575,Tr=621,Ir=622,Cr=623,Er=624,Ar=625,kr=626,_r=(e,t,n)=>[e,t,n],Or=(e,t)=>[e,t],Nr={account:"account",signed:"signedTx",spend:"spendTx",nameClaim:"nameClaimTx",namePreClaim:"namePreClaimTx",nameUpdate:"nameUpdateTx",nameRevoke:"nameRevokeTx",nameTransfer:"nameTransfer",contract:"contract",contractCreate:"contractCreateTx",contractCall:"contractCallTx",contractCallResult:"contractCallResult",oracleRegister:"oracleRegister",oracleExtend:"oracleExtend",oracleQuery:"oracleQuery",oracleResponse:"oracleResponse",channelCreate:"channelCreate",channelCloseMutual:"channelCloseMutual",channelCloseSolo:"channelCloseSolo",channelSlash:"channelSlash",channelDeposit:"channelDeposit",channelWithdraw:"channelWithdraw",channelSettle:"channelSettle",channelOffChain:"channelOffChain",channelForceProgress:"channelForceProgress",channel:"channel",channelSnapshotSolo:"channelSnapshotSolo",channelOffChainUpdateTransfer:"channelOffChainUpdateTransfer",channelOffChainUpdateDeposit:"channelOffChainUpdateDeposit",channelOffChainUpdateWithdrawal:"channelOffChainUpdateWithdrawal",channelOffChainCreateContract:"channelOffChainCreateContract",channelOffChainCallContract:"channelOffChainCallContract",channelReconnect:"channelReconnect",proofOfInclusion:"proofOfInclusion",stateTrees:"stateTrees",merklePatriciaTree:"merklePatriciaTree",merklePatriciaTreeValue:"merklePatriciaTreeValue",contractsTree:"contractsTree",contractCallsTree:"contractCallsTree",channelsTree:"channelsTree",nameserviceTree:"nameserviceTree",oraclesTree:"oraclesTree",accountsTree:"accountsTree",gaAttach:"gaAttach",gaMeta:"gaMeta",payingFor:"payingFor",sophiaByteCode:"sophiaByteCode"},Sr={NO_VM:0,SOPHIA:1,SOPHIA_IMPROVEMENTS_MINERVA:3,SOPHIA_IMPROVEMENTS_FORTUNA:4,FATE:5,SOPHIA_IMPROVEMENTS_LIMA:6,FATE_2:7},Pr={NO_ABI:0,SOPHIA:1,FATE:3},Br={IRIS:5},jr={[Br.IRIS]:{[Nr.contractCreate]:{vmVersion:[Sr.FATE_2],abiVersion:[Pr.FATE]},[Nr.contractCall]:{vmVersion:[Sr.FATE_2,Sr.FATE,Sr.SOPHIA_IMPROVEMENTS_LIMA,Sr.SOPHIA_IMPROVEMENTS_FORTUNA,Sr.SOPHIA,Sr.SOPHIA_IMPROVEMENTS_MINERVA],abiVersion:[Pr.FATE,Pr.SOPHIA]},[Nr.oracleRegister]:{vmVersion:[],abiVersion:[Pr.NO_ABI,Pr.SOPHIA]}}},Mr={10:Nr.account,[fr]:Nr.signed,12:Nr.spend,32:Nr.nameClaim,33:Nr.namePreClaim,34:Nr.nameUpdate,35:Nr.nameRevoke,36:Nr.nameTransfer,40:Nr.contract,42:Nr.contractCreate,43:Nr.contractCall,41:Nr.contractCallResult,22:Nr.oracleRegister,25:Nr.oracleExtend,23:Nr.oracleQuery,24:Nr.oracleResponse,50:Nr.channelCreate,53:Nr.channelCloseMutual,54:Nr.channelCloseSolo,55:Nr.channelSlash,[mr]:Nr.channelForceProgress,51:Nr.channelDeposit,52:Nr.channelWithdraw,56:Nr.channelSettle,57:Nr.channelOffChain,58:Nr.channel,59:Nr.channelSnapshotSolo,[gr]:Nr.channelOffChainUpdateTransfer,[yr]:Nr.channelOffChainUpdateDeposit,[wr]:Nr.channelOffChainUpdateWithdrawal,[br]:Nr.channelOffChainCreateContract,[xr]:Nr.channelOffChainCallContract,[vr]:Nr.channelReconnect,60:Nr.proofOfInclusion,62:Nr.stateTrees,63:Nr.merklePatriciaTree,64:Nr.merklePatriciaTreeValue,[Tr]:Nr.contractsTree,[Ir]:Nr.contractCallsTree,[Cr]:Nr.channelsTree,[Er]:Nr.nameserviceTree,[Ar]:Nr.oraclesTree,[kr]:Nr.accountsTree,80:Nr.gaAttach,81:Nr.gaMeta,82:Nr.payingFor,70:Nr.sophiaByteCode},Rr={int:"int",amount:"amount",id:"id",ids:"ids",string:"string",binary:"binary",rlpBinary:"rlpBinary",rlpBinaries:"rlpBinaries",rawBinary:"rawBinary",bool:"bool",hex:"hex",signatures:"signatures",pointers:"pointers",offChainUpdates:"offChainUpdates",callStack:"callStack",proofOfInclusion:"proofOfInclusion",mptrees:"mptrees",callReturnType:"callReturnType",ctVersion:"ctVersion",sophiaCodeTypeInfo:"sophiaCodeTypeInfo",payload:"payload",any:"any",stateTree:"stateTree"},Dr=15e3,Fr=20,Vr=2e4,qr=3,$r=e=>{const t={[Nr.channelForceProgress]:30,[Nr.channelOffChain]:0,[Nr.channelOffChainCallContract]:0,[Nr.channelOffChainCreateContract]:0,[Nr.channelOffChainUpdateDeposit]:0,[Nr.channelOffChainUpdateWithdrawal]:0,[Nr.channelOffChainUpdateTransfer]:0,[Nr.contractCreate]:5,[Nr.contractCall]:12,[Nr.gaAttach]:5,[Nr.gaMeta]:5,[Nr.payingFor]:.2}[e]||1;return new(m())(t*Dr)},Ur=(e,t,n)=>{let{relativeTtl:r,innerTxSize:a}=n;switch(e){case Nr.oracleRegister:case Nr.oracleExtend:case Nr.oracleQuery:case Nr.oracleResponse:return new(m())(t).times(Fr).plus(Math.ceil(32e3*r/Math.floor(525600/qr)));case Nr.gaMeta:case Nr.payingFor:return new(m())(t).minus(a).times(Fr);default:return new(m())(t).times(Fr)}},Hr=[_r("tag",Rr.int),_r("VSN",Rr.int)],Kr=[...Hr,_r("sourceCodeHash",Rr.rawBinary),_r("typeInfo",Rr.sophiaCodeTypeInfo),_r("byteCode",Rr.rawBinary),_r("compilerVersion",Rr.string),_r("payable",Rr.bool)],Wr=[...Hr,_r("flags",Rr.int),_r("nonce",Rr.int),_r("balance",Rr.int),_r("gaContract",Rr.id,["ct","nm"]),_r("gaAuthFun",Rr.binary,"cb")],Lr=[...Hr,_r("senderId",Rr.id,"ak"),_r("recipientId",Rr.id,["ak","nm"]),_r("amount",Rr.amount),_r("fee",Rr.int),_r("ttl",Rr.int),_r("nonce",Rr.int),_r("payload",Rr.payload)],Gr=[...Hr,_r("signatures",Rr.signatures),_r("encodedTx",Rr.rlpBinary)],Qr=[...Hr,_r("accountId",Rr.id,"ak"),_r("nonce",Rr.int),_r("commitmentId",Rr.id,"cm"),_r("fee",Rr.int),_r("ttl",Rr.int)],zr=[...Hr,_r("accountId",Rr.id,"ak"),_r("nonce",Rr.int),_r("name",class extends Zn{static serialize(e){return Ln(e),Buffer.from(e)}static deserialize(e){return e.toString()}}),_r("nameSalt",Rr.int),_r("nameFee",class extends Zn{static serialize(e,t){var n;let{name:r}=t;const a=zn(r);if(null!==(n=e)&&void 0!==n||(e=a),a.gt(e))throw new z(e,a);return $n(e)}static deserialize(e){return Un(e)}}),_r("fee",Rr.int),_r("ttl",Rr.int)],Yr=[...Hr,_r("accountId",Rr.id,"ak"),_r("nonce",Rr.int),_r("nameId",er),_r("nameTtl",Rr.int),_r("pointers",Rr.pointers),_r("clientTtl",Rr.int),_r("fee",Rr.int),_r("ttl",Rr.int)],Xr=[...Hr,_r("accountId",Rr.id,"ak"),_r("nonce",Rr.int),_r("nameId",er),_r("recipientId",Rr.id,["ak","nm"]),_r("fee",Rr.int),_r("ttl",Rr.int)],Jr=[...Hr,_r("accountId",Rr.id,"ak"),_r("nonce",Rr.int),_r("nameId",er),_r("fee",Rr.int),_r("ttl",Rr.int)],Zr=[...Hr,_r("owner",Rr.id,"ak"),_r("ctVersion",Rr.int),_r("code",Rr.binary,"cb"),_r("log",Rr.binary,"cb"),_r("active",Rr.bool),_r("referers",Rr.ids,"ak"),_r("deposit",tr)],ea=[...Hr,_r("ownerId",Rr.id,"ak"),_r("nonce",Rr.int),_r("code",Rr.binary,"cb"),_r("authFun",Rr.rawBinary),_r("ctVersion",Rr.ctVersion),_r("fee",Rr.int),_r("ttl",Rr.int),_r("gas",Rr.int),_r("gasPrice",Rr.int),_r("callData",Rr.binary,"cb")],ta=[...Hr,_r("gaId",Rr.id,"ak"),_r("authData",Rr.binary,"cb"),_r("abiVersion",Rr.int),_r("fee",Rr.int),_r("gas",Rr.int),_r("gasPrice",Rr.int),_r("tx",Rr.rlpBinary)],na=[...Hr,_r("payerId",Rr.id,"ak"),_r("nonce",Rr.int),_r("fee",Rr.int),_r("tx",Rr.rlpBinary)],ra=[...Hr,_r("ownerId",Rr.id,"ak"),_r("nonce",Rr.int),_r("code",Rr.binary,"cb"),_r("ctVersion",Rr.ctVersion),_r("fee",Rr.int),_r("ttl",Rr.int),_r("deposit",tr),_r("amount",Rr.amount),_r("gas",Rr.int),_r("gasPrice",Rr.int),_r("callData",Rr.binary,"cb")],aa=[...Hr,_r("callerId",Rr.id,"ak"),_r("nonce",Rr.int),_r("contractId",Rr.id,["ct","nm"]),_r("abiVersion",Rr.int),_r("fee",Rr.int),_r("ttl",Rr.int),_r("amount",Rr.amount),_r("gas",Rr.int),_r("gasPrice",Rr.int),_r("callData",Rr.binary,"cb")],sa=[...Hr,_r("callerId",Rr.id,"ak"),_r("callerNonce",Rr.int),_r("height",Rr.int),_r("contractId",Rr.id,"ct"),_r("gasPrice",Rr.int),_r("gasUsed",Rr.int),_r("returnValue",Rr.binary,"cb"),_r("returnType",Rr.callReturnType),_r("log",Rr.rawBinary)],oa=[...Hr,_r("accountId",Rr.id,"ak"),_r("nonce",Rr.int),_r("queryFormat",Rr.string),_r("responseFormat",Rr.string),_r("queryFee",Rr.amount),_r("oracleTtlType",Rr.int),_r("oracleTtlValue",Rr.int),_r("fee",Rr.int),_r("ttl",Rr.int),_r("abiVersion",Rr.int)],ia=[...Hr,_r("oracleId",Rr.id,["ok","nm"]),_r("nonce",Rr.int),_r("oracleTtlType",Rr.int),_r("oracleTtlValue",Rr.int),_r("fee",Rr.int),_r("ttl",Rr.int)],ca=[...Hr,_r("senderId",Rr.id,"ak"),_r("nonce",Rr.int),_r("oracleId",Rr.id,["ok","nm"]),_r("query",Rr.string),_r("queryFee",Rr.amount),_r("queryTtlType",Rr.int),_r("queryTtlValue",Rr.int),_r("responseTtlType",Rr.int),_r("responseTtlValue",Rr.int),_r("fee",Rr.int),_r("ttl",Rr.int)],da=[...Hr,_r("oracleId",Rr.id,"ok"),_r("nonce",Rr.int),_r("queryId",Rr.binary,"oq"),_r("response",Rr.string),_r("responseTtlType",Rr.int),_r("responseTtlValue",Rr.int),_r("fee",Rr.int),_r("ttl",Rr.int)],la=[...Hr,_r("initiator",Rr.id,"ak"),_r("initiatorAmount",Rr.int),_r("responder",Rr.id,"ak"),_r("responderAmount",Rr.int),_r("channelReserve",Rr.int),_r("lockPeriod",Rr.int),_r("ttl",Rr.int),_r("fee",Rr.int),_r("initiatorDelegateIds",Rr.string),_r("responderDelegateIds",Rr.string),_r("stateHash",Rr.binary,"st"),_r("nonce",Rr.int)],ua=[...Hr,_r("channelId",Rr.id,"ch"),_r("fromId",Rr.id,"ak"),_r("amount",Rr.int),_r("ttl",Rr.int),_r("fee",Rr.int),_r("stateHash",Rr.binary,"st"),_r("round",Rr.int),_r("nonce",Rr.int)],ha=[...Hr,_r("channelId",Rr.id,"ch"),_r("toId",Rr.id,"ak"),_r("amount",Rr.int),_r("ttl",Rr.int),_r("fee",Rr.int),_r("stateHash",Rr.binary,"st"),_r("round",Rr.int),_r("nonce",Rr.int)],pa=[...Hr,_r("channelId",Rr.id,"ch"),_r("fromId",Rr.id,"ak"),_r("initiatorAmountFinal",Rr.int),_r("responderAmountFinal",Rr.int),_r("ttl",Rr.int),_r("fee",Rr.int),_r("nonce",Rr.int)],fa=[...Hr,_r("channelId",Rr.id,"ch"),_r("fromId",Rr.id,"ak"),_r("payload",Rr.binary,"tx"),_r("poi",Rr.binary,"pi"),_r("ttl",Rr.int),_r("fee",Rr.int),_r("nonce",Rr.int)],ma=[...Hr,_r("channelId",Rr.id,"ch"),_r("fromId",Rr.id,"ak"),_r("payload",Rr.binary,"tx"),_r("poi",Rr.binary,"pi"),_r("ttl",Rr.int),_r("fee",Rr.int),_r("nonce",Rr.int)],ga=[...Hr,_r("channelId",Rr.id,"ch"),_r("fromId",Rr.id,"ak"),_r("initiatorAmountFinal",Rr.int),_r("responderAmountFinal",Rr.int),_r("ttl",Rr.int),_r("fee",Rr.int),_r("nonce",Rr.int)],ya=[...Hr,_r("channelId",Rr.id,"ch"),_r("fromId",Rr.id,"ak"),_r("payload",Rr.binary,"tx"),_r("round",Rr.int),_r("update",Rr.binary,"cb"),_r("stateHash",Rr.binary,"st"),_r("offChainTrees",Rr.stateTree),_r("ttl",Rr.int),_r("fee",Rr.int),_r("nonce",Rr.int)],wa=[...Hr,_r("channelId",Rr.id,"ch"),_r("round",Rr.int),_r("stateHash",Rr.binary,"st")],ba=[...Hr,_r("initiator",Rr.id,"ak"),_r("responder",Rr.id,"ak"),_r("channelAmount",Rr.int),_r("initiatorAmount",Rr.int),_r("responderAmount",Rr.int),_r("channelReserve",Rr.int),_r("initiatorDelegateIds",Rr.ids),_r("responderDelegateIds",Rr.ids),_r("stateHash",Rr.hex),_r("round",Rr.int),_r("soloRound",Rr.int),_r("lockPeriod",Rr.int),_r("lockedUntil",Rr.int),_r("initiatorAuth",Rr.binary,"cb"),_r("responderAuth",Rr.binary,"cb")],xa=[...Hr,_r("channelId",Rr.id,"ch"),_r("fromId",Rr.id,"ak"),_r("payload",Rr.binary,"tx"),_r("ttl",Rr.int),_r("fee",Rr.int),_r("nonce",Rr.int)],va=[...Hr,_r("owner",Rr.id,"ak"),_r("ctVersion",Rr.int),_r("code",Rr.binary,"cb"),_r("deposit",Rr.int),_r("callData",Rr.binary,"cb")],Ta=[...Hr,_r("caller",Rr.id,"ak"),_r("contract",Rr.id,"ct"),_r("abiVersion",Rr.int),_r("amount",Rr.int),_r("callData",Rr.binary,"cb"),_r("callStack",Rr.callStack),_r("gasPrice",Rr.int),_r("gasLimit",Rr.int)],Ia=[...Hr,_r("channelId",Rr.id,"ch"),_r("round",Rr.int),_r("role",Rr.string),_r("pubkey",Rr.id,"ak")],Ca=[...Hr,_r("from",Rr.id,"ak"),_r("to",Rr.id,"ak"),_r("amount",Rr.int)],Ea=[...Hr,_r("from",Rr.id,"ak"),_r("amount",Rr.int)],Aa=[...Hr,_r("from",Rr.id,"ak"),_r("amount",Rr.int)],ka=[...Hr,_r("accounts",Rr.mptrees),_r("calls",Rr.mptrees),_r("channels",Rr.mptrees),_r("contracts",Rr.mptrees),_r("ns",Rr.mptrees),_r("oracles",Rr.mptrees)],_a=[...Hr,_r("contracts",Rr.rlpBinary),_r("calls",Rr.rlpBinary),_r("channels",Rr.rlpBinary),_r("ns",Rr.rlpBinary),_r("oracles",Rr.rlpBinary),_r("accounts",Rr.rlpBinary)],Oa=[...Hr,_r("values",Rr.rlpBinaries)],Na=[...Hr,_r("key",Rr.hex),_r("value",Rr.rawBinary)],Sa=[...Hr,_r("contracts",Rr.rlpBinary)],Pa=[...Hr,_r("calls",Rr.rlpBinary)],Ba=[...Hr,_r("channels",Rr.rlpBinary)],ja=[...Hr,_r("mtree",Rr.rlpBinary)],Ma=[...Hr,_r("otree",Rr.rlpBinary)],Ra=[...Hr,_r("accounts",Rr.rlpBinary)],Da={[Nr.account]:{2:Or(Wr,10)},[Nr.signed]:{1:Or(Gr,fr)},[Nr.spend]:{1:Or(Lr,12)},[Nr.namePreClaim]:{1:Or(Qr,33)},[Nr.nameClaim]:{2:Or(zr,32)},[Nr.nameUpdate]:{1:Or(Yr,34)},[Nr.nameTransfer]:{1:Or(Xr,36)},[Nr.nameRevoke]:{1:Or(Jr,35)},[Nr.contract]:{1:Or(Zr,40)},[Nr.contractCreate]:{1:Or(ra,42)},[Nr.contractCall]:{1:Or(aa,43)},[Nr.contractCallResult]:{1:Or(sa,41)},[Nr.oracleRegister]:{1:Or(oa,22)},[Nr.oracleExtend]:{1:Or(ia,25)},[Nr.oracleQuery]:{1:Or(ca,23)},[Nr.oracleResponse]:{1:Or(da,24)},[Nr.channelCreate]:{2:Or(la,50)},[Nr.channelCloseMutual]:{1:Or(pa,53)},[Nr.channelCloseSolo]:{1:Or(fa,54)},[Nr.channelSlash]:{1:Or(ma,55)},[Nr.channelDeposit]:{1:Or(ua,51)},[Nr.channelWithdraw]:{1:Or(ha,52)},[Nr.channelSettle]:{1:Or(ga,56)},[Nr.channelForceProgress]:{1:Or(ya,mr)},[Nr.channelOffChain]:{2:Or(wa,57)},[Nr.channel]:{3:Or(ba,58)},[Nr.channelSnapshotSolo]:{1:Or(xa,59)},[Nr.channelOffChainUpdateTransfer]:{1:Or(Ca,gr)},[Nr.channelOffChainUpdateDeposit]:{1:Or(Ea,yr)},[Nr.channelOffChainUpdateWithdrawal]:{1:Or(Aa,wr)},[Nr.channelOffChainCreateContract]:{1:Or(va,br)},[Nr.channelOffChainCallContract]:{1:Or(Ta,xr)},[Nr.channelReconnect]:{1:Or(Ia,vr)},[Nr.proofOfInclusion]:{1:Or(ka,60)},[Nr.stateTrees]:{1:Or(_a,62)},[Nr.merklePatriciaTree]:{1:Or(Oa,63)},[Nr.merklePatriciaTreeValue]:{1:Or(Na,64)},[Nr.contractsTree]:{1:Or(Sa,Tr)},[Nr.contractCallsTree]:{1:Or(Pa,Ir)},[Nr.channelsTree]:{1:Or(Ba,Cr)},[Nr.nameserviceTree]:{1:Or(ja,Er)},[Nr.oraclesTree]:{1:Or(Ma,Ar)},[Nr.accountsTree]:{1:Or(Ra,kr)},[Nr.gaAttach]:{1:Or(ea,80)},[Nr.gaMeta]:{2:Or(ta,81)},[Nr.payingFor]:{1:Or(na,82)}},Fa={10:{2:Or(Wr,10)},[fr]:{1:Or(Gr,fr)},12:{1:Or(Lr,12)},33:{1:Or(Qr,33)},32:{2:Or(zr,32)},34:{1:Or(Yr,34)},36:{1:Or(Xr,36)},35:{1:Or(Jr,35)},40:{1:Or(Zr,40)},42:{1:Or(ra,42)},43:{1:Or(aa,43)},41:{1:Or(sa,41)},22:{1:Or(oa,22)},25:{1:Or(ia,25)},23:{1:Or(ca,23)},24:{1:Or(da,24)},50:{2:Or(la,50)},53:{1:Or(pa,53)},54:{1:Or(fa,54)},55:{1:Or(ma,55)},51:{1:Or(ua,51)},52:{1:Or(ha,52)},56:{1:Or(ga,56)},57:{2:Or(wa,57)},58:{3:Or(ba,58)},59:{1:Or(xa,59)},[gr]:{1:Or(Ca,gr)},[yr]:{1:Or(Ea,yr)},[wr]:{1:Or(Aa,wr)},[br]:{1:Or(va,br)},[xr]:{1:Or(Ta,xr)},[vr]:{1:Or(Ia,vr)},60:{1:Or(ka,60)},62:{1:Or(_a,62)},63:{1:Or(Oa,63)},64:{1:Or(Na,64)},[Tr]:{1:Or(Sa,Tr)},[Ir]:{1:Or(Pa,Ir)},[Cr]:{1:Or(Ba,Cr)},[Er]:{1:Or(ja,Er)},[Ar]:{1:Or(Ma,Ar)},[kr]:{1:Or(Ra,kr)},80:{1:Or(ea,80)},81:{2:Or(ta,81)},82:{1:Or(na,82)},[mr]:{1:Or(ya,mr)},70:{3:Or(Kr,70)}};var Va;!function(e){e[e.Branch=0]="Branch",e[e.Extension=1]="Extension",e[e.Leaf=2]="Leaf"}(Va||(Va={}));class qa{static nodeHash(e){return Buffer.from(It((0,Zt.encode)(e))).toString("hex")}constructor(e){if(this.rootHash=e[0].toString("hex"),this.nodes=Object.fromEntries(e[1].map((e=>[e[0].toString("hex"),e[1]]))),void 0===this.nodes[this.rootHash])throw new Ae("Can't find a node by root hash");Object.entries(this.nodes).forEach((e=>{let[t,n]=e;if(qa.nodeHash(n)!==t)throw new Ee;const{type:r,payload:a}=qa.parseNode(n);switch(r){case Va.Branch:a.slice(0,16).filter((e=>e.length)).forEach((e=>{if(void 0===this.nodes[e.toString("hex")])throw new Ae("Can't find a node by hash in branch node")}));break;case Va.Extension:if(void 0===this.nodes[a[0].toString("hex")])throw new Ae("Can't find a node by hash in extension node")}}))}isEqual(e){return this.rootHash===e.rootHash}static parseNode(e){switch(e.length){case 17:return{type:Va.Branch,payload:e,path:null};case 2:{const t=e[0].toString("hex"),n=parseInt(t[0],16);if(n>3)throw new Ne(n);const r=n<=1?Va.Extension:Va.Leaf,a=[0,2].includes(n)?2:1;return{type:r,payload:[e[1]],path:t.slice(a)}}default:throw new Oe(e.length)}}serialize(){return[Buffer.from(this.rootHash,"hex"),Object.entries(this.nodes).map((e=>{let[t,n]=e;return[Buffer.from(t,"hex"),n]}))]}get(e){let t=this.rootHash;for(;;){const{type:n,payload:r,path:a}=qa.parseNode(this.nodes[t]);switch(n){case Va.Branch:if(0===e.length)return r[16];t=r[parseInt(e[0],16)].toString("hex"),e=e.substr(1);break;case Va.Extension:if(e.substr(0,null==a?void 0:a.length)!==a)return;t=r[0].toString("hex"),e=e.substr(a.length);break;case Va.Leaf:if(a!==e)return;return r[0]}}}}const $a="delta";function Ua(e,t,n){if(!e)return"";switch(t){case Rr.ctVersion:{const[t,,n]=e;return{vmVersion:Un(Buffer.from([t])),abiVersion:Un(Buffer.from([n]))}}case Rr.amount:case Rr.int:return Un(e);case Rr.id:return qn(e);case Rr.ids:return e.map(qn);case Rr.bool:return 1===e[0];case Rr.binary:return vt(e,n);case Rr.stateTree:return vt(e,"ss");case Rr.string:return e.toString();case Rr.payload:return vt(e,"ba");case Rr.pointers:return Kn(e);case Rr.rlpBinary:return ts(e,!0);case Rr.rlpBinaries:return e.map((e=>ts(e,!0)));case Rr.rawBinary:return e;case Rr.hex:return e.toString("hex");case Rr.offChainUpdates:return e.map((e=>ts(e,!0)));case Rr.callStack:return[Un(e)];case Rr.mptrees:return e.map((e=>new qa(e)));case Rr.callReturnType:switch(Un(e)){case"0":return"ok";case"1":return"error";case"2":return"revert";default:return e}case Rr.sophiaCodeTypeInfo:return e.reduce(((e,t)=>{let[n,r,a,s]=t;return{...e,[r.toString()]:{funHash:n,argType:a,outType:s}}}),{});default:return t.prototype instanceof Zn?t.deserialize(e):e}}function Ha(e,t,n,r){var a;switch(t){case Rr.amount:case Rr.int:return $n(e);case Rr.id:return Vn(e);case Rr.ids:return e.map(Vn);case Rr.bool:return Buffer.from([e?1:0]);case Rr.binary:return xt(e,n);case Rr.stateTree:return xt(e,"ss");case Rr.hex:return Buffer.from(e,"hex");case Rr.signatures:return e.map(Buffer.from);case Rr.payload:return"string"==typeof e&&"ba"===e.split("_")[0]?xt(e,"ba"):ot(e);case Rr.string:return ot(e);case Rr.pointers:return Hn(e);case Rr.rlpBinary:return null!==(a=e.rlpEncoded)&&void 0!==a?a:e;case Rr.mptrees:return e.map((e=>e.serialize()));case Rr.ctVersion:return Buffer.from([...ot(e.vmVersion),0,...ot(e.abiVersion)]);case Rr.callReturnType:switch(e){case"ok":return $n(0);case"error":return $n(1);case"revert":return $n(2);default:return e}default:return t.prototype instanceof Zn?t.serialize(e,r):e}}function Ka(e,t,n){if(null==e)return"Field is required";switch(t){case Rr.amount:case Rr.int:return isNaN(e)&&!m().isBigNumber(e)?`${e} is not of type Number or BigNumber`:new(m())(e).lt(0)?`${e} must be >= 0`:void 0;case Rr.id:return(Array.isArray(n)?n:[n]).includes(e.split("_")[0])?void 0:`'${e}' prefix doesn't match expected prefix '${n}'`;case Rr.ctVersion:return null!=e&&e.abiVersion&&null!=e&&e.vmVersion?void 0:'Value must be an object with "vmVersion" and "abiVersion" fields';case Rr.pointers:if(!Array.isArray(e))return"Value must be of type Array";if(e.some((e=>!(null!=e&&e.key&&null!=e&&e.id))))return'Value must contains only object\'s like \'{key: "account_pubkey", id: "ak_lkamsflkalsdalksdlasdlasdlamd"}\'';if(e.length>32)return`Expected 32 pointers or less, got ${e.length} instead`}}function Wa(e,t){let{denomination:n}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e=t.filter((e=>{let[t,n]=e;return n===Rr.amount})).reduce(((t,r)=>{let[a]=r;return{...e,[a]:on(e[a],{denomination:n})}}),e);const r=t.map((e=>{let[t]=e;return t}));return Object.entries(e).reduce(((e,t)=>{let[n,a]=t;return r.includes(n)&&(e[n]=a),["oracleTtl","queryTtl","responseTtl"].includes(n)&&(e[`${n}Type`]=a.type===$a?0:1,e[`${n}Value`]=a.value),e}),{})}function La(e,t){const n={[Nr.oracleRegister]:"oracleTtl",[Nr.oracleExtend]:"oracleTtl",[Nr.oracleQuery]:"queryTtl",[Nr.oracleResponse]:"responseTtl"}[t];return e[n]||e[`${n}Value`]?e[`${n}Value`]||e[n].value:1}function Ga(e,t){let{gas:n=0,params:r,vsn:a}=t;const s=m()(1e9);if(!r)return m()(Vr).times(s).toString(10);let o=Qa(e,{params:{...r,fee:0},multiplier:s,gas:n,vsn:a}),i=m()(0);for(;!o.eq(i);)o=Qa(e,{params:{...r,fee:o},multiplier:s,gas:n,vsn:a}),i=o;return i.toString(10)}function Qa(e,t){let{params:n,gas:r=0,multiplier:a,vsn:s}=t;const{rlpEncoded:o}=es({...n},e,{vsn:s}),i=o.length;return $r(e).plus(Ur(e,i,{relativeTtl:La(n,e),innerTxSize:[Nr.gaMeta,Nr.payingFor].includes(e)?n.tx.tx.encodedTx.rlpEncoded.length:0})).times(a)}function za(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1?arguments[1]:void 0,{gas:n=0,params:r,showWarning:a=!0,vsn:s}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return!r&&a&&console.warn(`Can't build transaction fee, we will use DEFAULT_FEE(${Vr})`),e||Ga(t,{params:r,gas:n,vsn:s})}function Ya(e,t,n){let{excludeKeys:r=[]}=n;return Object.fromEntries(t.filter((e=>{let[t]=e;return!r.includes(t)&&!["payload","nameFee","deposit"].includes(t)})).map((t=>{let[n,r,a]=t;return[n,Ka(e[n],r,a)]})).filter((e=>{let[,t]=e;return t})))}function Xa(e,t){let{excludeKeys:n=[],denomination:r=nn.AETTOS}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const a=t.filter((e=>{let[t]=e;return!n.includes(t)})),s=Ya(e=Wa(e,a,{denomination:r}),t,{excludeKeys:n});if(Object.keys(s).length)throw new Ue("Transaction build error. "+JSON.stringify(s));return a.map((t=>{let[n,r,a]=t;return Ha(e[n],r,a,e)}))}function Ja(e,t){return t.reduce(((t,n,r)=>{let[a,s,o]=n;return Object.assign(t,{[a]:Ua(e[r],s,o)})}),{})}const Za=e=>{let{vsn:t,objId:n,type:r}=e;const a=!!n,s=a?n:r,o=a?Fa:Da;if(!o[s])throw new Le(`Transaction ${a?"deserialization":"serialization"} not implemented for ${a?"tag "+n:r}`);if(!o[s][t])throw new Le(`Transaction ${a?"deserialization":"serialization"} not implemented for ${a?"tag "+n:r} version ${t}`);return o[s][t]};function es(e,t){let{excludeKeys:n=[],prefix:r="tx",vsn:a=nr,denomination:s=nn.AETTOS}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const[o,i]=Za({type:t,vsn:a}),c=Xa({...e,VSN:a,tag:i},o,{excludeKeys:n,denomination:e.denomination||s}).filter((e=>void 0!==e)),d=(0,Zt.encode)(c),l=vt(d,r);return{tx:l,rlpEncoded:d,binary:c,txObject:Ja(c,o)}}function ts(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"tx";const r=t?e:xt(e,n),a=(0,Zt.decode)(r),s=Un(a[0]),o=Un(a[1]),[i]=Za({objId:s,vsn:o});return{txType:Mr[s],tx:Ja(a,i),rlpEncoded:r,binary:a}}function ns(e){return vt(It("string"==typeof e&&e.startsWith("tx_")?xt(e,"tx"):e),"th")}const rs={calculateMinFee:Ga,calculateFee:za,unpackTx:ts,unpackRawTx:Ja,buildTx:es,buildRawTx:Xa,validateParams:Ya,buildTxHash:ns};var as=v(882),ss=v(986);const os=Buffer.from("ed25519 seed"),is=2147483648,cs=e=>Buffer.from(e).toString("hex");function ds(e,t){const n=""===e?[]:(0,ss.fromString)(e).toPathArray();return n.forEach(((e,t)=>{if(e<is)throw new _e(`Segment #${t+1} is not hardened`)})),n.reduce(((e,t)=>fs(e,t)),t)}function ls(e,t){if(!["m","m/"].includes(e.slice(0,2)))throw new Te;const n=ps(t);return ds(e.slice(2),n)}function us(e){const{secretKey:t,publicKey:n}=e;return{secretKey:cs(t),publicKey:vt(n,"ak")}}function hs(e){return u().sign.keyPair.fromSeed(e)}function ps(e){const t=(0,as.full)(e,os);return{secretKey:t.slice(0,32),chainCode:t.slice(32)}}function fs(e,t){let{secretKey:n,chainCode:r}=e;if(t<is)throw new Se(t);const a=Buffer.allocUnsafe(4);a.writeUInt32BE(t,0);const s=Buffer.concat([Buffer.alloc(1,0),Buffer.from(n),Buffer.from(a)]),o=(0,as.full)(s,r);return{secretKey:o.slice(0,32),chainCode:o.slice(32)}}function ms(e,t){const n=ls("m/44h/457h",e);return{secretKey:cs(Pt(t,n.secretKey)),chainCode:cs(Pt(t,n.chainCode))}}function gs(e,t,n){const r={secretKey:Bt(t,Buffer.from(e.secretKey,"hex")),chainCode:Bt(t,Buffer.from(e.chainCode,"hex"))};return new Array(n).fill().map(((e,t)=>us(hs(ds(`${t}h/0h/0h`,r).secretKey))))}const ys=(e,t)=>({...us(hs(ds(`${t}h/0h/0h`,ls("m/44h/457h",e)).secretKey)),idx:t});var ws=v(910),bs=v.n(ws),xs=v(180);const vs=bs()((0,xs.required)({methods:{spendTx:xs.required,namePreclaimTx:xs.required,nameClaimTx:xs.required,nameTransferTx:xs.required,nameUpdateTx:xs.required,nameRevokeTx:xs.required,contractCreateTx:xs.required,contractCallTx:xs.required,oracleRegisterTx:xs.required,oracleExtendTx:xs.required,oraclePostQueryTx:xs.required,oracleRespondTx:xs.required,getAccountNonce:xs.required,channelCloseSoloTx:xs.required,channelSlashTx:xs.required,channelSettleTx:xs.required,channelSnapshotSoloTx:xs.required,gaAttachTx:xs.required,getVmVersion:xs.required,prepareTxParams:xs.required}})),Ts=bs()({deepProps:{Ae:{defaults:{waitMined:!0,verify:!0,_expectedMineRate:18e4,_microBlockCycle:3e3,_maxPollInterval:5e3}}},methods:{_getPollInterval(e){const t={block:this.Ae.defaults._expectedMineRate,microblock:this.Ae.defaults._microBlockCycle}[e];if(!t)throw new Error(`Unknown poll type: ${e}`);return Math.min(t/3,this.Ae.defaults._maxPollInterval)}}},(0,xs.required)({methods:{sendTransaction:xs.required,height:xs.required,awaitHeight:xs.required,poll:xs.required,balance:xs.required,getBalance:xs.required,tx:xs.required,getTxInfo:xs.required,mempool:xs.required,txDryRun:xs.required,getAccount:xs.required}})),Is=Ts;function Cs(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{stamp:t,args:n,instance:r}=arguments.length>1?arguments[1]:void 0;return t.compose.deepConfiguration.AsyncInit.initializers.reduce((async(r,a)=>{if(r=await Promise.resolve(r),"function"==typeof a){const s=await Promise.resolve(a.call(r,e,{stamp:t,args:n,instance:r}));return void 0===s?r:s}return r}),r)}const Es=bs()({deepConf:{AsyncInit:{initializers:[]}},composers(e){let{stamp:t,composables:n}=e;t.compose.deepConfiguration.AsyncInit.initializers=n.map((e=>{var t,n,r;return(null==e||null===(t=e.compose)||void 0===t||null===(n=t.deepConfiguration)||void 0===n||null===(r=n.AsyncInit)||void 0===r?void 0:r.initializers)||(e.compose||e).initializers||[]})).flat(1/0).filter(((e,t,n)=>!n.slice(0,t).includes(e))).filter((e=>e!==Cs)),t.compose.initializers=[Cs]}});var As=v(659),ks=v.n(As),_s=v(503),Os=v.n(_s),Ns=v(911);const Ss=v.n(Ns)()({storeAsString:!0}),Ps=e=>{if("object"==typeof e&&null!==e&&e.constructor===Object)return Object.entries(e).map((e=>{let[t,n]=e;return[t,Ps(n)]})).reduce(((e,t)=>{let[n,r]=t;return{...e,[n]:r}}),{});if(Array.isArray(e))return e.map((e=>Ps(e)));if("string"==typeof e&&m()(e).toString(10)===e){const t=m()(e);return t.toJSON=()=>t.toString(10),t}return e},Bs={stringify:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return Ss.stringify(Ps(e),...n)},parse:Ss.parse};let js=!1;const Ms=async function(e){let{spec:t,internalUrl:n,disableBigNumbers:r,disableCaseConversion:a,responseInterceptor:s}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t=t||await(await Os()(e)).json();const o=r?JSON:Bs,[i,c]=await Promise.all([e,n].map((e=>{if(!e)return null;const n={};return ks()({url:e,spec:t,requestInterceptor:e=>{if("GET"===e.method)return{...e,userFetch:async(e,t)=>{var r;const a=JSON.stringify({...t,url:e});null!==(r=n[a])&&void 0!==r||(n[a]=Os()(e,t));try{return(await n[a]).clone()}finally{delete n[a]}}}},responseInterceptor:e=>{var t;if(""===e.text||0===(null===(t=e.text)||void 0===t?void 0:t.size))return e;const n=o.parse(e.text);return Object.assign(e,{body:a?n:yn(n)}),s&&s(e)||e}})}))),d=Object.assign({},...i.apis.external?[i.apis.external]:Object.values(i.apis),pn((null==c?void 0:c.apis.internal)||{},(e=>{let[t,n]=e;return[t,function(){return js||(console.warn('SDK\'s wrapper of aeternity node internal API is deprecated, please use external equivalent (for example, "sdk.api.protectedDryRunTxs" instead of "sdk.api.dryRunTxs") or create a wrapper of internal API by yourself (using "genSwaggerClient")'),js=!0),n(...arguments)}]}))),l=Object.values(t.paths).map((e=>Object.values(e))).flat().reduce(((e,t)=>({...e,[t.operationId]:t})),{}),u={},h=pn(d,(e=>{let[t,n]=e;const r=t.slice(0,1).toLowerCase()+nt(t.slice(1));return[r,async function(){for(var e,s=arguments.length,i=new Array(s),c=0;c<s;c++)i[c]=arguments[c];const d=l[t],h=[...d.parameters,...d.requestBody?[{required:d.requestBody.required,schema:Object.values(d.requestBody.content)[0].schema,name:"__requestBody"}]:[]],p=h.filter((e=>e.required)).map((e=>e.name));if(![0,1].includes(i.length-p.length))throw new S(r,p.length,i.length);const f=p.reduce(((e,t,n)=>({...e,[t]:i[n]})),i[p.length]||{}),{__requestBody:m,__queue:g,...y}=pn(f,(e=>{let[t,n]=e;if("object"!=typeof n)return[t,n];const r=Object.keys(h.find((e=>e.name===t)).schema.properties),s=fn(a?n:gn(n),(e=>{let[t]=e;return r.includes(t)}));return[t,o.stringify(s)]})),w=async()=>(await n(y,{requestBody:m})).body;if(!g)return w();const b=(null!==(e=u[g])&&void 0!==e?e:Promise.resolve()).then(w,w);return u[g]=b.then((()=>new Promise((e=>setTimeout(e,750))))),b}]}));return Object.assign(i,{api:h})};function Rs(e,t,n){const r=e=>e.split(/[-+]/)[0].split(".").map((e=>+e)),a=r(e),s=r(t),o=r(n),i=Math.max(...a,...s,...o)+1,c=e=>e.reverse().reduce(((e,t,n)=>e+t*Math.pow(i,n)),0),d=c(a),l=c(s),u=c(o);return d>=l&&d<u}function Ds(){var e;let{networkId:t,force:n=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const r=t||this.networkId||(null===(e=this.selectedNode)||void 0===e?void 0:e.networkId);if(!n&&!r)throw new M("networkId is not provided");return n&&!r?null:r}const Fs=Es.compose({async init(e){let{url:t,internalUrl:n,ignoreVersion:r}=e;if(!t)throw new M('"url" required');this.url=t.replace(/\/$/,""),this.internalUrl=null==n?void 0:n.replace(/\/$/,"");const a=await Ms(`${this.url}/api?oas3`,{internalUrl:this.internalUrl,responseInterceptor:e=>{if(!e.ok)return Object.assign(e,{statusText:`${new URL(e.url).pathname.slice(1)} error: `+e.body.reason})}});if(this.version=a.spec.info.version,!Rs(this.version,Vs,qs)&&!r)throw new K("node",this.version,Vs,qs);this.api=a.api;const{nodeRevision:s,genesisKeyBlockHash:o,networkId:i,protocols:c,topBlockHeight:d}=await this.api.getStatus();return this.consensusProtocolVersion=c.filter((e=>{let{effectiveAtHeight:t}=e;return d>=t})).reduce(((e,t)=>t.effectiveAtHeight>e.effectiveAtHeight?t:e),{effectiveAtHeight:-1,version:0}).version,this.nodeNetworkId=i,Object.assign(this,{revision:s,genesisHash:o})},methods:{getNodeInfo(){return{url:this.url,internalUrl:this.internalUrl,nodeNetworkId:this.nodeNetworkId,version:this.version,consensusProtocolVersion:this.consensusProtocolVersion}}},props:{version:null,consensusProtocolVersion:null,nodeNetworkId:null}}),Vs="6.2.0",qs="7.0.0",$s=Fs,Us=e=>!["sign","address"].find((t=>"function"!=typeof e[t])),Hs=bs()({init(e){let{networkId:t}=e;!this.networkId&&t&&(this.networkId=t)},methods:{signTransaction:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=[this.getNetworkId(t)];t.innerTx&&n.push("inner_tx");const r=xt(e,"tx"),a=Buffer.concat([Buffer.from(n.join("-")),It(r)]),s=[await this.sign(a,t)];return es({encodedTx:r,signatures:s},Nr.signed).tx},getNetworkId:Ds,signMessage:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{returnHex:!1};const n=await this.sign(Rt(e),t);return t.returnHex?Buffer.from(n).toString("hex"):n},verifyMessage:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return Ft(e,"string"==typeof t?Buffer.from(t,"hex"):t,xt(await this.address(n)))}}},(0,xs.required)({methods:{sign:xs.required,address:xs.required}})),Ks=bs()(vs,Hs,Is,{methods:{send:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n={...this.Ae.defaults,...t},{contractId:r,authFun:a}=t.innerTx?{contractId:!1}:await this.getAccount(await this.address(n)),s=r?await this.signUsingGA(e,{...n,authFun:a}):await this.signTransaction(e,n);return n.innerTx?{hash:rs.buildTxHash(s),rawTx:s}:this.sendTransaction(s,n)},spend:async function(e,t,n){const r={...this.Ae.defaults,...n};return this.send(await this.spendTx({...r,senderId:await this.address(r),recipientId:await this.resolveName(t,"account_pubkey",r),amount:e}),r)},transferFunds:async function(e,t,n){if(e<0||e>1)throw new O("fraction","a number between 0 and 1",e);const r={...this.Ae.defaults,...n},a=await this.resolveName(t,"account_pubkey",r),s=await this.address(r),o=new(m())(await this.balance(s)),i=o.times(e).integerValue(m().ROUND_HALF_UP),{tx:{fee:c}}=rs.unpackTx(await this.spendTx({...r,senderId:s,recipientId:a,amount:i})),d=i.plus(c).gt(o)?o.minus(c):i;return this.send(await this.spendTx({...r,senderId:s,recipientId:a,amount:d}),r)},payForTransaction:async function(e,t){const n={...this.Ae.defaults,...t};return this.send(await this.payingForTx({...n,payerId:await this.address(n),tx:e}),n)},destroyInstance:function(){["destroyClient","destroyServer"].forEach((e=>this[e]&&"function"==typeof this[e]&&this[e]()))},signUsingGA:async function(e){let{authData:t,authFun:n,...r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.createMetaTx(e,t,n,r)}},deepProps:{Ae:{defaults:{denomination:nn.AETTOS}}}}),Ws=Ks,Ls=[(e,t)=>{let{encodedTx:n,signatures:r}=e,{account:a,node:s,parentTxTypes:o}=t;if(void 0===(null!=n?n:r))return[];if(1!==r.length)return[];const i=Buffer.from([s.nodeNetworkId,...o.includes(Nr.payingFor)?["inner_tx"]:[]].join("-")),c=Buffer.concat([i,n.rlpEncoded]),d=Buffer.concat([i,It(n.rlpEncoded)]),l=xt(a.id,"ak");return Mt(c,r[0],l)||Mt(d,r[0],l)?[]:[{message:"Signature cannot be verified, please ensure that you transaction have the correct prefix and the correct private key for the sender address",key:"InvalidSignature",checkedKeys:["encodedTx","signatures"]}]},(e,t)=>{let{encodedTx:n,tx:r}=e,{node:a,parentTxTypes:s,txType:o}=t;return void 0===(null!=n?n:r)?[]:Qs(vt((null!=n?n:r).rlpEncoded,"tx"),a,[...s,o])},(e,t)=>{let{txType:n}=t;if(void 0===e.fee)return[];const r=za(0,n,{gas:+e.gas||0,params:e,showWarning:!1,vsn:e.VSN});return new(m())(r).lte(e.fee)?[]:[{message:`Fee ${e.fee} is too low, minimum fee for this transaction is ${r}`,key:"InsufficientFee",checkedKeys:["fee"]}]},(e,t)=>{let{ttl:n}=e,{height:r}=t;return void 0===n?[]:(n=+n,0===n||n>=r?[]:[{message:`TTL ${n} is already expired, current height is ${r}`,key:"ExpiredTTL",checkedKeys:["ttl"]}])},(e,t)=>{var n;let{amount:r,fee:a,nameFee:s,tx:o}=e,{account:i,parentTxTypes:c,txType:d}=t;if(void 0===(null!==(n=null!=r?r:a)&&void 0!==n?n:s))return[];const l=new(m())(a).plus(s||0).plus(r||0).plus(d===Nr.payingFor?o.tx.encodedTx.tx.fee:0).minus(c.includes(Nr.payingFor)?a:0);return l.lte(i.balance)?[]:[{message:`Account balance ${i.balance} is not enough to execute the transaction that costs ${l.toFixed()}`,key:"InsufficientBalance",checkedKeys:["amount","fee","nameFee"]}]},(e,t)=>{let{nonce:n}=e,{account:r,parentTxTypes:a}=t;if(void 0===n||a.includes(Nr.gaMeta))return[];n=+n;const s=r.nonce+1;return n===s?[]:[{...n<s?{message:`Nonce ${n} is already used, valid nonce is ${s}`,key:"NonceAlreadyUsed"}:{message:`Nonce ${n} is too high, valid nonce is ${s}`,key:"NonceHigh"},checkedKeys:["nonce"]}]},e=>{let{gasPrice:t}=e;return void 0===t||t>=ur?[]:[{message:`Gas price ${t} must be bigger then ${ur}`,key:"MinGasPrice",checkedKeys:["gasPrice"]}]},(e,t)=>{let{ctVersion:n,abiVersion:r}=e,{txType:a,node:s}=t;const{consensusProtocolVersion:o}=s.getNodeInfo(),i=jr[o];if(!i)throw new U(`Unsupported protocol: ${o}`);n||(n={abiVersion:r});const c=i[a];return c&&Object.entries(n).some((e=>{let[t,n]=e;return!c[t].includes(+n)}))?[{message:`ABI/VM version ${JSON.stringify(n)} is wrong, supported is: ${JSON.stringify(c)}`,key:"VmAndAbiVersionMismatch",checkedKeys:["ctVersion","abiVersion"]}]:[]},async(e,t)=>{let{contractId:n}=e,{txType:r,node:a}=t;if(Nr.contractCall!==r)return[];try{const{active:e}=await a.api.getContract(n);return e?[]:[{message:`Contract ${n} is not active`,key:"ContractNotActive",checkedKeys:["contractId"]}]}catch(e){var s,o;if(null===(s=e.response)||void 0===s||null===(o=s.body)||void 0===o||!o.reason)throw e;return[{message:e.response.body.reason,key:"ContractNotFound",checkedKeys:["contractId"]}]}}],Gs=e=>["senderId","accountId","ownerId","callerId","oracleId","fromId","initiator","gaId","payerId"].map((t=>e[t])).filter((e=>e)).map((e=>e.replace(/^ok_/,"ak_")))[0];async function Qs(e,t){var n;let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const{tx:a,txType:s}=ts(e),o=null!==(n=Gs(a))&&void 0!==n?n:s===Nr.signed?Gs(a.encodedTx.tx):null,[i,{height:c}]=await Promise.all([o&&t.api.getAccountByPubkey(o).catch((()=>({id:o,balance:new(m())(0),nonce:0}))),t.api.getCurrentKeyBlockHeight()]);return(await Promise.all(Ls.map((e=>e(a,{txType:s,node:t,account:i,height:c,parentTxTypes:r}))))).flat()}const zs=bs()({init(){let{nodes:e=[]}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.pool=new Map,this.validateNodes(e),e.forEach(((e,t)=>{const{name:n,instance:r}=e;this.addNode(n,r,0===t)})),e.length&&this.selectNode(e[0].name)},propertyDescriptors:{api:{enumerable:!0,configurable:!1,get(){if(!this.selectedNode||!this.selectedNode.instance)throw new je("You can't use Node API. Node is not connected or not defined!");return this.selectedNode.instance.api}}},methods:{addNode(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(this.pool.has(e))throw new Be(e);this.validateNodes([{name:e,instance:t}]),this.pool.set(e,{name:e,instance:t,url:t.url,internalUrl:t.internalUrl,networkId:t.nodeNetworkId,version:t.version,consensusProtocolVersion:t.consensusProtocolVersion}),!n&&this.selectedNode||this.selectNode(e)},selectNode(e){if(!this.pool.has(e))throw new je(`Node with name ${e} not in pool`);this.selectedNode=this.pool.get(e)},getNetworkId:Ds,isNodeConnected(){return!!this.selectedNode.instance},getNodeInfo(){if(!this.isNodeConnected())throw new Pe;return{name:this.selectedNode.name,...this.selectedNode.instance.getNodeInfo()}},getNodesInPool(){return Array.from(this.pool.entries()).map((e=>{let[t,n]=e;return{name:t,...n.instance.getNodeInfo()}}))},validateNodes(e){if(!Array.isArray(e))throw new q('"nodes" should be an array');const t=e.map((e=>typeof e)).find((e=>"object"!==e));if(t)throw new q(`Each node should be an object, got ${t} instead`);const n=e.find((e=>"string"!=typeof e.name||"object"!=typeof e.instance));if(t)throw new q(`Each node should have name (string), instance (object) fields, got ${JSON.stringify(n)} instead`);const r=e.map((e=>e.instance)).find((e=>"object"!=typeof e.api||"string"!=typeof e.genesisHash||"number"!=typeof e.consensusProtocolVersion));if(r)throw new q(`Each node instance should have api (object), consensusProtocolVersion (number), genesisHash (string) fields, got ${JSON.stringify(r)} instead`)}},props:{selectedNode:{}}});async function Ys(e){const t=this._txDryRun[e];let n;delete this._txDryRun[e];try{n=await this.api.protectedDryRunTxs({top:t[0].top,txEvents:t[0].txEvents,txs:t.map((e=>({tx:e.tx}))),accounts:Array.from(new Set(t.map((e=>e.accountAddress)))).map((e=>({pubKey:e,amount:pr.amount})))})}catch(e){return void t.forEach((t=>{let{reject:n}=t;return n(e)}))}const{results:r,txEvents:a}=n;r.forEach(((e,n)=>{let{result:r,reason:s,...o}=e;const{resolve:i,reject:c,tx:d,options:l,accountAddress:u}=t[n];if("ok"===r)return i({...o,txEvents:a});c(Object.assign(new Fe(s),{tx:d,accountAddress:u,options:l}))}))}const Xs=Is.compose(zs,{methods:{sendTransaction:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n={...this.Ae.defaults,...t};if(n.verify){const t=await Qs(e,this.selectedNode.instance);if(t.length){const n="Transaction verification errors: "+t.map((e=>e.message)).join(", ");throw Object.assign(new $e(n),{code:"TX_VERIFICATION_ERROR",validation:t,transaction:e})}}try{var r;const{txHash:a}=await this.api.postTransaction({tx:e},{__queue:`tx-${await(null===(r=this.address)||void 0===r?void 0:r.call(this,t).catch((()=>"")))}`});if(n.waitMined){const n={...await this.poll(a,t),rawTx:e};return t.confirm?{...n,confirmationHeight:await this.waitForTxConfirm(a,t)}:n}return{hash:a,rawTx:e}}catch(t){throw Object.assign(t,{rawTx:e,verifyTx:()=>Qs(e,this.selectedNode.instance)})}},balance:async function(e){let{height:t,hash:n,format:r=nn.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{balance:a}=await this.getAccount(e,{hash:n,height:t});return on(a,{targetDenomination:r}).toString()},getBalance:async function(e){let{height:t,hash:n,format:r=nn.AETTOS}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{balance:a}=await this.getAccount(e,{hash:n,height:t}).catch((e=>({balance:0})));return on(a,{targetDenomination:r}).toString()},getAccount:async function(e){let{height:t,hash:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t?this.api.getAccountByPubkeyAndHeight(e,t):n?this.api.getAccountByPubkeyAndHash(e,n):this.api.getAccountByPubkey(e)},tx:async function(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const n=await this.api.getTransactionByHash(e);if(["ContractCreateTx","ContractCallTx","ChannelForceProgressTx"].includes(n.tx.type)&&t&&-1!==n.blockHeight)try{return{...n,...await this.getTxInfo(e)}}catch(e){}return n},height:async function(){return(await this.api.getCurrentKeyBlockHeight()).height},awaitHeight:async function(e){let t,{interval:n=this._getPollInterval("block"),attempts:r=20}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(let a=0;a<r;a++)if(a&&await hn(n),t=await this.height(),t>=e)return t;throw new F((r-1)*n,t,e)},poll:async function(e){let{blocks:t=10,interval:n=this._getPollInterval("microblock")}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=await this.height()+t;do{const t=await this.api.getTransactionByHash(e);if(-1!==t.blockHeight)return t;await hn(n)}while(await this.height()<r);const a=this.api.getCheckTxInPool&&(await this.api.getCheckTxInPool(e)).status;throw new V(t,e,a)},getTxInfo:async function(e){const t=await this.api.getTransactionInfoByHash(e);return t.callInfo||t},mempool:async function(){return this.api.getPendingTransactions()},getCurrentGeneration:async function(){return this.api.getCurrentGeneration()},getGeneration:async function(e){if("string"==typeof e)return this.api.getGenerationByHash(e);if("number"==typeof e)return this.api.getGenerationByHeight(e);throw new O("hashOrHeight","a string or number",e)},getMicroBlockHeader:async function(e){return this.api.getMicroBlockHeaderByHash(e)},getMicroBlockTransactions:async function(e){return(await this.api.getMicroBlockTransactionsByHash(e)).transactions},getKeyBlock:async function(e){if("string"==typeof e)return this.api.getKeyBlockByHash(e);if("number"==typeof e)return this.api.getKeyBlockByHeight(e);throw new O("hashOrHeight","a string or number",e)},txDryRun:async function(e,t,n){var r,a,s;let{top:o,txEvents:i,combine:c}=n;const d=c?[o,i].join():"immediate";return null!==(r=this._txDryRun)&&void 0!==r||(this._txDryRun={}),null!==(s=(a=this._txDryRun)[d])&&void 0!==s||(a[d]=[]),new Promise(((n,r)=>{var a,s;this._txDryRun[d].push({tx:e,accountAddress:t,top:o,txEvents:i,resolve:n,reject:r}),c?null!==(s=(a=this._txDryRun[d]).timeout)&&void 0!==s||(a.timeout=setTimeout(Ys.bind(this,d))):Ys.call(this,d)}))},getContractByteCode:async function(e){return this.api.getContractCode(e)},getContract:async function(e){return this.api.getContract(e)},getName:async function(e){return this.api.getNameEntryByName(e)},waitForTxConfirm:async function e(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{confirm:3};n.confirm=!0===n.confirm?3:n.confirm;const{blockHeight:r}=await this.api.getTransactionByHash(t),a=await this.awaitHeight(r+n.confirm,n),{blockHeight:s}=await this.api.getTransactionByHash(t);switch(s){case-1:throw new Qe(t);case r:return a;default:return e(t,n)}},resolveName:async function(e,t){let{verify:n,resolveByNode:r}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!e||"string"!=typeof e)throw new Y(`Name or address should be a string: ${e}`);try{return xt(e),e}catch(e){}if(Gn(e)){if(n||r){const n=(await this.api.getNameEntryByName(e)).pointers.find((e=>e.key===t));if(!n)throw new Q(`Name ${e} don't have pointers for ${t}`);if(r)return n.id}return Dn(e)}throw new Y(`Invalid name or address: ${e}`)}}}),Js=Xs,Zs=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("object"!=typeof t)throw new q('tx "params" should be an object');if("string"!=typeof e||!Object.values(Nr).includes(e))throw new ze(`Unknown transaction type ${e}`);const r=za(t.fee,e,{gas:t.gas,params:t,vsn:t.vsn}),{rlpEncoded:a,binary:s,tx:o,txObject:i}=es({...t,fee:r},e,{vsn:t.vsn,...n});return{rlpEncoded:a,binary:s,encodedTx:o,params:i,type:e}},eo=e=>{if(!e)throw new $e(`Invalid transaction: ${e}`);if("string"==typeof e){const{txType:t,tx:n,rlpEncoded:r,binary:a}=ts(e);return{encodedTx:e,type:t,params:n,rlpEncoded:r,binary:a}}if(e instanceof Uint8Array){const{txType:t,tx:n,rlpEncoded:r,binary:a}=ts(e,!0);return{encodedTx:vt(e,"tx"),type:t,params:n,rlpEncoded:r,binary:a}}throw new $e(`"tx" should be a string or Uint8Array, got ${e} instead`)},to=bs()({init(){let{tx:e,params:t,type:n,options:r={}}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.options=r,this.signatures=[],Object.assign(this,function(){let{tx:e,params:t,type:n,options:r={}}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(t&&n)return Zs(n,t,r);if(e)return eo(e);throw new $e('Invalid TxObject arguments. Please provide one of { tx: "tx_asdasd23..." } or { type: "spendTx", params: {...} }')}({tx:e,params:t,type:n,options:r})),this.type===Nr.signed){const{signatures:e,encodedTx:{txType:t,tx:n}}=this.params;this.signatures=e,this.params=n,this.type=t,this.isSigned=!0}},statics:{fromString:e=>to({tx:e}),fromRlp:e=>to({tx:e})},methods:{setProp(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("object"!=typeof e)throw new q("Props should be an object");return this.isSigned=!1,this.signatures=[],Object.assign(this,Zs(this.type,{...this.params,...e,fee:null},{...this.options,...t})),this},getSignatures(){return this.signatures},addSignature(e){if(e=at(e)?Buffer.from(e,"hex"):e,!(Buffer.isBuffer(e)||e instanceof Uint8Array))throw new qe("Invalid signature, signature must be of type Buffer or Uint8Array");Object.assign(this,Zs(Nr.signed,{encodedTx:this.rlpEncoded,signatures:[[...this.signatures,e]]}));const{signatures:t,encodedTx:{txType:n,tx:r}}=this.params;this.signatures=t,this.params=r,this.type=n,this.isSigned=!0},calculateMinFee(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t={...this.params,...e};return za(0,this.type,{gas:t.gas,params:t,vsn:t.vsn})}}}),no=to;async function ro(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ar,t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(0===e)return 0;if(e<0)throw new O("ttl","greater or equal to 0",e);if(t){const{height:t}=await this.api.getCurrentKeyBlock();return+t+e}return e}const ao=Js.compose(vs,{init(e){let{nativeMode:t=!0,showWarning:n=!1}=e;this.nativeMode=t,this.showWarning=n},props:{nativeMode:!0,showWarning:!1},methods:{spendTx:async function(e){let{senderId:t,recipientId:n,amount:r,payload:a=""}=e;const{fee:s,ttl:o,nonce:i}=await this.prepareTxParams(Nr.spend,{senderId:t,...arguments[0],payload:a}),{tx:c}=this.nativeMode?{tx:to({params:{...arguments[0],recipientId:n,senderId:t,nonce:i,ttl:o,payload:a},type:Nr.spend}).encodedTx}:await this.api.postSpend({...arguments[0],amount:parseInt(r),recipientId:n,senderId:t,nonce:i,ttl:o,fee:parseInt(s),payload:a});return c},namePreclaimTx:async function(e){let{accountId:t,commitmentId:n}=e;const{fee:r,ttl:a,nonce:s}=await this.prepareTxParams(Nr.namePreClaim,{senderId:t,...arguments[0]}),{tx:o}=this.nativeMode?{tx:to({params:{...arguments[0],nonce:s,ttl:a,fee:r},type:Nr.namePreClaim}).encodedTx}:await this.api.postNamePreclaim({...arguments[0],nonce:s,ttl:a,fee:parseInt(r)});return o},nameClaimTx:async function(e){let{accountId:t,name:n,nameSalt:r,vsn:a=2}=e;const{fee:s,ttl:o,nonce:i}=await this.prepareTxParams(Nr.nameClaim,{senderId:t,...arguments[0],vsn:a}),{tx:c}=this.nativeMode?{tx:to({params:{...arguments[0],nonce:i,ttl:o,fee:s,vsn:a},type:Nr.nameClaim}).encodedTx}:await this.api.postNameClaim({...arguments[0],nonce:i,ttl:o,fee:parseInt(s),name:vt(n,"nm")});return c},nameTransferTx:async function(e){let{accountId:t,nameId:n,recipientId:r}=e;const{fee:a,ttl:s,nonce:o}=await this.prepareTxParams(Nr.nameTransfer,{senderId:t,...arguments[0]}),{tx:i}=this.nativeMode?{tx:to({params:{...arguments[0],recipientId:r,nonce:o,ttl:s,fee:a},type:Nr.nameTransfer}).encodedTx}:await this.api.postNameTransfer({...arguments[0],recipientId:r,nonce:o,ttl:s,fee:parseInt(a)});return i},nameUpdateTx:async function(e){let{accountId:t,nameId:n,nameTtl:r,pointers:a,clientTtl:s}=e;const{fee:o,ttl:i,nonce:c}=await this.prepareTxParams(Nr.nameUpdate,{senderId:t,...arguments[0]}),{tx:d}=this.nativeMode?{tx:to({params:{...arguments[0],nonce:c,ttl:i,fee:o},type:Nr.nameUpdate}).encodedTx}:await this.api.postNameUpdate({...arguments[0],nonce:c,ttl:i,fee:parseInt(o)});return d},nameRevokeTx:async function(e){let{accountId:t,nameId:n}=e;const{fee:r,ttl:a,nonce:s}=await this.prepareTxParams(Nr.nameRevoke,{senderId:t,...arguments[0]}),{tx:o}=this.nativeMode?{tx:to({params:{...arguments[0],nonce:s,ttl:a,fee:r},type:Nr.nameRevoke}).encodedTx}:await this.api.postNameRevoke({...arguments[0],nonce:s,ttl:a,fee:parseInt(r)});return o},contractCreateTx:async function(e){let{ownerId:t,code:n,vmVersion:r,abiVersion:a,amount:s,gas:o,gasPrice:i=ur,callData:c}=e;const d=this.getVmVersion(Nr.contractCreate,arguments[0]),{fee:l,ttl:u,nonce:h}=await this.prepareTxParams(Nr.contractCreate,{senderId:t,...arguments[0],ctVersion:d,gasPrice:i});return this.nativeMode?{tx:to({params:{...arguments[0],nonce:h,ttl:u,fee:l,ctVersion:d,gasPrice:i},type:Nr.contractCreate}).encodedTx,contractId:jn(t,h)}:this.api.postContractCreate({...arguments[0],nonce:h,ttl:u,fee:parseInt(l),gas:parseInt(o),gasPrice:i,vmVersion:d.vmVersion,abiVersion:d.abiVersion})},contractCallTx:async function(e){let{callerId:t,contractId:n,abiVersion:r,amount:a,gas:s,gasPrice:o=ur,callData:i}=e;const c=this.getVmVersion(Nr.contractCall,arguments[0]),{fee:d,ttl:l,nonce:u}=await this.prepareTxParams(Nr.contractCall,{senderId:t,...arguments[0],gasPrice:o,abiVersion:c.abiVersion}),{tx:h}=this.nativeMode?{tx:to({params:{...arguments[0],nonce:u,ttl:l,fee:d,abiVersion:c.abiVersion,gasPrice:o},type:Nr.contractCall}).encodedTx}:await this.api.postContractCall({...arguments[0],nonce:u,ttl:l,fee:parseInt(d),gas:parseInt(s),gasPrice:o,abiVersion:c.abiVersion});return h},prepareTxParams:async function(e,t){let{senderId:n,nonce:r,ttl:a,fee:s,gas:o,absoluteTtl:i,vsn:c,strategy:d}=t;r=r||(await this.api.getAccountNextNonce(n,{strategy:d}).catch((e=>({nextNonce:1})))).nextNonce;const l=await ro.call(this,a,!i),u=za(s,e,{showWarning:this.showWarning,gas:o,params:{...arguments[1],nonce:r,ttl:l},vsn:c});return{fee:u,ttl:l,nonce:r}},oracleRegisterTx:async function(e){let{accountId:t,queryFormat:n,responseFormat:r,queryFee:a,oracleTtl:s,abiVersion:o=Pr.NO_ABI}=e;const{fee:i,ttl:c,nonce:d}=await this.prepareTxParams(Nr.oracleRegister,{senderId:t,...arguments[0],abiVersion:o}),{tx:l}=this.nativeMode?{tx:to({params:{accountId:t,queryFee:a,abiVersion:o,fee:i,oracleTtl:s,nonce:d,ttl:c,queryFormat:n,responseFormat:r},type:Nr.oracleRegister}).encodedTx}:await this.api.postOracleRegister({accountId:t,queryFee:a,abiVersion:o,fee:parseInt(i),oracleTtl:s,nonce:d,ttl:c,queryFormat:n,responseFormat:r});return l},oracleExtendTx:async function(e){let{oracleId:t,callerId:n,oracleTtl:r}=e;const{fee:a,ttl:s,nonce:o}=await this.prepareTxParams(Nr.oracleExtend,{senderId:n,...arguments[0]}),{tx:i}=this.nativeMode?{tx:to({params:{oracleId:t,fee:a,oracleTtl:r,nonce:o,ttl:s},type:Nr.oracleExtend}).encodedTx}:await this.api.postOracleExtend({oracleId:t,fee:parseInt(a),oracleTtl:r,nonce:o,ttl:s});return i},oraclePostQueryTx:async function(e){let{oracleId:t,responseTtl:n,query:r,queryTtl:a,queryFee:s,senderId:o}=e;const{fee:i,ttl:c,nonce:d}=await this.prepareTxParams(Nr.oracleQuery,{senderId:o,...arguments[0]}),{tx:l}=this.nativeMode?{tx:to({params:{oracleId:t,responseTtl:n,query:r,queryTtl:a,fee:i,queryFee:s,ttl:c,nonce:d,senderId:o},type:Nr.oracleQuery}).encodedTx}:await this.api.postOracleQuery({oracleId:t,responseTtl:n,query:r,queryTtl:a,fee:parseInt(i),queryFee:s,ttl:c,nonce:d,senderId:o});return l},oracleRespondTx:async function(e){let{oracleId:t,callerId:n,responseTtl:r,queryId:a,response:s}=e;const{fee:o,ttl:i,nonce:c}=await this.prepareTxParams(Nr.oracleResponse,{senderId:n,...arguments[0]}),{tx:d}=this.nativeMode?{tx:to({params:{oracleId:t,responseTtl:r,queryId:a,response:s,fee:o,ttl:i,nonce:c},type:Nr.oracleResponse}).encodedTx}:await this.api.postOracleRespond({oracleId:t,responseTtl:r,queryId:a,response:s,fee:parseInt(o),ttl:i,nonce:c});return d},channelCloseSoloTx:async function(e){let{channelId:t,fromId:n,payload:r,poi:a}=e;const{fee:s,ttl:o,nonce:i}=await this.prepareTxParams(Nr.channelCloseSolo,{senderId:n,...arguments[0],payload:r}),{tx:c}=this.nativeMode?es({...arguments[0],channelId:t,fromId:n,payload:r,poi:a,ttl:o,fee:s,nonce:i},Nr.channelCloseSolo):await this.api.postChannelCloseSolo({...arguments[0],channelId:t,fromId:n,payload:r,poi:a,ttl:o,fee:parseInt(s),nonce:i});return c},channelSlashTx:async function(e){let{channelId:t,fromId:n,payload:r,poi:a}=e;const{fee:s,ttl:o,nonce:i}=await this.prepareTxParams(Nr.channelSlash,{senderId:n,...arguments[0],payload:r}),{tx:c}=this.nativeMode?es({...arguments[0],channelId:t,fromId:n,payload:r,poi:a,ttl:o,fee:s,nonce:i},Nr.channelSlash):await this.api.postChannelSlash({...arguments[0],channelId:t,fromId:n,payload:r,poi:a,ttl:o,fee:parseInt(s),nonce:i});return c},channelSettleTx:async function(e){let{channelId:t,fromId:n,initiatorAmountFinal:r,responderAmountFinal:a}=e;const{fee:s,ttl:o,nonce:i}=await this.prepareTxParams(Nr.channelSettle,{senderId:n,...arguments[0]}),{tx:c}=this.nativeMode?es({...arguments[0],channelId:t,fromId:n,initiatorAmountFinal:r,responderAmountFinal:a,ttl:o,fee:s,nonce:i},Nr.channelSettle):await this.api.postChannelSettle({...arguments[0],channelId:t,fromId:n,initiatorAmountFinal:parseInt(r),responderAmountFinal:parseInt(a),ttl:o,fee:parseInt(s),nonce:i});return c},channelSnapshotSoloTx:async function(e){let{channelId:t,fromId:n,payload:r}=e;const{fee:a,ttl:s,nonce:o}=await this.prepareTxParams(Nr.channelSnapshotSolo,{senderId:n,...arguments[0],payload:r}),{tx:i}=this.nativeMode?es({...arguments[0],channelId:t,fromId:n,payload:r,ttl:s,fee:a,nonce:o},Nr.channelSnapshotSolo):await this.api.postChannelSnapshotSolo({...arguments[0],channelId:t,fromId:n,payload:r,ttl:s,fee:parseInt(a),nonce:o});return i},gaAttachTx:async function(e){let{ownerId:t,code:n,vmVersion:r,abiVersion:a,authFun:s,gas:o,gasPrice:i=ur,callData:c}=e;const d=this.getVmVersion(Nr.contractCreate,arguments[0]),{fee:l,ttl:u,nonce:h}=await this.prepareTxParams(Nr.gaAttach,{senderId:t,...arguments[0],ctVersion:d,gasPrice:i});return{tx:to({params:{...arguments[0],nonce:h,ttl:u,fee:l,ctVersion:d,gasPrice:i},type:Nr.gaAttach}).encodedTx,contractId:jn(t,h)}},payingForTx:async function(e){let{tx:t,payerId:n,...r}=e;const a={tx:ts(t),payerId:n},{fee:s,nonce:o}=await this.prepareTxParams(Nr.payingFor,{...a,...r,senderId:n});return es({...a,...r,fee:s,nonce:o},Nr.payingFor).tx},getAccountNonce:async function(e,t){if(t)return t;const{nonce:n}=await this.api.getAccountByPubkey(e).catch((()=>({nonce:0})));return n+1},getVmVersion:function(e){let{vmVersion:t,abiVersion:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{consensusProtocolVersion:r}=this.getNodeInfo(),a=jr[r];if(!a)throw new U("Not supported consensus protocol version");const s=a[e];if(!s)throw new ze("Not supported tx type");if(n=n||s.abiVersion[0],t=t||s.vmVersion[0],!s.vmVersion.includes(t))throw new Xe(`VM VERSION ${t} do not support by this node. Supported: [${s.vmVersion}]`);if(!s.abiVersion.includes(n))throw new Ye(`ABI VERSION ${n} do not support by this node. Supported: [${s.abiVersion}]`);return{vmVersion:t,abiVersion:n}}}}),so=ao,oo=new WeakMap,io=Hs.compose({init(e){let{keypair:t,gaId:n}=e;if(this.isGa=!!n,n)return xt(n),void oo.set(this,{publicKey:n});if(!t||"object"!=typeof t)throw new L("KeyPair must be an object");if(!t.secretKey||!t.publicKey)throw new L('KeyPair must must have "secretKey", "publicKey" properties');if("string"!=typeof t.publicKey||-1===t.publicKey.indexOf("ak_"))throw new L('Public Key must be a base58c string with "ak_" prefix');if(!Buffer.isBuffer(t.secretKey)&&"string"==typeof t.secretKey&&!at(t.secretKey))throw new L("Secret key must be hex string or Buffer");const r=Buffer.from(xt(t.publicKey,"ak"));if(!Vt(Buffer.from(t.secretKey,"hex"),r))throw new L("Invalid Key Pair");oo.set(this,{secretKey:Buffer.isBuffer(t.secretKey)?t.secretKey:Buffer.from(t.secretKey,"hex"),publicKey:t.publicKey})},props:{isGa:!1},methods:{sign(e){if(this.isGa)throw new L("You are trying to sign data using generalized account without keypair");return Promise.resolve(jt(e,oo.get(this).secretKey))},address(){return Promise.resolve(oo.get(this).publicKey)}}}),co=Hs.compose(Es,{async init(e){let{accounts:t=[],address:n}=e;this.accounts=Object.fromEntries(await Promise.all(t.map((async e=>[await e.address(),e])))),n=n||Object.keys(this.accounts)[0],n&&this.selectAccount(n)},props:{accounts:{}},deepProps:{selectedAddress:null},methods:{async address(){let{onAccount:e=this.selectedAddress}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._resolveAccount(e).address()},async sign(e){let{onAccount:t=this.selectedAddress}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this._resolveAccount(t).sign(e)},addresses(){return Object.keys(this.accounts)},async addAccount(e){let{select:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=await e.address();this.accounts[n]=e,t&&this.selectAccount(n)},removeAccount(e){this.accounts[e]?(delete this.accounts[e],this.selectedAddress===e&&(this.selectedAddress=null)):console.warn(`removeAccount: Account for ${e} not available`)},selectAccount(e){if(xt(e,"ak"),!this.accounts[e])throw new G(e);this.selectedAddress=e},_resolveAccount(e){if(null===e)throw new q("Account should be an address (ak-prefixed string), keypair, or instance of account base, got null instead");switch(typeof e){case"string":if(xt(e,"ak"),!this.accounts[e])throw new G(e);return this.accounts[e];case"object":return Us(e)?e:io({keypair:e});default:throw new q(`Account should be an address (ak-prefixed string), keypair, or instance of account base, got ${e} instead`)}}}}),lo=Ws.compose({methods:{aensQuery:async function(e){var t=this;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Ln(e);const r=await this.getName(e);return Object.freeze(Object.assign(r,{pointers:r.pointers||[],update:async function(r){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{...await t.aensUpdate(e,r,{...n,...a}),...await t.aensQuery(e)}},transfer:async function(r){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{...await t.aensTransfer(e,r,{...n,...a}),...await t.aensQuery(e)}},revoke:async function(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return t.aensRevoke(e,{...n,...r})},extendTtl:async function(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:wn,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("number"!=typeof r||r>wn||r<=0)throw new O("nameTtl",`a number between 1 and ${wn} blocks`,r);return{...await t.aensUpdate(e,{},{...n,...a,nameTtl:r,extendPointers:!0}),...await t.aensQuery(e)}}}))},aensPreclaim:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Ln(e);const n={...this.Ae.defaults,...t},r=kt(),a=await this.height(),s=Fn(e,r),o=await this.namePreclaimTx({...n,accountId:await this.address(n),commitmentId:s}),i=await this.send(o,n);return Object.freeze({...i,height:a,claim:t=>this.aensClaim(e,r,{...t,onAccount:n.onAccount}),salt:r,commitmentId:s})},aensClaim:async function(e,t,n){Ln(e);const r={...this.Ae.defaults,...n},a=await this.nameClaimTx({...r,accountId:await this.address(r),nameSalt:t,name:e}),s=await this.send(a,r);if(!Jn(e)){const t=r.waitMined?await this.aensQuery(e,r):{};return Object.assign(s,t)}return{...s,nameFee:r.nameFee}},aensUpdate:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Ln(e);const r={...this.Ae.defaults,...n},a={...n.extendPointers&&Object.fromEntries((await this.getName(e)).pointers.map((e=>{let{key:t,id:n}=e;return[t,n]}))),...t},s=await this.nameUpdateTx({...r,nameId:e,accountId:await this.address(r),pointers:Object.entries(a).map((e=>{let[t,n]=e;return{key:t,id:n}}))});return this.send(s,r)},aensTransfer:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Ln(e);const r={...this.Ae.defaults,...n},a=await this.nameTransferTx({...r,nameId:e,accountId:await this.address(r),recipientId:t});return this.send(a,r)},aensRevoke:async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Ln(e);const n={...this.Ae.defaults,...t},r=await this.nameRevokeTx({...n,nameId:e,accountId:await this.address(n)});return this.send(r,n)},aensBid:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.aensClaim(e,0,{...n,nameFee:t,vsn:2})}},deepProps:{Ae:{defaults:{clientTtl:vn,nameTtl:wn}}}}),uo=lo,ho=Es.compose({async init(e){let{compilerUrl:t,ignoreVersion:n}=e;t&&await this.setCompilerUrl(t,{ignoreVersion:n})},methods:{async setCompilerUrl(e){let{ignoreVersion:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)throw new M("compilerUrl required");e=e.replace(/\/$/,"");const n=await Ms(`${e}/api`,{disableBigNumbers:!0,disableCaseConversion:!0,responseInterceptor:e=>{if(e.ok)return;let t=`${new URL(e.url).pathname.slice(1)} error`;return e.body.reason&&(t+=": "+e.body.reason+(e.body.parameter?` in ${e.body.parameter}`:"")+(e.body.info?` (${JSON.stringify(e.body.info)})`:"")),Array.isArray(e.body)&&(t+=":\n"+e.body.map((e=>`${e.type}:${e.pos.line}:${e.pos.col}: ${e.message}${e.context?`(${e.context})`:""}`)).map((e=>e.trim())).join("\n")),e.statusText=t,e}});if(this.compilerVersion=n.spec.info.version,this.compilerApi=pn(n.api,(e=>{let[t,n]=e;return[t,function(){let{options:{filesystem:e,...t}={},...r}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return n({...r,options:{...t,file_system:e}})}]})),!t&&!Rs(this.compilerVersion,po,fo))throw new K("compiler",this.compilerVersion,po,fo)}},props:{compilerVersion:null}}),po="6.1.0",fo="7.0.0";var mo=v(946);const go=Ws.compose(ho,{methods:{getContractInstance:async function(){var e=this;let{source:t,bytecode:n,aci:r,contractAddress:a,filesystem:s={},validateBytecode:o,...i}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!r&&t&&(r=await this.compilerApi.generateACI({code:t,options:{filesystem:s}})),!r)throw new fe;if(a=a&&await this.resolveName(a,"contract_pubkey",{resolveByNode:!0}),!a&&!t&&!n)throw new pe("Can't create instance by ACI without address");if(a&&!(await this.getContract(a)).active)throw new ue(a);const c={_aci:r,_name:r.encoded_aci.contract.name,calldata:new mo.Encoder([r.encoded_aci,...r.external_encoded_aci]),source:t,bytecode:n,deployInfo:{address:a},options:{...this.Ae.defaults,callStatic:!1,filesystem:s,...i},compilerVersion:this.compilerVersion};if(o){if(!a)throw new pe("Can't validate bytecode without contract address");const e=(await this.getContractByteCode(a)).bytecode;if(!(t?await this.compilerApi.validateByteCode({bytecode:e,source:t,options:c.options}).then((e=>0===Object.entries(e).length),(()=>!1)):n===e))throw new de(t?"source":"bytecode")}c.compile=async function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(c.bytecode)throw new N("Contract already compiled");if(!c.source)throw new N("Can't compile without source code");const{bytecode:n}=await e.compilerApi.compileContract({code:c.source,options:{...c.options,...t}});return c.bytecode=n,c.bytecode};const d=async(e,t)=>{const n=await this.send(e,t),r={hash:n.hash,tx:no({tx:n.rawTx}),txData:n,rawTx:n.rawTx};if(!1===t.waitMined)return r;const{callInfo:a}=await this.api.getTransactionInfoByHash(n.hash);return Object.assign(r.txData,a),await l(a),{...r,result:a}},l=e=>{let t,{returnType:n,returnValue:r}=e;switch(n){case"ok":return;case"revert":t=c.calldata.decodeFateString(r);break;case"error":t=xt(r).toString();break;default:throw new W(`Unknown returnType: ${n}`)}throw new ge(t)};function u(e){const t=c._aci.encoded_aci.contract.functions.find((t=>t.name===e));if(t)return t;if("init"===e)return{payable:!1};throw new ye(`Function ${e} doesn't exist in contract`)}function h(e,t,n){let{contractAddressToName:r}=n;const a={...c.options.contractAddressToName,...r};if(a[e])return a[e];const s=[c._aci.encoded_aci,...c._aci.external_encoded_aci].filter((e=>{let{contract:t}=e;return null==t?void 0:t.event})).map((e=>{let{contract:t}=e;return[t.name,t.event.variant]})).map((e=>{let[t,n]=e;return n.map((e=>[t,Object.keys(e)[0]]))})).flat().filter((e=>{let[,n]=e;return BigInt("0x"+It(n).toString("hex"))===t}));switch(s.length){case 0:throw new be(t,e);case 1:return s[0][0];default:throw new xe(e,s)}}return c._estimateGas=async(e,t,n)=>{const{result:{gasUsed:r}}=await c.call(e,t,{...n,callStatic:!0});return Math.floor(1.25*r)},c.deploy=async function(){var t;let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],r=arguments.length>1?arguments[1]:void 0;const a={...c.options,...r};if(c.bytecode||await c.compile(a),a.callStatic)return c.call("init",n,a);if(c.deployInfo.address)throw new le;const s=await e.address(a),{tx:o,contractId:i}=await e.contractCreateTx({...a,gas:null!==(t=a.gas)&&void 0!==t?t:await c._estimateGas("init",n,a),callData:c.calldata.encode(c._name,"init",n),code:c.bytecode,ownerId:s}),{hash:l,rawTx:u,result:h,txData:p}=await d(o,a);return c.deployInfo=Object.freeze({result:h,owner:s,transaction:l,rawTx:u,txData:p,address:i}),c.deployInfo},c.call=async function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const a={...c.options,...r},s=u(t),o=c.deployInfo.address;if(!t)throw new me;if("init"===t&&!a.callStatic)throw new he('"init" can be called only via dryRun');if(!o&&"init"!==t)throw new he("You need to deploy contract before calling!");if("init"!==t&&a.amount>0&&!1===s.payable)throw new we(`You try to pay "${a.amount}" to function "${t}" which is not payable. Only payable function can accept coins`);const i=await e.address(a).catch((e=>{if(a.callStatic)return pr.pub;throw e})),h=c.calldata.encode(c._name,t,n);let p;if(a.callStatic){var f,m;"number"==typeof a.top&&(a.top=(await e.getKeyBlock(a.top)).hash);const n={...a,gas:null!==(f=a.gas)&&void 0!==f?f:lr,callData:h,nonce:null!==(m=a.nonce)&&void 0!==m?m:a.top&&(await e.getAccount(i,{hash:a.top})).nonce+1},r="init"===t?(await e.contractCreateTx({...n,code:c.bytecode,ownerId:i})).tx:await e.contractCallTx({...n,callerId:i,contractId:o}),{callObj:s,...d}=await e.txDryRun(r,i,a);await l(s),p={...d,tx:no({tx:r}),result:s}}else{var g;const r=await e.contractCallTx({...a,gas:null!==(g=a.gas)&&void 0!==g?g:await c._estimateGas(t,n,a),callerId:i,contractId:o,callData:h});p=await d(r,a)}return(a.waitMined||a.callStatic)&&(p.decodedResult=s.returns&&"unit"!==s.returns&&"init"!==t&&c.calldata.decode(c._name,t,p.result.returnValue),p.decodedEvents=c.decodeEvents(p.result.log,a)),p},c.decodeEvents=function(e){let{omitUnknown:t,...n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.map((e=>{const r=e.topics.map((e=>BigInt(e)));let a;try{a=h(e.address,r[0],n)}catch(e){if(t&&e instanceof be)return null;throw e}const s=c.calldata.decodeEvent(a,e.data,r),[o,i]=Object.entries(s)[0];return{name:o,args:i,contract:{name:a,address:e.address}}})).filter((e=>e))},c.methods=Object.fromEntries(c._aci.encoded_aci.contract.functions.map((e=>{let{name:t,arguments:n,stateful:r}=e;const a=e=>function(){for(var r=arguments.length,a=new Array(r),s=0;s<r;s++)a[s]=arguments[s];const o=a.length===n.length+1?a.pop():{};if("object"!=typeof o)throw new q(`Options should be an object: ${o}`);return"init"===t?c.deploy(a,{callStatic:e,...o}):c.call(t,a,{callStatic:e,...o})};return[t,Object.assign(a("init"!==t&&!r),{get:a(!0),send:a(!1)})]}))),c},delegateSignatureCommon:async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=await this.sign(Buffer.concat([Buffer.from(this.getNetworkId(t)),...e.map((e=>xt(e)))]),t);return Buffer.from(n).toString("hex")},createAensDelegationSignature:async function(e){let{contractId:t,name:n}=e,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.delegateSignatureCommon([await this.address(r),...n?[Dn(n)]:[],t],r)},createOracleDelegationSignature:async function(e){let{contractId:t,queryId:n}=e,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.delegateSignatureCommon([null!=n?n:await this.address(r),t],r)}},deepProps:{Ae:{defaults:{gasPrice:ur,amount:dr}}}}),yo=e=>async(t,n)=>{if("object"!=typeof t)throw new ce("AuthData must be an object");if(t.gas&&m()(t.gas).gt(hr))throw new ce(`the maximum gas value for ga authFun is ${hr}, got ${t.gas}`);const r=t.gas||hr;if(t.callData){if("cb"!==t.callData.split("_")[0])throw new ce('Auth data must be a string with "cb" prefix.');return{authCallData:t.callData,gas:r}}if(!t.source||!t.args)throw new ce("Auth data must contain source code and arguments.");const a=await e.getContractInstance({source:t.source});return{authCallData:a.calldata.encode(a._name,n,t.args),gas:r}},wo=go.compose({methods:{createGeneralizedAccount:async function(e,t){var n;let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const s={...this.Ae.defaults,...a},o=await this.address(s);if(await this.isGA(o))throw new N(`Account ${o} is already GA`);const i=await this.getContractInstance({source:t});await i.compile();const{tx:c,contractId:d}=await this.gaAttachTx({...s,gas:null!==(n=s.gas)&&void 0!==n?n:await i._estimateGas("init",r,s),ownerId:o,code:i.bytecode,callData:i.calldata.encode(i._name,"init",r),authFun:It(e)}),{hash:l,rawTx:u}=await this.send(c,s);return Object.freeze({owner:o,transaction:l,rawTx:u,gaContractId:d})},createMetaTx:async function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(!t)throw new M("authData is required");const{authCallData:a,gas:s}=await yo(this)(t,n),o={...this.Ae.defaults,...r},{abiVersion:i}=await this.getVmVersion(Nr.contractCall),c=xo(ts(e)),d={...o,tx:{...c,tx:c.txObject},gaId:await this.address(o),abiVersion:i,authData:a,gas:s,vsn:2},{fee:l}=await this.prepareTxParams(Nr.gaMeta,d),{rlpEncoded:u}=es({...d,fee:`${l}`},Nr.gaMeta,{vsn:2});return xo(u).tx},isGA:async function(e){const{contractId:t}=await this.getAccount(e);return!!t}}}),bo=wo,xo=e=>es({encodedTx:e,signatures:[]},Nr.signed),vo=1;let To,Io,Co,Eo,Ao;!function(e){e.to_waellet="to_waellet",e.to_aepp="to_aepp"}(To||(To={})),function(e){e.window="window",e.extension="extension"}(Io||(Io={})),function(e){e.subscribe="subscribe",e.unsubscribe="unsubscribe"}(Co||(Co={})),function(e){e.readyToConnect="connection.announcePresence",e.updateAddress="address.update",e.address="address.get",e.connect="connection.open",e.sign="transaction.sign",e.signMessage="message.sign",e.subscribeAddress="address.subscribe",e.updateNetwork="networkId.update",e.closeConnection="connection.close"}(Eo||(Eo={})),function(e){e.CONNECTED="CONNECTED",e.NODE_BINDED="NODE_BINDED",e.DISCONNECTED="DISCONNECTED",e.CONNECTION_REJECTED="CONNECTION_REJECTED",e.WAITING_FOR_CONNECTION_APPROVE="WAITING_FOR_CONNECTION_APPROVE",e.WAITING_FOR_CONNECTION_REQUEST="WAITING_FOR_CONNECTION_REQUEST"}(Ao||(Ao={}));const ko={broadcastFailed:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:3,data:e,message:"Broadcast failed"}},invalidTransaction:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:2,data:e,message:"Invalid transaction"}},rejectedByUser:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:4,data:e,message:"Operation rejected by user"}},connectionDeny:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{code:9,data:e,message:"Wallet deny your connection request"}},permissionDeny:e=>({code:11,message:`You are not subscribed for account ${e}`}),internalError:e=>({code:12,message:e}),notAuthorize:()=>({code:10,message:"You are not connected to the wallet"}),unsupportedProtocol:()=>({code:5,message:"Unsupported Protocol Version"}),unsupportedNetwork:()=>({code:8,message:"Unsupported Network"})},_o=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const{chrome:t,browser:n}=window;if(void 0!==t&&t===Object(t))return t;if(void 0!==n&&n===Object(n))return n;if(!e)throw new R;return{}},Oo=()=>window!==window.parent,No=e=>{let t=0;return function(n){let{id:r,method:a,params:s,result:o,error:i}=n,c=arguments.length>1&&void 0!==arguments[1]&&arguments[1];c||(t+=1),r=c?r||null:t;const d=s?{params:s}:o?{result:o}:{error:i};return e.sendMessage({jsonrpc:"2.0",...r?{id:r}:{},method:a,...d}),r}},So=function(e,t){let{debug:n=!1}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=e[t.method];return r&&"function"==typeof r?r:(n&&console.log(`Unknown message method ${t.method}`),()=>async()=>!0)},Po=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{method:e,params:t}},Bo=function(e,t){let{error:n,result:r}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return{id:e,method:t,...n?{error:n}:{result:r}}},jo=e=>(t,n,r)=>e.sendMessage(Bo(t,n,r),!0),Mo=e=>3===["","connected","current"].filter((t=>"object"==typeof(t?e[t]:e))).length,Ro=bs()({init(e){let{id:t,name:n,networkId:r,icons:a,connection:s,handlers:[o,i]}=e;this.id=t,this.connection=s,this.info={name:n,networkId:r,icons:a},this.callbacks={},this.addressSubscription=[],this.accounts={},this.sendMessage=No(this.connection),s.connect(((e,t)=>{if(!e||!e.jsonrpc||"2.0"!==e.jsonrpc||!e.method)throw new J(e);o(e,t)}),((e,t)=>{this.disconnect(!0),"function"==typeof i&&i(t,this)}))},propertyDescriptors:{currentAccount:{enumerable:!0,configurable:!1,get(){return this.isHasAccounts()?Object.keys(this.accounts.current)[0]:void 0}},addresses:{enumerable:!0,configurable:!1,get(){return this.isHasAccounts()?[...Object.keys(this.accounts.current),...Object.keys(this.accounts.connected)]:[]}},origin:{enumerable:!0,configurable:!1,get(){return this.connection}}},methods:{updateInfo(e){Object.assign(this.info,e)},isHasAccounts(){return"object"==typeof this.accounts&&"object"==typeof this.accounts.connected&&"object"==typeof this.accounts.current},isSubscribed(){return this.addressSubscription.length&&this.isHasAccounts()},hasAccessToAccount(e){return!!e&&this.addresses.find((t=>t===e))},isConnected(){return this.connection.isConnected()&&(this.info.status===Ao.CONNECTED||this.info.status===Ao.NODE_BINDED)},getCurrentAccount(){let{onAccount:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e||Object.keys(this.accounts.current)[0]},disconnect(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.info.status=Ao.DISCONNECTED,this.addressSubscription=[],this.accounts={},e||this.connection.disconnect()},setAccounts(e){let{forceNotification:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!Mo(e))throw new q("Invalid accounts object. Should be object like: `{ connected: {}, selected: {} }`");this.accounts=e,t||this.sendMessage(Po(Eo.updateAddress,this.accounts),!0)},updateSubscription(e,t){return e!==Co.subscribe||this.addressSubscription.includes(t)||this.addressSubscription.push(t),e===Co.unsubscribe&&this.addressSubscription.includes(t)&&(this.addressSubscription=this.addressSubscription.filter((e=>e!==t))),this.addressSubscription},request(e,t){const n=this.sendMessage(Po(e,t));if(Object.prototype.hasOwnProperty.call(this.callbacks,n))throw new X;return new Promise(((e,t)=>{this.callbacks[n]={resolve:e,reject:t}}))},processResponse(e,t){let{id:n,error:r,result:a}=e;if(!this.callbacks[n])throw new Z(n);a?this.callbacks[n].resolve(..."function"==typeof t?t({id:n,result:a}):[a]):this.callbacks[n].reject(r),delete this.callbacks[n]}}}),Do={[Eo.updateAddress]:e=>t=>{let{params:n}=t;e.rpcClient.accounts=n,e.onAddressChange(n)},[Eo.updateNetwork]:e=>async t=>{let{params:n}=t;const{networkId:r,node:a}=n;e.rpcClient.info.networkId=r,a&&e.addNode(a.name,await $s(a),!0),e.onNetworkChange(n)},[Eo.closeConnection]:e=>t=>{e.disconnectWallet(),e.onDisconnect(t.params)}},Fo={[Eo.address]:e=>t=>e.rpcClient.processResponse(t),[Eo.connect]:e=>t=>{t.result&&(e.rpcClient.info.status=Ao.CONNECTED),e.rpcClient.processResponse(t)},[Eo.subscribeAddress]:e=>t=>{t.result&&(t.result.address&&(e.rpcClient.accounts=t.result.address),t.result.subscription&&(e.rpcClient.addressSubscription=t.result.subscription)),e.rpcClient.processResponse(t,(e=>{let{id:t,result:n}=e;return[n]}))},[Eo.sign]:e=>t=>{e.rpcClient.processResponse(t,(e=>{let{id:t,result:n}=e;return[n.signedTransaction||n.transactionHash]}))},[Eo.signMessage]:e=>t=>{e.rpcClient.processResponse(t,(e=>{let{id:t,result:n}=e;return[n.signature]}))}},Vo={},qo=Ws.compose({async init(e){let{name:t,connection:n,debug:r=!1,...a}=e;["onAddressChange","onDisconnect","onNetworkChange"].forEach((e=>{var t;const n=null!==(t=a[e])&&void 0!==t?t:()=>{};if("function"!=typeof n)throw new O(e,"a function",n);this[e]=n})),this.connection=n,this.name=t,this.debug=r,n&&await this.connectToWallet(n)},deepProps:{Ae:{defaults:{walletBroadcast:!0}}},methods:{sign(){},addresses(){if(!this.isSubscribedAccount())throw new ne;return[this.rpcClient.currentAccount,...Object.keys(this.rpcClient.accounts.connected)]},async connectToWallet(e){let{connectNode:t=!1,name:n="wallet-node",select:r=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.rpcClient&&this.rpcClient.isConnected())throw new Je("You are already connected to wallet "+this.rpcClient);var a;this.rpcClient=Ro({connection:e,networkId:this.getNetworkId({force:!0}),...e.connectionInfo,id:(0,qt.v4)(),handlers:[(a=this,async e=>e.id?Object.prototype.hasOwnProperty.call(a.rpcClient.callbacks,e.id)?So(Fo,e,{debug:a.debug})(a)(e):So(Vo,e,{debug:a.debug})(a)(e):So(Do,e,{debug:a.debug})(a)(e)),this.onDisconnect]});const s=await this.sendConnectRequest(t);if(t&&!Object.prototype.hasOwnProperty.call(s,"node"))throw new tt("Missing URLs of the Node");return t&&this.addNode(n,await $s(s.node),r),s},async disconnectWallet(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(!this.isConnected())throw new et("You are not connected to Wallet");e&&this.rpcClient.sendMessage(Po(Eo.closeConnection,{reason:"bye"}),!0),this.rpcClient.disconnect(),this.rpcClient=null},async address(){let{onAccount:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!this.isConnected())throw new et("You are not connected to Wallet");const t=this.rpcClient.currentAccount;if(!t)throw new ne;if(e&&!this.rpcClient.hasAccessToAccount(e))throw new ee(e);return e||t},async askAddresses(){if(!this.isConnected())throw new et("You are not connected to Wallet");if(!this.isSubscribedAccount())throw new ne;return this.rpcClient.request(Eo.address)},async subscribeAddress(e,t){if(!this.isConnected())throw new et("You are not connected to Wallet");return this.rpcClient.request(Eo.subscribeAddress,{type:e,value:t})},async signTransaction(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isConnected())throw new et("You are not connected to Wallet");if(!this.isSubscribedAccount())throw new ne;if(t.onAccount&&!this.rpcClient.hasAccessToAccount(t.onAccount))throw new ee(t.onAccount);return this.rpcClient.request(Eo.sign,{...t,tx:e,returnSigned:!0,networkId:this.getNetworkId()})},async signMessage(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isConnected())throw new et("You are not connected to Wallet");if(!this.isSubscribedAccount())throw new ne;if(t.onAccount&&!this.rpcClient.hasAccessToAccount(t.onAccount))throw new ee(t.onAccount);return this.rpcClient.request(Eo.signMessage,{...t,message:e})},async sendConnectRequest(e){return this.rpcClient.request(Eo.connect,{name:this.name,version:vo,networkId:this.getNetworkId({force:!0}),connectNode:e})},async send(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isConnected())throw new et("You are not connected to Wallet");if(!this.isSubscribedAccount())throw new ne;if(t.onAccount&&!this.rpcClient.hasAccessToAccount(t.onAccount))throw new ee(t.onAccount);const n={...this.Ae.defaults,...t};if(!n.walletBroadcast){const t=await this.signTransaction(e,{onAccount:n.onAccount});return this.sendTransaction(t,n)}return this.rpcClient.request(Eo.sign,{onAccount:n.onAccount,tx:e,returnSigned:!1,networkId:this.getNetworkId()})},isConnected(){return this.rpcClient&&this.rpcClient.isConnected()},isSubscribedAccount(){return void 0!==this.rpcClient.currentAccount}}}),$o=Ws.compose({methods:{registerOracle:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r={...this.Ae.defaults,...n},a=await this.address(r),s=await this.oracleRegisterTx({...r,accountId:a,queryFormat:e,responseFormat:t});return{...await this.send(s,r),...await this.getOracleObject(`ok_${a.slice(3)}`)}},respondToQuery:async function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const a={...this.Ae.defaults,...r},s=await this.address(a),o=await this.oracleRespondTx({...a,oracleId:e,queryId:t,callerId:s,response:n});return{...await this.send(o,a),...await this.getOracleObject(e)}},extendOracleTtl:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r={...this.Ae.defaults,...n},a=await this.address(r),s=await this.oracleExtendTx({...r,oracleId:e,callerId:a,oracleTtl:t});return{...await this.send(s,r),...await this.getOracleObject(e)}},postQueryToOracle:async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=n.queryFee||(await this.api.getOracleByPubkey(e)).queryFee,a={...this.Ae.defaults,queryFee:r,...n},s=await this.address(a),o=await this.oraclePostQueryTx({...a,oracleId:e,senderId:s,query:t}),i=Mn(s,ts(o).tx.nonce,e);return{...await this.send(o,a),...await this.getQueryObject(e,i)}},pollForQueryResponse:async function(e,t){let{attempts:n=20,interval:r=this._getPollInterval("microblock")}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};for(let a=0;a<n;a++){a&&await hn(r);const{response:n}=await this.api.getOracleQueryByPubkeyAndQueryId(e,t),s=xt(n,"or");if(s.length)return String(s)}throw new F((n-1)*r)},pollForQueries:function(e,t){let{interval:n=this._getPollInterval("microblock")}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=new Set,a=async()=>{const n=((await this.api.getOracleQueriesByPubkey(e)).oracleQueries||[]).filter((e=>{let{id:t}=e;return!r.has(t)}));n.forEach((e=>{let{id:t}=e;return r.add(t)})),n.length&&t(n)};let s;return(async()=>{for(;!s;)await a().catch(console.error),await hn(n)})(),()=>{s=!0}},getOracleObject:async function(e){const t=await this.api.getOracleByPubkey(e),{oracleQueries:n}=await this.api.getOracleQueriesByPubkey(e);return{...t,queries:n,pollQueries:this.pollForQueries.bind(this,e),postQuery:this.postQueryToOracle.bind(this,e),respondToQuery:this.respondToQuery.bind(this,e),extendOracle:this.extendOracleTtl.bind(this,e),getQuery:this.getQueryObject.bind(this,e)}},getQueryObject:async function(e,t){const n=await this.api.getOracleQueryByPubkeyAndQueryId(e,t);return{...n,decodedQuery:xt(n.query).toString(),decodedResponse:xt(n.response).toString(),respond:this.respondToQuery.bind(this,e,t),pollForResponse:this.pollForQueryResponse.bind(this,e,t),decode:e=>xt(e)}}},deepProps:{Ae:{defaults:{queryFee:sr,oracleTtl:or,queryTtl:ir,responseTtl:cr}}}}),Uo=$o,Ho=Ws.compose(so,Uo,go,uo,Js,qo),Ko=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!e.find((e=>e===t))){if("object"!=typeof n.onAccount||!Us(n.onAccount))throw new q("Provided onAccount should be an AccountBase");t=n.onAccount}return t},Wo={[Eo.closeConnection]:(e,t)=>{let{client:n}=t;return async t=>{n.disconnect(!0),e.onDisconnect(t.params,n)}}},Lo={},Go={[Eo.connect](e,t,n,r){let{name:a,networkId:s,version:o,icons:i,connectNode:c}=r;return o!==vo?{error:ko.unsupportedProtocol()}:(n.updateInfo({status:Ao.WAITING_FOR_CONNECTION_APPROVE,name:a,networkId:s,icons:i,version:o,origin:window.location.origin,connectNode:c}),e("onConnection",{name:a,networkId:s,version:o},(function(){let{shareNode:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return n.updateInfo({status:e?Ao.NODE_BINDED:Ao.CONNECTED}),{result:{...t.getWalletInfo(),...e&&{node:t.selectedNode}}}}),(e=>(n.updateInfo({status:Ao.CONNECTION_REJECTED}),{error:ko.connectionDeny(e)}))))},[Eo.subscribeAddress](e,t,n,r){let{type:a,value:s}=r;return n.isConnected()?e("onSubscription",{type:a,value:s},(async function(){let{accounts:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{const r=e||t.getAccounts();if(!Mo(r))throw new q("Invalid provided accounts object");const o=n.updateSubscription(a,s);return n.setAccounts(r,{forceNotification:!0}),{result:{subscription:o,address:r}}}catch(e){return t.debug&&console.error(e),{error:ko.internalError(e.message)}}}),(e=>({error:ko.rejectedByUser(e)}))):{error:ko.notAuthorize()}},[Eo.address]:(e,t,n)=>n.isConnected()&&n.isSubscribed()?e("onAskAccounts",{},(function(){let{accounts:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{result:e||[...Object.keys(n.accounts.current),...Object.keys(n.accounts.connected)]}}),(e=>({error:ko.rejectedByUser(e)}))):{error:ko.notAuthorize()},[Eo.sign](e,t,n,r){const{tx:a,onAccount:s,networkId:o,returnSigned:i=!1}=r,c=s||n.currentAccount;return o&&n.updateInfo({networkId:o}),n.isConnected()?n.hasAccessToAccount(c)?o&&o===t.getNetworkId()?e("onSign",{tx:a,returnSigned:i,onAccount:c,txObject:no.fromString(a)},(async function(e){let n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{n=Ko(t.addresses(),c,r)}catch(e){return t.debug&&console.error(e),{error:ko.internalError(e.message)}}try{const r=e||a;return{result:i?{signedTransaction:await t.signTransaction(r,{onAccount:n})}:{transactionHash:await t.send(r,{onAccount:n,verify:!1})}}}catch(n){if(!i){const r=await Qs(e||a,t.selectedNode.instance);return r.length?{error:ko.invalidTransaction(r)}:{error:ko.broadcastFailed(n.message)}}throw n}}),(e=>({error:ko.rejectedByUser(e)}))):{error:ko.unsupportedNetwork()}:{error:ko.permissionDeny(c)}:{error:ko.notAuthorize()}},[Eo.signMessage](e,t,n,r){let{message:a,onAccount:s}=r;if(!n.isConnected())return{error:ko.notAuthorize()};const o=s||n.currentAccount;return n.hasAccessToAccount(o)?e("onMessageSign",{message:a,onAccount:o},(async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{const n=Ko(t.addresses(),o,e);return{result:{signature:await t.signMessage(a,{onAccount:n,returnHex:!0})}}}catch(e){return t.debug&&console.error(e),{error:ko.internalError(e.message)}}}),(e=>({error:ko.rejectedByUser(e)}))):{error:ko.permissionDeny(o)}}},Qo=(e,t)=>async(n,r)=>{const a=e.rpcClients[t];if(!n.id)return So(Wo,n,{debug:e.debug})(e,{client:a})(n,r);if(Object.prototype.hasOwnProperty.call(a.callbacks,n.id))return So(Lo,n,{debug:e.debug})(e,{client:a})(n,r);{const{id:t,method:s}=n,o=(n,o,i,c)=>()=>new Promise((d=>{e[n](a,{id:t,method:s,params:o,accept:function(){return d(i(...arguments))},deny:function(){return d(c(...arguments))}},r)})),i=So(Go,n,{debug:e.debug})(o,e,a,n.params),c="function"==typeof i?await i():i;jo(a)(t,s,c)}},zo=Ws.compose(co,{init(){var e=this;let{name:t,debug:n=!1,...r}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};["onConnection","onSubscription","onSign","onDisconnect","onAskAccounts","onMessageSign"].forEach((e=>{const t=r[e];if("function"!=typeof t)throw new O(e,"a function",t);this[e]=t})),this.debug=n,this.rpcClients={},this.name=t,this.id=(0,qt.v4)();const a=this.selectAccount.bind(this),s=this.addAccount.bind(this),o=this.selectNode.bind(this);this.selectAccount=function(t){let{condition:n=(()=>!0)}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};a(t),Object.values(e.rpcClients).filter((e=>e.isConnected()&&e.isSubscribed()&&e.hasAccessToAccount(t)&&n(e))).forEach((e=>e.setAccounts({current:{[t]:{}},connected:{...e.accounts.current,...Object.entries(e.accounts.connected).filter((e=>{let[n,r]=e;return n!==t})).reduce(((e,t)=>{let[n,r]=t;return{...e,[n]:r}}),{})}})))},this.addAccount=async function(t){let{select:n,meta:r={},condition:a=(()=>!0)}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};await s(t,{select:n});const o=await t.address();Object.values(e.rpcClients).filter((e=>e.isConnected()&&e.isSubscribed()&&a(e))).forEach((e=>e.setAccounts({current:{...n?{[o]:r}:e.accounts.current},connected:{...n?e.accounts.current:{[o]:r},...e.accounts.connected}})))},this.selectNode=e=>{o(e),Object.values(this.rpcClients).filter((e=>e.isConnected())).forEach((e=>{e.sendMessage(Po(Eo.updateNetwork,{networkId:this.getNetworkId(),...e.info.status===Ao.NODE_BINDED&&{node:this.selectedNode}}),!0)}))}},methods:{removeRpcClient(e){let{forceConnectionClose:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=this.rpcClients[e];if(!n)throw new te(e);n.disconnect(t),delete this.rpcClients[e]},addRpcClient(e){const t=(0,qt.v4)();return this.rpcClients[t]=Ro({id:t,info:{status:Ao.WAITING_FOR_CONNECTION_REQUEST},connection:e,handlers:[Qo(this,t),this.onDisconnect]}),t},shareWalletInfo(e){e({jsonrpc:"2.0",...Po(Eo.readyToConnect,this.getWalletInfo())})},getWalletInfo(){const e=_o(!0).runtime;return{id:e&&e.id?e.id:this.id,name:this.name,networkId:this.getNetworkId(),origin:window.location.origin,type:e&&e.id?Io.extension:Io.window}},getAccounts(){return{current:this.selectedAddress?{[this.selectedAddress]:{}}:{},connected:this.addresses().filter((e=>e!==this.selectedAddress)).reduce(((e,t)=>({...e,[t]:{}})),{})}}}}),Yo=Ws.compose(zo,so,go,Uo,uo,bo,Js);var Xo=v(397),Jo=v(735);const Zo=new WeakMap,ei=new WeakMap,ti=new WeakMap,ni=new WeakMap,ri=new WeakMap,ai=new WeakMap,si=new WeakMap,oi=new WeakMap,ii=new WeakMap,ci=new WeakMap,di=new WeakMap,li=new WeakMap,ui=new WeakMap,hi=new WeakMap,pi=new WeakMap,fi=new WeakMap;function mi(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];ai.get(e).emit(...n)}function gi(e,t){if(!t)throw new ie;ni.set(e,t),t.handler.enter&&t.handler.enter(e),vi(e)}function yi(e,t){t!==ei.get(e)&&(ei.set(e,t),mi(e,"statusChanged",t))}function wi(e,t){ti.set(e,t),mi(e,"stateChanged",t)}function bi(e,t){const{debug:n=!1}=Zo.get(e);n&&console.log("Send message: ",t),ri.get(e).send(Bs.stringify(t))}function xi(e,t,n){ii.set(e,[...ii.get(e)||[],{guard:t,action:n}]),vi(e)}async function vi(e){const t=ci.get(e),n=ii.get(e)||[];if(t||!n.length)return;const r=ni.get(e),a=n.findIndex((t=>t.guard(e,r)));if(-1===a)return;ii.set(e,n.filter(((e,t)=>a!==t))),ci.set(e,!0);const s=await Promise.resolve(n[a].action(e,r));ci.set(e,!1),gi(e,s)}async function Ti(e,t){const{handler:n,state:r}=ni.get(e);gi(e,await Promise.resolve(n(e,t,r)))}function Ii(e){clearTimeout(hi.get(e)),clearTimeout(pi.get(e)),hi.set(e,setTimeout((()=>{bi(e,{jsonrpc:"2.0",method:"channels.system",params:{action:"ping"}}),pi.set(e,setTimeout((()=>{Ei(e),mi(e,"error",new se)}),5e3))}),1e4))}function Ci(e,t,n){return new Promise(((r,a)=>{const s=di.set(e,di.get(e)+1).get(e);ui.get(e).set(s,(e=>{if(e.result)return r(e.result);if(e.error){const[{message:t}={}]=e.error.data||[];return a(new re(e.error.message+(t?`: ${t}`:"")))}})),bi(e,{jsonrpc:"2.0",method:t,id:s,params:n})}))}function Ei(e){ri.get(e).close(),clearTimeout(hi.get(e)),clearTimeout(pi.get(e))}async function Ai(e,t,n,r){let{url:a,...s}=r;Zo.set(e,s),ni.set(e,{handler:t}),ai.set(e,new Jo.EventEmitter),di.set(e,0),ui.set(e,new Map),si.set(e,[]);const o=new URL(a);Object.entries(s).filter((e=>{let[t]=e;return!["sign","debug"].includes(t)})).forEach((e=>{let[t,n]=e;return o.searchParams.set(rt(t),n)})),o.searchParams.set("protocol","json-rpc"),yi(e,"connecting");const i=new Xo.w3cwebsocket(o.toString());await new Promise(((t,r)=>Object.assign(i,{onerror:r,onopen:()=>{t(),yi(e,"connected"),s.reconnectTx&&(gi(e,{handler:n}),setTimeout((async()=>wi(e,(await Ci(e,"channels.get.offchain_state",{})).signed_tx)))),Ii(e)},onclose:()=>{yi(e,"disconnected"),clearTimeout(hi.get(e)),clearTimeout(pi.get(e))},onmessage:t=>{let{data:n}=t;return function(e,t){const n=Bs.parse(t),{debug:r=!1}=Zo.get(e);if(r&&console.log("Receive message: ",n),n.id){const t=ui.get(e).get(n.id);try{t(n)}finally{ui.get(e).delete(n.id)}}else"channels.message"!==n.method?"channels.system.pong"!==n.method?(si.get(e).push(n),async function(e){if(oi.get(e))return;const t=si.get(e);if(t.length){for(oi.set(e,!0);t.length;){const n=t.shift();try{await Ti(e,n)}catch(e){console.error("Error handling incoming message:"),console.error(n),console.error(e)}}oi.set(e,!1)}}(e)):n.params.channel_id!==li.get(e)&&null!=li.get(e)||Ii(e):mi(e,"message",n.params.data.message)}(e,n)}}))),ri.set(e,i)}async function ki(e,t){const{signatures:n,encodedTx:r}=ts(e).tx,a=await t(vt(r.rlpEncoded,"tx"));if("string"==typeof a){const{tx:e,txType:t}=ts(a);return es({signatures:n.concat(e.signatures),encodedTx:e.encodedTx.rlpEncoded},t).tx}return a}function _i(e,t,n){return n&&n.reject&&n.reject(Object.assign(new oe(`Unexpected message received:\n\n${JSON.stringify(t)}`),{wsMessage:t})),{handler:Ri}}function Oi(e,t,n){return"channels.info"===t.method?["channel_accept","funding_created"].includes(t.params.data.event)?(yi(e,{channel_accept:"accepted",funding_created:"halfSigned"}[t.params.data.event]),{handler:Si}):"channel_reestablished"===t.params.data.event?{handler:ji}:"fsm_up"===t.params.data.event?(fi.set(e,t.params.data.fsm_id),{handler:Oi}):{handler:Oi}:"channels.error"===t.method?(mi(e,"error",new ae(t.payload.message)),{handler:tc}):void 0}async function Ni(e,t,n){return"channels.info"===t.method&&"fsm_up"===t.params.data.event?(fi.set(e,t.params.data.fsm_id),wi(e,(await Ci(e,"channels.get.offchain_state",{})).signed_tx),{handler:Ri}):_i(0,t,n)}async function Si(e,t,n){const r={initiator:"initiator_sign",responder:"responder_sign"}[Zo.get(e).role];if(t.method===`channels.sign.${r}`){if(t.params.data.tx){const n=await Zo.get(e).sign(r,t.params.data.tx);return bi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{tx:n}}),{handler:Pi}}const n=await ki(t.params.data.signed_tx,(t=>Zo.get(e).sign(r,t)));return bi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{signed_tx:n}}),{handler:Pi}}}function Pi(e,t,n){if("channels.on_chain_tx"===t.method){if("funding_signed"===t.params.data.info&&"initiator"===Zo.get(e).role)return{handler:Bi};if("funding_created"===t.params.data.info&&"responder"===Zo.get(e).role)return{handler:Bi}}if("channels.info"===t.method&&"funding_signed"===t.params.data.event&&"initiator"===Zo.get(e).role)return li.set(e,t.params.channel_id),yi(e,"signed"),{handler:Pi}}function Bi(e,t,n){if("channels.info"===t.method){const e={funding_created:Bi,own_funding_locked:Bi,funding_locked:ji}[t.params.data.event];if(e)return{handler:e}}if("channels.on_chain_tx"===t.method)return mi(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),{handler:Bi}}function ji(e,t,n){if("channels.info"===t.method&&"open"===t.params.data.event)return li.set(e,t.params.channel_id),{handler:Mi}}function Mi(e,t,n){if("channels.update"===t.method)return wi(e,t.params.data.state),{handler:Ri}}async function Ri(e,t,n){switch(t.method){case"channels.info":switch(t.params.data.event){case"update":case"withdraw_created":case"deposit_created":return{handler:Vi};case"own_withdraw_locked":case"withdraw_locked":case"own_deposit_locked":case"deposit_locked":case"peer_disconnected":case"channel_reestablished":case"open":return mi(e,t.params.data.event),{handler:Ri};case"fsm_up":return fi.set(e,t.params.data.fsm_id),{handler:Ri};case"timeout":case"close_mutual":case"shutdown":return{handler:Ri};case"closing":return yi(e,"closing"),{handler:Ri};case"closed_confirmed":return yi(e,"closed"),{handler:tc};case"died":return yi(e,"died"),{handler:tc}}break;case"channels.on_chain_tx":return mi(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),{handler:Ri};case"channels.leave":return{handler:Ri};case"channels.update":return wi(e,t.params.data.state),{handler:Ri};case"channels.sign.shutdown_sign_ack":return Vi(e,t,n)}}async function Di(e,t,n){if("channels.sign.update"===t.method){const{sign:r}=n;if(t.params.data.tx)return bi(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:Fi,state:n};const a=await ki(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return bi(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:a}}),{handler:Fi,state:n};if("number"==typeof a)return bi(e,{jsonrpc:"2.0",method:"channels.update",params:{error:a}}),{handler:Di,state:n}}if("channels.error"===t.method)return n.reject(new ae(t.data.message)),{handler:Ri};if(t.error){const{data:e=[]}=t.error;return e.find((e=>1001===e.code))?n.reject(new P("Insufficient balance")):e.find((e=>1002===e.code))?n.reject(new N("Amount cannot be negative")):n.reject(new ae(t.error.message)),{handler:Ri}}return"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Ri}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Ri}):_i(0,t,n)}function Fi(e,t,n){return"channels.update"===t.method?(wi(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Ri}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Ri}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Ri}):t.error?(n.reject(new ae(t.error.message)),{handler:Ri}):_i(0,t,n)}async function Vi(e,t,n){const[,r]=t.method.match(/^channels\.sign\.([^.]+)$/)||[];if(r){if(t.params.data.tx){const n=await Zo.get(e).sign(r,t.params.data.tx,{updates:t.params.data.updates});if(n)return bi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{tx:n}}),{handler:Ri}}else{const a=await ki(t.params.data.signed_tx,(n=>Zo.get(e).sign(r,n,{updates:t.params.data.updates})));if("string"==typeof a)return bi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{signed_tx:a}}),{handler:Ri};if("number"==typeof a)return bi(e,{jsonrpc:"2.0",method:`channels.${r}`,params:{error:a}}),{handler:qi,state:n}}return bi(e,{jsonrpc:"2.0",method:"channels.update.new",params:{from:St().publicKey,to:St().publicKey,amount:1}}),{handler:qi,state:n}}return _i(0,t,n)}function qi(e,t,n){return t.error?{handler:qi,state:n}:"channels.conflict"===t.method?{handler:Ri}:_i(0,t,n)}async function $i(e,t,n){if("channels.sign.shutdown_sign"===t.method){if(t.params.data.tx)return bi(e,{jsonrpc:"2.0",method:"channels.shutdown_sign",params:{tx:await n.sign(t.params.data.tx)}}),{handler:Ui,state:n};const r=await ki(t.params.data.signed_tx,(e=>n.sign(e)));return bi(e,{jsonrpc:"2.0",method:"channels.shutdown_sign",params:{signed_tx:r}}),{handler:Ui,state:n}}return _i(0,t,n)}function Ui(e,t,n){return"channels.on_chain_tx"===t.method?{handler:tc,state:n}:_i(0,t,n)}function Hi(e,t,n){return"channels.leave"===t.method?(n.resolve({channelId:t.params.channel_id,signedTx:t.params.data.state}),Ei(e),{handler:tc}):"channels.error"===t.method?(n.reject(new ae(t.data.message)),{handler:Ri}):_i(0,t,n)}async function Ki(e,t,n){if("channels.sign.withdraw_tx"===t.method){const{sign:r}=n;if(t.params.data.tx)return bi(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:Wi,state:n};const a=await ki(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return bi(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{signed_tx:a}}),{handler:Wi,state:n};if("number"==typeof a)return bi(e,{jsonrpc:"2.0",method:"channels.withdraw_tx",params:{error:a}}),{handler:Wi,state:n}}return _i(0,t,n)}function Wi(e,t,n){if("channels.on_chain_tx"===t.method)return n.onOnChainTx&&n.onOnChainTx(t.params.data.tx),{handler:Wi,state:n};if("channels.info"===t.method&&["own_withdraw_locked","withdraw_locked"].includes(t.params.data.event)){const e={own_withdraw_locked:n.onOwnWithdrawLocked,withdraw_locked:n.onWithdrawLocked}[t.params.data.event];return e&&e(),{handler:Wi,state:n}}return"channels.update"===t.method?(wi(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Ri}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Ri}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Ri}):_i(0,t,n)}async function Li(e,t,n){if("channels.sign.deposit_tx"===t.method){const{sign:r}=n;if(t.params.data.tx)return bi(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{tx:await r(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:Gi,state:n};const a=await ki(t.params.data.signed_tx,(e=>r(e,{updates:t.params.data.updates})));if("string"==typeof a)return bi(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{signed_tx:a}}),{handler:Gi,state:n};if("number"==typeof a)return bi(e,{jsonrpc:"2.0",method:"channels.deposit_tx",params:{error:a}}),{handler:Gi,state:n}}return _i(0,t,n)}function Gi(e,t,n){if("channels.on_chain_tx"===t.method)return n.onOnChainTx&&n.onOnChainTx(t.params.data.tx),{handler:Gi,state:n};if("channels.info"===t.method&&["own_deposit_locked","deposit_locked"].includes(t.params.data.event)){const e={own_deposit_locked:n.onOwnDepositLocked,deposit_locked:n.onDepositLocked}[t.params.data.event];return e&&e(),{handler:Gi,state:n}}return"channels.update"===t.method?(wi(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Ri}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Ri}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Ri}):_i(0,t,n)}async function Qi(e,t,n){if("channels.sign.update"===t.method){if(t.params.data.tx)return bi(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await n.sign(t.params.data.tx)}}),{handler:zi,state:n};const r=await ki(t.params.data.signed_tx,(e=>n.sign(e)));if("string"==typeof r)return bi(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:r}}),{handler:zi,state:n};if("number"==typeof r)return bi(e,{jsonrpc:"2.0",method:"channels.update",params:{error:r}}),{handler:zi,state:n}}return _i(0,t,n)}function zi(e,t,n){if("channels.update"===t.method){const{round:r}=ts(t.params.data.state).tx.encodedTx.tx,a=Zo.get(e)[{initiator:"initiatorId",responder:"responderId"}[Zo.get(e).role]];return wi(e,t.params.data.state),n.resolve({accepted:!0,address:Ot(a,r),signedTx:t.params.data.state}),{handler:Ri}}return"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Ri}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Ri}):_i(0,t,n)}async function Yi(e,t,n){if("channels.sign.update"===t.method){if(t.params.data.tx)return bi(e,{jsonrpc:"2.0",method:"channels.update",params:{tx:await n.sign(t.params.data.tx,{updates:t.params.data.updates})}}),{handler:Zi,state:n};const r=await ki(t.params.data.signed_tx,(e=>n.sign(e,{updates:t.params.data.updates})));if("string"==typeof r)return bi(e,{jsonrpc:"2.0",method:"channels.update",params:{signed_tx:r}}),{handler:Zi,state:n};if("number"==typeof r)return bi(e,{jsonrpc:"2.0",method:"channels.update",params:{error:r}}),{handler:Zi,state:n}}return _i(0,t,n)}async function Xi(e,t,n){if("channels.sign.force_progress_tx"===t.method){const r=await ki(t.params.data.signed_tx,(e=>n.sign(e,{updates:t.params.data.updates})));return bi(e,{jsonrpc:"2.0",method:"channels.force_progress_sign",params:{signed_tx:r}}),{handler:Ji,state:n}}return _i(0,t,n)}function Ji(e,t,n){return"channels.on_chain_tx"===t.method&&(n.onOnChainTx&&n.onOnChainTx(t.params.data),mi(e,"onChainTx",t.params.data.tx,{info:t.params.data.info,type:t.params.data.type}),n.resolve({accepted:!0,tx:t.params.data.tx})),_i(0,t,n)}function Zi(e,t,n){return"channels.update"===t.method?(wi(e,t.params.data.state),n.resolve({accepted:!0,signedTx:t.params.data.state}),{handler:Ri}):"channels.conflict"===t.method?(n.resolve({accepted:!1,errorCode:t.params.data.error_code,errorMessage:t.params.data.error_msg}),{handler:Ri}):"channels.info"===t.method&&"aborted_update"===t.params.data.event?(n.resolve({accepted:!1}),{handler:Ri}):_i(0,t,n)}function ec(e,t,n){return"channels.calls_pruned.reply"===t.method?(n.resolve(),{handler:Ri}):(n.reject(new oe("Unexpected message received")),{handler:tc})}function tc(e,t,n){return n?"closing"===t.params.data.event?{handler:tc,state:n}:"channel_closed"===t.params.data.info?(n.closeTx=t.params.data.tx,{handler:tc,state:n}):"closed_confirmed"===t.params.data.event?(n.resolve(n.closeTx),{handler:tc}):{handler:tc,state:n}:{handler:tc}}function nc(e){return Object.entries(e).reduce(((e,t)=>{let[n,r]=t;return{...e,[nt(n)]:r}}),{})}Ri.enter=e=>{yi(e,"open")};const rc=Es.compose({async init(e){await Ai(this,e.existingFsmId?Ni:Oi,Ri,e)},methods:{on:function(e,t){ai.get(this).on(e,t)},off:function(e,t){ai.get(this).removeListener(e,t)},status:function(){return ei.get(this)},state:async function(){return nc(await Ci(this,"channels.get.offchain_state",{}))},round:function(){if(!ti.get(this))return null;const{txType:e,tx:t}=ts(ti.get(this)).tx.encodedTx;switch(e){case Nr.channelCreate:return 1;case Nr.channelOffChain:case Nr.channelWithdraw:case Nr.channelDeposit:return parseInt(t.round,10);default:return null}},id:function(){return li.get(this)},fsmId:function(){return fi.get(this)},update:function(e,t,n,r,a){return new Promise(((s,o)=>{xi(this,((e,t)=>t.handler===Ri),((i,c)=>(bi(i,{jsonrpc:"2.0",method:"channels.update.new",params:{from:e,to:t,amount:n,meta:a}}),{handler:Di,state:{resolve:s,reject:o,sign:r}})))}))},poi:async function(e){let{accounts:t,contracts:n}=e;return(await Ci(this,"channels.get.poi",{accounts:t,contracts:n})).poi},balances:async function(e){return Object.fromEntries((await Ci(this,"channels.get.balances",{accounts:e})).map((e=>[e.account,e.balance])))},leave:function(){return new Promise(((e,t)=>{xi(this,((e,t)=>t.handler===Ri),((n,r)=>(bi(n,{jsonrpc:"2.0",method:"channels.leave",params:{}}),{handler:Hi,state:{resolve:e,reject:t}})))}))},shutdown:function(e){return new Promise(((t,n)=>{xi(this,((e,t)=>t.handler===Ri),((r,a)=>(bi(r,{jsonrpc:"2.0",method:"channels.shutdown",params:{}}),{handler:$i,state:{sign:e,resolve:t,reject:n}})))}))},sendMessage:function(e,t){let n=e;"object"==typeof e&&(n=JSON.stringify(e));const r=e=>bi(e,{jsonrpc:"2.0",method:"channels.message",params:{info:n,to:t}});if("connecting"===this.status()){const e=t=>{"connecting"!==t&&(setTimeout((()=>r(this)),500),this.off("statusChanged",e))};this.on("statusChanged",e)}else r(this)},withdraw:function(e,t){let{onOnChainTx:n,onOwnWithdrawLocked:r,onWithdrawLocked:a}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((s,o)=>{xi(this,((e,t)=>t.handler===Ri),((i,c)=>(bi(i,{jsonrpc:"2.0",method:"channels.withdraw",params:{amount:e}}),{handler:Ki,state:{sign:t,resolve:s,reject:o,onOnChainTx:n,onOwnWithdrawLocked:r,onWithdrawLocked:a}})))}))},deposit:function(e,t){let{onOnChainTx:n,onOwnDepositLocked:r,onDepositLocked:a}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((s,o)=>{xi(this,((e,t)=>t.handler===Ri),((i,c)=>(bi(i,{jsonrpc:"2.0",method:"channels.deposit",params:{amount:e}}),{handler:Li,state:{sign:t,resolve:s,reject:o,onOnChainTx:n,onOwnDepositLocked:r,onDepositLocked:a}})))}))},createContract:function(e,t){let{code:n,callData:r,deposit:a,vmVersion:s,abiVersion:o}=e;return new Promise(((e,i)=>{xi(this,((e,t)=>t.handler===Ri),((c,d)=>(bi(c,{jsonrpc:"2.0",method:"channels.update.new_contract",params:{code:n,call_data:r,deposit:a,vm_version:s,abi_version:o}}),{handler:Qi,state:{sign:t,resolve:e,reject:i}})))}))},callContract:function(e,t){let{amount:n,callData:r,contract:a,abiVersion:s}=e;return new Promise(((e,o)=>{xi(this,((e,t)=>t.handler===Ri),((i,c)=>(bi(i,{jsonrpc:"2.0",method:"channels.update.call_contract",params:{amount:n,call_data:r,contract_id:a,abi_version:s}}),{handler:Yi,state:{resolve:e,reject:o,sign:t}})))}))},callContractStatic:async function(e){let{amount:t,callData:n,contract:r,abiVersion:a}=e;return nc(await Ci(this,"channels.dry_run.call_contract",{amount:t,call_data:n,contract_id:r,abi_version:a}))},getContractCall:async function(e){let{caller:t,contract:n,round:r}=e;return nc(await Ci(this,"channels.get.contract_call",{caller_id:t,contract_id:n,round:r}))},getContractState:async function(e){const t=await Ci(this,"channels.get.contract",{pubkey:e});return nc({...t,contract:nc(t.contract)})},disconnect:function(){return Ei(this)},cleanContractCalls:function(){return new Promise(((e,t)=>{xi(this,((e,t)=>t.handler===Ri),((n,r)=>(bi(n,{jsonrpc:"2.0",method:"channels.clean_contract_calls",params:{}}),{handler:ec,state:{resolve:e,reject:t}})))}))},forceProgress:function(e,t){let{amount:n,callData:r,contract:a,abiVersion:s,gas:o=1e6,gasPrice:i=1e9,nonce:c}=e,{onOnChainTx:d}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((e,c)=>{xi(this,((e,t)=>t.handler===Ri),((l,u)=>(bi(l,{jsonrpc:"2.0",method:"channels.force_progress",params:{amount:n,call_data:r,contract_id:a,abi_version:s,gas_price:i,gas:o}}),{handler:Xi,state:{resolve:e,reject:c,sign:t,onOnChainTx:d}})))}))}},statics:{reconnect:async function(e,t){const{sign:n}=e;return rc({...e,reconnectTx:await n("reconnect",es(t,Nr.channelReconnect).tx)})}}}),ac=rc,sc=Ws.compose(co,Js,so,uo,go,Uo,bo),oc=bs()({init(e){let{pageConnection:t,extConnection:n,allowCrossOrigin:r=!1}=e;if(!window)throw new $("Window object not found, you can run bridge only in browser");if(!t)throw new M("pageConnection required");if(!n)throw new M("extConnection required");this.allowCrossOrigin=r,this.pageConnection=t,this.extConnection=n},methods:{run:function(){const e=this.allowCrossOrigin;this.extConnection.connect((e=>{this.pageConnection.sendMessage(e)})),this.pageConnection.connect(((t,n,r)=>{(e||r===window)&&this.extConnection.sendMessage(t)}))},stop:function(){this.extConnection.disconnect(),this.pageConnection.disconnect()}}}),ic=(0,xs.required)({methods:{connect:xs.required,disconnect:xs.required,sendMessage:xs.required,isConnected:xs.required}}),cc=()=>{const e="object"==typeof _o(!0).extension,t=window&&window.location&&window.location.protocol.startsWith("http");return e&&t?window:Oo()?window.parent:void 0},dc=bs()({init(){let{connectionInfo:e={},target:t=cc(),self:n=window,origin:r,sendDirection:a,receiveDirection:s=To.to_aepp,debug:o=!1,forceOrigin:i=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(a&&!Object.keys(To).includes(a))throw new Ze(`sendDirection must be one of [${Object.keys(To)}]`);if(!Object.keys(To).includes(s))throw new Ze(`receiveDirection must be one of [${Object.keys(To)}]`);this.connectionInfo={id:(0,qt.v4)(),...e};const c=n,d=t;this.origin=r,this.debug=o,this.forceOrigin=i,this.sendDirection=a,this.receiveDirection=s,this.subscribeFn=e=>c.addEventListener("message",e,!1),this.unsubscribeFn=e=>c.removeEventListener("message",e,!1),this.postFn=e=>d.postMessage(e,this.origin||"*")},methods:{connect:function(e){const t=this.origin,n=this.receiveDirection,r=this.debug,a=this.forceOrigin;if(this.listener)throw new Je("You already connected");this.listener=(s,o)=>{if(s&&"object"==typeof s.data&&(a||!t||t===s.origin))if(r&&console.log("Receive message: ",s),s.data.type){if(s.data.type!==n)return;e(s.data.data,s.origin,s.source)}else e(s.data,s.origin,s.source)},this.subscribeFn(this.listener)},sendMessage:function(e){const t=this.sendDirection?{type:this.sendDirection,data:e}:e;this.debug&&console.log("Send message: ",t),this.postFn(t)},disconnect:function(){if(!this.listener)throw new et("You dont have connection. Please connect before");this.unsubscribeFn(this.listener),this.listener=null},isConnected:function(){return this.listener}}},ic),lc=bs()({init(){let{connection:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!window)throw new $("Window object not found, you can run wallet detector only in browser");this.connection=e||dc({connectionInfo:{id:"spy"}}),this.wallets={}},methods:{scan(e){const{wallets:t}=this;this.connection.connect(((n,r,a)=>{let{method:s,params:o}=n;if(!s||!o||s!==Eo.readyToConnect||t[o.id])return;const i={...o,async getConnection(){const e="extension"===this.type,t=e?window.origin:this.origin;return dc({connectionInfo:this,sendDirection:e?To.to_waellet:void 0,receiveDirection:e?To.to_aepp:void 0,target:a,origin:t})}};t[i.id]=i,e({wallets:t,newWallet:i})})),Object.keys(t).length&&e({wallets:t})},stopScan(){this.connection.disconnect()}}}),uc=bs()({init(e){let{connectionInfo:t={},port:n,debug:r=!1}=e;if(!_o().runtime)throw new tt("Runtime is not accessible in your environment");this.debug=r,this.connectionInfo=t,this.port=n||_o().runtime.connect(t.id||void 0)},methods:{connect:function(e,t){if(this.isConnected())throw new Je("You already connected");this.handler=(t,n)=>{this.debug&&console.log("Receive message: ",t),e(t,n)},this.port.onMessage.addListener(this.handler),this.port.onDisconnect.addListener((()=>{"function"==typeof t&&t({},this),this.port.disconnect()}))},sendMessage:function(e){if(!this.port)throw new et("You dont have connection. Please connect before");this.debug&&console.log("Send message: ",e),this.port.postMessage(e)},disconnect:function(){try{this.port.disconnect()}catch(e){console.warning("From BrowserRuntimeConnection: ",e)}},isConnected:function(){return"function"==typeof this.port.onMessage.hasListeners?this.port.onMessage.hasListeners():this.port.onMessage.hasListener(this.handler)}}},ic),hc=Qn})(),T})()}));
|
|
2
2
|
//# sourceMappingURL=aepp-sdk.js.map
|