@wowok/wowok 2.7.8 → 2.7.10
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-DZ5-FP7_.mjs → arb-C7iVd3R0.mjs} +1 -1
- package/dist/esm/{base-f1zBnHpg.mjs → base-CE2-2noZ.mjs} +1 -1
- package/dist/esm/bcs/index.d.mts +1 -1
- package/dist/esm/cache-C5vEkZbd.d.mts +109 -0
- package/dist/esm/{call-auKyfjK7.mjs → call-p7U4CbV8.mjs} +1 -1
- package/dist/esm/client/index.d.mts +1 -1
- package/dist/esm/client/index.mjs +1 -1
- package/dist/esm/client-DyKuVUmu.mjs +1 -0
- package/dist/esm/cryptography/index.d.mts +1 -1
- package/dist/esm/{evm-account-CNlXZf5j.d.mts → evm-account-BIyan_LX.d.mts} +2 -2
- package/dist/esm/graphql/index.d.mts +1 -1
- package/dist/esm/graphql/index.mjs +1 -1
- package/dist/esm/{graphql-B-ccXDHR.mjs → graphql-DR76wicu.mjs} +1 -1
- package/dist/esm/grpc/index.d.mts +1 -1
- package/dist/esm/grpc/index.mjs +1 -1
- package/dist/esm/{grpc-BOYXM3Gp.mjs → grpc-BNJsaTtI.mjs} +1 -1
- package/dist/esm/{index-CfOec8aL.d.mts → index-2ntZAxNs.d.mts} +34 -8
- package/dist/esm/{index-o_aMVwsK.d.mts → index-B-cxGU73.d.mts} +6 -6
- package/dist/esm/index.d.mts +6 -7
- 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/{messenger-BYQYMKsr.mjs → messenger-BynJuae-.mjs} +1 -1
- package/dist/esm/{messenger-api-hJXTikF9.mjs → messenger-api-6XMqfsOv.mjs} +1 -1
- package/dist/esm/multisig/index.d.mts +1 -1
- package/dist/esm/multisig/index.mjs +1 -1
- package/dist/esm/network-y8yMus5q.mjs +1 -1
- package/dist/esm/{object-Ddewar4L.mjs → object-DDKcSofO.mjs} +1 -1
- package/dist/esm/passkey-hU0KN8tj.mjs +1 -1
- package/dist/esm/{passport-9xWbg5h4.mjs → passport-CgwpB5Gw.mjs} +1 -1
- package/dist/esm/proof-BZIhxZT6.mjs +1 -0
- package/dist/esm/publickey-C1XTriFK.mjs +1 -1
- package/dist/esm/publickey-CO7mE1h4.mjs +1 -1
- package/dist/esm/publickey-CaeLjex_.mjs +1 -1
- package/dist/esm/publickey-CvsHmrwa.mjs +1 -1
- package/dist/esm/publickey-D1qNOZY_.mjs +1 -1
- package/dist/esm/publickey-DioRydm4.mjs +1 -1
- package/dist/esm/{query-DNcY8aRP.mjs → query-DVYI8fBn.mjs} +1 -1
- package/dist/esm/{received-B6OMjPC0.mjs → received-BQ__z6hY.mjs} +1 -1
- package/dist/esm/secp256k1-DbTX5WTS.mjs +1 -1
- package/dist/esm/secp256r1-tIVPNUMT.mjs +1 -1
- package/dist/esm/{secure-storage-BT8ZocZk.d.mts → secure-storage-BKJ5fAL_.d.mts} +1 -1
- package/dist/esm/{service-BdbL5IK5.mjs → service-C_foi6xl.mjs} +1 -1
- package/dist/esm/storage-BnZ78gPJ.mjs +1 -0
- package/dist/esm/{storage-BRIn6pWr.d.mts → storage-C2pp9602.d.mts} +8 -0
- package/dist/esm/transactions/index.d.mts +1 -1
- package/dist/esm/{util-Bgqh9uNb.mjs → util-lcqHgHoI.mjs} +1 -1
- package/dist/esm/verify/index.d.mts +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 +1 -1
- package/dist/esm/w/call/guard.mjs +1 -1
- package/dist/esm/w/call/index.d.mts +1 -1
- 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 +1 -1
- 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/index.d.mts +5 -6
- package/dist/esm/w/index.mjs +1 -1
- package/dist/esm/w/local/account.d.mts +3 -3
- package/dist/esm/w/local/account.mjs +1 -1
- package/dist/esm/w/local/cache.d.mts +2 -2
- package/dist/esm/w/local/cache.mjs +1 -1
- package/dist/esm/w/local/config.mjs +1 -1
- package/dist/esm/w/local/evm/networks.mjs +1 -1
- package/dist/esm/w/local/evm-account.d.mts +1 -1
- package/dist/esm/w/local/evm-account.mjs +1 -1
- package/dist/esm/w/local/index.d.mts +5 -6
- package/dist/esm/w/local/index.mjs +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/reply.d.mts +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 +2 -2
- package/dist/esm/w/query/index.mjs +1 -1
- package/dist/esm/w/query/object.d.mts +2 -2
- package/dist/esm/w/query/object.mjs +1 -1
- package/dist/esm/w-B08W7cXA.mjs +1 -0
- package/package.json +1 -4
- package/dist/esm/cache-D81EHaqu.d.mts +0 -65
- package/dist/esm/client-CTMCNWFH.mjs +0 -1
- package/dist/esm/lock-QdrQzo0u.mjs +0 -1
- package/dist/esm/project-B3Z3z_Z_.d.mts +0 -246
- package/dist/esm/proof-Du71Cy6u.mjs +0 -1
- package/dist/esm/w/local/project.d.mts +0 -2
- package/dist/esm/w/local/project.mjs +0 -1
- package/dist/esm/w-DNJ63FSn.mjs +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { $d as
|
|
2
|
-
export { AddressActivity, AddressProfile, AllocationMode, AllocationSharing, Allocator, Allocators, Amount, AmountFromDepositGuard, AmountFromWithdrawGuard, AmountType, ArbIndemnity, ArbProposition, ArbStatus, ArbVoted, ArbsAnswer, ArbsQuery, CoreLinkView, DemandsAnswer, DemandsQuery, DiscountType, ENTITY_ORDER_ROLE_AGENT, ENTITY_ORDER_ROLE_OWNER, EntityContactItemView, EntityOrderItemView, EntityPermissionItemView, 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, QueryAddressProfile, QueryOrdersByUser, QueryTableItem_Entity, QueryTableItem_byAddress, QueryTableItem_byNameAddress, QueryTableItem_byString, QueryTableItem_byU64, RewardGuard, RoleEvidence, ServiceGuard, ServiceSale, ServiceSummary, ServicesAnswer, ServicesQuery, SharedObjectsAnswer, SharedObjectsAnswerItem, SharedObjectsQuery, TableAnswer, TableAnswerItem, TableItemQuery, TableItem_AddressMark, TableItem_DemandPresenter, TableItem_EntityContact, TableItem_EntityLinker, TableItem_EntityOrder, TableItem_EntityPermission, TableItem_EntityRegistrar, TableItem_MachineNode, TableItem_ObjectLinkerCore, TableItem_ObjectLinkerTx, TableItem_PermissionPerm, TableItem_ProgressHistory, TableItem_RepositoryData, TableItem_RewardRecord, TableItem_TreasuryHistory, TableQuery, TreasuryOp, TreasuryRecord, TxLinkView, UserOrderView, VoteWeight, VotingGuard, WReceivedObject, WitnessSourceType, WitnessTargetType, data2object, getMoveNameFromNumber, getMoveNameFromObjectType, getNumberFromMoveName, getNumberFromObjectType, getNumbersFromObjectTypes, getObjectTypeDefinition, getObjectTypeDefinitionFromNumber, getObjectTypeFromMoveName, getObjectTypeFromNumber, getObjectTypesFromNumbers, idFromToString, isValidIdFromInput, numberToObjectType, objectTypeFromAddress, objectTypeToNumber, parseIdFrom, queryOrdersByUser, queryTableItem_AddressMark, queryTableItem_DemandPresenter, queryTableItem_EntityContact, queryTableItem_EntityLinker, queryTableItem_EntityOrder, queryTableItem_EntityPermission, queryTableItem_EntityRegistrar, queryTableItem_MachineNode, queryTableItem_ObjectLinkerCore, queryTableItem_ObjectLinkerTx, queryTableItem_PermissionPerm, queryTableItem_ProgressHistory, queryTableItem_RepositoryData, queryTableItem_RewardRecord, queryTableItem_ServiceOrders, queryTableItem_TreasuryHistory, query_address_profile, query_arbs, query_demands, query_objects, query_objects_json, query_personal, query_services, query_shared_objects, query_shared_objects_json, query_table, query_tableItem, query_table_json, raw2type };
|
|
1
|
+
import { $d as Im, $f as ServiceSummary, $p as queryTableItem_EntityContact, Ad as Amount, Af as ObjectTreasury, Ap as WReceivedObject, Bd as CoreLinkView, Bf as PurchasedItem, Bp as getObjectTypeDefinitionFromNumber, Cf as ObjectPersonal, Cm as query_table, Cp as TableQuery, Dd as AllocationSharing, Df as ObjectResource, Dp as UserOrderView, Ed as AllocationMode, Ef as ObjectRepository, Em as raw2type, Ep as TxLinkView, Fd as ArbProposition, Ff as PersonalQuery, Fp as getMoveNameFromObjectType, Gd as ENTITY_ORDER_ROLE_OWNER, Gf as QueryTableItem_byAddress, Gp as isValidIdFromInput, Hd as DemandsQuery, Hf as QueryAddressProfiles, Hp as getObjectTypeFromNumber, Id as ArbStatus, If as PolicyRule, Ip as getNumberFromMoveName, Jd as EntityPermissionItemView, Jf as QueryTableItem_byU64, Jp as objectTypeToNumber, Kd as EntityContactItemView, Kf as QueryTableItem_byNameAddress, Kp as numberToObjectType, Ld as ArbVoted, Lf as PolicyWriteGuard, Lp as getNumberFromObjectType, Md as AmountFromWithdrawGuard, Mf as ObjectsAnswer, Mp as WitnessTargetType, Nd as AmountType, Nf as ObjectsQuery, Np as data2object, Od as Allocator, Of as ObjectReward, Op as VoteWeight, Pd as ArbIndemnity, Pf as PaymentInfo, Pp as getMoveNameFromNumber, Qd as IdFromInput, Qf as ServiceSale, Qp as queryTableItem_DemandPresenter, Rd as ArbsAnswer, Rf as ProgressSession, Rp as getNumbersFromObjectTypes, Sf as ObjectPermission, Sm as query_shared_objects_json, Sp as TableItem_TreasuryHistory, Td as AddressProfile, Tf as ObjectProof, Tm as query_table_json, Tp as TreasuryRecord, Ud as DiscountType, Uf as QueryOrdersByUser, Up as getObjectTypesFromNumbers, Vd as DemandsAnswer, Vf as QueryAddressProfile, Vp as getObjectTypeFromMoveName, Wd as ENTITY_ORDER_ROLE_AGENT, Wf as QueryTableItem_Entity, Wp as idFromToString, Xd as GuardSubmission, Xf as RoleEvidence, Xp as queryOrdersByUser, Yd as GuardInPassport, Yf as RewardGuard, Yp as parseIdFrom, Zd as IdFrom, Zf as ServiceGuard, Zp as queryTableItem_AddressMark, _f as ObjectGuard, _m as query_objects, _p as TableItem_ObjectLinkerTx, af as NamedOperator, am as queryTableItem_ObjectLinkerCore, ap as TableAnswer, ay as ObjectType, bf as ObjectPassport, bm as query_services, bp as TableItem_RepositoryData, cf as ObjectArb, cm as queryTableItem_ProgressHistory, cp as TableItem_AddressMark, df as ObjectContact, dm as queryTableItem_ServiceOrders, dp as TableItem_EntityLinker, ef as MAX_OBJECTS_PER_QUERY, em as queryTableItem_EntityLinker, ep as ServicesAnswer, ff as ObjectDemand, fm as queryTableItem_TreasuryHistory, fp as TableItem_EntityOrder, gf as ObjectEntityRegistrar, gm as query_demands, gp as TableItem_ObjectLinkerCore, hf as ObjectEntityLinker, hm as query_arbs, hp as TableItem_MachineNode, if as MachineNodePair, im as queryTableItem_MachineNode, ip as SharedObjectsQuery, jd as AmountFromDepositGuard, jf as ObjectTypeDefinition, jp as WitnessSourceType, kd as Allocators, kf as ObjectService, kp as VotingGuard, lf as ObjectArbitration, lm as queryTableItem_RepositoryData, lp as TableItem_DemandPresenter, mf as ObjectEntity, mm as query_address_profiles, mp as TableItem_EntityRegistrar, nf as MachineForwardGuard, nm as queryTableItem_EntityPermission, np as SharedObjectsAnswer, of as OBJECT_TYPE_DEFINITIONS, om as queryTableItem_ObjectLinkerTx, op as TableAnswerItem, pf as ObjectDiscount, pm as query_address_profile, pp as TableItem_EntityPermission, qd as EntityOrderItemView, qf as QueryTableItem_byString, qp as objectTypeFromAddress, rf as MachineNode, rm as queryTableItem_EntityRegistrar, rp as SharedObjectsAnswerItem, sf as ObjectAllocation, sm as queryTableItem_PermissionPerm, sp as TableItemQuery, tf as MachineForward, tm as queryTableItem_EntityOrder, tp as ServicesQuery, uf as ObjectBase, um as queryTableItem_RewardRecord, up as TableItem_EntityContact, vf as ObjectMachine, vm as query_objects_json, vp as TableItem_PermissionPerm, wd as AddressActivity, wf as ObjectProgress, wm as query_tableItem, wp as TreasuryOp, xf as ObjectPayment, xm as query_shared_objects, xp as TableItem_RewardRecord, yf as ObjectOrder, ym as query_personal, yp as TableItem_ProgressHistory, zd as ArbsQuery, zf as ProgressSessionHolder, zp as getObjectTypeDefinition } from "../../index-2ntZAxNs.mjs";
|
|
2
|
+
export { AddressActivity, AddressProfile, AllocationMode, AllocationSharing, Allocator, Allocators, Amount, AmountFromDepositGuard, AmountFromWithdrawGuard, AmountType, ArbIndemnity, ArbProposition, ArbStatus, ArbVoted, ArbsAnswer, ArbsQuery, CoreLinkView, DemandsAnswer, DemandsQuery, DiscountType, ENTITY_ORDER_ROLE_AGENT, ENTITY_ORDER_ROLE_OWNER, EntityContactItemView, EntityOrderItemView, EntityPermissionItemView, 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, QueryAddressProfile, QueryAddressProfiles, QueryOrdersByUser, QueryTableItem_Entity, QueryTableItem_byAddress, QueryTableItem_byNameAddress, QueryTableItem_byString, QueryTableItem_byU64, RewardGuard, RoleEvidence, ServiceGuard, ServiceSale, ServiceSummary, ServicesAnswer, ServicesQuery, SharedObjectsAnswer, SharedObjectsAnswerItem, SharedObjectsQuery, TableAnswer, TableAnswerItem, TableItemQuery, TableItem_AddressMark, TableItem_DemandPresenter, TableItem_EntityContact, TableItem_EntityLinker, TableItem_EntityOrder, TableItem_EntityPermission, TableItem_EntityRegistrar, TableItem_MachineNode, TableItem_ObjectLinkerCore, TableItem_ObjectLinkerTx, TableItem_PermissionPerm, TableItem_ProgressHistory, TableItem_RepositoryData, TableItem_RewardRecord, TableItem_TreasuryHistory, TableQuery, TreasuryOp, TreasuryRecord, TxLinkView, UserOrderView, VoteWeight, VotingGuard, WReceivedObject, WitnessSourceType, WitnessTargetType, data2object, getMoveNameFromNumber, getMoveNameFromObjectType, getNumberFromMoveName, getNumberFromObjectType, getNumbersFromObjectTypes, getObjectTypeDefinition, getObjectTypeDefinitionFromNumber, getObjectTypeFromMoveName, getObjectTypeFromNumber, getObjectTypesFromNumbers, idFromToString, isValidIdFromInput, numberToObjectType, objectTypeFromAddress, objectTypeToNumber, parseIdFrom, queryOrdersByUser, queryTableItem_AddressMark, queryTableItem_DemandPresenter, queryTableItem_EntityContact, queryTableItem_EntityLinker, queryTableItem_EntityOrder, queryTableItem_EntityPermission, queryTableItem_EntityRegistrar, queryTableItem_MachineNode, queryTableItem_ObjectLinkerCore, queryTableItem_ObjectLinkerTx, queryTableItem_PermissionPerm, queryTableItem_ProgressHistory, queryTableItem_RepositoryData, queryTableItem_RewardRecord, queryTableItem_ServiceOrders, queryTableItem_TreasuryHistory, query_address_profile, query_address_profiles, query_arbs, query_demands, query_objects, query_objects_json, query_personal, query_services, query_shared_objects, query_shared_objects_json, query_table, query_tableItem, query_table_json, raw2type };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as
|
|
1
|
+
import{j as a107a}from'../../common-Guc0E9Tj.mjs';import{$ as a107b,A as a107c,B as a107d,C as a107e,D as a107f,E as a107g,F as a107h,G as a107i,H as a107j,I as a107k,J as a107l,K as a107m,L as a107n,M as a107o,N as a107p,O as a107q,P as a107r,Q as a107s,R as a107t,S as a107u,T as a107v,U as a107w,V as a107x,W as a107y,X as a107z,Y as a107A,Z as a107B,_ as a107C,a as a107D,at as a107E,b as a107F,c as a107G,d as a107H,et as a107I,f as a107J,g as a107K,h as a107L,i as a107M,it as a107N,j as a107O,k as a107P,l as a107Q,m as a107R,n as a107S,nt as a107T,o as a107U,ot as a107V,p as a107W,q as a107X,r as a107Y,rt as a107Z,s as a107a0,t as a107a1,tt as a107a2,u as a107a3,v as a107a4,w as a107a5,x as a107a6,y as a107a7,z as a107a8}from'../../object-DDKcSofO.mjs';export{a107a1 as AllocationMode,a107S as AmountType,a107Y as ArbStatus,a107M as DiscountType,a107D as ENTITY_ORDER_ROLE_AGENT,a107U as ENTITY_ORDER_ROLE_OWNER,a107a0 as IdFrom,a107G as MAX_OBJECTS_PER_QUERY,a107Q as OBJECT_TYPE_DEFINITIONS,a107a as ObjectType,a107a3 as TreasuryOp,a107H as WitnessSourceType,a107J as WitnessTargetType,a107W as data2object,a107R as getMoveNameFromNumber,a107L as getMoveNameFromObjectType,a107K as getNumberFromMoveName,a107C as getNumberFromObjectType,a107a4 as getNumbersFromObjectTypes,a107a7 as getObjectTypeDefinition,a107F as getObjectTypeDefinitionFromNumber,a107a6 as getObjectTypeFromMoveName,a107u as getObjectTypeFromNumber,a107e as getObjectTypesFromNumbers,a107a5 as idFromToString,a107v as isValidIdFromInput,a107g as numberToObjectType,a107f as objectTypeFromAddress,a107q as objectTypeToNumber,a107P as parseIdFrom,a107c as queryOrdersByUser,a107O as queryTableItem_AddressMark,a107o as queryTableItem_DemandPresenter,a107p as queryTableItem_EntityContact,a107r as queryTableItem_EntityLinker,a107h as queryTableItem_EntityOrder,a107k as queryTableItem_EntityPermission,a107n as queryTableItem_EntityRegistrar,a107t as queryTableItem_MachineNode,a107a8 as queryTableItem_ObjectLinkerCore,a107d as queryTableItem_ObjectLinkerTx,a107x as queryTableItem_PermissionPerm,a107j as queryTableItem_ProgressHistory,a107w as queryTableItem_RepositoryData,a107y as queryTableItem_RewardRecord,a107i as queryTableItem_ServiceOrders,a107m as queryTableItem_TreasuryHistory,a107X as query_address_profile,a107l as query_address_profiles,a107A as query_arbs,a107z as query_demands,a107B as query_objects,a107s as query_objects_json,a107b as query_personal,a107I as query_services,a107a2 as query_shared_objects,a107T as query_shared_objects_json,a107Z as query_table,a107N as query_tableItem,a107E as query_table_json,a107V as raw2type};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as a108a}from'./client-DyKuVUmu.mjs';import{t as a108b}from'./Transaction-BlZi1w6F.mjs';import{o as a108c}from'./exception-Xd2RFs2i.mjs';import{n as a108d}from'./network-y8yMus5q.mjs';import{d as a108e,r as a108f}from'./storage-BnZ78gPJ.mjs';import{Config}from'./w/local/config.mjs';import{r as a108g}from'./logger-Cs5Mf7Mf.mjs';import{Account}from'./w/local/account.mjs';import{bigIntToBytes,bytesToHex,hexToBytes as a108h}from'./w/local/evm/rlp.mjs';import{registerBridgeEvmNetworks}from'./w/local/evm/networks.mjs';import{EvmAccount}from'./w/local/evm-account.mjs';import{_ as a108i,g as a108j,m as a108k,x as a108l}from'./query-DVYI8fBn.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',IS_TRANSFER_PROCESSED_SIG='isTransferProcessed(uint64)',IS_TRANSFER_PROCESSED_SELECTOR='5458ea9e',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=a108h(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=a108h(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(a108h(BRIDGE_ETH_V2_SELECTOR),d,e,f));}function encodeBridgeETH(a,b){const c=a108h(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(a108h(BRIDGE_ETH_V1_SELECTOR),d,e,f));}function encodeBridgeERC20V2(a,b,c,d){const e=a108h(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(a108h(BRIDGE_ERC20_V2_SELECTOR),uintWord(a),uintWord(b),f,uintWord(d),g));}function encodeBridgeERC20(a,b,c,d){const e=a108h(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(a108h(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(a108h(d),g,h,e,f));}function encodeApprove(a,b){return'0x'+bytesToHex(concat(a108h(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 encodeIsTransferProcessed(a){return'0x'+bytesToHex(concat(a108h(IS_TRANSFER_PROCESSED_SELECTOR),uintWord(a)));}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],[IS_TRANSFER_PROCESSED_SIG,IS_TRANSFER_PROCESSED_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);}const BRIDGE_PACKAGE_ID='0xb',BRIDGE_OBJECT_ID='0x9',MESSAGE_KEY_TYPE=BRIDGE_PACKAGE_ID+'::message::BridgeMessageKey';let cachedRecordsId;function recordToAbiMessage(a){return{'messageType':a['message']['messageType'],'version':a['message']['messageVersion'],'nonce':a['message']['seqNum'],'chainID':a['message']['sourceChain'],'payload':a['message']['payload']};}async function getBridgeRecordsId(a){if(cachedRecordsId)return cachedRecordsId;try{const b=((await a['getObject']({'objectId':BRIDGE_OBJECT_ID,'options':{'showContent':!![]}}))?.['data']?.['content'])?.['fields']?.['inner']?.['fields']?.['id']?.['id'];if(!b)return void 0x0;const c=((await a['getDynamicFieldObject']({'parentId':b,'name':{'type':'u64','value':'1'}}))?.['data']?.['content'])?.['fields']?.['value']?.['fields']?.['token_transfer_records']?.['fields']?.['id']?.['id'];return cachedRecordsId=c,c;}catch{return;}}async function readBridgeRecord(a,b,c,d=0x0){const e=await getBridgeRecordsId(a);if(!e)return void 0x0;let f;try{f=await a['getDynamicFieldObject']({'parentId':e,'name':{'type':MESSAGE_KEY_TYPE,'value':{'source_chain':String(b),'message_type':String(d),'bridge_seq_num':String(c)}}});}catch{return;}const g=f?.['data']?.['content']?.['fields']?.['value']?.['fields']?.['value']?.['fields'];if(!g)return;return parseBridgeRecord(g);}async function readNextTokenTransferSeq(a){try{const b=((await a['getObject']({'objectId':BRIDGE_OBJECT_ID,'options':{'showContent':!![]}}))?.['data']?.['content'])?.['fields']?.['inner']?.['fields']?.['id']?.['id'];if(!b)return void 0x0;const c=(((await a['getDynamicFieldObject']({'parentId':b,'name':{'type':'u64','value':'1'}}))?.['data']?.['content'])?.['fields']?.['value']?.['fields']?.['sequence_nums'])?.['fields']?.['contents']??[];for(const d of c)if(Number(d?.['fields']?.['key'])===0x0)return BigInt(d?.['fields']?.['value']??0x0);return 0x0n;}catch{return;}}function parseBridgeRecord(a){const b=a?.['message']?.['fields']??a?.['message']??{},c=a?.['verified_signatures'],d=Array['isArray'](c)?c:c&&typeof c==='object'&&'Some'in c?c['Some']:[];return{'message':{'messageType':toNumber(b['message_type']),'messageVersion':toNumber(b['message_version']),'seqNum':toBigInt(b['seq_num']),'sourceChain':toNumber(b['source_chain']),'payload':toBytes(b['payload'])},'verifiedSignatures':Array['isArray'](d)?d['map'](e=>toBytes(e)):[],'claimed':!!a?.['claimed']};}function toNumber(a){if(typeof a==='number')return a;if(typeof a==='string')return Number(a);return 0x0;}function toBigInt(a){if(typeof a==='bigint')return a;if(typeof a==='number')return BigInt(a);if(typeof a==='string')return BigInt(a);return 0x0n;}function toBytes(a){if(a instanceof Uint8Array)return a;if(Array['isArray'](a))return Uint8Array['from'](a['map'](b=>Number(b)));if(typeof a==='string'){if(/^0x/i['test'](a)){const b=a['slice'](0x2),c=new Uint8Array(Math['ceil'](b['length']/0x2));for(let d=0x0;d<c['length'];d++){const e=b['slice'](d*0x2,d*0x2+0x2);c[d]=parseInt(e,0x10)||0x0;}return c;}try{return new Uint8Array(Buffer['from'](a,'base64'));}catch{return new Uint8Array(0x0);}}return new Uint8Array(0x0);}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=a108h(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']??!![];if(await isEvmNonceAlreadyProcessed({'bridgeProxyAddress':b['bridgeProxyAddress'],'network':b['network'],'rpcUrl':b['rpcUrl']},a['message']['nonce']))return{'success':![],'error':{'code':'ALREADY_PROCESSED','message':buildAlreadyProcessedMessage(a['message']['nonce'])}};let d=a['message'],f,g;const h=b['wowClient']?await readBridgeRecord(b['wowClient'],a['message']['chainID'],a['message']['nonce'],a['message']['messageType']):void 0x0;if(h&&h['verifiedSignatures']['length']>0x0)d=recordToAbiMessage(h),f=h['verifiedSignatures'];else{g=await b['nodeClient']['signWowToEth'](a['wowTxDigest'],a['eventIndex']);g['length']===0x0&&(console['warn']('tx_digest\x20路径未收集到签名,回退到\x20seq\x20路径:',a['message']['chainID'],a['message']['messageType'],a['message']['nonce']),g=await b['nodeClient']['signWowTokenTransfer'](a['message']['chainID'],a['message']['messageType'],a['message']['nonce']));if(g['length']===0x0)return{'success':![],'error':{'code':'NO_SIGNATURES','message':buildNoSignaturesMessage(a['message']['chainID'],a['message']['messageType'],a['message']['nonce'])}};d=g[0x0]['action']?messageFromActionData(g[0x0]['action'],a['message']):a['message'],f=signaturesToBytes(g);}const i=encodeTransferBridgedTokensWithSignatures(f,d,c),j={'to':b['bridgeProxyAddress'],'value':0x0n,'data':i,'network':b['network'],'rpcUrl':b['rpcUrl']},k=EvmAccount['Instance']();await k['active']();const l=await k['sign_and_send'](j,b['rpcUrl']);if(l['status']!=='0x1')return{'success':![],'error':{'code':'REVERTED','message':'ETH\x20claim\x20transaction\x20reverted','revertReason':'txHash:\x20'+l['transactionHash']}};return{'success':!![],'txHash':l['transactionHash']};}catch(m){return wrapBridgeError(m,'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=a108h(e),h=a108h(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']??!![];if(await isEvmNonceAlreadyProcessed({'bridgeProxyAddress':b['bridgeProxyAddress'],'network':b['network'],'rpcUrl':b['rpcUrl']},a['seqNum']))return{'success':![],'error':{'code':'ALREADY_PROCESSED','message':buildAlreadyProcessedMessage(a['seqNum'])}};let d=a['message'],f;const g=b['wowClient']?await readBridgeRecord(b['wowClient'],a['sourceChain'],a['seqNum'],a['messageType']):void 0x0;if(g&&g['verifiedSignatures']['length']>0x0)d=recordToAbiMessage(g),f=g['verifiedSignatures'];else{const m=await b['nodeClient']['signWowTokenTransfer'](a['sourceChain'],a['messageType'],a['seqNum']);if(m['length']===0x0)return{'success':![],'error':{'code':'NO_SIGNATURES','message':buildNoSignaturesMessage(a['sourceChain'],a['messageType'],a['seqNum'])}};d=m[0x0]['action']?messageFromActionData(m[0x0]['action'],a['message']):a['message'],f=signaturesToBytes(m);}const h=encodeTransferBridgedTokensWithSignatures(f,d,c),i={'to':b['bridgeProxyAddress'],'value':0x0n,'data':h,'network':b['network'],'rpcUrl':b['rpcUrl']},j=EvmAccount['Instance']();await j['active']();let k;try{await j['ethCall'](i);}catch(n){const o=n?.['message']??String(n);if(o['includes']('execution\x20reverted')||o['includes']('reverted\x20with\x20reason'))k=o;else console['warn']('\x20\x20[claimOnEthBySeq]\x20eth_call\x20warning\x20(skipped):',o['slice'](0x0,0x78));}if(k)return{'success':![],'error':{'code':'REVERTED','message':'ETH\x20claim\x20reverted','revertReason':k}};const l=await j['sign_and_send'](i,b['rpcUrl']);if(l['status']!=='0x1')return{'success':![],'error':{'code':'REVERTED','message':'ETH\x20claim\x20transaction\x20reverted','revertReason':'txHash:\x20'+l['transactionHash']}};return{'success':!![],'txHash':l['transactionHash']};}catch(p){return wrapBridgeError(p,'UNKNOWN','ETH\x20claim\x20(by\x20seq)\x20failed');}}async function isEvmNonceAlreadyProcessed(a,b){try{const c=EvmAccount['Instance']();await c['active']();const d=encodeIsTransferProcessed(b),f=(await c['ethCall']({'to':a['bridgeProxyAddress'],'value':0x0n,'data':d,'network':a['network'],'rpcUrl':a['rpcUrl']}))['replace'](/^0x/,'');return(f['length']>=0x2?f['slice'](-0x2):'')==='01';}catch(g){return console['warn']('\x20\x20[claim\x20precheck]\x20isTransferProcessed('+b+')\x20query\x20failed\x20(skipped):',(g?.['message']??String(g))['slice'](0x0,0x78)),![];}}function buildAlreadyProcessedMessage(a){return['EVM\x20bridge\x20has\x20already\x20processed\x20nonce\x20(seq)\x20'+a+'\x20(isTransferProcessed=true).','This\x20transfer\x20CANNOT\x20be\x20claimed,\x20and\x20the\x20WOW-side\x20funds\x20are\x20PERMANENTLY\x20LOCKED.','Do\x20NOT\x20retry\x20the\x20claim.','This\x20usually\x20means\x20the\x20WOW\x20bridge\x20seq\x20collided\x20with\x20an\x20old\x20EVM\x20nonce','left\x20over\x20from\x20a\x20previous\x20chain\x20generation\x20(re-genesis).']['join']('\x0a');}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)a108c('invalid\x20parameter','Invalid\x20tokenType:\x20'+a['tokenType']);if(a['amount']<=0x0n)a108c('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 a108b(),h=await Account['Instance']()['get_coin_object'](g,a['amount'],a['tokenType'],await getEnvAccount$1(b),b['network']);if(!h)a108c('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'])a108c('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':a108d(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)a108c('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)a108c('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)a108c('invalid\x20parameter','Invalid\x20tokenType:\x20'+a['tokenType']);if(a['bridgeSeqNum']<0x0n)a108c('invalid\x20parameter','bridgeSeqNum\x20must\x20be\x20non-negative');const c=a['sourceChainId']??0xa,d=a['bridgeObjectId']??DEFAULT_BRIDGE_OBJECT_ID,e=new a108b();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'])a108c('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 a108a({'url':a108d(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=a108g('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=a108h(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=a108h(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);}a108c('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')a108c('fail','WOW\x20tx\x20'+b+'\x20failed:\x20'+(g['effects']['status']['error']||'unknown'));logger$1['debug'](f+0x1+'/'+e+':\x20pending'),await sleep$1(c);}a108c('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 a108h(a);if(/^[0-9a-fA-F]+$/['test'](a)&&a['length']%0x2===0x0)return a108h(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,this['minRequiredStake']=a['minRequiredStake'];}get['totalWeight'](){return this['committee']['reduce']((a,b)=>a+b['weight'],0x0);}get['quorumWeight'](){if(this['minRequiredStake']!=null)return this['minRequiredStake'];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'])a108c('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=a108g('bridge');var BridgeClient=class BridgeClient{constructor(a={}){this['_transferHistory']=new Map(),this['_transferCounter']=0x0,this['_loadHistoryPromise']=Promise['resolve'](),this['_historyLock']=new a108e(),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':a108j[e]??'0x'+e['toString']()['padStart'](0x40,'0'),'weight':a108i[e]??0x1,'baseUrl':d}));this['nodeClient']=new BridgeNodeClient({'committee':b,'timeoutMs':this['config']['timeouts']['nodeRpcMs'],'minRequiredStake':0xd06}),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')a108c('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)a108c('invalid\x20parameter','No\x20healthy\x20EVM\x20RPC\x20available\x20for\x20chainId\x20'+a['chainId']+'.\x20Use\x20manage_evm_rpc\x20to\x20add\x20RPC\x20endpoints\x20first.');return e;}async['_ensureSafeEvmNonce'](a){const {WowClient:b}=await import('./client/index.mjs'),{Config:c}=await import('./w/local/config.mjs'),{getFullnodeUrl:d}=await import('./network-y8yMus5q.mjs')['then'](j=>j['i']),e=await c['Instance']()['network_get'](this['wowEnv']['network']),f=new b({'url':d(e),'network':e}),g=await this['resolveEvmRpcUrl'](),h=0x8;for(let j=0x0;j<h;j++){const k=await readNextTokenTransferSeq(f);if(k===void 0x0){console['warn']('\x20\x20[bridge]\x20readNextTokenTransferSeq\x20failed,\x20skipping\x20EVM\x20nonce\x20precheck');return;}if(!await isEvmNonceAlreadyProcessed({'bridgeProxyAddress':this['config']['ethereum']['bridgeProxyAddress'],'network':this['config']['ethereum']['chainId'],'rpcUrl':g},k))return;console['warn']('\x20\x20[bridge]\x20EVM\x20nonce\x20'+k+'\x20already\x20processed,\x20sending\x201-unit\x20placeholder\x20deposit\x20to\x20skip\x20it'),await waitForWowTx(f,(await depositFromWow({'amount':0x1n,'tokenType':a['tokenType'],'recipientEthAddress':a['recipientEthAddress'],'bridgeObjectId':a['bridgeObjectId']},this['wowEnv']))['digest'],this['config']['timeouts']['signaturePollIntervalMs'],this['config']['timeouts']['signatureCollectMs']);}a108c('fail','EVM\x20nonce\x20precheck:\x20could\x20not\x20find\x20a\x20safe\x20nonce\x20after\x20'+h+'\x20placeholder\x20deposits');}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=a108l(this['config'],a['token']);if(!f)a108c('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'])a108c('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'])a108c('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')a108c('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'])a108c('invalid\x20parameter','wowEnv\x20is\x20required\x20for\x20WOW→EVM\x20bridge');const c=a['waitForFinalization']??!![],d=this['config']['ethereum'],e=await this['resolveEvmRpcUrl'](),f=a108l(this['config'],a['token']);if(!f)a108c('invalid\x20parameter','Token\x20'+a['token']+'\x20not\x20found\x20in\x20config');const g=f['wowTypeTag'],h=f['tokenId'];await this['_ensureSafeEvmNonce']({'tokenType':g,'recipientEthAddress':a['recipientEthAddress'],'bridgeObjectId':this['config']['wow']['bridgeObjectId']});const 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-y8yMus5q.mjs')['then'](w=>w['i']),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)a108c('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'],'wowClient':n},t=await claimOnEthBySeq({'sourceChain':0x0,'messageType':0x0,'seqNum':i['seqNum'],'message':r},s);if(!t['success']||!t['txHash'])a108c('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'])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['stepDescription']=BRIDGE_STEP_DESCRIPTIONS['completed'],k['claimTxDigest']=l['claimedTxHash'];else{if(l['status']==='approved')k['status']='signatures_ready',k['step']='signatures_ready',k['stepDescription']=BRIDGE_STEP_DESCRIPTIONS['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'),{getFullnodeUrl:c}=await import('./network-y8yMus5q.mjs')['then'](e=>e['i']),d=this['config']['wow']['network'];return queryWowToEvmTransferStatus(new b({'url':c(d),'network':d}),a);}async['queryEvmToWowClaimStatus'](a){return queryWowClaimStatus({'sourceChainId':0xa,'bridgeSeqNum':a['bridgeSeqNum']},this['config']['wow']['network']);}async['claimWowToEvm'](a){if(!this['wowEnv'])a108c('invalid\x20parameter','wowEnv\x20is\x20required\x20for\x20WOW→EVM\x20claim');await this['_loadHistoryPromise'];const b=this['_transferHistory']['get'](a);if(!b)a108c('invalid\x20parameter','transferId\x20\x27'+a+'\x27\x20not\x20found');if(b['direction']!=='wow_to_evm')a108c('invalid\x20parameter','transferId\x20\x27'+a+'\x27\x20is\x20not\x20a\x20wow_to_evm\x20transfer');if(!b['depositTxDigest']||!b['bridgeSeq'])a108c('invalid\x20parameter','transferId\x20\x27'+a+'\x27\x20missing\x20deposit\x20info\x20(depositTxDigest\x20or\x20bridgeSeq)');const c=this['config']['ethereum'],d=await this['resolveEvmRpcUrl'](),e=a108l(this['config'],b['token']);if(!e)a108c('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-y8yMus5q.mjs')['then'](r=>r['i']),j=await h['Instance']()['network_get'](this['wowEnv']['network']),k=new g({'url':i(j),'network':j}),l=await k['getTransactionBlock']({'digest':b['depositTxDigest'],'options':{'showEffects':!![]}}),m=l['timestampMs']?BigInt(l['timestampMs']):BigInt(Date['now']()),n=(await Account['Instance']()['get'](this['wowEnv']['account']))?.['address']??'';if(!n)a108c('fail','Failed\x20to\x20resolve\x20WOW\x20sender\x20address');const o=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':m,'senderAddress':hexToBytes(n['startsWith']('0x')?n['slice'](0x2):n)}),p={'bridgeProxyAddress':c['bridgeProxyAddress'],'network':c['chainId'],'rpcUrl':d,'nodeClient':this['nodeClient'],'wowClient':k},q=await claimOnEthBySeq({'sourceChain':0x0,'messageType':0x0,'seqNum':BigInt(b['bridgeSeq']),'message':o},p);if(!q['success']||!q['txHash'])a108c('fail','EVM\x20claim\x20failed:\x20'+(q['error']?.['revertReason']?'revert:\x20'+q['error']['revertReason']:q['error']?.['message']??'unknown\x20error'));return this['_updateTransfer'](a,{'step':'claimed','status':'success','claimTxHash':q['txHash']}),{'claimTxHash':q['txHash'],'transferId':a};}async['bridgeWowToEvmSimple'](a){if(!this['wowEnv'])a108c('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=a108l(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'])a108c('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'])a108c('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=a108l(this['config'],a['token']);if(!f)a108c('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'])a108c('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=a108l(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)a108c('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=a108l(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=a108l(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['stepDescription']=BRIDGE_STEP_DESCRIPTIONS['completed']):(d['status']='failed',d['step']='failed',d['stepDescription']=BRIDGE_STEP_DESCRIPTIONS['failed'],d['error']='EVM\x20claim\x20transaction\x20reverted')):(d['status']='claiming',d['step']='claim_tx_pending',d['stepDescription']=BRIDGE_STEP_DESCRIPTIONS['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)a108c('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)a108c('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)a108c('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:a108c('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 a108f();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 a108k;}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{ERC20_TRANSFER_TOPIC as A,encodeTokenTransferPayloadV2 as B,buildClaimMessage as C,depositErc20 as D,isEvmNonceAlreadyProcessed as E,encodeBridgeERC20 as F,encodeBridgeERC20V2 as I,encodeBridgeETH as L,TOKENS_DEPOSITED_TOPIC as M,TOKENS_DEPOSITED_V2_TOPIC as N,depositEth as O,encodeApprove as P,encodeBridgeETHV2 as R,depositFromWow as S,claimOnEthBySeq as T,encodeTransferBridgedTokensWithSignatures as V,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_CLAIMED_TOPIC as j,depositFromEth 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,encodeIsTransferProcessed as z};
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"author": "wowok <build@wowok.net>",
|
|
4
4
|
"description": "Wowok Blockchain TypeScript API",
|
|
5
5
|
"homepage": "https://wowok.net",
|
|
6
|
-
"version": "2.7.
|
|
6
|
+
"version": "2.7.10",
|
|
7
7
|
"license": "Apache-2.0",
|
|
8
8
|
"sideEffects": false,
|
|
9
9
|
"files": [
|
|
@@ -251,9 +251,6 @@
|
|
|
251
251
|
"./w/local/util.js": {
|
|
252
252
|
"import": "./dist/esm/w/local/util.mjs"
|
|
253
253
|
},
|
|
254
|
-
"./w/local/project": {
|
|
255
|
-
"import": "./dist/esm/w/local/project.mjs"
|
|
256
|
-
},
|
|
257
254
|
"./w/query": {
|
|
258
255
|
"import": "./dist/esm/w/query/index.mjs"
|
|
259
256
|
}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
//#region src/w/local/cache.d.ts
|
|
2
|
-
type CacheExpireType = number | "INFINITE";
|
|
3
|
-
interface CachedData<T = any> {
|
|
4
|
-
expire: CacheExpireType;
|
|
5
|
-
data: T;
|
|
6
|
-
}
|
|
7
|
-
declare enum CachePrefix {
|
|
8
|
-
token = "token",
|
|
9
|
-
object = "object",
|
|
10
|
-
personal = "personal",
|
|
11
|
-
table = "table",
|
|
12
|
-
config = "config",
|
|
13
|
-
local_mark = "mark",
|
|
14
|
-
local_info = "info",
|
|
15
|
-
event = "event",
|
|
16
|
-
transaction = "tx",
|
|
17
|
-
entity = "entity",
|
|
18
|
-
shared_object = "sharedobject",
|
|
19
|
-
service_list = "servicelist",
|
|
20
|
-
demand_list = "demandlist",
|
|
21
|
-
arb_list = "arbitlist"
|
|
22
|
-
}
|
|
23
|
-
interface IStorage {
|
|
24
|
-
put(key: string, value: string): Promise<void>;
|
|
25
|
-
get(key: string): Promise<string | undefined>;
|
|
26
|
-
del(key: string): Promise<void>;
|
|
27
|
-
/** Delete every cache row whose key starts with `prefix`. */
|
|
28
|
-
delByPrefix(prefix: string): Promise<void>;
|
|
29
|
-
clear(): Promise<void>;
|
|
30
|
-
}
|
|
31
|
-
declare class Cache {
|
|
32
|
-
static storage: IStorage | null | undefined;
|
|
33
|
-
static memory: Map<string, CachedData<any>>;
|
|
34
|
-
private static keyLocks;
|
|
35
|
-
private static inflight;
|
|
36
|
-
private static keyLock;
|
|
37
|
-
static setStorage(storage?: IStorage | null | undefined): void;
|
|
38
|
-
static hasStorage(): boolean;
|
|
39
|
-
static initDefaultStorage(): void;
|
|
40
|
-
static notExpired<T>(cache: CachedData<T>): boolean;
|
|
41
|
-
static DefaultExpireTime: (bInfinite?: boolean) => CacheExpireType;
|
|
42
|
-
private static storeData;
|
|
43
|
-
static readStoredRaw<T = any>(key: [string, ...string[]]): Promise<CachedData<T> | undefined>;
|
|
44
|
-
static read<T = any>(key: [string, ...string[]], load: (key: [string, ...string[]]) => CachedData<T> | undefined | Promise<CachedData<T>> | Promise<undefined>, bForceLoad?: boolean): Promise<CachedData<T> | undefined>;
|
|
45
|
-
static read_many<T = any>(prefix: string, keys: string[], load: (prefix: string, load_keys: string[]) => Promise<CachedData<T>[]> | Promise<undefined>, bForceLoad?: boolean): Promise<CachedData<T>[]>;
|
|
46
|
-
static del(key: [string, ...string[]]): Promise<void>;
|
|
47
|
-
/**
|
|
48
|
-
* Batch delete cache entries by prefix and keys.
|
|
49
|
-
* Used to invalidate cache for objects mutated/created by a transaction.
|
|
50
|
-
* Cache key format: `${prefix}:${key}`
|
|
51
|
-
*/
|
|
52
|
-
static del_many(prefix: string, keys: string[]): Promise<void>;
|
|
53
|
-
/**
|
|
54
|
-
* Invalidate every cache entry under a prefix (memory + storage).
|
|
55
|
-
*
|
|
56
|
-
* Used for universe-level caches (shared-object / service / demand / arb
|
|
57
|
-
* lists, event streams) that become stale in full when a write creates or
|
|
58
|
-
* mutates any object in that universe — there is no per-object key to
|
|
59
|
-
* target, so the whole prefix is dropped.
|
|
60
|
-
*/
|
|
61
|
-
static clearPrefix(prefix: string): Promise<void>;
|
|
62
|
-
static clear(): void;
|
|
63
|
-
}
|
|
64
|
-
//#endregion
|
|
65
|
-
export { IStorage as a, CachedData as i, CacheExpireType as n, CachePrefix as r, Cache 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{M as a7k,O as a7l,S as a7m}from'./utils-CoXIRMWK.mjs';import{g as a7n,m as a7o,o as a7p,p as a7q,s as a7r,t as a7s}from'./Transaction-BlZi1w6F.mjs';import{t as a7t}from'./exception-Xd2RFs2i.mjs';import{fromBase58,fromBase64,toBase64,toHex}from'@mysten/bcs';import{chunk,toBase64 as a7u}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';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=a7t['find'](l=>l['module']===c['module']&&l['code']===j)?.['description']??null;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'?a7u(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.7.8',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'];}};let realTimeWindowMs=((()=>{const a=process['env']['WOWOK_REALTIME_WINDOW_MS'];if(!a)return 0x1388;const b=Number(a);return Number['isFinite'](b)&&b>=0x0?b:0x1388;})());const lastWriteAt=new Map();function touchWriteClock(a,b=Date['now']()){lastWriteAt['set'](a,b);}function lastWriteAtFor(a){return lastWriteAt['get'](a)??0x0;}function isRealtimeWindow(a){return Date['now']()-lastWriteAtFor(a)<=realTimeWindowMs;}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['listSharedObjects'](a){throw new Error('listSharedObjects\x20is\x20GraphQL-only:\x20the\x20JSON-RPC\x20API\x20has\x20no\x20global\x20shared-object\x20enumeration.\x20Use\x20the\x20GraphQL\x20transport\x20(WOWOK_TRANSPORT=graphql)\x20with\x20a\x20GraphQL\x20endpoint\x20configured\x20for\x20the\x20target\x20network.');}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){const b=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']});return touchWriteClock(this['network']),parseTransaction(b,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,requestType:d,signal:e}){return await this['transport']['request']({'method':'w_executeTransactionBlock','params':[a,b,c,d],'signal':e});}async['signAndExecuteTransaction']({transaction:a,signer:b,options:c,requestType:d,signal:e}){let f;if(a instanceof Uint8Array)f=a;else a['setSenderIfNotSet'](b['toWowAddress']()),f=await a['build']({'client':this});const {signature:g,bytes:h}=await b['signTransaction'](f);return this['executeTransactionBlock']({'txBytes':h,'signatures':[g],'options':c,'requestType':d,'signal':e});}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{touchWriteClock as a,WowHTTPStatusError as c,formatMoveAbortMessage as d,parseTransactionBcs as f,ClientCache as g,BaseClient as h,isRealtimeWindow as i,WowHTTPTransportError as l,CoreClient as m,WowJsonRpcClient as n,JsonRpcHTTPTransport as o,parseTransactionEffectsBcs as p,isWowJsonRpcClient as r,JsonRpcError as s,WowClient as t,extractStatusFromEffectsBcs as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var AsyncLock=class{constructor(){this['_locked']=![],this['_queue']=[];}async['acquire'](){if(!this['_locked']){this['_locked']=!![];return;}return new Promise(a=>{this['_queue']['push'](a);});}['release'](){if(this['_queue']['length']>0x0)this['_queue']['shift']()();else this['_locked']=![];}async['run'](a){await this['acquire']();try{return await a();}finally{this['release']();}}};export{AsyncLock as t};
|