@wowok/wowok 3.0.2 → 3.0.4

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 (164) hide show
  1. package/dist/esm/Transaction-DY5xZw9i.mjs +1 -0
  2. package/dist/esm/arb-CUXq4EWJ.mjs +1 -0
  3. package/dist/esm/bcs/index.mjs +1 -1
  4. package/dist/esm/bcs-Cjvfeyqf.mjs +1 -1
  5. package/dist/esm/call-BQMw_Z9s.mjs +1 -0
  6. package/dist/esm/client/index.d.mts +3 -3
  7. package/dist/esm/client/index.mjs +1 -1
  8. package/dist/esm/{client-CYziyi68.mjs → client-cokX3t3P.mjs} +1 -1
  9. package/dist/esm/common-BLQJxJvT.mjs +1 -0
  10. package/dist/esm/config-Dwoyt1sO.d.mts +69 -0
  11. package/dist/esm/cryptography/index.d.mts +1 -1
  12. package/dist/esm/cryptography/index.mjs +1 -1
  13. package/dist/esm/{ed25519-CQkeZzxT.mjs → ed25519-Cjw5WOqY.mjs} +1 -1
  14. package/dist/esm/exception-CSxqQRN7.mjs +1 -0
  15. package/dist/esm/{falcon512-Dl5rncUq.mjs → falcon512-CnEZ-g-L.mjs} +1 -1
  16. package/dist/esm/fund-approval-Dy-heIpQ.mjs +1 -0
  17. package/dist/esm/fund-approval-EBi-SfjX.d.mts +53 -0
  18. package/dist/esm/graphql/index.d.mts +1 -1
  19. package/dist/esm/graphql/index.mjs +1 -1
  20. package/dist/esm/graphql/schema/index.d.mts +1 -1
  21. package/dist/esm/{graphql-CUsco9b3.mjs → graphql-Cv2Zjkh8.mjs} +1 -1
  22. package/dist/esm/grpc/index.d.mts +1 -1
  23. package/dist/esm/grpc/index.mjs +1 -1
  24. package/dist/esm/grpc-CUKHF1or.mjs +1 -0
  25. package/dist/esm/{index-DCFY4cxp.d.mts → index-Bss9JH4A.d.mts} +147 -27
  26. package/dist/esm/index.d.mts +4 -3
  27. package/dist/esm/index.mjs +1 -1
  28. package/dist/esm/jsonRpc/index.d.mts +1 -1
  29. package/dist/esm/jsonRpc/index.mjs +1 -1
  30. package/dist/esm/jsonRpc-BDzKq1WK.mjs +1 -0
  31. package/dist/esm/{keypair-Y6T-6uC9.mjs → keypair-IIyGelNr.mjs} +1 -1
  32. package/dist/esm/keypairs/ed25519/index.d.mts +1 -1
  33. package/dist/esm/keypairs/ed25519/index.mjs +1 -1
  34. package/dist/esm/keypairs/falcon512/index.d.mts +1 -1
  35. package/dist/esm/keypairs/falcon512/index.mjs +1 -1
  36. package/dist/esm/keypairs/passkey/index.d.mts +1 -1
  37. package/dist/esm/keypairs/passkey/index.mjs +1 -1
  38. package/dist/esm/keypairs/secp256k1/index.d.mts +1 -1
  39. package/dist/esm/keypairs/secp256k1/index.mjs +1 -1
  40. package/dist/esm/keypairs/secp256r1/index.d.mts +1 -1
  41. package/dist/esm/keypairs/secp256r1/index.mjs +1 -1
  42. package/dist/esm/{logger-Cs5Mf7Mf.mjs → logger-Da7dKX2V.mjs} +1 -1
  43. package/dist/esm/messenger-BxoZnri2.mjs +1 -0
  44. package/dist/esm/{messenger-api-D6aPgQqj.mjs → messenger-api-k2rGNPPD.mjs} +1 -1
  45. package/dist/esm/multisig/index.d.mts +1 -1
  46. package/dist/esm/multisig/index.mjs +1 -1
  47. package/dist/esm/network-CGWSsrLB.mjs +1 -0
  48. package/dist/esm/object-VP6MlaCJ.mjs +1 -0
  49. package/dist/esm/passkey-JT2Sem2D.mjs +1 -0
  50. package/dist/esm/proof-D9SjsE8n.mjs +1 -0
  51. package/dist/esm/{publickey-Kr58241y.mjs → publickey-BZ3tMxym.mjs} +1 -1
  52. package/dist/esm/{publickey-CZRptlhE.mjs → publickey-Bhgj2pBz.mjs} +1 -1
  53. package/dist/esm/{publickey-CQJKhU0a.mjs → publickey-CHe6yvVh.mjs} +1 -1
  54. package/dist/esm/publickey-CvXcTL6j.mjs +1 -0
  55. package/dist/esm/{publickey-CcBVAm0Y.mjs → publickey-DLn5vuqp.mjs} +1 -1
  56. package/dist/esm/{publickey-Co-74gWq.mjs → publickey-DkfqbEPz.mjs} +1 -1
  57. package/dist/esm/{received-Dldrb1fk.mjs → received-DGwKBzFf.mjs} +1 -1
  58. package/dist/esm/secp256k1-rxTNgrNr.mjs +1 -0
  59. package/dist/esm/secp256r1--MEt4hQe.mjs +1 -0
  60. package/dist/esm/service-o4c33u4H.mjs +1 -0
  61. package/dist/esm/storage-D1bEi2b7.mjs +1 -1
  62. package/dist/esm/transactions/index.d.mts +1 -1
  63. package/dist/esm/transactions/index.mjs +1 -1
  64. package/dist/esm/{transactions-_w64QTEl.mjs → transactions-B0rmtDin.mjs} +1 -1
  65. package/dist/esm/{types-D7yrbH5u.d.mts → types-C7yfY8U4.d.mts} +8 -8
  66. package/dist/esm/util-DUArS_ez.mjs +1 -0
  67. package/dist/esm/utils/index.mjs +1 -1
  68. package/dist/esm/{utils-CtyqDDA5.mjs → utils-DL1Wk3E9.mjs} +1 -1
  69. package/dist/esm/verify/index.d.mts +1 -1
  70. package/dist/esm/verify/index.mjs +1 -1
  71. package/dist/esm/w/call/allocation.d.mts +1 -1
  72. package/dist/esm/w/call/allocation.mjs +1 -1
  73. package/dist/esm/w/call/arbitration.d.mts +1 -1
  74. package/dist/esm/w/call/arbitration.mjs +1 -1
  75. package/dist/esm/w/call/base.d.mts +1 -1
  76. package/dist/esm/w/call/base.mjs +1 -1
  77. package/dist/esm/w/call/demand.d.mts +1 -1
  78. package/dist/esm/w/call/demand.mjs +1 -1
  79. package/dist/esm/w/call/guard.d.mts +2 -2
  80. package/dist/esm/w/call/guard.mjs +1 -1
  81. package/dist/esm/w/call/index.d.mts +1 -1
  82. package/dist/esm/w/call/index.mjs +1 -1
  83. package/dist/esm/w/call/machine.d.mts +1 -1
  84. package/dist/esm/w/call/machine.mjs +1 -1
  85. package/dist/esm/w/call/passport.d.mts +1 -1
  86. package/dist/esm/w/call/passport.mjs +1 -1
  87. package/dist/esm/w/call/payment.d.mts +1 -1
  88. package/dist/esm/w/call/payment.mjs +1 -1
  89. package/dist/esm/w/call/permission.d.mts +1 -1
  90. package/dist/esm/w/call/permission.mjs +1 -1
  91. package/dist/esm/w/call/progress.d.mts +1 -1
  92. package/dist/esm/w/call/progress.mjs +1 -1
  93. package/dist/esm/w/call/repository.d.mts +1 -1
  94. package/dist/esm/w/call/repository.mjs +1 -1
  95. package/dist/esm/w/call/reward.d.mts +1 -1
  96. package/dist/esm/w/call/reward.mjs +1 -1
  97. package/dist/esm/w/call/service.d.mts +1 -1
  98. package/dist/esm/w/call/service.mjs +1 -1
  99. package/dist/esm/w/call/treasury.d.mts +1 -1
  100. package/dist/esm/w/call/treasury.mjs +1 -1
  101. package/dist/esm/w/common.d.mts +2 -2
  102. package/dist/esm/w/common.mjs +1 -1
  103. package/dist/esm/w/index.d.mts +4 -3
  104. package/dist/esm/w/index.mjs +1 -1
  105. package/dist/esm/w/local/account.d.mts +1 -1
  106. package/dist/esm/w/local/account.mjs +1 -1
  107. package/dist/esm/w/local/cache.mjs +1 -1
  108. package/dist/esm/w/local/config.d.mts +1 -1
  109. package/dist/esm/w/local/config.mjs +1 -1
  110. package/dist/esm/w/local/evm/networks.mjs +1 -1
  111. package/dist/esm/w/local/evm-account.mjs +1 -1
  112. package/dist/esm/w/local/fund-approval.d.mts +2 -0
  113. package/dist/esm/w/local/fund-approval.mjs +1 -0
  114. package/dist/esm/w/local/index.d.mts +4 -3
  115. package/dist/esm/w/local/index.mjs +1 -1
  116. package/dist/esm/w/local/local.mjs +1 -1
  117. package/dist/esm/w/local/secure-storage.mjs +1 -1
  118. package/dist/esm/w/local/storage.mjs +1 -1
  119. package/dist/esm/w/local/token.d.mts +1 -1
  120. package/dist/esm/w/local/token.mjs +1 -1
  121. package/dist/esm/w/local/util.mjs +1 -1
  122. package/dist/esm/w/local/wip.mjs +1 -1
  123. package/dist/esm/w/messenger/index.d.mts +1 -1
  124. package/dist/esm/w/messenger/index.mjs +1 -1
  125. package/dist/esm/w/messenger/messenger-api.d.mts +1 -1
  126. package/dist/esm/w/messenger/messenger-api.mjs +1 -1
  127. package/dist/esm/w/messenger/messenger.d.mts +1 -1
  128. package/dist/esm/w/messenger/messenger.mjs +1 -1
  129. package/dist/esm/w/messenger/pq/crypto.mjs +1 -1
  130. package/dist/esm/w/messenger/pq/erasure.mjs +1 -1
  131. package/dist/esm/w/messenger/reply.d.mts +1 -1
  132. package/dist/esm/w/messenger/storage.d.mts +1 -1
  133. package/dist/esm/w/messenger/storage.mjs +1 -1
  134. package/dist/esm/w/messenger/types.d.mts +1 -1
  135. package/dist/esm/w/messenger/types.mjs +1 -1
  136. package/dist/esm/w/query/index.d.mts +2 -2
  137. package/dist/esm/w/query/index.mjs +1 -1
  138. package/dist/esm/w/query/object.d.mts +1 -1
  139. package/dist/esm/w/query/object.mjs +1 -1
  140. package/dist/esm/w-C77YSXfT.mjs +1 -0
  141. package/package.json +20 -10
  142. package/dist/esm/Transaction-D1AlW3t_.mjs +0 -1
  143. package/dist/esm/arb-D0c_1-0E.mjs +0 -1
  144. package/dist/esm/base-C-bmf-9P.mjs +0 -1
  145. package/dist/esm/call-B89EWeo5.mjs +0 -1
  146. package/dist/esm/common-BXJtePqk.mjs +0 -1
  147. package/dist/esm/config-DyKCZw0u.d.mts +0 -38
  148. package/dist/esm/exception-Xd2RFs2i.mjs +0 -1
  149. package/dist/esm/grpc-IoJ51B_A.mjs +0 -1
  150. package/dist/esm/jsonRpc-1qOo1zjv.mjs +0 -1
  151. package/dist/esm/messenger-CjfCX1gd.mjs +0 -1
  152. package/dist/esm/network-y8yMus5q.mjs +0 -1
  153. package/dist/esm/object-C5tKBfgP.mjs +0 -1
  154. package/dist/esm/passkey-C1gbCkoK.mjs +0 -1
  155. package/dist/esm/passport-CLMoL1-c.mjs +0 -1
  156. package/dist/esm/proof-BRpLwdbL.mjs +0 -1
  157. package/dist/esm/publickey-x1pzVVw_.mjs +0 -1
  158. package/dist/esm/query-Co2trHrE.mjs +0 -1
  159. package/dist/esm/secp256k1-Pg5TWkCH.mjs +0 -1
  160. package/dist/esm/secp256r1-VjWddrx1.mjs +0 -1
  161. package/dist/esm/service-78UXm0js.mjs +0 -1
  162. package/dist/esm/util-IEjKV3n4.mjs +0 -1
  163. package/dist/esm/w-BImJL-ey.mjs +0 -1
  164. /package/dist/esm/{rolldown-runtime-D7D4PA-g.mjs → chunk-D7D4PA-g.mjs} +0 -0
