@wowok/wowok 2.7.8 → 2.7.9

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.
Files changed (118) hide show
  1. package/dist/esm/{arb-DZ5-FP7_.mjs → arb-JMhHn5kY.mjs} +1 -1
  2. package/dist/esm/{base-f1zBnHpg.mjs → base-o08Syk_8.mjs} +1 -1
  3. package/dist/esm/{call-auKyfjK7.mjs → call-CtePYECR.mjs} +1 -1
  4. package/dist/esm/client/index.d.mts +1 -1
  5. package/dist/esm/client/index.mjs +1 -1
  6. package/dist/esm/{client-CTMCNWFH.mjs → client-oE69u-rK.mjs} +1 -1
  7. package/dist/esm/cryptography/index.d.mts +1 -1
  8. package/dist/esm/graphql/index.d.mts +1 -1
  9. package/dist/esm/graphql/index.mjs +1 -1
  10. package/dist/esm/{graphql-B-ccXDHR.mjs → graphql-DyX3W1VP.mjs} +1 -1
  11. package/dist/esm/grpc/index.d.mts +1 -1
  12. package/dist/esm/grpc/index.mjs +1 -1
  13. package/dist/esm/{grpc-BOYXM3Gp.mjs → grpc-BfuVFCn4.mjs} +1 -1
  14. package/dist/esm/{index-CfOec8aL.d.mts → index-OlNG95EF.d.mts} +13 -4
  15. package/dist/esm/index.d.mts +2 -3
  16. package/dist/esm/index.mjs +1 -1
  17. package/dist/esm/jsonRpc/index.d.mts +1 -1
  18. package/dist/esm/jsonRpc/index.mjs +1 -1
  19. package/dist/esm/keypairs/ed25519/index.d.mts +1 -1
  20. package/dist/esm/keypairs/falcon512/index.d.mts +1 -1
  21. package/dist/esm/keypairs/passkey/index.d.mts +1 -1
  22. package/dist/esm/keypairs/secp256k1/index.d.mts +1 -1
  23. package/dist/esm/keypairs/secp256r1/index.d.mts +1 -1
  24. package/dist/esm/{messenger-BYQYMKsr.mjs → messenger-B-CSCV8C.mjs} +1 -1
  25. package/dist/esm/{messenger-api-hJXTikF9.mjs → messenger-api-DTnmFsT-.mjs} +1 -1
  26. package/dist/esm/multisig/index.d.mts +1 -1
  27. package/dist/esm/multisig/index.mjs +1 -1
  28. package/dist/esm/network-y8yMus5q.mjs +1 -1
  29. package/dist/esm/{object-Ddewar4L.mjs → object-CJHJxXlc.mjs} +1 -1
  30. package/dist/esm/passkey-hU0KN8tj.mjs +1 -1
  31. package/dist/esm/{passport-9xWbg5h4.mjs → passport-B5g5Rv9_.mjs} +1 -1
  32. package/dist/esm/proof-pOwly4FL.mjs +1 -0
  33. package/dist/esm/publickey-C1XTriFK.mjs +1 -1
  34. package/dist/esm/publickey-CO7mE1h4.mjs +1 -1
  35. package/dist/esm/publickey-CaeLjex_.mjs +1 -1
  36. package/dist/esm/publickey-CvsHmrwa.mjs +1 -1
  37. package/dist/esm/publickey-D1qNOZY_.mjs +1 -1
  38. package/dist/esm/publickey-DioRydm4.mjs +1 -1
  39. package/dist/esm/{query-DNcY8aRP.mjs → query-BDY4w7pA.mjs} +1 -1
  40. package/dist/esm/{received-B6OMjPC0.mjs → received-D0KPLcZ8.mjs} +1 -1
  41. package/dist/esm/secp256k1-DbTX5WTS.mjs +1 -1
  42. package/dist/esm/secp256r1-tIVPNUMT.mjs +1 -1
  43. package/dist/esm/{service-BdbL5IK5.mjs → service-Rz5iSVL2.mjs} +1 -1
  44. package/dist/esm/storage-j7eJYpqQ.mjs +1 -0
  45. package/dist/esm/transactions/index.d.mts +1 -1
  46. package/dist/esm/{util-Bgqh9uNb.mjs → util-Bwj83MFX.mjs} +1 -1
  47. package/dist/esm/verify/index.d.mts +1 -1
  48. package/dist/esm/w/call/allocation.d.mts +1 -1
  49. package/dist/esm/w/call/allocation.mjs +1 -1
  50. package/dist/esm/w/call/arbitration.d.mts +1 -1
  51. package/dist/esm/w/call/arbitration.mjs +1 -1
  52. package/dist/esm/w/call/base.d.mts +1 -1
  53. package/dist/esm/w/call/base.mjs +1 -1
  54. package/dist/esm/w/call/demand.d.mts +1 -1
  55. package/dist/esm/w/call/demand.mjs +1 -1
  56. package/dist/esm/w/call/guard.d.mts +1 -1
  57. package/dist/esm/w/call/guard.mjs +1 -1
  58. package/dist/esm/w/call/index.d.mts +1 -1
  59. package/dist/esm/w/call/index.mjs +1 -1
  60. package/dist/esm/w/call/machine.d.mts +1 -1
  61. package/dist/esm/w/call/machine.mjs +1 -1
  62. package/dist/esm/w/call/passport.d.mts +1 -1
  63. package/dist/esm/w/call/passport.mjs +1 -1
  64. package/dist/esm/w/call/payment.d.mts +1 -1
  65. package/dist/esm/w/call/payment.mjs +1 -1
  66. package/dist/esm/w/call/permission.d.mts +1 -1
  67. package/dist/esm/w/call/permission.mjs +1 -1
  68. package/dist/esm/w/call/progress.d.mts +1 -1
  69. package/dist/esm/w/call/progress.mjs +1 -1
  70. package/dist/esm/w/call/repository.d.mts +1 -1
  71. package/dist/esm/w/call/repository.mjs +1 -1
  72. package/dist/esm/w/call/reward.d.mts +1 -1
  73. package/dist/esm/w/call/reward.mjs +1 -1
  74. package/dist/esm/w/call/service.d.mts +1 -1
  75. package/dist/esm/w/call/service.mjs +1 -1
  76. package/dist/esm/w/call/treasury.d.mts +1 -1
  77. package/dist/esm/w/call/treasury.mjs +1 -1
  78. package/dist/esm/w/common.d.mts +1 -1
  79. package/dist/esm/w/index.d.mts +2 -3
  80. package/dist/esm/w/index.mjs +1 -1
  81. package/dist/esm/w/local/account.d.mts +2 -2
  82. package/dist/esm/w/local/account.mjs +1 -1
  83. package/dist/esm/w/local/cache.mjs +1 -1
  84. package/dist/esm/w/local/config.mjs +1 -1
  85. package/dist/esm/w/local/evm/networks.mjs +1 -1
  86. package/dist/esm/w/local/evm-account.mjs +1 -1
  87. package/dist/esm/w/local/index.d.mts +2 -3
  88. package/dist/esm/w/local/index.mjs +1 -1
  89. package/dist/esm/w/local/local.mjs +1 -1
  90. package/dist/esm/w/local/secure-storage.mjs +1 -1
  91. package/dist/esm/w/local/storage.mjs +1 -1
  92. package/dist/esm/w/local/token.d.mts +1 -1
  93. package/dist/esm/w/local/token.mjs +1 -1
  94. package/dist/esm/w/local/util.mjs +1 -1
  95. package/dist/esm/w/local/wip.mjs +1 -1
  96. package/dist/esm/w/messenger/index.d.mts +1 -1
  97. package/dist/esm/w/messenger/index.mjs +1 -1
  98. package/dist/esm/w/messenger/messenger-api.d.mts +1 -1
  99. package/dist/esm/w/messenger/messenger-api.mjs +1 -1
  100. package/dist/esm/w/messenger/messenger.d.mts +1 -1
  101. package/dist/esm/w/messenger/messenger.mjs +1 -1
  102. package/dist/esm/w/messenger/pq/crypto.mjs +1 -1
  103. package/dist/esm/w/messenger/reply.d.mts +1 -1
  104. package/dist/esm/w/messenger/storage.d.mts +1 -1
  105. package/dist/esm/w/messenger/storage.mjs +1 -1
  106. package/dist/esm/w/messenger/types.d.mts +1 -1
  107. package/dist/esm/w/query/index.d.mts +2 -2
  108. package/dist/esm/w/query/index.mjs +1 -1
  109. package/dist/esm/w/query/object.d.mts +1 -1
  110. package/dist/esm/w/query/object.mjs +1 -1
  111. package/dist/esm/w-CRLsrxnb.mjs +1 -0
  112. package/package.json +1 -4
  113. package/dist/esm/lock-QdrQzo0u.mjs +0 -1
  114. package/dist/esm/project-B3Z3z_Z_.d.mts +0 -246
  115. package/dist/esm/proof-Du71Cy6u.mjs +0 -1
  116. package/dist/esm/w/local/project.d.mts +0 -2
  117. package/dist/esm/w/local/project.mjs +0 -1
  118. package/dist/esm/w-DNJ63FSn.mjs +0 -1
