@wowok/wowok 2.3.16 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/{arb-DqRR5FTf.mjs → arb-pFcb4ftp.mjs} +1 -1
- package/dist/esm/{base-BaV8tCMN.mjs → base-BdlWCNje.mjs} +1 -1
- package/dist/esm/bcs/index.d.mts +1 -1
- package/dist/esm/call-Cf74XogX.mjs +1 -0
- package/dist/esm/client/index.d.mts +2 -2
- package/dist/esm/client/index.mjs +1 -1
- package/dist/esm/client-CcSxA1Tm.mjs +1 -0
- package/dist/esm/{common-5hE5A-jb.mjs → common-D8TcHVCJ.mjs} +1 -1
- package/dist/esm/{config-Bdlw4pMJ.d.mts → config-CPqpYYLT.d.mts} +6 -1
- package/dist/esm/cryptography/index.d.mts +1 -1
- package/dist/esm/{evm-account-DMl7wn2f.d.mts → evm-account-B1-nzcbY.d.mts} +135 -20
- package/dist/esm/exception-CkI_xPvd.mjs +1 -0
- package/dist/esm/graphql/index.d.mts +1 -1
- package/dist/esm/graphql/index.mjs +1 -1
- package/dist/esm/{graphql-ruyEDFAJ.mjs → graphql-Ccoor2f6.mjs} +1 -1
- package/dist/esm/grpc/index.d.mts +1 -1
- package/dist/esm/grpc/index.mjs +1 -1
- package/dist/esm/{grpc-oOvPQrN2.mjs → grpc-33XsFGKx.mjs} +1 -1
- package/dist/esm/{index-Cj4KHtbw.d.mts → index-B8BZSNzI.d.mts} +6 -6
- package/dist/esm/{index-Dg2FVWSm.d.mts → index-C-WBdTM5.d.mts} +290 -23
- package/dist/esm/index.d.mts +9 -9
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/jsonRpc/index.d.mts +1 -1
- package/dist/esm/jsonRpc/index.mjs +1 -1
- package/dist/esm/keypairs/ed25519/index.d.mts +1 -1
- package/dist/esm/keypairs/falcon512/index.d.mts +1 -1
- package/dist/esm/keypairs/passkey/index.d.mts +1 -1
- package/dist/esm/keypairs/secp256k1/index.d.mts +1 -1
- package/dist/esm/keypairs/secp256r1/index.d.mts +1 -1
- package/dist/esm/{local-CtSmnSPu.d.mts → local-CnxBimye.d.mts} +12 -3
- package/dist/esm/logger-Cs5Mf7Mf.mjs +1 -0
- package/dist/esm/messenger-CkRQcNzs.mjs +1 -0
- package/dist/esm/messenger-api-B9NB9Byo.mjs +1 -0
- package/dist/esm/multisig/index.d.mts +1 -1
- package/dist/esm/multisig/index.mjs +1 -1
- package/dist/esm/network-CeDd07Hg.mjs +1 -1
- package/dist/esm/{networks-DjNV6z1E.d.mts → networks-Cab2UR8C.d.mts} +5 -0
- package/dist/esm/{object-Dk20SVoh.mjs → object-D5C_RkYD.mjs} +1 -1
- package/dist/esm/passkey-CS2Qexll.mjs +1 -1
- package/dist/esm/{proof-CYzFLG3W.mjs → proof-BR6cbbRo.mjs} +1 -1
- package/dist/esm/publickey-5xoCmE9g.mjs +1 -1
- package/dist/esm/publickey-BzPz9Uwr.mjs +1 -1
- package/dist/esm/publickey-C9TocS69.mjs +1 -1
- package/dist/esm/publickey-CQWQyM6S.mjs +1 -1
- package/dist/esm/publickey-CvCDfw_N.mjs +1 -1
- package/dist/esm/publickey-DhiTZPiB.mjs +1 -1
- package/dist/esm/{query-KyXahKV2.mjs → query-CoCibg2q.mjs} +1 -1
- package/dist/esm/{received-UkU0DIQD.mjs → received-H24viThJ.mjs} +1 -1
- package/dist/esm/secp256k1-DhrvBMbI.mjs +1 -1
- package/dist/esm/secp256r1-BCaQWLGZ.mjs +1 -1
- package/dist/esm/{secure-storage-Dkh4Oioi.d.mts → secure-storage-D4X3f-9t.d.mts} +29 -6
- package/dist/esm/{service-Dk_yUxg1.mjs → service-NZ-TLNHV.mjs} +1 -1
- package/dist/esm/{storage-0OmomSuj.d.mts → storage-D6ZEdlgz.d.mts} +4 -0
- package/dist/esm/storage-UnD4qWaK.mjs +1 -0
- package/dist/esm/transactions/index.d.mts +1 -1
- package/dist/esm/transactions/index.mjs +1 -1
- package/dist/esm/transactions-CkMcWBKS.mjs +1 -1
- package/dist/esm/util-DWhWaV7w.mjs +1 -0
- package/dist/esm/utils/index.mjs +1 -1
- package/dist/esm/utils-npJYSbqk.mjs +1 -1
- package/dist/esm/verify/index.d.mts +1 -1
- package/dist/esm/verify/index.mjs +1 -1
- package/dist/esm/w/call/allocation.d.mts +1 -1
- package/dist/esm/w/call/allocation.mjs +1 -1
- package/dist/esm/w/call/arbitration.d.mts +1 -1
- package/dist/esm/w/call/arbitration.mjs +1 -1
- package/dist/esm/w/call/base.d.mts +1 -1
- package/dist/esm/w/call/base.mjs +1 -1
- package/dist/esm/w/call/demand.d.mts +1 -1
- package/dist/esm/w/call/demand.mjs +1 -1
- package/dist/esm/w/call/guard.d.mts +2 -2
- package/dist/esm/w/call/guard.mjs +1 -1
- package/dist/esm/w/call/index.d.mts +2 -2
- package/dist/esm/w/call/index.mjs +1 -1
- package/dist/esm/w/call/machine.d.mts +1 -1
- package/dist/esm/w/call/machine.mjs +1 -1
- package/dist/esm/w/call/passport.d.mts +1 -1
- package/dist/esm/w/call/passport.mjs +1 -1
- package/dist/esm/w/call/payment.d.mts +1 -1
- package/dist/esm/w/call/payment.mjs +1 -1
- package/dist/esm/w/call/permission.d.mts +1 -1
- package/dist/esm/w/call/permission.mjs +1 -1
- package/dist/esm/w/call/progress.d.mts +1 -1
- package/dist/esm/w/call/progress.mjs +1 -1
- package/dist/esm/w/call/repository.d.mts +1 -1
- package/dist/esm/w/call/repository.mjs +1 -1
- package/dist/esm/w/call/reward.d.mts +2 -2
- package/dist/esm/w/call/reward.mjs +1 -1
- package/dist/esm/w/call/service.d.mts +1 -1
- package/dist/esm/w/call/service.mjs +1 -1
- package/dist/esm/w/call/treasury.d.mts +1 -1
- package/dist/esm/w/call/treasury.mjs +1 -1
- package/dist/esm/w/common.d.mts +1 -1
- package/dist/esm/w/common.mjs +1 -1
- package/dist/esm/w/index.d.mts +8 -8
- package/dist/esm/w/index.mjs +1 -1
- package/dist/esm/w/local/account.d.mts +2 -2
- package/dist/esm/w/local/account.mjs +1 -1
- package/dist/esm/w/local/cache.mjs +1 -1
- package/dist/esm/w/local/config.d.mts +1 -1
- package/dist/esm/w/local/config.mjs +1 -1
- package/dist/esm/w/local/evm/networks.d.mts +1 -1
- package/dist/esm/w/local/evm/networks.mjs +1 -1
- package/dist/esm/w/local/evm-account.d.mts +2 -2
- package/dist/esm/w/local/evm-account.mjs +1 -1
- package/dist/esm/w/local/index.d.mts +8 -8
- package/dist/esm/w/local/index.mjs +1 -1
- package/dist/esm/w/local/local.d.mts +1 -1
- package/dist/esm/w/local/local.mjs +1 -1
- package/dist/esm/w/local/secure-storage.d.mts +1 -1
- package/dist/esm/w/local/secure-storage.mjs +1 -1
- package/dist/esm/w/local/storage.d.mts +1 -1
- package/dist/esm/w/local/storage.mjs +1 -1
- package/dist/esm/w/local/token.d.mts +1 -1
- package/dist/esm/w/local/token.mjs +1 -1
- package/dist/esm/w/local/util.mjs +1 -1
- package/dist/esm/w/local/wip.mjs +1 -1
- package/dist/esm/w/messenger/index.d.mts +1 -1
- package/dist/esm/w/messenger/index.mjs +1 -1
- package/dist/esm/w/messenger/messenger-api.d.mts +1 -1
- package/dist/esm/w/messenger/messenger-api.mjs +1 -1
- package/dist/esm/w/messenger/messenger.d.mts +1 -1
- package/dist/esm/w/messenger/messenger.mjs +1 -1
- package/dist/esm/w/messenger/pq/crypto.mjs +1 -1
- package/dist/esm/w/messenger/storage.d.mts +1 -1
- package/dist/esm/w/messenger/storage.mjs +1 -1
- package/dist/esm/w/messenger/types.d.mts +1 -1
- package/dist/esm/w/query/index.d.mts +1 -1
- package/dist/esm/w/query/index.mjs +1 -1
- package/dist/esm/w/query/object.d.mts +1 -1
- package/dist/esm/w/query/object.mjs +1 -1
- package/dist/esm/w-GXPhQ_II.mjs +1 -0
- package/package.json +1 -1
- package/dist/esm/call-DxZ8joBg.mjs +0 -1
- package/dist/esm/client-BclB95bx.mjs +0 -1
- package/dist/esm/exception--UEPnygY.mjs +0 -1
- package/dist/esm/messenger-2hLfhXrY.mjs +0 -1
- package/dist/esm/messenger-api-Bw07tHXw.mjs +0 -1
- package/dist/esm/util-B0nM8Wvi.mjs +0 -1
- package/dist/esm/w-M-SrRB3j.mjs +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { $d as
|
|
1
|
+
import { $d as ServiceSale, $f as raw2type, $u as DiscountType, Ad as ObjectProof, Af as getObjectTypeFromNumber, Bd as PersonalQuery, Bf as queryTableItem_EntityRegistrar, Cd as ObjectMachine, Cf as getMoveNameFromObjectType, Dd as ObjectPermission, Df as getObjectTypeDefinition, Ed as ObjectPayment, Ef as getNumbersFromObjectTypes, Fd as ObjectTreasury, Ff as objectTypeToNumber, Gd as PurchasedItem, Gf as queryTableItem_RewardRecord, Gu as Amount, Hd as PolicyWriteGuard, Hf as queryTableItem_PermissionPerm, Hu as AllocationSharing, Id as ObjectTypeDefinition, If as parseIdFrom, Jd as QueryTableItem_byNameAddress, Jf as query_objects_json, Ju as AmountType, Kd as QueryTableItem_Entity, Kf as queryTableItem_TreasuryHistory, Ku as AmountFromDepositGuard, Ld as ObjectsAnswer, Lf as queryTableItem_AddressMark, Md as ObjectResource, Mf as idFromToString, Nd as ObjectReward, Nf as isValidIdFromInput, Od as ObjectPersonal, Of as getObjectTypeDefinitionFromNumber, Pd as ObjectService, Pf as numberToObjectType, Qd as ServiceGuard, Qf as query_table_json, Qu as ArbVoted, Rd as ObjectsQuery, Rf as queryTableItem_DemandPresenter, Sd as ObjectGuard, Sf as getMoveNameFromNumber, Td as ObjectPassport, Tf as getNumberFromObjectType, Ud as ProgressSession, Uf as queryTableItem_ProgressHistory, Uu as Allocator, Vd as PolicyRule, Vf as queryTableItem_MachineNode, Vu as AllocationMode, Wd as ProgressSessionHolder, Wf as queryTableItem_RepositoryData, Wu as Allocators, Xd as QueryTableItem_byU64, Xf as query_table, Xu as ArbProposition, Yd as QueryTableItem_byString, Yf as query_personal, Yu as ArbIndemnity, Zd as RewardGuard, Zf as query_tableItem, Zu as ArbStatus, _d as ObjectDemand, _f as VotingGuard, ad as MAX_OBJECTS_PER_QUERY, af as TableItem_EntityLinker, bd as ObjectEntityLinker, bf as WitnessTargetType, cd as MachineNode, cf as TableItem_PermissionPerm, dd as OBJECT_TYPE_DEFINITIONS, df as TableItem_RewardRecord, ed as GuardInPassport, ef as TableAnswer, fd as ObjectAllocation, ff as TableItem_TreasuryHistory, gd as ObjectContact, gf as VoteWeight, hd as ObjectBase, hf as TreasuryRecord, id as Im, if as TableItem_DemandPresenter, jd as ObjectRepository, jf as getObjectTypesFromNumbers, kd as ObjectProgress, kf as getObjectTypeFromMoveName, ld as MachineNodePair, lf as TableItem_ProgressHistory, md as ObjectArbitration, mf as TreasuryOp, mg as ObjectType, nd as IdFrom, nf as TableItemQuery, od as MachineForward, of as TableItem_EntityRegistrar, pd as ObjectArb, pf as TableQuery, qd as QueryTableItem_byAddress, qf as query_objects, qu as AmountFromWithdrawGuard, rd as IdFromInput, rf as TableItem_AddressMark, sd as MachineForwardGuard, sf as TableItem_MachineNode, td as GuardSubmission, tf as TableAnswerItem, ud as NamedOperator, uf as TableItem_RepositoryData, vd as ObjectDiscount, vf as WReceivedObject, wd as ObjectOrder, wf as getNumberFromMoveName, xd as ObjectEntityRegistrar, xf as data2object, yd as ObjectEntity, yf as WitnessSourceType, zd as PaymentInfo, zf as queryTableItem_EntityLinker } from "../../index-C-WBdTM5.mjs";
|
|
2
2
|
export { AllocationMode, AllocationSharing, Allocator, Allocators, Amount, AmountFromDepositGuard, AmountFromWithdrawGuard, AmountType, ArbIndemnity, ArbProposition, ArbStatus, ArbVoted, DiscountType, GuardInPassport, GuardSubmission, IdFrom, IdFromInput, Im, MAX_OBJECTS_PER_QUERY, MachineForward, MachineForwardGuard, MachineNode, MachineNodePair, NamedOperator, OBJECT_TYPE_DEFINITIONS, ObjectAllocation, ObjectArb, ObjectArbitration, ObjectBase, ObjectContact, ObjectDemand, ObjectDiscount, ObjectEntity, ObjectEntityLinker, ObjectEntityRegistrar, ObjectGuard, ObjectMachine, ObjectOrder, ObjectPassport, ObjectPayment, ObjectPermission, ObjectPersonal, ObjectProgress, ObjectProof, ObjectRepository, ObjectResource, ObjectReward, ObjectService, ObjectTreasury, ObjectType, ObjectTypeDefinition, ObjectsAnswer, ObjectsQuery, PaymentInfo, PersonalQuery, PolicyRule, PolicyWriteGuard, ProgressSession, ProgressSessionHolder, PurchasedItem, QueryTableItem_Entity, QueryTableItem_byAddress, QueryTableItem_byNameAddress, QueryTableItem_byString, QueryTableItem_byU64, RewardGuard, ServiceGuard, ServiceSale, TableAnswer, TableAnswerItem, TableItemQuery, TableItem_AddressMark, TableItem_DemandPresenter, TableItem_EntityLinker, TableItem_EntityRegistrar, TableItem_MachineNode, TableItem_PermissionPerm, TableItem_ProgressHistory, TableItem_RepositoryData, TableItem_RewardRecord, TableItem_TreasuryHistory, TableQuery, TreasuryOp, TreasuryRecord, VoteWeight, VotingGuard, WReceivedObject, WitnessSourceType, WitnessTargetType, data2object, getMoveNameFromNumber, getMoveNameFromObjectType, getNumberFromMoveName, getNumberFromObjectType, getNumbersFromObjectTypes, getObjectTypeDefinition, getObjectTypeDefinitionFromNumber, getObjectTypeFromMoveName, getObjectTypeFromNumber, getObjectTypesFromNumbers, idFromToString, isValidIdFromInput, numberToObjectType, objectTypeToNumber, parseIdFrom, queryTableItem_AddressMark, queryTableItem_DemandPresenter, queryTableItem_EntityLinker, queryTableItem_EntityRegistrar, queryTableItem_MachineNode, queryTableItem_PermissionPerm, queryTableItem_ProgressHistory, queryTableItem_RepositoryData, queryTableItem_RewardRecord, queryTableItem_TreasuryHistory, query_objects, query_objects_json, query_personal, query_table, query_tableItem, query_table_json, raw2type };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{E as
|
|
1
|
+
import{E as a105a}from'../../common-D8TcHVCJ.mjs';import{A as a105b,B as a105c,C as a105d,D as a105e,E as a105f,F as a105g,H as a105h,I as a105i,L as a105j,M as a105k,N as a105l,O as a105m,P as a105n,R as a105o,S as a105p,T as a105q,U as a105r,V as a105s,_ as a105t,a as a105u,b as a105v,c as a105w,d as a105x,f as a105y,g as a105z,h as a105A,i as a105B,j as a105C,k as a105D,l as a105E,m as a105F,n as a105G,o as a105H,p as a105I,r as a105J,s as a105K,t as a105L,u as a105M,v as a105N,w as a105O,x as a105P,y as a105Q,z as a105R}from'../../object-D5C_RkYD.mjs';export{a105L as AllocationMode,a105G as AmountType,a105J as ArbStatus,a105B as DiscountType,a105u as IdFrom,a105H as MAX_OBJECTS_PER_QUERY,a105K as OBJECT_TYPE_DEFINITIONS,a105a as ObjectType,a105w as TreasuryOp,a105E as WitnessSourceType,a105M as WitnessTargetType,a105x as data2object,a105y as getMoveNameFromNumber,a105I as getMoveNameFromObjectType,a105F as getNumberFromMoveName,a105A as getNumberFromObjectType,a105z as getNumbersFromObjectTypes,a105t as getObjectTypeDefinition,a105N as getObjectTypeDefinitionFromNumber,a105Q as getObjectTypeFromMoveName,a105v as getObjectTypeFromNumber,a105P as getObjectTypesFromNumbers,a105p as idFromToString,a105d as isValidIdFromInput,a105O as numberToObjectType,a105q as objectTypeToNumber,a105f as parseIdFrom,a105e as queryTableItem_AddressMark,a105m as queryTableItem_DemandPresenter,a105D as queryTableItem_EntityLinker,a105b as queryTableItem_EntityRegistrar,a105C as queryTableItem_MachineNode,a105k as queryTableItem_PermissionPerm,a105l as queryTableItem_ProgressHistory,a105n as queryTableItem_RepositoryData,a105g as queryTableItem_RewardRecord,a105i as queryTableItem_TreasuryHistory,a105j as query_objects,a105o as query_objects_json,a105R as query_personal,a105c as query_table,a105s as query_tableItem,a105h as query_table_json,a105r as raw2type};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as a106a}from'./client-CcSxA1Tm.mjs';import{t as a106b}from'./Transaction-CzqJDezj.mjs';import{n as a106c}from'./network-CeDd07Hg.mjs';import{o as a106d}from'./exception-CkI_xPvd.mjs';import{r as a106e,u as a106f}from'./storage-UnD4qWaK.mjs';import{Config}from'./w/local/config.mjs';import{r as a106g}from'./logger-Cs5Mf7Mf.mjs';import{Account}from'./w/local/account.mjs';import{bigIntToBytes,bytesToHex,hexToBytes as a106h}from'./w/local/evm/rlp.mjs';import{registerBridgeEvmNetworks}from'./w/local/evm/networks.mjs';import{EvmAccount}from'./w/local/evm-account.mjs';import{d as a106i,i as a106j,o as a106k,s as a106l}from'./query-CoCibg2q.mjs';import{keccak_256}from'@noble/hashes/sha3.js';const BRIDGE_ETH_V2_SIG='bridgeETHV2(bytes,uint8)',BRIDGE_ETH_V2_SELECTOR='b4b7068c',BRIDGE_ETH_V1_SELECTOR='9449ebd2',BRIDGE_ERC20_V1_SELECTOR='212afaff',BRIDGE_ERC20_V2_SIG='bridgeERC20V2(uint8,uint256,bytes,uint8)',BRIDGE_ERC20_V2_SELECTOR='0bdba58b',TRANSFER_BRIDGED_V2_SIG='transferBridgedTokensWithSignaturesV2(bytes[],(uint8,uint8,uint64,uint8,bytes))',TRANSFER_BRIDGED_V2_SELECTOR='9c3ecefb',TRANSFER_BRIDGED_V1_SIG='transferBridgedTokensWithSignatures(bytes[],(uint8,uint8,uint64,uint8,bytes))',APPROVE_SIG='approve(address,uint256)',APPROVE_SELECTOR='095ea7b3',WORD_SIZE=0x20;function uintWord(a){const b=bigIntToBytes(BigInt(a)),c=new Uint8Array(WORD_SIZE);return c['set'](b,WORD_SIZE-b['length']),c;}function addressWord(a){const b=a106h(a['startsWith']('0x')?a['slice'](0x2):a);if(b['length']!==0x14)throw new Error('Invalid\x20EVM\x20address\x20length:\x20'+a);const c=new Uint8Array(WORD_SIZE);return c['set'](b,WORD_SIZE-0x14),c;}function padToWord(a){const b=a['length']%WORD_SIZE;if(b===0x0)return a;const c=new Uint8Array(a['length']+WORD_SIZE-b);return c['set'](a,0x0),c;}function concat(...b){const c=b['reduce']((f,g)=>f+g['length'],0x0),d=new Uint8Array(c);let e=0x0;for(const f of b){d['set'](f,e),e+=f['length'];}return d;}function encodeBytes(a){return concat(uintWord(BigInt(a['length'])),padToWord(a));}function computeSelector(a){return bytesToHex(keccak_256(new TextEncoder()['encode'](a))['slice'](0x0,0x4));}function computeEventTopic(a){return'0x'+bytesToHex(keccak_256(new TextEncoder()['encode'](a)));}function encodeBridgeETHV2(a,b){const c=a106h(a['startsWith']('0x')?a['slice'](0x2):a);if(c['length']!==0x20)throw new Error('Recipient\x20address\x20must\x20be\x2032\x20bytes,\x20got\x20'+c['length']);const d=uintWord(0x40n),e=uintWord(b),f=encodeBytes(c);return'0x'+bytesToHex(concat(a106h(BRIDGE_ETH_V2_SELECTOR),d,e,f));}function encodeBridgeETH(a,b){const c=a106h(a['startsWith']('0x')?a['slice'](0x2):a);if(c['length']!==0x20)throw new Error('Recipient\x20address\x20must\x20be\x2032\x20bytes,\x20got\x20'+c['length']);const d=uintWord(0x40n),e=uintWord(b),f=encodeBytes(c);return'0x'+bytesToHex(concat(a106h(BRIDGE_ETH_V1_SELECTOR),d,e,f));}function encodeBridgeERC20V2(a,b,c,d){const e=a106h(c['startsWith']('0x')?c['slice'](0x2):c);if(e['length']!==0x20)throw new Error('Recipient\x20address\x20must\x20be\x2032\x20bytes');const f=uintWord(0x80n),g=encodeBytes(e);return'0x'+bytesToHex(concat(a106h(BRIDGE_ERC20_V2_SELECTOR),uintWord(a),uintWord(b),f,uintWord(d),g));}function encodeBridgeERC20(a,b,c,d){const e=a106h(c['startsWith']('0x')?c['slice'](0x2):c);if(e['length']!==0x20)throw new Error('Recipient\x20address\x20must\x20be\x2032\x20bytes');const f=uintWord(0x80n),g=encodeBytes(e);return'0x'+bytesToHex(concat(a106h(BRIDGE_ERC20_V1_SELECTOR),uintWord(a),uintWord(b),f,uintWord(d),g));}function encodeMessage(a){return concat(uintWord(a['messageType']),uintWord(a['version']),uintWord(a['nonce']),uintWord(a['chainID']),uintWord(0xa0n),encodeBytes(a['payload']));}function encodeBytesArray(a){const b=a['length'],c=b*0x20,d=[];let e=0x0n;for(const g of a){d['push'](BigInt(c)+e),e+=BigInt(0x20+Math['ceil'](g['length']/0x20)*0x20);}const f=[uintWord(BigInt(b))];for(const h of d)f['push'](uintWord(h));for(const i of a)f['push'](encodeBytes(i));return concat(...f);}function encodeTransferBridgedTokensWithSignatures(a,b,c=!![]){const d=c?TRANSFER_BRIDGED_V2_SELECTOR:computeSelector(TRANSFER_BRIDGED_V1_SIG),e=encodeBytesArray(a),f=encodeMessage(b),g=uintWord(0x40n),h=uintWord(BigInt(0x40+e['length']));return'0x'+bytesToHex(concat(a106h(d),g,h,e,f));}function encodeApprove(a,b){return'0x'+bytesToHex(concat(a106h(APPROVE_SELECTOR),addressWord(a),uintWord(b)));}function encodeTokenTransferPayloadV2(a){const {senderAddress:b,targetChain:c,recipientAddress:d,tokenID:e,amount:f,timestampMs:g}=a;if(b['length']!==0x20)throw new Error('senderAddress\x20must\x20be\x2032\x20bytes');if(d['length']!==0x14)throw new Error('recipientAddress\x20must\x20be\x2020\x20bytes');const h=new Uint8Array(0x48);let i=0x0;h[i++]=0x20,h['set'](b,i),i+=0x20,h[i++]=c,h[i++]=0x14,h['set'](d,i),i+=0x14,h[i++]=e;const j=bigIntToBytes(f);h['set'](j,i+0x8-j['length']),i+=0x8;const k=bigIntToBytes(g);return h['set'](k,i+0x8-k['length']),h;}function verifySelectors(){const a=[[BRIDGE_ETH_V2_SIG,BRIDGE_ETH_V2_SELECTOR],[BRIDGE_ERC20_V2_SIG,BRIDGE_ERC20_V2_SELECTOR],[TRANSFER_BRIDGED_V2_SIG,TRANSFER_BRIDGED_V2_SELECTOR],[APPROVE_SIG,APPROVE_SELECTOR]];for(const [b,c]of a){const d=computeSelector(b);if(d!==c)throw new Error('ABI\x20selector\x20mismatch\x20for\x20'+b+':\x20expected\x20'+c+',\x20got\x20'+d);}}verifySelectors();const TOKENS_DEPOSITED_V2_TOPIC=computeEventTopic('TokensDepositedV2(uint8,uint64,uint8,uint8,uint64,address,bytes,uint256)'),TOKENS_DEPOSITED_TOPIC=computeEventTopic('TokensDeposited(uint8,uint64,uint8,uint8,uint64,address,bytes)'),TOKENS_CLAIMED_TOPIC=computeEventTopic('TokensClaimed(uint8,uint64,uint8,uint8,uint64,address,bytes)'),ERC20_TRANSFER_TOPIC=computeEventTopic('Transfer(address,address,uint256)');async function depositEth(a,b){try{const c=b['destinationChainId']??0x0,d=b['version']!=='v1'?encodeBridgeETHV2(b['recipientWowAddress'],c):encodeBridgeETH(b['recipientWowAddress'],c),f={'to':b['bridgeProxyAddress'],'value':a,'data':d,'network':b['network'],'rpcUrl':b['rpcUrl'],'gasLimit':0x3d090n},g=EvmAccount['Instance']();await g['active']();const h=await g['sign_and_send'](f,b['rpcUrl']);if(h['status']!=='0x1')return{'success':![],'error':{'code':'REVERTED','message':'ETH\x20deposit\x20transaction\x20reverted','revertReason':'txHash:\x20'+h['transactionHash']}};return{'success':!![],'txHash':h['transactionHash']};}catch(i){return{'success':![],'error':{'code':'UNKNOWN','message':'ETH\x20deposit\x20failed:\x20'+(i?.['message']??String(i)),'raw':i}};}}async function depositErc20(a,b){try{const c=EvmAccount['Instance']();await c['active']();const d=b['destinationChainId']??0x0,f={'to':b['tokenAddress'],'data':encodeApprove(b['bridgeProxyAddress'],a),'network':b['network'],'rpcUrl':b['rpcUrl']},g=await c['sign_and_send'](f,b['rpcUrl']);if(g['status']!=='0x1')return{'success':![],'error':{'code':'REVERTED','message':'ERC20\x20approve\x20reverted','revertReason':'txHash:\x20'+g['transactionHash']}};const h=b['version']!=='v1'?encodeBridgeERC20V2(b['tokenId'],a,b['recipientWowAddress'],d):encodeBridgeERC20(b['tokenId'],a,b['recipientWowAddress'],d),i={'to':b['bridgeProxyAddress'],'value':0x0n,'data':h,'network':b['network'],'rpcUrl':b['rpcUrl']},j=await c['sign_and_send'](i,b['rpcUrl']);if(j['status']!=='0x1')return{'success':![],'error':{'code':'REVERTED','message':'ERC20\x20deposit\x20transaction\x20reverted','revertReason':'txHash:\x20'+j['transactionHash']}};return{'success':!![],'txHash':j['transactionHash']};}catch(k){return{'success':![],'error':{'code':'UNKNOWN','message':'ERC20\x20deposit\x20failed:\x20'+(k?.['message']??String(k)),'raw':k}};}}async function depositFromEth(a,b){if(a['tokenAddress']){if(a['tokenId']===void 0x0)return{'success':![],'error':{'code':'INVALID_PARAM','message':'tokenId\x20is\x20required\x20for\x20ERC20\x20deposit'}};return depositErc20(a['amount'],{...b,'tokenAddress':a['tokenAddress'],'tokenId':a['tokenId']});}return depositEth(a['amount'],b);}function buildClaimMessage(a){const b=encodeTokenTransferPayloadV2({'senderAddress':a['senderAddress'],'targetChain':a['targetChain'],'recipientAddress':a['recipientAddress'],'tokenID':a['tokenId'],'amount':a['amount'],'timestampMs':a['timestampMs']});return{'messageType':a['messageType'],'version':a['version'],'nonce':a['nonce'],'chainID':a['sourceChain'],'payload':b};}function signaturesToBytes(a){return a['map'](b=>{const c=a106h(b['signature']['startsWith']('0x')?b['signature']['slice'](0x2):b['signature']);if(c['length']!==0x41)throw new Error('Invalid\x20signature\x20length:\x20'+c['length']+'\x20(expected\x2065)');return c;});}async function claimOnEth(a,b){try{const c=b['useV2']??!![];let d=await b['nodeClient']['signWowToEth'](a['wowTxDigest'],a['eventIndex']);d['length']===0x0&&(console['warn']('tx_digest\x20路径未收集到签名,回退到\x20seq\x20路径:',a['message']['chainID'],a['message']['messageType'],a['message']['nonce']),d=await b['nodeClient']['signWowTokenTransfer'](a['message']['chainID'],a['message']['messageType'],a['message']['nonce']));if(d['length']===0x0)return{'success':![],'error':{'code':'NO_SIGNATURES','message':buildNoSignaturesMessage(a['message']['chainID'],a['message']['messageType'],a['message']['nonce'])}};const f=d[0x0]['action']?messageFromActionData(d[0x0]['action'],a['message']):a['message'],g=encodeTransferBridgedTokensWithSignatures(signaturesToBytes(d),f,c),h={'to':b['bridgeProxyAddress'],'value':0x0n,'data':g,'network':b['network'],'rpcUrl':b['rpcUrl']},i=EvmAccount['Instance']();await i['active']();const j=await i['sign_and_send'](h,b['rpcUrl']);if(j['status']!=='0x1')return{'success':![],'error':{'code':'REVERTED','message':'ETH\x20claim\x20transaction\x20reverted','revertReason':'txHash:\x20'+j['transactionHash']}};return{'success':!![],'txHash':j['transactionHash']};}catch(k){return wrapBridgeError(k,'UNKNOWN','ETH\x20claim\x20failed');}}function bridgeChainNameToId(a){switch(a){case'WowMainnet':return 0x0;case'EthMainnet':return 0xa;default:throw new Error('Unknown\x20bridge\x20chain\x20name:\x20'+a);}}function messageFromActionData(a,b){if(!a||typeof a!=='object')return b;const c=a;if(c['WowToEthTokenTransferV2']){const d=c['WowToEthTokenTransferV2'],e=d['wow_address']['startsWith']('0x')?d['wow_address']['slice'](0x2):d['wow_address'],f=d['eth_address']['startsWith']('0x')?d['eth_address']['slice'](0x2):d['eth_address'],g=a106h(e),h=a106h(f),i=encodeTokenTransferPayloadV2({'senderAddress':g,'targetChain':bridgeChainNameToId(d['eth_chain_id']),'recipientAddress':h,'tokenID':d['token_id'],'amount':BigInt(d['amount_adjusted']),'timestampMs':BigInt(d['timestamp_ms'])});return{'messageType':0x0,'version':0x2,'nonce':BigInt(d['nonce']),'chainID':bridgeChainNameToId(d['wow_chain_id']),'payload':i};}return console['warn']('[claimOnEthBySeq]\x20Unknown\x20action\x20data\x20type,\x20falling\x20back\x20to\x20local\x20message:',Object['keys'](c)),b;}async function claimOnEthBySeq(a,b){try{const c=b['useV2']??!![],d=await b['nodeClient']['signWowTokenTransfer'](a['sourceChain'],a['messageType'],a['seqNum']);if(d['length']===0x0)return{'success':![],'error':{'code':'NO_SIGNATURES','message':buildNoSignaturesMessage(a['sourceChain'],a['messageType'],a['seqNum'])}};const f=d[0x0]['action']?messageFromActionData(d[0x0]['action'],a['message']):a['message'],g=encodeTransferBridgedTokensWithSignatures(signaturesToBytes(d),f,c),h={'to':b['bridgeProxyAddress'],'value':0x0n,'data':g,'network':b['network'],'rpcUrl':b['rpcUrl']},i=EvmAccount['Instance']();await i['active']();let j;try{await i['ethCall'](h);}catch(l){const m=l?.['message']??String(l);if(m['includes']('execution\x20reverted')||m['includes']('reverted\x20with\x20reason'))j=m;else console['warn']('\x20\x20[claimOnEthBySeq]\x20eth_call\x20warning\x20(skipped):',m['slice'](0x0,0x78));}if(j)return{'success':![],'error':{'code':'REVERTED','message':'ETH\x20claim\x20reverted','revertReason':j}};const k=await i['sign_and_send'](h,b['rpcUrl']);if(k['status']!=='0x1')return{'success':![],'error':{'code':'REVERTED','message':'ETH\x20claim\x20transaction\x20reverted','revertReason':'txHash:\x20'+k['transactionHash']}};return{'success':!![],'txHash':k['transactionHash']};}catch(n){return wrapBridgeError(n,'UNKNOWN','ETH\x20claim\x20(by\x20seq)\x20failed');}}function buildNoSignaturesMessage(a,b,c){return['No\x20signatures\x20collected\x20for\x20seq='+c+'\x20(sourceChain='+a+',\x20messageType='+b+').','Possible\x20reasons:','\x20\x201)\x20Bridge\x20nodes\x20are\x20not\x20reachable\x20or\x20not\x20synced','\x20\x202)\x20The\x20seq\x20'+c+'\x20does\x20not\x20exist\x20on\x20source\x20chain','\x20\x203)\x20The\x20message\x20has\x20already\x20expired','\x20\x204)\x20Insufficient\x20quorum\x20(need\x202/3\x20of\x20total\x20committee\x20weight)','Check\x20node\x20health\x20with\x20nodeClient.pingAll().']['join']('\x0a');}function wrapBridgeError(a,b,c){return{'success':![],'error':{'code':b,'message':c+':\x20'+(a?.['message']??String(a)),'raw':a}};}const BRIDGE_PACKAGE$1='0xb',DEFAULT_BRIDGE_OBJECT_ID$1='0x9',CLOCK_OBJECT_ID$1='0x6',EVM_ADDRESS_LENGTH=0x14,TOKEN_DEPOSITED_EVENT_V2_TYPE=BRIDGE_PACKAGE$1+'::bridge::TokenDepositedEventV2';async function depositFromWow(a,b){if(!a['tokenType']||a['tokenType']['split']('::')['length']<0x3)a106d('invalid\x20parameter','Invalid\x20tokenType:\x20'+a['tokenType']);if(a['amount']<=0x0n)a106d('invalid\x20parameter','amount\x20must\x20be\x20positive');const c=parseEvmAddress(a['recipientEthAddress']),d=a['destinationChainId']??0xa,f=a['bridgeObjectId']??DEFAULT_BRIDGE_OBJECT_ID$1,g=new a106b(),h=await Account['Instance']()['get_coin_object'](g,a['amount'],a['tokenType'],await getEnvAccount$1(b),b['network']);if(!h)a106d('fail','Failed\x20to\x20get\x20coin\x20object');g['moveCall']({'target':BRIDGE_PACKAGE$1+'::bridge::send_token_v2','arguments':[g['object'](f),g['pure']['u8'](d),g['pure']['vector']('u8',c),h,g['object'](CLOCK_OBJECT_ID$1)],'typeArguments':[a['tokenType']]});const i=await Account['Instance']()['sign_and_commit'](g,await getEnvAccount$1(b),b['network']);if(!i||!i['digest'])a106d('fail','WOW\x20deposit\x20transaction\x20failed');let j=i;if(!i['events']||i['events']['length']===0x0){const {WowClient:l}=await import('./client/index.mjs'),{Config:m}=await import('./w/local/config.mjs'),n=await m['Instance']()['network_get'](b['network']),o=new l({'url':a106c(n),'network':n});let p;for(let q=0x0;q<0xa;q++){try{j=await o['getTransactionBlock']({'digest':i['digest'],'options':{'showEvents':!![],'showEffects':!![]}});if(j['events']&&j['events']['length']>0x0)break;}catch(r){p=r;}await new Promise(s=>setTimeout(s,0x3e8*(q+0x1)));}if(!j['events']||j['events']['length']===0x0)throw p??new Error('Failed\x20to\x20fetch\x20events\x20for\x20tx\x20'+i['digest']);}const k=parseSeqNumFromReceipt(j);if(k===void 0x0)a106d('fail','Failed\x20to\x20parse\x20seqNum\x20from\x20WOW\x20tx\x20'+i['digest']);return{'digest':i['digest'],'seqNum':k,'receipt':i};}function parseEvmAddress(a){let b=a;if(b['startsWith']('0x')||b['startsWith']('0X'))b=b['slice'](0x2);if(b['length']!==EVM_ADDRESS_LENGTH*0x2)a106d('invalid\x20parameter','Invalid\x20EVM\x20address:\x20'+a+'\x20(expected\x2020\x20bytes)');const c=new Uint8Array(EVM_ADDRESS_LENGTH);for(let d=0x0;d<EVM_ADDRESS_LENGTH;d++)c[d]=parseInt(b['slice'](d*0x2,d*0x2+0x2),0x10);return c;}function normalizeEventType$1(a){const b=a['split']('::');if(b['length']>0x0&&b[0x0]['startsWith']('0x')){const c=b[0x0]['toLowerCase']()['replace'](/^0x0+/,'0x');b[0x0]=c==='0x'?'0x0':c;}return b['join']('::');}function parseSeqNumFromReceipt(a){const b=a['events'];if(!b||b['length']===0x0)return void 0x0;const c=normalizeEventType$1(TOKEN_DEPOSITED_EVENT_V2_TYPE);for(const d of b){if(normalizeEventType$1(d['type'])!==c)continue;const e=d['parsedJson'];if(!e)continue;const f=e['seq_num'];if(typeof f==='string'||typeof f==='number')return BigInt(f);}}async function getEnvAccount$1(a){return a['account']??void 0x0;}const BRIDGE_PACKAGE='0xb',CLOCK_OBJECT_ID='0x6',TOKEN_TRANSFER_APPROVED_TYPE=BRIDGE_PACKAGE+'::bridge::TokenTransferApproved',TOKEN_TRANSFER_CLAIMED_TYPE=BRIDGE_PACKAGE+'::bridge::TokenTransferClaimed',DEFAULT_BRIDGE_OBJECT_ID='0x9';async function claimOnWow(a,b){if(!a['tokenType']||a['tokenType']['split']('::')['length']<0x3)a106d('invalid\x20parameter','Invalid\x20tokenType:\x20'+a['tokenType']);if(a['bridgeSeqNum']<0x0n)a106d('invalid\x20parameter','bridgeSeqNum\x20must\x20be\x20non-negative');const c=a['sourceChainId']??0xa,d=a['bridgeObjectId']??DEFAULT_BRIDGE_OBJECT_ID,e=new a106b();e['moveCall']({'target':BRIDGE_PACKAGE+'::bridge::claim_and_transfer_token','arguments':[e['object'](d),e['object'](CLOCK_OBJECT_ID),e['pure']['u8'](c),e['pure']['u64'](a['bridgeSeqNum'])],'typeArguments':[a['tokenType']]});const f=await Account['Instance']()['sign_and_commit'](e,await getEnvAccount(b),b['network']);if(!f||!f['digest'])a106d('fail','WOW\x20claim\x20transaction\x20failed');return{'digest':f['digest'],'receipt':f};}let WowClaimStatus=function(a){return a['NotApproved']='not_approved',a['Approved']='approved',a['Claimed']='claimed',a['NotFound']='not_found',a;}({});async function queryWowClaimStatus(a,b){const c=a['sourceChainId']??0xa,d=await Config['Instance']()['network_get'](b),e=new a106a({'url':a106c(d),'network':d}),f=await e['queryEvents']({'query':{'MoveEventType':TOKEN_TRANSFER_CLAIMED_TYPE},'limit':0x64,'order':'descending'});for(const h of f['data']){const i=h['parsedJson'];if(!i)continue;const j=i['message_key'];if(!j)continue;const k=Number(j['source_chain']),l=BigInt(j['bridge_seq_num']??0x0);if(k===c&&l===a['bridgeSeqNum'])return{'status':'claimed','claimedTxHash':h['id']?.['txDigest']};}const g=await e['queryEvents']({'query':{'MoveEventType':TOKEN_TRANSFER_APPROVED_TYPE},'limit':0x64,'order':'descending'});for(const m of g['data']){const n=m['parsedJson'];if(!n)continue;const o=n['message_key'];if(!o)continue;const p=Number(o['source_chain']),q=BigInt(o['bridge_seq_num']??0x0);if(p===c&&q===a['bridgeSeqNum'])return{'status':'approved','approvedEventId':m['id']?.['eventSeq']};}return{'status':'not_approved'};}async function getEnvAccount(a){return a['account']??void 0x0;}const logger$1=a106g('bridge:query');async function queryEthTxReceipt(a,b,c=0x2710){const d=new AbortController(),f=setTimeout(()=>d['abort'](),c);try{const g=await(await fetch(b,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'jsonrpc':'2.0','id':0x1,'method':'eth_getTransactionReceipt','params':[a]}),'signal':d['signal']}))['json']();if(g['error'])throw new Error('JSON-RPC\x20error:\x20'+g['error']['message']);return g['result'];}catch(h){if(h?.['name']==='AbortError')throw new Error('queryEthTxReceipt\x20timeout\x20after\x20'+c+'ms');throw h;}finally{clearTimeout(f);}}async function queryEthBalance(a,b){const c=await(await fetch(b,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'jsonrpc':'2.0','id':0x1,'method':'eth_getBalance','params':[a,'latest']})}))['json']();if(c['error'])throw new Error('JSON-RPC\x20error:\x20'+c['error']['message']);return BigInt(c['result']);}async function queryErc20Balance(a,b,c){const d='0x70a08231000000000000000000000000'+b['slice'](0x2)['toLowerCase'](),e=await(await fetch(c,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'jsonrpc':'2.0','id':0x1,'method':'eth_call','params':[{'to':a,'data':d},'latest']})}))['json']();if(e['error'])throw new Error('JSON-RPC\x20error:\x20'+e['error']['message']);return BigInt(e['result']);}async function queryEthTxConfirmations(a,b,c=0x2710){const d=await queryEthTxReceipt(a,b,c);if(!d?.['blockNumber'])return 0x0;const e=new AbortController(),f=setTimeout(()=>e['abort'](),c);try{const g=await(await fetch(b,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'jsonrpc':'2.0','id':0x2,'method':'eth_blockNumber','params':[]}),'signal':e['signal']}))['json'](),h=BigInt(g['result']),i=BigInt(d['blockNumber']);return Number(h-i);}finally{clearTimeout(f);}}async function queryWowTx(a,b){try{return await a['getTransactionBlock']({'digest':b,'options':{'showEffects':!![],'showEvents':!![]}});}catch{return null;}}let BridgeTransferDirection=function(a){return a['EvmToWow']='evm_to_wow',a['WowToEvm']='wow_to_evm',a;}({}),BridgeTransferStep=function(a){return a['NotStarted']='not_started',a['SourceTxPending']='source_tx_pending',a['SourceTxConfirmed']='source_tx_confirmed',a['NodeSigning']='node_signing',a['SignaturesReady']='signatures_ready',a['ClaimTxPending']='claim_tx_pending',a['Completed']='completed',a['Failed']='failed',a;}({});const BRIDGE_STEP_DESCRIPTIONS={['not_started']:'尚未发起跨链',['source_tx_pending']:'源链交易已提交,等待区块确认',['source_tx_confirmed']:'源链交易已确认,等待\x20bridge\x20节点签名\x20approve',['node_signing']:'bridge\x20节点签名收集中',['signatures_ready']:'签名已收集完毕,可发起目标链\x20claim',['claim_tx_pending']:'目标链\x20claim\x20交易已提交,待确认',['completed']:'跨链完成',['failed']:'跨链失败'};let BridgeTransferStatus=function(a){return a['NotStarted']='not_started',a['Pending']='pending',a['Confirmed']='confirmed',a['SignaturesReady']='signatures_ready',a['Claiming']='claiming',a['Completed']='completed',a['Failed']='failed',a;}({});function makeBridgeTransferState(a){return{'status':stepToStatus(a['step']),'stepDescription':BRIDGE_STEP_DESCRIPTIONS[a['step']],'updatedAt':Date['now'](),...a};}function stepToStatus(a){switch(a){case'not_started':return'not_started';case'source_tx_pending':return'pending';case'source_tx_confirmed':return'confirmed';case'node_signing':return'confirmed';case'signatures_ready':return'signatures_ready';case'claim_tx_pending':return'claiming';case'completed':return'completed';case'failed':return'failed';}}function parseEthDepositEvent(a,b){const c=b['toLowerCase']();for(const d of a['logs']){if(d['address']['toLowerCase']()!==c)continue;const e=d['topics'][0x0]===TOKENS_DEPOSITED_V2_TOPIC,f=d['topics'][0x0]===TOKENS_DEPOSITED_TOPIC;if(!e&&!f)continue;const g=a106h(d['data']);if(g['length']<0x80)continue;const h=u=>g[u*0x20+0x1f],i=u=>{const v=g['slice'](u*0x20,u*0x20+0x20);return BigInt('0x'+bytesToHex(v['slice'](0x18,0x20)));},j=u=>'0x'+bytesToHex(g['slice'](u*0x20+0xc,u*0x20+0x20)),k=h(0x0),l=i(0x1),m=j(0x2),n=Number(i(0x3)),o=Number(BigInt('0x'+bytesToHex(g['slice'](n,n+0x20))['slice'](0x30))),p='0x'+bytesToHex(g['slice'](n+0x20,n+0x20+o)),q=d['topics'][0x1]?.['slice'](0x40)??'00',r=parseInt(q,0x10),s=d['topics'][0x3]?.['slice'](0x40)??'00',t=parseInt(s,0x10);return{'bridgeSeq':BigInt('0x'+(d['topics'][0x2]?.['slice'](0x38)??'0')),'sourceChain':r,'sender':m,'targetChain':t,'recipient':p,'tokenID':k,'amount':l};}return null;}function parseEthClaimEvent(a,b){const c=b['toLowerCase']();for(const d of a['logs']){if(d['address']['toLowerCase']()!==c)continue;if(d['topics'][0x0]!==TOKENS_CLAIMED_TOPIC)continue;const e=a106h(d['data']);if(e['length']<0x80)continue;const f=n=>e[n*0x20+0x1f],g=n=>{const o=e['slice'](n*0x20,n*0x20+0x20);return BigInt('0x'+bytesToHex(o['slice'](0x18,0x20)));},h=n=>'0x'+bytesToHex(e['slice'](n*0x20+0xc,n*0x20+0x20));f(0x0);const i=g(0x1),j=h(0x2),k=Number(g(0x3)),l=Number(BigInt('0x'+bytesToHex(e['slice'](k,k+0x20))['slice'](0x30))),m='0x'+bytesToHex(e['slice'](k+0x20,k+0x20+l));return{'bridgeSeq':BigInt('0x'+(d['topics'][0x2]?.['slice'](0x38)??'0')),'claimer':j,'recipient':m,'amount':i};}return null;}async function queryEvmToWowTransferStatus(a,b,c){const d=await queryEthTxReceipt(a,b);if(!d)return makeBridgeTransferState({'step':'source_tx_pending','direction':'evm_to_wow','sourceTxHash':a});if(d['status']!=='0x1')return makeBridgeTransferState({'step':'failed','direction':'evm_to_wow','sourceTxHash':a,'ethReceipt':d,'error':'ETH\x20source\x20transaction\x20reverted'});const e=parseEthDepositEvent(d,c);if(!e)return makeBridgeTransferState({'step':'failed','direction':'evm_to_wow','sourceTxHash':a,'ethReceipt':d,'error':'No\x20TokensDeposited/TokensDepositedV2\x20event\x20found\x20in\x20receipt'});let f=0x0;try{f=await queryEthTxConfirmations(a,b);}catch{}return makeBridgeTransferState({'step':'source_tx_confirmed','direction':'evm_to_wow','sourceTxHash':a,'bridgeSeq':e['bridgeSeq'],'confirmations':f,'ethReceipt':d});}async function queryWowToEvmTransferStatus(a,b){const c=await queryWowTx(a,b);if(!c)return makeBridgeTransferState({'step':'source_tx_pending','direction':'wow_to_evm','sourceTxHash':b});if(c['effects']?.['status']?.['status']!=='success')return makeBridgeTransferState({'step':'failed','direction':'wow_to_evm','sourceTxHash':b,'wowReceipt':c,'error':c['effects']?.['status']?.['error']||'WOW\x20transaction\x20failed'});return makeBridgeTransferState({'step':'source_tx_confirmed','direction':'wow_to_evm','sourceTxHash':b,'bridgeSeq':parseWowDepositSeqFromReceipt(c),'wowReceipt':c});}function normalizeEventType(a){const b=a['split']('::');if(b['length']>0x0&&b[0x0]['startsWith']('0x')){const c=b[0x0]['toLowerCase']()['replace'](/^0x0+/,'0x');b[0x0]=c==='0x'?'0x0':c;}return b['join']('::');}function parseWowDepositSeqFromReceipt(a){const b=a['events'];if(!b||b['length']===0x0)return void 0x0;const c=normalizeEventType('0xb::bridge::TokenDepositedEventV2');for(const d of b){if(normalizeEventType(d['type'])!==c)continue;const e=d['parsedJson'];if(!e)continue;const f=e['seq_num'];if(typeof f==='string'||typeof f==='number')return BigInt(f);}}async function waitForEthTx(a,b,c=0x1,d=0x2ee0,e=0x1e*0xea60){const f=Math['max'](0x1,Math['ceil'](e/d));for(let g=0x0;g<f;g++){const h=await queryEthTxReceipt(a,b);if(h){const j=await queryEthTxConfirmations(a,b);if(j>=c)return h;logger$1['debug'](g+0x1+'/'+f+':\x20'+j+'/'+c+'\x20confirmations');}else logger$1['debug'](g+0x1+'/'+f+':\x20pending');await sleep$1(d);}a106d('fail','Timeout\x20waiting\x20for\x20ETH\x20tx\x20'+a+'\x20after\x20'+f+'\x20iterations');}async function waitForWowTx(a,b,c=0xbb8,d=0x5*0xea60){const e=Math['max'](0x1,Math['ceil'](d/c));for(let f=0x0;f<e;f++){const g=await queryWowTx(a,b);if(g&&g['effects']?.['status']?.['status']==='success')return g;if(g&&g['effects']?.['status']?.['status']==='failure')a106d('fail','WOW\x20tx\x20'+b+'\x20failed:\x20'+(g['effects']['status']['error']||'unknown'));logger$1['debug'](f+0x1+'/'+e+':\x20pending'),await sleep$1(c);}a106d('fail','Timeout\x20waiting\x20for\x20WOW\x20tx\x20'+b+'\x20after\x20'+e+'\x20iterations');}function sleep$1(a){return new Promise(b=>setTimeout(b,a));}function isBase64(a){return/^[A-Za-z0-9+/]*={0,2}$/['test'](a)&&a['length']>0x0;}function decodeFlex(a){if(a['startsWith']('0x')||a['startsWith']('0X'))return a106h(a);if(/^[0-9a-fA-F]+$/['test'](a)&&a['length']%0x2===0x0)return a106h(a);if(isBase64(a))return Buffer['from'](a,'base64');throw new Error('Cannot\x20decode\x20signature/pubkey\x20string:\x20'+a);}function parseSignedAction(a,b){const c=decodeFlex(a['auth_signature']['authority_pub_key']),d=decodeFlex(a['auth_signature']['signature']);if(c['length']!==0x21&&c['length']!==0x41)throw new Error('Invalid\x20pubkey\x20length:\x20'+c['length']+'\x20(expected\x2033\x20or\x2065)');if(d['length']!==0x41)throw new Error('Invalid\x20signature\x20length:\x20'+d['length']+'\x20(expected\x2065)');return{'signerPubkey':'0x'+bytesToHex(c),'signature':'0x'+bytesToHex(d),'weight':b,'action':a['data']};}var BridgeNodeClient=class{constructor(a){this['committee']=a['committee'],this['timeoutMs']=a['timeoutMs']??0x7530,this['quorumRatio']=a['quorumRatio']??0x2/0x3;}get['totalWeight'](){return this['committee']['reduce']((a,b)=>a+b['weight'],0x0);}get['quorumWeight'](){return Math['floor'](this['totalWeight']*this['quorumRatio'])+0x1;}async['signEthToWow'](a,b){const c='/sign/bridge_tx/eth/wow/'+a+'/'+b;return this['collectSignatures'](c);}async['signWowToEth'](a,b){const c='/sign/bridge_tx/wow/eth/'+a+'/'+b;return this['collectSignatures'](c);}async['signWowTokenTransfer'](a,b,c){const d='/sign/bridge_action/wow/eth/'+a+'/'+b+'/'+c;return this['collectSignatures'](d);}async['ping'](a){try{const b=new AbortController(),c=setTimeout(()=>b['abort'](),Math['min'](this['timeoutMs'],0x2710)),d=await fetch(a+'/ping',{'signal':b['signal']});return clearTimeout(c),d['ok'];}catch{return![];}}async['pingAll'](){return Promise['all'](this['committee']['map'](async a=>({'url':a['baseUrl'],'healthy':await this['ping'](a['baseUrl'])})));}async['collectSignatures'](a){const b=new Map();let c=0x0;const d=this['committee']['map'](async f=>{try{return{'action':parseSignedAction(await this['fetchFromNode'](f['baseUrl'],a),f['weight']),'ok':!![]};}catch(g){return{'action':null,'ok':![],'error':g['message']};}}),e=await Promise['all'](d);for(const f of e){if(!f['ok']||!f['action'])continue;!b['has'](f['action']['signerPubkey'])&&(b['set'](f['action']['signerPubkey'],f['action']),c+=f['action']['weight']);}if(c<this['quorumWeight'])a106d('fail','Quorum\x20not\x20reached:\x20collected\x20'+c+',\x20required\x20'+this['quorumWeight']+'\x20(total\x20'+this['totalWeight']+')');return Array['from'](b['values']());}async['fetchFromNode'](a,b){const c=new AbortController(),d=setTimeout(()=>c['abort'](),this['timeoutMs']);try{const e=await fetch(''+a+b,{'signal':c['signal'],'headers':{'Accept':'application/json'}});if(!e['ok'])throw new Error('Node\x20'+a+'\x20returned\x20'+e['status']+':\x20'+await e['text']());return await e['json']();}finally{clearTimeout(d);}}};const logger=a106g('bridge');var BridgeClient=class BridgeClient{constructor(a={}){this['_transferHistory']=new Map(),this['_transferCounter']=0x0,this['_loadHistoryPromise']=Promise['resolve'](),this['_historyLock']=new a106f(),this['config']=a['config']??loadDefaultConfig(),this['wowEnv']=a['wowEnv'],registerBridgeEvmNetworks({'evmChain':{'chainId':this['config']['ethereum']['chainId'],'rpcUrl':this['config']['ethereum']['rpcUrl']},'setAsDefault':!![]});if(this['config']['l2']){for(const c of Object['values'](this['config']['l2']))if(c)registerBridgeEvmNetworks({'evmChain':{'chainId':c['chainId'],'rpcUrl':c['rpcUrl']}});}const b=this['config']['bridgeNodeUrls']['map']((d,e)=>({'pubkey':a106k[e]??'0x'+e['toString']()['padStart'](0x40,'0'),'weight':a106l[e]??0x1,'baseUrl':d}));this['nodeClient']=new BridgeNodeClient({'committee':b,'timeoutMs':this['config']['timeouts']['nodeRpcMs']}),this['_loadHistoryPromise']=this['_loadHistory']();}async['bridgeNativeEvmToWow'](a){return this['depositEvmToWowAndFinalize']({'amount':a['amount'],'recipientWowAddress':a['recipientWowAddress'],'waitForFinalization':a['waitForFinalization'],'token':'ETH','idempotencyKey':a['idempotencyKey'],'idempotentByParams':a['idempotentByParams']});}async['bridgeErc20ToWow'](a){if(a['token']==='ETH')a106d('invalid\x20parameter','Use\x20bridgeNativeEvmToWow()\x20for\x20native\x20ETH;\x20bridgeErc20ToWow()\x20only\x20accepts\x20WETH/WBTC/USDC/USDT');return this['depositEvmToWowAndFinalize']({'amount':a['amount'],'recipientWowAddress':a['recipientWowAddress'],'waitForFinalization':a['waitForFinalization'],'token':a['token'],'idempotencyKey':a['idempotencyKey'],'idempotentByParams':a['idempotentByParams']});}async['resolveEvmRpcUrl'](){const a=this['config']['ethereum'];if(a['rpcUrl'])return a['rpcUrl'];const {EvmNetworkRegistry:b}=await import('./w/local/evm/networks.mjs'),c=b['Instance'](),d=await c['resolve'](a['chainId']),e=c['pickHealthyRpc'](d);if(!e)a106d('invalid\x20parameter','No\x20healthy\x20EVM\x20RPC\x20available\x20for\x20chainId\x20'+a['chainId']+'.\x20Use\x20manage_evm_rpc\x20to\x20add\x20RPC\x20endpoints\x20first.');return e;}async['depositEvmToWowAndFinalize'](a){let b;if(a['idempotencyKey'])b=a['idempotencyKey'];else{if(a['idempotentByParams'])b=this['_generateIdempotencyKey']({'direction':'evm_to_wow','token':a['token'],'amount':a['amount'],'recipientWow':a['recipientWowAddress']});}if(b){const t=await this['_findTransferByIdempotencyKey'](b);if(t){if(t['status']==='success')return{'depositTxHash':t['depositTxHash'],'claimTxDigest':t['claimTxDigest'],'bridgeSeq':t['bridgeSeq']?BigInt(t['bridgeSeq']):void 0x0,'idempotentHit':!![]};else{if(t['status']==='pending'||t['status']==='in_progress')return{'depositTxHash':t['depositTxHash']??'','claimTxDigest':t['claimTxDigest'],'bridgeSeq':t['bridgeSeq']?BigInt(t['bridgeSeq']):void 0x0,'idempotentHit':!![]};}await this['_historyLock']['run'](async()=>{this['_transferHistory']['delete'](t['transferId']),await this['_saveHistory']();});}}const c=this['config']['ethereum'],d=a['waitForFinalization']??!![],e=await this['resolveEvmRpcUrl'](),f=a106i(this['config'],a['token']);if(!f)a106d('invalid\x20parameter','Token\x20'+a['token']+'\x20not\x20found\x20in\x20config');const g=a['token']==='ETH',h=this['config']['defaultVersion']===0x1?'v1':'v2',j={'recipientWowAddress':a['recipientWowAddress'],'bridgeProxyAddress':c['bridgeProxyAddress'],'network':c['chainId'],'rpcUrl':e,'version':h},k=await depositFromEth({'amount':a['amount'],'tokenAddress':g?void 0x0:f['evmAddress'],'tokenId':g?void 0x0:f['tokenId']},j);if(!k['success']||!k['txHash'])a106d('fail','EVM\x20deposit\x20failed:\x20'+(k['error']?.['message']??'unknown\x20error'));const l=k['txHash'];if(!d)return{'depositTxHash':l};await waitForEthTx(l,e,0x40,0x2ee0,this['config']['timeouts']['signatureCollectMs']);const m=await queryEthTxReceipt(l,e);if(!m)return{'depositTxHash':l};const n=parseEthDepositEvent(m,c['bridgeProxyAddress']);if(!n)return{'depositTxHash':l};if(!this['wowEnv'])a106d('invalid\x20parameter','wowEnv\x20is\x20required\x20for\x20EVM→WOW\x20finalization\x20(claim\x20on\x20WOW)');const o=this['config']['timeouts']['autoClaimMs'],p=this['config']['timeouts']['signaturePollIntervalMs'],q=Math['max'](0x1,Math['ceil'](o/p));let r;for(let u=0x0;u<q;u++){r=await queryWowClaimStatus({'sourceChainId':0xa,'bridgeSeqNum':n['bridgeSeq']},this['config']['wow']['network']),logger['debug']('wait\x20approve\x20'+(u+0x1)+'/'+q+':\x20status='+r['status']);if(r['status']==='approved'||r['status']==='claimed')break;await sleep(p);}if(!r||r['status']==='not_approved')a106d('fail','Timeout\x20waiting\x20for\x20bridge\x20nodes\x20to\x20approve\x20bridgeSeq='+n['bridgeSeq']+'\x20after\x20'+q+'\x20iterations');if(r['status']==='claimed')return{'depositTxHash':l,'bridgeSeq':n['bridgeSeq'],'claimTxDigest':r['claimedTxHash']};const s=await claimOnWow({'sourceChainId':0xa,'bridgeSeqNum':n['bridgeSeq'],'tokenType':f['wowTypeTag'],'bridgeObjectId':this['config']['wow']['bridgeObjectId']},this['wowEnv']);return{'depositTxHash':l,'bridgeSeq':n['bridgeSeq'],'claimTxDigest':s['digest']};}async['bridgeWowToEvm'](a){let b;if(a['idempotencyKey'])b=a['idempotencyKey'];else{if(a['idempotentByParams'])b=this['_generateIdempotencyKey']({'direction':'wow_to_evm','token':a['token'],'amount':a['amount'],'recipientEth':a['recipientEthAddress']});}if(b){const v=await this['_findTransferByIdempotencyKey'](b);if(v){if(v['status']==='success')return{'depositTxDigest':v['depositTxDigest'],'bridgeSeq':v['bridgeSeq']?BigInt(v['bridgeSeq']):0x0n,'claimTxHash':v['claimTxHash'],'idempotentHit':!![]};else{if(v['status']==='pending'||v['status']==='in_progress')return{'depositTxDigest':v['depositTxDigest']??'','bridgeSeq':v['bridgeSeq']?BigInt(v['bridgeSeq']):0x0n,'claimTxHash':v['claimTxHash'],'idempotentHit':!![]};}await this['_historyLock']['run'](async()=>{this['_transferHistory']['delete'](v['transferId']),await this['_saveHistory']();});}}if(!this['wowEnv'])a106d('invalid\x20parameter','wowEnv\x20is\x20required\x20for\x20WOW→EVM\x20bridge');const c=a['waitForFinalization']??!![],d=this['config']['ethereum'],e=await this['resolveEvmRpcUrl'](),f=a106i(this['config'],a['token']);if(!f)a106d('invalid\x20parameter','Token\x20'+a['token']+'\x20not\x20found\x20in\x20config');const g=f['wowTypeTag'],h=f['tokenId'],i=await depositFromWow({'amount':a['amount'],'tokenType':g,'recipientEthAddress':a['recipientEthAddress'],'bridgeObjectId':this['config']['wow']['bridgeObjectId']},this['wowEnv']),{WowClient:j}=await import('./client/index.mjs'),{Config:k}=await import('./w/local/config.mjs'),{getFullnodeUrl:l}=await import('./network-CeDd07Hg.mjs')['then'](w=>w['r']),m=await k['Instance']()['network_get'](this['wowEnv']['network']),n=new j({'url':l(m),'network':m});await waitForWowTx(n,i['digest'],this['config']['timeouts']['signaturePollIntervalMs'],this['config']['timeouts']['signatureCollectMs']);if(!c)return{'depositTxDigest':i['digest'],'bridgeSeq':i['seqNum']};const o=await n['getTransactionBlock']({'digest':i['digest'],'options':{'showEffects':!![]}}),p=o['timestampMs']?BigInt(o['timestampMs']):BigInt(Date['now']()),q=(await Account['Instance']()['get'](this['wowEnv']['account']))?.['address']??'';if(!q)a106d('fail','Failed\x20to\x20resolve\x20WOW\x20sender\x20address');const r=buildClaimMessage({'messageType':0x0,'version':0x2,'nonce':i['seqNum'],'sourceChain':0x0,'targetChain':0xa,'recipientAddress':hexToBytes(a['recipientEthAddress']['slice'](0x2)),'tokenId':h,'amount':a['amount'],'timestampMs':p,'senderAddress':hexToBytes(q['startsWith']('0x')?q['slice'](0x2):q)}),s={'bridgeProxyAddress':d['bridgeProxyAddress'],'network':d['chainId'],'rpcUrl':e,'nodeClient':this['nodeClient']},t=await claimOnEthBySeq({'sourceChain':0x0,'messageType':0x0,'seqNum':i['seqNum'],'message':r},s);if(!t['success']||!t['txHash'])a106d('fail','EVM\x20claim\x20failed:\x20'+(t['error']?.['revertReason']?'revert:\x20'+t['error']['revertReason']:t['error']?.['message']??'unknown\x20error'));const u=t['txHash'];return await waitForEthTx(u,e,0x1,0x2ee0,this['config']['timeouts']['signatureCollectMs']),{'depositTxDigest':i['digest'],'bridgeSeq':i['seqNum'],'claimTxHash':u};}async['queryEvmToWowStatus'](a){const b=this['config']['ethereum'],{EvmNetworkRegistry:c}=await import('./w/local/evm/networks.mjs'),d=c['Instance'](),f=await d['resolve'](b['chainId']),g=Date['now'](),h=[...f['rpcUrls']]['sort']((j,k)=>{const l=d['unhealthyRpc']?.['get'](j)??0x0,m=d['unhealthyRpc']?.['get'](k)??0x0,n=d['unhealthyCounter']?.['get'](j)??0x0,o=d['unhealthyCounter']?.['get'](k)??0x0,p=l<g?0x0:0x1,q=m<g?0x0:0x1;if(p!==q)return p-q;return n-o;});let i;for(const j of h)try{const k=await queryEvmToWowTransferStatus(a,j,b['bridgeProxyAddress']);d['markHealthy'](j);if(k['step']==='source_tx_confirmed'&&k['bridgeSeq']&&this['wowEnv'])try{const l=await queryWowClaimStatus({'sourceChainId':0xa,'bridgeSeqNum':BigInt(k['bridgeSeq'])},this['config']['wow']['network']);if(l['status']==='claimed')k['status']='completed',k['step']='completed',k['claimTxDigest']=l['claimedTxHash'];else{if(l['status']==='approved')k['status']='signatures_ready',k['step']='signatures_ready';else{if(l['status']==='not_approved'){}}}}catch{}return k;}catch(m){i=m,d['markUnhealthy'](j);}return{'status':'pending','step':'source_tx_pending','direction':'evm_to_wow','sourceTxHash':a,'error':i instanceof Error?i['message']:String(i)};}async['queryWowToEvmStatus'](a){const {WowClient:b}=await import('./client/index.mjs'),{Config:c}=await import('./w/local/config.mjs'),{getFullnodeUrl:d}=await import('./network-CeDd07Hg.mjs')['then'](f=>f['r']),e=await c['Instance']()['network_get'](this['wowEnv']?.['network']);return queryWowToEvmTransferStatus(new b({'url':d(e),'network':e}),a);}async['queryEvmToWowClaimStatus'](a){return queryWowClaimStatus({'sourceChainId':0xa,'bridgeSeqNum':a['bridgeSeqNum']},this['config']['wow']['network']);}async['claimWowToEvm'](a){if(!this['wowEnv'])a106d('invalid\x20parameter','wowEnv\x20is\x20required\x20for\x20WOW→EVM\x20claim');await this['_loadHistoryPromise'];const b=this['_transferHistory']['get'](a);if(!b)a106d('invalid\x20parameter','transferId\x20\x27'+a+'\x27\x20not\x20found');if(b['direction']!=='wow_to_evm')a106d('invalid\x20parameter','transferId\x20\x27'+a+'\x27\x20is\x20not\x20a\x20wow_to_evm\x20transfer');if(!b['depositTxDigest']||!b['bridgeSeq'])a106d('invalid\x20parameter','transferId\x20\x27'+a+'\x27\x20missing\x20deposit\x20info\x20(depositTxDigest\x20or\x20bridgeSeq)');const c=this['config']['ethereum'],d=await this['resolveEvmRpcUrl'](),e=a106i(this['config'],b['token']);if(!e)a106d('invalid\x20parameter','Token\x20'+b['token']+'\x20not\x20found\x20in\x20config');const f=e['tokenId'],{WowClient:g}=await import('./client/index.mjs'),{Config:h}=await import('./w/local/config.mjs'),{getFullnodeUrl:i}=await import('./network-CeDd07Hg.mjs')['then'](q=>q['r']),j=await h['Instance']()['network_get'](this['wowEnv']['network']),k=await new g({'url':i(j),'network':j})['getTransactionBlock']({'digest':b['depositTxDigest'],'options':{'showEffects':!![]}}),l=k['timestampMs']?BigInt(k['timestampMs']):BigInt(Date['now']()),m=(await Account['Instance']()['get'](this['wowEnv']['account']))?.['address']??'';if(!m)a106d('fail','Failed\x20to\x20resolve\x20WOW\x20sender\x20address');const n=buildClaimMessage({'messageType':0x0,'version':0x2,'nonce':BigInt(b['bridgeSeq']),'sourceChain':0x0,'targetChain':0xa,'recipientAddress':hexToBytes(b['recipientEth']['slice'](0x2)),'tokenId':f,'amount':BigInt(b['amount']),'timestampMs':l,'senderAddress':hexToBytes(m['startsWith']('0x')?m['slice'](0x2):m)}),o={'bridgeProxyAddress':c['bridgeProxyAddress'],'network':c['chainId'],'rpcUrl':d,'nodeClient':this['nodeClient']},p=await claimOnEthBySeq({'sourceChain':0x0,'messageType':0x0,'seqNum':BigInt(b['bridgeSeq']),'message':n},o);if(!p['success']||!p['txHash'])a106d('fail','EVM\x20claim\x20failed:\x20'+(p['error']?.['revertReason']?'revert:\x20'+p['error']['revertReason']:p['error']?.['message']??'unknown\x20error'));return this['_updateTransfer'](a,{'step':'claimed','status':'success','claimTxHash':p['txHash']}),{'claimTxHash':p['txHash'],'transferId':a};}async['bridgeWowToEvmSimple'](a){if(!this['wowEnv'])a106d('invalid\x20parameter','wowEnv\x20is\x20required\x20for\x20WOW→EVM\x20bridge');const {EvmAccount:b}=await import('./w/local/evm-account.mjs'),c=(await b['Instance']()['active']())['address'];let d;if(a['idempotencyKey'])d=a['idempotencyKey'];else{if(a['idempotentByParams'])d=this['_generateIdempotencyKey']({'direction':'wow_to_evm','token':a['token'],'amount':a['amount'],'recipientEth':a['withdrawTo']??c,'intermediateEthAccount':c});}if(d){const f=await this['_findTransferByIdempotencyKey'](d);if(f){if(f['status']==='success'||f['status']==='pending'||f['status']==='in_progress')return{'depositTxDigest':f['depositTxDigest']??'','bridgeSeq':f['bridgeSeq']?BigInt(f['bridgeSeq']):0x0n,'claimTxHash':f['claimTxHash'],'withdrawTxHash':f['withdrawTxHash'],'activeEvmAccount':f['intermediateEthAccount'],'transferId':f['transferId'],'idempotentHit':!![]};await this['_historyLock']['run'](async()=>{this['_transferHistory']['delete'](f['transferId']),await this['_saveHistory']();});}}const e=await this['_recordTransfer']({'direction':'wow_to_evm','token':a['token'],'amount':a['amount'],'recipientEth':a['withdrawTo']??c,'intermediateEthAccount':c,'withdrawToProvided':!!a['withdrawTo'],'idempotencyKey':d});try{this['_updateTransfer'](e,{'step':'deposit','status':'in_progress'});const g=await this['bridgeWowToEvm']({'token':a['token'],'amount':a['amount'],'recipientEthAddress':c,'waitForFinalization':a['waitForFinalization']??!![]});if(g['claimTxHash'])this['_updateTransfer'](e,{'step':'claimed','status':'success','depositTxDigest':g['depositTxDigest'],'bridgeSeq':g['bridgeSeq']?.['toString'](),'claimTxHash':g['claimTxHash']});else this['_updateTransfer'](e,{'step':'deposit','status':'in_progress','depositTxDigest':g['depositTxDigest'],'bridgeSeq':g['bridgeSeq']?.['toString']()});let h;if(a['withdrawTo']&&g['claimTxHash']){this['_updateTransfer'](e,{'step':'withdraw','status':'in_progress'});const i=a106i(this['config'],a['token']);h=(await b['Instance']()['withdrawFromActive']({'to':a['withdrawTo'],'amount':a['amount'],'tokenAddress':a['token']==='ETH'?void 0x0:i?.['evmAddress'],'network':this['config']['ethereum']['chainId']}))['transactionHash'],this['_updateTransfer'](e,{'step':'withdrawn','status':'success','withdrawTxHash':h});}return{'depositTxDigest':g['depositTxDigest'],'bridgeSeq':g['bridgeSeq'],'claimTxHash':g['claimTxHash'],'withdrawTxHash':h,'activeEvmAccount':c,'transferId':e};}catch(j){this['_updateTransfer'](e,{'status':'failed','error':j?.['message']??String(j)});throw j;}}async['bridgeEvmToWowSimple'](a){if(!this['wowEnv'])a106d('invalid\x20parameter','wowEnv\x20is\x20required\x20for\x20EVM→WOW\x20bridge');const {EvmAccount:b}=await import('./w/local/evm-account.mjs'),c=await b['Instance']()['active']();let d=a['recipientWowAddress'];if(!d){const j=await Account['Instance']()['get'](this['wowEnv']['account']);if(!j?.['address'])a106d('fail','Failed\x20to\x20resolve\x20WOW\x20recipient\x20address');d=j['address'];}let e;if(a['idempotencyKey'])e=a['idempotencyKey'];else{if(a['idempotentByParams'])e=this['_generateIdempotencyKey']({'direction':'evm_to_wow','token':a['token'],'amount':a['amount'],'recipientWow':d,'intermediateEthAccount':c['address']});}if(e){const k=await this['_findTransferByIdempotencyKey'](e);if(k){if(k['status']==='success'||k['status']==='pending'||k['status']==='in_progress')return{'depositTxHash':k['depositTxHash']??'','bridgeSeq':k['bridgeSeq']?BigInt(k['bridgeSeq']):void 0x0,'claimTxDigest':k['claimTxDigest'],'activeEvmAccount':k['intermediateEthAccount'],'transferId':k['transferId'],'idempotentHit':!![]};await this['_historyLock']['run'](async()=>{this['_transferHistory']['delete'](k['transferId']),await this['_saveHistory']();});}}const f=a106i(this['config'],a['token']);if(!f)a106d('invalid\x20parameter','Token\x20'+a['token']+'\x20not\x20found\x20in\x20config');const g=a['token']==='ETH';let h;if(g)h=await b['Instance']()['balance'](this['config']['ethereum']['chainId']);else h=await b['Instance']()['balanceOf'](f['evmAddress'],this['config']['ethereum']['chainId']);if(h===void 0x0||h<a['amount'])a106d('fail','Insufficient\x20'+(g?'ETH':'ERC20')+'\x20balance\x20on\x20activeEvmAccount\x20('+c['address']+')\x20on\x20chain\x20'+this['config']['ethereum']['chainId']+':\x20have\x20'+(h??0x0n)+',\x20need\x20'+a['amount']+'.\x20Please\x20recharge\x20the\x20activeEvmAccount\x20from\x20your\x20wallet\x20(transfer\x20'+(g?'ETH':'the\x20token')+'\x20to\x20'+c['address']+'),\x20then\x20retry\x20the\x20cross-chain\x20transfer.');const i=await this['_recordTransfer']({'direction':'evm_to_wow','token':a['token'],'amount':a['amount'],'recipientWow':d,'intermediateEthAccount':c['address'],'idempotencyKey':e});try{this['_updateTransfer'](i,{'step':'deposit','status':'in_progress'});let l;if(g)l=await this['bridgeNativeEvmToWow']({'amount':a['amount'],'recipientWowAddress':d,'waitForFinalization':a['waitForFinalization']??!![]});else l=await this['bridgeErc20ToWow']({'token':a['token'],'amount':a['amount'],'recipientWowAddress':d,'waitForFinalization':a['waitForFinalization']??!![]});const m=a['waitForFinalization']??!![];return this['_updateTransfer'](i,{'step':m?'claimed':'deposit','status':m?'success':'in_progress','depositTxHash':l['depositTxHash'],'bridgeSeq':l['bridgeSeq']?.['toString'](),'claimTxDigest':l['claimTxDigest']}),{...l,'activeEvmAccount':c['address'],'transferId':i};}catch(n){this['_updateTransfer'](i,{'status':'failed','error':n?.['message']??String(n)});throw n;}}async['withdrawFromActiveEvmAccount'](a){const {EvmAccount:b}=await import('./w/local/evm-account.mjs'),c=await b['Instance']()['active']();let d=a['tokenAddress'];if(!d&&a['token']&&a['token']!=='ETH')d=a106i(this['config'],a['token'])?.['evmAddress'];const e=await this['_recordTransfer']({'direction':'withdraw','token':a['token'],'amount':a['amount'],'recipientEth':a['to'],'intermediateEthAccount':c['address']});try{this['_updateTransfer'](e,{'step':'withdraw','status':'in_progress'});const f=await b['Instance']()['withdrawFromActive']({'to':a['to'],'amount':a['amount'],'tokenAddress':d,'network':a['network']??this['config']['ethereum']['chainId']});return this['_updateTransfer'](e,{'step':'withdrawn','status':'success','withdrawTxHash':f['transactionHash']}),{'txHash':f['transactionHash'],'transferId':e};}catch(g){this['_updateTransfer'](e,{'status':'failed','error':g?.['message']??String(g)});throw g;}}async['querySupportedEvmChains'](){const {EvmNetworkRegistry:a}=await import('./w/local/evm/networks.mjs'),b=a['Instance']()['listRpcStatus'](this['config']['ethereum']['chainId']),c=b['filter'](d=>d['healthy'])['length'];return[{'chainId':this['config']['ethereum']['chainId'],'name':'mainnet','description':'Ethereum\x20Mainnet','bridgeChainId':this['config']['ethereum']['bridgeChainId'],'explorerUrl':'https://etherscan.io','rpcCount':b['length'],'healthyRpcCount':c}];}async['querySupportedTokens'](a){const b=await this['querySupportedEvmChains'](),c=a?.['network']?b['filter'](e=>typeof a['network']==='number'?e['chainId']===a['network']:e['name']['toLowerCase']()===String(a['network'])['toLowerCase']()):b,d=[];for(const e of c){const f=this['config']['tokens']['filter'](g=>!g['evmChains']||g['evmChains']['includes'](e['bridgeChainId']))['map'](g=>({'tokenId':g['tokenId'],'symbol':g['symbol'],'evmAddress':g['evmAddress'],'evmDecimals':g['evmDecimals'],'wowTypeTag':g['wowTypeTag'],'wowDecimals':g['wowDecimals'],'description':g['description']??g['symbol']+'\x20(tokenId='+g['tokenId']+')'}));d['push']({'chainId':e['chainId'],'chainName':e['name'],'bridgeChainId':e['bridgeChainId'],'tokens':f});}return d;}async['queryActiveEvmAccount'](a){const {EvmAccount:b}=await import('./w/local/evm-account.mjs'),{EvmNetworkRegistry:c}=await import('./w/local/evm/networks.mjs'),d=await b['Instance']()['active']();c['Instance']();const e=await this['querySupportedEvmChains'](),f=a?.['network']?e['filter'](h=>typeof a['network']==='number'?h['chainId']===a['network']:h['name']['toLowerCase']()===String(a['network'])['toLowerCase']()):e,g=[];for(const h of f){const i=await b['Instance']()['balance'](h['chainId']),j={'chainId':h['chainId'],'name':h['name'],'nativeBalance':(i??0x0n)['toString']()};if(a?.['tokens']&&a['tokens']['length']>0x0){j['tokens']=[];for(const k of a['tokens']){const l=await b['Instance']()['balanceOf'](k,h['chainId']);j['tokens']['push']({'tokenAddress':k,'balance':(l??0x0n)['toString']()});}}g['push'](j);}return{'address':d['address'],'chains':g};}async['queryTransferList'](a){return await this['_loadHistoryPromise'],this['_historyLock']['run'](async()=>{const b=Array['from'](this['_transferHistory']['values']())['reverse']();if(a?.['onlyActive'])return b['filter'](c=>c['status']==='in_progress'||c['status']==='pending');return b;});}async['queryTransferStatus'](a){return await this['_loadHistoryPromise'],this['_historyLock']['run'](async()=>{return this['_transferHistory']['get'](a);});}async['getTransferByDepositTx'](a){return this['_findTransferByDepositTx'](a);}async['getTransferByBridgeSeq'](a){return this['_findTransferByBridgeSeq'](a);}async['resumeTransfer'](a){await this['_loadHistoryPromise'];const b=await this['_historyLock']['run'](async()=>{return this['_transferHistory']['get'](a);});if(!b)a106d('invalid\x20parameter','transferId\x20\x27'+a+'\x27\x20not\x20found');if(b['status']==='success')return b;if(b['direction']==='wow_to_evm')return this['_resumeWowToEvm'](b);else{if(b['direction']==='evm_to_wow')return this['_resumeEvmToWow'](b);else{if(b['direction']==='withdraw')return this['_resumeWithdraw'](b);}}return b;}async['_resumeWowToEvm'](a){const b=a['transferId'];try{if(a['depositTxDigest']&&a['bridgeSeq']){await this['refreshTransferStatus'](b);const c=await this['queryTransferStatus'](b);if(c?.['status']==='success')return c;if(!a['claimTxHash']){const {EvmAccount:d}=await import('./w/local/evm-account.mjs'),e=await d['Instance']()['active']();if(a['recipientEth']===e['address'])await this['claimWowToEvm'](b);}if(a['withdrawToProvided']&&a['recipientEth']&&!a['withdrawTxHash']){const f=a106i(this['config'],a['token']),{EvmAccount:g}=await import('./w/local/evm-account.mjs');this['_updateTransfer'](b,{'step':'withdraw','status':'in_progress'});const h=await g['Instance']()['withdrawFromActive']({'to':a['recipientEth'],'amount':BigInt(a['amount']),'tokenAddress':a['token']==='ETH'?void 0x0:f?.['evmAddress'],'network':this['config']['ethereum']['chainId']});this['_updateTransfer'](b,{'step':'withdrawn','status':'success','withdrawTxHash':h['transactionHash']});}}}catch(i){this['_updateTransfer'](b,{'status':'failed','error':i?.['message']??String(i)});throw i;}return await this['queryTransferStatus'](b)??a;}async['_resumeEvmToWow'](a){const b=a['transferId'];try{await this['refreshTransferStatus'](b);const c=await this['queryTransferStatus'](b);if(c?.['status']==='success')return c;}catch(d){this['_updateTransfer'](b,{'status':'failed','error':d?.['message']??String(d)});throw d;}return await this['queryTransferStatus'](b)??a;}async['_resumeWithdraw'](a){const b=a['transferId'];try{if(!a['withdrawTxHash']&&a['recipientEth']){const c=a106i(this['config'],a['token']),{EvmAccount:d}=await import('./w/local/evm-account.mjs');this['_updateTransfer'](b,{'step':'withdraw','status':'in_progress'});const e=await d['Instance']()['withdrawFromActive']({'to':a['recipientEth'],'amount':BigInt(a['amount']),'tokenAddress':a['token']==='ETH'?void 0x0:c?.['evmAddress'],'network':this['config']['ethereum']['chainId']});this['_updateTransfer'](b,{'step':'withdrawn','status':'success','withdrawTxHash':e['transactionHash']});}}catch(f){this['_updateTransfer'](b,{'status':'failed','error':f?.['message']??String(f)});throw f;}return await this['queryTransferStatus'](b)??a;}async['refreshTransferStatus'](a){await this['_loadHistoryPromise'];const b=this['_transferHistory']['get'](a);if(!b)return void 0x0;if(b['direction']==='withdraw')return b;try{if(b['direction']==='evm_to_wow'&&b['depositTxHash']){const c=await this['queryEvmToWowStatus'](b['depositTxHash']);if(typeof c['bridgeSeq']==='bigint')c['bridgeSeq']=c['bridgeSeq']['toString']();b['latestState']=c,c['status']==='completed'&&b['status']==='in_progress'&&(b['status']='success',b['step']='claimed');}else{if(b['direction']==='wow_to_evm'&&b['depositTxDigest']){const d=await this['queryWowToEvmStatus'](b['depositTxDigest']);if(typeof d['bridgeSeq']==='bigint')d['bridgeSeq']=d['bridgeSeq']['toString']();if(b['claimTxHash']){if(d['step']==='source_tx_confirmed'||d['step']==='signatures_ready')try{const e=await this['resolveEvmRpcUrl'](),f=await queryEthTxReceipt(b['claimTxHash'],e);f?(d['claimReceipt']=f,f['status']==='0x1'?(d['status']='completed',d['step']='completed'):(d['status']='failed',d['step']='failed',d['error']='EVM\x20claim\x20transaction\x20reverted')):(d['status']='claiming',d['step']='claim_tx_pending');}catch{}}else d['hint']='claim_wow_to_evm\x20(step\x202)\x20not\x20yet\x20called.\x20Call\x20claim_wow_to_evm\x20after\x20bridge\x20nodes\x20sign\x20(~1-5\x20min).';b['latestState']=d,d['status']==='completed'&&b['status']==='in_progress'&&(b['status']='success',b['step']='claimed');}}}catch(g){b['error']=g?.['message']??String(g);}return b;}async['manageEvmRpc'](a){const {EvmNetworkRegistry:b}=await import('./w/local/evm/networks.mjs'),c=b['Instance'](),d=a['network']??this['config']['ethereum']['chainId'];switch(a['op']){case'list':return{'op':'list','success':!![],'result':c['listRpcStatus'](d)};case'add':if(!a['rpcUrls']||a['rpcUrls']['length']===0x0)a106d('invalid\x20parameter','rpcUrls\x20is\x20required\x20for\x20\x27add\x27\x20op');{const e=c['addRpcs'](d,a['rpcUrls']);return{'op':'add','success':e>0x0,'result':{'added':e}};}case'remove':if(!a['rpcUrls']||a['rpcUrls']['length']===0x0)a106d('invalid\x20parameter','rpcUrls\x20is\x20required\x20for\x20\x27remove\x27\x20op');{const f=c['removeRpcs'](d,a['rpcUrls']);return{'op':'remove','success':f>0x0,'result':{'removed':f}};}case'set':if(!a['rpcUrls']||a['rpcUrls']['length']===0x0)a106d('invalid\x20parameter','rpcUrls\x20is\x20required\x20for\x20\x27set\x27\x20op');return{'op':'set','success':c['setRpcs'](d,a['rpcUrls'])};case'ping':{const g=c['listRpcStatus'](d),h=[];for(const i of g){const j=await c['ping'](i['url']);h['push']({'url':i['url'],'healthy':j});}return{'op':'ping','success':!![],'result':h};}default:a106d('invalid\x20parameter','Unknown\x20op:\x20'+a['op']);}}static{this['HISTORY_DB_KEY']='bridge:transfers:all';}async['_loadHistory'](){return this['_historyLock']['run'](async()=>{try{this['_historyStore']=new a106e();const a=await this['_historyStore']['get'](BridgeClient['HISTORY_DB_KEY']);if(a){const b=JSON['parse'](a);if(Array['isArray'](b)){for(const d of b)if(d['transferId'])this['_transferHistory']['set'](d['transferId'],d);for(const e of b){const f=e['transferId']?.['match'](/_(\d+)$/);if(f){const g=parseInt(f[0x1],0xa);if(g>this['_transferCounter'])this['_transferCounter']=g;}}}}}catch{}});}async['_saveHistory'](){try{if(!this['_historyStore'])return;const a=Array['from'](this['_transferHistory']['values']());await this['_historyStore']['put'](BridgeClient['HISTORY_DB_KEY'],JSON['stringify'](a));}catch{}}async['_recordTransfer'](a){return this['_historyLock']['run'](async()=>{this['_transferCounter']+=0x1;const b='br_'+Date['now']()+'_'+this['_transferCounter'],c={'transferId':b,'idempotencyKey':a['idempotencyKey'],'direction':a['direction'],'token':a['token'],'amount':a['amount']['toString'](),'recipientEth':a['recipientEth'],'recipientWow':a['recipientWow'],'intermediateEthAccount':a['intermediateEthAccount'],'withdrawToProvided':a['withdrawToProvided'],'step':'init','status':'pending','createdAt':Date['now'](),'updatedAt':Date['now']()};return this['_transferHistory']['set'](b,c),await this['_saveHistory'](),b;});}async['_updateTransfer'](a,b){return this['_historyLock']['run'](async()=>{const c=this['_transferHistory']['get'](a);if(!c)return;Object['assign'](c,b,{'updatedAt':Date['now']()}),await this['_saveHistory']();});}['_generateIdempotencyKey'](a){const b=[a['direction'],a['token']['toString'](),a['amount']['toString'](),a['recipientWow']??'',a['recipientEth']??'',a['intermediateEthAccount']??''];let c=0x1505;const d=b['join']('|');for(let e=0x0;e<d['length'];e++){c=(c<<0x5)+c+d['charCodeAt'](e),c|=0x0;}return'idem_'+Math['abs'](c)['toString'](0x24);}async['_findTransferByIdempotencyKey'](a){return await this['_loadHistoryPromise'],this['_historyLock']['run'](async()=>{for(const b of this['_transferHistory']['values']())if(b['idempotencyKey']===a)return b;});}async['_findTransferByDepositTx'](a){return await this['_loadHistoryPromise'],this['_historyLock']['run'](async()=>{for(const b of this['_transferHistory']['values']())if(b['depositTxHash']===a||b['depositTxDigest']===a)return b;});}async['_findTransferByBridgeSeq'](a){await this['_loadHistoryPromise'];const b=a['toString']();return this['_historyLock']['run'](async()=>{for(const c of this['_transferHistory']['values']())if(c['bridgeSeq']===b)return c;});}};function sleep(a){return new Promise(b=>setTimeout(b,a));}function loadDefaultConfig(){return a106j;}function hexToBytes(a){const b=a['startsWith']('0x')?a['slice'](0x2):a,c=new Uint8Array(b['length']/0x2);for(let d=0x0;d<c['length'];d++)c[d]=parseInt(b['slice'](d*0x2,d*0x2+0x2),0x10);return c;}export{TOKENS_CLAIMED_TOPIC as A,buildClaimMessage as C,depositEth as D,depositErc20 as E,encodeBridgeERC20V2 as F,encodeBridgeETH as I,encodeBridgeETHV2 as L,TOKENS_DEPOSITED_V2_TOPIC as M,encodeApprove as N,depositFromEth as O,encodeBridgeERC20 as P,encodeTokenTransferPayloadV2 as R,depositFromWow as S,claimOnEthBySeq as T,waitForEthTx as _,BridgeTransferStatus as a,claimOnWow as b,parseEthClaimEvent as c,queryEthBalance as d,queryEthTxConfirmations as f,queryWowTx as g,queryWowToEvmTransferStatus as h,BridgeTransferDirection as i,TOKENS_DEPOSITED_TOPIC as j,ERC20_TRANSFER_TOPIC as k,parseEthDepositEvent as l,queryEvmToWowTransferStatus as m,BridgeNodeClient as n,BridgeTransferStep as o,queryEthTxReceipt as p,BRIDGE_STEP_DESCRIPTIONS as r,makeBridgeTransferState as s,BridgeClient as t,queryErc20Balance as u,waitForWowTx as v,claimOnEth as w,queryWowClaimStatus as x,WowClaimStatus as y,encodeTransferBridgedTokensWithSignatures as z};
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as a5a}from'./wow-types-DcqbnAaK.mjs';import{B as a5b,H as a5c,P as a5d,U as a5e,c as a5f,ct as a5g,g as a5h,l as a5i,lt as a5j,st as a5k,u as a5l,ut as a5m,z as a5n}from'./common-5hE5A-jb.mjs';import{o as a5o}from'./exception--UEPnygY.mjs';import{LocalMark}from'./w/local/local.mjs';import{Account}from'./w/local/account.mjs';import{GetAccountOrMark_Address,GetManyAccountOrMark_Address}from'./w/local/index.mjs';import{A as a5p,G as a5q,st as a5r,tt as a5s}from'./object-Dk20SVoh.mjs';import{t as a5t}from'./received-UkU0DIQD.mjs';import{a as a5u,c as a5v,d as a5w,f as a5x,g as a5y,h as a5z,l as a5A,m as a5B,o as a5C,p as a5D,s as a5E,t as a5F,u as a5G}from'./base-BaV8tCMN.mjs';import{create as a5H,newPermission}from'./w/call/permission.mjs';var CallPersonal=class extends a5F{constructor(a){super(),this['data']=a;}async['call'](a){return await this['exec'](a);}async['operate'](a,b,c,d){await super['prepare'](a);let e;if(this['data']['referrer']!=null)e=await GetAccountOrMark_Address(this['data']['referrer']);if(this['data']['description']!=null){if(!a5b(this['data']['description']))a5o('invalid\x20description','CallPersonal_Data\x20description\x20excceed\x20max\x20length\x20'+a5h);}if(this['data']?.['information']!=null)switch(this['data']['information']['op']){case'add':await a5C(b,this['data']['information']['data'],this['data']['description'],e);break;case'remove':a5v(b,this['data']['information']['name']);break;case'clear':a5E(b);break;}else{if(this['data']['description']!=null)a5u(b,this['data']['description'],e);}if(this['data']['mark']!=null){if(this['data']['mark']['op']==='destroy'||this['data']['mark']['op']==='transfer'){const f=await a5p({'address':await a5q(a),'no_cache':a['no_cache'],'network':a['network']});if(this['data']['mark']['op']==='destroy'&&f&&f['mark_object'])a5G(b,f['mark_object']);if(this['data']['mark']['op']==='transfer'&&f&&f['mark_object']){const g=await GetAccountOrMark_Address(this['data']['mark']['to']);if(g)a5w(b,f['mark_object'],g);else a5o('invalid\x20address','CallPersonal_Data\x20mark\x20transfer\x20to\x20address\x20'+this['data']['mark']['to']+'\x20is\x20invalid');}}else{if(this['data']['mark']['op']==='replace'){const h=await LocalMark['Instance']()['get_address'](this['data']['mark']['new_mark_object']);if(h)a5x(b,h,e??null);else a5o('invalid\x20address','CallPersonal_Data\x20mark\x20replace\x20to\x20address\x20'+this['data']['mark']['new_mark_object']+'\x20is\x20invalid');}else{const i=await a5p({'address':await a5q(a),'no_cache':a['no_cache'],'network':a['network']})['catch'](()=>void 0x0);let j=i?.['mark_object'];if(!j)j=a5A(b,e??null);if(!j)a5o('invalid\x20address','CallPersonal_Data\x20mark\x20fetch/launch\x20resource\x20failed');switch(this['data']['mark']['op']){case'add':{const k=this['data']['mark'];if('data'in k)for(const l of k['data']){const m=await GetAccountOrMark_Address(l['address']);a5D(b,j,{'address':m,'nick':l['name'],'tags':l['tags']??[]});}break;}case'remove':{const n=this['data']['mark'];if('data'in n)for(const o of n['data']){const p=await GetAccountOrMark_Address(o['address']);a5y(b,j,{'address':p,'tags':o['tags']??[]});}break;}case'clear':(await GetManyAccountOrMark_Address(this['data']['mark']['address']))['forEach'](q=>{a5z(b,j,q);});break;}if(!i?.['mark_object']&&j)a5B(b,j);}}}}},CallContact=class extends a5F{constructor(a){super(),this['object_address']=void 0x0,this['permission_address']=void 0x0,this['new_permission_description']=void 0x0,this['data']=a;}async['prepare'](a){await super['prepare'](a);if(!this['object_address'])this['object_address']=await a5l(this['data']?.['object']);if(this['object_address']){this['content']=void 0x0,await this['update_content'](a,'Contact',this['object_address']);if(!this['content'])a5o('invalid\x20parameter','CallContact_Data.data.object:'+this['object_address']);this['permission_address']=this['content']['permission'];}else{const b=a5f(this['data']['object']);this['permission_address']=await a5l(b?.['permission']),this['new_permission_description']=a5i(b?.['permission']);}}async['call'](a){await this['prepare'](a);const b=[],c=[],d=f=>{if(this['permission_address']&&!b['includes'](f))b['push'](f);},e=this['content'];if(this['data']?.['my_status']!=null){if(!e||!e['ims']['some'](f=>f['at']===a['account']))a5o('invalid\x20parameter','CallContact_Data.data.my_status:\x20your\x20account\x20not\x20in\x20im\x20list');}if(this['permission_address']&&!this['object_address'])d(0x1c2);if(this['permission_address']&&this['data']?.['description']!=null&&this['object_address'])d(0x1c3);if(this['permission_address']&&this['data']?.['location']!==void 0x0)d(0x1c4);if(this['permission_address']&&this['data']['ims']!=null)d(0x1c5);if(this['permission_address']&&this['data']?.['owner_receive'])d(0x1c6);if(this['permission_address']||c['length']>0x0)return await this['check_permission_and_call'](a,this['permission_address'],b,c);return await this['exec'](a);}async['operate'](a,b,c,d){let e=this['permission_address'],f=this['object_address'];const g=this['content'];if(!this['object_address']){if(!e)e=newPermission(b,this['new_permission_description']??'');if(e)f=newContact(b,e,this['data']?.['description']??'',c);}if(!f||!e)a5o('invalid\x20parameter','CallContact_Data.data.object:'+this['object_address']);if(this['data']?.['my_status']!=null)change_status(b,f,this['data']['my_status']);if(this['data']?.['description']!=null&&this['object_address'])description_set(b,f,e,this['data']['description'],c);if(this['data']?.['location']!=null)location_set(b,f,e,this['data']['location'],c);if(this['data']?.['ims']!=null)switch(this['data']['ims']['op']){case'add':case'set':{if(this['data']['ims']['im']['length']>0xc8-(g?.['ims']?.['length']??0x0))a5o('invalid\x20parameter','CallContact_Data.data.ims.im\x20exceeds\x20max\x20count:200');if(this['data']['ims']['op']==='set')im_clear(b,f,e,c);const h=await Account['Instance']()['get_many_address'](this['data']['ims']['im']['map'](k=>k['at'])),j=this['data']['ims']['im']['filter']((k,l)=>h[l]===void 0x0)['map'](k=>k['at']);if(j['length']>0x0)a5o('address\x20not\x20found','Address\x20not\x20found:\x20'+j['join'](',\x20'));for(let k=0x0;k<h['length'];k++){const l=h[k];if(l){const m=this['data']['ims']['im'][k];im_add(b,f,e,l,m?.['description'],c);}}break;}case'remove':{const n=await Account['Instance']()['get_many_address'](this['data']['ims']['im']),o=this['data']['ims']['im']['filter']((q,s)=>n[s]===void 0x0);if(o['length']>0x0)a5o('address\x20not\x20found','Address\x20not\x20found:\x20'+o['join'](',\x20'));im_remove(b,f,e,n['filter'](q=>q!=null),c);break;}case'clear':im_clear(b,f,e,c);break;}if(this['data']['owner_receive']!=null&&this['object_address']){if(this['data']['owner_receive']==='recently')this['data']['owner_receive']=await a5t({'name_or_address':{'name_or_address':this['object_address'],'local_mark_first':!![]},'no_cache':a['no_cache'],'network':a['network']});await a5s(b,f,e,this['data']['owner_receive'],void 0x0,q=>'0x2::contact::'+q,c);}if(!this['permission_address']){const q=a5f(this['data']?.['object']);await this['new_with_mark'](a,b,'Permission',a5H(b,e),a5f(q['permission']));}if(!this['object_address'])await this['new_with_mark'](a,b,'Contact',create(b,f),a5f(this['data']?.['object']));}};function create(a,b){return a['moveCall']({'target':a5d('create'),'arguments':[a5j(a,b)]});}function change_status(a,b,c){if(!a5e(c))a5o('invalid\x20parameter','Status\x20name('+c+')\x20exceeds\x20the\x20length\x20limit(64)');return a['moveCall']({'target':a5d('change_status'),'arguments':[a5j(a,b),a5m(a,c)]});}function newContact(a,b,c,d){a5r([b]);if(!a5b(c))a5o('invalid\x20description','Description\x20exceeds\x20maximum\x20length('+a5h+')');if(d)return a['moveCall']({'target':a5d('new_with_passport'),'arguments':[a5j(a,b),a5j(a,d),a5m(a,c),a['object']['mutRegistrar'](),a['object']['clock']()]});else return a['moveCall']({'target':a5d('new'),'arguments':[a5j(a,b),a5m(a,c),a['object']['mutRegistrar'](),a['object']['clock']()]});}function description_set(a,b,c,d,e){a5r([b,c]);if(!a5b(d))a5o('invalid\x20description','Description\x20exceeds\x20maximum\x20length('+a5h+')');if(e)a['moveCall']({'target':a5d('description_set_with_passport'),'arguments':[a5j(a,b),a5j(a,c),a5j(a,e),a5m(a,d)]});else a['moveCall']({'target':a5d('description_set'),'arguments':[a5j(a,b),a5j(a,c),a5m(a,d)]});}function location_set(a,b,c,d,e){a5r([b,c]);if(!a5c(d))a5o('invalid\x20location','Location\x20exceeds\x20maximum\x20length(256)');if(e)a['moveCall']({'target':a5d('location_set_with_passport'),'arguments':[a5j(a,b),a5j(a,c),a5j(a,e),a5m(a,d)]});else a['moveCall']({'target':a5d('location_set'),'arguments':[a5j(a,b),a5j(a,c),a5m(a,d)]});}function im_add(a,b,c,d,e,f){a5r([b,c]);if(!a5a(d))a5o('invalid\x20parameter','IM\x20address('+d+')\x20is\x20not\x20a\x20valid\x20address');if(e&&!a5b(e))a5o('invalid\x20description','Description\x20exceeds\x20maximum\x20length('+a5h+')');if(f)a['moveCall']({'target':a5d('im_add_with_passport'),'arguments':[a5j(a,b),a5j(a,c),a5j(a,f),a5k(a,d),a['pure']['option']('string',e),a['object']['clock']()]});else a['moveCall']({'target':a5d('im_add'),'arguments':[a5j(a,b),a5j(a,c),a5k(a,d),a['pure']['option']('string',e),a['object']['clock']()]});}function im_remove(a,b,c,d,e){if(d['length']===0x0)return;a5r([b,c]),a5n(d,f=>{if(!a5a(f))return a5o('invalid\x20parameter','IM\x20address('+f+')\x20is\x20not\x20a\x20valid\x20address'),![];return!![];});if(e)a['moveCall']({'target':a5d('im_remove_with_passport'),'arguments':[a5j(a,b),a5j(a,c),a5j(a,e),a5g(a,d,0x3e8)]});else a['moveCall']({'target':a5d('im_remove'),'arguments':[a5j(a,b),a5j(a,c),a5g(a,d,0x3e8)]});}function im_clear(a,b,c,d){a5r([b,c]);if(d)a['moveCall']({'target':a5d('im_clear_with_passport'),'arguments':[a5j(a,b),a5j(a,c),a5j(a,d)]});else a['moveCall']({'target':a5d('im_clear'),'arguments':[a5j(a,b),a5j(a,c)]});}export{CallPersonal as n,CallContact as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as a7a,c as a7b,i as a7c,l as a7d,o as a7e,s as a7f,u as a7g}from'./wow-types-DcqbnAaK.mjs';import{c as a7h,o as a7i,u as a7j}from'./bcs-BrmSFFhn.mjs';import{E as a7k,S as a7l,y as a7m}from'./utils-npJYSbqk.mjs';import{g as a7n,m as a7o,o as a7p,p as a7q,s as a7r,t as a7s}from'./Transaction-CzqJDezj.mjs';import{fromBase58,fromBase64,toBase64,toHex}from'@mysten/bcs';import{chunk,toBase64 as a7t}from'@mysten/utils';var ClientCache=class ClientCache{#prefix;#cache;constructor({prefix:a,cache:b}={}){this.#prefix=a??[],this.#cache=b??new Map();}['read'](a,b){const c=[this.#prefix,...a]['join'](':');if(this.#cache['has'](c))return this.#cache['get'](c);const d=b();this.#cache['set'](c,d);if(typeof d==='object'&&d!==null&&'then'in d)return Promise['resolve'](d)['then'](e=>{return this.#cache['set'](c,e),e;})['catch'](e=>{this.#cache['delete'](c);throw e;});return d;}['readSync'](a,b){const c=[this.#prefix,...a]['join'](':');if(this.#cache['has'](c))return this.#cache['get'](c);const d=b();return this.#cache['set'](c,d),d;}['clear'](a){const b=[...this.#prefix,...a??[]]['join'](':');if(!b){this.#cache['clear']();return;}for(const c of this.#cache['keys']())if(c['startsWith'](b))this.#cache['delete'](c);}['scope'](a){return new ClientCache({'prefix':[...this.#prefix,...Array['isArray'](a)?a:[a]],'cache':this.#cache});}},BaseClient=class{constructor({network:a,base:b,cache:cache=b?.['cache']??new ClientCache()}){this['network']=a,this['base']=b??this,this['cache']=cache;}['$extend'](...a){const b=Object['fromEntries'](a['map'](d=>{return[d['name'],d['register'](this)];})),c=new Map();return new Proxy(this,{'get'(d,e,f){if(typeof e==='string'&&e in b)return b[e];const g=Reflect['get'](d,e,f);if(typeof g==='function'){if(e==='$extend')return g['bind'](f);if(!c['has'](e))c['set'](e,g['bind'](d));return c['get'](e);}return g;}});}},CoreClient=class extends BaseClient{constructor(a){super(a),this['core']=this;}async['getObject'](a){const {objectId:b}=a,{objects:[c]}=await this['getObjects']({'objectIds':[b],'signal':a['signal'],'include':a['include']});if(c instanceof Error)throw c;return{'object':c};}async['getDynamicField'](a){const b=a7j['parseFromStr'](a['name']['type']),c=a7k(a['parentId'],b,a['name']['bcs']),{objects:[d]}=await this['getObjects']({'objectIds':[c],'signal':a['signal'],'include':{'previousTransaction':!![],'content':!![]}});if(d instanceof Error)throw d;const e=a7g(d['type']),f=await d['content'],g=e['typeParams'][0x0],h=typeof g!=='string'&&g['module']==='dynamic_object_field'&&g['name']==='Wrapper',i=f['slice'](0x20+a['name']['bcs']['length']),j=typeof e['typeParams'][0x1]==='string'?e['typeParams'][0x1]:a7f(e['typeParams'][0x1]);return{'dynamicField':{'$kind':h?'DynamicObject':'DynamicField','fieldId':d['objectId'],'digest':d['digest'],'version':d['version'],'type':d['type'],'previousTransaction':d['previousTransaction'],'name':{'type':typeof g==='string'?g:a7f(g),'bcs':a['name']['bcs']},'value':{'type':j,'bcs':i},'childId':h?a7i['Address']['parse'](i):void 0x0}};}async['getDynamicObjectField'](a){const b='0x2::dynamic_object_field::Wrapper<'+a['name']['type']+'>',{dynamicField:c}=await this['getDynamicField']({'parentId':a['parentId'],'name':{'type':b,'bcs':a['name']['bcs']},'signal':a['signal']}),{object:d}=await this['getObject']({'objectId':c['childId'],'signal':a['signal'],'include':a['include']});return{'object':d};}async['waitForTransaction'](a){const {signal:b,timeout:timeout=0x3c*0x3e8,pollSchedule:c,include:d}=a,e='result'in a&&a['result']?(a['result']['Transaction']??a['result']['FailedTransaction'])['digest']:a['digest'],f=b?AbortSignal['any']([AbortSignal['timeout'](timeout),b]):AbortSignal['timeout'](timeout),g=new Promise((l,m)=>{f['addEventListener']('abort',()=>m(f['reason']));});g['catch'](()=>{});const h=c??[0x0,0x12c,0x258,0x5dc,0xdac],i=Date['now']();let j=0x0;const k=h['length']>0x0?h[h['length']-0x1]-(h[h['length']-0x2]??0x0):0x7d0;while(!![]){if(j<h['length']){const l=i+h[j]-Date['now']();j++;if(l>0x0)await Promise['race']([new Promise(m=>setTimeout(m,l)),g]);}else await Promise['race']([new Promise(m=>setTimeout(m,k)),g]);f['throwIfAborted']();try{return await this['getTransaction']({'digest':e,'include':d,'signal':f});}catch{}}}async['signAndExecuteTransaction']({transaction:a,signer:b,additionalSignatures:additionalSignatures=[],...c}){let d;if(a instanceof Uint8Array)d=a;else a['setSenderIfNotSet'](b['toWowAddress']()),d=await a['build']({'client':this});const {signature:e}=await b['signTransaction'](d);return this['executeTransaction']({'transaction':d,'signatures':[e,...additionalSignatures],...c});}};const ordinalRules=new Intl['PluralRules']('en-US',{'type':'ordinal'}),ordinalSuffixes=new Map([['one','st'],['two','nd'],['few','rd'],['other','th']]);function formatOrdinal(a){return''+a+ordinalSuffixes['get'](ordinalRules['select'](a));}const WOWOK_ADDRESS='0x0000000000000000000000000000000000000000000000000000000000000002',WowokMoveErrors=[{'module':'service','code':0x1,'description':'Maximum\x20sale\x20count\x20exceeded'},{'module':'service','code':0x2,'description':'Maximum\x20repository\x20count\x20exceeded'},{'module':'service','code':0x3,'description':'Maximum\x20arbitration\x20count\x20exceeded'},{'module':'service','code':0x4,'description':'Maximum\x20WIP\x20length\x20exceeded'},{'module':'service','code':0x5,'description':'Maximum\x20WIP\x20hash\x20length\x20exceeded'},{'module':'service','code':0x6,'description':'Service\x20already\x20published'},{'module':'service','code':0x7,'description':'Service\x20not\x20published'},{'module':'service','code':0x8,'description':'Invalid\x20off-on\x20discount\x20rates'},{'module':'service','code':0x9,'description':'Maximum\x20discount\x20count\x20per\x20operation\x20exceeded'},{'module':'service','code':0xa,'description':'Discount\x20not\x20transferable'},{'module':'service','code':0xb,'description':'Discount\x20receiver\x20empty'},{'module':'service','code':0xc,'description':'Discount\x20count\x20empty'},{'module':'service','code':0xd,'description':'Maximum\x20discount\x20receiver\x20per\x20operation\x20exceeded'},{'module':'service','code':0xe,'description':'Maximum\x20total\x20discount\x20count\x20exceeded'},{'module':'service','code':0xf,'description':'Service\x20discount\x20does\x20not\x20match'},{'module':'service','code':0x10,'description':'Stock\x20not\x20enough'},{'module':'service','code':0x11,'description':'Invalid\x20quote'},{'module':'service','code':0x12,'description':'Buyer\x20guard\x20passport\x20required'},{'module':'service','code':0x13,'description':'Service\x20is\x20paused'},{'module':'service','code':0x14,'description':'Coin\x20not\x20enough'},{'module':'service','code':0x15,'description':'Maximum\x20required\x20info\x20size\x20exceeded'},{'module':'service','code':0x16,'description':'Machine\x20does\x20not\x20match'},{'module':'service','code':0x17,'description':'No\x20allocator\x20configured'},{'module':'service','code':0x18,'description':'Critical\x20setting\x20lock\x20duration\x20not\x20exceeded'},{'module':'service','code':0x19,'description':'Arbitration\x20not\x20set\x20with\x20compensation\x20fund'},{'module':'service','code':0x1a,'description':'Order\x20service\x20does\x20not\x20match'},{'module':'service','code':0x1b,'description':'Compensation\x20does\x20not\x20match'},{'module':'service','code':0x1c,'description':'Maximum\x20reward\x20count\x20exceeded'},{'module':'service','code':0x1d,'description':'Invalid\x20discount\x20type'},{'module':'service','code':0x1e,'description':'Invalid\x20timestamp\x20ms\x20end'},{'module':'service','code':0x1f,'description':'WIP\x20hash\x20not\x20match'},{'module':'service','code':0x20,'description':'Sale\x20item\x20not\x20found'},{'module':'permission','code':0x1,'description':'Not\x20the\x20builder'},{'module':'permission','code':0x2,'description':'Not\x20admin'},{'module':'permission','code':0x3,'description':'Address\x20count\x20in\x20permission\x20exceeded\x20limit'},{'module':'permission','code':0x4,'description':'Permission\x20count\x20exceeded\x20limit'},{'module':'permission','code':0x5,'description':'Permission\x20denied'},{'module':'permission','code':0x6,'description':'Admin\x20count\x20exceeded\x20limit'},{'module':'permission','code':0x7,'description':'Permission\x20index\x20not\x20found'},{'module':'permission','code':0x8,'description':'Permission\x20does\x20not\x20match'},{'module':'permission','code':0x9,'description':'Not\x20user\x20address'},{'module':'passport','code':0x1,'description':'Guard\x20count\x20exceeded\x20limit'},{'module':'passport','code':0x2,'description':'Relies\x20guard\x20not\x20added'},{'module':'passport','code':0x3,'description':'Submission\x20size\x20exceeded'},{'module':'passport','code':0x4,'description':'Has\x20verified'},{'module':'passport','code':0x5,'description':'Not\x20verified'},{'module':'passport','code':0x6,'description':'Not\x20impact\x20guard'},{'module':'passport','code':0x7,'description':'Verify\x20failed'},{'module':'passport','code':0x8,'description':'Transaction\x20not\x20match'},{'module':'passport','code':0x9,'description':'Impact\x20guard\x20not\x20found'},{'module':'passport','code':0xa,'description':'Submission\x20not\x20found'},{'module':'passport','code':0xb,'description':'Digest\x20not\x20match'},{'module':'machine','code':0x1,'description':'Maximum\x20consensus\x20repositories\x20exceeded'},{'module':'machine','code':0x2,'description':'Machine\x20not\x20published'},{'module':'machine','code':0x3,'description':'Machine\x20already\x20published'},{'module':'machine','code':0x4,'description':'Maximum\x20forward\x20order\x20count\x20exceeded'},{'module':'machine','code':0x5,'description':'Maximum\x20node\x20count\x20exceeded'},{'module':'machine','code':0x6,'description':'Duplicate\x20forward\x20name'},{'module':'machine','code':0x7,'description':'Duplicate\x20node\x20previous'},{'module':'machine','code':0x8,'description':'Old\x20node\x20name\x20does\x20not\x20exist'},{'module':'machine','code':0x9,'description':'New\x20node\x20name\x20already\x20exists'},{'module':'machine','code':0xa,'description':'Node\x20not\x20found'},{'module':'machine','code':0xb,'description':'Machine\x20paused'},{'module':'machine','code':0xc,'description':'Retained\x20submission\x20error'},{'module':'machine','code':0xd,'description':'Info\x20not\x20found'},{'module':'machine','code':0xe,'description':'Permission\x20not\x20defined'},{'module':'machine','code':0xf,'description':'Maximum\x20node\x20pair\x20count\x20exceeded'},{'module':'machine','code':0x10,'description':'Maximum\x20forward\x20count\x20exceeded'},{'module':'progress','code':0x1,'description':'Maximum\x20context\x20repository\x20count\x20exceeded'},{'module':'progress','code':0x2,'description':'Maximum\x20named\x20operator\x20count\x20exceeded'},{'module':'progress','code':0x3,'description':'Maximum\x20named\x20operator\x20address\x20count\x20exceeded'},{'module':'progress','code':0x4,'description':'Machine\x20does\x20not\x20match'},{'module':'progress','code':0x5,'description':'Task\x20already\x20set'},{'module':'progress','code':0x6,'description':'Not\x20the\x20holder'},{'module':'progress','code':0x7,'description':'Forward\x20already\x20accomplished'},{'module':'progress','code':0x8,'description':'Permission\x20not\x20defined\x20when\x20hold'},{'module':'progress','code':0x9,'description':'Need\x20passport'},{'module':'progress','code':0xa,'description':'Order\x20does\x20not\x20match'},{'module':'order','code':0x1,'description':'Not\x20the\x20owner'},{'module':'order','code':0x2,'description':'Maximum\x20agent\x20count\x20exceeded'},{'module':'order','code':0x3,'description':'Progress\x20not\x20specified'},{'module':'order','code':0x5,'description':'Not\x20operation\x20permission'},{'module':'order','code':0x6,'description':'Maximum\x20dispute\x20count\x20exceeded'},{'module':'order','code':0x7,'description':'Order\x20already\x20claimed'},{'module':'order','code':0x8,'description':'Allocation\x20not\x20specified'},{'module':'order','code':0x9,'description':'Allocation\x20already\x20specified'},{'module':'order','code':0xa,'description':'Progress\x20already\x20specified'},{'module':'arbitration','code':0x1,'description':'Guard\x20identifier\x20not\x20number'},{'module':'arbitration','code':0x2,'description':'Voting\x20guard\x20used'},{'module':'arbitration','code':0x3,'description':'Arbitration\x20arb\x20not\x20match'},{'module':'arbitration','code':0x4,'description':'Arbitration\x20paused'},{'module':'arbitration','code':0x5,'description':'Fee\x20not\x20enough'},{'module':'arbitration','code':0x6,'description':'Need\x20passport'},{'module':'arbitration','code':0x7,'description':'Guard\x20identifier\x20number\x20invalid'},{'module':'arbitration','code':0x8,'description':'Voting\x20guard\x20not\x20found'},{'module':'arbitration','code':0x9,'description':'Maximum\x20voting\x20guard\x20count\x20exceeded'},{'module':'treasury','code':0x1,'description':'Maximum\x20external\x20deposit\x20guard\x20count\x20exceeded'},{'module':'treasury','code':0x2,'description':'Maximum\x20external\x20withdraw\x20guard\x20count\x20exceeded'},{'module':'treasury','code':0x3,'description':'External\x20deposit\x20guard\x20not\x20found'},{'module':'treasury','code':0x4,'description':'External\x20withdraw\x20guard\x20not\x20found'},{'module':'treasury','code':0x5,'description':'Identifier\x20not\x20number\x20type'},{'module':'treasury','code':0x6,'description':'Deposit\x20insufficient\x20amount'},{'module':'treasury','code':0x7,'description':'Withdraw\x20insufficient\x20amount'},{'module':'treasury','code':0x8,'description':'Store\x20from\x20ID\x20not\x20compatible'},{'module':'reward','code':0x1,'description':'Guard\x20locked\x20time\x20not\x20increasing'},{'module':'reward','code':0x2,'description':'Guard\x20expired'},{'module':'reward','code':0x3,'description':'Guard\x20count\x20exceeded'},{'module':'reward','code':0x4,'description':'Recipient\x20identifier\x20not\x20address'},{'module':'reward','code':0x6,'description':'Insufficient\x20balance'},{'module':'reward','code':0x7,'description':'Guard\x20not\x20found'},{'module':'reward','code':0x8,'description':'Record\x20count\x20exceeded'},{'module':'reward','code':0xa,'description':'Guard\x20locked\x20time'},{'module':'reward','code':0xb,'description':'Guard\x20locked\x20time\x20invalid'},{'module':'reward','code':0xc,'description':'Store\x20from\x20ID\x20not\x20compatible'},{'module':'demand','code':0x1,'description':'Maximum\x20reward\x20count\x20exceeded'},{'module':'demand','code':0x2,'description':'Maximum\x20guard\x20count\x20exceeded'},{'module':'demand','code':0x3,'description':'Need\x20passport'},{'module':'demand','code':0x4,'description':'Guard\x20not\x20found'},{'module':'repository','code':0x1,'description':'Policy\x20description\x20exceeded'},{'module':'repository','code':0x2,'description':'Policy\x20guard\x20count\x20exceeded'},{'module':'repository','code':0x3,'description':'Policy\x20count\x20exceeded'},{'module':'repository','code':0x4,'description':'Data\x20exceeded'},{'module':'repository','code':0x5,'description':'ID\x20count\x20exceeded'},{'module':'repository','code':0x6,'description':'Quantities\x20not\x20equal'},{'module':'repository','code':0x7,'description':'Policy\x20not\x20found'},{'module':'repository','code':0x8,'description':'Policy\x20ID\x20from\x20none'},{'module':'repository','code':0x9,'description':'Need\x20passport'},{'module':'repository','code':0xa,'description':'Data\x20type\x20not\x20match'},{'module':'repository','code':0xb,'description':'Guard\x20specified\x20ID\x20from\x20submission'},{'module':'repository','code':0xc,'description':'Not\x20impact\x20guard\x20in\x20passport'},{'module':'repository','code':0xd,'description':'Guard\x20specified\x20not\x20in\x20policy'},{'module':'repository','code':0xe,'description':'ID\x20vector\x20not\x20enough'},{'module':'repository','code':0xf,'description':'Data\x20vector\x20not\x20enough'},{'module':'repository','code':0x10,'description':'Invalid\x20ID\x20in\x20guard\x20table'},{'module':'repository','code':0x11,'description':'Invalid\x20data\x20in\x20guard\x20table'},{'module':'repository','code':0x12,'description':'Invalid\x20ID\x20from'},{'module':'repository','code':0x13,'description':'Maximum\x20reward\x20count\x20exceeded'},{'module':'repository','code':0x14,'description':'Guard\x20not\x20specified\x20ID\x20from\x20submission'},{'module':'repository','code':0x15,'description':'Need\x20dependent\x20guard'},{'module':'guard','code':0x1,'description':'Input\x20empty'},{'module':'guard','code':0x2,'description':'Input\x20size\x20exceeded'},{'module':'guard','code':0x3,'description':'Table\x20size\x20exceeded'},{'module':'guard','code':0x5,'description':'Depended\x20count\x20exceeded'},{'module':'guard','code':0x6,'description':'Not\x20depended\x20guard'},{'module':'guard','code':0x7,'description':'Guard\x20self'},{'module':'guard','code':0x8,'description':'Guard\x20IDs\x20parse\x20error'},{'module':'guard','code':0x9,'description':'Guard\x20IDs\x20type\x20error'},{'module':'guard','code':0xa,'description':'ID\x20value\x20count\x20not\x20equal'},{'module':'guard','code':0xb,'description':'Submission\x20ID\x20not\x20found'},{'module':'guard','code':0xc,'description':'Submission\x20value\x20type\x20error'},{'module':'allocation','code':0x1,'description':'Recipient\x20identifier\x20not\x20address'},{'module':'allocation','code':0x2,'description':'Allocator\x20count\x20exceeded'},{'module':'allocation','code':0x3,'description':'No\x20allocator'},{'module':'allocation','code':0x5,'description':'Multiple\x20surplus'},{'module':'allocation','code':0x7,'description':'Insufficient\x20balance'},{'module':'allocation','code':0x8,'description':'Allocators\x20empty'},{'module':'allocation','code':0x9,'description':'No\x20payment\x20info'},{'module':'allocation','code':0xa,'description':'Sharing\x20count\x20exceeded'},{'module':'allocation','code':0xb,'description':'Sharing\x20mode\x20invalid'},{'module':'allocation','code':0xc,'description':'Amount\x20below\x20threshold'},{'module':'allocation','code':0xd,'description':'Amount\x20exceeds\x20max'},{'module':'payment','code':0x1,'description':'Recipient\x20count\x20exceeded'},{'module':'payment','code':0x2,'description':'Vector\x20count\x20not\x20equal'},{'module':'payment','code':0x3,'description':'Payment\x20not\x20match'},{'module':'payment','code':0x4,'description':'Recipient\x20empty'},{'module':'resource','code':0x1,'description':'Tags\x20count\x20exceeded'},{'module':'contact','code':0x1,'description':'IM\x20count\x20exceeded'},{'module':'registrar','code':0x0,'description':'Not\x20system\x20address'},{'module':'registrar','code':0x1,'description':'Record\x20count\x20exceeded'},{'module':'registrar','code':0x2,'description':'Record\x20length\x20exceeded'},{'module':'registrar','code':0x3,'description':'Record\x20type\x20empty'},{'module':'arb','code':0x1,'description':'Maximum\x20proposition\x20count\x20exceeded'},{'module':'arb','code':0x2,'description':'Arb\x20order\x20not\x20match'},{'module':'arb','code':0x3,'description':'Status\x20not\x20match'},{'module':'arb','code':0x4,'description':'Voting\x20deadline\x20not\x20passed'},{'module':'arb','code':0x5,'description':'Proposition\x20not\x20found'},{'module':'arb','code':0x6,'description':'Maximum\x20voter\x20count\x20exceeded'},{'module':'arb','code':0x7,'description':'Voting\x20deadline\x20passed'},{'module':'arb','code':0x8,'description':'Withdraw\x20duration\x20time\x20not\x20passed'},{'module':'proof','code':0x1,'description':'Maximum\x20proof\x20size\x20exceeded'},{'module':'proof','code':0x2,'description':'Maximum\x20server\x20public\x20key\x20size\x20exceeded'},{'module':'proof','code':0x3,'description':'Maximum\x20server\x20signature\x20size\x20exceeded'},{'module':'common','code':0x1,'description':'Name\x20length\x20exceeded'},{'module':'common','code':0x2,'description':'Name\x20empty'},{'module':'common','code':0x4,'description':'Description\x20length\x20exceeded'},{'module':'common','code':0x6,'description':'Invalid\x20value\x20type'},{'module':'common','code':0x7,'description':'Address\x20type\x20not\x20match'},{'module':'common','code':0x8,'description':'Number\x20type\x20not\x20match'},{'module':'common','code':0x9,'description':'Invalid\x20data\x20value'},{'module':'common','code':0xa,'description':'Invalid\x20string\x20value'},{'module':'common','code':0xb,'description':'Long\x20name\x20length\x20exceeded'},{'module':'common','code':0xd,'description':'Invalid\x20service\x20object\x20type'}];function getWowokErrorDescription(a,b){const c=WowokMoveErrors['find'](d=>d['module']===a&&d['code']===b);return c?c['description']:null;}function formatMoveAbortMessage(a){const {command:b,location:c,abortCode:d,cleverError:e}=a,f=[];if(b!=null)f['push']('MoveAbort\x20in\x20'+formatOrdinal(b+0x1)+'\x20command');else f['push']('MoveAbort');if(e?.['constantName']){const g=e['value']?'\x27'+e['constantName']+'\x27:\x20'+e['value']:'\x27'+e['constantName']+'\x27';f['push'](g);}else{let h='abort\x20code:\x20'+d;if(c?.['package']&&c?.['module']){const i=c['package']['startsWith']('0x')?c['package']:'0x'+c['package'];if(i['toLowerCase']()===WOWOK_ADDRESS||i['toLowerCase']()==='0x2'){const j=parseInt(d,0xa);if(!isNaN(j)){const k=getWowokErrorDescription(c['module'],j);if(k)h='abort\x20code:\x20'+d+'\x20('+k+')';}}}f['push'](h);}if(c?.['package']&&c?.['module']){const l=['in\x20\x27'+[c['package']['startsWith']('0x')?c['package']:'0x'+c['package'],c['module'],c['functionName']]['filter'](Boolean)['join']('::')+'\x27'];if(e?.['lineNumber']!=null)l['push']('(line\x20'+e['lineNumber']+')');else{if(c['instruction']!=null)l['push']('(instruction\x20'+c['instruction']+')');}f['push'](l['join']('\x20'));}return f['join'](',\x20');}const MinimalEffectsWithError=a7i['struct']('MinimalEffectsWithError',{'status':a7h}),MinimalTransactionEffectsWithError=a7i['enum']('MinimalTransactionEffectsWithError',{'V1':MinimalEffectsWithError,'V2':MinimalEffectsWithError}),MinimalExecutionStatusNoError=a7i['enum']('MinimalExecutionStatusNoError',{'Success':null,'Failed':null}),MinimalEffectsNoError=a7i['struct']('MinimalEffectsNoError',{'status':MinimalExecutionStatusNoError}),MinimalTransactionEffectsNoError=a7i['enum']('MinimalTransactionEffectsNoError',{'V1':MinimalEffectsNoError,'V2':MinimalEffectsNoError});function formatErrorMessage(a,b){if(b!==null&&b!==void 0x0&&typeof b!=='boolean')return a+'('+JSON['stringify'](b,(c,d)=>typeof d==='bigint'?d['toString']():d)+')';return a;}function parseBcsExecutionError(a){const b=a['error'],c=a['command']!=null?Number(a['command']):void 0x0;switch(b['$kind']){case'MoveAbort':{const [d,e]=b['MoveAbort'],f={'package':d['module']['address'],'module':d['module']['name'],'function':d['function'],'functionName':d['functionName']??void 0x0,'instruction':d['instruction']};return{'$kind':'MoveAbort','message':formatMoveAbortMessage({'command':c,'location':f,'abortCode':String(e)}),'command':c,'MoveAbort':{'abortCode':String(e),'location':f}};}case'MoveObjectTooBig':return{'$kind':'SizeError','message':formatErrorMessage('MoveObjectTooBig',b['MoveObjectTooBig']),'command':c,'SizeError':{'name':'ObjectTooBig','size':Number(b['MoveObjectTooBig']['objectSize']),'maxSize':Number(b['MoveObjectTooBig']['maxObjectSize'])}};case'MovePackageTooBig':return{'$kind':'SizeError','message':formatErrorMessage('MovePackageTooBig',b['MovePackageTooBig']),'command':c,'SizeError':{'name':'PackageTooBig','size':Number(b['MovePackageTooBig']['objectSize']),'maxSize':Number(b['MovePackageTooBig']['maxObjectSize'])}};case'EffectsTooLarge':return{'$kind':'SizeError','message':formatErrorMessage('EffectsTooLarge',b['EffectsTooLarge']),'command':c,'SizeError':{'name':'EffectsTooLarge','size':Number(b['EffectsTooLarge']['currentSize']),'maxSize':Number(b['EffectsTooLarge']['maxSize'])}};case'WrittenObjectsTooLarge':return{'$kind':'SizeError','message':formatErrorMessage('WrittenObjectsTooLarge',b['WrittenObjectsTooLarge']),'command':c,'SizeError':{'name':'WrittenObjectsTooLarge','size':Number(b['WrittenObjectsTooLarge']['currentSize']),'maxSize':Number(b['WrittenObjectsTooLarge']['maxSize'])}};case'MoveVectorElemTooBig':return{'$kind':'SizeError','message':formatErrorMessage('MoveVectorElemTooBig',b['MoveVectorElemTooBig']),'command':c,'SizeError':{'name':'MoveVectorElemTooBig','size':Number(b['MoveVectorElemTooBig']['valueSize']),'maxSize':Number(b['MoveVectorElemTooBig']['maxScaledSize'])}};case'MoveRawValueTooBig':return{'$kind':'SizeError','message':formatErrorMessage('MoveRawValueTooBig',b['MoveRawValueTooBig']),'command':c,'SizeError':{'name':'MoveRawValueTooBig','size':Number(b['MoveRawValueTooBig']['valueSize']),'maxSize':Number(b['MoveRawValueTooBig']['maxScaledSize'])}};case'CommandArgumentError':return{'$kind':'CommandArgumentError','message':formatErrorMessage('CommandArgumentError',b['CommandArgumentError']),'command':c,'CommandArgumentError':{'argument':b['CommandArgumentError']['argIdx'],'name':b['CommandArgumentError']['kind']['$kind']}};case'TypeArgumentError':return{'$kind':'TypeArgumentError','message':formatErrorMessage('TypeArgumentError',b['TypeArgumentError']),'command':c,'TypeArgumentError':{'typeArgument':b['TypeArgumentError']['argumentIdx'],'name':b['TypeArgumentError']['kind']['$kind']}};case'PackageUpgradeError':{const g=b['PackageUpgradeError']['upgradeError'];return{'$kind':'PackageUpgradeError','message':formatErrorMessage('PackageUpgradeError',b['PackageUpgradeError']),'command':c,'PackageUpgradeError':{'name':g['$kind'],'packageId':g['$kind']==='UnableToFetchPackage'?g['UnableToFetchPackage']['packageId']:void 0x0,'digest':g['$kind']==='DigestDoesNotMatch'?a7t(g['DigestDoesNotMatch']['digest']):void 0x0}};}case'ExecutionCancelledDueToSharedObjectCongestion':return{'$kind':'CongestedObjects','message':formatErrorMessage('ExecutionCancelledDueToSharedObjectCongestion',b['ExecutionCancelledDueToSharedObjectCongestion']),'command':c,'CongestedObjects':{'name':'ExecutionCanceledDueToConsensusObjectCongestion','objects':b['ExecutionCancelledDueToSharedObjectCongestion']['congested_objects']}};case'AddressDeniedForCoin':return{'$kind':'CoinDenyListError','message':formatErrorMessage('AddressDeniedForCoin',b['AddressDeniedForCoin']),'command':c,'CoinDenyListError':{'name':'AddressDeniedForCoin','address':b['AddressDeniedForCoin']['address'],'coinType':b['AddressDeniedForCoin']['coinType']}};case'CoinTypeGlobalPause':return{'$kind':'CoinDenyListError','message':formatErrorMessage('CoinTypeGlobalPause',b['CoinTypeGlobalPause']),'command':c,'CoinDenyListError':{'name':'CoinTypeGlobalPause','coinType':b['CoinTypeGlobalPause']['coinType']}};case'CircularObjectOwnership':return{'$kind':'ObjectIdError','message':formatErrorMessage('CircularObjectOwnership',b['CircularObjectOwnership']),'command':c,'ObjectIdError':{'name':'CircularObjectOwnership','objectId':b['CircularObjectOwnership']['object']}};case'InvalidGasObject':return{'$kind':'ObjectIdError','message':'InvalidGasObject','command':c,'ObjectIdError':{'name':'InvalidGasObject','objectId':''}};case'InputObjectDeleted':return{'$kind':'ObjectIdError','message':'InputObjectDeleted','command':c,'ObjectIdError':{'name':'InputObjectDeleted','objectId':''}};case'InvalidTransferObject':return{'$kind':'ObjectIdError','message':'InvalidTransferObject','command':c,'ObjectIdError':{'name':'InvalidTransferObject','objectId':''}};case'NonExclusiveWriteInputObjectModified':return{'$kind':'Unknown','message':formatErrorMessage('NonExclusiveWriteInputObjectModified',b['NonExclusiveWriteInputObjectModified']),'command':c,'Unknown':null};case'InsufficientGas':case'InvariantViolation':case'FeatureNotYetSupported':case'InsufficientCoinBalance':case'CoinBalanceOverflow':case'PublishErrorNonZeroAddress':case'WowMoveVerificationError':case'MovePrimitiveRuntimeError':case'VMVerificationOrDeserializationError':case'VMInvariantViolation':case'FunctionNotFound':case'ArityMismatch':case'TypeArityMismatch':case'NonEntryFunctionInvoked':case'UnusedValueWithoutDrop':case'InvalidPublicFunctionReturnType':case'PublishUpgradeMissingDependency':case'PublishUpgradeDependencyDowngrade':case'CertificateDenied':case'WowMoveVerificationTimedout':case'SharedObjectOperationNotAllowed':case'ExecutionCancelledDueToRandomnessUnavailable':case'InvalidLinkage':case'InsufficientBalanceForWithdraw':return{'$kind':'Unknown','message':b['$kind'],'command':c,'Unknown':null};default:return{'$kind':'Unknown','message':'Unknown\x20error','command':c,'Unknown':null};}}function parseTransactionBcs(a,b=![]){return(b?a7n['fromKindBytes'](a):a7n['fromBytes'](a))['snapshot']();}function extractStatusFromEffectsBcs(a){let b=null;try{b=MinimalTransactionEffectsWithError['parse'](a);}catch{const d=MinimalTransactionEffectsNoError['parse'](a);if((d['V1']??d['V2'])['status']['$kind']==='Success')return{'success':!![],'error':null};return{'success':![],'error':{'$kind':'Unknown','message':'ExecutionFailed','Unknown':null}};}const c=(b['V1']??b['V2'])['status'];if(c['$kind']==='Success')return{'success':!![],'error':null};return{'success':![],'error':parseBcsExecutionError(c['Failure'])};}function parseTransactionEffectsBcs(a){const b=a7i['TransactionEffects']['parse'](a);switch(b['$kind']){case'V1':return parseTransactionEffectsV1({'bytes':a,'effects':b['V1']});case'V2':return parseTransactionEffectsV2({'bytes':a,'effects':b['V2']});default:throw new Error('Unknown\x20transaction\x20effects\x20version:\x20'+b['$kind']);}}function parseTransactionEffectsV1(a){throw new Error('V1\x20effects\x20are\x20not\x20supported\x20yet');}function parseTransactionEffectsV2({bytes:a,effects:b}){const c=b['changedObjects']['map'](([d,e])=>{return{'objectId':d,'inputState':e['inputState']['$kind']==='Exist'?'Exists':'DoesNotExist','inputVersion':e['inputState']['Exist']?.[0x0][0x0]??null,'inputDigest':e['inputState']['Exist']?.[0x0][0x1]??null,'inputOwner':e['inputState']['Exist']?.[0x1]??null,'outputState':e['outputState']['$kind']==='NotExist'?'DoesNotExist':e['outputState']['$kind'],'outputVersion':e['outputState']['$kind']==='PackageWrite'?e['outputState']['PackageWrite']?.[0x0]:e['outputState']['$kind']==='ObjectWrite'?b['lamportVersion']:null,'outputDigest':e['outputState']['$kind']==='PackageWrite'?e['outputState']['PackageWrite']?.[0x1]:e['outputState']['$kind']==='ObjectWrite'?e['outputState']['ObjectWrite']?.[0x0]??null:null,'outputOwner':e['outputState']['$kind']==='ObjectWrite'?e['outputState']['ObjectWrite'][0x1]:null,'idOperation':e['idOperation']['$kind']};});return{'bcs':a,'version':0x2,'status':b['status']['$kind']==='Success'?{'success':!![],'error':null}:{'success':![],'error':parseBcsExecutionError(b['status']['Failure'])},'gasUsed':b['gasUsed'],'transactionDigest':b['transactionDigest'],'gasObject':b['gasObjectIndex']===null?null:c[b['gasObjectIndex']]??null,'eventsDigest':b['eventsDigest'],'dependencies':b['dependencies'],'lamportVersion':b['lamportVersion'],'changedObjects':c,'unchangedConsensusObjects':b['unchangedConsensusObjects']['map'](([d,e])=>{return{'kind':e['$kind'],'objectId':d,'version':e['$kind']==='ReadOnlyRoot'?e['ReadOnlyRoot'][0x0]:e[e['$kind']],'digest':e['$kind']==='ReadOnlyRoot'?e['ReadOnlyRoot'][0x1]:null};}),'auxiliaryDataDigest':b['auxDataDigest']};}const PACKAGE_VERSION='2.3.16',CODE_TO_ERROR_TYPE={'-32700':'ParseError','-32701':'OversizedRequest','-32702':'OversizedResponse','-32600':'InvalidRequest','-32601':'MethodNotFound','-32602':'InvalidParams','-32603':'InternalError','-32604':'ServerBusy','-32000':'CallExecutionFailed','-32001':'UnknownError','-32003':'SubscriptionClosed','-32004':'SubscriptionClosedWithError','-32005':'BatchesNotSupported','-32006':'TooManySubscriptions','-32050':'TransientError','-32002':'TransactionExecutionClientError'};var WowHTTPTransportError=class extends Error{},JsonRpcError=class extends WowHTTPTransportError{constructor(a,b){super(a),this['code']=b,this['type']=CODE_TO_ERROR_TYPE[b]??'ServerError';}},WowHTTPStatusError=class extends WowHTTPTransportError{constructor(a,b,c){super(a),this['status']=b,this['statusText']=c;}},JsonRpcHTTPTransport=class{#requestId=0x0;#options;constructor(a){this.#options=a;}['fetch'](a,b){const c=this.#options['fetch']??fetch;if(!c)throw new Error('The\x20current\x20environment\x20does\x20not\x20support\x20fetch,\x20you\x20can\x20provide\x20a\x20fetch\x20implementation\x20in\x20the\x20options\x20for\x20WowHTTPTransport.');return c(a,b);}async['request'](a){this.#requestId+=0x1;const b=await this['fetch'](this.#options['rpc']?.['url']??this.#options['url'],{'method':'POST','signal':a['signal'],'headers':{'Content-Type':'application/json','Client-Sdk-Type':'typescript','Client-Sdk-Version':PACKAGE_VERSION,'Client-Request-Method':a['method'],...this.#options['rpc']?.['headers']},'body':JSON['stringify']({'jsonrpc':'2.0','id':this.#requestId,'method':a['method'],'params':a['params']})});if(!b['ok'])throw new WowHTTPStatusError('Unexpected\x20status\x20code:\x20'+b['status'],b['status'],b['statusText']);const c=await b['json']();if('error'in c&&c['error']!=null)throw new JsonRpcError(c['error']['message'],c['error']['code']);return c['result'];}};const MAX_GAS=0xba43b7400;function convertBcsExpirationToInput(a){if(!a)return null;if('None'in a)return{'None':!![]};if('Epoch'in a)return{'Epoch':Number(a['Epoch'])};if('ValidDuring'in a)return{'ValidDuring':a['ValidDuring']};return null;}function parseJsonRpcExecutionStatus(a,b){if(a['status']==='success')return{'success':!![],'error':null};const c=a['error']??'Unknown';if(b){const d=c['match'](/in command (\d+)/),e=d?parseInt(d[0x1],0xa):void 0x0,f=c['match'](/instruction:\s*(\d+)/),g=f?parseInt(f[0x1],0xa):void 0x0,h=b['module_id']?.['split']('::')??[],i=h[0x0]?a7b(h[0x0]):void 0x0,j=h[0x1];return{'success':![],'error':{'$kind':'MoveAbort','message':formatMoveAbortMessage({'command':e,'location':i&&j?{'package':i,'module':j,'functionName':b['function']??void 0x0,'instruction':g}:void 0x0,'abortCode':String(b['error_code']??0x0),'cleverError':b['line']!=null?{'lineNumber':b['line']}:void 0x0}),'command':e,'MoveAbort':{'abortCode':String(b['error_code']??0x0),'location':b['module_id']?{'package':a7b(b['module_id']['split']('::')[0x0]??''),'module':b['module_id']['split']('::')[0x1]??'','functionName':b['function']??void 0x0,'instruction':g}:void 0x0}}};}return{'success':![],'error':{'$kind':'Unknown','message':c,'Unknown':null}};}var JSONRpcCoreClient=class extends CoreClient{#jsonRpcClient;constructor({jsonRpcClient:a}){super({'network':a['network'],'base':a}),this.#jsonRpcClient=a;}async['getObjects'](a){const b=chunk(a['objectIds'],0x32),c=[];for(const d of b){const e=await this.#jsonRpcClient['multiGetObjects']({'objectIds':d,'options':{'showOwner':!![],'showType':!![],'showBcs':a['include']?.['content']||a['include']?.['objectBcs']?!![]:![],'showPreviousTransaction':a['include']?.['previousTransaction']||a['include']?.['objectBcs']?!![]:![],'showStorageRebate':a['include']?.['objectBcs']??![],'showContent':a['include']?.['json']??![],'showDisplay':a['include']?.['display']??![]},'signal':a['signal']});for(const [f,g]of e['entries']())if(g['error'])c['push'](a7o['fromResponse'](g['error'],d[f]));else c['push'](parseObject(g['data'],a['include']));}return{'objects':c};}async['listOwnedObjects'](a){let b=null;if(a['type']){const d=a['type']['split']('::');if(d['length']===0x1)b={'Package':a['type']};else{if(d['length']===0x2)b={'MoveModule':{'package':d[0x0],'module':d[0x1]}};else b={'StructType':a['type']};}}const c=await this.#jsonRpcClient['getOwnedObjects']({'owner':a['owner'],'limit':a['limit'],'cursor':a['cursor'],'options':{'showOwner':!![],'showType':!![],'showBcs':a['include']?.['content']||a['include']?.['objectBcs']?!![]:![],'showPreviousTransaction':a['include']?.['previousTransaction']||a['include']?.['objectBcs']?!![]:![],'showStorageRebate':a['include']?.['objectBcs']??![],'showContent':a['include']?.['json']??![],'showDisplay':a['include']?.['display']??![]},'filter':b,'signal':a['signal']});return{'objects':c['data']['map'](e=>{if(e['error'])throw a7o['fromResponse'](e['error']);return parseObject(e['data'],a['include']);}),'hasNextPage':c['hasNextPage'],'cursor':c['nextCursor']??null};}async['listCoins'](a){const b=await this.#jsonRpcClient['getCoins']({'owner':a['owner'],'coinType':a['coinType'],'limit':a['limit'],'cursor':a['cursor'],'signal':a['signal']});return{'objects':b['data']['map'](c=>({'objectId':c['coinObjectId'],'version':c['version'],'digest':c['digest'],'balance':c['balance'],'type':a7f('0x2::coin::Coin<'+c['coinType']+'>'),'owner':{'$kind':'AddressOwner','AddressOwner':a['owner']}})),'hasNextPage':b['hasNextPage'],'cursor':b['nextCursor']??null};}async['getBalance'](a){const b=await this.#jsonRpcClient['getBalance']({'owner':a['owner'],'coinType':a['coinType'],'signal':a['signal']}),c=b['fundsInAddressBalance']??'0',d=String(BigInt(b['totalBalance'])-BigInt(c));return{'balance':{'coinType':a7f(b['coinType']),'balance':b['totalBalance'],'coinBalance':d,'addressBalance':c}};}async['getCoinMetadata'](a){const b=a['coinType'],c=await this.#jsonRpcClient['getCoinMetadata']({'coinType':b,'signal':a['signal']});if(!c)return{'coinMetadata':null};return{'coinMetadata':{'id':c['id']??null,'decimals':c['decimals'],'name':c['name'],'symbol':c['symbol'],'description':c['description'],'iconUrl':c['iconUrl']??null}};}async['listBalances'](a){return{'balances':(await this.#jsonRpcClient['getAllBalances']({'owner':a['owner'],'signal':a['signal']}))['map'](b=>{const c=b['fundsInAddressBalance']??'0',d=String(BigInt(b['totalBalance'])-BigInt(c));return{'coinType':a7f(b['coinType']),'balance':b['totalBalance'],'coinBalance':d,'addressBalance':c};}),'hasNextPage':![],'cursor':null};}async['getTransaction'](a){return parseTransaction(await this.#jsonRpcClient['getTransactionBlock']({'digest':a['digest'],'options':{'showRawInput':!![],'showEffects':!![],'showObjectChanges':a['include']?.['objectTypes']??![],'showRawEffects':a['include']?.['effects']??![],'showEvents':a['include']?.['events']??![],'showBalanceChanges':a['include']?.['balanceChanges']??![]},'signal':a['signal']}),a['include']);}async['executeTransaction'](a){return parseTransaction(await this.#jsonRpcClient['executeTransactionBlock']({'txBytes':toBase64(a['transaction']),'signatures':a['signatures'],'options':{'showRawInput':!![],'showEffects':!![],'showRawEffects':a['include']?.['effects']??![],'showEvents':a['include']?.['events']??![],'showObjectChanges':a['include']?.['objectTypes']??![],'showBalanceChanges':a['include']?.['balanceChanges']??![]},'signal':a['signal']}),a['include']);}async['simulateTransaction'](a){if(!(a['transaction']instanceof Uint8Array))await a['transaction']['build']({'client':this,'onlyTransactionKind':!![]});const b=a7s['from'](a['transaction']),c=a['transaction']instanceof Uint8Array?null:a7n['restore'](a['transaction']['getData']()),d=c?c['build']({'overrides':{'gasData':{'budget':c['gasData']['budget']??String(MAX_GAS),'price':c['gasData']['price']??String(await this.#jsonRpcClient['getReferenceGasPrice']()),'payment':c['gasData']['payment']??[]}}}):a['transaction'],f=b['getData']()['sender']??a7b('0x0'),g=a['checksEnabled']===![];let h=null;try{h=await this.#jsonRpcClient['dryRunTransactionBlock']({'txBytes':toBase64(d),'signal':a['signal']});}catch(q){if(!g)throw q;}let i=null;if(a['include']?.['commandResults']||g)try{i=await this.#jsonRpcClient['devInspectTransactionBlock']({'senderAddress':f,'txBytes':toBase64(d),'signal':a['signal']});}catch{}const j=!h||h['effects']['status']['status']!=='success',k=g&&j&&i?i:h??i;if(!k)throw new Error('simulateTransaction\x20failed:\x20no\x20results\x20from\x20dryRun\x20or\x20devInspect');const {effects:l,objectTypes:m}=parseTransactionEffectsJson({'effects':k['effects'],'objectChanges':(!j?h?.['objectChanges']:null)??[]});let n;if(a['include']?.['transaction']){n=parseTransactionBcs(d);if(c&&!j&&l['gasUsed']){if(!c['gasData']['budget'])n['gasData']['budget']=a7p(l['gasUsed']);}}const o={'digest':a7n['getDigestFromBytes'](d),'epoch':null,'status':l['status'],'effects':a['include']?.['effects']?l:void 0x0,'objectTypes':a['include']?.['objectTypes']?m:void 0x0,'signatures':[],'transaction':n??void 0x0,'bcs':a['include']?.['bcs']?d:void 0x0,'balanceChanges':a['include']?.['balanceChanges']&&h&&!j?h['balanceChanges']['map'](r=>({'coinType':a7f(r['coinType']),'address':parseOwnerAddress(r['owner']),'amount':r['amount']})):void 0x0,'events':a['include']?.['events']?k['events']?.['map'](r=>({'packageId':r['packageId'],'module':r['transactionModule'],'sender':r['sender'],'eventType':r['type'],'bcs':'bcs'in r?fromBase64(r['bcs']):new Uint8Array(),'json':r['parsedJson']??null}))??[]:void 0x0};let p;if(a['include']?.['commandResults']&&i?.['results'])p=i['results']['map'](r=>({'returnValues':(r['returnValues']??[])['map'](([s])=>({'bcs':new Uint8Array(s)})),'mutatedReferences':(r['mutableReferenceOutputs']??[])['map'](([,s])=>({'bcs':new Uint8Array(s)}))}));return l['status']['success']?{'$kind':'Transaction','Transaction':o,'commandResults':p}:{'$kind':'FailedTransaction','FailedTransaction':o,'commandResults':p};}async['getReferenceGasPrice'](a){const b=await this.#jsonRpcClient['getReferenceGasPrice']({'signal':a?.['signal']});return{'referenceGasPrice':String(b)};}async['getProtocolConfig'](a){const b=await this.#jsonRpcClient['getProtocolConfig']({'signal':a?.['signal']}),c={};for(const [d,e]of Object['entries'](b['attributes']))if(e===null)c[d]=null;else{if('u16'in e)c[d]=e['u16'];else{if('u32'in e)c[d]=e['u32'];else{if('u64'in e)c[d]=e['u64'];else{if('f64'in e)c[d]=e['f64'];else{if('bool'in e)c[d]=e['bool'];else{const f=Object['entries'](e);c[d]=f['length']===0x1?String(f[0x0][0x1]):JSON['stringify'](e);}}}}}}return{'protocolConfig':{'protocolVersion':b['protocolVersion'],'featureFlags':{...b['featureFlags']},'attributes':c}};}async['getCurrentSystemState'](a){const b=await this.#jsonRpcClient['getLatestWowSystemState']({'signal':a?.['signal']});return{'systemState':{'systemStateVersion':b['systemStateVersion'],'epoch':b['epoch'],'protocolVersion':b['protocolVersion'],'referenceGasPrice':b['referenceGasPrice']?.['toString']()??null,'epochStartTimestampMs':b['epochStartTimestampMs'],'safeMode':b['safeMode'],'safeModeStorageRewards':b['safeModeStorageRewards'],'safeModeComputationRewards':b['safeModeComputationRewards'],'safeModeStorageRebates':b['safeModeStorageRebates'],'safeModeNonRefundableStorageFee':b['safeModeNonRefundableStorageFee'],'parameters':{'epochDurationMs':b['epochDurationMs'],'stakeSubsidyStartEpoch':b['stakeSubsidyStartEpoch'],'maxValidatorCount':b['maxValidatorCount'],'minValidatorJoiningStake':b['minValidatorJoiningStake'],'validatorLowStakeThreshold':b['validatorLowStakeThreshold'],'validatorLowStakeGracePeriod':b['validatorLowStakeGracePeriod']},'storageFund':{'totalObjectStorageRebates':b['storageFundTotalObjectStorageRebates'],'nonRefundableBalance':b['storageFundNonRefundableBalance']},'stakeSubsidy':{'balance':b['stakeSubsidyBalance'],'distributionCounter':b['stakeSubsidyDistributionCounter'],'currentDistributionAmount':b['stakeSubsidyCurrentDistributionAmount'],'stakeSubsidyPeriodLength':b['stakeSubsidyPeriodLength'],'stakeSubsidyDecreaseRate':b['stakeSubsidyDecreaseRate']}}};}async['listDynamicFields'](a){const b=await this.#jsonRpcClient['getDynamicFields']({'parentId':a['parentId'],'limit':a['limit'],'cursor':a['cursor']});return{'dynamicFields':b['data']['map'](c=>{const d=c['type']==='DynamicObject',e=d?'0x2::dynamic_field::Field<0x2::dynamic_object_field::Wrapper<'+c['name']['type']+'>,\x200x2::object::ID>':'0x2::dynamic_field::Field<'+c['name']['type']+',\x20'+c['objectType']+'>',f=fromBase64(c['bcsName']),g=d?'0x2::dynamic_object_field::Wrapper<'+c['name']['type']+'>':c['name']['type'];return{'$kind':d?'DynamicObject':'DynamicField','fieldId':a7k(a['parentId'],g,f),'type':a7f(e),'name':{'type':c['name']['type'],'bcs':f},'valueType':c['objectType'],'childId':d?c['objectId']:void 0x0};}),'hasNextPage':b['hasNextPage'],'cursor':b['nextCursor']};}['resolveTransactionPlugin'](){return a7r;}async['getMoveFunction'](a){const b=await this.#jsonRpcClient['getNormalizedMoveFunction']({'package':a['packageId'],'moduleName':a['moduleName'],'functionName':a['name']});return{'function':{'packageId':a7b(a['packageId']),'moduleName':a['moduleName'],'name':a['name'],'visibility':parseVisibility(b['visibility']),'isEntry':b['isEntry'],'typeParameters':b['typeParameters']['map'](c=>({'isPhantom':![],'constraints':parseAbilities(c)})),'parameters':b['parameters']['map'](c=>parseNormalizedWowMoveType(c)),'returns':b['return']['map'](c=>parseNormalizedWowMoveType(c))}};}async['getChainIdentifier'](a){return this['cache']['read'](['chainIdentifier'],async()=>{return{'chainIdentifier':(await this.#jsonRpcClient['getCheckpoint']({'id':'0'}))['digest']};});}};function serializeObjectToBcs(a){if(a['bcs']?.['dataType']!=='moveObject')return;try{const b=a7f(a['bcs']['type']);let c;const d=a7b(a7m),e=a7f(a7m+'::coin::Coin<'+a7m+'::wow::WOW>'),f=a7f(a7l+'::staking_pool::StakedWow'),g=d+'::coin::Coin<';if(b===e)c={'GasCoin':null};else{if(b===f)c={'StakedWow':null};else{if(b['startsWith'](g)){const j=b['match'](new RegExp(d['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&')+'::coin::Coin<(.+)>$'));if(j)c={'Coin':a7j['parseFromStr'](j[0x1],!![])};else throw new Error('Failed\x20to\x20parse\x20Coin\x20type');}else{const k=a7j['parseFromStr'](b,!![]);if(typeof k!=='object'||!('struct'in k))throw new Error('Expected\x20struct\x20type\x20tag');c={'Other':k['struct']};}}}const h=fromBase64(a['bcs']['bcsBytes']),i=convertOwnerToBcs(a['owner']);return a7i['Object']['serialize']({'data':{'Move':{'type':c,'hasPublicTransfer':a['bcs']['hasPublicTransfer'],'version':a['bcs']['version'],'contents':h}},'owner':i,'previousTransaction':a['previousTransaction'],'storageRebate':a['storageRebate']})['toBytes']();}catch{return;}}function parseObject(a,b){const c=a['bcs']?.['dataType']==='moveObject'?fromBase64(a['bcs']['bcsBytes']):void 0x0,d=b?.['objectBcs']?serializeObjectToBcs(a):void 0x0,e=a['type']&&a['type']['includes']('::')?a7f(a['type']):a['type']??'',f=b?.['json']&&a['content']?.['dataType']==='moveObject'?a['content']['fields']:b?.['json']?null:void 0x0,g=b?.['display']?a['display']?.['data']!=null?{'output':a['display']['data'],'errors':null}:null:void 0x0;return{'objectId':a['objectId'],'version':a['version'],'digest':a['digest'],'type':e,'content':b?.['content']?c:void 0x0,'owner':parseOwner(a['owner']),'previousTransaction':b?.['previousTransaction']?a['previousTransaction']??void 0x0:void 0x0,'objectBcs':d,'json':f,'display':g};}function parseOwner(a){if(a==='Immutable')return{'$kind':'Immutable','Immutable':!![]};if('ConsensusAddressOwner'in a)return{'$kind':'ConsensusAddressOwner','ConsensusAddressOwner':{'owner':a['ConsensusAddressOwner']['owner'],'startVersion':a['ConsensusAddressOwner']['start_version']}};if('AddressOwner'in a)return{'$kind':'AddressOwner','AddressOwner':a['AddressOwner']};if('ObjectOwner'in a)return{'$kind':'ObjectOwner','ObjectOwner':a['ObjectOwner']};if('Shared'in a)return{'$kind':'Shared','Shared':{'initialSharedVersion':a['Shared']['initial_shared_version']}};throw new Error('Unknown\x20owner\x20type:\x20'+JSON['stringify'](a));}function convertOwnerToBcs(a){if(a==='Immutable')return{'Immutable':null};if('AddressOwner'in a)return{'AddressOwner':a['AddressOwner']};if('ObjectOwner'in a)return{'ObjectOwner':a['ObjectOwner']};if('Shared'in a)return{'Shared':{'initialSharedVersion':a['Shared']['initial_shared_version']}};if(typeof a==='object'&&a!==null&&'ConsensusAddressOwner'in a)return{'ConsensusAddressOwner':{'startVersion':a['ConsensusAddressOwner']['start_version'],'owner':a['ConsensusAddressOwner']['owner']}};throw new Error('Unknown\x20owner\x20type:\x20'+JSON['stringify'](a));}function parseOwnerAddress(a){if(a==='Immutable')return null;if('ConsensusAddressOwner'in a)return a['ConsensusAddressOwner']['owner'];if('AddressOwner'in a)return a['AddressOwner'];if('ObjectOwner'in a)return a['ObjectOwner'];if('Shared'in a)return null;throw new Error('Unknown\x20owner\x20type:\x20'+JSON['stringify'](a));}function parseTransaction(a,b){const c={};if(b?.['objectTypes'])a['objectChanges']?.['forEach'](j=>{if(j['type']!=='published')c[j['objectId']]=a7f(j['objectType']);});let d,e=[],f;if(a['rawTransaction']){const j=a7i['SenderSignedData']['parse'](fromBase64(a['rawTransaction']))[0x0];e=j['txSignatures'];if(b?.['transaction']||b?.['bcs']){const k=a7i['TransactionData']['serialize'](j['intentMessage']['value'])['toBytes']();if(b?.['bcs'])f=k;if(b?.['transaction'])d={...a7n['restore']({'version':0x2,'sender':j['intentMessage']['value']['V1']['sender'],'expiration':convertBcsExpirationToInput(j['intentMessage']['value']['V1']['expiration']),'gasData':j['intentMessage']['value']['V1']['gasData'],'inputs':j['intentMessage']['value']['V1']['kind']['ProgrammableTransaction']['inputs'],'commands':j['intentMessage']['value']['V1']['kind']['ProgrammableTransaction']['commands']})};}}const g=a['effects']?.['status']?parseJsonRpcExecutionStatus(a['effects']['status'],a['effects']['abortError']):{'success':![],'error':{'$kind':'Unknown','message':'Unknown','Unknown':null}},h=a['rawEffects']?new Uint8Array(a['rawEffects']):null,i={'digest':a['digest'],'epoch':a['effects']?.['executedEpoch']??null,'status':g,'effects':b?.['effects']&&h?parseTransactionEffectsBcs(h):void 0x0,'objectTypes':b?.['objectTypes']?c:void 0x0,'transaction':d,'bcs':f,'signatures':e,'balanceChanges':b?.['balanceChanges']?a['balanceChanges']?.['map'](l=>({'coinType':a7f(l['coinType']),'address':parseOwnerAddress(l['owner']),'amount':l['amount']}))??[]:void 0x0,'events':b?.['events']?a['events']?.['map'](l=>({'packageId':l['packageId'],'module':l['transactionModule'],'sender':l['sender'],'eventType':l['type'],'bcs':'bcs'in l?fromBase64(l['bcs']):new Uint8Array(),'json':l['parsedJson']??null}))??[]:void 0x0};return g['success']?{'$kind':'Transaction','Transaction':i}:{'$kind':'FailedTransaction','FailedTransaction':i};}function parseTransactionEffectsJson({bytes:a,effects:b,objectChanges:c}){const d=[],e=[],f={};return c?.['forEach'](g=>{switch(g['type']){case'published':d['push']({'objectId':g['packageId'],'inputState':'DoesNotExist','inputVersion':null,'inputDigest':null,'inputOwner':null,'outputState':'PackageWrite','outputVersion':g['version'],'outputDigest':g['digest'],'outputOwner':null,'idOperation':'Created'});break;case'transferred':d['push']({'objectId':g['objectId'],'inputState':'Exists','inputVersion':g['version'],'inputDigest':g['digest'],'inputOwner':{'$kind':'AddressOwner','AddressOwner':g['sender']},'outputState':'ObjectWrite','outputVersion':g['version'],'outputDigest':g['digest'],'outputOwner':parseOwner(g['recipient']),'idOperation':'None'}),f[g['objectId']]=a7f(g['objectType']);break;case'mutated':d['push']({'objectId':g['objectId'],'inputState':'Exists','inputVersion':g['previousVersion'],'inputDigest':null,'inputOwner':parseOwner(g['owner']),'outputState':'ObjectWrite','outputVersion':g['version'],'outputDigest':g['digest'],'outputOwner':parseOwner(g['owner']),'idOperation':'None'}),f[g['objectId']]=a7f(g['objectType']);break;case'deleted':d['push']({'objectId':g['objectId'],'inputState':'Exists','inputVersion':g['version'],'inputDigest':b['deleted']?.['find'](h=>h['objectId']===g['objectId'])?.['digest']??null,'inputOwner':null,'outputState':'DoesNotExist','outputVersion':null,'outputDigest':null,'outputOwner':null,'idOperation':'Deleted'}),f[g['objectId']]=a7f(g['objectType']);break;case'wrapped':d['push']({'objectId':g['objectId'],'inputState':'Exists','inputVersion':g['version'],'inputDigest':null,'inputOwner':{'$kind':'AddressOwner','AddressOwner':g['sender']},'outputState':'ObjectWrite','outputVersion':g['version'],'outputDigest':b['wrapped']?.['find'](h=>h['objectId']===g['objectId'])?.['digest']??null,'outputOwner':{'$kind':'ObjectOwner','ObjectOwner':g['sender']},'idOperation':'None'}),f[g['objectId']]=a7f(g['objectType']);break;case'created':d['push']({'objectId':g['objectId'],'inputState':'DoesNotExist','inputVersion':null,'inputDigest':null,'inputOwner':null,'outputState':'ObjectWrite','outputVersion':g['version'],'outputDigest':g['digest'],'outputOwner':parseOwner(g['owner']),'idOperation':'Created'}),f[g['objectId']]=a7f(g['objectType']);break;}}),{'objectTypes':f,'effects':{'bcs':a??null,'version':0x2,'status':parseJsonRpcExecutionStatus(b['status'],b['abortError']),'gasUsed':b['gasUsed'],'transactionDigest':b['transactionDigest'],'gasObject':{'objectId':b['gasObject']?.['reference']['objectId'],'inputState':'Exists','inputVersion':null,'inputDigest':null,'inputOwner':null,'outputState':'ObjectWrite','outputVersion':b['gasObject']['reference']['version'],'outputDigest':b['gasObject']['reference']['digest'],'outputOwner':parseOwner(b['gasObject']['owner']),'idOperation':'None'},'eventsDigest':b['eventsDigest']??null,'dependencies':b['dependencies']??[],'lamportVersion':b['gasObject']['reference']['version'],'changedObjects':d,'unchangedConsensusObjects':e,'auxiliaryDataDigest':null}};}function parseNormalizedWowMoveType(a){if(typeof a!=='string'){if('Reference'in a)return{'reference':'immutable','body':parseNormalizedWowMoveTypeBody(a['Reference'])};if('MutableReference'in a)return{'reference':'mutable','body':parseNormalizedWowMoveTypeBody(a['MutableReference'])};}return{'reference':null,'body':parseNormalizedWowMoveTypeBody(a)};}function parseNormalizedWowMoveTypeBody(a){switch(a){case'Address':return{'$kind':'address'};case'Bool':return{'$kind':'bool'};case'U8':return{'$kind':'u8'};case'U16':return{'$kind':'u16'};case'U32':return{'$kind':'u32'};case'U64':return{'$kind':'u64'};case'U128':return{'$kind':'u128'};case'U256':return{'$kind':'u256'};}if(typeof a==='string')throw new Error('Unknown\x20type:\x20'+a);if('Vector'in a)return{'$kind':'vector','vector':parseNormalizedWowMoveTypeBody(a['Vector'])};if('Struct'in a)return{'$kind':'datatype','datatype':{'typeName':a7b(a['Struct']['address'])+'::'+a['Struct']['module']+'::'+a['Struct']['name'],'typeParameters':a['Struct']['typeArguments']['map'](b=>parseNormalizedWowMoveTypeBody(b))}};if('TypeParameter'in a)return{'$kind':'typeParameter','index':a['TypeParameter']};throw new Error('Unknown\x20type:\x20'+JSON['stringify'](a));}function parseAbilities(a){return a['abilities']['map'](b=>{switch(b){case'Copy':return'copy';case'Drop':return'drop';case'Store':return'store';case'Key':return'key';default:return'unknown';}});}function parseVisibility(a){switch(a){case'Public':return'public';case'Private':return'private';case'Friend':return'friend';default:return'unknown';}}const WOW_CLIENT_BRAND=Symbol['for']('@mysten/WowJsonRpcClient');function isWowJsonRpcClient(a){return typeof a==='object'&&a!==null&&a[WOW_CLIENT_BRAND]===!![];}var WowJsonRpcClient=class extends BaseClient{get[WOW_CLIENT_BRAND](){return!![];}constructor(a){super({'network':a['network']}),this['jsonRpc']=this,this['transport']=a['transport']??new JsonRpcHTTPTransport({'url':a['url']}),this['core']=new JSONRpcCoreClient({'jsonRpcClient':this});}async['getRpcApiVersion']({signal:a}={}){return(await this['transport']['request']({'method':'rpc.discover','params':[],'signal':a}))['info']['version'];}async['getCoins']({coinType:a,owner:b,cursor:c,limit:d,signal:e}){if(!b||!a7a(a7b(b)))throw new Error('Invalid\x20Wow\x20address');const f=await this['transport']['request']({'method':'wx_getCoins','params':[b,a,c,d],'signal':e});return{...f,'data':f['data']['filter'](g=>!a7q(g['digest']))};}async['getAllCoins'](a){if(!a['owner']||!a7a(a7b(a['owner'])))throw new Error('Invalid\x20Wow\x20address');const b=await this['transport']['request']({'method':'wx_getAllCoins','params':[a['owner'],a['cursor'],a['limit']],'signal':a['signal']});return{...b,'data':b['data']['filter'](c=>!a7q(c['digest']))};}async['getBalance']({owner:a,coinType:b,signal:c}){if(!a||!a7a(a7b(a)))throw new Error('Invalid\x20Wow\x20address');return await this['transport']['request']({'method':'wx_getBalance','params':[a,b],'signal':c});}async['getAllBalances'](a){if(!a['owner']||!a7a(a7b(a['owner'])))throw new Error('Invalid\x20Wow\x20address');return await this['transport']['request']({'method':'wx_getAllBalances','params':[a['owner']],'signal':a['signal']});}async['getCoinMetadata']({coinType:a,signal:b}){return await this['transport']['request']({'method':'wx_getCoinMetadata','params':[a],'signal':b});}async['getTotalSupply']({coinType:a,signal:b}){return await this['transport']['request']({'method':'wx_getTotalSupply','params':[a],'signal':b});}async['call'](a,b,{signal:c}={}){return await this['transport']['request']({'method':a,'params':b,'signal':c});}async['getMoveFunctionArgTypes']({package:a,module:b,function:c,signal:d}){return await this['transport']['request']({'method':'w_getMoveFunctionArgTypes','params':[a,b,c],'signal':d});}async['getNormalizedMoveModulesByPackage']({package:a,signal:b}){return await this['transport']['request']({'method':'w_getNormalizedMoveModulesByPackage','params':[a],'signal':b});}async['getNormalizedMoveModule']({package:a,moduleName:b,signal:c}){return await this['transport']['request']({'method':'w_getNormalizedMoveModule','params':[a,b],'signal':c});}async['getNormalizedMoveFunction']({package:a,moduleName:b,functionName:c,signal:d}){return await this['transport']['request']({'method':'w_getNormalizedMoveFunction','params':[a,b,c],'signal':d});}async['getNormalizedMoveStruct']({package:a,moduleName:b,structName:c,signal:d}){return await this['transport']['request']({'method':'w_getNormalizedMoveStruct','params':[a,b,c],'signal':d});}async['getOwnedObjects'](a){if(!a['owner']||!a7a(a7b(a['owner'])))throw new Error('Invalid\x20Wow\x20address');const b=a['filter']?{...a['filter']}:void 0x0;return await this['transport']['request']({'method':'wx_getOwnedObjects','params':[a['owner'],{'filter':b,'options':a['options']},a['cursor'],a['limit']],'signal':a['signal']});}async['getObject'](a){if(!a['objectId']||!a7e(a7d(a['objectId'])))throw new Error('Invalid\x20Wow\x20Object\x20id');return await this['transport']['request']({'method':'w_getObject','params':[a['objectId'],a['options']],'signal':a['signal']});}async['tryGetPastObject'](a){return await this['transport']['request']({'method':'w_tryGetPastObject','params':[a['objectId'],a['version'],a['options']],'signal':a['signal']});}async['multiGetObjects'](a){if(!a||!a['objectIds']||!Array['isArray'](a['objectIds']))throw new Error('Invalid\x20input\x20for\x20multiGetObjects:\x20expected\x20{\x20objectIds:\x20string[]\x20},\x20got\x20'+JSON['stringify'](a));a['objectIds']['forEach'](b=>{if(!b||!a7e(a7d(b)))throw new Error('Invalid\x20Wow\x20Object\x20id\x20'+b);});if(a['objectIds']['length']!==new Set(a['objectIds'])['size'])throw new Error('Duplicate\x20object\x20ids\x20in\x20batch\x20call\x20'+a['objectIds']);return await this['transport']['request']({'method':'w_multiGetObjects','params':[a['objectIds'],a['options']],'signal':a['signal']});}async['queryTransactionBlocks']({filter:a,options:b,cursor:c,limit:d,order:e,signal:f}){return await this['transport']['request']({'method':'wx_queryTransactionBlocks','params':[{'filter':a,'options':b},c,d,e==='descending'],'signal':f});}async['getTransactionBlock'](a){if(!a7c(a['digest']))throw new Error('Invalid\x20Transaction\x20digest');return await this['transport']['request']({'method':'w_getTransactionBlock','params':[a['digest'],a['options']],'signal':a['signal']});}async['multiGetTransactionBlocks'](a){a['digests']['forEach'](b=>{if(!a7c(b))throw new Error('Invalid\x20Transaction\x20digest\x20'+b);});if(a['digests']['length']!==new Set(a['digests'])['size'])throw new Error('Duplicate\x20digests\x20in\x20batch\x20call\x20'+a['digests']);return await this['transport']['request']({'method':'w_multiGetTransactionBlocks','params':[a['digests'],a['options']],'signal':a['signal']});}async['executeTransactionBlock']({txBytes:a,signatures:b,options:c,signal:d}){return await this['transport']['request']({'method':'w_executeTransactionBlock','params':[a,b,c],'signal':d});}async['signAndExecuteTransaction']({transaction:a,signer:b,options:c,signal:d}){let e;if(a instanceof Uint8Array)e=a;else a['setSenderIfNotSet'](b['toWowAddress']()),e=await a['build']({'client':this});const {signature:f,bytes:g}=await b['signTransaction'](e);return this['executeTransactionBlock']({'txBytes':g,'signatures':[f],'options':c,'signal':d});}async['getTotalTransactionBlocks']({signal:a}={}){const b=await this['transport']['request']({'method':'w_getTotalTransactionBlocks','params':[],'signal':a});return BigInt(b);}async['getReferenceGasPrice']({signal:a}={}){const b=await this['transport']['request']({'method':'wx_getReferenceGasPrice','params':[],'signal':a});return BigInt(b);}async['getStakes'](a){if(!a['owner']||!a7a(a7b(a['owner'])))throw new Error('Invalid\x20Wow\x20address');return await this['transport']['request']({'method':'wx_getStakes','params':[a['owner']],'signal':a['signal']});}async['getStakesByIds'](a){return a['stakedWowIds']['forEach'](b=>{if(!b||!a7e(a7d(b)))throw new Error('Invalid\x20Wow\x20Stake\x20id\x20'+b);}),await this['transport']['request']({'method':'wx_getStakesByIds','params':[a['stakedWowIds']],'signal':a['signal']});}async['getLatestWowSystemState']({signal:a}={}){return await this['transport']['request']({'method':'wx_getLatestWowSystemState','params':[],'signal':a});}async['queryEvents']({query:a,cursor:b,limit:c,order:d,signal:e}){return await this['transport']['request']({'method':'wx_queryEvents','params':[a,b,c,d==='descending'],'signal':e});}async['devInspectTransactionBlock'](a){return await this['transport']['request']({'method':'w_devInspectTransactionBlock','params':[a['senderAddress'],a['txBytes'],a['gasPrice'],a['epoch'],a['additionalArgs']],'signal':a['signal']});}async['dryRunTransactionBlock'](a){return await this['transport']['request']({'method':'w_dryRunTransactionBlock','params':[a['txBytes']],'signal':a['signal']});}async['getDynamicFields'](a){if(!a['parentId']||!a7e(a7d(a['parentId'])))throw new Error('Invalid\x20Wow\x20Object\x20id');return await this['transport']['request']({'method':'wx_getDynamicFields','params':[a['parentId'],a['cursor'],a['limit']],'signal':a['signal']});}async['getDynamicFieldObject'](a){return await this['transport']['request']({'method':'wx_getDynamicFieldObject','params':[a['parentId'],a['name']],'signal':a['signal']});}async['getLatestCheckpointSequenceNumber']({signal:a}={}){const b=await this['transport']['request']({'method':'w_getLatestCheckpointSequenceNumber','params':[],'signal':a});return String(b);}async['getCheckpoint'](a){return await this['transport']['request']({'method':'w_getCheckpoint','params':[a['id']],'signal':a['signal']});}async['getCheckpoints'](a){return await this['transport']['request']({'method':'w_getCheckpoints','params':[a['cursor'],a?.['limit'],a['descendingOrder']],'signal':a['signal']});}async['getCommitteeInfo'](a){return await this['transport']['request']({'method':'wx_getCommitteeInfo','params':[a?.['epoch']],'signal':a?.['signal']});}async['getEpochs'](a){return await this['transport']['request']({'method':'wx_getEpochs','params':[a?.['cursor'],a?.['limit'],a?.['descendingOrder']],'signal':a?.['signal']});}async['getCurrentEpoch']({signal:a}={}){return await this['transport']['request']({'method':'wx_getCurrentEpoch','params':[],'signal':a});}async['getValidatorsApy']({signal:a}={}){return await this['transport']['request']({'method':'wx_getValidatorsApy','params':[],'signal':a});}async['getChainIdentifier']({signal:a}={}){return toHex(fromBase58((await this['getCheckpoint']({'id':'0','signal':a}))['digest'])['slice'](0x0,0x4));}async['getProtocolConfig'](a){return await this['transport']['request']({'method':'w_getProtocolConfig','params':[a?.['version']],'signal':a?.['signal']});}async['waitForTransaction']({signal:a,timeout:timeout=0x3c*0x3e8,pollInterval:pollInterval=0x2*0x3e8,...b}){const c=AbortSignal['timeout'](timeout),d=new Promise((e,f)=>{c['addEventListener']('abort',()=>f(c['reason']));});d['catch'](()=>{});while(!c['aborted']){a?.['throwIfAborted']();try{return await this['getTransactionBlock'](b);}catch{await Promise['race']([new Promise(e=>setTimeout(e,pollInterval)),d]);}}c['throwIfAborted']();throw new Error('Unexpected\x20error\x20while\x20waiting\x20for\x20transaction\x20block.');}},WowClient=class extends WowJsonRpcClient{constructor(a){super({'url':a['url'],'network':a['network']??'testnet'});}};export{JsonRpcError as a,extractStatusFromEffectsBcs as c,parseTransactionEffectsBcs as d,CoreClient as f,JsonRpcHTTPTransport as i,formatMoveAbortMessage as l,ClientCache as m,WowJsonRpcClient as n,WowHTTPStatusError as o,BaseClient as p,isWowJsonRpcClient as r,WowHTTPTransportError as s,WowClient as t,parseTransactionBcs as u};
|