@@ -1 +1 @@
1
- import{a as a75a,c as a75b,d as a75c,f as a75d,i as a75e,l as a75f,n as a75g,o as a75h,p as a75i,r as a75j,s as a75k,t as a75l,u as a75m}from'../exception-Xd2RFs2i.mjs';import{n as a75n,r as a75o,t as a75p}from'../network-y8yMus5q.mjs';import{$ as a75q,A as a75r,B as a75s,C as a75t,Ct as a75u,D as a75v,Dt as a75w,E as a75x,Et as a75y,F as a75z,G as a75A,H as a75B,I as a75C,J as a75D,K as a75E,L as a75F,M as a75G,N as a75H,O as a75I,Ot as a75J,P as a75K,Q as a75L,R as a75M,S as a75N,St as a75O,T as a75P,Tt as a75Q,U as a75R,V as a75S,W as a75T,X as a75U,Y as a75V,Z as a75W,_ as a75X,_t as a75Y,a as a75Z,at as a75a0,b as a75a1,bt as a75a2,c as a75a3,ct as a75a4,d as a75a5,dt as a75a6,et as a75a7,f as a75a8,ft as a75a9,g as a75aa,gt as a75ab,h as a75ac,ht as a75ad,i as a75ae,it as a75af,j as a75ag,k as a75ah,l as a75ai,lt as a75aj,m as a75ak,mt as a75al,n as a75am,nt as a75an,o as a75ao,ot as a75ap,p as a75aq,pt as a75ar,q as a75as,r as a75at,rt as a75au,s as a75av,st as a75aw,t as a75ax,tt as a75ay,u as a75az,ut as a75aA,v as a75aB,vt as a75aC,w as a75aD,wt as a75aE,x as a75aF,xt as a75aG,y as a75aH,yt as a75aI,z as a75aJ}from'../common-BXJtePqk.mjs';import{getWowDir,getWowMcpDir,getWowokDataDir,getWowokIndustryDir,getWowokUserDataDir,getWowokWorkspaceDir,safeFilename,workspaceExportPath}from'./local/util.mjs';import{i as a75aK,n as a75aL}from'../storage-D1bEi2b7.mjs';import{Config}from'./local/config.mjs';import{BUITIN_IDS,LocalInfo,LocalInfoContentMaxCount,LocalInfoContentMaxLength,LocalInfoNameDefault,LocalInfoNameMaxLength,LocalMark,LocalMarkNameMaxLength,LocalMarkTagMaxCount,LocalMarkTagMaxLength,isValidAddress}from'./local/local.mjs';import{a as a75aM,i as a75aN,n as a75aO,o as a75aP,r as a75aQ,t as a75aR}from'../logger-Cs5Mf7Mf.mjs';import{CryptoVault,SecureAccountStorage}from'./local/secure-storage.mjs';import{Account,DEFAULT_ACCOUNT_NAME,MAX_ACCOUNTS,MAX_MESSENGER_ACCOUNTS}from'./local/account.mjs';import{TokenInfo}from'./local/token.mjs';import{bytesToBigInt,bytesToHex,hexToBytes,isValidEvmAddress,privateKeyToAddress,signEIP1559,signLegacy,toChecksumAddress}from'./local/evm/rlp.mjs';import{ETH_MAINNET,EvmNetworkRegistry,registerBridgeEvmNetworks}from'./local/evm/networks.mjs';import{EvmAccount}from'./local/evm-account.mjs';import{DEFAULT_LIMITS,WIP,WipError,WipSizeError,WipValidationError,createWip,generate_wip,loadWip,sign_wip,verifyWip,verify_wip,wip2html,wipToHtml}from'./local/wip.mjs';import{GetAccountOrMark_Address,GetLocalNamesByAddresses,GetManyAccountOrMark_Address,account_operation,fetch_token_info_operation,local_info_operation,local_mark_operation,query_account,query_account_list,query_local_info,query_local_info_default,query_local_info_list,query_local_mark,query_local_mark_list,query_local_token_list}from'./local/index.mjs';import{$ as a75aS,A as a75aT,B as a75aU,C as a75aV,Ct as a75aW,D as a75aX,Dt as a75aY,E as a75aZ,Et as a75b0,F as a75b1,G as a75b2,H as a75b3,I as a75b4,J as a75b5,K as a75b6,L as a75b7,M as a75b8,N as a75b9,O as a75ba,Ot as a75bb,P as a75bc,Q as a75bd,R as a75be,S as a75bf,St as a75bg,T as a75bh,Tt as a75bi,U as a75bj,V as a75bk,W as a75bl,X as a75bm,Y as a75bn,Z as a75bo,_ as a75bp,a as a75bq,at as a75br,b as a75bs,bt as a75bt,c as a75bu,ct as a75bv,d as a75bw,dt as a75bx,et as a75by,f as a75bz,ft as a75bA,g as a75bB,h as a75bC,ht as a75bD,i as a75bE,it as a75bF,j as a75bG,k as a75bH,l as a75bI,lt as a75bJ,m as a75bK,mt as a75bL,n as a75bM,nt as a75bN,o as a75bO,ot as a75bP,p as a75bQ,pt as a75bR,q as a75bS,r as a75bT,rt as a75bU,s as a75bV,st as a75bW,t as a75bX,tt as a75bY,u as a75bZ,ut as a75c0,v as a75c1,vt as a75c2,w as a75c3,wt as a75c4,x as a75c5,xt as a75c6,y as a75c7,yt as a75c8,z as a75c9}from'../object-C5tKBfgP.mjs';import{t as a75ca}from'../received-Dldrb1fk.mjs';import{$ as a75cb,A as a75cc,B as a75cd,C as a75ce,Ct as a75cf,D as a75cg,Dt as a75ch,E as a75ci,Et as a75cj,F as a75ck,G as a75cl,H as a75cm,I as a75cn,J as a75co,K as a75cp,L as a75cq,M as a75cr,N as a75cs,O as a75ct,P as a75cu,Q as a75cv,R as a75cw,S as a75cx,St as a75cy,T as a75cz,Tt as a75cA,U as a75cB,V as a75cC,W as a75cD,X as a75cE,Y as a75cF,Z as a75cG,_ as a75cH,_t as a75cI,at as a75cJ,b as a75cK,bt as a75cL,ct as a75cM,d as a75cN,dt as a75cO,et as a75cP,f as a75cQ,ft as a75cR,g as a75cS,gt as a75cT,h as a75cU,ht as a75cV,it as a75cW,j as a75cX,k as a75cY,lt as a75cZ,m as a75d0,mt as a75d1,nt as a75d2,ot as a75d3,p as a75d4,pt as a75d5,q as a75d6,rt as a75d7,st as a75d8,tt as a75d9,ut as a75da,v as a75db,vt as a75dc,w as a75dd,wt as a75de,x as a75df,xt as a75dg,y as a75dh,yt as a75di,z as a75dj}from'../passport-CLMoL1-c.mjs';import{i as a75dk,n as a75dl,r as a75dm,t as a75dn}from'../base-C-bmf-9P.mjs';import{CallPayment}from'./call/payment.mjs';import{CallAllocation}from'./call/allocation.mjs';import{BuiltinPermissionIndex,CallPermission,isBizPermIndex}from'./call/permission.mjs';import{CallArbitration}from'./call/arbitration.mjs';import{n as a75do,t as a75dp}from'../util-IEjKV3n4.mjs';import{CallDemand}from'./call/demand.mjs';import{CallGuard,formatGuardParseErrors,gen_passport,generateNodeComments,guard2file,parseGuardFile,parseGuardFromMarkdown,validateGuardData,validateGuardNode}from'./call/guard.mjs';import{CallProgress}from'./call/progress.mjs';import{CallMachine,machineNode2file}from'./call/machine.mjs';import{$ as a75dq,t as a75dr}from'../service-78UXm0js.mjs';import{CallReward,transformRewardInput}from'./call/reward.mjs';import{CallRepository}from'./call/repository.mjs';import{CallTreasury}from'./call/treasury.mjs';import{n as a75ds,r as a75dt,t as a75du}from'../call-B89EWeo5.mjs';import{n as a75dv,t as a75dw}from'../proof-BRpLwdbL.mjs';import{A as a75dx,C as a75dy,D as a75dz,E as a75dA,F as a75dB,I as a75dC,M as a75dD,N as a75dE,O as a75dF,P as a75dG,S as a75dH,T as a75dI,_ as a75dJ,a as a75dK,b as a75dL,c as a75dM,d as a75dN,f as a75dO,g as a75dP,h as a75dQ,i as a75dR,j as a75dS,k as a75dT,l as a75dU,m as a75dV,n as a75dW,o as a75dX,p as a75dY,r as a75dZ,s as a75e0,t as a75e1,u as a75e2,v as a75e3,w as a75e4,x as a75e5,y as a75e6}from'../query-Co2trHrE.mjs';import{DEFAULT_MESSENGER_CONFIG,DEFAULT_QUERY_LIMIT,MAX_QUERY_LIMIT,MessageDirection,MessageStatus,MessageType,MessengerError,MessengerErrorCode,NORMAL_MESSAGE_BYTES_LIMIT,WTS_FILE_BYTES_LIMIT,WTS_MAX_MESSAGE_COUNT}from'./messenger/types.mjs';import{t as a75e7}from'../messenger-CjfCX1gd.mjs';import{_ as a75e8,a as a75e9,b as a75ea,c as a75eb,d as a75ec,f as a75ed,g as a75ee,h as a75ef,i as a75eg,l as a75eh,m as a75ei,n as a75ej,o as a75ek,p as a75el,r as a75em,s as a75en,t as a75eo,u as a75ep,v as a75eq,y as a75er}from'../messenger-api-D6aPgQqj.mjs';import{A as a75es,B as a75et,C as a75eu,D as a75ev,E as a75ew,F as a75ex,I as a75ey,L as a75ez,M as a75eA,N as a75eB,O as a75eC,P as a75eD,R as a75eE,S as a75eF,T as a75eG,V as a75eH,_ as a75eI,a as a75eJ,b as a75eK,c as a75eL,d as a75eM,f as a75eN,g as a75eO,h as a75eP,i as a75eQ,j as a75eR,k as a75eS,l as a75eT,m as a75eU,n as a75eV,o as a75eW,p as a75eX,r as a75eY,s as a75eZ,t as a75f0,u as a75f1,v as a75f2,w as a75f3,x as a75f4,y as a75f5,z as a75f6}from'../w-BImJL-ey.mjs';export{a75dG as AFFILIATION_TABLES_BY_TYPE,a75dB as AFFILIATION_TABLE_META,Account,a75bX as AllocationMode,a75bM as AmountType,a75bT as ArbStatus,a75cN as BRIDGE_CURRENT_VERSION,a75cQ as BRIDGE_EVM_ADDRESS_LENGTH,a75d4 as BRIDGE_MESSAGE_VERSION,a75eY as BRIDGE_STEP_DESCRIPTIONS,a75d0 as BRIDGE_TRANSFER_STATUS_APPROVED,a75cU as BRIDGE_TRANSFER_STATUS_CLAIMED,a75cS as BRIDGE_TRANSFER_STATUS_NOT_FOUND,a75cH as BRIDGE_TRANSFER_STATUS_PENDING,BUITIN_IDS,a75dy as BridgeChainId,a75f0 as BridgeClient,a75e4 as BridgeErrorCode,a75eV as BridgeNodeClient,a75dI as BridgeTokenId,a75eQ as BridgeTransferDirection,a75eJ as BridgeTransferStatus,a75eW as BridgeTransferStep,a75dA as BridgeVersion,BuiltinPermissionIndex,a75dM as COMMON_MISTAKES,CallAllocation,CallArbitration,a75dn as CallBase,a75du as CallContact,CallDemand,CallGuard,CallMachine,a75dq as CallOrder,CallPayment,CallPermission,a75ds as CallPersonal,CallProgress,a75dw as CallProof,CallRepository,CallReward,a75dr as CallService,CallTreasury,a75ax as CoinWrapPrefix,Config,a75am as ContextType,CryptoVault,DEFAULT_ACCOUNT_NAME,DEFAULT_LIMITS,a75db as DEFAULT_LOCK_DURATION,DEFAULT_MESSENGER_CONFIG,DEFAULT_QUERY_LIMIT,a75dh as DISCOUNT_TYPE_MINUS,a75cK as DISCOUNT_TYPE_RATES,a75bE as DiscountType,a75at as ENTITY_CONTACT_ADDRESS,a75ae as ENTITY_LINKER_ADDRESS,a75Z as ENTITY_ORDER_ADDRESS,a75bq as ENTITY_ORDER_ROLE_AGENT,a75bO as ENTITY_ORDER_ROLE_OWNER,a75ao as ENTITY_PERMISSION_ADDRESS,a75av as ENTITY_REGISTRAR_ADDRESS,a75p as ENTRYPOINT,a75es as ERC20_TRANSFER_TOPIC,ETH_MAINNET,a75a3 as EntityAddress,EvmAccount,EvmNetworkRegistry,a75dU as FUNDING_GUIDANCE,a75bA as GUARDINSTRUCT,a75bR as GUARDQUERY,a75ai as GasCoinType,a75az as GasTokenType,GetAccountOrMark_Address,GetLocalNamesByAddresses,GetManyAccountOrMark_Address,a75a5 as GetObject,a75a8 as GetObjectDescription,a75aq as GetObjectExisted,a75e2 as INFO_CONSTANT,a75bV as IdFrom,a75ak as IsBcsStringLength,a75ac as IsValidArgType,a75aa as IsValidBalance,a75X as IsValidEndpoint,LocalInfo,LocalInfoContentMaxCount,LocalInfoContentMaxLength,LocalInfoNameDefault,LocalInfoNameMaxLength,LocalMark,LocalMarkNameMaxLength,LocalMarkTagMaxCount,LocalMarkTagMaxLength,a75aR as LogLevel,a75aO as Logger,a75dV as MAINNET_BRIDGE_CONFIG,a75dQ as MAINNET_COMMITTEE_MEMBER_ADDRESSES,a75dP as MAINNET_COMMITTEE_PUBKEYS,a75dJ as MAINNET_COMMITTEE_WEIGHTS,MAX_ACCOUNTS,a75df as MAX_ADDRESS_COUNT,a75cx as MAX_ADMIN_COUNT,a75ce as MAX_AGENT_COUNT,a75dd as MAX_ALLOCATOR_COUNT,a75cz as MAX_ARBITRATION_COUNT,a75ci as MAX_CONSENSUS_REPOSITORIES_COUNT,a75cg as MAX_CONTEXT_REPOSITORY_COUNT,a75ct as MAX_DATA_SIZE,a75aB as MAX_DEPENDED_COUNT,a75aH as MAX_DESCRIPTION_LENGTH,a75cY as MAX_DISCOUNT_COUNT_ONCE,a75cc as MAX_DISCOUNT_RECEIVER_ONCE,a75cX as MAX_DISCOUNT_TOTAL_COUNT,a75cr as MAX_DISPUTE_COUNT,a75cs as MAX_ENTITY_COUNT,a75a1 as MAX_ENV_PERMISSION_GUARD_COUNT,a75cu as MAX_EXTERNAL_DEPOSIT_GUARD_COUNT,a75ck as MAX_EXTERNAL_WITHDRAW_GUARD_COUNT,a75cn as MAX_FORWARD_COUNT,a75cq as MAX_FORWARD_ORDER_COUNT,a75cw as MAX_GUARD_COUNT_DEMAND,a75dj as MAX_GUARD_COUNT_PASSPORT,a75cd as MAX_GUARD_COUNT_REWARD,a75aF as MAX_GUARD_TABLE_ITEM_LENGTH,a75cC as MAX_ID_COUNT_ONCE,a75cm as MAX_IM_COUNT,a75N as MAX_INPUT_SIZE,a75cB as MAX_ITEM_COUNT,a75t as MAX_LONG_NAME_LENGTH,MAX_MESSENGER_ACCOUNTS,a75aD as MAX_MULTI_OPERANDS,a75cD as MAX_NAMED_OPERATOR_ADDRESS_COUNT,a75cl as MAX_NAMED_OPERATOR_COUNT,a75P as MAX_NAME_LENGTH,a75cp as MAX_NODE_COUNT,a75d6 as MAX_NODE_COUNT_ONCHAIN,a75co as MAX_NODE_PAIR_COUNT,a75bu as MAX_OBJECTS_PER_QUERY,a75cF as MAX_ORDER_ITEM_COUNT,a75x as MAX_PERMISSION_GUARD_COUNT,a75cE as MAX_PERM_FOR_ENTITY,a75cG as MAX_POLICY_COUNT,a75cv as MAX_POLICY_DESCRIPTION_LEN,a75cb as MAX_POLICY_GUARD_COUNT,a75cP as MAX_PROOF_SIZE,a75d9 as MAX_PROPOSITION_COUNT,MAX_QUERY_LIMIT,a75d2 as MAX_RECIPIENT_COUNT,a75d7 as MAX_RECORD_COUNT_REGISTRAR,a75cW as MAX_RECORD_COUNT_REWARD,a75cJ as MAX_RECORD_LENGTH,a75d3 as MAX_REPOSITORY_COUNT,a75d8 as MAX_REQUIRED_INFO_SIZE,a75cM as MAX_REWARD_COUNT,a75cZ as MAX_SALE_COUNT,a75da as MAX_SERVER_PUBKEY_SIZE,a75cO as MAX_SERVER_SIGNATURE_SIZE,a75cR as MAX_SHARING_COUNT,a75d5 as MAX_SUBMISSION_SIZE_PASSPORT,a75v as MAX_TABLE_SIZE,a75d1 as MAX_TAGS_COUNT,a75cV as MAX_VOTING_GUARD_COUNT,a75cT as MAX_VOTOR_COUNT,a75cI as MAX_WIP_HASH_LENGTH,a75dc as MAX_WIP_LENGTH,MessageDirection,MessageStatus,MessageType,a75e7 as Messenger,MessengerError,MessengerErrorCode,a75ea as MessengerManager,a75I as Modules,a75l as MoveErrors,NORMAL_MESSAGE_BYTES_LIMIT,a75ah as OBJECT_LINKER_CORE_ADDRESS,a75r as OBJECT_LINKER_TX_ADDRESS,a75bI as OBJECT_TYPE_DEFINITIONS,a75di as ONCHAIN_CONSTANTS,a75cL as ORDER_ROLE_AGENT,a75dg as ORDER_ROLE_OWNER,a75ag as ObjectType,a75G as OperatorType,a75aL as OwnedRecordStorage,a75H as PackageAddress,a75cy as ROLE_ADMIN,a75cf as ROLE_ENTITY,a75de as ROLE_OWNER,a75K as RecipientType,a75z as RegistrarAddress,a75dl as ResponseData,a75aK as SQLiteStorage,SecureAccountStorage,a75eR as TOKENS_CLAIMED_TOPIC,a75eA as TOKENS_DEPOSITED_TOPIC,a75eB as TOKENS_DEPOSITED_V2_TOPIC,TokenInfo,a75dz as TransferStatus,a75bZ as TreasuryOp,a75cA as USER_DEFINED_PERM_INDEX_START,a75C as ValueType,a75g as WErrors,a75j as WException,WIP,a75cj as WITHDRAW_DURATION_TIME,a75ch as WOWOK_WTS_PROOF_TYPE,WTS_FILE_BYTES_LIMIT,WTS_MAX_MESSAGE_COUNT,a75e as WValidate,a75a as W_ENSURE,a75h as W_ERROR,a75k as W_FAILURE,a75b as W_SAFE,a75f as W_SUCCESS,a75m as W_VALIDATE_PARAM,WipError,WipSizeError,WipValidationError,a75bw as WitnessSourceType,a75bz as WitnessTargetType,a75F as WitnessType,a75f5 as WowClaimStatus,account_operation,a75M as arbitrationFn,a75c2 as bcsBytesToValue,a75eo as blacklist,a75eu as buildClaimMessage,bytesToBigInt,bytesToHex,a75bv as checkType,a75f3 as claimOnEth,a75eG as claimOnEthBySeq,a75eK as claimOnWow,a75aJ as contactFn,a75aQ as createSensitiveLogger,a75s as createValueContainer,createWip,a75bQ as data2object,a75S as demandFn,a75ev as depositErc20,a75eC as depositEth,a75eS as depositFromEth,a75eF as depositFromWow,a75eD as encodeApprove,a75ex as encodeBridgeERC20,a75ey as encodeBridgeERC20V2,a75ez as encodeBridgeETH,a75eE as encodeBridgeETHV2,a75f6 as encodeIsTransferProcessed,a75et as encodeTokenTransferPayloadV2,a75eH as encodeTransferBridgedTokensWithSignatures,a75c as enrichMoveError,a75c8 as extractCoinType,a75ej as extractZipFromPlaintext,a75em as extract_zip_messages,fetch_token_info_operation,a75bL as filterGuardInstruct,a75e3 as findEvmChainConfig,a75e6 as findEvmChainConfigByBridgeChainId,a75dL as findToken,a75e5 as findTokenBySymbol,formatGuardParseErrors,a75eg as friendslist,gen_passport,a75dv as gen_proof,generateNodeComments,generate_wip,a75e9 as generate_wts,a75bJ as getCallEnvAccount,a75dm as getCoinParam,a75n as getFullnodeUrl,a75o as getGraphqlUrl,a75bD as getGuardQueryInfo,a75aN as getLogLevel,a75ek as getMessengerManager,a75d as getMoveErrorDescription,a75bK as getMoveNameFromNumber,a75bC as getMoveNameFromObjectType,a75bB as getNumberFromMoveName,a75bp as getNumberFromObjectType,a75c1 as getNumbersFromObjectTypes,a75c7 as getObjectTypeDefinition,a75bs as getObjectTypeDefinitionFromNumber,a75c5 as getObjectTypeFromMoveName,a75bf as getObjectTypeFromNumber,a75aV as getObjectTypesFromNumbers,getWowDir,getWowMcpDir,getWowokDataDir,getWowokIndustryDir,getWowokUserDataDir,getWowokWorkspaceDir,guard2file,a75en as guardlist,hexToBytes,a75c3 as idFromToString,isBizPermIndex,a75dk as isCallResultSubmission,a75dF as isEvmChain,a75ew as isEvmNonceAlreadyProcessed,a75B as isGasTokenType,a75R as isThisPackage,isValidAddress,a75T as isValidArray,a75A as isValidDescription,isValidEvmAddress,a75E as isValidHttpUrl,a75bh as isValidIdFromInput,a75as as isValidLongName,a75D as isValidName,a75V as isValidU128,a75U as isValidU16,a75W as isValidU256,a75L as isValidU32,a75q as isValidU64,a75a7 as isValidU8,a75bt as isValidValueContainer,a75ay as isValidValueType,a75an as isValidValueTypeInput,a75au as isValidWitnessTypeInput,a75af as isValueTypeNumber,a75i as isWException,a75a0 as isWitnessType,a75dT as isWowChain,loadWip,local_info_operation,local_mark_operation,a75aM as logger,a75ap as machineFn,machineNode2file,a75eZ as makeBridgeTransferState,a75eb as mark_conversation_as_viewed,a75eh as mark_messages_as_viewed,a75aZ as numberToObjectType,a75aX as objectTypeFromAddress,a75ba as objectTypeToNumber,a75aw as object_module_and_name_from_type,a75a4 as object_name_from_type,a75c6 as owner_receive,a75eL as parseEthClaimEvent,a75eT as parseEthDepositEvent,parseGuardFile,parseGuardFromMarkdown,a75bH as parseIdFrom,a75bg as parseObjectType,a75aW as parseRecipient,a75c4 as parseTypeParameter,a75aj as parseValueType,a75aA as parseWitnessType,a75dx as parseWowokEventItem,a75bi as permission_set,privateKeyToAddress,a75ep as proof_message,a75ec as pull_messages,a75f1 as queryErc20Balance,a75eM as queryEthBalance,a75eN as queryEthTxConfirmations,a75eX as queryEthTxReceipt,a75eU as queryEvmToWowTransferStatus,a75dp as queryObjectWithType,a75do as queryObjectsWithType,a75aT as queryOrdersByUser,a75dN as queryPermissions,a75dO as queryProtocolInfo,a75bG as queryTableItem_AddressMark,a75b8 as queryTableItem_DemandPresenter,a75b9 as queryTableItem_EntityContact,a75bc as queryTableItem_EntityLinker,a75b1 as queryTableItem_EntityOrder,a75b4 as queryTableItem_EntityPermission,a75b7 as queryTableItem_EntityRegistrar,a75be as queryTableItem_MachineNode,a75c9 as queryTableItem_ObjectLinkerCore,a75aU as queryTableItem_ObjectLinkerTx,a75bk as queryTableItem_PermissionPerm,a75b3 as queryTableItem_ProgressHistory,a75bj as queryTableItem_RepositoryData,a75bl as queryTableItem_RewardRecord,a75b2 as queryTableItem_ServiceOrders,a75b6 as queryTableItem_TreasuryHistory,a75f4 as queryWowClaimStatus,a75eP as queryWowToEvmTransferStatus,a75eO as queryWowTx,query_account,query_account_list,a75e1 as query_address_activity,a75dW as query_address_activity_json,a75bS as query_address_profile,a75b5 as query_address_profiles,a75dC as query_affiliations,a75bn as query_arbs,a75dY as query_common_mistakes,a75bm as query_demands,a75dS as query_events,a75dD as query_events_json,query_local_info,query_local_info_default,query_local_info_list,query_local_mark,query_local_mark_list,query_local_token_list,a75dZ as query_object_history,a75dR as query_object_history_json,a75dK as query_object_last_updated,a75bo as query_object_token_type,a75bd as query_objects,a75aS as query_objects_json,a75by as query_personal,a75ca as query_received,a75dE as query_serviceContext,a75bY as query_services,a75bN as query_shared_objects,a75bU as query_shared_objects_json,a75bF as query_table,a75br as query_tableItem,a75bP as query_table_json,a75dX as query_transaction,a75e0 as query_transaction_json,a75bW as raw2type,registerBridgeEvmNetworks,a75a6 as repositoryFn,a75c0 as resolveCallEnv,a75bx as restoreNodeFromOutput,a75a9 as rewardFn,safeFilename,a75ed as send_file,a75el as send_message,a75ar as serviceFn,a75aP as setLogLevel,a75ei as settings,signEIP1559,signLegacy,sign_wip,a75ef as sign_wts,toChecksumAddress,a75al as toTxAddress,a75ad as toTxAddressVec,a75ab as toTxObject,a75Y as toTxReceivingObject,a75aC as toTxString,a75aI as toTxU128,a75a2 as toTxU16,a75aG as toTxU16Vec,a75O as toTxU256,a75u as toTxU32,a75aE as toTxU64,a75Q as toTxU8,a75dt as transformPersonalInput,transformRewardInput,a75y as treasuryFn,a75b0 as uint2address,a75aY as validObjects,validateGuardData,validateGuardNode,a75bb as valueToBcsBytes,a75w as valueTypeToString,a75dH as verifyCommitteeConsistency,verifyWip,verify_wip,a75ee as verify_wts,a75eI as waitForEthTx,a75f2 as waitForWowTx,a75e8 as watch_conversations,a75eq as watch_messages,wip2html,wipToHtml,a75J as witnessTypeToString,workspaceExportPath,a75er as wts2html};
1
+ import{a as a73a,c as a73b,d as a73c,f as a73d,i as a73e,l as a73f,n as a73g,o as a73h,p as a73i,r as a73j,s as a73k,t as a73l,u as a73m}from'../exception-CSxqQRN7.mjs';import{a as a73n,i as a73o,n as a73p,o as a73q,r as a73r,t as a73s}from'../network-CGWSsrLB.mjs';import{$ as a73t,A as a73u,B as a73v,C as a73w,Ct as a73x,D as a73y,Dt as a73z,E as a73A,Et as a73B,F as a73C,G as a73D,H as a73E,I as a73F,J as a73G,K as a73H,L as a73I,M as a73J,N as a73K,O as a73L,Ot as a73M,P as a73N,Q as a73O,R as a73P,S as a73Q,St as a73R,T as a73S,Tt as a73T,U as a73U,V as a73V,W as a73W,X as a73X,Y as a73Y,Z as a73Z,_ as a73a0,_t as a73a1,a as a73a2,at as a73a3,b as a73a4,bt as a73a5,c as a73a6,ct as a73a7,d as a73a8,dt as a73a9,et as a73aa,f as a73ab,ft as a73ac,g as a73ad,gt as a73ae,h as a73af,ht as a73ag,i as a73ah,it as a73ai,j as a73aj,k as a73ak,l as a73al,lt as a73am,m as a73an,mt as a73ao,n as a73ap,nt as a73aq,o as a73ar,ot as a73as,p as a73at,pt as a73au,q as a73av,r as a73aw,rt as a73ax,s as a73ay,st as a73az,t as a73aA,tt as a73aB,u as a73aC,ut as a73aD,v as a73aE,vt as a73aF,w as a73aG,wt as a73aH,x as a73aI,xt as a73aJ,y as a73aK,yt as a73aL,z as a73aM}from'../common-BLQJxJvT.mjs';import{getWowDir,getWowMcpDir,getWowokDataDir,getWowokIndustryDir,getWowokUserDataDir,getWowokWorkspaceDir,safeFilename,workspaceExportPath}from'./local/util.mjs';import{i as a73aN,n as a73aO}from'../storage-D1bEi2b7.mjs';import{Config}from'./local/config.mjs';import{BUITIN_IDS,LocalInfo,LocalInfoContentMaxCount,LocalInfoContentMaxLength,LocalInfoNameDefault,LocalInfoNameMaxLength,LocalMark,LocalMarkNameMaxLength,LocalMarkTagMaxCount,LocalMarkTagMaxLength,isValidAddress}from'./local/local.mjs';import{a as a73aP,i as a73aQ,n as a73aR,o as a73aS,r as a73aT,t as a73aU}from'../logger-Da7dKX2V.mjs';import{CryptoVault,SecureAccountStorage}from'./local/secure-storage.mjs';import{Account,DEFAULT_ACCOUNT_NAME,MAX_ACCOUNTS,MAX_MESSENGER_ACCOUNTS}from'./local/account.mjs';import{TokenInfo}from'./local/token.mjs';import{_ as a73aV,a as a73aW,b as a73aX,c as a73aY,d as a73aZ,f as a73b0,g as a73b1,h as a73b2,i as a73b3,l as a73b4,m as a73b5,n as a73b6,o as a73b7,p as a73b8,r as a73b9,s as a73ba,t as a73bb,u as a73bc,v as a73bd,x as a73be,y as a73bf}from'../fund-approval-Dy-heIpQ.mjs';import{bytesToBigInt,bytesToHex,hexToBytes,isValidEvmAddress,privateKeyToAddress,signEIP1559,signLegacy,toChecksumAddress}from'./local/evm/rlp.mjs';import{ETH_MAINNET,EvmNetworkRegistry,registerBridgeEvmNetworks}from'./local/evm/networks.mjs';import{EvmAccount}from'./local/evm-account.mjs';import{DEFAULT_LIMITS,WIP,WipError,WipSizeError,WipValidationError,createWip,generate_wip,loadWip,sign_wip,verifyWip,verify_wip,wip2html,wipToHtml}from'./local/wip.mjs';import{GetAccountOrMark_Address,GetLocalNamesByAddresses,GetManyAccountOrMark_Address,account_operation,fetch_token_info_operation,local_info_operation,local_mark_operation,query_account,query_account_list,query_local_info,query_local_info_default,query_local_info_list,query_local_mark,query_local_mark_list,query_local_token_list}from'./local/index.mjs';import{$ as a73bg,$n as a73bh,A as a73bi,An as a73bj,Ar as a73bk,At as a73bl,B as a73bm,Bn as a73bn,Br as a73bo,C as a73bp,Cn as a73bq,Cr as a73br,D as a73bs,Dn as a73bt,Dr as a73bu,E as a73bv,En as a73bw,Er as a73bx,F as a73by,Fn as a73bz,Fr as a73bA,Ft as a73bB,G as a73bC,Gn as a73bD,H as a73bE,Hn as a73bF,I as a73bG,In as a73bH,Ir as a73bI,J as a73bJ,Jn as a73bK,K as a73bL,Kn as a73bM,L as a73bN,Ln as a73bO,Lr as a73bP,M as a73bQ,Mn as a73bR,Mr as a73bS,Mt as a73bT,N as a73bU,Nn as a73bV,Nr as a73bW,Nt as a73bX,O as a73bY,On as a73bZ,P as a73c0,Pn as a73c1,Pr as a73c2,Pt as a73c3,Q as a73c4,Qn as a73c5,R as a73c6,Rn as a73c7,Rr as a73c8,S as a73c9,Sn as a73ca,Sr as a73cb,T as a73cc,Tn as a73cd,Tr as a73ce,Tt as a73cf,U as a73cg,Un as a73ch,V as a73ci,Vn as a73cj,W as a73ck,Wn as a73cl,X as a73cm,Xn as a73cn,Y as a73co,Yn as a73cp,Z as a73cq,Zn as a73cr,_ as a73cs,_n as a73ct,_r as a73cu,a as a73cv,ar as a73cw,at as a73cx,b as a73cy,bn as a73cz,br as a73cA,bt as a73cB,c as a73cC,cn as a73cD,cr as a73cE,ct as a73cF,d as a73cG,dn as a73cH,dr as a73cI,dt as a73cJ,er as a73cK,et as a73cL,f as a73cM,fn as a73cN,fr as a73cO,ft as a73cP,g as a73cQ,gn as a73cR,gr as a73cS,h as a73cT,hn as a73cU,hr as a73cV,i as a73cW,ir as a73cX,it as a73cY,j as a73cZ,jn as a73d0,jr as a73d1,jt as a73d2,k as a73d3,kn as a73d4,l as a73d5,ln as a73d6,lr as a73d7,lt as a73d8,m as a73d9,mn as a73da,mr as a73db,n as a73dc,nr as a73dd,nt as a73de,o as a73df,or as a73dg,ot as a73dh,p as a73di,pn as a73dj,pr as a73dk,q as a73dl,qn as a73dm,r as a73dn,rr as a73do,rt as a73dp,s as a73dq,sn as a73dr,sr as a73ds,st as a73dt,t as a73du,tr as a73dv,tt as a73dw,u as a73dx,un as a73dy,ur as a73dz,ut as a73dA,v as a73dB,vn as a73dC,vr as a73dD,vt as a73dE,w as a73dF,wn as a73dG,wr as a73dH,wt as a73dI,x as a73dJ,xn as a73dK,xr as a73dL,xt as a73dM,y as a73dN,yn as a73dO,yr as a73dP,yt as a73dQ,z as a73dR,zn as a73dS,zr as a73dT}from'../object-VP6MlaCJ.mjs';import{t as a73dU}from'../received-DGwKBzFf.mjs';import{CallPayment}from'./call/payment.mjs';import{CallAllocation}from'./call/allocation.mjs';import{BuiltinPermissionIndex,CallPermission,isBizPermIndex}from'./call/permission.mjs';import{CallArbitration}from'./call/arbitration.mjs';import{n as a73dV,t as a73dW}from'../util-DUArS_ez.mjs';import{CallDemand}from'./call/demand.mjs';import{CallProgress}from'./call/progress.mjs';import{CallMachine,machineNode2file}from'./call/machine.mjs';import{$ as a73dX,t as a73dY}from'../service-o4c33u4H.mjs';import{CallReward,transformRewardInput}from'./call/reward.mjs';import{CallRepository}from'./call/repository.mjs';import{CallTreasury}from'./call/treasury.mjs';import{n as a73dZ,r as a73e0,t as a73e1}from'../call-BQMw_Z9s.mjs';import{n as a73e2,t as a73e3}from'../proof-D9SjsE8n.mjs';import{AFFILIATION_TABLES_BY_TYPE,AFFILIATION_TABLE_META,COMMON_MISTAKES,FUNDING_GUIDANCE,INFO_CONSTANT,parseWowokEventItem,queryPermissions,queryProtocolInfo,query_address_activity,query_address_activity_json,query_affiliations,query_common_mistakes,query_events,query_events_json,query_object_history,query_object_history_json,query_object_last_updated,query_serviceContext,query_transaction,query_transaction_json}from'./query/index.mjs';import{DEFAULT_MESSENGER_CONFIG,DEFAULT_QUERY_LIMIT,MAX_QUERY_LIMIT,MessageDirection,MessageStatus,MessageType,MessengerError,MessengerErrorCode,NORMAL_MESSAGE_BYTES_LIMIT,WTS_FILE_BYTES_LIMIT,WTS_MAX_MESSAGE_COUNT}from'./messenger/types.mjs';import{t as a73e4}from'../messenger-BxoZnri2.mjs';import{_ as a73e5,a as a73e6,b as a73e7,c as a73e8,d as a73e9,f as a73ea,g as a73eb,h as a73ec,i as a73ed,l as a73ee,m as a73ef,n as a73eg,o as a73eh,p as a73ei,r as a73ej,s as a73ek,t as a73el,u as a73em,v as a73en,y as a73eo}from'../messenger-api-k2rGNPPD.mjs';import{A as a73ep,B as a73eq,C as a73er,D as a73es,E as a73et,F as a73eu,I as a73ev,L as a73ew,M as a73ex,N as a73ey,O as a73ez,P as a73eA,R as a73eB,S as a73eC,T as a73eD,V as a73eE,_ as a73eF,a as a73eG,b as a73eH,c as a73eI,d as a73eJ,f as a73eK,g as a73eL,h as a73eM,i as a73eN,j as a73eO,k as a73eP,l as a73eQ,m as a73eR,n as a73eS,o as a73eT,p as a73eU,r as a73eV,s as a73eW,t as a73eX,u as a73eY,v as a73eZ,w as a73f0,x as a73f1,y as a73f2,z as a73f3}from'../w-C77YSXfT.mjs';export{AFFILIATION_TABLES_BY_TYPE,AFFILIATION_TABLE_META,Account,a73du as AllocationMode,a73dc as AmountType,a73dn as ArbStatus,a73dr as BRIDGE_CURRENT_VERSION,a73cD as BRIDGE_EVM_ADDRESS_LENGTH,a73d6 as BRIDGE_MESSAGE_VERSION,a73eV as BRIDGE_STEP_DESCRIPTIONS,a73dy as BRIDGE_TRANSFER_STATUS_APPROVED,a73cH as BRIDGE_TRANSFER_STATUS_CLAIMED,a73cN as BRIDGE_TRANSFER_STATUS_NOT_FOUND,a73dj as BRIDGE_TRANSFER_STATUS_PENDING,BUITIN_IDS,a73b2 as BridgeChainId,a73eX as BridgeClient,a73b1 as BridgeErrorCode,a73eS as BridgeNodeClient,a73aV as BridgeTokenId,a73eN as BridgeTransferDirection,a73eG as BridgeTransferStatus,a73eT as BridgeTransferStep,a73bd as BridgeVersion,BuiltinPermissionIndex,COMMON_MISTAKES,CallAllocation,CallArbitration,a73bT as CallBase,a73e1 as CallContact,CallDemand,a73cP as CallGuard,CallMachine,a73dX as CallOrder,CallPayment,CallPermission,a73dZ as CallPersonal,CallProgress,a73e3 as CallProof,CallRepository,CallReward,a73dY as CallService,CallTreasury,a73aA as CoinWrapPrefix,Config,a73ap as ContextType,CryptoVault,DEFAULT_ACCOUNT_NAME,DEFAULT_LIMITS,a73da as DEFAULT_LOCK_DURATION,DEFAULT_MESSENGER_CONFIG,DEFAULT_QUERY_LIMIT,a73cU as DISCOUNT_TYPE_MINUS,a73cR as DISCOUNT_TYPE_RATES,a73cW as DiscountType,a73aw as ENTITY_CONTACT_ADDRESS,a73ah as ENTITY_LINKER_ADDRESS,a73a2 as ENTITY_ORDER_ADDRESS,a73cv as ENTITY_ORDER_ROLE_AGENT,a73df as ENTITY_ORDER_ROLE_OWNER,a73ar as ENTITY_PERMISSION_ADDRESS,a73ay as ENTITY_REGISTRAR_ADDRESS,a73s as ENTRYPOINT,a73ep as ERC20_TRANSFER_TOPIC,ETH_MAINNET,a73p as EXPECTED_CHAIN_IDENTIFIERS,a73a6 as EntityAddress,EvmAccount,EvmNetworkRegistry,FUNDING_GUIDANCE,a73dH as GUARDINSTRUCT,a73ce as GUARDQUERY,a73al as GasCoinType,a73aC as GasTokenType,GetAccountOrMark_Address,GetLocalNamesByAddresses,GetManyAccountOrMark_Address,a73a8 as GetObject,a73ab as GetObjectDescription,a73at as GetObjectExisted,INFO_CONSTANT,a73dq as IdFrom,a73an as IsBcsStringLength,a73af as IsValidArgType,a73ad as IsValidBalance,a73a0 as IsValidEndpoint,LocalInfo,LocalInfoContentMaxCount,LocalInfoContentMaxLength,LocalInfoNameDefault,LocalInfoNameMaxLength,LocalMark,LocalMarkNameMaxLength,LocalMarkTagMaxCount,LocalMarkTagMaxLength,a73aU as LogLevel,a73aR as Logger,a73b7 as MAINNET_BRIDGE_CONFIG,a73ba as MAINNET_COMMITTEE_MEMBER_ADDRESSES,a73aY as MAINNET_COMMITTEE_PUBKEYS,a73b4 as MAINNET_COMMITTEE_WEIGHTS,MAX_ACCOUNTS,a73ct as MAX_ADDRESS_COUNT,a73dC as MAX_ADMIN_COUNT,a73dO as MAX_AGENT_COUNT,a73cz as MAX_ALLOCATOR_COUNT,a73dK as MAX_ARBITRATION_COUNT,a73ca as MAX_CONSENSUS_REPOSITORIES_COUNT,a73bq as MAX_CONTEXT_REPOSITORY_COUNT,a73dG as MAX_DATA_SIZE,a73aE as MAX_DEPENDED_COUNT,a73aK as MAX_DESCRIPTION_LENGTH,a73cd as MAX_DISCOUNT_COUNT_ONCE,a73bw as MAX_DISCOUNT_RECEIVER_ONCE,a73bt as MAX_DISCOUNT_TOTAL_COUNT,a73bZ as MAX_DISPUTE_COUNT,a73d4 as MAX_ENTITY_COUNT,a73a4 as MAX_ENV_PERMISSION_GUARD_COUNT,a73bj as MAX_EXTERNAL_DEPOSIT_GUARD_COUNT,a73d0 as MAX_EXTERNAL_WITHDRAW_GUARD_COUNT,a73bR as MAX_FORWARD_COUNT,a73bV as MAX_FORWARD_ORDER_COUNT,a73c1 as MAX_GUARD_COUNT_DEMAND,a73bz as MAX_GUARD_COUNT_PASSPORT,a73bH as MAX_GUARD_COUNT_REWARD,a73aI as MAX_GUARD_NODE_DEPTH,a73Q as MAX_GUARD_TABLE_ITEM_LENGTH,a73bO as MAX_ID_COUNT_ONCE,a73c7 as MAX_IM_COUNT,a73w as MAX_INPUT_SIZE,a73dS as MAX_ITEM_COUNT,a73aG as MAX_LONG_NAME_LENGTH,MAX_MESSENGER_ACCOUNTS,a73S as MAX_MULTI_OPERANDS,a73bn as MAX_NAMED_OPERATOR_ADDRESS_COUNT,a73cj as MAX_NAMED_OPERATOR_COUNT,a73A as MAX_NAME_LENGTH,a73bF as MAX_NODE_COUNT,a73ch as MAX_NODE_COUNT_ONCHAIN,a73cl as MAX_NODE_PAIR_COUNT,a73cC as MAX_OBJECTS_PER_QUERY,a73bD as MAX_ORDER_ITEM_COUNT,a73y as MAX_PERMISSION_GUARD_COUNT,a73bM as MAX_PERM_FOR_ENTITY,a73dm as MAX_POLICY_COUNT,a73bK as MAX_POLICY_DESCRIPTION_LEN,a73cp as MAX_POLICY_GUARD_COUNT,a73cn as MAX_PROOF_SIZE,a73cr as MAX_PROPOSITION_COUNT,MAX_QUERY_LIMIT,a73c5 as MAX_RECIPIENT_COUNT,a73bh as MAX_RECORD_COUNT_REGISTRAR,a73cK as MAX_RECORD_COUNT_REWARD,a73dv as MAX_RECORD_LENGTH,a73dd as MAX_REPOSITORY_COUNT,a73do as MAX_REQUIRED_INFO_SIZE,a73cX as MAX_REWARD_COUNT,a73cw as MAX_SALE_COUNT,a73dg as MAX_SERVER_PUBKEY_SIZE,a73ds as MAX_SERVER_SIGNATURE_SIZE,a73cE as MAX_SHARING_COUNT,a73L as MAX_STRING_OPERANDS,a73d7 as MAX_SUBMISSION_SIZE_PASSPORT,a73dz as MAX_TAGS_COUNT,a73cI as MAX_VOTING_GUARD_COUNT,a73cO as MAX_VOTOR_COUNT,a73dk as MAX_WIP_HASH_LENGTH,a73db as MAX_WIP_LENGTH,MessageDirection,MessageStatus,MessageType,a73e4 as Messenger,MessengerError,MessengerErrorCode,a73e7 as MessengerManager,a73ak as Modules,a73l as MoveErrors,NORMAL_MESSAGE_BYTES_LIMIT,a73u as OBJECT_LINKER_CORE_ADDRESS,a73aj as OBJECT_LINKER_TX_ADDRESS,a73d5 as OBJECT_TYPE_DEFINITIONS,a73cV as ONCHAIN_CONSTANTS,a73cS as ORDER_ROLE_AGENT,a73cu as ORDER_ROLE_OWNER,a73J as ObjectType,a73K as OperatorType,a73aO as OwnedRecordStorage,a73N as PackageAddress,a73r as RETIRED_CHAIN_IDENTIFIERS,a73dD as ROLE_ADMIN,a73dP as ROLE_ENTITY,a73cA as ROLE_OWNER,a73C as RecipientType,a73F as RegistrarAddress,a73bX as ResponseData,a73aN as SQLiteStorage,SecureAccountStorage,a73eO as TOKENS_CLAIMED_TOPIC,a73ex as TOKENS_DEPOSITED_TOPIC,a73ey as TOKENS_DEPOSITED_V2_TOPIC,TokenInfo,a73bf as TransferStatus,a73dx as TreasuryOp,a73dL as USER_DEFINED_PERM_INDEX_START,a73I as ValueType,a73g as WErrors,a73j as WException,WIP,a73cb as WITHDRAW_DURATION_TIME,a73br as WOWOK_WTS_PROOF_TYPE,WTS_FILE_BYTES_LIMIT,WTS_MAX_MESSAGE_COUNT,a73e as WValidate,a73a as W_ENSURE,a73h as W_ERROR,a73k as W_FAILURE,a73b as W_SAFE,a73f as W_SUCCESS,a73m as W_VALIDATE_PARAM,WipError,WipSizeError,WipValidationError,a73cG as WitnessSourceType,a73cM as WitnessTargetType,a73P as WitnessType,a73f2 as WowClaimStatus,account_operation,a73aM as arbitrationFn,a73bk as bcsBytesToValue,a73el as blacklist,a73er as buildClaimMessage,bytesToBigInt,bytesToHex,a73cF as checkType,a73f0 as claimOnEth,a73eD as claimOnEthBySeq,a73eH as claimOnWow,a73o as classifyChainIdentifier,a73v as contactFn,a73aT as createSensitiveLogger,createWip,a73di as data2object,a73V as demandFn,a73es as depositErc20,a73ez as depositEth,a73eP as depositFromEth,a73eC as depositFromWow,a73eA as encodeApprove,a73eu as encodeBridgeERC20,a73ev as encodeBridgeERC20V2,a73ew as encodeBridgeETH,a73eB as encodeBridgeETHV2,a73f3 as encodeIsTransferProcessed,a73eq as encodeTokenTransferPayloadV2,a73eE as encodeTransferBridgedTokensWithSignatures,a73c as enrichMoveError,a73d1 as extractCoinType,a73eg as extractZipFromPlaintext,a73ej as extract_zip_messages,a73bb as fetchFundApprovalTokenInfo,fetch_token_info_operation,a73bx as filterGuardInstruct,a73bc as findEvmChainConfig,a73aZ as findEvmChainConfigByBridgeChainId,a73b0 as findToken,a73b8 as findTokenBySymbol,a73dE as formatGuardParseErrors,a73ed as friendslist,a73dQ as gen_passport,a73e2 as gen_proof,a73cB as generateNodeComments,generate_wip,a73e6 as generate_wts,a73d8 as getCallEnvAccount,a73c3 as getCoinParam,a73n as getFullnodeUrl,a73b6 as getFundApprovalPolicy,a73b9 as getFundApprovalTokenCatalog,a73q as getGraphqlUrl,a73bu as getGuardQueryInfo,a73aQ as getLogLevel,a73eh as getMessengerManager,a73d as getMoveErrorDescription,a73d9 as getMoveNameFromNumber,a73cT as getMoveNameFromObjectType,a73cQ as getNumberFromMoveName,a73cs as getNumberFromObjectType,a73dB as getNumbersFromObjectTypes,a73dN as getObjectTypeDefinition,a73cy as getObjectTypeDefinitionFromNumber,a73dJ as getObjectTypeFromMoveName,a73c9 as getObjectTypeFromNumber,a73bp as getObjectTypesFromNumbers,getWowDir,getWowMcpDir,getWowokDataDir,getWowokIndustryDir,getWowokUserDataDir,getWowokWorkspaceDir,a73dM as guard2file,a73ek as guardlist,hexToBytes,a73dF as idFromToString,isBizPermIndex,a73bB as isCallResultSubmission,a73aX as isEvmChain,a73et as isEvmNonceAlreadyProcessed,a73b3 as isFundApprovalExempt,a73E as isGasTokenType,a73U as isThisPackage,isValidAddress,a73W as isValidArray,a73D as isValidDescription,isValidEvmAddress,a73H as isValidHttpUrl,a73cc as isValidIdFromInput,a73av as isValidLongName,a73G as isValidName,a73Y as isValidU128,a73X as isValidU16,a73Z as isValidU256,a73O as isValidU32,a73t as isValidU64,a73aa as isValidU8,a73bS as isValidValueContainer,a73aB as isValidValueType,a73aq as isValidValueTypeInput,a73ax as isValidWitnessTypeInput,a73ai as isValueTypeNumber,a73i as isWException,a73a3 as isWitnessType,a73be as isWowChain,loadWip,local_info_operation,local_mark_operation,a73aP as logger,a73as as machineFn,machineNode2file,a73eW as makeBridgeTransferState,a73e8 as mark_conversation_as_viewed,a73ee as mark_messages_as_viewed,a73bv as numberToObjectType,a73bs as objectTypeFromAddress,a73bY as objectTypeToNumber,a73az as object_module_and_name_from_type,a73a7 as object_name_from_type,a73bW as owner_receive,a73eI as parseEthClaimEvent,a73eQ as parseEthDepositEvent,a73dI as parseGuardFile,a73cf as parseGuardFromMarkdown,a73d3 as parseIdFrom,a73c2 as parseObjectType,a73bA as parseRecipient,a73bI as parseTypeParameter,a73am as parseValueType,a73aD as parseWitnessType,parseWowokEventItem,a73bP as permission_set,privateKeyToAddress,a73em as proof_message,a73e9 as pull_messages,a73eY as queryErc20Balance,a73eJ as queryEthBalance,a73eK as queryEthTxConfirmations,a73eU as queryEthTxReceipt,a73eR as queryEvmToWowTransferStatus,a73dW as queryObjectWithType,a73dV as queryObjectsWithType,a73bi as queryOrdersByUser,queryPermissions,queryProtocolInfo,a73cZ as queryTableItem_AddressMark,a73bQ as queryTableItem_DemandPresenter,a73bU as queryTableItem_EntityContact,a73c0 as queryTableItem_EntityLinker,a73by as queryTableItem_EntityOrder,a73bG as queryTableItem_EntityPermission,a73bN as queryTableItem_EntityRegistrar,a73c6 as queryTableItem_MachineNode,a73dR as queryTableItem_ObjectLinkerCore,a73bm as queryTableItem_ObjectLinkerTx,a73ci as queryTableItem_PermissionPerm,a73bE as queryTableItem_ProgressHistory,a73cg as queryTableItem_RepositoryData,a73ck as queryTableItem_RewardRecord,a73bC as queryTableItem_ServiceOrders,a73bL as queryTableItem_TreasuryHistory,a73f1 as queryWowClaimStatus,a73eM as queryWowToEvmTransferStatus,a73eL as queryWowTx,query_account,query_account_list,query_address_activity,query_address_activity_json,a73dl as query_address_profile,a73bJ as query_address_profiles,query_affiliations,a73co as query_arbs,query_common_mistakes,a73cm as query_demands,query_events,query_events_json,query_local_info,query_local_info_default,query_local_info_list,query_local_mark,query_local_mark_list,query_local_token_list,query_object_history,query_object_history_json,query_object_last_updated,a73cq as query_object_token_type,a73c4 as query_objects,a73bg as query_objects_json,a73cL as query_personal,a73dU as query_received,query_serviceContext,a73dw as query_services,a73de as query_shared_objects,a73dp as query_shared_objects_json,a73cY as query_table,a73cx as query_tableItem,a73dh as query_table_json,query_transaction,query_transaction_json,a73dt as raw2type,registerBridgeEvmNetworks,a73a9 as repositoryFn,a73dA as resolveCallEnv,a73cJ as restoreNodeFromOutput,a73ac as rewardFn,safeFilename,a73ea as send_file,a73ei as send_message,a73au as serviceFn,a73aW as setFundApprovalPolicy,a73aS as setLogLevel,a73ef as settings,signEIP1559,signLegacy,sign_wip,a73ec as sign_wts,toChecksumAddress,a73ao as toTxAddress,a73ag as toTxAddressVec,a73ae as toTxObject,a73a1 as toTxReceivingObject,a73aF as toTxString,a73aL as toTxU128,a73a5 as toTxU16,a73aJ as toTxU16Vec,a73R as toTxU256,a73x as toTxU32,a73aH as toTxU64,a73T as toTxU8,a73e0 as transformPersonalInput,transformRewardInput,a73B as treasuryFn,a73c8 as uint2address,a73dT as validObjects,a73bl as validateGuardData,a73d2 as validateGuardNode,a73bo as valueToBcsBytes,a73z as valueTypeToString,a73b5 as verifyCommitteeConsistency,verifyWip,verify_wip,a73eb as verify_wts,a73eF as waitForEthTx,a73eZ as waitForWowTx,a73e5 as watch_conversations,a73en as watch_messages,wip2html,wipToHtml,a73M as witnessTypeToString,workspaceExportPath,a73eo as wts2html};
@@ -1,3 +1,3 @@
1
- import { Ax as MAX_MESSENGER_ACCOUNTS, Dx as DEFAULT_ACCOUNT_NAME, Ex as AccountFilter, Ox as FaucetCoinInfo, Tx as AccountData, kx as MAX_ACCOUNTS, wx as Account } from "../../index-DCFY4cxp.mjs";
1
+ import { Ax as AccountData, Fx as MAX_MESSENGER_ACCOUNTS, Mx as DEFAULT_ACCOUNT_NAME, Nx as FaucetCoinInfo, Px as MAX_ACCOUNTS, jx as AccountFilter, kx as Account } from "../../index-Bss9JH4A.mjs";
2
2
  import { t as IAccountStorage } from "../../storage-C_8llI0r.mjs";