@@ -1,2 +1,2 @@
1
- import { $d as MAX_OBJECTS_PER_QUERY, $f as ServicesQuery, $p as queryTableItem_EntityOrder, Ad as AmountFromDepositGuard, Af as ObjectTypeDefinition, Ap as WitnessTargetType, Bd as DemandsAnswer, Bf as QueryAddressProfile, Bp as getObjectTypeFromNumber, Cd as AddressActivity, Cf as ObjectProgress, Cm as raw2type, Cp as TreasuryRecord, Dd as Allocator, Df as ObjectReward, Dp as VotingGuard, Ed as AllocationSharing, Ef as ObjectResource, Ep as VoteWeight, Fd as ArbStatus, Ff as PolicyRule, Fp as getNumberFromObjectType, Gd as EntityContactItemView, Gf as QueryTableItem_byString, Gp as objectTypeFromAddress, Hd as DiscountType, Hf as QueryTableItem_Entity, Hp as idFromToString, Id as ArbVoted, If as PolicyWriteGuard, Ip as getNumbersFromObjectTypes, Jd as GuardInPassport, Jf as RoleEvidence, Jp as queryOrdersByUser, Kd as EntityOrderItemView, Kf as QueryTableItem_byU64, Kp as objectTypeToNumber, Ld as ArbsAnswer, Lf as ProgressSession, Lp as getObjectTypeDefinition, Md as AmountType, Mf as ObjectsQuery, Mp as getMoveNameFromNumber, Nd as ArbIndemnity, Nf as PaymentInfo, Np as getMoveNameFromObjectType, Od as Allocators, Of as ObjectService, Op as WReceivedObject, Pd as ArbProposition, Pf as PersonalQuery, Pp as getNumberFromMoveName, Qd as Im, Qf as ServicesAnswer, Qp as queryTableItem_EntityLinker, Rd as ArbsQuery, Rf as ProgressSessionHolder, Rp as getObjectTypeDefinitionFromNumber, Sf as ObjectPersonal, Sm as query_table_json, Sp as TreasuryOp, Td as AllocationMode, Tf as ObjectRepository, Tp as UserOrderView, Ud as ENTITY_ORDER_ROLE_AGENT, Uf as QueryTableItem_byAddress, Up as isValidIdFromInput, Vd as DemandsQuery, Vf as QueryOrdersByUser, Vp as getObjectTypesFromNumbers, Wd as ENTITY_ORDER_ROLE_OWNER, Wf as QueryTableItem_byNameAddress, Wp as numberToObjectType, Xd as IdFrom, Xf as ServiceSale, Xp as queryTableItem_DemandPresenter, Yd as GuardSubmission, Yf as ServiceGuard, Yp as queryTableItem_AddressMark, Zd as IdFromInput, Zf as ServiceSummary, Zp as queryTableItem_EntityContact, _f as ObjectMachine, _m as query_services, _p as TableItem_ProgressHistory, af as OBJECT_TYPE_DEFINITIONS, am as queryTableItem_PermissionPerm, ap as TableItemQuery, bf as ObjectPayment, bm as query_table, bp as TableItem_TreasuryHistory, cf as ObjectArbitration, cm as queryTableItem_RewardRecord, cp as TableItem_EntityContact, df as ObjectDemand, dm as query_address_profile, dp as TableItem_EntityPermission, ef as MachineForward, em as queryTableItem_EntityPermission, ep as SharedObjectsAnswer, ff as ObjectDiscount, fm as query_arbs, fp as TableItem_EntityRegistrar, gf as ObjectGuard, gm as query_personal, gp as TableItem_PermissionPerm, hf as ObjectEntityRegistrar, hm as query_objects_json, hp as TableItem_ObjectLinkerTx, if as NamedOperator, im as queryTableItem_ObjectLinkerTx, ip as TableAnswerItem, jd as AmountFromWithdrawGuard, jf as ObjectsAnswer, jp as data2object, kd as Amount, kf as ObjectTreasury, kp as WitnessSourceType, lf as ObjectBase, lm as queryTableItem_ServiceOrders, lp as TableItem_EntityLinker, mf as ObjectEntityLinker, mm as query_objects, mp as TableItem_ObjectLinkerCore, nf as MachineNode, nm as queryTableItem_MachineNode, np as SharedObjectsQuery, ny as ObjectType, of as ObjectAllocation, om as queryTableItem_ProgressHistory, op as TableItem_AddressMark, pf as ObjectEntity, pm as query_demands, pp as TableItem_MachineNode, qd as EntityPermissionItemView, qf as RewardGuard, qp as parseIdFrom, rf as MachineNodePair, rm as queryTableItem_ObjectLinkerCore, rp as TableAnswer, sf as ObjectArb, sm as queryTableItem_RepositoryData, sp as TableItem_DemandPresenter, tf as MachineForwardGuard, tm as queryTableItem_EntityRegistrar, tp as SharedObjectsAnswerItem, uf as ObjectContact, um as queryTableItem_TreasuryHistory, up as TableItem_EntityOrder, vf as ObjectOrder, vm as query_shared_objects, vp as TableItem_RepositoryData, wd as AddressProfile, wf as ObjectProof, wp as TxLinkView, xf as ObjectPermission, xm as query_tableItem, xp as TableQuery, yf as ObjectPassport, ym as query_shared_objects_json, yp as TableItem_RewardRecord, zd as CoreLinkView, zf as PurchasedItem, zp as getObjectTypeFromMoveName } from "../../index-CfOec8aL.mjs";
1
+ import { $d as Im, $f as ServicesAnswer, $p as queryTableItem_EntityLinker, Ad as Amount, Af as ObjectTreasury, Ap as WitnessSourceType, Bd as CoreLinkView, Bf as PurchasedItem, Bp as getObjectTypeFromMoveName, Cf as ObjectPersonal, Cm as query_table_json, Cp as TreasuryOp, Dd as AllocationSharing, Df as ObjectResource, Dp as VoteWeight, Ed as AllocationMode, Ef as ObjectRepository, Ep as UserOrderView, Fd as ArbProposition, Ff as PersonalQuery, Fp as getNumberFromMoveName, Gd as ENTITY_ORDER_ROLE_OWNER, Gf as QueryTableItem_byNameAddress, Gp as numberToObjectType, Hd as DemandsQuery, Hf as QueryOrdersByUser, Hp as getObjectTypesFromNumbers, Id as ArbStatus, If as PolicyRule, Ip as getNumberFromObjectType, Jd as EntityPermissionItemView, Jf as RewardGuard, Jp as parseIdFrom, Kd as EntityContactItemView, Kf as QueryTableItem_byString, Kp as objectTypeFromAddress, Ld as ArbVoted, Lf as PolicyWriteGuard, Lp as getNumbersFromObjectTypes, Md as AmountFromWithdrawGuard, Mf as ObjectsAnswer, Mp as data2object, Nd as AmountType, Nf as ObjectsQuery, Np as getMoveNameFromNumber, Od as Allocator, Of as ObjectReward, Op as VotingGuard, Pd as ArbIndemnity, Pf as PaymentInfo, Pp as getMoveNameFromObjectType, Qd as IdFromInput, Qf as ServiceSummary, Qp as queryTableItem_EntityContact, Rd as ArbsAnswer, Rf as ProgressSession, Rp as getObjectTypeDefinition, Sf as ObjectPermission, Sm as query_tableItem, Sp as TableQuery, Td as AddressProfile, Tf as ObjectProof, Tp as TxLinkView, Ud as DiscountType, Uf as QueryTableItem_Entity, Up as idFromToString, Vd as DemandsAnswer, Vf as QueryAddressProfile, Vp as getObjectTypeFromNumber, Wd as ENTITY_ORDER_ROLE_AGENT, Wf as QueryTableItem_byAddress, Wp as isValidIdFromInput, Xd as GuardSubmission, Xf as ServiceGuard, Xp as queryTableItem_AddressMark, Yd as GuardInPassport, Yf as RoleEvidence, Yp as queryOrdersByUser, Zd as IdFrom, Zf as ServiceSale, Zp as queryTableItem_DemandPresenter, _f as ObjectGuard, _m as query_personal, _p as TableItem_PermissionPerm, af as NamedOperator, am as queryTableItem_ObjectLinkerTx, ap as TableAnswerItem, bf as ObjectPassport, bm as query_shared_objects_json, bp as TableItem_RewardRecord, cf as ObjectArb, cm as queryTableItem_RepositoryData, cp as TableItem_DemandPresenter, df as ObjectContact, dm as queryTableItem_TreasuryHistory, dp as TableItem_EntityOrder, ef as MAX_OBJECTS_PER_QUERY, em as queryTableItem_EntityOrder, ep as ServicesQuery, ff as ObjectDemand, fm as query_address_profile, fp as TableItem_EntityPermission, gf as ObjectEntityRegistrar, gm as query_objects_json, gp as TableItem_ObjectLinkerTx, hf as ObjectEntityLinker, hm as query_objects, hp as TableItem_ObjectLinkerCore, if as MachineNodePair, im as queryTableItem_ObjectLinkerCore, ip as TableAnswer, jd as AmountFromDepositGuard, jf as ObjectTypeDefinition, jp as WitnessTargetType, kd as Allocators, kf as ObjectService, kp as WReceivedObject, lf as ObjectArbitration, lm as queryTableItem_RewardRecord, lp as TableItem_EntityContact, mf as ObjectEntity, mm as query_demands, mp as TableItem_MachineNode, nf as MachineForwardGuard, nm as queryTableItem_EntityRegistrar, np as SharedObjectsAnswerItem, of as OBJECT_TYPE_DEFINITIONS, om as queryTableItem_PermissionPerm, op as TableItemQuery, pf as ObjectDiscount, pm as query_arbs, pp as TableItem_EntityRegistrar, qd as EntityOrderItemView, qf as QueryTableItem_byU64, qp as objectTypeToNumber, rf as MachineNode, rm as queryTableItem_MachineNode, rp as SharedObjectsQuery, ry as ObjectType, sf as ObjectAllocation, sm as queryTableItem_ProgressHistory, sp as TableItem_AddressMark, tf as MachineForward, tm as queryTableItem_EntityPermission, tp as SharedObjectsAnswer, uf as ObjectBase, um as queryTableItem_ServiceOrders, up as TableItem_EntityLinker, vf as ObjectMachine, vm as query_services, vp as TableItem_ProgressHistory, wd as AddressActivity, wf as ObjectProgress, wm as raw2type, wp as TreasuryRecord, xf as ObjectPayment, xm as query_table, xp as TableItem_TreasuryHistory, yf as ObjectOrder, ym as query_shared_objects, yp as TableItem_RepositoryData, zd as ArbsQuery, zf as ProgressSessionHolder, zp as getObjectTypeDefinitionFromNumber } from "../../index-OlNG95EF.mjs";
2
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 +1 @@
1
- import{j as a108a}from'../../common-Guc0E9Tj.mjs';import{$ as a108b,A as a108c,B as a108d,C as a108e,D as a108f,E as a108g,F as a108h,G as a108i,H as a108j,I as a108k,J as a108l,K as a108m,L as a108n,M as a108o,N as a108p,O as a108q,P as a108r,Q as a108s,R as a108t,S as a108u,T as a108v,U as a108w,V as a108x,W as a108y,X as a108z,Y as a108A,Z as a108B,_ as a108C,a as a108D,at as a108E,b as a108F,c as a108G,d as a108H,et as a108I,f as a108J,g as a108K,h as a108L,i as a108M,it as a108N,j as a108O,k as a108P,l as a108Q,m as a108R,n as a108S,nt as a108T,o as a108U,p as a108V,q as a108W,r as a108X,rt as a108Y,s as a108Z,t as a108a0,tt as a108a1,u as a108a2,v as a108a3,w as a108a4,x as a108a5,y as a108a6,z as a108a7}from'../../object-Ddewar4L.mjs';export{a108a0 as AllocationMode,a108S as AmountType,a108X as ArbStatus,a108M as DiscountType,a108D as ENTITY_ORDER_ROLE_AGENT,a108U as ENTITY_ORDER_ROLE_OWNER,a108Z as IdFrom,a108G as MAX_OBJECTS_PER_QUERY,a108Q as OBJECT_TYPE_DEFINITIONS,a108a as ObjectType,a108a2 as TreasuryOp,a108H as WitnessSourceType,a108J as WitnessTargetType,a108V as data2object,a108R as getMoveNameFromNumber,a108L as getMoveNameFromObjectType,a108K as getNumberFromMoveName,a108C as getNumberFromObjectType,a108a3 as getNumbersFromObjectTypes,a108a6 as getObjectTypeDefinition,a108F as getObjectTypeDefinitionFromNumber,a108a5 as getObjectTypeFromMoveName,a108u as getObjectTypeFromNumber,a108e as getObjectTypesFromNumbers,a108a4 as idFromToString,a108v as isValidIdFromInput,a108g as numberToObjectType,a108f as objectTypeFromAddress,a108q as objectTypeToNumber,a108P as parseIdFrom,a108c as queryOrdersByUser,a108O as queryTableItem_AddressMark,a108o as queryTableItem_DemandPresenter,a108p as queryTableItem_EntityContact,a108r as queryTableItem_EntityLinker,a108h as queryTableItem_EntityOrder,a108k as queryTableItem_EntityPermission,a108n as queryTableItem_EntityRegistrar,a108t as queryTableItem_MachineNode,a108a7 as queryTableItem_ObjectLinkerCore,a108d as queryTableItem_ObjectLinkerTx,a108x as queryTableItem_PermissionPerm,a108j as queryTableItem_ProgressHistory,a108w as queryTableItem_RepositoryData,a108y as queryTableItem_RewardRecord,a108i as queryTableItem_ServiceOrders,a108m as queryTableItem_TreasuryHistory,a108W as query_address_profile,a108l as query_arbs,a108A as query_demands,a108z as query_objects,a108B as query_objects_json,a108s as query_personal,a108b as query_services,a108I as query_shared_objects,a108a1 as query_shared_objects_json,a108T as query_table,a108Y as query_tableItem,a108N as query_table_json,a108E as raw2type};
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,p as a107V,q as a107W,r as a107X,rt as a107Y,s as a107Z,t as a107a0,tt as a107a1,u as a107a2,v as a107a3,w as a107a4,x as a107a5,y as a107a6,z as a107a7}from'../../object-CJHJxXlc.mjs';export{a107a0 as AllocationMode,a107S as AmountType,a107X as ArbStatus,a107M as DiscountType,a107D as ENTITY_ORDER_ROLE_AGENT,a107U as ENTITY_ORDER_ROLE_OWNER,a107Z as IdFrom,a107G as MAX_OBJECTS_PER_QUERY,a107Q as OBJECT_TYPE_DEFINITIONS,a107a as ObjectType,a107a2 as TreasuryOp,a107H as WitnessSourceType,a107J as WitnessTargetType,a107V as data2object,a107R as getMoveNameFromNumber,a107L as getMoveNameFromObjectType,a107K as getNumberFromMoveName,a107C as getNumberFromObjectType,a107a3 as getNumbersFromObjectTypes,a107a6 as getObjectTypeDefinition,a107F as getObjectTypeDefinitionFromNumber,a107a5 as getObjectTypeFromMoveName,a107u as getObjectTypeFromNumber,a107e as getObjectTypesFromNumbers,a107a4 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,a107a7 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,a107W as query_address_profile,a107l as query_arbs,a107A as query_demands,a107z as query_objects,a107B as query_objects_json,a107s as query_personal,a107b as query_services,a107I as query_shared_objects,a107a1 as query_shared_objects_json,a107T as query_table,a107Y as query_tableItem,a107N as query_table_json,a107E as raw2type};
@@ -0,0 +1 @@
1
+ import{t as a108a}from'./client-oE69u-rK.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-j7eJYpqQ.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-BDY4w7pA.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.8",
6
+ "version": "2.7.9",
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 +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};
@@ -1,246 +0,0 @@
1
- //#region src/w/local/project.d.ts
2
- type ProjectPerspective = "producer" | "consumer" | "both";
3
- type ProjectStatus = "draft" | "active" | "inactive" | "archived";
4
- type ObjectRole = "core" | "dependency" | "reference";
5
- type EdgeSource = "internal" | "registrar" | "potential";
6
- type RelationshipType = "bind" | "create" | "trigger" | "validate" | "consume" | "affiliation";
7
- type EvaluationType = "risk" | "trust" | "completeness" | "value" | "worth_buying";
8
- interface ProjectCreate {
9
- prefix: string;
10
- name: string;
11
- description?: string;
12
- industry?: string;
13
- perspective?: ProjectPerspective;
14
- labels?: string[];
15
- serviceAddress?: string;
16
- defaultAccount?: string;
17
- network?: string;
18
- metadata?: Record<string, unknown>;
19
- }
20
- interface ProjectUpdate {
21
- name?: string;
22
- description?: string;
23
- industry?: string;
24
- perspective?: ProjectPerspective;
25
- status?: ProjectStatus;
26
- labels?: string[];
27
- currentVersion?: string;
28
- serviceAddress?: string;
29
- defaultAccount?: string;
30
- metadata?: Record<string, unknown>;
31
- }
32
- interface Project {
33
- id: string;
34
- prefix: string;
35
- name: string;
36
- description: string | null;
37
- industry: string | null;
38
- perspective: ProjectPerspective;
39
- status: ProjectStatus;
40
- labels: string[] | null;
41
- currentVersion: string | null;
42
- serviceAddress: string | null;
43
- defaultAccount: string | null;
44
- network: string;
45
- createdAt: number;
46
- updatedAt: number;
47
- metadata: Record<string, unknown> | null;
48
- }
49
- interface ProjectFilter {
50
- status?: ProjectStatus;
51
- perspective?: ProjectPerspective;
52
- network?: string;
53
- industry?: string;
54
- serviceAddress?: string;
55
- labels?: string[];
56
- }
57
- interface ProjectVersion {
58
- id: string;
59
- projectId: string;
60
- version: string;
61
- description: string | null;
62
- createdAt: number;
63
- metadata: Record<string, unknown> | null;
64
- }
65
- interface ProjectObject {
66
- id: string;
67
- projectId: string;
68
- objectAddress: string;
69
- objectType: string | null;
70
- objectName: string | null;
71
- role: ObjectRole;
72
- tags: string[] | null;
73
- addedAt: number;
74
- metadata: Record<string, unknown> | null;
75
- }
76
- interface ProjectObjectAdd {
77
- objectAddress: string;
78
- objectType?: string;
79
- objectName?: string;
80
- role?: ObjectRole;
81
- tags?: string[];
82
- metadata?: Record<string, unknown>;
83
- }
84
- interface ObjectCacheEntry {
85
- address: string;
86
- objectType: string | null;
87
- data: string;
88
- fetchedAt: number;
89
- network: string;
90
- }
91
- interface ObjectCacheHistoryEntry {
92
- id: string;
93
- address: string;
94
- objectType: string | null;
95
- data: string;
96
- fetchedAt: number;
97
- network: string;
98
- changedFields: string[] | null;
99
- }
100
- interface GraphEdge {
101
- id: string;
102
- projectId: string | null;
103
- sourceObject: string;
104
- targetObject: string;
105
- edgeSource: EdgeSource;
106
- relationshipType: RelationshipType;
107
- fieldName: string | null;
108
- depth: number;
109
- verified: boolean;
110
- weight: number;
111
- direction: string | null;
112
- metadata: Record<string, unknown> | null;
113
- cachedAt: number;
114
- }
115
- interface GraphEdgeInput {
116
- projectId?: string | null;
117
- sourceObject: string;
118
- targetObject: string;
119
- edgeSource: EdgeSource;
120
- relationshipType: RelationshipType;
121
- fieldName?: string | null;
122
- depth?: number;
123
- verified?: boolean;
124
- weight?: number;
125
- direction?: string | null;
126
- metadata?: Record<string, unknown> | null;
127
- }
128
- interface GraphData {
129
- nodes: GraphNode[];
130
- edges: GraphEdge[];
131
- builtAt: number;
132
- }
133
- interface GraphNode {
134
- address: string;
135
- objectType: string | null;
136
- objectName: string | null;
137
- role: ObjectRole | null;
138
- isCore: boolean;
139
- /** True when this node is a draft/template placeholder (address starts with "draft:"). */
140
- isTemplate?: boolean;
141
- }
142
- interface Evaluation {
143
- id: string;
144
- projectId: string;
145
- evalType: EvaluationType;
146
- score: number | null;
147
- summary: string | null;
148
- details: Record<string, unknown> | null;
149
- evaluatedAt: number;
150
- metadata: Record<string, unknown> | null;
151
- }
152
- interface EvaluationInput {
153
- projectId: string;
154
- evalType: EvaluationType;
155
- score?: number;
156
- summary?: string;
157
- details?: Record<string, unknown>;
158
- metadata?: Record<string, unknown>;
159
- }
160
- interface ProjectDocument {
161
- id: string;
162
- project_id: string;
163
- version?: string;
164
- network: string;
165
- doc_type: string;
166
- content: string;
167
- checksum?: string;
168
- generated_at?: number;
169
- updated_at?: number;
170
- }
171
- interface ObjectDiff {
172
- address: string;
173
- fromTime: number;
174
- toTime: number;
175
- changedFields: DiffField[];
176
- }
177
- interface DiffField {
178
- fieldPath: string;
179
- oldValue: unknown;
180
- newValue: unknown;
181
- changeType: "added" | "removed" | "modified";
182
- }
183
- declare class LocalProject {
184
- private static _instance;
185
- private static _instanceLock;
186
- private readonly _dbLock;
187
- private constructor();
188
- static Instance(): LocalProject;
189
- private get db();
190
- createProject(data: ProjectCreate): Promise<Project>;
191
- updateProject(id: string, data: ProjectUpdate): Promise<Project>;
192
- getProject(id: string): Promise<Project | undefined>;
193
- getProjectByPrefix(prefix: string): Promise<Project | undefined>;
194
- listProjects(filter?: ProjectFilter): Promise<Project[]>;
195
- deleteProject(id: string): Promise<void>;
196
- createVersion(projectId: string, version: string, description?: string, metadata?: Record<string, unknown>): Promise<ProjectVersion>;
197
- getVersion(id: string): Promise<ProjectVersion | undefined>;
198
- listVersions(projectId: string): Promise<ProjectVersion[]>;
199
- addObject(projectId: string, data: ProjectObjectAdd): Promise<ProjectObject>;
200
- addObjects(projectId: string, items: ProjectObjectAdd[]): Promise<ProjectObject[]>;
201
- getObject(id: string): Promise<ProjectObject | undefined>;
202
- listObjects(projectId: string, filter?: {
203
- objectType?: string;
204
- role?: ObjectRole;
205
- }): Promise<ProjectObject[]>;
206
- removeObject(id: string): Promise<void>;
207
- removeObjectByAddress(projectId: string, address: string): Promise<void>;
208
- updateObject(id: string, updates: {
209
- objectName?: string;
210
- objectType?: string;
211
- role?: ObjectRole;
212
- tags?: string[];
213
- }): Promise<ProjectObject>;
214
- findObjectsByAddress(address: string): Promise<ProjectObject[]>;
215
- cacheObject(address: string, objectType: string | null, data: string, network: string): Promise<void>;
216
- getCachedObject(address: string): Promise<ObjectCacheEntry | undefined>;
217
- getCachedObjects(addresses: string[]): Promise<Map<string, ObjectCacheEntry>>;
218
- deleteCachedObject(address: string): Promise<void>;
219
- getObjectDiff(address: string, fromTime: number, toTime: number): Promise<ObjectDiff>;
220
- getObjectHistory(address: string): Promise<ObjectCacheHistoryEntry[]>;
221
- private computeChangedFields;
222
- private collectChangedPaths;
223
- private computeDiff;
224
- private collectDiff;
225
- saveGraphEdges(projectId: string | null, edges: GraphEdgeInput[]): Promise<GraphEdge[]>;
226
- getGraph(projectId?: string): Promise<GraphEdge[]>;
227
- getGraphForObject(address: string): Promise<GraphEdge[]>;
228
- clearGraph(projectId?: string): Promise<void>;
229
- saveEvaluation(data: EvaluationInput): Promise<Evaluation>;
230
- getEvaluation(id: string): Promise<Evaluation | undefined>;
231
- listEvaluations(projectId: string, filter?: {
232
- evalType?: EvaluationType;
233
- }): Promise<Evaluation[]>;
234
- getLatestEvaluation(projectId: string, evalType: EvaluationType): Promise<Evaluation | undefined>;
235
- saveDocument(projectId: string, network: string, content: string, docType?: string): Promise<ProjectDocument>;
236
- getDocument(projectId: string, network: string, docType?: string): Promise<ProjectDocument | undefined>;
237
- listDocuments(projectId: string): Promise<ProjectDocument[]>;
238
- deleteDocument(projectId: string, network: string, docType?: string): Promise<boolean>;
239
- private computeChecksum;
240
- /**
241
- * Reset all database connections (for testing).
242
- */
243
- static resetDbConnection(): void;
244
- }
245
- //#endregion
246
- export { ProjectUpdate as C, ProjectStatus as S, RelationshipType as T, ProjectDocument as _, EvaluationType as a, ProjectObjectAdd as b, GraphEdgeInput as c, ObjectCacheEntry as d, ObjectCacheHistoryEntry as f, ProjectCreate as g, Project as h, EvaluationInput as i, GraphNode as l, ObjectRole as m, EdgeSource as n, GraphData as o, ObjectDiff as p, Evaluation as r, GraphEdge as s, DiffField as t, LocalProject as u, ProjectFilter as v, ProjectVersion as w, ProjectPerspective as x, ProjectObject as y };
@@ -1 +0,0 @@
1
- import{t as a40a}from'./rolldown-runtime-D7D4PA-g.mjs';import{o as a40b}from'./exception-Xd2RFs2i.mjs';import{G as a40c,y as a40d}from'./common-Guc0E9Tj.mjs';import{isValidAddress}from'./w/local/local.mjs';import{dt as a40e,et as a40f,ut as a40g}from'./passport-9xWbg5h4.mjs';import{t as a40h}from'./base-f1zBnHpg.mjs';var proof_exports=a40a({'CallProof':()=>CallProof,'create':()=>create,'gen_proof':()=>gen_proof,'proofFn':()=>proofFn}),CallProof=class extends a40h{constructor(a){super(),this['data']=a;}async['call'](a){return await this['prepare'](a),await this['exec'](a);}async['operate'](a,b,c){await this['new_with_mark'](a,b,'Proof',create(b,this['data']?.['description'],this['data']?.['proof'],this['data']?.['server_pubkey'],this['data']?.['server_signature'],this['data']?.['proof_type'],this['data']?.['item_count'],this['data']?.['about_address']),this['data']?.['namedNew']);}};function proofFn(a){return'0x2::proof::'+a;}const gen_proof=async(a,b,c,d,e,f,g,h)=>{return await new CallProof({'proof':b,'server_pubkey':c,'server_signature':d,'proof_type':e,'description':f,'item_count':g,'about_address':h})['call'](a);};function create(a,b,c,d,e,f,g,h){if(!a40c(b))a40b('invalid\x20description','Description\x20length\x20exceeds\x20'+a40d);if(c['length']>a40f)a40b('invalid\x20parameter','Proof\x20length\x20exceeds\x20'+a40f);if(d['length']>a40g)a40b('invalid\x20parameter','Server\x20pubkey\x20length\x20exceeds\x20'+a40g);if(e['length']>a40e)a40b('invalid\x20parameter','Server\x20signature\x20length\x20exceeds\x20'+a40e);if(h&&!isValidAddress(h))a40b('invalid\x20address','About\x20address\x20'+h+'\x20is\x20not\x20valid');return a['moveCall']({'target':proofFn('create_wowok_proof'),'arguments':[a['pure']['string'](c),a['pure']['option']('u64',g),a['pure']['string'](b),a['pure']['string'](d),a['pure']['string'](e),a['pure']['option']('address',h??null),a['pure']['u64'](f),a['object']['clock']()]});}export{gen_proof as n,proof_exports as r,CallProof as t};
@@ -1,2 +0,0 @@
1
- import { C as ProjectUpdate, S as ProjectStatus, T as RelationshipType, _ as ProjectDocument, a as EvaluationType, b as ProjectObjectAdd, c as GraphEdgeInput, d as ObjectCacheEntry, f as ObjectCacheHistoryEntry, g as ProjectCreate, h as Project, i as EvaluationInput, l as GraphNode, m as ObjectRole, n as EdgeSource, o as GraphData, p as ObjectDiff, r as Evaluation, s as GraphEdge, t as DiffField, u as LocalProject, v as ProjectFilter, w as ProjectVersion, x as ProjectPerspective, y as ProjectObject } from "../../project-B3Z3z_Z_.mjs";
2
- export { DiffField, EdgeSource, Evaluation, EvaluationInput, EvaluationType, GraphData, GraphEdge, GraphEdgeInput, GraphNode, LocalProject, ObjectCacheEntry, ObjectCacheHistoryEntry, ObjectDiff, ObjectRole, Project, ProjectCreate, ProjectDocument, ProjectFilter, ProjectObject, ProjectObjectAdd, ProjectPerspective, ProjectStatus, ProjectUpdate, ProjectVersion, RelationshipType };