3
3
  export { Account, AccountData, AccountFilter, DEFAULT_ACCOUNT_NAME, FaucetCoinInfo, type IAccountStorage, MAX_ACCOUNTS, MAX_MESSENGER_ACCOUNTS };
@@ -1 +1 @@
1
- import{o as a76a}from'../../wow-types-DctQuD2J.mjs';import{t as a76b}from'../../client-CYziyi68.mjs';import{t as a76c}from'../../Transaction-D1AlW3t_.mjs';import{o as a76d}from'../../exception-Xd2RFs2i.mjs';import{n as a76e}from'../../network-y8yMus5q.mjs';import{c as a76f}from'../../keypair-Y6T-6uC9.mjs';import{n as a76g,r as a76h,t as a76i}from'../../faucet-RNvBvVJf.mjs';import{n as a76j}from'../../falcon512-Dl5rncUq.mjs';import{H as a76k,J as a76l}from'../../common-BXJtePqk.mjs';import{d as a76m,r as a76n}from'../../storage-D1bEi2b7.mjs';import{Config}from'./config.mjs';import{SecureAccountStorage}from'./secure-storage.mjs';import{sha256}from'@noble/hashes/sha2.js';import{x25519}from'@noble/curves/ed25519.js';import{hkdf}from'@noble/hashes/hkdf.js';const DEFAULT_ACCOUNT_NAME='',MAX_ACCOUNTS=0x14,MAX_MESSENGER_ACCOUNTS=0x14;var Account=class Account{constructor(){this['balance']=async(b,c,d)=>{const e=await this['get'](c);b=b??'0x2::wow::WOW';if(e){const f=await Config['Instance']()['network_get'](d);return new a76b({'url':a76e(f),'network':f})['getBalance']({'owner':e['address'],'coinType':b});}},this['coin']=async(b,c,d,e,f)=>{const g=await this['get'](e);b=b??'0x2::wow::WOW';if(g){const h=await Config['Instance']()['network_get'](f);return new a76b({'url':a76e(h),'network':h})['getCoins']({'owner':g['address'],'coinType':b,'cursor':c,'limit':d});}},this['get_coin_object']=async(c,d,e,f,g)=>{const h=await this['get'](f);if(h){const j=BigInt(d),k=await Config['Instance']()['network_get'](g),l=new a76b({'url':a76e(k),'network':k});if(j>=BigInt(0x0)){if(!e||a76k(e))return c['splitCoins'](c['gas'],[j]);else{const m=await l['getCoins']({'owner':h['address'],'coinType':e}),n=[],o=new Set();let p=BigInt(0x0);for(let q=0x0;q<m['data']['length'];++q){const s=m['data'][q]['coinObjectId'];if(o['has'](s))continue;o['add'](s),p+=BigInt(m['data'][q]['balance']),n['push'](s);if(p>=j)break;}if(n['length']===0x0)return;if(p===j){if(n['length']===0x1)return c['object'](n[0x0]);const t=n['pop']();return c['mergeCoins'](t,n);}if(n['length']===0x1)return c['splitCoins'](n[0x0],[j]);else{const u=n['pop']();return c['mergeCoins'](u,n),c['splitCoins'](u,[j]);}}}}},this['get_many_coin_object']=async(a,b,c,d,e)=>{const f=[];for(const g of b){const h=await this['get_coin_object'](a,g,c,d,e);if(!h)a76d('invalid\x20parameter','Invalid\x20coin\x20object:\x20'+g);else f['push'](h);}return a['makeMoveVec']({'elements':f});},this['coinObject_with_balance']=async(b,c,d,e)=>{const f=await this['get_imp'](d);if(!f)return void 0x0;const g=a76j['fromSecretKey'](f['secret']);if(!g)return void 0x0;const h=new a76c(),i=await this['get_coin_object'](h,b,c,d,e);if(i){h['transferObjects']([i],f['address']);const j=await Config['Instance']()['network_get'](e),k=await new a76b({'url':a76e(j),'network':j})['signAndExecuteTransaction']({'transaction':h,'signer':g,'options':{'showObjectChanges':!![],'showEffects':!![],'showEvents':!![]}}),l=c??'0x2::wow::WOW',m=k?.['objectChanges']??[],n=m['find'](o=>o?.['type']==='created'&&(o?.['objectType'])['includes'](l));if(n)return n['objectId'];return m['find'](o=>o?.['type']==='mutated'&&(o?.['objectType'])['includes'](l))?.['objectId'];}};}static{this['_dataLock']=new a76m();}static{this['_storageLock']=new a76m();}static{this['_txLocks']=new Map();}static{this['orphanMigrationDone']=![];}static['txLock'](a){let b=Account['_txLocks']['get'](a);return!b&&(b=new a76m(),Account['_txLocks']['set'](a,b)),b;}['setStorage'](a){Account['storage']=a;}['setEncryptedStorage'](a){Account['storage']=new SecureAccountStorage(a);}async['getStorage'](){if(Account['storage'])return Account['storage'];return Account['_storageLock']['run'](async()=>{if(!Account['storage'])Account['storage']=new SecureAccountStorage(new a76n());return Account['storage'];});}async['unlock'](a){const b=await this['getStorage']();if(!(b instanceof SecureAccountStorage))throw new Error('Current\x20storage\x20does\x20not\x20support\x20encryption.');b['setSessionPassword'](a),await b['get']();}async['lock'](){const a=await this['getStorage']();if(a instanceof SecureAccountStorage)a['setSessionPassword'](void 0x0);}async['setEncryptionPassword'](a){const b=await this['getStorage']();if(!(b instanceof SecureAccountStorage))throw new Error('Current\x20storage\x20does\x20not\x20support\x20encryption.');await b['setPassword'](a);}async['changeEncryptionPassword'](a,b){const c=await this['getStorage']();if(!(c instanceof SecureAccountStorage))throw new Error('Current\x20storage\x20does\x20not\x20support\x20encryption.');await c['changePassword'](a,b);}async['removeEncryptionPassword'](a){const b=await this['getStorage']();if(!(b instanceof SecureAccountStorage))throw new Error('Current\x20storage\x20does\x20not\x20support\x20encryption.');await b['removePassword'](a);}async['getEncryptionMode'](){const a=await this['getStorage']();if(a instanceof SecureAccountStorage)return a['getMode']();}async['isPasswordSet'](){return await this['getEncryptionMode']()==='password';}async['getMcpAccess'](){const a=await this['getStorage']();if(a instanceof SecureAccountStorage)return a['getMcpAccess']();return'allowed';}async['setMcpAccess'](a,b){const c=await this['getStorage']();if(!(c instanceof SecureAccountStorage))throw new Error('Current\x20storage\x20does\x20not\x20support\x20encryption.');await c['setMcpAccess'](a,b);}async['exportSecret'](a){const b=await(await this['getStorage']())['get']();if(!b)return void 0x0;const c=JSON['parse'](b),d=a['toLowerCase']();return c['find'](e=>e['address']['toLowerCase']()===d||e['name']&&e['name']['toLowerCase']()===d)?.['secret'];}async['importSecret'](a,b,c,d,e=![]){return Account['_dataLock']['run'](async()=>{b=this['name_resolve'](b);if(b&&!a76l(b))a76d('invalid\x20name','Name\x20'+b+'\x20is\x20exceeds\x20max\x2064');const f=a76j['fromSecretKey'](a),g=f['getPublicKey']()['toWowAddress'](),h=f['getSecretKey'](),i=await this['getStorage'](),j=await i['get'](),k=j?JSON['parse'](j):[];if(k['findIndex'](p=>p['address']['toLowerCase']()===g['toLowerCase']())!==-0x1)a76d('invalid\x20parameter','Account\x20with\x20address\x20'+g+'\x20already\x20exists');const l=k['findIndex'](p=>Account['nameMatch'](p['name'],b));if(l!==-0x1){if(c){if(b==='')a76d('invalid\x20parameter','Cannot\x20replaceExistName\x20on\x20the\x20default\x20account\x20(name=\x22\x22).\x20The\x20default\x20account\x20is\x20unique\x20and\x20cannot\x20be\x20suspended\x20by\x20replacement.\x20Use\x20suspend()\x20explicitly\x20if\x20you\x20need\x20to\x20deactivate\x20it.');const p=Date['now']();k[l]['suspended']=!![],k[l]['name']=void 0x0,k[l]['messenger']=![],k[l]['updatedAt']=p;}else a76d('account\x20name\x20exist','Name\x20'+(b||'')+'\x20already\x20exist');}const m=k['filter'](q=>!q['suspended'])['length'];if(m>=0x14)a76d('invalid\x20parameter','Maximum\x2020\x20accounts\x20allowed,\x20current\x20count:\x20'+m);if(d){const q=k['filter'](r=>r['messenger']===!![]&&!r['suspended'])['length'];if(q>=0x14)a76d('invalid\x20parameter','Maximum\x2020\x20messenger\x20accounts\x20allowed,\x20current\x20count:\x20'+q);}const n=Date['now'](),o={'name':b,'address':g,'secret':h,'messenger':d||![],'createdAt':n,'updatedAt':n};return k['push'](o),await i['put'](JSON['stringify'](k)),this['accountData'](o,e);});}static['Instance'](){if(Account['_instance'])return Account['_instance'];if(!Account['_instance'])Account['_instance']=new Account();return Account['_instance'];}['accountData'](a,b=![]){if(!a||!a['secret'])return void 0x0;if(b)a['pubkey']=a76j['fromSecretKey'](a['secret'])['getPublicKey']()['toWowPublicKey']();a['secret']=void 0x0;if(a['name']===void 0x0)a['name']='';return a;}static['nameMatch'](a,b){return(a??'')['toLowerCase']()===b['toLowerCase']();}async['gen'](a,b,c,d=![]){return Account['_dataLock']['run'](async()=>{a=this['name_resolve'](a);if(a&&!a76l(a))a76d('invalid\x20name','Name\x20'+a+'\x20is\x20exceeds\x20max\x2064');const e=a76j['generate']()['getSecretKey'](),f=a76j['fromSecretKey'](e)['getPublicKey']()['toWowAddress'](),g=Date['now'](),h={'name':a,'address':f,'secret':e,'messenger':c||![],'createdAt':g,'updatedAt':g},i=await this['getStorage'](),j=await i['get'](),k=j?JSON['parse'](j):[],l=k['findIndex'](n=>Account['nameMatch'](n['name'],a));if(l!==-0x1){if(b){if(a==='')a76d('invalid\x20parameter','Cannot\x20replaceExistName\x20on\x20the\x20default\x20account\x20(name=\x22\x22).\x20The\x20default\x20account\x20is\x20unique\x20and\x20cannot\x20be\x20suspended\x20by\x20replacement.\x20Use\x20suspend()\x20explicitly\x20if\x20you\x20need\x20to\x20deactivate\x20it.');const n=Date['now']();k[l]['suspended']=!![],k[l]['name']=void 0x0,k[l]['messenger']=![],k[l]['updatedAt']=n;}else a76d('account\x20name\x20exist','Name\x20'+(a||'')+'\x20already\x20exist');}const m=k['filter'](o=>!o['suspended'])['length'];if(m>=0x14)a76d('invalid\x20parameter','Maximum\x2020\x20accounts\x20allowed,\x20current\x20count:\x20'+m);if(c){const o=k['filter'](p=>p['messenger']===!![]&&!p['suspended'])['length'];if(o>=0x14)a76d('invalid\x20parameter','Maximum\x2020\x20messenger\x20accounts\x20allowed,\x20current\x20count:\x20'+o);}return k['push'](h),await i['put'](JSON['stringify'](k)),this['accountData'](h,d);});}async['default'](a=![]){return await this['migrateOrphanAccountsIfNeeded'](),this['accountData'](await this['get_imp'](''),a);}async['migrateOrphanAccountsIfNeeded'](){if(Account['orphanMigrationDone'])return;return Account['orphanMigrationDone']=!![],Account['_dataLock']['run'](async()=>{const a=await this['getStorage'](),b=await a['get']();if(!b)return;const c=JSON['parse'](b);let e=![];const f=Date['now']();for(const g of c)g['name']===void 0x0&&g['suspended']!==!![]&&(g['suspended']=!![],g['messenger']=![],g['updatedAt']=f,e=!![]);if(e)await a['put'](JSON['stringify'](c));});}async['get'](a,b,c=![]){if(!b)return this['accountData'](await this['get_imp'](a),c);return this['gen'](a);}async['get_address'](a){if(a&&a76a(a))return a['toLowerCase']();return(await this['get_imp'](a))?.['address'];}async['get_many_address'](a){const b=await(await this['getStorage']())['get']();if(b){const c=JSON['parse'](b);return a['map'](d=>{if(d&&a76a(d))return d['toLowerCase']();const e=this['name_resolve'](d);return c['find'](f=>f['address']['toLowerCase']()===e['toLowerCase']()||Account['nameMatch'](f['name'],e))?.['address'];});}return a['map'](d=>d&&a76a(d)?d['toLowerCase']():void 0x0);}async['get_imp'](a){a=this['name_resolve'](a);const b=await(await this['getStorage']())['get']();if(b){const c=a['toLowerCase']();return JSON['parse'](b)['find'](e=>Account['nameMatch'](e['name'],a)||e['address']['toLowerCase']()===c);}}['name_resolve'](a){return a||'';}async['get_many'](a,b=![]){return this['get_many_imp'](a,b);}async['get_many_imp'](a,b=![]){const c=await(await this['getStorage']())['get']();if(c){const d=JSON['parse'](c);return a['map'](e=>{const f=this['name_resolve'](e),g=d['find'](h=>h['address']['toLowerCase']()===f['toLowerCase']()||Account['nameMatch'](h['name'],f));if(!g)return void 0x0;if(b){const h=a76j['fromSecretKey'](g['secret']),j={...g,'pubkey':h['getPublicKey']()['toWowPublicKey']()};return delete j['secret'],j;}return g;});}return a['map'](e=>void 0x0);}async['swap_name'](a,b){return Account['_dataLock']['run'](async()=>{a=this['name_resolve'](a),b=this['name_resolve'](b);if(this['name_resolve'](a)===this['name_resolve'](b))return!![];if(a&&!a76l(a))a76d('invalid\x20name','Name\x20'+(a||'')+'\x20is\x20exceeds\x20max\x2064');if(b&&!a76l(b))a76d('invalid\x20name','Name\x20'+(b||'')+'\x20is\x20exceeds\x20max\x2064');const c=await this['getStorage'](),d=await c['get']();if(!d)return![];const e=JSON['parse'](d),f=e['find'](i=>Account['nameMatch'](i['name'],a)),g=e['find'](i=>Account['nameMatch'](i['name'],b));if(!f||!g)return![];const h=Date['now']();return f['name']=b,f['updatedAt']=h,g['name']=a,g['updatedAt']=h,await c['put'](JSON['stringify'](e)),!![];});}async['rename'](a,b){return Account['_dataLock']['run'](async()=>{if(b&&!a76l(b))a76d('invalid\x20name','Invalid\x20new\x20name:\x20\x22'+(b||'')+'\x22.\x20Must\x20be\x20a\x20valid\x20name\x20(not\x20an\x20address)');const c=this['name_resolve'](a);if(c===b)return!![];const d=await this['getStorage'](),e=await d['get']();if(e){const g=JSON['parse'](e);if(g['find'](j=>Account['nameMatch'](j['name'],b)))a76d('invalid\x20name','New\x20name\x20\x22'+(b||'')+'\x22\x20already\x20exists');const h=g['find'](j=>Account['nameMatch'](j['name'],c)||j['address']['toLowerCase']()===c['toLowerCase']());if(!h)a76d('account\x20not\x20found','Source\x20account\x20\x22'+(a||'')+'\x22\x20not\x20found');const i=Date['now']();return h['name']=b,h['updatedAt']=i,await d['put'](JSON['stringify'](g)),!![];}return![];});}async['list'](a){await this['migrateOrphanAccountsIfNeeded']();const b=await(await this['getStorage']())['get']();if(b){let c=JSON['parse'](b);if(a?.['suspended']!==void 0x0)c=c['filter'](d=>a['suspended']?d['suspended']===!![]:!d['suspended']);else c=c['filter'](d=>!d['suspended']);if(a?.['hasMessenger']!==void 0x0)c=c['filter'](d=>a['hasMessenger']?d['messenger']===!![]:d['messenger']!==!![]);if(a?.['createdAt']){if(a['createdAt']['gte']!==void 0x0)c=c['filter'](d=>d['createdAt']&&d['createdAt']>=a['createdAt']['gte']);if(a['createdAt']['lte']!==void 0x0)c=c['filter'](d=>d['createdAt']&&d['createdAt']<=a['createdAt']['lte']);}if(a?.['updatedAt']){if(a['updatedAt']['gte']!==void 0x0)c=c['filter'](d=>d['updatedAt']&&d['updatedAt']>=a['updatedAt']['gte']);if(a['updatedAt']['lte']!==void 0x0)c=c['filter'](d=>d['updatedAt']&&d['updatedAt']<=a['updatedAt']['lte']);}if(a?.['name']!=null||a?.['address'])c=c['map'](d=>{let e=0x0;if(a?.['name']!=null){const f=d['name']?.['toLowerCase']()||'',g=a['name']['toLowerCase']();if(f===g)e+=0x64;else{if(f['startsWith'](g))e+=0x32;else{if(f['includes'](g))e+=0x19;}}}if(a?.['address']){const h=d['address']['toLowerCase'](),i=a['address']['toLowerCase']();if(h===i)e+=0x64;else{if(h['startsWith'](i))e+=0x32;else{if(h['includes'](i))e+=0x19;}}}if((a?.['name']||a?.['address'])&&e===0x0)e=-0x1;return{'account':d,'score':e};})['filter'](({score:d})=>d>=0x0)['sort']((d,e)=>e['score']-d['score'])['map'](({account:d})=>d);return c['map'](d=>this['accountData'](d,a?.['includePubkey']))['filter'](d=>d!==void 0x0);}return[];}async['suspend'](a){return Account['_dataLock']['run'](async()=>{a=this['name_resolve'](a);const b=await this['getStorage'](),c=await b['get']();if(c){const d=JSON['parse'](c),e=d['find'](g=>g['address']['toLowerCase']()===a['toLowerCase']()||Account['nameMatch'](g['name'],a));if(e){const g=Date['now']();return e['suspendedName']=e['name']??'',e['suspended']=!![],e['name']=void 0x0,e['messenger']=![],e['updatedAt']=g,await b['put'](JSON['stringify'](d)),!![];}}return![];});}async['suspend_many'](a){return Account['_dataLock']['run'](async()=>{const b=await this['getStorage'](),c=await b['get'](),d={'success':[],'failed':[]};if(c){const e=JSON['parse'](c),g=Date['now']();let h=![];for(const i of a){const j=this['name_resolve'](i),k=e['find'](l=>l['address']['toLowerCase']()===j['toLowerCase']()||Account['nameMatch'](l['name'],j));if(k)k['suspended']=!![],k['name']=void 0x0,k['messenger']=![],k['updatedAt']=g,d['success']['push'](i),h=!![];else d['failed']['push'](i);}if(h)await b['put'](JSON['stringify'](e));}else d['failed']=[...a];return d;});}async['resume'](a,b){return Account['_dataLock']['run'](async()=>{b=this['name_resolve'](b),a=a['toLowerCase']();if(b&&!a76l(b))a76d('invalid\x20name','Name\x20'+b+'\x20is\x20exceeds\x20max\x2064');const c=await this['getStorage'](),d=await c['get']();if(d){const e=JSON['parse'](d);if(e['find'](h=>Account['nameMatch'](h['name'],b)))a76d('invalid\x20name','Name\x20\x22'+(b||'')+'\x22\x20already\x20exists');const g=e['find'](h=>h['address']['toLowerCase']()===a['toLowerCase']());if(g){const h=Date['now']();return g['suspended']=![],g['name']=b,g['suspendedName']=void 0x0,g['updatedAt']=h,await c['put'](JSON['stringify'](e)),!![];}}return![];});}async['faucet'](b,c){const d=await this['get_imp'](b);if(!d)throw new Error('Faucet\x20request\x20failed:\x20account\x20\x22'+(b??'<default>')+'\x22\x20not\x20found');const f=0x5,g=0xbb8;let h;for(let i=0x1;i<=f;i++)try{return(await a76h({'host':a76g(c),'recipient':d['address']}))['coins_sent']||[];}catch(j){h=j;if(j instanceof a76i&&i<f){await new Promise(k=>setTimeout(k,g));continue;}throw j;}throw h instanceof Error?h:new Error('Faucet\x20request\x20failed\x20after\x20retries');}async['sign_and_commit'](b,c,d){const e=await this['get_imp'](c);if(!e)return;const f=a76j['fromSecretKey'](e['secret']);if(!f)return;const g=await Config['Instance']()['network_get'](d),h=g+':'+e['address']['toLowerCase']();return Account['txLock'](h)['run'](async()=>{return new a76b({'url':a76e(g),'network':g})['signAndExecuteTransaction']({'transaction':b,'signer':f,'options':{'showObjectChanges':!![],'showEffects':!![],'showEvents':!![]}});});}async['refund_coin'](a,b,c){const d=await this['get_address'](c);if(!d)a76d('invalid\x20parameter','Invalid\x20to\x20address\x20or\x20name\x20'+c);a['transferObjects']([b],a['pure']['address'](d));}async['transfer'](a,b,c,d,e){const [f,g]=await this['get_many_imp']([d,c]);if(!f)a76d('invalid\x20parameter','Invalid\x20from\x20address\x20or\x20name\x20'+d);const h=g?.['address']??c;if(!h)a76d('invalid\x20parameter','Invalid\x20to\x20address\x20or\x20name\x20'+c);const i=a76j['fromSecretKey'](f['secret']);if(i){const j=new a76c(),k=await this['get_coin_object'](j,a,b,d,e);if(k){j['transferObjects']([k],h);const l=await Config['Instance']()['network_get'](e);return new a76b({'url':a76e(l),'network':l})['signAndExecuteTransaction']({'transaction':j,'signer':i,'options':{'showObjectChanges':!![],'showEffects':!![],'showEvents':!![]}});}}}async['sign'](a,b){const c=await this['get_imp'](a);if(!c?.['secret'])a76d('invalid\x20parameter','Account\x20not\x20found\x20or\x20no\x20secret\x20key:\x20'+a);const d=a76j['fromSecretKey'](c['secret']),e=typeof b==='string'?new TextEncoder()['encode'](b):b,f=await d['sign'](e);return'0x'+Buffer['from'](f)['toString']('hex');}async['signData'](a,b){const c=await this['get_imp'](a);if(!c?.['secret'])a76d('invalid\x20parameter','Account\x20not\x20found\x20or\x20no\x20secret\x20key:\x20'+a);const d=a76j['fromSecretKey'](c['secret']),e=typeof b==='string'?new TextEncoder()['encode'](b):b,f=await d['sign'](e);return{'signature':'0x'+Buffer['from'](f)['toString']('hex'),'publicKey':d['getPublicKey']()['toWowPublicKey'](),'address':c['address']};}async['deriveX25519Identity'](a){const b=await this['get_imp'](a);if(!b?.['secret'])a76d('invalid\x20parameter','Account\x20not\x20found\x20or\x20no\x20secret\x20key:\x20'+a);const c=a76f(b['secret'])['secretKey'],d=a76j['fromSecretKey'](b['secret'])['getPublicKey']()['toRawBytes'](),e=new TextEncoder()['encode']('WowokX25519IdentityDerivation'),f=hkdf(sha256,sha256(c),new Uint8Array(0x0),e,0x20);f[0x0]&=0xf8,f[0x1f]&=0x7f,f[0x1f]|=0x40;const g=x25519['getPublicKey'](f),h=g[0x0]<<0x8|g[0x1];return{'x25519KeyPair':{'publicKey':g,'privateKey':f},'falcon512KeyPair':{'publicKey':d,'privateKey':c},'registrationId':h===0x0?0x1:h};}async['set_messenger'](a,b){return Account['_dataLock']['run'](async()=>{const c=this['name_resolve'](a),d=await this['getStorage'](),e=await d['get']();if(!e)return![];const g=JSON['parse'](e),h=g['find'](j=>j['address']['toLowerCase']()===c['toLowerCase']()||Account['nameMatch'](j['name'],c));if(!h)return![];if(b){const j=g['filter'](k=>k['messenger']===!![]&&!k['suspended']&&k['address']!==h['address'])['length'];if(j>=0x14)a76d('invalid\x20parameter','Maximum\x2020\x20messenger\x20accounts\x20allowed,\x20current\x20count:\x20'+j);}const i=Date['now']();return h['messenger']=b,h['updatedAt']=i,await d['put'](JSON['stringify'](g)),!![];});}async['list_messenger_accounts'](){return this['list']({'hasMessenger':!![]});}async['count_messenger_accounts'](){const a=await(await this['getStorage']())['get']();if(!a)return 0x0;return JSON['parse'](a)['filter'](b=>b['messenger']===!![]&&!b['suspended'])['length'];}};export{Account,DEFAULT_ACCOUNT_NAME,MAX_ACCOUNTS,MAX_MESSENGER_ACCOUNTS};
1
+ import{o as a74a}from'../../wow-types-DctQuD2J.mjs';import{t as a74b}from'../../client-cokX3t3P.mjs';import{t as a74c}from'../../Transaction-DY5xZw9i.mjs';import{o as a74d}from'../../exception-CSxqQRN7.mjs';import{a as a74e}from'../../network-CGWSsrLB.mjs';import{c as a74f}from'../../keypair-IIyGelNr.mjs';import{n as a74g,r as a74h,t as a74i}from'../../faucet-RNvBvVJf.mjs';import{n as a74j}from'../../falcon512-CnEZ-g-L.mjs';import{H as a74k,J as a74l}from'../../common-BLQJxJvT.mjs';import{d as a74m,r as a74n}from'../../storage-D1bEi2b7.mjs';import{Config}from'./config.mjs';import{SecureAccountStorage}from'./secure-storage.mjs';import{sha256}from'@noble/hashes/sha2.js';import{x25519}from'@noble/curves/ed25519.js';import{hkdf}from'@noble/hashes/hkdf.js';const DEFAULT_ACCOUNT_NAME='',MAX_ACCOUNTS=0x14,MAX_MESSENGER_ACCOUNTS=0x14;var Account=class Account{constructor(){this['balance']=async(b,c,d)=>{const e=await this['get'](c);b=b??'0x2::wow::WOW';if(e){const f=await Config['Instance']()['network_get'](d);return new a74b({'url':a74e(f),'network':f})['getBalance']({'owner':e['address'],'coinType':b});}},this['coin']=async(b,c,d,e,f)=>{const g=await this['get'](e);b=b??'0x2::wow::WOW';if(g){const h=await Config['Instance']()['network_get'](f);return new a74b({'url':a74e(h),'network':h})['getCoins']({'owner':g['address'],'coinType':b,'cursor':c,'limit':d});}},this['get_coin_object']=async(c,d,e,f,g)=>{const h=await this['get'](f);if(h){const j=BigInt(d),k=await Config['Instance']()['network_get'](g),l=new a74b({'url':a74e(k),'network':k});if(j>=BigInt(0x0)){if(!e||a74k(e))return c['splitCoins'](c['gas'],[j]);else{const m=await l['getCoins']({'owner':h['address'],'coinType':e}),n=[],o=new Set();let p=BigInt(0x0);for(let q=0x0;q<m['data']['length'];++q){const s=m['data'][q]['coinObjectId'];if(o['has'](s))continue;o['add'](s),p+=BigInt(m['data'][q]['balance']),n['push'](s);if(p>=j)break;}if(n['length']===0x0)return;if(p===j){if(n['length']===0x1)return c['object'](n[0x0]);const t=n['pop']();return c['mergeCoins'](t,n);}if(n['length']===0x1)return c['splitCoins'](n[0x0],[j]);else{const u=n['pop']();return c['mergeCoins'](u,n),c['splitCoins'](u,[j]);}}}}},this['get_many_coin_object']=async(a,b,c,d,e)=>{const f=[];for(const g of b){const h=await this['get_coin_object'](a,g,c,d,e);if(!h)a74d('invalid\x20parameter','Invalid\x20coin\x20object:\x20'+g);else f['push'](h);}return a['makeMoveVec']({'elements':f});},this['coinObject_with_balance']=async(b,c,d,e)=>{const f=await this['get_imp'](d);if(!f)return void 0x0;const g=a74j['fromSecretKey'](f['secret']);if(!g)return void 0x0;const h=new a74c(),i=await this['get_coin_object'](h,b,c,d,e);if(i){h['transferObjects']([i],f['address']);const j=await Config['Instance']()['network_get'](e),k=await new a74b({'url':a74e(j),'network':j})['signAndExecuteTransaction']({'transaction':h,'signer':g,'options':{'showObjectChanges':!![],'showEffects':!![],'showEvents':!![]}}),l=c??'0x2::wow::WOW',m=k?.['objectChanges']??[],n=m['find'](o=>o?.['type']==='created'&&(o?.['objectType'])['includes'](l));if(n)return n['objectId'];return m['find'](o=>o?.['type']==='mutated'&&(o?.['objectType'])['includes'](l))?.['objectId'];}};}static{this['_dataLock']=new a74m();}static{this['_storageLock']=new a74m();}static{this['_txLocks']=new Map();}static{this['orphanMigrationDone']=![];}static['txLock'](a){let b=Account['_txLocks']['get'](a);return!b&&(b=new a74m(),Account['_txLocks']['set'](a,b)),b;}['setStorage'](a){Account['storage']=a;}['setEncryptedStorage'](a){Account['storage']=new SecureAccountStorage(a);}async['getStorage'](){if(Account['storage'])return Account['storage'];return Account['_storageLock']['run'](async()=>{if(!Account['storage'])Account['storage']=new SecureAccountStorage(new a74n());return Account['storage'];});}async['unlock'](a){const b=await this['getStorage']();if(!(b instanceof SecureAccountStorage))throw new Error('Current\x20storage\x20does\x20not\x20support\x20encryption.');b['setSessionPassword'](a),await b['get']();}async['lock'](){const a=await this['getStorage']();if(a instanceof SecureAccountStorage)a['setSessionPassword'](void 0x0);}async['setEncryptionPassword'](a){const b=await this['getStorage']();if(!(b instanceof SecureAccountStorage))throw new Error('Current\x20storage\x20does\x20not\x20support\x20encryption.');await b['setPassword'](a);}async['changeEncryptionPassword'](a,b){const c=await this['getStorage']();if(!(c instanceof SecureAccountStorage))throw new Error('Current\x20storage\x20does\x20not\x20support\x20encryption.');await c['changePassword'](a,b);}async['removeEncryptionPassword'](a){const b=await this['getStorage']();if(!(b instanceof SecureAccountStorage))throw new Error('Current\x20storage\x20does\x20not\x20support\x20encryption.');await b['removePassword'](a);}async['getEncryptionMode'](){const a=await this['getStorage']();if(a instanceof SecureAccountStorage)return a['getMode']();}async['isPasswordSet'](){return await this['getEncryptionMode']()==='password';}async['getMcpAccess'](){const a=await this['getStorage']();if(a instanceof SecureAccountStorage)return a['getMcpAccess']();return'allowed';}async['setMcpAccess'](a,b){const c=await this['getStorage']();if(!(c instanceof SecureAccountStorage))throw new Error('Current\x20storage\x20does\x20not\x20support\x20encryption.');await c['setMcpAccess'](a,b);}async['exportSecret'](a){const b=await(await this['getStorage']())['get']();if(!b)return void 0x0;const c=JSON['parse'](b),d=a['toLowerCase']();return c['find'](e=>e['address']['toLowerCase']()===d||e['name']&&e['name']['toLowerCase']()===d)?.['secret'];}async['importSecret'](a,b,c,d,e=![]){return Account['_dataLock']['run'](async()=>{b=this['name_resolve'](b);if(b&&!a74l(b))a74d('invalid\x20name','Name\x20'+b+'\x20is\x20exceeds\x20max\x2064');const f=a74j['fromSecretKey'](a),g=f['getPublicKey']()['toWowAddress'](),h=f['getSecretKey'](),i=await this['getStorage'](),j=await i['get'](),k=j?JSON['parse'](j):[];if(k['findIndex'](p=>p['address']['toLowerCase']()===g['toLowerCase']())!==-0x1)a74d('invalid\x20parameter','Account\x20with\x20address\x20'+g+'\x20already\x20exists');const l=k['findIndex'](p=>Account['nameMatch'](p['name'],b));if(l!==-0x1){if(c){if(b==='')a74d('invalid\x20parameter','Cannot\x20replaceExistName\x20on\x20the\x20default\x20account\x20(name=\x22\x22).\x20The\x20default\x20account\x20is\x20unique\x20and\x20cannot\x20be\x20suspended\x20by\x20replacement.\x20Use\x20suspend()\x20explicitly\x20if\x20you\x20need\x20to\x20deactivate\x20it.');const p=Date['now']();k[l]['suspended']=!![],k[l]['name']=void 0x0,k[l]['messenger']=![],k[l]['updatedAt']=p;}else a74d('account\x20name\x20exist','Name\x20'+(b||'')+'\x20already\x20exist');}const m=k['filter'](q=>!q['suspended'])['length'];if(m>=0x14)a74d('invalid\x20parameter','Maximum\x2020\x20accounts\x20allowed,\x20current\x20count:\x20'+m);if(d){const q=k['filter'](r=>r['messenger']===!![]&&!r['suspended'])['length'];if(q>=0x14)a74d('invalid\x20parameter','Maximum\x2020\x20messenger\x20accounts\x20allowed,\x20current\x20count:\x20'+q);}const n=Date['now'](),o={'name':b,'address':g,'secret':h,'messenger':d||![],'createdAt':n,'updatedAt':n};return k['push'](o),await i['put'](JSON['stringify'](k)),this['accountData'](o,e);});}static['Instance'](){if(Account['_instance'])return Account['_instance'];if(!Account['_instance'])Account['_instance']=new Account();return Account['_instance'];}['accountData'](a,b=![]){if(!a||!a['secret'])return void 0x0;if(b)a['pubkey']=a74j['fromSecretKey'](a['secret'])['getPublicKey']()['toWowPublicKey']();a['secret']=void 0x0;if(a['name']===void 0x0)a['name']='';return a;}static['nameMatch'](a,b){return(a??'')['toLowerCase']()===b['toLowerCase']();}async['gen'](a,b,c,d=![]){return Account['_dataLock']['run'](async()=>{a=this['name_resolve'](a);if(a&&!a74l(a))a74d('invalid\x20name','Name\x20'+a+'\x20is\x20exceeds\x20max\x2064');const e=a74j['generate']()['getSecretKey'](),f=a74j['fromSecretKey'](e)['getPublicKey']()['toWowAddress'](),g=Date['now'](),h={'name':a,'address':f,'secret':e,'messenger':c||![],'createdAt':g,'updatedAt':g},i=await this['getStorage'](),j=await i['get'](),k=j?JSON['parse'](j):[],l=k['findIndex'](n=>Account['nameMatch'](n['name'],a));if(l!==-0x1){if(b){if(a==='')a74d('invalid\x20parameter','Cannot\x20replaceExistName\x20on\x20the\x20default\x20account\x20(name=\x22\x22).\x20The\x20default\x20account\x20is\x20unique\x20and\x20cannot\x20be\x20suspended\x20by\x20replacement.\x20Use\x20suspend()\x20explicitly\x20if\x20you\x20need\x20to\x20deactivate\x20it.');const n=Date['now']();k[l]['suspended']=!![],k[l]['name']=void 0x0,k[l]['messenger']=![],k[l]['updatedAt']=n;}else a74d('account\x20name\x20exist','Name\x20'+(a||'')+'\x20already\x20exist');}const m=k['filter'](o=>!o['suspended'])['length'];if(m>=0x14)a74d('invalid\x20parameter','Maximum\x2020\x20accounts\x20allowed,\x20current\x20count:\x20'+m);if(c){const o=k['filter'](p=>p['messenger']===!![]&&!p['suspended'])['length'];if(o>=0x14)a74d('invalid\x20parameter','Maximum\x2020\x20messenger\x20accounts\x20allowed,\x20current\x20count:\x20'+o);}return k['push'](h),await i['put'](JSON['stringify'](k)),this['accountData'](h,d);});}async['default'](a=![]){return await this['migrateOrphanAccountsIfNeeded'](),this['accountData'](await this['get_imp'](''),a);}async['migrateOrphanAccountsIfNeeded'](){if(Account['orphanMigrationDone'])return;return Account['orphanMigrationDone']=!![],Account['_dataLock']['run'](async()=>{const a=await this['getStorage'](),b=await a['get']();if(!b)return;const c=JSON['parse'](b);let e=![];const f=Date['now']();for(const g of c)g['name']===void 0x0&&g['suspended']!==!![]&&(g['suspended']=!![],g['messenger']=![],g['updatedAt']=f,e=!![]);if(e)await a['put'](JSON['stringify'](c));});}async['get'](a,b,c=![]){if(!b)return this['accountData'](await this['get_imp'](a),c);return this['gen'](a);}async['get_address'](a){if(a&&a74a(a))return a['toLowerCase']();return(await this['get_imp'](a))?.['address'];}async['get_many_address'](a){const b=await(await this['getStorage']())['get']();if(b){const c=JSON['parse'](b);return a['map'](d=>{if(d&&a74a(d))return d['toLowerCase']();const e=this['name_resolve'](d);return c['find'](f=>f['address']['toLowerCase']()===e['toLowerCase']()||Account['nameMatch'](f['name'],e))?.['address'];});}return a['map'](d=>d&&a74a(d)?d['toLowerCase']():void 0x0);}async['get_imp'](a){a=this['name_resolve'](a);const b=await(await this['getStorage']())['get']();if(b){const c=a['toLowerCase']();return JSON['parse'](b)['find'](e=>Account['nameMatch'](e['name'],a)||e['address']['toLowerCase']()===c);}}['name_resolve'](a){return a||'';}async['get_many'](a,b=![]){return this['get_many_imp'](a,b);}async['get_many_imp'](a,b=![]){const c=await(await this['getStorage']())['get']();if(c){const d=JSON['parse'](c);return a['map'](e=>{const f=this['name_resolve'](e),g=d['find'](h=>h['address']['toLowerCase']()===f['toLowerCase']()||Account['nameMatch'](h['name'],f));if(!g)return void 0x0;if(b){const h=a74j['fromSecretKey'](g['secret']),j={...g,'pubkey':h['getPublicKey']()['toWowPublicKey']()};return delete j['secret'],j;}return g;});}return a['map'](e=>void 0x0);}async['swap_name'](a,b){return Account['_dataLock']['run'](async()=>{a=this['name_resolve'](a),b=this['name_resolve'](b);if(this['name_resolve'](a)===this['name_resolve'](b))return!![];if(a&&!a74l(a))a74d('invalid\x20name','Name\x20'+(a||'')+'\x20is\x20exceeds\x20max\x2064');if(b&&!a74l(b))a74d('invalid\x20name','Name\x20'+(b||'')+'\x20is\x20exceeds\x20max\x2064');const c=await this['getStorage'](),d=await c['get']();if(!d)return![];const e=JSON['parse'](d),f=e['find'](i=>Account['nameMatch'](i['name'],a)),g=e['find'](i=>Account['nameMatch'](i['name'],b));if(!f||!g)return![];const h=Date['now']();return f['name']=b,f['updatedAt']=h,g['name']=a,g['updatedAt']=h,await c['put'](JSON['stringify'](e)),!![];});}async['rename'](a,b){return Account['_dataLock']['run'](async()=>{if(b&&!a74l(b))a74d('invalid\x20name','Invalid\x20new\x20name:\x20\x22'+(b||'')+'\x22.\x20Must\x20be\x20a\x20valid\x20name\x20(not\x20an\x20address)');const c=this['name_resolve'](a);if(c===b)return!![];const d=await this['getStorage'](),e=await d['get']();if(e){const g=JSON['parse'](e);if(g['find'](j=>Account['nameMatch'](j['name'],b)))a74d('invalid\x20name','New\x20name\x20\x22'+(b||'')+'\x22\x20already\x20exists');const h=g['find'](j=>Account['nameMatch'](j['name'],c)||j['address']['toLowerCase']()===c['toLowerCase']());if(!h)a74d('account\x20not\x20found','Source\x20account\x20\x22'+(a||'')+'\x22\x20not\x20found');const i=Date['now']();return h['name']=b,h['updatedAt']=i,await d['put'](JSON['stringify'](g)),!![];}return![];});}async['list'](a){await this['migrateOrphanAccountsIfNeeded']();const b=await(await this['getStorage']())['get']();if(b){let c=JSON['parse'](b);if(a?.['suspended']!==void 0x0)c=c['filter'](d=>a['suspended']?d['suspended']===!![]:!d['suspended']);else c=c['filter'](d=>!d['suspended']);if(a?.['hasMessenger']!==void 0x0)c=c['filter'](d=>a['hasMessenger']?d['messenger']===!![]:d['messenger']!==!![]);if(a?.['createdAt']){if(a['createdAt']['gte']!==void 0x0)c=c['filter'](d=>d['createdAt']&&d['createdAt']>=a['createdAt']['gte']);if(a['createdAt']['lte']!==void 0x0)c=c['filter'](d=>d['createdAt']&&d['createdAt']<=a['createdAt']['lte']);}if(a?.['updatedAt']){if(a['updatedAt']['gte']!==void 0x0)c=c['filter'](d=>d['updatedAt']&&d['updatedAt']>=a['updatedAt']['gte']);if(a['updatedAt']['lte']!==void 0x0)c=c['filter'](d=>d['updatedAt']&&d['updatedAt']<=a['updatedAt']['lte']);}if(a?.['name']!=null||a?.['address'])c=c['map'](d=>{let e=0x0;if(a?.['name']!=null){const f=d['name']?.['toLowerCase']()||'',g=a['name']['toLowerCase']();if(f===g)e+=0x64;else{if(f['startsWith'](g))e+=0x32;else{if(f['includes'](g))e+=0x19;}}}if(a?.['address']){const h=d['address']['toLowerCase'](),i=a['address']['toLowerCase']();if(h===i)e+=0x64;else{if(h['startsWith'](i))e+=0x32;else{if(h['includes'](i))e+=0x19;}}}if((a?.['name']||a?.['address'])&&e===0x0)e=-0x1;return{'account':d,'score':e};})['filter'](({score:d})=>d>=0x0)['sort']((d,e)=>e['score']-d['score'])['map'](({account:d})=>d);return c['map'](d=>this['accountData'](d,a?.['includePubkey']))['filter'](d=>d!==void 0x0);}return[];}async['suspend'](a){return Account['_dataLock']['run'](async()=>{a=this['name_resolve'](a);const b=await this['getStorage'](),c=await b['get']();if(c){const d=JSON['parse'](c),e=d['find'](g=>g['address']['toLowerCase']()===a['toLowerCase']()||Account['nameMatch'](g['name'],a));if(e){const g=Date['now']();return e['suspendedName']=e['name']??'',e['suspended']=!![],e['name']=void 0x0,e['messenger']=![],e['updatedAt']=g,await b['put'](JSON['stringify'](d)),!![];}}return![];});}async['suspend_many'](a){return Account['_dataLock']['run'](async()=>{const b=await this['getStorage'](),c=await b['get'](),d={'success':[],'failed':[]};if(c){const e=JSON['parse'](c),g=Date['now']();let h=![];for(const i of a){const j=this['name_resolve'](i),k=e['find'](l=>l['address']['toLowerCase']()===j['toLowerCase']()||Account['nameMatch'](l['name'],j));if(k)k['suspended']=!![],k['name']=void 0x0,k['messenger']=![],k['updatedAt']=g,d['success']['push'](i),h=!![];else d['failed']['push'](i);}if(h)await b['put'](JSON['stringify'](e));}else d['failed']=[...a];return d;});}async['resume'](a,b){return Account['_dataLock']['run'](async()=>{b=this['name_resolve'](b),a=a['toLowerCase']();if(b&&!a74l(b))a74d('invalid\x20name','Name\x20'+b+'\x20is\x20exceeds\x20max\x2064');const c=await this['getStorage'](),d=await c['get']();if(d){const e=JSON['parse'](d);if(e['find'](h=>Account['nameMatch'](h['name'],b)))a74d('invalid\x20name','Name\x20\x22'+(b||'')+'\x22\x20already\x20exists');const g=e['find'](h=>h['address']['toLowerCase']()===a['toLowerCase']());if(g){const h=Date['now']();return g['suspended']=![],g['name']=b,g['suspendedName']=void 0x0,g['updatedAt']=h,await c['put'](JSON['stringify'](e)),!![];}}return![];});}async['faucet'](b,c){const d=await this['get_imp'](b);if(!d)throw new Error('Faucet\x20request\x20failed:\x20account\x20\x22'+(b??'<default>')+'\x22\x20not\x20found');const f=0x5,g=0xbb8;let h;for(let i=0x1;i<=f;i++)try{return(await a74h({'host':a74g(c),'recipient':d['address']}))['coins_sent']||[];}catch(j){h=j;if(j instanceof a74i&&i<f){await new Promise(k=>setTimeout(k,g));continue;}throw j;}throw h instanceof Error?h:new Error('Faucet\x20request\x20failed\x20after\x20retries');}async['sign_and_commit'](b,c,d){const e=await this['get_imp'](c);if(!e)return;const f=a74j['fromSecretKey'](e['secret']);if(!f)return;const g=await Config['Instance']()['network_get'](d),h=g+':'+e['address']['toLowerCase']();return Account['txLock'](h)['run'](async()=>{return new a74b({'url':a74e(g),'network':g})['signAndExecuteTransaction']({'transaction':b,'signer':f,'options':{'showObjectChanges':!![],'showEffects':!![],'showEvents':!![]}});});}async['refund_coin'](a,b,c){const d=await this['get_address'](c);if(!d)a74d('invalid\x20parameter','Invalid\x20to\x20address\x20or\x20name\x20'+c);a['transferObjects']([b],a['pure']['address'](d));}async['transfer'](a,b,c,d,e){const [f,g]=await this['get_many_imp']([d,c]);if(!f)a74d('invalid\x20parameter','Invalid\x20from\x20address\x20or\x20name\x20'+d);const h=g?.['address']??c;if(!h)a74d('invalid\x20parameter','Invalid\x20to\x20address\x20or\x20name\x20'+c);const i=a74j['fromSecretKey'](f['secret']);if(i){const j=new a74c(),k=await this['get_coin_object'](j,a,b,d,e);if(k){j['transferObjects']([k],h);const l=await Config['Instance']()['network_get'](e);return new a74b({'url':a74e(l),'network':l})['signAndExecuteTransaction']({'transaction':j,'signer':i,'options':{'showObjectChanges':!![],'showEffects':!![],'showEvents':!![]}});}}}async['sign'](a,b){const c=await this['get_imp'](a);if(!c?.['secret'])a74d('invalid\x20parameter','Account\x20not\x20found\x20or\x20no\x20secret\x20key:\x20'+a);const d=a74j['fromSecretKey'](c['secret']),e=typeof b==='string'?new TextEncoder()['encode'](b):b,f=await d['sign'](e);return'0x'+Buffer['from'](f)['toString']('hex');}async['signData'](a,b){const c=await this['get_imp'](a);if(!c?.['secret'])a74d('invalid\x20parameter','Account\x20not\x20found\x20or\x20no\x20secret\x20key:\x20'+a);const d=a74j['fromSecretKey'](c['secret']),e=typeof b==='string'?new TextEncoder()['encode'](b):b,f=await d['sign'](e);return{'signature':'0x'+Buffer['from'](f)['toString']('hex'),'publicKey':d['getPublicKey']()['toWowPublicKey'](),'address':c['address']};}async['deriveX25519Identity'](a){const b=await this['get_imp'](a);if(!b?.['secret'])a74d('invalid\x20parameter','Account\x20not\x20found\x20or\x20no\x20secret\x20key:\x20'+a);const c=a74f(b['secret'])['secretKey'],d=a74j['fromSecretKey'](b['secret'])['getPublicKey']()['toRawBytes'](),e=new TextEncoder()['encode']('WowokX25519IdentityDerivation'),f=hkdf(sha256,sha256(c),new Uint8Array(0x0),e,0x20);f[0x0]&=0xf8,f[0x1f]&=0x7f,f[0x1f]|=0x40;const g=x25519['getPublicKey'](f),h=g[0x0]<<0x8|g[0x1];return{'x25519KeyPair':{'publicKey':g,'privateKey':f},'falcon512KeyPair':{'publicKey':d,'privateKey':c},'registrationId':h===0x0?0x1:h};}async['set_messenger'](a,b){return Account['_dataLock']['run'](async()=>{const c=this['name_resolve'](a),d=await this['getStorage'](),e=await d['get']();if(!e)return![];const g=JSON['parse'](e),h=g['find'](j=>j['address']['toLowerCase']()===c['toLowerCase']()||Account['nameMatch'](j['name'],c));if(!h)return![];if(b){const j=g['filter'](k=>k['messenger']===!![]&&!k['suspended']&&k['address']!==h['address'])['length'];if(j>=0x14)a74d('invalid\x20parameter','Maximum\x2020\x20messenger\x20accounts\x20allowed,\x20current\x20count:\x20'+j);}const i=Date['now']();return h['messenger']=b,h['updatedAt']=i,await d['put'](JSON['stringify'](g)),!![];});}async['list_messenger_accounts'](){return this['list']({'hasMessenger':!![]});}async['count_messenger_accounts'](){const a=await(await this['getStorage']())['get']();if(!a)return 0x0;return JSON['parse'](a)['filter'](b=>b['messenger']===!![]&&!b['suspended'])['length'];}};export{Account,DEFAULT_ACCOUNT_NAME,MAX_ACCOUNTS,MAX_MESSENGER_ACCOUNTS};
@@ -1 +1 @@
1
- import{d as a77a,i as a77b}from'../../storage-D1bEi2b7.mjs';let CacheTTLClass=function(a){return a['Immutable']='immutable',a['Long']='long',a['Medium']='medium',a['Short']='short',a;}({});const DEFAULT_TTL_MS={['immutable']:'INFINITE',['long']:0x4b0*0x3e8,['medium']:0x12c*0x3e8,['short']:0x78*0x3e8};function envTTLClassOverride(a){const b=process['env']['WOWOK_CACHE_TTL_'+a['toUpperCase']()];if(!b)return void 0x0;if(b['trim']()['toUpperCase']()==='INFINITE')return'INFINITE';const c=Number(b);return Number['isFinite'](c)&&c>=0x0?c:void 0x0;}let CachePrefix=function(a){return a['token']='token',a['object']='objectv2',a['personal']='personal',a['table']='table',a['config']='config',a['local_mark']='mark',a['local_info']='info',a['event']='event',a['transaction']='tx',a['entity']='entity',a['shared_object']='sharedobject',a['service_list']='servicelist',a['demand_list']='demandlist',a['arb_list']='arbitlist',a;}({});var Cache=class Cache{static{this['memory']=new Map();}static{this['keyLocks']=new Map();}static{this['inflight']=new Map();}static{this['MAX_CACHE_BYTES']=0x32*0x400*0x400;}static{this['PRUNE_CHECK_EVERY']=0xc8;}static{this['PRUNE_BATCH']=0xc8;}static{this['putCount']=0x0;}static{this['prunePromise']=null;}static async['pruneIfNeeded'](){const a=Cache['storage'];if(!a||typeof a['getStats']!=='function')return;if((await a['getStats']())['totalBytes']<=Cache['MAX_CACHE_BYTES'])return;if(typeof a['getOldestKeys']!=='function')return;const b=await a['getOldestKeys'](Cache['PRUNE_BATCH']);for(const c of b){Cache['memory']['delete'](c),await a['del'](c);}}static['maybePrune'](){if(++Cache['putCount']%Cache['PRUNE_CHECK_EVERY']!==0x0)return;if(Cache['prunePromise'])return;Cache['prunePromise']=Cache['pruneIfNeeded']()['catch'](()=>{})['finally'](()=>{Cache['prunePromise']=null;});}static['keyLock'](a){let b=Cache['keyLocks']['get'](a);return!b&&(b=new a77a(),Cache['keyLocks']['set'](a,b)),b;}static['setStorage'](a){Cache['storage']=a;}static['hasStorage'](){return Cache['storage']!==void 0x0&&Cache['storage']!==null;}static['initDefaultStorage'](){Cache['storage']=new a77b();}static{Cache['initDefaultStorage']();}static['notExpired'](a){if(!a?.['expire'])return![];if(a['expire']==='INFINITE')return!![];return a['expire']>Date['now']();}static{this['DefaultExpireTime']=a=>{if(a===!![])return'INFINITE';const b=typeof a==='string'?a:'short',d=envTTLClassOverride(b)??DEFAULT_TTL_MS[b]??DEFAULT_TTL_MS['short'];return d==='INFINITE'?'INFINITE':Date['now']()+d;};}static async['storeData'](a,b){Cache['hasStorage']()&&(await Cache['storage']['put'](a,JSON['stringify'](b)),Cache['maybePrune']()),Cache['memory']['set'](a,b);}static async['readStoredRaw'](a){const b=a['join'](':');if(Cache['hasStorage']()){const c=await Cache['storage']['get'](b);if(c)try{return JSON['parse'](c);}catch{return;}return;}return Cache['memory']['get'](b);}static async['read'](a,b,c){const d=a['join'](':');if(!c){if(Cache['memory']['has'](d)){const g=Cache['memory']['get'](d);if(Cache['notExpired'](g))return g;}if(Cache['hasStorage']()){const h=await Cache['storage']['get'](d);if(h){const i=JSON['parse'](h);if(Cache['notExpired'](i))return Cache['memory']['set'](d,i),i;}}const e=Cache['inflight']['get'](d);if(e)return e;const f=Cache['keyLock'](d)['run'](async()=>{const j=Cache['memory']['get'](d);if(j&&Cache['notExpired'](j))return j;const k=await b(a);if(!k)return void 0x0;return await Cache['storeData'](d,k),k;})['finally'](()=>{Cache['inflight']['delete'](d);});return Cache['inflight']['set'](d,f),f;}return Cache['keyLock'](d)['run'](async()=>{const j=await b(a);if(!j)return void 0x0;return await Cache['storeData'](d,j),j;});}static async['read_many'](a,b,c,d){if(!b||b['length']===0x0)return[];const f=new Array(b['length']),g=[],h=[];for(let j=0x0;j<b['length'];j++){const k=a+':'+b[j];let l;if(!d){if(Cache['memory']['has'](k)){const m=Cache['memory']['get'](k);if(Cache['notExpired'](m))l=m;}if(!l&&Cache['hasStorage']())try{const n=await Cache['storage']['get'](k);if(n){const o=JSON['parse'](n);Cache['notExpired'](o)&&(l=o,Cache['memory']['set'](k,o));}}catch(p){}}if(l)f[j]=l;else g['push'](b[j]),h['push'](j);}if(g['length']>0x0)try{const q=await c(a,g);if(q&&q['length']>0x0)for(let r=0x0;r<q['length'];r++){const s=q[r],t=a+':'+g[r],u=h[r];if(s)await Cache['storeData'](t,s),Cache['memory']['set'](t,s),f[u]=s;else{if(d)await Cache['del']([a,g[r]]);}}}catch(v){}return f['filter'](w=>w!==void 0x0);}static async['del'](a){const b=a['join'](':');Cache['memory']['delete'](b);if(Cache['hasStorage']())await Cache['storage']['del'](b);}static async['del_many'](a,b){if(!b||b['length']===0x0)return;for(const c of b){const d=a+':'+c;Cache['memory']['delete'](d);if(Cache['hasStorage']())await Cache['storage']['del'](d);}}static async['clearPrefix'](a){const b=a+':';for(const c of Cache['memory']['keys']())if(c['startsWith'](b))Cache['memory']['delete'](c);if(Cache['hasStorage']())await Cache['storage']['delByPrefix'](b);}static['clear'](){if(Cache['hasStorage']())Cache['storage']['clear']();else Cache['memory']['clear']();}};export{Cache,CachePrefix,CacheTTLClass};
1
+ import{d as a75a,i as a75b}from'../../storage-D1bEi2b7.mjs';let CacheTTLClass=function(a){return a['Immutable']='immutable',a['Long']='long',a['Medium']='medium',a['Short']='short',a;}({});const DEFAULT_TTL_MS={['immutable']:'INFINITE',['long']:0x4b0*0x3e8,['medium']:0x12c*0x3e8,['short']:0x78*0x3e8};function envTTLClassOverride(a){const b=process['env']['WOWOK_CACHE_TTL_'+a['toUpperCase']()];if(!b)return void 0x0;if(b['trim']()['toUpperCase']()==='INFINITE')return'INFINITE';const c=Number(b);return Number['isFinite'](c)&&c>=0x0?c:void 0x0;}let CachePrefix=function(a){return a['token']='token',a['object']='objectv2',a['personal']='personal',a['table']='table',a['config']='config',a['local_mark']='mark',a['local_info']='info',a['event']='event',a['transaction']='tx',a['entity']='entity',a['shared_object']='sharedobject',a['service_list']='servicelist',a['demand_list']='demandlist',a['arb_list']='arbitlist',a;}({});var Cache=class Cache{static{this['memory']=new Map();}static{this['keyLocks']=new Map();}static{this['inflight']=new Map();}static{this['MAX_CACHE_BYTES']=0x32*0x400*0x400;}static{this['PRUNE_CHECK_EVERY']=0xc8;}static{this['PRUNE_BATCH']=0xc8;}static{this['putCount']=0x0;}static{this['prunePromise']=null;}static async['pruneIfNeeded'](){const a=Cache['storage'];if(!a||typeof a['getStats']!=='function')return;if((await a['getStats']())['totalBytes']<=Cache['MAX_CACHE_BYTES'])return;if(typeof a['getOldestKeys']!=='function')return;const b=await a['getOldestKeys'](Cache['PRUNE_BATCH']);for(const c of b){Cache['memory']['delete'](c),await a['del'](c);}}static['maybePrune'](){if(++Cache['putCount']%Cache['PRUNE_CHECK_EVERY']!==0x0)return;if(Cache['prunePromise'])return;Cache['prunePromise']=Cache['pruneIfNeeded']()['catch'](()=>{})['finally'](()=>{Cache['prunePromise']=null;});}static['keyLock'](a){let b=Cache['keyLocks']['get'](a);return!b&&(b=new a75a(),Cache['keyLocks']['set'](a,b)),b;}static['setStorage'](a){Cache['storage']=a;}static['hasStorage'](){return Cache['storage']!==void 0x0&&Cache['storage']!==null;}static['initDefaultStorage'](){Cache['storage']=new a75b();}static{Cache['initDefaultStorage']();}static['notExpired'](a){if(!a?.['expire'])return![];if(a['expire']==='INFINITE')return!![];return a['expire']>Date['now']();}static{this['DefaultExpireTime']=a=>{if(a===!![])return'INFINITE';const b=typeof a==='string'?a:'short',d=envTTLClassOverride(b)??DEFAULT_TTL_MS[b]??DEFAULT_TTL_MS['short'];return d==='INFINITE'?'INFINITE':Date['now']()+d;};}static async['storeData'](a,b){Cache['hasStorage']()&&(await Cache['storage']['put'](a,JSON['stringify'](b)),Cache['maybePrune']()),Cache['memory']['set'](a,b);}static async['readStoredRaw'](a){const b=a['join'](':');if(Cache['hasStorage']()){const c=await Cache['storage']['get'](b);if(c)try{return JSON['parse'](c);}catch{return;}return;}return Cache['memory']['get'](b);}static async['read'](a,b,c){const d=a['join'](':');if(!c){if(Cache['memory']['has'](d)){const g=Cache['memory']['get'](d);if(Cache['notExpired'](g))return g;}if(Cache['hasStorage']()){const h=await Cache['storage']['get'](d);if(h){const i=JSON['parse'](h);if(Cache['notExpired'](i))return Cache['memory']['set'](d,i),i;}}const e=Cache['inflight']['get'](d);if(e)return e;const f=Cache['keyLock'](d)['run'](async()=>{const j=Cache['memory']['get'](d);if(j&&Cache['notExpired'](j))return j;const k=await b(a);if(!k)return void 0x0;return await Cache['storeData'](d,k),k;})['finally'](()=>{Cache['inflight']['delete'](d);});return Cache['inflight']['set'](d,f),f;}return Cache['keyLock'](d)['run'](async()=>{const j=await b(a);if(!j)return void 0x0;return await Cache['storeData'](d,j),j;});}static async['read_many'](a,b,c,d){if(!b||b['length']===0x0)return[];const f=new Array(b['length']),g=[],h=[];for(let j=0x0;j<b['length'];j++){const k=a+':'+b[j];let l;if(!d){if(Cache['memory']['has'](k)){const m=Cache['memory']['get'](k);if(Cache['notExpired'](m))l=m;}if(!l&&Cache['hasStorage']())try{const n=await Cache['storage']['get'](k);if(n){const o=JSON['parse'](n);Cache['notExpired'](o)&&(l=o,Cache['memory']['set'](k,o));}}catch(p){}}if(l)f[j]=l;else g['push'](b[j]),h['push'](j);}if(g['length']>0x0)try{const q=await c(a,g);if(q&&q['length']>0x0)for(let r=0x0;r<q['length'];r++){const s=q[r],t=a+':'+g[r],u=h[r];if(s)await Cache['storeData'](t,s),Cache['memory']['set'](t,s),f[u]=s;else{if(d)await Cache['del']([a,g[r]]);}}}catch(v){}return f['filter'](w=>w!==void 0x0);}static async['del'](a){const b=a['join'](':');Cache['memory']['delete'](b);if(Cache['hasStorage']())await Cache['storage']['del'](b);}static async['del_many'](a,b){if(!b||b['length']===0x0)return;for(const c of b){const d=a+':'+c;Cache['memory']['delete'](d);if(Cache['hasStorage']())await Cache['storage']['del'](d);}}static async['clearPrefix'](a){const b=a+':';for(const c of Cache['memory']['keys']())if(c['startsWith'](b))Cache['memory']['delete'](c);if(Cache['hasStorage']())await Cache['storage']['delByPrefix'](b);}static['clear'](){if(Cache['hasStorage']())Cache['storage']['clear']();else Cache['memory']['clear']();}};export{Cache,CachePrefix,CacheTTLClass};
@@ -1,2 +1,2 @@
1
- import { n as ConfigData, t as Config } from "../../config-DyKCZw0u.mjs";
1
+ import { n as ConfigData, t as Config } from "../../config-Dwoyt1sO.mjs";
2
2
  export { Config, ConfigData };
@@ -1 +1 @@
1
- import{t as a78a}from'../../network-y8yMus5q.mjs';import{getWowDir}from'./util.mjs';import{d as a78b}from'../../storage-D1bEi2b7.mjs';import{Cache}from'./cache.mjs';import*as a78c from'path';import*as a78d from'fs';const AUTH_NET_PATH=a78c['join'](getWowDir(),'network.authority.json'),AUTH_NET_VALID=new Set(Object['values'](a78a));let authMemo={'value':null,'at':0x0};function readAuthNetwork(){const a=Date['now']();if(authMemo['at']&&a-authMemo['at']<0x3e8)return authMemo['value'];try{const b=a78d['readFileSync'](AUTH_NET_PATH,'utf8'),c=JSON['parse'](b);authMemo={'value':typeof c?.['network']==='string'&&AUTH_NET_VALID['has'](c['network'])?c['network']:null,'at':a};}catch{authMemo={'value':null,'at':a};}return authMemo['value'];}function writeAuthNetwork(a){try{a78d['mkdirSync'](a78c['dirname'](AUTH_NET_PATH),{'recursive':!![]}),a78d['writeFileSync'](AUTH_NET_PATH,JSON['stringify']({'network':a,'updatedAt':new Date()['toISOString']()},null,0x2),'utf8'),authMemo={'value':a,'at':Date['now']()};}catch{}}var Config=class Config{constructor(){this['cacheKey']=['config'];}static{this['_instanceLock']=new a78b();}static['Instance'](){if(Config['_instance'])return Config['_instance'];if(!Config['_instance'])Config['_instance']=new Config();return Config['_instance'];}async['network_get'](a){if(a){if(Object['values'](a78a)['includes'](a))return a;}const b=readAuthNetwork();if(b)return b;return(await Cache['read'](this['cacheKey'],async c=>{return{'expire':'INFINITE','data':{'network':'testnet'}};}))?.['data']?.['network'];}async['network_set'](a){if(!AUTH_NET_VALID['has'](a))throw new Error('Unknown\x20network:\x20'+String(a)+'\x20—\x20expected\x20one\x20of\x20'+[...AUTH_NET_VALID]['join']('\x20|\x20'));writeAuthNetwork(a),await Cache['read'](['config'],async b=>{return{'expire':'INFINITE','data':{'network':a}};},!![]);}async['list'](){const a=readAuthNetwork();if(a)return{'network':a};return(await Cache['read'](this['cacheKey'],async b=>{return{'expire':'INFINITE','data':{'network':'testnet'}};}))?.['data'];}};export{Config};
1
+ import{t as a76a}from'../../network-CGWSsrLB.mjs';import{getWowDir}from'./util.mjs';import{d as a76b}from'../../storage-D1bEi2b7.mjs';import{Cache}from'./cache.mjs';import*as a76c from'path';import*as a76d from'fs';const AUTH_NET_PATH=a76c['join'](getWowDir(),'network.authority.json'),AUTH_NET_VALID=new Set(Object['values'](a76a));let authMemo={'value':null,'at':0x0};function readAuthNetwork(){const a=Date['now']();if(authMemo['at']&&a-authMemo['at']<0x3e8)return authMemo['value'];try{const b=a76d['readFileSync'](AUTH_NET_PATH,'utf8'),c=JSON['parse'](b);authMemo={'value':typeof c?.['network']==='string'&&AUTH_NET_VALID['has'](c['network'])?c['network']:null,'at':a};}catch{authMemo={'value':null,'at':a};}return authMemo['value'];}function writeAuthNetwork(a){try{a76d['mkdirSync'](a76c['dirname'](AUTH_NET_PATH),{'recursive':!![]}),a76d['writeFileSync'](AUTH_NET_PATH,JSON['stringify']({'network':a,'updatedAt':new Date()['toISOString']()},null,0x2),'utf8'),authMemo={'value':a,'at':Date['now']()};}catch{}}var Config=class Config{constructor(){this['cacheKey']=['config'];}static{this['_instanceLock']=new a76b();}static['Instance'](){if(Config['_instance'])return Config['_instance'];if(!Config['_instance'])Config['_instance']=new Config();return Config['_instance'];}async['network_get'](a){if(a){if(Object['values'](a76a)['includes'](a))return a;}const b=readAuthNetwork();if(b)return b;return(await Cache['read'](this['cacheKey'],async c=>{return{'expire':'INFINITE','data':{'network':'testnet'}};}))?.['data']?.['network'];}async['network_set'](a){if(!AUTH_NET_VALID['has'](a))throw new Error('Unknown\x20network:\x20'+String(a)+'\x20—\x20expected\x20one\x20of\x20'+[...AUTH_NET_VALID]['join']('\x20|\x20'));writeAuthNetwork(a),await Cache['read'](['config'],async b=>{return{'expire':'INFINITE','data':{'network':a}};},!![]);}async['list'](){const a=readAuthNetwork();if(a)return{'network':a};return(await Cache['read'](this['cacheKey'],async b=>{return{'expire':'INFINITE','data':{'network':'testnet'}};}))?.['data'];}};export{Config};
@@ -1 +1 @@
1
- import{d as a79a,r as a79b}from'../../../storage-D1bEi2b7.mjs';const ETH_MAINNET={'name':'mainnet','chainId':0x1,'rpcUrls':['https://ethereum-rpc.publicnode.com','https://eth.drpc.org','https://eth.llamarpc.com','https://rpc.mevblocker.io','https://rpc.flashbots.net','https://cloudflare-eth.com','https://ethereum.blockpi.network/v1/rpc/public','https://eth.merkle.io','https://0xrpc.io/eth','https://api.zan.top/eth/mainnet'],'explorerUrl':'https://etherscan.io','confirmations':0x1,'gasLimitMultiplier':1.2,'minPriorityFee':0x3b9aca00n,'rpcTimeoutMs':0x7530,'txConfirmTimeoutMs':0x1d4c0,'pollIntervalMs':0xbb8};var EvmNetworkRegistry=class EvmNetworkRegistry{static{this['_instanceLock']=new a79a();}static{this['DEFAULT_UNHEALTHY_RETRY_MS']=0x5*0xea60;}constructor(){this['byChainId']=new Map(),this['byName']=new Map(),this['chainIdCache']=new Map(),this['unhealthyRpc']=new Map(),this['unhealthyCounter']=new Map(),this['register'](ETH_MAINNET),this['defaultChainId']=ETH_MAINNET['chainId'],this['_loadAllRpcs']();}static['Instance'](){if(EvmNetworkRegistry['_instance'])return EvmNetworkRegistry['_instance'];if(!EvmNetworkRegistry['_instance'])EvmNetworkRegistry['_instance']=new EvmNetworkRegistry();return EvmNetworkRegistry['_instance'];}['register'](a){const b=a['name']['toLowerCase']();this['byChainId']['set'](a['chainId'],a),this['byName']['set'](b,a);}['unregister'](a){const b=this['get'](a);if(!b)return;this['byChainId']['delete'](b['chainId']),this['byName']['delete'](b['name']['toLowerCase']());if(this['defaultChainId']===b['chainId'])this['defaultChainId']=this['byChainId']['size']>0x0?this['byChainId']['keys']()['next']()['value']:void 0x0;}['setDefault'](a){const b=this['get'](a);if(!b)throw new Error('EVM\x20network\x20not\x20found:\x20'+a);this['defaultChainId']=b['chainId'];}['get'](a){if(a===void 0x0||a===null)return this['defaultChainId']!==void 0x0?this['byChainId']['get'](this['defaultChainId']):void 0x0;if(typeof a==='number')return this['byChainId']['get'](a);return this['byName']['get'](a['toLowerCase']());}['list'](){return Array['from'](this['byChainId']['values']());}['getDefault'](){const a=this['get'](this['defaultChainId']);if(!a)throw new Error('No\x20default\x20EVM\x20network\x20registered.\x20Call\x20register()\x20and\x20setDefault()\x20first.');return a;}async['resolve'](a){if(typeof a==='number'){const b=this['byChainId']['get'](a);if(b)return b;throw new Error('EVM\x20network\x20not\x20registered\x20for\x20chainId\x20'+a);}if(typeof a==='string'){const c=this['byName']['get'](a['toLowerCase']());if(c)return c;const d=await this['queryChainIdFromRpc'](a),e=this['byChainId']['get'](d);if(e)return e;return this['buildTempConfig'](a,d);}return this['getDefault']();}['pickHealthyRpc'](a){const b=Date['now'](),c=a['rpcUrls']['map'](e=>{const f=this['unhealthyRpc']['get'](e),g=this['unhealthyCounter']['get'](e)??0x0,h=f===void 0x0||f<b;if(f!==void 0x0&&f<b)this['unhealthyRpc']['delete'](e);return{'url':e,'isExpired':h,'failCount':g};}),d=c['filter'](e=>e['isExpired']);if(d['length']>0x0)return d['sort']((e,f)=>e['failCount']-f['failCount']),d[0x0]['url'];return c['sort']((e,f)=>e['failCount']-f['failCount']),c[0x0]['url'];}['markUnhealthy'](a,b){const c=(this['unhealthyCounter']['get'](a)??0x0)+0x1;this['unhealthyCounter']['set'](a,c);const d=b??(c<=0x1?0x5*0xea60:c===0x2?0xf*0xea60:c===0x3?0x1e*0xea60:0x3c*0xea60);this['unhealthyRpc']['set'](a,Date['now']()+d);}['markHealthy'](a){this['unhealthyRpc']['delete'](a),this['unhealthyCounter']['delete'](a);}['isUnhealthy'](a){const b=this['unhealthyRpc']['get'](a);if(b===void 0x0)return![];if(b<Date['now']())return this['unhealthyRpc']['delete'](a),![];return!![];}['listRpcStatus'](a){const b=this['get'](a);if(!b)return[];const c=Date['now']();return b['rpcUrls']['map'](d=>{const e=this['unhealthyRpc']['get'](d),f=this['unhealthyCounter']['get'](d)??0x0;if(e===void 0x0||e<c){if(e!==void 0x0&&e<c)this['unhealthyRpc']['delete'](d);return{'url':d,'healthy':!![],'failCount':f};}return{'url':d,'healthy':![],'retryInMs':e-c,'failCount':f};});}['addRpc'](a,b){const c=this['get'](a);if(!c)return![];if(c['rpcUrls']['includes'](b))return![];return c['rpcUrls']['unshift'](b),this['_saveAllRpcs'](),!![];}['removeRpc'](a,b){const c=this['get'](a);if(!c)return![];if(c['rpcUrls']['length']<=0x1)return![];const d=c['rpcUrls']['indexOf'](b);if(d===-0x1)return![];return c['rpcUrls']['splice'](d,0x1),this['unhealthyRpc']['delete'](b),this['_saveAllRpcs'](),!![];}['setRpcs'](a,b){if(!b||b['length']===0x0)return![];const c=this['get'](a);if(!c)return![];for(const d of c['rpcUrls'])this['unhealthyRpc']['delete'](d);return c['rpcUrls']=[...new Set(b)],this['_saveAllRpcs'](),!![];}async['ping'](a,b=0x1388){try{const c=new AbortController(),d=setTimeout(()=>c['abort'](),b),e=await fetch(a,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'jsonrpc':'2.0','id':0x1,'method':'eth_chainId','params':[]}),'signal':c['signal']});return clearTimeout(d),e['ok'];}catch{return![];}}async['queryChainIdFromRpc'](a){const b=this['chainIdCache']['get'](a);if(b!==void 0x0)return b;const c=await(await fetch(a,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'jsonrpc':'2.0','id':0x1,'method':'eth_chainId','params':[]})}))['json']();if(c['error'])throw new Error('RPC\x20error:\x20'+c['error']['message']);const d=parseInt(c['result'],0x10);return this['chainIdCache']['set'](a,d),d;}['clearChainIdCache'](){this['chainIdCache']['clear']();}['_getPersistStore'](){if(!this['_persistStore'])this['_persistStore']=new a79b(void 0x0,'evm_network_rpcs');return this['_persistStore'];}async['_saveAllRpcs'](){try{const a={};for(const [b,c]of this['byChainId']['entries']())a[String(b)]=c['rpcUrls'];await this['_getPersistStore']()['put'](JSON['stringify'](a));}catch{}}async['_loadAllRpcs'](){try{const a=await this['_getPersistStore']()['get']();if(!a)return;const b=JSON['parse'](a);for(const [c,d]of Object['entries'](b)){const e=Number(c),f=this['byChainId']['get'](e);if(f&&Array['isArray'](d)&&d['length']>0x0)f['rpcUrls']=d;}}catch{}}['addRpcs'](a,b){const c=this['get'](a);if(!c)return 0x0;let d=0x0;for(const e of b['slice']()['reverse']())!c['rpcUrls']['includes'](e)&&(c['rpcUrls']['unshift'](e),d++);if(d>0x0)this['_saveAllRpcs']();return d;}['removeRpcs'](a,b){const c=this['get'](a);if(!c)return 0x0;let d=0x0;for(const e of b){const f=c['rpcUrls']['indexOf'](e);f!==-0x1&&c['rpcUrls']['length']>0x1&&(c['rpcUrls']['splice'](f,0x1),this['unhealthyRpc']['delete'](e),d++);}if(d>0x0)this['_saveAllRpcs']();return d;}['buildTempConfig'](a,b){return{'name':'chain-'+b,'chainId':b,'rpcUrls':[a],'confirmations':0x1,'gasLimitMultiplier':1.2,'minPriorityFee':0x3b9aca00n,'rpcTimeoutMs':0x7530,'txConfirmTimeoutMs':0x1d4c0,'pollIntervalMs':0xbb8};}};function registerBridgeEvmNetworks(a){const b=EvmNetworkRegistry['Instance'](),c=b['get'](a['evmChain']['chainId']);if(c){if(a['evmChain']['rpcUrl']&&!c['rpcUrls']['includes'](a['evmChain']['rpcUrl']))c['rpcUrls']['unshift'](a['evmChain']['rpcUrl']);if(a['setAsDefault'])b['setDefault'](c['chainId']);return c;}const d={'name':(a['name']??'chain-'+a['evmChain']['chainId'])['toLowerCase'](),'chainId':a['evmChain']['chainId'],'rpcUrls':a['evmChain']['rpcUrl']?[a['evmChain']['rpcUrl']]:[],'confirmations':0x1,'gasLimitMultiplier':1.2,'minPriorityFee':0x3b9aca00n,'rpcTimeoutMs':0x7530,'txConfirmTimeoutMs':0x1d4c0,'pollIntervalMs':0xbb8};b['register'](d);if(a['setAsDefault'])b['setDefault'](d['chainId']);return d;}export{ETH_MAINNET,EvmNetworkRegistry,registerBridgeEvmNetworks};
1
+ import{d as a77a,r as a77b}from'../../../storage-D1bEi2b7.mjs';const ETH_MAINNET={'name':'mainnet','chainId':0x1,'rpcUrls':['https://ethereum-rpc.publicnode.com','https://eth.drpc.org','https://eth.llamarpc.com','https://rpc.mevblocker.io','https://rpc.flashbots.net','https://cloudflare-eth.com','https://ethereum.blockpi.network/v1/rpc/public','https://eth.merkle.io','https://0xrpc.io/eth','https://api.zan.top/eth/mainnet'],'explorerUrl':'https://etherscan.io','confirmations':0x1,'gasLimitMultiplier':1.2,'minPriorityFee':0x3b9aca00n,'rpcTimeoutMs':0x7530,'txConfirmTimeoutMs':0x1d4c0,'pollIntervalMs':0xbb8};var EvmNetworkRegistry=class EvmNetworkRegistry{static{this['_instanceLock']=new a77a();}static{this['DEFAULT_UNHEALTHY_RETRY_MS']=0x5*0xea60;}constructor(){this['byChainId']=new Map(),this['byName']=new Map(),this['chainIdCache']=new Map(),this['unhealthyRpc']=new Map(),this['unhealthyCounter']=new Map(),this['register'](ETH_MAINNET),this['defaultChainId']=ETH_MAINNET['chainId'],this['_loadAllRpcs']();}static['Instance'](){if(EvmNetworkRegistry['_instance'])return EvmNetworkRegistry['_instance'];if(!EvmNetworkRegistry['_instance'])EvmNetworkRegistry['_instance']=new EvmNetworkRegistry();return EvmNetworkRegistry['_instance'];}['register'](a){const b=a['name']['toLowerCase']();this['byChainId']['set'](a['chainId'],a),this['byName']['set'](b,a);}['unregister'](a){const b=this['get'](a);if(!b)return;this['byChainId']['delete'](b['chainId']),this['byName']['delete'](b['name']['toLowerCase']());if(this['defaultChainId']===b['chainId'])this['defaultChainId']=this['byChainId']['size']>0x0?this['byChainId']['keys']()['next']()['value']:void 0x0;}['setDefault'](a){const b=this['get'](a);if(!b)throw new Error('EVM\x20network\x20not\x20found:\x20'+a);this['defaultChainId']=b['chainId'];}['get'](a){if(a===void 0x0||a===null)return this['defaultChainId']!==void 0x0?this['byChainId']['get'](this['defaultChainId']):void 0x0;if(typeof a==='number')return this['byChainId']['get'](a);return this['byName']['get'](a['toLowerCase']());}['list'](){return Array['from'](this['byChainId']['values']());}['getDefault'](){const a=this['get'](this['defaultChainId']);if(!a)throw new Error('No\x20default\x20EVM\x20network\x20registered.\x20Call\x20register()\x20and\x20setDefault()\x20first.');return a;}async['resolve'](a){if(typeof a==='number'){const b=this['byChainId']['get'](a);if(b)return b;throw new Error('EVM\x20network\x20not\x20registered\x20for\x20chainId\x20'+a);}if(typeof a==='string'){const c=this['byName']['get'](a['toLowerCase']());if(c)return c;const d=await this['queryChainIdFromRpc'](a),e=this['byChainId']['get'](d);if(e)return e;return this['buildTempConfig'](a,d);}return this['getDefault']();}['pickHealthyRpc'](a){const b=Date['now'](),c=a['rpcUrls']['map'](e=>{const f=this['unhealthyRpc']['get'](e),g=this['unhealthyCounter']['get'](e)??0x0,h=f===void 0x0||f<b;if(f!==void 0x0&&f<b)this['unhealthyRpc']['delete'](e);return{'url':e,'isExpired':h,'failCount':g};}),d=c['filter'](e=>e['isExpired']);if(d['length']>0x0)return d['sort']((e,f)=>e['failCount']-f['failCount']),d[0x0]['url'];return c['sort']((e,f)=>e['failCount']-f['failCount']),c[0x0]['url'];}['markUnhealthy'](a,b){const c=(this['unhealthyCounter']['get'](a)??0x0)+0x1;this['unhealthyCounter']['set'](a,c);const d=b??(c<=0x1?0x5*0xea60:c===0x2?0xf*0xea60:c===0x3?0x1e*0xea60:0x3c*0xea60);this['unhealthyRpc']['set'](a,Date['now']()+d);}['markHealthy'](a){this['unhealthyRpc']['delete'](a),this['unhealthyCounter']['delete'](a);}['isUnhealthy'](a){const b=this['unhealthyRpc']['get'](a);if(b===void 0x0)return![];if(b<Date['now']())return this['unhealthyRpc']['delete'](a),![];return!![];}['listRpcStatus'](a){const b=this['get'](a);if(!b)return[];const c=Date['now']();return b['rpcUrls']['map'](d=>{const e=this['unhealthyRpc']['get'](d),f=this['unhealthyCounter']['get'](d)??0x0;if(e===void 0x0||e<c){if(e!==void 0x0&&e<c)this['unhealthyRpc']['delete'](d);return{'url':d,'healthy':!![],'failCount':f};}return{'url':d,'healthy':![],'retryInMs':e-c,'failCount':f};});}['addRpc'](a,b){const c=this['get'](a);if(!c)return![];if(c['rpcUrls']['includes'](b))return![];return c['rpcUrls']['unshift'](b),this['_saveAllRpcs'](),!![];}['removeRpc'](a,b){const c=this['get'](a);if(!c)return![];if(c['rpcUrls']['length']<=0x1)return![];const d=c['rpcUrls']['indexOf'](b);if(d===-0x1)return![];return c['rpcUrls']['splice'](d,0x1),this['unhealthyRpc']['delete'](b),this['_saveAllRpcs'](),!![];}['setRpcs'](a,b){if(!b||b['length']===0x0)return![];const c=this['get'](a);if(!c)return![];for(const d of c['rpcUrls'])this['unhealthyRpc']['delete'](d);return c['rpcUrls']=[...new Set(b)],this['_saveAllRpcs'](),!![];}async['ping'](a,b=0x1388){try{const c=new AbortController(),d=setTimeout(()=>c['abort'](),b),e=await fetch(a,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'jsonrpc':'2.0','id':0x1,'method':'eth_chainId','params':[]}),'signal':c['signal']});return clearTimeout(d),e['ok'];}catch{return![];}}async['queryChainIdFromRpc'](a){const b=this['chainIdCache']['get'](a);if(b!==void 0x0)return b;const c=await(await fetch(a,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'jsonrpc':'2.0','id':0x1,'method':'eth_chainId','params':[]})}))['json']();if(c['error'])throw new Error('RPC\x20error:\x20'+c['error']['message']);const d=parseInt(c['result'],0x10);return this['chainIdCache']['set'](a,d),d;}['clearChainIdCache'](){this['chainIdCache']['clear']();}['_getPersistStore'](){if(!this['_persistStore'])this['_persistStore']=new a77b(void 0x0,'evm_network_rpcs');return this['_persistStore'];}async['_saveAllRpcs'](){try{const a={};for(const [b,c]of this['byChainId']['entries']())a[String(b)]=c['rpcUrls'];await this['_getPersistStore']()['put'](JSON['stringify'](a));}catch{}}async['_loadAllRpcs'](){try{const a=await this['_getPersistStore']()['get']();if(!a)return;const b=JSON['parse'](a);for(const [c,d]of Object['entries'](b)){const e=Number(c),f=this['byChainId']['get'](e);if(f&&Array['isArray'](d)&&d['length']>0x0)f['rpcUrls']=d;}}catch{}}['addRpcs'](a,b){const c=this['get'](a);if(!c)return 0x0;let d=0x0;for(const e of b['slice']()['reverse']())!c['rpcUrls']['includes'](e)&&(c['rpcUrls']['unshift'](e),d++);if(d>0x0)this['_saveAllRpcs']();return d;}['removeRpcs'](a,b){const c=this['get'](a);if(!c)return 0x0;let d=0x0;for(const e of b){const f=c['rpcUrls']['indexOf'](e);f!==-0x1&&c['rpcUrls']['length']>0x1&&(c['rpcUrls']['splice'](f,0x1),this['unhealthyRpc']['delete'](e),d++);}if(d>0x0)this['_saveAllRpcs']();return d;}['buildTempConfig'](a,b){return{'name':'chain-'+b,'chainId':b,'rpcUrls':[a],'confirmations':0x1,'gasLimitMultiplier':1.2,'minPriorityFee':0x3b9aca00n,'rpcTimeoutMs':0x7530,'txConfirmTimeoutMs':0x1d4c0,'pollIntervalMs':0xbb8};}};function registerBridgeEvmNetworks(a){const b=EvmNetworkRegistry['Instance'](),c=b['get'](a['evmChain']['chainId']);if(c){if(a['evmChain']['rpcUrl']&&!c['rpcUrls']['includes'](a['evmChain']['rpcUrl']))c['rpcUrls']['unshift'](a['evmChain']['rpcUrl']);if(a['setAsDefault'])b['setDefault'](c['chainId']);return c;}const d={'name':(a['name']??'chain-'+a['evmChain']['chainId'])['toLowerCase'](),'chainId':a['evmChain']['chainId'],'rpcUrls':a['evmChain']['rpcUrl']?[a['evmChain']['rpcUrl']]:[],'confirmations':0x1,'gasLimitMultiplier':1.2,'minPriorityFee':0x3b9aca00n,'rpcTimeoutMs':0x7530,'txConfirmTimeoutMs':0x1d4c0,'pollIntervalMs':0xbb8};b['register'](d);if(a['setAsDefault'])b['setDefault'](d['chainId']);return d;}export{ETH_MAINNET,EvmNetworkRegistry,registerBridgeEvmNetworks};
@@ -1 +1 @@
1
- import{o as a81a}from'../../exception-Xd2RFs2i.mjs';import{r as a81b}from'../../mnemonics-C6qlqegr.mjs';import{d as a81c,r as a81d}from'../../storage-D1bEi2b7.mjs';import{SecureAccountStorage}from'./secure-storage.mjs';import{bytesToBigInt,bytesToHex,hexToBytes,isValidEvmAddress,privateKeyToAddress,signEIP1559,signLegacy,toChecksumAddress}from'./evm/rlp.mjs';import{EvmNetworkRegistry}from'./evm/networks.mjs';import{secp256k1}from'@noble/curves/secp256k1.js';import{HDKey}from'@scure/bip32';import{keccak_256}from'@noble/hashes/sha3.js';let rpcRequestId=0x0;async function ethRpcWithAbort(a,b,c,d){const e={'jsonrpc':'2.0','id':++rpcRequestId,'method':b,'params':c},f=await fetch(a,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](e),'signal':d});if(!f['ok'])throw new Error('EVM\x20RPC\x20HTTP\x20'+f['status']+':\x20'+await f['text']());const g=await f['json']();if(g['error'])throw new Error('EVM\x20RPC\x20error:\x20'+g['error']['message']+'\x20(code\x20'+g['error']['code']+')');return g['result'];}var EvmAccount=class EvmAccount{static{this['_dataLock']=new a81c();}static{this['_storageLock']=new a81c();}['setStorage'](a){EvmAccount['storage']=a;}['setEncryptedStorage'](a){EvmAccount['storage']=new SecureAccountStorage(a);}async['_getStorage'](){if(EvmAccount['storage'])return EvmAccount['storage'];return EvmAccount['_storageLock']['run'](async()=>{if(!EvmAccount['storage'])EvmAccount['storage']=new SecureAccountStorage(new a81d(void 0x0,'evm_accounts'));return EvmAccount['storage'];});}async['unlock'](a){const b=await this['_getStorage']();if(!(b instanceof SecureAccountStorage))throw new Error('Current\x20storage\x20does\x20not\x20support\x20encryption.');b['setSessionPassword'](a),await b['get']();}async['lock'](){const a=await this['_getStorage']();if(a instanceof SecureAccountStorage)a['setSessionPassword'](void 0x0);}async['setEncryptionPassword'](a){const b=await this['_getStorage']();if(!(b instanceof SecureAccountStorage))throw new Error('Current\x20storage\x20does\x20not\x20support\x20encryption.');await b['setPassword'](a);}async['changeEncryptionPassword'](a,b){const c=await this['_getStorage']();if(!(c instanceof SecureAccountStorage))throw new Error('Current\x20storage\x20does\x20not\x20support\x20encryption.');await c['changePassword'](a,b);}async['removeEncryptionPassword'](a){const b=await this['_getStorage']();if(!(b instanceof SecureAccountStorage))throw new Error('Current\x20storage\x20does\x20not\x20support\x20encryption.');await b['removePassword'](a);}async['getEncryptionMode'](){const a=await this['_getStorage']();if(a instanceof SecureAccountStorage)return a['getMode']();}async['isPasswordSet'](){return await this['getEncryptionMode']()==='password';}async['getMcpAccess'](){const a=await this['_getStorage']();if(a instanceof SecureAccountStorage)return a['getMcpAccess']();return'allowed';}async['setMcpAccess'](a,b){const c=await this['_getStorage']();if(!(c instanceof SecureAccountStorage))throw new Error('Current\x20storage\x20does\x20not\x20support\x20encryption.');await c['setMcpAccess'](a,b);}static['Instance'](){if(EvmAccount['_instance'])return EvmAccount['_instance'];if(!EvmAccount['_instance'])EvmAccount['_instance']=new EvmAccount();return EvmAccount['_instance'];}async['_readAll'](){const a=await this['_getStorage'](),b=await a['get']();if(!b)return[];const c=JSON['parse'](b);let d=[],e=![];if(Array['isArray'](c))d=c['map'](f=>({'address':f['address'],'name':f['name'],'pubkey':f['pubkey'],'secret':f['secret'],'isActive':f['isActive'],'createdAt':f['createdAt'],'updatedAt':f['updatedAt']})),d['length']>0x0&&!d['some'](f=>f['isActive']===!![])&&(d[0x0]['isActive']=!![],e=!![]);else c&&typeof c==='object'&&(d=[{'address':c['address'],'name':c['name'],'pubkey':c['pubkey'],'secret':c['secret'],'isActive':!![],'createdAt':c['createdAt'],'updatedAt':c['updatedAt']}],e=!![]);if(e)await a['put'](JSON['stringify'](d));return d;}async['_writeAll'](a){await(await this['_getStorage']())['put'](JSON['stringify'](a));}['_findActive'](a){return a['find'](b=>b['isActive']===!![]);}['_sanitize'](a,b=![],c=![]){const {secret:d,...e}=a,f=c?a:e;if(!b){const {pubkey:g,...h}=f;return h;}return f;}async['_get'](a=![]){const b=await this['_readAll'](),c=this['_findActive'](b);if(!c)return void 0x0;return this['_sanitize'](c,a);}async['_getWithSecret'](){const a=await this['_readAll'](),b=this['_findActive'](a);if(!b||!b['secret'])a81a('account\x20not\x20found','No\x20active\x20EVM\x20account\x20with\x20secret.\x20Call\x20active()\x20first\x20to\x20auto-generate\x20one.');return b;}async['_upsertAsActive'](a){const b=await this['_readAll']();b['forEach'](d=>{if(d['address']!==a['address'])d['isActive']=![];});const c=b['findIndex'](d=>d['address']['toLowerCase']()===a['address']['toLowerCase']());if(c!==-0x1)b[c]={...a,'isActive':!![]};else b['push']({...a,'isActive':!![]});await this['_writeAll'](b);}async['resolveNetwork'](a,b){const c=EvmNetworkRegistry['Instance']();if(b){const e=await c['resolve'](b);return{'cfg':e,'url':c['pickHealthyRpc'](e)||b};}const d=await c['resolve'](a);return{'cfg':d,'url':c['pickHealthyRpc'](d)};}async['rpcWithFailover'](a,b,c){const d=EvmNetworkRegistry['Instance']();let f;const g=a['rpcTimeoutMs']??0x2710;for(const h of a['rpcUrls'])try{const i=new AbortController(),j=setTimeout(()=>i['abort'](),g);try{const k=await ethRpcWithAbort(h,b,c,i['signal']);return d['markHealthy'](h),k;}finally{clearTimeout(j);}}catch(l){f=l,d['markUnhealthy'](h);}throw f instanceof Error?f:new Error('All\x20RPCs\x20failed\x20for\x20'+b);}async['gen'](a=![]){return EvmAccount['_dataLock']['run'](async()=>{const b=secp256k1['utils']['randomSecretKey'](),c='0x'+bytesToHex(b),d=privateKeyToAddress(b),e=Date['now'](),f={'address':d,'secret':c,'isActive':!![],'createdAt':e,'updatedAt':e};if(a)f['pubkey']='0x'+bytesToHex(secp256k1['getPublicKey'](b,!![]));return await this['_upsertAsActive'](f),this['_sanitize'](f,a);});}async['importPrivateKey'](a,b=![]){return EvmAccount['_dataLock']['run'](async()=>{const c=a['startsWith']('0x')?a['slice'](0x2):a;if(c['length']!==0x40)a81a('invalid\x20parameter','Private\x20key\x20must\x20be\x2032\x20bytes\x20(64\x20hex\x20chars),\x20got\x20'+c['length']+'\x20chars');const d='0x'+c,e=hexToBytes(d),f=privateKeyToAddress(e),g=Date['now'](),h={'address':f,'secret':d,'isActive':!![],'createdAt':g,'updatedAt':g};if(b)h['pubkey']='0x'+bytesToHex(secp256k1['getPublicKey'](e,!![]));return await this['_upsertAsActive'](h),this['_sanitize'](h,b);});}async['importMnemonic'](a,b,c=![]){return EvmAccount['_dataLock']['run'](async()=>{const d=a81b(a),e=HDKey['fromMasterSeed'](d),f=b||'m/44\x27/60\x27/0\x27/0/0',g=e['derive'](f);if(!g['privateKey'])a81a('invalid\x20parameter','Failed\x20to\x20derive\x20private\x20key\x20from\x20mnemonic');const h='0x'+bytesToHex(g['privateKey']),i=hexToBytes(h),j=privateKeyToAddress(i),k=Date['now'](),l={'address':j,'secret':h,'isActive':!![],'createdAt':k,'updatedAt':k};if(c)l['pubkey']='0x'+bytesToHex(secp256k1['getPublicKey'](i,!![]));return await this['_upsertAsActive'](l),this['_sanitize'](l,c);});}async['active'](a=![]){const b=await this['_get'](a);if(b)return b;return this['gen'](a);}async['list'](a){let b=(await this['_readAll']())['slice']();if(a?.['isActive']!==void 0x0)b=b['filter'](c=>a['isActive']?c['isActive']===!![]:c['isActive']!==!![]);if(a?.['createdAt']){if(a['createdAt']['gte']!==void 0x0)b=b['filter'](c=>c['createdAt']&&c['createdAt']>=a['createdAt']['gte']);if(a['createdAt']['lte']!==void 0x0)b=b['filter'](c=>c['createdAt']&&c['createdAt']<=a['createdAt']['lte']);}if(a?.['updatedAt']){if(a['updatedAt']['gte']!==void 0x0)b=b['filter'](c=>c['updatedAt']&&c['updatedAt']>=a['updatedAt']['gte']);if(a['updatedAt']['lte']!==void 0x0)b=b['filter'](c=>c['updatedAt']&&c['updatedAt']<=a['updatedAt']['lte']);}if(a?.['name']!=null||a?.['address'])b=b['map'](c=>{let d=0x0;if(a?.['name']!=null){const e=(c['name']||'')['toLowerCase'](),f=a['name']['toLowerCase']();if(e===f)d+=0x64;else{if(e['startsWith'](f))d+=0x32;else{if(e['includes'](f))d+=0x19;}}}if(a?.['address']){const g=c['address']['toLowerCase'](),h=a['address']['toLowerCase']();if(g===h)d+=0x64;else{if(g['startsWith'](h))d+=0x32;else{if(g['includes'](h))d+=0x19;}}}if((a?.['name']||a?.['address'])&&d===0x0)d=-0x1;return{'a':c,'score':d};})['filter'](c=>c['score']>=0x0)['sort']((c,d)=>d['score']-c['score'])['map'](c=>c['a']);else b['sort']((c,d)=>{if(c['isActive']===!![]&&d['isActive']!==!![])return-0x1;if(c['isActive']!==!![]&&d['isActive']===!![])return 0x1;return 0x0;});return b['map'](c=>this['_sanitize'](c,a?.['includePubkey']));}async['setActive'](a){return EvmAccount['_dataLock']['run'](async()=>{const b=await this['_readAll'](),c=b['find'](d=>d['address']['toLowerCase']()===a['toLowerCase']());if(!c)return![];return b['forEach'](d=>{d['isActive']=d['address']===c['address'];}),c['updatedAt']=Date['now'](),await this['_writeAll'](b),!![];});}async['rename'](a,b){return EvmAccount['_dataLock']['run'](async()=>{const c=await this['_readAll'](),d=c['find'](f=>f['address']['toLowerCase']()===a['toLowerCase']());if(!d)return![];const e=Date['now']();return d['name']=b,d['updatedAt']=e,await this['_writeAll'](c),!![];});}async['del'](a){return EvmAccount['_dataLock']['run'](async()=>{const b=await this['_readAll'](),c=b['findIndex'](e=>e['address']['toLowerCase']()===a['toLowerCase']());if(c===-0x1)return![];const d=b[c]['isActive']===!![];return b['splice'](c,0x1),d&&b['length']>0x0&&!b['some'](e=>e['isActive']===!![])&&(b[0x0]['isActive']=!![],b[0x0]['updatedAt']=Date['now']()),await this['_writeAll'](b),!![];});}async['getByNameOrAddress'](a,b=![],c=![]){const d=await this['_readAll'](),e=a['toLowerCase'](),f=d['find'](g=>g['address']['toLowerCase']()===e||g['name']&&g['name']['toLowerCase']()===e);if(!f)return void 0x0;return this['_sanitize'](f,b,c);}async['exportSecret'](a){return(await this['getByNameOrAddress'](a,![],!![]))?.['secret'];}async['balance'](b,c){const d=await this['_get']();if(!d)return void 0x0;const {cfg:e}=await this['resolveNetwork'](b,c),f=await this['rpcWithFailover'](e,'eth_getBalance',[d['address'],'latest']);return BigInt(f);}async['balanceOf'](b,c,d){const e=await this['_get']();if(!e)return void 0x0;const {cfg:f}=await this['resolveNetwork'](c,d),g='0x70a08231'+e['address']['slice'](0x2)['toLowerCase']()['padStart'](0x40,'0'),h=await this['rpcWithFailover'](f,'eth_call',[{'to':b,'data':g},'latest']);return BigInt(h);}async['getNonce'](b,c){const d=await this['_get']();if(!d)return void 0x0;const {cfg:e}=await this['resolveNetwork'](b,c),f=await this['rpcWithFailover'](e,'eth_getTransactionCount',[d['address'],'pending']);return parseInt(f,0x10);}async['getChainId'](a,b){const {cfg:c}=await this['resolveNetwork'](a,b),d=await this['rpcWithFailover'](c,'eth_chainId',[]);return parseInt(d,0x10);}async['getBlockNumber'](a,b){const {cfg:c}=await this['resolveNetwork'](a,b),d=await this['rpcWithFailover'](c,'eth_blockNumber',[]);return BigInt(d);}async['ethCall'](b,c,d){const e=await this['_get']();if(!e)a81a('account\x20not\x20found','No\x20active\x20EVM\x20account');const f=b['network']??c,{cfg:g}=await this['resolveNetwork'](f,d??b['rpcUrl']);return await this['rpcWithFailover'](g,'eth_call',[{'from':e['address'],'to':b['to'],'data':b['data']??'0x','value':'0x'+(b['value']??0x0n)['toString'](0x10)},'latest']);}['guessGasLimit'](a){const b=a['data']??'';if(b['startsWith']('0x9c3ecefb'))return 0x927c0n;if(b['startsWith']('0x095ea7b3'))return 0x186a0n;if(b['startsWith']('0xb4b7068c'))return 0x3d090n;if(b['startsWith']('0x0bdba58b'))return 0x493e0n;return 0x61a80n;}async['estimateGas'](b,c,d){const e=await this['_get']();if(!e)a81a('account\x20not\x20found','No\x20active\x20EVM\x20account');const f=b['network']??c,{cfg:g}=await this['resolveNetwork'](f,d??b['rpcUrl']),h=await this['rpcWithFailover'](g,'eth_estimateGas',[{'from':e['address'],'to':b['to'],'data':b['data']??'0x','value':'0x'+(b['value']??0x0n)['toString'](0x10)}]);return BigInt(h);}async['safeEstimateGas'](a){if(!await this['_get']())a81a('account\x20not\x20found','No\x20active\x20EVM\x20account');const {cfg:b}=await this['resolveNetwork'](a['network'],a['rpcUrl']);let c;try{await this['ethCall'](a);}catch(d){return c=extractRevertReason(d),{'gasLimit':this['guessGasLimit'](a),'revertReason':c||'eth_call\x20failed'};}try{const f=await this['estimateGas'](a),g=b['gasLimitMultiplier']??1.2;return{'gasLimit':BigInt(Math['ceil'](Number(f)*g))};}catch(h){return c=extractRevertReason(h),console['warn']('[safeEstimateGas]\x20estimateGas\x20failed,\x20using\x20fallback\x20gasLimit='+this['guessGasLimit'](a),c?'revert:\x20'+c:''),{'gasLimit':this['guessGasLimit'](a),'revertReason':c};}}async['getFeeData'](a,b){const {cfg:c}=await this['resolveNetwork'](a,b),d=await this['rpcWithFailover'](c,'eth_feeHistory',['0x5','latest',[0x32]]),e=BigInt(d['baseFeePerGas'][0x0]),f=BigInt(d['reward'][0x0][0x0]),g=c['minPriorityFee']??0x0n,h=f<g?g:f;return{'maxFeePerGas':e*0x2n+h,'maxPriorityFeePerGas':h};}async['sign_and_send'](b,c){const d=await this['_getWithSecret']();if(!d||!d['secret'])a81a('account\x20not\x20found','No\x20active\x20EVM\x20account\x20with\x20secret');const {cfg:e,url:f}=await this['resolveNetwork'](b['network'],c??b['rpcUrl']),g=b['chainId']??e['chainId'],h=hexToBytes(d['secret']['slice'](0x2)),i=b['nonce']??await this['getNonce'](e['chainId'],f);let {maxFeePerGas:j,maxPriorityFeePerGas:k,gasPrice:l}=b;e['useLegacy']&&!l&&(l=(await this['getFeeData'](e['chainId'],f))['maxFeePerGas'],j=void 0x0,k=void 0x0);if(!j&&!k&&!l){const r=await this['getFeeData'](e['chainId'],f);j=r['maxFeePerGas'],k=r['maxPriorityFeePerGas'];}let m=b['gasLimit'];if(!m){const s=await this['safeEstimateGas'](b);m=s['gasLimit'],s['revertReason'];}const n=hexToBytes(b['to']['slice'](0x2)),o=b['data']?hexToBytes(b['data']['slice'](0x2)):new Uint8Array(0x0);let p;if(l)p=signLegacy({'to':n,'data':o,'value':b['value']??0x0n,'nonce':i,'chainId':g,'gasPrice':l,'gasLimit':m},h);else p=signEIP1559({'to':n,'data':o,'value':b['value']??0x0n,'nonce':i,'chainId':g,'maxFeePerGas':j,'maxPriorityFeePerGas':k,'gasLimit':m},h);const q=await this['rpcWithFailover'](e,'eth_sendRawTransaction',[p]);return await this['waitForReceipt'](q,e['chainId'],f);}async['waitForReceipt'](a,b,c,d){const {cfg:e,url:f}=await this['resolveNetwork'](b,c),g=d??e['txConfirmTimeoutMs']??0x1d4c0,h=e['pollIntervalMs']??0xbb8,i=Date['now']()+g;while(Date['now']()<i){const j=await this['rpcWithFailover'](e,'eth_getTransactionReceipt',[a]);if(j)return this['parseReceipt'](j);await new Promise(k=>setTimeout(k,h));}a81a('fail','Transaction\x20'+a+'\x20not\x20confirmed\x20within\x20'+g+'ms');}['parseReceipt'](a){return{'transactionHash':a['transactionHash'],'blockNumber':BigInt(a['blockNumber']),'blockHash':a['blockHash'],'status':a['status']??'0x0','gasUsed':BigInt(a['gasUsed']),'effectiveGasPrice':BigInt(a['effectiveGasPrice']),'from':a['from'],'to':a['to'],'contractAddress':a['contractAddress']??void 0x0,'logs':(a['logs']??[])['map'](b=>({'address':b['address'],'topics':b['topics']??[],'data':b['data']??'0x','blockNumber':BigInt(b['blockNumber']),'transactionHash':b['transactionHash'],'transactionIndex':b['transactionIndex'],'logIndex':b['logIndex'],'removed':b['removed']??![]}))};}async['signData'](a){const b=await this['_getWithSecret'](),c=hexToBytes(b['secret']['slice'](0x2)),d=typeof a==='string'?new TextEncoder()['encode'](a):a,e='\x19Ethereum\x20Signed\x20Message:\x0a'+d['length'],f=new Uint8Array(e['length']+d['length']);f['set'](new TextEncoder()['encode'](e),0x0),f['set'](d,e['length']);const g=keccak_256(f),h=secp256k1['sign'](g,c,{'format':'recovered','prehash':![]}),i=0x1b+h[0x0],j=new Uint8Array(0x41);j['set'](h['subarray'](0x1,0x21),0x0),j['set'](h['subarray'](0x21,0x41),0x20),j[0x40]=i;const k=secp256k1['getPublicKey'](c,!![]);return{'signature':'0x'+bytesToHex(j),'publicKey':'0x'+bytesToHex(k),'address':b['address']};}async['transfer'](a){await this['_getWithSecret']();if(!isValidEvmAddress(a['to']))a81a('invalid\x20parameter','Invalid\x20EVM\x20recipient\x20address:\x20'+a['to']);if(a['amount']<=0x0n)a81a('invalid\x20parameter','amount\x20must\x20be\x20positive');const b=!!a['tokenAddress'];if(b){const e=await this['balanceOf'](a['tokenAddress'],a['network'],a['rpcUrl']);if(e===void 0x0||e<a['amount'])a81a('fail','Insufficient\x20ERC20\x20balance:\x20have\x20'+(e??0x0n)+',\x20need\x20'+a['amount']);}else{const f=await this['balance'](a['network'],a['rpcUrl']);if(f===void 0x0||f<a['amount'])a81a('fail','Insufficient\x20ETH\x20balance:\x20have\x20'+(f??0x0n)+',\x20need\x20'+a['amount']);}let c;if(b){const g='0xa9059cbb'+a['to']['slice'](0x2)['toLowerCase']()['padStart'](0x40,'0')+a['amount']['toString'](0x10)['padStart'](0x40,'0');c={'to':a['tokenAddress'],'value':0x0n,'data':g,'network':a['network'],'rpcUrl':a['rpcUrl']};}else c={'to':a['to'],'value':a['amount'],'data':'0x','network':a['network'],'rpcUrl':a['rpcUrl']};const d=await this['sign_and_send'](c,a['rpcUrl']);if(d['status']!=='0x1')a81a('fail','EVM\x20transfer\x20reverted:\x20txHash='+d['transactionHash']);return d;}async['withdrawFromActive'](a){return this['transfer']({...a});}};function extractRevertReason(a){if(!a)return void 0x0;const b=typeof a==='string'?a:a?.['message']??a?.['toString']?.()??'',c=b['match'](/execution reverted:\s*(.+?)(?:\.|$)/i);if(c)return c[0x1]['trim']();const d=b['match'](/reverted with reason string\s*'([^']+)'/i);if(d)return d[0x1];const e=b['match'](/reverted with panic code\s*(0x[0-9a-f]+)/i);if(e)return'panic:\x20'+e[0x1];if(/stack underflow/i['test'](b))return'stack\x20underflow\x20(calldata\x20encoding\x20error)';if(/stack overflow/i['test'](b))return'stack\x20overflow';if(/out of gas/i['test'](b))return'out\x20of\x20gas';return b['length']>0xc8?b['slice'](0x0,0xc8)+'...':b;}export{EvmAccount,bytesToBigInt,bytesToHex,hexToBytes,isValidEvmAddress,privateKeyToAddress,signEIP1559,signLegacy,toChecksumAddress};
1
+ import{o as a79a}from'../../exception-CSxqQRN7.mjs';import{r as a79b}from'../../mnemonics-C6qlqegr.mjs';import{d as a79c,r as a79d}from'../../storage-D1bEi2b7.mjs';import{SecureAccountStorage}from'./secure-storage.mjs';import{bytesToBigInt,bytesToHex,hexToBytes,isValidEvmAddress,privateKeyToAddress,signEIP1559,signLegacy,toChecksumAddress}from'./evm/rlp.mjs';import{EvmNetworkRegistry}from'./evm/networks.mjs';import{secp256k1}from'@noble/curves/secp256k1.js';import{HDKey}from'@scure/bip32';import{keccak_256}from'@noble/hashes/sha3.js';let rpcRequestId=0x0;async function ethRpcWithAbort(a,b,c,d){const e={'jsonrpc':'2.0','id':++rpcRequestId,'method':b,'params':c},f=await fetch(a,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](e),'signal':d});if(!f['ok'])throw new Error('EVM\x20RPC\x20HTTP\x20'+f['status']+':\x20'+await f['text']());const g=await f['json']();if(g['error'])throw new Error('EVM\x20RPC\x20error:\x20'+g['error']['message']+'\x20(code\x20'+g['error']['code']+')');return g['result'];}var EvmAccount=class EvmAccount{static{this['_dataLock']=new a79c();}static{this['_storageLock']=new a79c();}['setStorage'](a){EvmAccount['storage']=a;}['setEncryptedStorage'](a){EvmAccount['storage']=new SecureAccountStorage(a);}async['_getStorage'](){if(EvmAccount['storage'])return EvmAccount['storage'];return EvmAccount['_storageLock']['run'](async()=>{if(!EvmAccount['storage'])EvmAccount['storage']=new SecureAccountStorage(new a79d(void 0x0,'evm_accounts'));return EvmAccount['storage'];});}async['unlock'](a){const b=await this['_getStorage']();if(!(b instanceof SecureAccountStorage))throw new Error('Current\x20storage\x20does\x20not\x20support\x20encryption.');b['setSessionPassword'](a),await b['get']();}async['lock'](){const a=await this['_getStorage']();if(a instanceof SecureAccountStorage)a['setSessionPassword'](void 0x0);}async['setEncryptionPassword'](a){const b=await this['_getStorage']();if(!(b instanceof SecureAccountStorage))throw new Error('Current\x20storage\x20does\x20not\x20support\x20encryption.');await b['setPassword'](a);}async['changeEncryptionPassword'](a,b){const c=await this['_getStorage']();if(!(c instanceof SecureAccountStorage))throw new Error('Current\x20storage\x20does\x20not\x20support\x20encryption.');await c['changePassword'](a,b);}async['removeEncryptionPassword'](a){const b=await this['_getStorage']();if(!(b instanceof SecureAccountStorage))throw new Error('Current\x20storage\x20does\x20not\x20support\x20encryption.');await b['removePassword'](a);}async['getEncryptionMode'](){const a=await this['_getStorage']();if(a instanceof SecureAccountStorage)return a['getMode']();}async['isPasswordSet'](){return await this['getEncryptionMode']()==='password';}async['getMcpAccess'](){const a=await this['_getStorage']();if(a instanceof SecureAccountStorage)return a['getMcpAccess']();return'allowed';}async['setMcpAccess'](a,b){const c=await this['_getStorage']();if(!(c instanceof SecureAccountStorage))throw new Error('Current\x20storage\x20does\x20not\x20support\x20encryption.');await c['setMcpAccess'](a,b);}static['Instance'](){if(EvmAccount['_instance'])return EvmAccount['_instance'];if(!EvmAccount['_instance'])EvmAccount['_instance']=new EvmAccount();return EvmAccount['_instance'];}async['_readAll'](){const a=await this['_getStorage'](),b=await a['get']();if(!b)return[];const c=JSON['parse'](b);let d=[],e=![];if(Array['isArray'](c))d=c['map'](f=>({'address':f['address'],'name':f['name'],'pubkey':f['pubkey'],'secret':f['secret'],'isActive':f['isActive'],'createdAt':f['createdAt'],'updatedAt':f['updatedAt']})),d['length']>0x0&&!d['some'](f=>f['isActive']===!![])&&(d[0x0]['isActive']=!![],e=!![]);else c&&typeof c==='object'&&(d=[{'address':c['address'],'name':c['name'],'pubkey':c['pubkey'],'secret':c['secret'],'isActive':!![],'createdAt':c['createdAt'],'updatedAt':c['updatedAt']}],e=!![]);if(e)await a['put'](JSON['stringify'](d));return d;}async['_writeAll'](a){await(await this['_getStorage']())['put'](JSON['stringify'](a));}['_findActive'](a){return a['find'](b=>b['isActive']===!![]);}['_sanitize'](a,b=![],c=![]){const {secret:d,...e}=a,f=c?a:e;if(!b){const {pubkey:g,...h}=f;return h;}return f;}async['_get'](a=![]){const b=await this['_readAll'](),c=this['_findActive'](b);if(!c)return void 0x0;return this['_sanitize'](c,a);}async['_getWithSecret'](){const a=await this['_readAll'](),b=this['_findActive'](a);if(!b||!b['secret'])a79a('account\x20not\x20found','No\x20active\x20EVM\x20account\x20with\x20secret.\x20Call\x20active()\x20first\x20to\x20auto-generate\x20one.');return b;}async['_upsertAsActive'](a){const b=await this['_readAll']();b['forEach'](d=>{if(d['address']!==a['address'])d['isActive']=![];});const c=b['findIndex'](d=>d['address']['toLowerCase']()===a['address']['toLowerCase']());if(c!==-0x1)b[c]={...a,'isActive':!![]};else b['push']({...a,'isActive':!![]});await this['_writeAll'](b);}async['resolveNetwork'](a,b){const c=EvmNetworkRegistry['Instance']();if(b){const e=await c['resolve'](b);return{'cfg':e,'url':c['pickHealthyRpc'](e)||b};}const d=await c['resolve'](a);return{'cfg':d,'url':c['pickHealthyRpc'](d)};}async['rpcWithFailover'](a,b,c){const d=EvmNetworkRegistry['Instance']();let f;const g=a['rpcTimeoutMs']??0x2710;for(const h of a['rpcUrls'])try{const i=new AbortController(),j=setTimeout(()=>i['abort'](),g);try{const k=await ethRpcWithAbort(h,b,c,i['signal']);return d['markHealthy'](h),k;}finally{clearTimeout(j);}}catch(l){f=l,d['markUnhealthy'](h);}throw f instanceof Error?f:new Error('All\x20RPCs\x20failed\x20for\x20'+b);}async['gen'](a=![]){return EvmAccount['_dataLock']['run'](async()=>{const b=secp256k1['utils']['randomSecretKey'](),c='0x'+bytesToHex(b),d=privateKeyToAddress(b),e=Date['now'](),f={'address':d,'secret':c,'isActive':!![],'createdAt':e,'updatedAt':e};if(a)f['pubkey']='0x'+bytesToHex(secp256k1['getPublicKey'](b,!![]));return await this['_upsertAsActive'](f),this['_sanitize'](f,a);});}async['importPrivateKey'](a,b=![]){return EvmAccount['_dataLock']['run'](async()=>{const c=a['startsWith']('0x')?a['slice'](0x2):a;if(c['length']!==0x40)a79a('invalid\x20parameter','Private\x20key\x20must\x20be\x2032\x20bytes\x20(64\x20hex\x20chars),\x20got\x20'+c['length']+'\x20chars');const d='0x'+c,e=hexToBytes(d),f=privateKeyToAddress(e),g=Date['now'](),h={'address':f,'secret':d,'isActive':!![],'createdAt':g,'updatedAt':g};if(b)h['pubkey']='0x'+bytesToHex(secp256k1['getPublicKey'](e,!![]));return await this['_upsertAsActive'](h),this['_sanitize'](h,b);});}async['importMnemonic'](a,b,c=![]){return EvmAccount['_dataLock']['run'](async()=>{const d=a79b(a),e=HDKey['fromMasterSeed'](d),f=b||'m/44\x27/60\x27/0\x27/0/0',g=e['derive'](f);if(!g['privateKey'])a79a('invalid\x20parameter','Failed\x20to\x20derive\x20private\x20key\x20from\x20mnemonic');const h='0x'+bytesToHex(g['privateKey']),i=hexToBytes(h),j=privateKeyToAddress(i),k=Date['now'](),l={'address':j,'secret':h,'isActive':!![],'createdAt':k,'updatedAt':k};if(c)l['pubkey']='0x'+bytesToHex(secp256k1['getPublicKey'](i,!![]));return await this['_upsertAsActive'](l),this['_sanitize'](l,c);});}async['active'](a=![]){const b=await this['_get'](a);if(b)return b;return this['gen'](a);}async['list'](a){let b=(await this['_readAll']())['slice']();if(a?.['isActive']!==void 0x0)b=b['filter'](c=>a['isActive']?c['isActive']===!![]:c['isActive']!==!![]);if(a?.['createdAt']){if(a['createdAt']['gte']!==void 0x0)b=b['filter'](c=>c['createdAt']&&c['createdAt']>=a['createdAt']['gte']);if(a['createdAt']['lte']!==void 0x0)b=b['filter'](c=>c['createdAt']&&c['createdAt']<=a['createdAt']['lte']);}if(a?.['updatedAt']){if(a['updatedAt']['gte']!==void 0x0)b=b['filter'](c=>c['updatedAt']&&c['updatedAt']>=a['updatedAt']['gte']);if(a['updatedAt']['lte']!==void 0x0)b=b['filter'](c=>c['updatedAt']&&c['updatedAt']<=a['updatedAt']['lte']);}if(a?.['name']!=null||a?.['address'])b=b['map'](c=>{let d=0x0;if(a?.['name']!=null){const e=(c['name']||'')['toLowerCase'](),f=a['name']['toLowerCase']();if(e===f)d+=0x64;else{if(e['startsWith'](f))d+=0x32;else{if(e['includes'](f))d+=0x19;}}}if(a?.['address']){const g=c['address']['toLowerCase'](),h=a['address']['toLowerCase']();if(g===h)d+=0x64;else{if(g['startsWith'](h))d+=0x32;else{if(g['includes'](h))d+=0x19;}}}if((a?.['name']||a?.['address'])&&d===0x0)d=-0x1;return{'a':c,'score':d};})['filter'](c=>c['score']>=0x0)['sort']((c,d)=>d['score']-c['score'])['map'](c=>c['a']);else b['sort']((c,d)=>{if(c['isActive']===!![]&&d['isActive']!==!![])return-0x1;if(c['isActive']!==!![]&&d['isActive']===!![])return 0x1;return 0x0;});return b['map'](c=>this['_sanitize'](c,a?.['includePubkey']));}async['setActive'](a){return EvmAccount['_dataLock']['run'](async()=>{const b=await this['_readAll'](),c=b['find'](d=>d['address']['toLowerCase']()===a['toLowerCase']());if(!c)return![];return b['forEach'](d=>{d['isActive']=d['address']===c['address'];}),c['updatedAt']=Date['now'](),await this['_writeAll'](b),!![];});}async['rename'](a,b){return EvmAccount['_dataLock']['run'](async()=>{const c=await this['_readAll'](),d=c['find'](f=>f['address']['toLowerCase']()===a['toLowerCase']());if(!d)return![];const e=Date['now']();return d['name']=b,d['updatedAt']=e,await this['_writeAll'](c),!![];});}async['del'](a){return EvmAccount['_dataLock']['run'](async()=>{const b=await this['_readAll'](),c=b['findIndex'](e=>e['address']['toLowerCase']()===a['toLowerCase']());if(c===-0x1)return![];const d=b[c]['isActive']===!![];return b['splice'](c,0x1),d&&b['length']>0x0&&!b['some'](e=>e['isActive']===!![])&&(b[0x0]['isActive']=!![],b[0x0]['updatedAt']=Date['now']()),await this['_writeAll'](b),!![];});}async['getByNameOrAddress'](a,b=![],c=![]){const d=await this['_readAll'](),e=a['toLowerCase'](),f=d['find'](g=>g['address']['toLowerCase']()===e||g['name']&&g['name']['toLowerCase']()===e);if(!f)return void 0x0;return this['_sanitize'](f,b,c);}async['exportSecret'](a){return(await this['getByNameOrAddress'](a,![],!![]))?.['secret'];}async['balance'](b,c){const d=await this['_get']();if(!d)return void 0x0;const {cfg:e}=await this['resolveNetwork'](b,c),f=await this['rpcWithFailover'](e,'eth_getBalance',[d['address'],'latest']);return BigInt(f);}async['balanceOf'](b,c,d){const e=await this['_get']();if(!e)return void 0x0;const {cfg:f}=await this['resolveNetwork'](c,d),g='0x70a08231'+e['address']['slice'](0x2)['toLowerCase']()['padStart'](0x40,'0'),h=await this['rpcWithFailover'](f,'eth_call',[{'to':b,'data':g},'latest']);return BigInt(h);}async['getNonce'](b,c){const d=await this['_get']();if(!d)return void 0x0;const {cfg:e}=await this['resolveNetwork'](b,c),f=await this['rpcWithFailover'](e,'eth_getTransactionCount',[d['address'],'pending']);return parseInt(f,0x10);}async['getChainId'](a,b){const {cfg:c}=await this['resolveNetwork'](a,b),d=await this['rpcWithFailover'](c,'eth_chainId',[]);return parseInt(d,0x10);}async['getBlockNumber'](a,b){const {cfg:c}=await this['resolveNetwork'](a,b),d=await this['rpcWithFailover'](c,'eth_blockNumber',[]);return BigInt(d);}async['ethCall'](b,c,d){const e=await this['_get']();if(!e)a79a('account\x20not\x20found','No\x20active\x20EVM\x20account');const f=b['network']??c,{cfg:g}=await this['resolveNetwork'](f,d??b['rpcUrl']);return await this['rpcWithFailover'](g,'eth_call',[{'from':e['address'],'to':b['to'],'data':b['data']??'0x','value':'0x'+(b['value']??0x0n)['toString'](0x10)},'latest']);}['guessGasLimit'](a){const b=a['data']??'';if(b['startsWith']('0x9c3ecefb'))return 0x927c0n;if(b['startsWith']('0x095ea7b3'))return 0x186a0n;if(b['startsWith']('0xb4b7068c'))return 0x3d090n;if(b['startsWith']('0x0bdba58b'))return 0x493e0n;return 0x61a80n;}async['estimateGas'](b,c,d){const e=await this['_get']();if(!e)a79a('account\x20not\x20found','No\x20active\x20EVM\x20account');const f=b['network']??c,{cfg:g}=await this['resolveNetwork'](f,d??b['rpcUrl']),h=await this['rpcWithFailover'](g,'eth_estimateGas',[{'from':e['address'],'to':b['to'],'data':b['data']??'0x','value':'0x'+(b['value']??0x0n)['toString'](0x10)}]);return BigInt(h);}async['safeEstimateGas'](a){if(!await this['_get']())a79a('account\x20not\x20found','No\x20active\x20EVM\x20account');const {cfg:b}=await this['resolveNetwork'](a['network'],a['rpcUrl']);let c;try{await this['ethCall'](a);}catch(d){return c=extractRevertReason(d),{'gasLimit':this['guessGasLimit'](a),'revertReason':c||'eth_call\x20failed'};}try{const f=await this['estimateGas'](a),g=b['gasLimitMultiplier']??1.2;return{'gasLimit':BigInt(Math['ceil'](Number(f)*g))};}catch(h){return c=extractRevertReason(h),console['warn']('[safeEstimateGas]\x20estimateGas\x20failed,\x20using\x20fallback\x20gasLimit='+this['guessGasLimit'](a),c?'revert:\x20'+c:''),{'gasLimit':this['guessGasLimit'](a),'revertReason':c};}}async['getFeeData'](a,b){const {cfg:c}=await this['resolveNetwork'](a,b),d=await this['rpcWithFailover'](c,'eth_feeHistory',['0x5','latest',[0x32]]),e=BigInt(d['baseFeePerGas'][0x0]),f=BigInt(d['reward'][0x0][0x0]),g=c['minPriorityFee']??0x0n,h=f<g?g:f;return{'maxFeePerGas':e*0x2n+h,'maxPriorityFeePerGas':h};}async['sign_and_send'](b,c){const d=await this['_getWithSecret']();if(!d||!d['secret'])a79a('account\x20not\x20found','No\x20active\x20EVM\x20account\x20with\x20secret');const {cfg:e,url:f}=await this['resolveNetwork'](b['network'],c??b['rpcUrl']),g=b['chainId']??e['chainId'],h=hexToBytes(d['secret']['slice'](0x2)),i=b['nonce']??await this['getNonce'](e['chainId'],f);let {maxFeePerGas:j,maxPriorityFeePerGas:k,gasPrice:l}=b;e['useLegacy']&&!l&&(l=(await this['getFeeData'](e['chainId'],f))['maxFeePerGas'],j=void 0x0,k=void 0x0);if(!j&&!k&&!l){const r=await this['getFeeData'](e['chainId'],f);j=r['maxFeePerGas'],k=r['maxPriorityFeePerGas'];}let m=b['gasLimit'];if(!m){const s=await this['safeEstimateGas'](b);m=s['gasLimit'],s['revertReason'];}const n=hexToBytes(b['to']['slice'](0x2)),o=b['data']?hexToBytes(b['data']['slice'](0x2)):new Uint8Array(0x0);let p;if(l)p=signLegacy({'to':n,'data':o,'value':b['value']??0x0n,'nonce':i,'chainId':g,'gasPrice':l,'gasLimit':m},h);else p=signEIP1559({'to':n,'data':o,'value':b['value']??0x0n,'nonce':i,'chainId':g,'maxFeePerGas':j,'maxPriorityFeePerGas':k,'gasLimit':m},h);const q=await this['rpcWithFailover'](e,'eth_sendRawTransaction',[p]);return await this['waitForReceipt'](q,e['chainId'],f);}async['waitForReceipt'](a,b,c,d){const {cfg:e,url:f}=await this['resolveNetwork'](b,c),g=d??e['txConfirmTimeoutMs']??0x1d4c0,h=e['pollIntervalMs']??0xbb8,i=Date['now']()+g;while(Date['now']()<i){const j=await this['rpcWithFailover'](e,'eth_getTransactionReceipt',[a]);if(j)return this['parseReceipt'](j);await new Promise(k=>setTimeout(k,h));}a79a('fail','Transaction\x20'+a+'\x20not\x20confirmed\x20within\x20'+g+'ms');}['parseReceipt'](a){return{'transactionHash':a['transactionHash'],'blockNumber':BigInt(a['blockNumber']),'blockHash':a['blockHash'],'status':a['status']??'0x0','gasUsed':BigInt(a['gasUsed']),'effectiveGasPrice':BigInt(a['effectiveGasPrice']),'from':a['from'],'to':a['to'],'contractAddress':a['contractAddress']??void 0x0,'logs':(a['logs']??[])['map'](b=>({'address':b['address'],'topics':b['topics']??[],'data':b['data']??'0x','blockNumber':BigInt(b['blockNumber']),'transactionHash':b['transactionHash'],'transactionIndex':b['transactionIndex'],'logIndex':b['logIndex'],'removed':b['removed']??![]}))};}async['signData'](a){const b=await this['_getWithSecret'](),c=hexToBytes(b['secret']['slice'](0x2)),d=typeof a==='string'?new TextEncoder()['encode'](a):a,e='\x19Ethereum\x20Signed\x20Message:\x0a'+d['length'],f=new Uint8Array(e['length']+d['length']);f['set'](new TextEncoder()['encode'](e),0x0),f['set'](d,e['length']);const g=keccak_256(f),h=secp256k1['sign'](g,c,{'format':'recovered','prehash':![]}),i=0x1b+h[0x0],j=new Uint8Array(0x41);j['set'](h['subarray'](0x1,0x21),0x0),j['set'](h['subarray'](0x21,0x41),0x20),j[0x40]=i;const k=secp256k1['getPublicKey'](c,!![]);return{'signature':'0x'+bytesToHex(j),'publicKey':'0x'+bytesToHex(k),'address':b['address']};}async['transfer'](a){await this['_getWithSecret']();if(!isValidEvmAddress(a['to']))a79a('invalid\x20parameter','Invalid\x20EVM\x20recipient\x20address:\x20'+a['to']);if(a['amount']<=0x0n)a79a('invalid\x20parameter','amount\x20must\x20be\x20positive');const b=!!a['tokenAddress'];if(b){const e=await this['balanceOf'](a['tokenAddress'],a['network'],a['rpcUrl']);if(e===void 0x0||e<a['amount'])a79a('fail','Insufficient\x20ERC20\x20balance:\x20have\x20'+(e??0x0n)+',\x20need\x20'+a['amount']);}else{const f=await this['balance'](a['network'],a['rpcUrl']);if(f===void 0x0||f<a['amount'])a79a('fail','Insufficient\x20ETH\x20balance:\x20have\x20'+(f??0x0n)+',\x20need\x20'+a['amount']);}let c;if(b){const g='0xa9059cbb'+a['to']['slice'](0x2)['toLowerCase']()['padStart'](0x40,'0')+a['amount']['toString'](0x10)['padStart'](0x40,'0');c={'to':a['tokenAddress'],'value':0x0n,'data':g,'network':a['network'],'rpcUrl':a['rpcUrl']};}else c={'to':a['to'],'value':a['amount'],'data':'0x','network':a['network'],'rpcUrl':a['rpcUrl']};const d=await this['sign_and_send'](c,a['rpcUrl']);if(d['status']!=='0x1')a79a('fail','EVM\x20transfer\x20reverted:\x20txHash='+d['transactionHash']);return d;}async['withdrawFromActive'](a){return this['transfer']({...a});}};function extractRevertReason(a){if(!a)return void 0x0;const b=typeof a==='string'?a:a?.['message']??a?.['toString']?.()??'',c=b['match'](/execution reverted:\s*(.+?)(?:\.|$)/i);if(c)return c[0x1]['trim']();const d=b['match'](/reverted with reason string\s*'([^']+)'/i);if(d)return d[0x1];const e=b['match'](/reverted with panic code\s*(0x[0-9a-f]+)/i);if(e)return'panic:\x20'+e[0x1];if(/stack underflow/i['test'](b))return'stack\x20underflow\x20(calldata\x20encoding\x20error)';if(/stack overflow/i['test'](b))return'stack\x20overflow';if(/out of gas/i['test'](b))return'out\x20of\x20gas';return b['length']>0xc8?b['slice'](0x0,0xc8)+'...':b;}export{EvmAccount,bytesToBigInt,bytesToHex,hexToBytes,isValidEvmAddress,privateKeyToAddress,signEIP1559,signLegacy,toChecksumAddress};
@@ -0,0 +1,2 @@
1
+ import { a as getFundApprovalPolicy, c as setFundApprovalPolicy, i as fetchFundApprovalTokenInfo, n as FundApprovalThreshold, o as getFundApprovalTokenCatalog, r as FundApprovalTokenInfo, s as isFundApprovalExempt, t as FundApprovalPolicy } from "../../fund-approval-EBi-SfjX.mjs";
2
+ export { FundApprovalPolicy, FundApprovalThreshold, FundApprovalTokenInfo, fetchFundApprovalTokenInfo, getFundApprovalPolicy, getFundApprovalTokenCatalog, isFundApprovalExempt, setFundApprovalPolicy };
@@ -0,0 +1 @@
1
+ import{a as a80a,i as a80b,n as a80c,r as a80d,t as a80e}from'../../fund-approval-Dy-heIpQ.mjs';export{a80e as fetchFundApprovalTokenInfo,a80c as getFundApprovalPolicy,a80d as getFundApprovalTokenCatalog,a80b as isFundApprovalExempt,a80a as setFundApprovalPolicy};
@@ -1,11 +1,12 @@
1
- import { $b as GetLocalNamesByAddresses, Ax as MAX_MESSENGER_ACCOUNTS, Cx as TokenTypeInfo, Dx as DEFAULT_ACCOUNT_NAME, Ex as AccountFilter, Jb as AccountOperationResult, Ox as FaucetCoinInfo, Qb as GetAccountOrMark_Address, Sx as TokenInfo, Tx as AccountData, Xb as FaucetNetwork, Yb as AccountOrMark_Address, Zb as FetchTokenInfoOperation, _x as query_local_info_list, ax as LocalNameByAddress, bx as query_local_token_list, cx as QueryAccountResult, dx as local_info_operation, ex as GetManyAccountOrMark_Address, fx as local_mark_operation, gx as query_local_info_default, hx as query_local_info, ix as LocalMarkOperationResult, kx as MAX_ACCOUNTS, lx as account_operation, mx as query_account_list, nx as LocalInfoOperationResult, ox as ManyAccountOrMark_Address, px as query_account, qb as AccountOperation, rx as LocalMarkOperation, sx as QueryAccount, tx as LocalInfoOperation, ux as fetch_token_info_operation, vx as query_local_mark, wx as Account, xx as TokenDataFilter, yx as query_local_mark_list } from "../../index-DCFY4cxp.mjs";
2
- import { n as ConfigData, t as Config } from "../../config-DyKCZw0u.mjs";
1
+ import { $b as AccountOperationResult, Ax as AccountData, Cx as query_local_mark, Dx as TokenInfo, Ex as TokenDataFilter, Fx as MAX_MESSENGER_ACCOUNTS, Mx as DEFAULT_ACCOUNT_NAME, Nx as FaucetCoinInfo, Ox as TokenTypeInfo, Px as MAX_ACCOUNTS, Qb as AccountOperation, Sx as query_local_info_list, Tx as query_local_token_list, _x as local_mark_operation, ax as GetManyAccountOrMark_Address, bx as query_local_info, cx as LocalMarkOperation, dx as ManyAccountOrMark_Address, ex as AccountOrMark_Address, fx as QueryAccount, gx as local_info_operation, hx as fetch_token_info_operation, ix as GetLocalNamesByAddresses, jx as AccountFilter, kx as Account, lx as LocalMarkOperationResult, mx as account_operation, nx as FetchTokenInfoOperation, ox as LocalInfoOperation, px as QueryAccountResult, rx as GetAccountOrMark_Address, sx as LocalInfoOperationResult, tx as FaucetNetwork, ux as LocalNameByAddress, vx as query_account, wx as query_local_mark_list, xx as query_local_info_default, yx as query_account_list } from "../../index-Bss9JH4A.mjs";
2
+ import { n as ConfigData, t as Config } from "../../config-Dwoyt1sO.mjs";
3
3
  import { a as OwnedRecordStorage, i as OwnedRecord, n as IStorage, s as SQLiteStorage, t as IAccountStorage } from "../../storage-C_8llI0r.mjs";
4
4
  import { a as SecureEnvelope, i as SecureAccountStorage, n as EncryptionMode, r as KeyMetadata, t as CryptoVault } from "../../secure-storage-WrSCAIOu.mjs";
5
5
  import { _ as isValidAddress, a as LocalInfoContentMaxCount, c as LocalInfoNameDefault, d as LocalMarkFilter, f as LocalMarkNameMaxLength, g as MarkParam, h as MarkData, i as LocalInfo, l as LocalInfoNameMaxLength, m as LocalMarkTagMaxLength, n as InfoData, o as LocalInfoContentMaxLength, p as LocalMarkTagMaxCount, r as InfoDataInner, s as LocalInfoFilter, t as BUITIN_IDS, u as LocalMark } from "../../local-CC1Zd3Pp.mjs";
6
+ import { a as getFundApprovalPolicy, c as setFundApprovalPolicy, i as fetchFundApprovalTokenInfo, n as FundApprovalThreshold, o as getFundApprovalTokenCatalog, r as FundApprovalTokenInfo, s as isFundApprovalExempt, t as FundApprovalPolicy } from "../../fund-approval-EBi-SfjX.mjs";
6
7
  import { _ as toChecksumAddress, c as bytesToHex, d as hexToBytes, g as signLegacy, h as signEIP1559, m as privateKeyToAddress, p as isValidEvmAddress, s as bytesToBigInt } from "../../rlp-Do3rPWRV.mjs";
7
8
  import { a as EvmTransactionReceipt, i as EvmLog, n as EvmAccountData, o as EvmTransactionRequest, r as EvmAccountFilter, t as EvmAccount } from "../../evm-account-DiQ0dl_e.mjs";
8
9
  import { i as registerBridgeEvmNetworks, n as EvmNetworkConfig, r as EvmNetworkRegistry, t as ETH_MAINNET } from "../../networks-ByH0We-G.mjs";
9
10
  import { A as wipToHtml, C as createWip, D as verifyWip, E as sign_wip, O as verify_wip, S as WipVerificationResult, T as loadWip, _ as WipSignature, a as SignatureAlgorithm, b as WipToHtmlOptions, c as WipContent, d as WipFile, f as WipGenerationOptions, g as WipPayload, h as WipMeta, i as ImageSource, k as wip2html, l as WipCreateOptions, m as WipMedia, n as HashAlgorithm, o as TextFormat, p as WipLimits, r as ImageMimeType, s as WIP, t as DEFAULT_LIMITS, u as WipError, v as WipSignatureVerification, w as generate_wip, x as WipValidationError, y as WipSizeError } from "../../wip-Cq6OttmQ.mjs";
10
11
  import { a as getWowokUserDataDir, c as workspaceExportPath, i as getWowokIndustryDir, n as getWowMcpDir, o as getWowokWorkspaceDir, r as getWowokDataDir, s as safeFilename, t as getWowDir } from "../../util-eN75N_r9.mjs";
11
- export { Account, AccountData, AccountFilter, AccountOperation, AccountOperationResult, AccountOrMark_Address, BUITIN_IDS, Config, ConfigData, CryptoVault, DEFAULT_ACCOUNT_NAME, DEFAULT_LIMITS, ETH_MAINNET, EncryptionMode, EvmAccount, EvmAccountData, EvmAccountFilter, EvmLog, EvmNetworkConfig, EvmNetworkRegistry, EvmTransactionReceipt, EvmTransactionRequest, FaucetCoinInfo, FaucetNetwork, FetchTokenInfoOperation, GetAccountOrMark_Address, GetLocalNamesByAddresses, GetManyAccountOrMark_Address, HashAlgorithm, type IAccountStorage, type IStorage, ImageMimeType, ImageSource, InfoData, InfoDataInner, KeyMetadata, LocalInfo, LocalInfoContentMaxCount, LocalInfoContentMaxLength, LocalInfoFilter, LocalInfoNameDefault, LocalInfoNameMaxLength, LocalInfoOperation, LocalInfoOperationResult, LocalMark, LocalMarkFilter, LocalMarkNameMaxLength, LocalMarkOperation, LocalMarkOperationResult, LocalMarkTagMaxCount, LocalMarkTagMaxLength, LocalNameByAddress, MAX_ACCOUNTS, MAX_MESSENGER_ACCOUNTS, ManyAccountOrMark_Address, MarkData, MarkParam, type OwnedRecord, OwnedRecordStorage, QueryAccount, QueryAccountResult, SQLiteStorage, SecureAccountStorage, SecureEnvelope, SignatureAlgorithm, TextFormat, TokenDataFilter, TokenInfo, TokenTypeInfo, WIP, WipContent, WipCreateOptions, WipError, WipFile, WipGenerationOptions, WipLimits, WipMedia, WipMeta, WipPayload, WipSignature, WipSignatureVerification, WipSizeError, WipToHtmlOptions, WipValidationError, WipVerificationResult, account_operation, bytesToBigInt, bytesToHex, createWip, fetch_token_info_operation, generate_wip, getWowDir, getWowMcpDir, getWowokDataDir, getWowokIndustryDir, getWowokUserDataDir, getWowokWorkspaceDir, hexToBytes, isValidAddress, isValidEvmAddress, loadWip, local_info_operation, local_mark_operation, privateKeyToAddress, query_account, query_account_list, query_local_info, query_local_info_default, query_local_info_list, query_local_mark, query_local_mark_list, query_local_token_list, registerBridgeEvmNetworks, safeFilename, signEIP1559, signLegacy, sign_wip, toChecksumAddress, verifyWip, verify_wip, wip2html, wipToHtml, workspaceExportPath };
12
+ export { Account, AccountData, AccountFilter, AccountOperation, AccountOperationResult, AccountOrMark_Address, BUITIN_IDS, Config, ConfigData, CryptoVault, DEFAULT_ACCOUNT_NAME, DEFAULT_LIMITS, ETH_MAINNET, EncryptionMode, EvmAccount, EvmAccountData, EvmAccountFilter, EvmLog, EvmNetworkConfig, EvmNetworkRegistry, EvmTransactionReceipt, EvmTransactionRequest, FaucetCoinInfo, FaucetNetwork, FetchTokenInfoOperation, FundApprovalPolicy, FundApprovalThreshold, FundApprovalTokenInfo, GetAccountOrMark_Address, GetLocalNamesByAddresses, GetManyAccountOrMark_Address, HashAlgorithm, type IAccountStorage, type IStorage, ImageMimeType, ImageSource, InfoData, InfoDataInner, KeyMetadata, LocalInfo, LocalInfoContentMaxCount, LocalInfoContentMaxLength, LocalInfoFilter, LocalInfoNameDefault, LocalInfoNameMaxLength, LocalInfoOperation, LocalInfoOperationResult, LocalMark, LocalMarkFilter, LocalMarkNameMaxLength, LocalMarkOperation, LocalMarkOperationResult, LocalMarkTagMaxCount, LocalMarkTagMaxLength, LocalNameByAddress, MAX_ACCOUNTS, MAX_MESSENGER_ACCOUNTS, ManyAccountOrMark_Address, MarkData, MarkParam, type OwnedRecord, OwnedRecordStorage, QueryAccount, QueryAccountResult, SQLiteStorage, SecureAccountStorage, SecureEnvelope, SignatureAlgorithm, TextFormat, TokenDataFilter, TokenInfo, TokenTypeInfo, WIP, WipContent, WipCreateOptions, WipError, WipFile, WipGenerationOptions, WipLimits, WipMedia, WipMeta, WipPayload, WipSignature, WipSignatureVerification, WipSizeError, WipToHtmlOptions, WipValidationError, WipVerificationResult, account_operation, bytesToBigInt, bytesToHex, createWip, fetchFundApprovalTokenInfo, fetch_token_info_operation, generate_wip, getFundApprovalPolicy, getFundApprovalTokenCatalog, getWowDir, getWowMcpDir, getWowokDataDir, getWowokIndustryDir, getWowokUserDataDir, getWowokWorkspaceDir, hexToBytes, isFundApprovalExempt, isValidAddress, isValidEvmAddress, loadWip, local_info_operation, local_mark_operation, privateKeyToAddress, query_account, query_account_list, query_local_info, query_local_info_default, query_local_info_list, query_local_mark, query_local_mark_list, query_local_token_list, registerBridgeEvmNetworks, safeFilename, setFundApprovalPolicy, signEIP1559, signLegacy, sign_wip, toChecksumAddress, verifyWip, verify_wip, wip2html, wipToHtml, workspaceExportPath };
@@ -1 +1 @@
1
- import{o as a82a}from'../../wow-types-DctQuD2J.mjs';import{o as a82b}from'../../exception-Xd2RFs2i.mjs';import{i as a82c,s as a82d}from'../../common-BXJtePqk.mjs';import{getWowDir,getWowMcpDir,getWowokDataDir,getWowokIndustryDir,getWowokUserDataDir,getWowokWorkspaceDir,safeFilename,workspaceExportPath}from'./util.mjs';import{i as a82e,n as a82f}from'../../storage-D1bEi2b7.mjs';import{Config}from'./config.mjs';import{BUITIN_IDS,LocalInfo,LocalInfoContentMaxCount,LocalInfoContentMaxLength,LocalInfoNameDefault,LocalInfoNameMaxLength,LocalMark,LocalMarkNameMaxLength,LocalMarkTagMaxCount,LocalMarkTagMaxLength,isValidAddress}from'./local.mjs';import{CryptoVault,SecureAccountStorage}from'./secure-storage.mjs';import{Account,DEFAULT_ACCOUNT_NAME,MAX_ACCOUNTS,MAX_MESSENGER_ACCOUNTS}from'./account.mjs';import{TokenInfo}from'./token.mjs';import{bytesToBigInt,bytesToHex,hexToBytes,isValidEvmAddress,privateKeyToAddress,signEIP1559,signLegacy,toChecksumAddress}from'./evm/rlp.mjs';import{ETH_MAINNET,EvmNetworkRegistry,registerBridgeEvmNetworks}from'./evm/networks.mjs';import{EvmAccount}from'./evm-account.mjs';import{DEFAULT_LIMITS,WIP,WipError,WipSizeError,WipValidationError,createWip,generate_wip,loadWip,sign_wip,verifyWip,verify_wip,wip2html,wipToHtml}from'./wip.mjs';const GetAccountOrMark_Address=async a=>{if(!a)return await Account['Instance']()['get_address'](void 0x0);const b=typeof a==='string'?a:a['name_or_address'];if(!b)return await Account['Instance']()['get_address'](void 0x0);if(b['toLowerCase']()==='0xaaa')return a82c;if(b['toLowerCase']()==='0xaab')return a82d;if(a82a(b))return b;if(typeof a==='object'&&a?.['local_mark_first']){const c=await LocalMark['Instance']()['get_address'](b);if(!c)return await Account['Instance']()['get_address'](b);return c;}else{const d=await Account['Instance']()['get_address'](b);if(!d)return await LocalMark['Instance']()['get_address'](b);return d;}},GetLocalNamesByAddresses=async a=>{const [b,c]=await Promise['all']([Account['Instance']()['get_many'](a),LocalMark['Instance']()['get_many'](a)]);return a['map']((d,e)=>({'account':b[e]?.['name'],'local_mark':c[e]?.['name'],'address':d}));},GetManyAccountOrMark_Address=async a=>{const b=[];for(let c=0x0;c<a['entities']['length'];++c){const d=await GetAccountOrMark_Address(a['entities'][c]);if(!d&&a['check_all_founded'])a82b('invalid\x20parameter','entity\x20'+a['entities'][c]?.['name_or_address']+'\x20is\x20not\x20a\x20valid\x20address,\x20account\x20or\x20mark');if(d)b['push'](d);}return b;},query_local_mark_list=async a=>{return await LocalMark['Instance']()['list'](a);},query_account_list=async a=>{return await Account['Instance']()['list'](a);},query_local_info_list=async a=>{return await LocalInfo['Instance']()['list'](a);},query_local_token_list=async(a,b)=>{return await TokenInfo['Instance']()['list'](a,b);},query_local_mark=async a=>{if(typeof a==='string')return await LocalMark['Instance']()['get'](a);else{if(Array['isArray'](a))return await LocalMark['Instance']()['get_many'](a);}},query_local_info=async(a=LocalInfoNameDefault)=>{if(typeof a==='string')return await LocalInfo['Instance']()['get'](a);else{if(Array['isArray'](a))return await LocalInfo['Instance']()['get_many'](a);}},query_local_info_default=async(a=LocalInfoNameDefault)=>{if(typeof a==='string')return await LocalInfo['Instance']()['get_default'](a);else{if(Array['isArray'](a))return(await LocalInfo['Instance']()['get_many'](a))['map'](b=>b?.['default']);}},query_account=async a=>{const b=await Account['Instance']()['get'](a['name_or_address']);if(!b)return{'name_or_address':a['name_or_address']};const c={'address':b['address'],'name_or_address':b['name']},d=a['token_type']??'0x2::wow::WOW';if(a?.['balance'])c['balance']=await Account['Instance']()['balance'](d,b['address'],a['network']);else{if(a?.['coin'])c['coin']=await Account['Instance']()['coin'](d,a['coin']['cursor'],a['coin']['limit'],b['address'],a['network']);}return c;},account_operation=async a=>{var b={};if(a['gen']!=null){const c=await Account['Instance']()['gen'](a['gen']?.['name'],a['gen']?.['replaceExistName'],a['gen']?.['messenger']);b['gen']={'address':c?.['address'],'name':c?.['name'],'messenger':c?.['messenger']};}if(a['faucet']!=null)b['faucet']={'name_or_address':a['faucet']['name_or_address'],'result':await Account['Instance']()['faucet'](a['faucet']['name_or_address'],a['faucet']['network']),'network':a['faucet']['network']};if(a['suspend']!=null)b['suspend']={'name_or_address':a['suspend']['name_or_address'],'success':await Account['Instance']()['suspend'](a['suspend']['name_or_address'])};if(a['resume']!=null)b['resume']={'address':a['resume']['address'],'name':a['resume']['name'],'success':await Account['Instance']()['resume'](a['resume']['address'],a['resume']['name'])};if(a['rename']!=null)b['rename']={'name_or_address':a['rename']['name_or_address'],'new_name':a['rename']['new_name'],'success':await Account['Instance']()['rename'](a['rename']['name_or_address'],a['rename']['new_name'])};if(a['swap_name']!=null)b['swap_name']={'name_or_address1':a['swap_name']['name_or_address1'],'name_or_address2':a['swap_name']['name_or_address2'],'success':await Account['Instance']()['swap_name'](a['swap_name']['name_or_address1'],a['swap_name']['name_or_address2'])};if(a['transfer']!=null){const {name_or_address_from:d,name_or_address_to:e,amount:f,token_type:g,network:h}=a['transfer'];b['transfer']=await Account['Instance']()['transfer'](f,g,e,d,h);}if(a['get']!=null){const {balance_required:i,token_type:j,name_or_address:k,network:l}=a['get'];b['get']={'name_or_address':k,'balance_required':i,'token_type':j,'network':l,'coin_address':await Account['Instance']()['coinObject_with_balance'](i,j,k,l)};}if(a['signData']!=null){const {name_or_address:m,data:n,data_encoding:o}=a['signData'];let p=n;if(typeof n==='string'&&o)switch(o){case'base64':p=Uint8Array['from'](Buffer['from'](n,'base64'));break;case'hex':p=Uint8Array['from'](Buffer['from'](n['replace'](/^0x/,''),'hex'));break;default:p=n;break;}const q=await Account['Instance']()['signData'](m,p);b['signData']={'name_or_address':m,'signature':q['signature'],'publicKey':q['publicKey'],'address':q['address']};}if(a['messenger']!=null){const {name_or_account:r,enabled:s}=a['messenger'];await Account['Instance']()['set_messenger'](r,s),b['messenger']={'name_or_account':r,'enabled':s};if(s)try{const {getMessengerManager:t}=await import('../messenger/messenger-api.mjs'),u=await Account['Instance']()['get_address'](r);u&&(await t()['ensureAccountReady'](u),b['messenger']['registered']=!![]);}catch(v){b['messenger']['registered']=![],b['messenger']['registerError']=v instanceof Error?v['message']:String(v);}}return b;},local_mark_operation=async a=>{const b={};if(a['clear'])b['clear']=await LocalMark['Instance']()['clear']();else{if(a['add'])b['add']=await LocalMark['Instance']()['put'](a['add']['data']);else{if(a['remove'])b['remove']=await LocalMark['Instance']()['del'](a['remove']['names']);}}return b;},local_info_operation=async a=>{if(a['clear'])await LocalInfo['Instance']()['clear']();else{if(a['add'])await LocalInfo['Instance']()['add'](a['add']['data']);else{if(a['remove'])await Promise['all'](a['remove']['data']['map'](b=>LocalInfo['Instance']()['del'](b)));else{if(a['reset'])await LocalInfo['Instance']()['reset_contents'](a['reset']['name'],a['reset']['contents']);}}}return{'success':!![]};},fetch_token_info_operation=async a=>{return await TokenInfo['Instance']()['fetch'](a['tokenType'],a?.['alias'],a?.['network']);};export{Account,BUITIN_IDS,Config,CryptoVault,DEFAULT_ACCOUNT_NAME,DEFAULT_LIMITS,ETH_MAINNET,EvmAccount,EvmNetworkRegistry,GetAccountOrMark_Address,GetLocalNamesByAddresses,GetManyAccountOrMark_Address,LocalInfo,LocalInfoContentMaxCount,LocalInfoContentMaxLength,LocalInfoNameDefault,LocalInfoNameMaxLength,LocalMark,LocalMarkNameMaxLength,LocalMarkTagMaxCount,LocalMarkTagMaxLength,MAX_ACCOUNTS,MAX_MESSENGER_ACCOUNTS,a82f as OwnedRecordStorage,a82e as SQLiteStorage,SecureAccountStorage,TokenInfo,WIP,WipError,WipSizeError,WipValidationError,account_operation,bytesToBigInt,bytesToHex,createWip,fetch_token_info_operation,generate_wip,getWowDir,getWowMcpDir,getWowokDataDir,getWowokIndustryDir,getWowokUserDataDir,getWowokWorkspaceDir,hexToBytes,isValidAddress,isValidEvmAddress,loadWip,local_info_operation,local_mark_operation,privateKeyToAddress,query_account,query_account_list,query_local_info,query_local_info_default,query_local_info_list,query_local_mark,query_local_mark_list,query_local_token_list,registerBridgeEvmNetworks,safeFilename,signEIP1559,signLegacy,sign_wip,toChecksumAddress,verifyWip,verify_wip,wip2html,wipToHtml,workspaceExportPath};
1
+ import{o as a81a}from'../../wow-types-DctQuD2J.mjs';import{o as a81b}from'../../exception-CSxqQRN7.mjs';import{i as a81c,s as a81d}from'../../common-BLQJxJvT.mjs';import{getWowDir,getWowMcpDir,getWowokDataDir,getWowokIndustryDir,getWowokUserDataDir,getWowokWorkspaceDir,safeFilename,workspaceExportPath}from'./util.mjs';import{i as a81e,n as a81f}from'../../storage-D1bEi2b7.mjs';import{Config}from'./config.mjs';import{BUITIN_IDS,LocalInfo,LocalInfoContentMaxCount,LocalInfoContentMaxLength,LocalInfoNameDefault,LocalInfoNameMaxLength,LocalMark,LocalMarkNameMaxLength,LocalMarkTagMaxCount,LocalMarkTagMaxLength,isValidAddress}from'./local.mjs';import{CryptoVault,SecureAccountStorage}from'./secure-storage.mjs';import{Account,DEFAULT_ACCOUNT_NAME,MAX_ACCOUNTS,MAX_MESSENGER_ACCOUNTS}from'./account.mjs';import{TokenInfo}from'./token.mjs';import{a as a81g,i as a81h,n as a81i,r as a81j,t as a81k}from'../../fund-approval-Dy-heIpQ.mjs';import{bytesToBigInt,bytesToHex,hexToBytes,isValidEvmAddress,privateKeyToAddress,signEIP1559,signLegacy,toChecksumAddress}from'./evm/rlp.mjs';import{ETH_MAINNET,EvmNetworkRegistry,registerBridgeEvmNetworks}from'./evm/networks.mjs';import{EvmAccount}from'./evm-account.mjs';import{DEFAULT_LIMITS,WIP,WipError,WipSizeError,WipValidationError,createWip,generate_wip,loadWip,sign_wip,verifyWip,verify_wip,wip2html,wipToHtml}from'./wip.mjs';const GetAccountOrMark_Address=async a=>{if(!a)return await Account['Instance']()['get_address'](void 0x0);const b=typeof a==='string'?a:a['name_or_address'];if(!b)return await Account['Instance']()['get_address'](void 0x0);if(b['toLowerCase']()==='0xaaa')return a81c;if(b['toLowerCase']()==='0xaab')return a81d;if(a81a(b))return b;if(typeof a==='object'&&a?.['local_mark_first']){const c=await LocalMark['Instance']()['get_address'](b);if(!c)return await Account['Instance']()['get_address'](b);return c;}else{const d=await Account['Instance']()['get_address'](b);if(!d)return await LocalMark['Instance']()['get_address'](b);return d;}},GetLocalNamesByAddresses=async a=>{const [b,c]=await Promise['all']([Account['Instance']()['get_many'](a),LocalMark['Instance']()['get_many'](a)]);return a['map']((d,e)=>({'account':b[e]?.['name'],'local_mark':c[e]?.['name'],'address':d}));},GetManyAccountOrMark_Address=async a=>{const b=[];for(let c=0x0;c<a['entities']['length'];++c){const d=await GetAccountOrMark_Address(a['entities'][c]);if(!d&&a['check_all_founded'])a81b('invalid\x20parameter','entity\x20'+a['entities'][c]?.['name_or_address']+'\x20is\x20not\x20a\x20valid\x20address,\x20account\x20or\x20mark');if(d)b['push'](d);}return b;},query_local_mark_list=async a=>{return await LocalMark['Instance']()['list'](a);},query_account_list=async a=>{return await Account['Instance']()['list'](a);},query_local_info_list=async a=>{return await LocalInfo['Instance']()['list'](a);},query_local_token_list=async(a,b)=>{return await TokenInfo['Instance']()['list'](a,b);},query_local_mark=async a=>{if(typeof a==='string')return await LocalMark['Instance']()['get'](a);else{if(Array['isArray'](a))return await LocalMark['Instance']()['get_many'](a);}},query_local_info=async(a=LocalInfoNameDefault)=>{if(typeof a==='string')return await LocalInfo['Instance']()['get'](a);else{if(Array['isArray'](a))return await LocalInfo['Instance']()['get_many'](a);}},query_local_info_default=async(a=LocalInfoNameDefault)=>{if(typeof a==='string')return await LocalInfo['Instance']()['get_default'](a);else{if(Array['isArray'](a))return(await LocalInfo['Instance']()['get_many'](a))['map'](b=>b?.['default']);}},query_account=async a=>{const b=await Account['Instance']()['get'](a['name_or_address']);if(!b)return{'name_or_address':a['name_or_address']};const c={'address':b['address'],'name_or_address':b['name']},d=a['token_type']??'0x2::wow::WOW';if(a?.['balance'])c['balance']=await Account['Instance']()['balance'](d,b['address'],a['network']);else{if(a?.['coin'])c['coin']=await Account['Instance']()['coin'](d,a['coin']['cursor'],a['coin']['limit'],b['address'],a['network']);}return c;},account_operation=async a=>{var b={};if(a['gen']!=null){const c=await Account['Instance']()['gen'](a['gen']?.['name'],a['gen']?.['replaceExistName'],a['gen']?.['messenger']);b['gen']={'address':c?.['address'],'name':c?.['name'],'messenger':c?.['messenger']};}if(a['faucet']!=null)b['faucet']={'name_or_address':a['faucet']['name_or_address'],'result':await Account['Instance']()['faucet'](a['faucet']['name_or_address'],a['faucet']['network']),'network':a['faucet']['network']};if(a['suspend']!=null)b['suspend']={'name_or_address':a['suspend']['name_or_address'],'success':await Account['Instance']()['suspend'](a['suspend']['name_or_address'])};if(a['resume']!=null)b['resume']={'address':a['resume']['address'],'name':a['resume']['name'],'success':await Account['Instance']()['resume'](a['resume']['address'],a['resume']['name'])};if(a['rename']!=null)b['rename']={'name_or_address':a['rename']['name_or_address'],'new_name':a['rename']['new_name'],'success':await Account['Instance']()['rename'](a['rename']['name_or_address'],a['rename']['new_name'])};if(a['swap_name']!=null)b['swap_name']={'name_or_address1':a['swap_name']['name_or_address1'],'name_or_address2':a['swap_name']['name_or_address2'],'success':await Account['Instance']()['swap_name'](a['swap_name']['name_or_address1'],a['swap_name']['name_or_address2'])};if(a['transfer']!=null){const {name_or_address_from:d,name_or_address_to:e,amount:f,token_type:g,network:h}=a['transfer'];b['transfer']=await Account['Instance']()['transfer'](f,g,e,d,h);}if(a['get']!=null){const {balance_required:i,token_type:j,name_or_address:k,network:l}=a['get'];b['get']={'name_or_address':k,'balance_required':i,'token_type':j,'network':l,'coin_address':await Account['Instance']()['coinObject_with_balance'](i,j,k,l)};}if(a['signData']!=null){const {name_or_address:m,data:n,data_encoding:o}=a['signData'];let p=n;if(typeof n==='string'&&o)switch(o){case'base64':p=Uint8Array['from'](Buffer['from'](n,'base64'));break;case'hex':p=Uint8Array['from'](Buffer['from'](n['replace'](/^0x/,''),'hex'));break;default:p=n;break;}const q=await Account['Instance']()['signData'](m,p);b['signData']={'name_or_address':m,'signature':q['signature'],'publicKey':q['publicKey'],'address':q['address']};}if(a['messenger']!=null){const {name_or_account:r,enabled:s}=a['messenger'];await Account['Instance']()['set_messenger'](r,s),b['messenger']={'name_or_account':r,'enabled':s};if(s)try{const {getMessengerManager:t}=await import('../messenger/messenger-api.mjs'),u=await Account['Instance']()['get_address'](r);u&&(await t()['ensureAccountReady'](u),b['messenger']['registered']=!![]);}catch(v){b['messenger']['registered']=![],b['messenger']['registerError']=v instanceof Error?v['message']:String(v);}}return b;},local_mark_operation=async a=>{const b={};if(a['clear'])b['clear']=await LocalMark['Instance']()['clear']();else{if(a['add'])b['add']=await LocalMark['Instance']()['put'](a['add']['data']);else{if(a['remove'])b['remove']=await LocalMark['Instance']()['del'](a['remove']['names']);}}return b;},local_info_operation=async a=>{if(a['clear'])await LocalInfo['Instance']()['clear']();else{if(a['add'])await LocalInfo['Instance']()['add'](a['add']['data']);else{if(a['remove'])await Promise['all'](a['remove']['data']['map'](b=>LocalInfo['Instance']()['del'](b)));else{if(a['reset'])await LocalInfo['Instance']()['reset_contents'](a['reset']['name'],a['reset']['contents']);}}}return{'success':!![]};},fetch_token_info_operation=async a=>{return await TokenInfo['Instance']()['fetch'](a['tokenType'],a?.['alias'],a?.['network']);};export{Account,BUITIN_IDS,Config,CryptoVault,DEFAULT_ACCOUNT_NAME,DEFAULT_LIMITS,ETH_MAINNET,EvmAccount,EvmNetworkRegistry,GetAccountOrMark_Address,GetLocalNamesByAddresses,GetManyAccountOrMark_Address,LocalInfo,LocalInfoContentMaxCount,LocalInfoContentMaxLength,LocalInfoNameDefault,LocalInfoNameMaxLength,LocalMark,LocalMarkNameMaxLength,LocalMarkTagMaxCount,LocalMarkTagMaxLength,MAX_ACCOUNTS,MAX_MESSENGER_ACCOUNTS,a81f as OwnedRecordStorage,a81e as SQLiteStorage,SecureAccountStorage,TokenInfo,WIP,WipError,WipSizeError,WipValidationError,account_operation,bytesToBigInt,bytesToHex,createWip,a81k as fetchFundApprovalTokenInfo,fetch_token_info_operation,generate_wip,a81i as getFundApprovalPolicy,a81j as getFundApprovalTokenCatalog,getWowDir,getWowMcpDir,getWowokDataDir,getWowokIndustryDir,getWowokUserDataDir,getWowokWorkspaceDir,hexToBytes,a81h as isFundApprovalExempt,isValidAddress,isValidEvmAddress,loadWip,local_info_operation,local_mark_operation,privateKeyToAddress,query_account,query_account_list,query_local_info,query_local_info_default,query_local_info_list,query_local_mark,query_local_mark_list,query_local_token_list,registerBridgeEvmNetworks,safeFilename,a81g as setFundApprovalPolicy,signEIP1559,signLegacy,sign_wip,toChecksumAddress,verifyWip,verify_wip,wip2html,wipToHtml,workspaceExportPath};