@wowok/wowok 2.7.7 → 2.7.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/Transaction-BlZi1w6F.mjs +1 -0
- package/dist/esm/arb-JMhHn5kY.mjs +1 -0
- package/dist/esm/base-o08Syk_8.mjs +1 -0
- package/dist/esm/bcs/index.d.mts +1 -1
- package/dist/esm/{cache-BMhtVd6c.d.mts → cache-D81EHaqu.d.mts} +5 -0
- package/dist/esm/call-CtePYECR.mjs +1 -0
- package/dist/esm/client/index.d.mts +1 -1
- package/dist/esm/client/index.mjs +1 -1
- package/dist/esm/client-oE69u-rK.mjs +1 -0
- package/dist/esm/{common-ofEOpNis.mjs → common-Guc0E9Tj.mjs} +1 -1
- package/dist/esm/cryptography/index.d.mts +1 -1
- package/dist/esm/exception-Xd2RFs2i.mjs +1 -0
- package/dist/esm/graphql/index.d.mts +1 -1
- package/dist/esm/graphql/index.mjs +1 -1
- package/dist/esm/{graphql-Ckcg8Cgh.mjs → graphql-DyX3W1VP.mjs} +1 -1
- package/dist/esm/grpc/index.d.mts +1 -1
- package/dist/esm/grpc/index.mjs +1 -1
- package/dist/esm/{grpc-Dwy62pUk.mjs → grpc-BfuVFCn4.mjs} +1 -1
- package/dist/esm/{index-DmWs3NAv.d.mts → index-DWq5l_Q3.d.mts} +2 -1
- package/dist/esm/{index-ByXPNYyQ.d.mts → index-OlNG95EF.d.mts} +461 -84
- package/dist/esm/{index-B-cxGU73.d.mts → index-o_aMVwsK.d.mts} +6 -6
- package/dist/esm/index.d.mts +5 -6
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/jsonRpc/index.d.mts +1 -1
- package/dist/esm/jsonRpc/index.mjs +1 -1
- package/dist/esm/keypairs/ed25519/index.d.mts +1 -1
- package/dist/esm/keypairs/falcon512/index.d.mts +1 -1
- package/dist/esm/keypairs/passkey/index.d.mts +1 -1
- package/dist/esm/keypairs/secp256k1/index.d.mts +1 -1
- package/dist/esm/keypairs/secp256r1/index.d.mts +1 -1
- package/dist/esm/{local-gzBIsXyJ.d.mts → local-CC1Zd3Pp.d.mts} +6 -4
- package/dist/esm/{messenger-BLZocqqg.mjs → messenger-B-CSCV8C.mjs} +1 -1
- package/dist/esm/{messenger-api-U3GALZ6d.mjs → messenger-api-DTnmFsT-.mjs} +1 -1
- package/dist/esm/multisig/index.d.mts +1 -1
- package/dist/esm/multisig/index.mjs +1 -1
- package/dist/esm/network-y8yMus5q.mjs +1 -1
- package/dist/esm/object-CJHJxXlc.mjs +1 -0
- package/dist/esm/passkey-hU0KN8tj.mjs +1 -1
- package/dist/esm/passport-B5g5Rv9_.mjs +1 -0
- package/dist/esm/proof-pOwly4FL.mjs +1 -0
- package/dist/esm/publickey-C1XTriFK.mjs +1 -1
- package/dist/esm/publickey-CO7mE1h4.mjs +1 -1
- package/dist/esm/publickey-CaeLjex_.mjs +1 -1
- package/dist/esm/publickey-CvsHmrwa.mjs +1 -1
- package/dist/esm/publickey-D1qNOZY_.mjs +1 -1
- package/dist/esm/publickey-DioRydm4.mjs +1 -1
- package/dist/esm/query-BDY4w7pA.mjs +1 -0
- package/dist/esm/{received--vCB9_Go.mjs → received-D0KPLcZ8.mjs} +1 -1
- package/dist/esm/secp256k1-DbTX5WTS.mjs +1 -1
- package/dist/esm/secp256r1-tIVPNUMT.mjs +1 -1
- package/dist/esm/service-Rz5iSVL2.mjs +1 -0
- package/dist/esm/storage-j7eJYpqQ.mjs +1 -0
- package/dist/esm/transactions/index.d.mts +1 -1
- package/dist/esm/transactions/index.mjs +1 -1
- package/dist/esm/{transactions-dZ1GjC4C.mjs → transactions-Cpkdf1BJ.mjs} +1 -1
- package/dist/esm/{util-D877nLGl.mjs → util-Bwj83MFX.mjs} +1 -1
- package/dist/esm/utils/index.d.mts +2 -2
- package/dist/esm/utils/index.mjs +1 -1
- package/dist/esm/utils-CoXIRMWK.mjs +1 -0
- package/dist/esm/verify/index.d.mts +1 -1
- package/dist/esm/w/call/allocation.d.mts +1 -1
- package/dist/esm/w/call/allocation.mjs +1 -1
- package/dist/esm/w/call/arbitration.d.mts +1 -1
- package/dist/esm/w/call/arbitration.mjs +1 -1
- package/dist/esm/w/call/base.d.mts +1 -1
- package/dist/esm/w/call/base.mjs +1 -1
- package/dist/esm/w/call/demand.d.mts +1 -1
- package/dist/esm/w/call/demand.mjs +1 -1
- package/dist/esm/w/call/guard.d.mts +1 -1
- package/dist/esm/w/call/guard.mjs +1 -1
- package/dist/esm/w/call/index.d.mts +2 -2
- package/dist/esm/w/call/index.mjs +1 -1
- package/dist/esm/w/call/machine.d.mts +1 -1
- package/dist/esm/w/call/machine.mjs +1 -1
- package/dist/esm/w/call/passport.d.mts +1 -1
- package/dist/esm/w/call/passport.mjs +1 -1
- package/dist/esm/w/call/payment.d.mts +2 -2
- package/dist/esm/w/call/payment.mjs +1 -1
- package/dist/esm/w/call/permission.d.mts +1 -1
- package/dist/esm/w/call/permission.mjs +1 -1
- package/dist/esm/w/call/progress.d.mts +1 -1
- package/dist/esm/w/call/progress.mjs +1 -1
- package/dist/esm/w/call/repository.d.mts +1 -1
- package/dist/esm/w/call/repository.mjs +1 -1
- package/dist/esm/w/call/reward.d.mts +1 -1
- package/dist/esm/w/call/reward.mjs +1 -1
- package/dist/esm/w/call/service.d.mts +1 -1
- package/dist/esm/w/call/service.mjs +1 -1
- package/dist/esm/w/call/treasury.d.mts +1 -1
- package/dist/esm/w/call/treasury.mjs +1 -1
- package/dist/esm/w/common.d.mts +2 -2
- package/dist/esm/w/common.mjs +1 -1
- package/dist/esm/w/index.d.mts +3 -4
- package/dist/esm/w/index.mjs +1 -1
- package/dist/esm/w/local/account.d.mts +2 -2
- package/dist/esm/w/local/account.mjs +1 -1
- package/dist/esm/w/local/cache.d.mts +1 -1
- package/dist/esm/w/local/cache.mjs +1 -1
- package/dist/esm/w/local/config.mjs +1 -1
- package/dist/esm/w/local/evm/networks.mjs +1 -1
- package/dist/esm/w/local/evm-account.mjs +1 -1
- package/dist/esm/w/local/index.d.mts +3 -4
- package/dist/esm/w/local/index.mjs +1 -1
- package/dist/esm/w/local/local.d.mts +1 -1
- package/dist/esm/w/local/local.mjs +1 -1
- package/dist/esm/w/local/secure-storage.mjs +1 -1
- package/dist/esm/w/local/storage.mjs +1 -1
- package/dist/esm/w/local/token.d.mts +1 -1
- package/dist/esm/w/local/token.mjs +1 -1
- package/dist/esm/w/local/util.mjs +1 -1
- package/dist/esm/w/local/wip.mjs +1 -1
- package/dist/esm/w/messenger/index.d.mts +1 -1
- package/dist/esm/w/messenger/index.mjs +1 -1
- package/dist/esm/w/messenger/messenger-api.d.mts +1 -1
- package/dist/esm/w/messenger/messenger-api.mjs +1 -1
- package/dist/esm/w/messenger/messenger.d.mts +1 -1
- package/dist/esm/w/messenger/messenger.mjs +1 -1
- package/dist/esm/w/messenger/pq/crypto.mjs +1 -1
- package/dist/esm/w/messenger/reply.d.mts +1 -1
- package/dist/esm/w/messenger/storage.d.mts +1 -1
- package/dist/esm/w/messenger/storage.mjs +1 -1
- package/dist/esm/w/messenger/types.d.mts +1 -1
- package/dist/esm/w/query/index.d.mts +2 -2
- package/dist/esm/w/query/index.mjs +1 -1
- package/dist/esm/w/query/object.d.mts +2 -2
- package/dist/esm/w/query/object.mjs +1 -1
- package/dist/esm/w-CRLsrxnb.mjs +1 -0
- package/package.json +1 -4
- package/dist/esm/Transaction-DcFD1-9u.mjs +0 -1
- package/dist/esm/arb-O5dC5NyR.mjs +0 -1
- package/dist/esm/base-DAh1eDOw.mjs +0 -1
- package/dist/esm/call-BhTcKYCd.mjs +0 -1
- package/dist/esm/client-Cn7jc7Xf.mjs +0 -1
- package/dist/esm/exception-C6IYkBi6.mjs +0 -1
- package/dist/esm/lock-QdrQzo0u.mjs +0 -1
- package/dist/esm/object-CuC7vjpw.mjs +0 -1
- package/dist/esm/passport-Z-HwuwHV.mjs +0 -1
- package/dist/esm/project-B3Z3z_Z_.d.mts +0 -246
- package/dist/esm/proof-DxWRz1Ji.mjs +0 -1
- package/dist/esm/query-BOTRwnYe.mjs +0 -1
- package/dist/esm/service-5AFQS7-D.mjs +0 -1
- package/dist/esm/utils-CpS-PwC-.mjs +0 -1
- package/dist/esm/w/local/project.d.mts +0 -2
- package/dist/esm/w/local/project.mjs +0 -1
- package/dist/esm/w-C8-9OGcr.mjs +0 -1
package/dist/esm/w/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as a75a,r as a75b,t as a75c}from'../network-y8yMus5q.mjs';import{$ as a75d,A as a75e,B as a75f,C as a75g,Ct as a75h,D as a75i,Dt as a75j,E as a75k,Et as a75l,F as a75m,G as a75n,H as a75o,I as a75p,J as a75q,K as a75r,L as a75s,M as a75t,N as a75u,O as a75v,P as a75w,Q as a75x,R as a75y,S as a75z,St as a75A,T as a75B,Tt as a75C,U as a75D,V as a75E,W as a75F,X as a75G,Y as a75H,Z as a75I,_ as a75J,_t as a75K,a as a75L,at as a75M,b as a75N,bt as a75O,c as a75P,ct as a75Q,d as a75R,dt as a75S,et as a75T,f as a75U,ft as a75V,g as a75W,gt as a75X,h as a75Y,ht as a75Z,i as a75a0,it as a75a1,j as a75a2,k as a75a3,l as a75a4,lt as a75a5,m as a75a6,mt as a75a7,n as a75a8,nt as a75a9,o as a75aa,ot as a75ab,p as a75ac,pt as a75ad,q as a75ae,r as a75af,rt as a75ag,s as a75ah,st as a75ai,t as a75aj,tt as a75ak,u as a75al,ut as a75am,v as a75an,vt as a75ao,w as a75ap,wt as a75aq,x as a75ar,xt as a75as,y as a75at,yt as a75au,z as a75av}from'../common-ofEOpNis.mjs';import{a as a75aw,c as a75ax,d as a75ay,f as a75az,i as a75aA,l as a75aB,n as a75aC,o as a75aD,p as a75aE,r as a75aF,s as a75aG,t as a75aH,u as a75aI}from'../exception-C6IYkBi6.mjs';import{getWowDir,getWowMcpDir,getWowokDataDir,getWowokIndustryDir,getWowokUserDataDir,getWowokWorkspaceDir,safeFilename,workspaceExportPath}from'./local/util.mjs';import{SQLiteStorage,UserModeStorage}from'./local/storage.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 a75aJ,i as a75aK,n as a75aL,o as a75aM,r as a75aN,t as a75aO}from'../logger-Cs5Mf7Mf.mjs';import{CryptoVault,SecureAccountStorage}from'./local/secure-storage.mjs';import{Account,DEFAULT_ACCOUNT_NAME,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{LocalProject}from'./local/project.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 a75aP,A as a75aQ,B as a75aR,C as a75aS,D as a75aT,E as a75aU,F as a75aV,G as a75aW,H as a75aX,I as a75aY,J as a75aZ,K as a75b0,L as a75b1,M as a75b2,N as a75b3,O as a75b4,P as a75b5,Q as a75b6,R as a75b7,S as a75b8,T as a75b9,U as a75ba,V as a75bb,W as a75bc,X as a75bd,Y as a75be,Z as a75bf,_ as a75bg,_t as a75bh,a as a75bi,at as a75bj,b as a75bk,c as a75bl,d as a75bm,dt as a75bn,et as a75bo,f as a75bp,ft as a75bq,g as a75br,gt as a75bs,h as a75bt,ht as a75bu,i as a75bv,it as a75bw,j as a75bx,k as a75by,l as a75bz,lt as a75bA,m as a75bB,mt as a75bC,n as a75bD,nt as a75bE,o as a75bF,ot as a75bG,p as a75bH,pt as a75bI,q as a75bJ,r as a75bK,rt as a75bL,s as a75bM,t as a75bN,tt as a75bO,u as a75bP,ut as a75bQ,v as a75bR,vt as a75bS,w as a75bT,x as a75bU,y as a75bV,yt as a75bW,z as a75bX}from'../object-CuC7vjpw.mjs';import{t as a75bY}from'../received--vCB9_Go.mjs';import{$ as a75bZ,A as a75c0,B as a75c1,C as a75c2,Ct as a75c3,D as a75c4,E as a75c5,F as a75c6,G as a75c7,H as a75c8,I as a75c9,J as a75ca,K as a75cb,L as a75cc,M as a75cd,N as a75ce,O as a75cf,P as a75cg,Q as a75ch,R as a75ci,S as a75cj,St as a75ck,T as a75cl,U as a75cm,V as a75cn,W as a75co,X as a75cp,Y as a75cq,Z as a75cr,_ as a75cs,_t as a75ct,at as a75cu,b as a75cv,bt as a75cw,ct as a75cx,d as a75cy,dt as a75cz,et as a75cA,f as a75cB,ft as a75cC,g as a75cD,gt as a75cE,h as a75cF,ht as a75cG,it as a75cH,j as a75cI,k as a75cJ,lt as a75cK,m as a75cL,mt as a75cM,nt as a75cN,ot as a75cO,p as a75cP,pt as a75cQ,q as a75cR,rt as a75cS,st as a75cT,tt as a75cU,ut as a75cV,v as a75cW,vt as a75cX,w as a75cY,wt as a75cZ,x as a75d0,xt as a75d1,y as a75d2,yt as a75d3,z as a75d4}from'../passport-Z-HwuwHV.mjs';import{i as a75d5,n as a75d6,r as a75d7,t as a75d8}from'../base-DAh1eDOw.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 a75d9,t as a75da}from'../util-D877nLGl.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 a75db,t as a75dc}from'../service-5AFQS7-D.mjs';import{CallReward,transformRewardInput}from'./call/reward.mjs';import{CallRepository}from'./call/repository.mjs';import{CallTreasury}from'./call/treasury.mjs';import{n as a75dd,r as a75de,t as a75df}from'../call-BhTcKYCd.mjs';import{n as a75dg,t as a75dh}from'../proof-DxWRz1Ji.mjs';import{A as a75di,C as a75dj,D as a75dk,E as a75dl,M as a75dm,O as a75dn,S as a75do,T as a75dp,_ as a75dq,a as a75dr,b as a75ds,c as a75dt,d as a75du,f as a75dv,g as a75dw,h as a75dx,i as a75dy,j as a75dz,k as a75dA,l as a75dB,m as a75dC,n as a75dD,o as a75dE,p as a75dF,r as a75dG,s as a75dH,t as a75dI,u as a75dJ,v as a75dK,w as a75dL,x as a75dM,y as a75dN}from'../query-BOTRwnYe.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 a75dO}from'../messenger-BLZocqqg.mjs';import{_ as a75dP,a as a75dQ,b as a75dR,c as a75dS,d as a75dT,f as a75dU,g as a75dV,h as a75dW,i as a75dX,l as a75dY,m as a75dZ,n as a75e0,o as a75e1,p as a75e2,r as a75e3,s as a75e4,t as a75e5,u as a75e6,v as a75e7,y as a75e8}from'../messenger-api-U3GALZ6d.mjs';import{A as a75e9,B as a75ea,C as a75eb,D as a75ec,E as a75ed,F as a75ee,I as a75ef,L as a75eg,M as a75eh,N as a75ei,O as a75ej,P as a75ek,R as a75el,S as a75em,T as a75en,V as a75eo,_ as a75ep,a as a75eq,b as a75er,c as a75es,d as a75et,f as a75eu,g as a75ev,h as a75ew,i as a75ex,j as a75ey,k as a75ez,l as a75eA,m as a75eB,n as a75eC,o as a75eD,p as a75eE,r as a75eF,s as a75eG,t as a75eH,u as a75eI,v as a75eJ,w as a75eK,x as a75eL,y as a75eM,z as a75eN}from'../w-C8-9OGcr.mjs';export{Account,a75bN as AllocationMode,a75bD as AmountType,a75bK as ArbStatus,a75cy as BRIDGE_CURRENT_VERSION,a75cB as BRIDGE_EVM_ADDRESS_LENGTH,a75cP as BRIDGE_MESSAGE_VERSION,a75eF as BRIDGE_STEP_DESCRIPTIONS,a75cL as BRIDGE_TRANSFER_STATUS_APPROVED,a75cF as BRIDGE_TRANSFER_STATUS_CLAIMED,a75cD as BRIDGE_TRANSFER_STATUS_NOT_FOUND,a75cs as BRIDGE_TRANSFER_STATUS_PENDING,BUITIN_IDS,a75dj as BridgeChainId,a75eH as BridgeClient,a75dL as BridgeErrorCode,a75eC as BridgeNodeClient,a75dp as BridgeTokenId,a75ex as BridgeTransferDirection,a75eq as BridgeTransferStatus,a75eD as BridgeTransferStep,a75dl as BridgeVersion,BuiltinPermissionIndex,a75dt as COMMON_MISTAKES,CallAllocation,CallArbitration,a75d8 as CallBase,a75df as CallContact,CallDemand,CallGuard,CallMachine,a75db as CallOrder,CallPayment,CallPermission,a75dd as CallPersonal,CallProgress,a75dh as CallProof,CallRepository,CallReward,a75dc as CallService,CallTreasury,a75aj as CoinWrapPrefix,Config,a75a8 as ContextType,CryptoVault,DEFAULT_ACCOUNT_NAME,DEFAULT_LIMITS,a75cW as DEFAULT_LOCK_DURATION,DEFAULT_MESSENGER_CONFIG,DEFAULT_QUERY_LIMIT,a75d2 as DISCOUNT_TYPE_MINUS,a75cv as DISCOUNT_TYPE_RATES,a75bv as DiscountType,a75af as ENTITY_CONTACT_ADDRESS,a75a0 as ENTITY_LINKER_ADDRESS,a75L as ENTITY_PERMISSION_ADDRESS,a75aa as ENTITY_REGISTRAR_ADDRESS,a75c as ENTRYPOINT,a75e9 as ERC20_TRANSFER_TOPIC,ETH_MAINNET,a75ah as EntityAddress,EvmAccount,EvmNetworkRegistry,a75dB as FUNDING_GUIDANCE,a75bL as GUARDINSTRUCT,a75bw as GUARDQUERY,a75P as GasCoinType,a75a4 as GasTokenType,GetAccountOrMark_Address,GetLocalNamesByAddresses,GetManyAccountOrMark_Address,a75al as GetObject,a75R as GetObjectDescription,a75U as GetObjectExisted,a75dJ as INFO_CONSTANT,a75bi as IdFrom,a75ac as IsBcsStringLength,a75a6 as IsValidArgType,a75Y as IsValidBalance,a75W as IsValidEndpoint,LocalInfo,LocalInfoContentMaxCount,LocalInfoContentMaxLength,LocalInfoNameDefault,LocalInfoNameMaxLength,LocalMark,LocalMarkNameMaxLength,LocalMarkTagMaxCount,LocalMarkTagMaxLength,LocalProject,a75aO as LogLevel,a75aL as Logger,a75dC as MAINNET_BRIDGE_CONFIG,a75dx as MAINNET_COMMITTEE_MEMBER_ADDRESSES,a75dw as MAINNET_COMMITTEE_PUBKEYS,a75dq as MAINNET_COMMITTEE_WEIGHTS,a75d0 as MAX_ADDRESS_COUNT,a75cj as MAX_ADMIN_COUNT,a75c2 as MAX_AGENT_COUNT,a75cY as MAX_ALLOCATOR_COUNT,a75cl as MAX_ARBITRATION_COUNT,a75c5 as MAX_CONSENSUS_REPOSITORIES_COUNT,a75c4 as MAX_CONTEXT_REPOSITORY_COUNT,a75cf as MAX_DATA_SIZE,a75J as MAX_DEPENDED_COUNT,a75an as MAX_DESCRIPTION_LENGTH,a75cJ as MAX_DISCOUNT_COUNT_ONCE,a75c0 as MAX_DISCOUNT_RECEIVER_ONCE,a75cI as MAX_DISCOUNT_TOTAL_COUNT,a75cd as MAX_DISPUTE_COUNT,a75ce as MAX_ENTITY_COUNT,a75at as MAX_ENV_PERMISSION_GUARD_COUNT,a75cg as MAX_EXTERNAL_DEPOSIT_GUARD_COUNT,a75c6 as MAX_EXTERNAL_WITHDRAW_GUARD_COUNT,a75c9 as MAX_FORWARD_COUNT,a75cc as MAX_FORWARD_ORDER_COUNT,a75ci as MAX_GUARD_COUNT_DEMAND,a75d4 as MAX_GUARD_COUNT_PASSPORT,a75c1 as MAX_GUARD_COUNT_REWARD,a75N as MAX_GUARD_TABLE_ITEM_LENGTH,a75cn as MAX_ID_COUNT_ONCE,a75c8 as MAX_IM_COUNT,a75ar as MAX_INPUT_SIZE,a75cm as MAX_ITEM_COUNT,a75z as MAX_LONG_NAME_LENGTH,MAX_MESSENGER_ACCOUNTS,a75g as MAX_MULTI_OPERANDS,a75co as MAX_NAMED_OPERATOR_ADDRESS_COUNT,a75c7 as MAX_NAMED_OPERATOR_COUNT,a75ap as MAX_NAME_LENGTH,a75cb as MAX_NODE_COUNT,a75cR as MAX_NODE_COUNT_ONCHAIN,a75ca as MAX_NODE_PAIR_COUNT,a75bF as MAX_OBJECTS_PER_QUERY,a75B as MAX_PERMISSION_GUARD_COUNT,a75cq as MAX_PERM_FOR_ENTITY,a75cp as MAX_POLICY_COUNT,a75cr as MAX_POLICY_DESCRIPTION_LEN,a75ch as MAX_POLICY_GUARD_COUNT,a75bZ as MAX_PROOF_SIZE,a75cA as MAX_PROPOSITION_COUNT,MAX_QUERY_LIMIT,a75cU as MAX_RECIPIENT_COUNT,a75cN as MAX_RECORD_COUNT_REGISTRAR,a75cS as MAX_RECORD_COUNT_REWARD,a75cH as MAX_RECORD_LENGTH,a75cu as MAX_REPOSITORY_COUNT,a75cO as MAX_REQUIRED_INFO_SIZE,a75cT as MAX_REWARD_COUNT,a75cx as MAX_SALE_COUNT,a75cK as MAX_SERVER_PUBKEY_SIZE,a75cV as MAX_SERVER_SIGNATURE_SIZE,a75cz as MAX_SHARING_COUNT,a75cC as MAX_SUBMISSION_SIZE_PASSPORT,a75k as MAX_TABLE_SIZE,a75cQ as MAX_TAGS_COUNT,a75cM as MAX_VOTING_GUARD_COUNT,a75cG as MAX_VOTOR_COUNT,a75cE as MAX_WIP_HASH_LENGTH,a75ct as MAX_WIP_LENGTH,MessageDirection,MessageStatus,MessageType,a75dO as Messenger,MessengerError,MessengerErrorCode,a75dR as MessengerManager,a75i as Modules,a75aH as MoveErrors,NORMAL_MESSAGE_BYTES_LIMIT,a75v as OBJECT_LINKER_CORE_ADDRESS,a75a3 as OBJECT_LINKER_TX_ADDRESS,a75bM as OBJECT_TYPE_DEFINITIONS,a75cX as ONCHAIN_CONSTANTS,a75e as ObjectType,a75a2 as OperatorType,a75t as PackageAddress,a75d3 as ROLE_ADMIN,a75cw as ROLE_ENTITY,a75d1 as ROLE_OWNER,a75u as RecipientType,a75w as RegistrarAddress,a75d6 as ResponseData,SQLiteStorage,SecureAccountStorage,a75ey as TOKENS_CLAIMED_TOPIC,a75eh as TOKENS_DEPOSITED_TOPIC,a75ei as TOKENS_DEPOSITED_V2_TOPIC,TokenInfo,a75dk as TransferStatus,a75bl as TreasuryOp,a75ck as USER_DEFINED_PERM_INDEX_START,UserModeStorage,a75m as ValueType,a75aC as WErrors,a75aF as WException,WIP,a75c3 as WITHDRAW_DURATION_TIME,a75cZ as WOWOK_WTS_PROOF_TYPE,WTS_FILE_BYTES_LIMIT,WTS_MAX_MESSAGE_COUNT,a75aA as WValidate,a75aw as W_ENSURE,a75aD as W_ERROR,a75aG as W_FAILURE,a75ax as W_SAFE,a75aB as W_SUCCESS,a75aI as W_VALIDATE_PARAM,WipError,WipSizeError,WipValidationError,a75bz as WitnessSourceType,a75bP as WitnessTargetType,a75p as WitnessType,a75eM as WowClaimStatus,account_operation,a75s as arbitrationFn,a75bA as bcsBytesToValue,a75e5 as blacklist,a75eb as buildClaimMessage,bytesToBigInt,bytesToHex,a75aP as checkType,a75eK as claimOnEth,a75en as claimOnEthBySeq,a75er as claimOnWow,a75y as contactFn,a75aN as createSensitiveLogger,a75av as createValueContainer,createWip,a75bm as data2object,a75f as demandFn,a75ec as depositErc20,a75ej as depositEth,a75ez as depositFromEth,a75em as depositFromWow,a75ek as encodeApprove,a75ee as encodeBridgeERC20,a75ef as encodeBridgeERC20V2,a75eg as encodeBridgeETH,a75el as encodeBridgeETHV2,a75eN as encodeIsTransferProcessed,a75ea as encodeTokenTransferPayloadV2,a75eo as encodeTransferBridgedTokensWithSignatures,a75ay as enrichMoveError,a75bQ as extractCoinType,a75e0 as extractZipFromPlaintext,a75e3 as extract_zip_messages,fetch_token_info_operation,a75bj as filterGuardInstruct,a75dK as findEvmChainConfig,a75dN as findEvmChainConfigByBridgeChainId,a75ds as findToken,a75dM as findTokenBySymbol,formatGuardParseErrors,a75dX as friendslist,gen_passport,a75dg as gen_proof,generateNodeComments,generate_wip,a75dQ as generate_wts,a75bo as getCallEnvAccount,a75d7 as getCoinParam,a75a as getFullnodeUrl,a75b as getGraphqlUrl,a75bG as getGuardQueryInfo,a75aK as getLogLevel,a75e1 as getMessengerManager,a75az as getMoveErrorDescription,a75bp as getMoveNameFromNumber,a75bH as getMoveNameFromObjectType,a75bB as getNumberFromMoveName,a75bt as getNumberFromObjectType,a75br as getNumbersFromObjectTypes,a75bg as getObjectTypeDefinition,a75bR as getObjectTypeDefinitionFromNumber,a75bV as getObjectTypeFromMoveName,a75bk as getObjectTypeFromNumber,a75bU as getObjectTypesFromNumbers,getWowDir,getWowMcpDir,getWowokDataDir,getWowokIndustryDir,getWowokUserDataDir,getWowokWorkspaceDir,guard2file,a75e4 as guardlist,hexToBytes,a75b8 as idFromToString,isBizPermIndex,a75d5 as isCallResultSubmission,a75dn as isEvmChain,a75ed as isEvmNonceAlreadyProcessed,a75E as isGasTokenType,a75o as isThisPackage,isValidAddress,a75D as isValidArray,a75F as isValidDescription,isValidEvmAddress,a75n as isValidHttpUrl,a75aS as isValidIdFromInput,a75r as isValidLongName,a75ae as isValidName,a75q as isValidU128,a75H as isValidU16,a75G as isValidU256,a75I as isValidU32,a75x as isValidU64,a75d as isValidU8,a75bn as isValidValueContainer,a75T as isValidValueType,a75ak as isValidValueTypeInput,a75a9 as isValidWitnessTypeInput,a75ag as isValueTypeNumber,a75aE as isWException,a75a1 as isWitnessType,a75dA as isWowChain,loadWip,local_info_operation,local_mark_operation,a75aJ as logger,a75M as machineFn,machineNode2file,a75eG as makeBridgeTransferState,a75dS as mark_conversation_as_viewed,a75dY as mark_messages_as_viewed,a75bT as numberToObjectType,a75b9 as objectTypeFromAddress,a75aU as objectTypeToNumber,a75ab as object_module_and_name_from_type,a75ai as object_name_from_type,a75bq as owner_receive,a75es as parseEthClaimEvent,a75eA as parseEthDepositEvent,parseGuardFile,parseGuardFromMarkdown,a75aT as parseIdFrom,a75bI as parseObjectType,a75bC as parseRecipient,a75bu as parseTypeParameter,a75Q as parseValueType,a75a5 as parseWitnessType,a75bs as permission_set,privateKeyToAddress,a75e6 as proof_message,a75dT as pull_messages,a75eI as queryErc20Balance,a75et as queryEthBalance,a75eu as queryEthTxConfirmations,a75eE as queryEthTxReceipt,a75eB as queryEvmToWowTransferStatus,a75da as queryObjectWithType,a75d9 as queryObjectsWithType,a75du as queryPermissions,a75dv as queryProtocolInfo,a75b4 as queryTableItem_AddressMark,a75by as queryTableItem_DemandPresenter,a75aQ as queryTableItem_EntityContact,a75bx as queryTableItem_EntityLinker,a75b2 as queryTableItem_EntityRegistrar,a75b3 as queryTableItem_MachineNode,a75b5 as queryTableItem_ObjectLinkerCore,a75aV as queryTableItem_ObjectLinkerTx,a75aY as queryTableItem_PermissionPerm,a75b1 as queryTableItem_ProgressHistory,a75b7 as queryTableItem_RepositoryData,a75bX as queryTableItem_RewardRecord,a75aR as queryTableItem_TreasuryHistory,a75eL as queryWowClaimStatus,a75ew as queryWowToEvmTransferStatus,a75ev as queryWowTx,query_account,query_account_list,a75dI as query_address_activity,a75dD as query_address_activity_json,a75bb as query_arbs,a75dF as query_common_mistakes,a75aX as query_demands,a75di as query_events,a75dz 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,a75dG as query_object_history,a75dy as query_object_history_json,a75dr as query_object_last_updated,a75ba as query_objects,a75bc as query_objects_json,a75aW as query_personal,a75bY as query_received,a75dm as query_serviceContext,a75b0 as query_services,a75bJ as query_shared_objects,a75aZ as query_shared_objects_json,a75be as query_table,a75bd as query_tableItem,a75bf as query_table_json,a75dE as query_transaction,a75dH as query_transaction_json,a75b6 as raw2type,registerBridgeEvmNetworks,a75am as repositoryFn,a75bO as resolveCallEnv,a75bE as restoreNodeFromOutput,a75S as rewardFn,safeFilename,a75dU as send_file,a75e2 as send_message,a75V as serviceFn,a75aM as setLogLevel,a75dZ as settings,signEIP1559,signLegacy,sign_wip,a75dW as sign_wts,toChecksumAddress,a75ad as toTxAddress,a75a7 as toTxAddressVec,a75Z as toTxObject,a75X as toTxReceivingObject,a75K as toTxString,a75ao as toTxU128,a75au as toTxU16,a75O as toTxU16Vec,a75as as toTxU256,a75A as toTxU32,a75h as toTxU64,a75aq as toTxU8,a75de as transformPersonalInput,transformRewardInput,a75C as treasuryFn,a75bh as uint2address,a75bS as validObjects,validateGuardData,validateGuardNode,a75bW as valueToBcsBytes,a75l as valueTypeToString,a75do as verifyCommitteeConsistency,verifyWip,verify_wip,a75dV as verify_wts,a75ep as waitForEthTx,a75eJ as waitForWowTx,a75dP as watch_conversations,a75e7 as watch_messages,wip2html,wipToHtml,a75j as witnessTypeToString,workspaceExportPath,a75e8 as wts2html};
|
|
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-Guc0E9Tj.mjs';import{getWowDir,getWowMcpDir,getWowokDataDir,getWowokIndustryDir,getWowokUserDataDir,getWowokWorkspaceDir,safeFilename,workspaceExportPath}from'./local/util.mjs';import{i as a75aK,r as a75aL}from'../storage-j7eJYpqQ.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,E as a75aY,Et as a75aZ,F as a75b0,G as a75b1,H as a75b2,I as a75b3,J as a75b4,K as a75b5,L as a75b6,M as a75b7,N as a75b8,O as a75b9,P as a75ba,Q as a75bb,R as a75bc,S as a75bd,St as a75be,T as a75bf,Tt as a75bg,U as a75bh,V as a75bi,W as a75bj,X as a75bk,Y as a75bl,Z as a75bm,_ as a75bn,_t as a75bo,a as a75bp,at as a75bq,b as a75br,bt as a75bs,c as a75bt,ct as a75bu,d as a75bv,dt as a75bw,et as a75bx,f as a75by,ft as a75bz,g as a75bA,gt as a75bB,h as a75bC,i as a75bD,it as a75bE,j as a75bF,k as a75bG,l as a75bH,lt as a75bI,m as a75bJ,n as a75bK,nt as a75bL,o as a75bM,ot as a75bN,p as a75bO,pt as a75bP,q as a75bQ,r as a75bR,rt as a75bS,s as a75bT,st as a75bU,t as a75bV,tt as a75bW,u as a75bX,ut as a75bY,v as a75bZ,vt as a75c0,w as a75c1,wt as a75c2,x as a75c3,xt as a75c4,y as a75c5,yt as a75c6,z as a75c7}from'../object-CJHJxXlc.mjs';import{t as a75c8}from'../received-D0KPLcZ8.mjs';import{$ as a75c9,A as a75ca,B as a75cb,C as a75cc,Ct as a75cd,D as a75ce,Dt as a75cf,E as a75cg,Et as a75ch,F as a75ci,G as a75cj,H as a75ck,I as a75cl,J as a75cm,K as a75cn,L as a75co,M as a75cp,N as a75cq,O as a75cr,P as a75cs,Q as a75ct,R as a75cu,S as a75cv,St as a75cw,T as a75cx,Tt as a75cy,U as a75cz,V as a75cA,W as a75cB,X as a75cC,Y as a75cD,Z as a75cE,_ as a75cF,_t as a75cG,at as a75cH,b as a75cI,bt as a75cJ,ct as a75cK,d as a75cL,dt as a75cM,et as a75cN,f as a75cO,ft as a75cP,g as a75cQ,gt as a75cR,h as a75cS,ht as a75cT,it as a75cU,j as a75cV,k as a75cW,lt as a75cX,m as a75cY,mt as a75cZ,nt as a75d0,ot as a75d1,p as a75d2,pt as a75d3,q as a75d4,rt as a75d5,st as a75d6,tt as a75d7,ut as a75d8,v as a75d9,vt as a75da,w as a75db,wt as a75dc,x as a75dd,xt as a75de,y as a75df,yt as a75dg,z as a75dh}from'../passport-B5g5Rv9_.mjs';import{i as a75di,n as a75dj,r as a75dk,t as a75dl}from'../base-o08Syk_8.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 a75dm,t as a75dn}from'../util-Bwj83MFX.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 a75do,t as a75dp}from'../service-Rz5iSVL2.mjs';import{CallReward,transformRewardInput}from'./call/reward.mjs';import{CallRepository}from'./call/repository.mjs';import{CallTreasury}from'./call/treasury.mjs';import{n as a75dq,r as a75dr,t as a75ds}from'../call-CtePYECR.mjs';import{n as a75dt,t as a75du}from'../proof-pOwly4FL.mjs';import{A as a75dv,C as a75dw,D as a75dx,E as a75dy,F as a75dz,I as a75dA,M as a75dB,N as a75dC,O as a75dD,P as a75dE,S as a75dF,T as a75dG,_ as a75dH,a as a75dI,b as a75dJ,c as a75dK,d as a75dL,f as a75dM,g as a75dN,h as a75dO,i as a75dP,j as a75dQ,k as a75dR,l as a75dS,m as a75dT,n as a75dU,o as a75dV,p as a75dW,r as a75dX,s as a75dY,t as a75dZ,u as a75e0,v as a75e1,w as a75e2,x as a75e3,y as a75e4}from'../query-BDY4w7pA.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 a75e5}from'../messenger-B-CSCV8C.mjs';import{_ as a75e6,a as a75e7,b as a75e8,c as a75e9,d as a75ea,f as a75eb,g as a75ec,h as a75ed,i as a75ee,l as a75ef,m as a75eg,n as a75eh,o as a75ei,p as a75ej,r as a75ek,s as a75el,t as a75em,u as a75en,v as a75eo,y as a75ep}from'../messenger-api-DTnmFsT-.mjs';import{A as a75eq,B as a75er,C as a75es,D as a75et,E as a75eu,F as a75ev,I as a75ew,L as a75ex,M as a75ey,N as a75ez,O as a75eA,P as a75eB,R as a75eC,S as a75eD,T as a75eE,V as a75eF,_ as a75eG,a as a75eH,b as a75eI,c as a75eJ,d as a75eK,f as a75eL,g as a75eM,h as a75eN,i as a75eO,j as a75eP,k as a75eQ,l as a75eR,m as a75eS,n as a75eT,o as a75eU,p as a75eV,r as a75eW,s as a75eX,t as a75eY,u as a75eZ,v as a75f0,w as a75f1,x as a75f2,y as a75f3,z as a75f4}from'../w-CRLsrxnb.mjs';export{a75dE as AFFILIATION_TABLES_BY_TYPE,a75dz as AFFILIATION_TABLE_META,Account,a75bV as AllocationMode,a75bK as AmountType,a75bR as ArbStatus,a75cL as BRIDGE_CURRENT_VERSION,a75cO as BRIDGE_EVM_ADDRESS_LENGTH,a75d2 as BRIDGE_MESSAGE_VERSION,a75eW as BRIDGE_STEP_DESCRIPTIONS,a75cY as BRIDGE_TRANSFER_STATUS_APPROVED,a75cS as BRIDGE_TRANSFER_STATUS_CLAIMED,a75cQ as BRIDGE_TRANSFER_STATUS_NOT_FOUND,a75cF as BRIDGE_TRANSFER_STATUS_PENDING,BUITIN_IDS,a75dw as BridgeChainId,a75eY as BridgeClient,a75e2 as BridgeErrorCode,a75eT as BridgeNodeClient,a75dG as BridgeTokenId,a75eO as BridgeTransferDirection,a75eH as BridgeTransferStatus,a75eU as BridgeTransferStep,a75dy as BridgeVersion,BuiltinPermissionIndex,a75dK as COMMON_MISTAKES,CallAllocation,CallArbitration,a75dl as CallBase,a75ds as CallContact,CallDemand,CallGuard,CallMachine,a75do as CallOrder,CallPayment,CallPermission,a75dq as CallPersonal,CallProgress,a75du as CallProof,CallRepository,CallReward,a75dp as CallService,CallTreasury,a75ax as CoinWrapPrefix,Config,a75am as ContextType,CryptoVault,DEFAULT_ACCOUNT_NAME,DEFAULT_LIMITS,a75d9 as DEFAULT_LOCK_DURATION,DEFAULT_MESSENGER_CONFIG,DEFAULT_QUERY_LIMIT,a75df as DISCOUNT_TYPE_MINUS,a75cI as DISCOUNT_TYPE_RATES,a75bD as DiscountType,a75at as ENTITY_CONTACT_ADDRESS,a75ae as ENTITY_LINKER_ADDRESS,a75Z as ENTITY_ORDER_ADDRESS,a75bp as ENTITY_ORDER_ROLE_AGENT,a75bM as ENTITY_ORDER_ROLE_OWNER,a75ao as ENTITY_PERMISSION_ADDRESS,a75av as ENTITY_REGISTRAR_ADDRESS,a75p as ENTRYPOINT,a75eq as ERC20_TRANSFER_TOPIC,ETH_MAINNET,a75a3 as EntityAddress,EvmAccount,EvmNetworkRegistry,a75dS as FUNDING_GUIDANCE,a75bY as GUARDINSTRUCT,a75bw as GUARDQUERY,a75ai as GasCoinType,a75az as GasTokenType,GetAccountOrMark_Address,GetLocalNamesByAddresses,GetManyAccountOrMark_Address,a75a5 as GetObject,a75a8 as GetObjectDescription,a75aq as GetObjectExisted,a75e0 as INFO_CONSTANT,a75bT 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,a75dT as MAINNET_BRIDGE_CONFIG,a75dO as MAINNET_COMMITTEE_MEMBER_ADDRESSES,a75dN as MAINNET_COMMITTEE_PUBKEYS,a75dH as MAINNET_COMMITTEE_WEIGHTS,MAX_ACCOUNTS,a75dd as MAX_ADDRESS_COUNT,a75cv as MAX_ADMIN_COUNT,a75cc as MAX_AGENT_COUNT,a75db as MAX_ALLOCATOR_COUNT,a75cx as MAX_ARBITRATION_COUNT,a75cg as MAX_CONSENSUS_REPOSITORIES_COUNT,a75ce as MAX_CONTEXT_REPOSITORY_COUNT,a75cr as MAX_DATA_SIZE,a75aB as MAX_DEPENDED_COUNT,a75aH as MAX_DESCRIPTION_LENGTH,a75cW as MAX_DISCOUNT_COUNT_ONCE,a75ca as MAX_DISCOUNT_RECEIVER_ONCE,a75cV as MAX_DISCOUNT_TOTAL_COUNT,a75cp as MAX_DISPUTE_COUNT,a75cq as MAX_ENTITY_COUNT,a75a1 as MAX_ENV_PERMISSION_GUARD_COUNT,a75cs as MAX_EXTERNAL_DEPOSIT_GUARD_COUNT,a75ci as MAX_EXTERNAL_WITHDRAW_GUARD_COUNT,a75cl as MAX_FORWARD_COUNT,a75co as MAX_FORWARD_ORDER_COUNT,a75cu as MAX_GUARD_COUNT_DEMAND,a75dh as MAX_GUARD_COUNT_PASSPORT,a75cb as MAX_GUARD_COUNT_REWARD,a75aF as MAX_GUARD_TABLE_ITEM_LENGTH,a75cA as MAX_ID_COUNT_ONCE,a75ck as MAX_IM_COUNT,a75N as MAX_INPUT_SIZE,a75cz as MAX_ITEM_COUNT,a75t as MAX_LONG_NAME_LENGTH,MAX_MESSENGER_ACCOUNTS,a75aD as MAX_MULTI_OPERANDS,a75cB as MAX_NAMED_OPERATOR_ADDRESS_COUNT,a75cj as MAX_NAMED_OPERATOR_COUNT,a75P as MAX_NAME_LENGTH,a75cn as MAX_NODE_COUNT,a75d4 as MAX_NODE_COUNT_ONCHAIN,a75cm as MAX_NODE_PAIR_COUNT,a75bt as MAX_OBJECTS_PER_QUERY,a75cD as MAX_ORDER_ITEM_COUNT,a75x as MAX_PERMISSION_GUARD_COUNT,a75cC as MAX_PERM_FOR_ENTITY,a75cE as MAX_POLICY_COUNT,a75ct as MAX_POLICY_DESCRIPTION_LEN,a75c9 as MAX_POLICY_GUARD_COUNT,a75cN as MAX_PROOF_SIZE,a75d7 as MAX_PROPOSITION_COUNT,MAX_QUERY_LIMIT,a75d0 as MAX_RECIPIENT_COUNT,a75d5 as MAX_RECORD_COUNT_REGISTRAR,a75cU as MAX_RECORD_COUNT_REWARD,a75cH as MAX_RECORD_LENGTH,a75d1 as MAX_REPOSITORY_COUNT,a75d6 as MAX_REQUIRED_INFO_SIZE,a75cK as MAX_REWARD_COUNT,a75cX as MAX_SALE_COUNT,a75d8 as MAX_SERVER_PUBKEY_SIZE,a75cM as MAX_SERVER_SIGNATURE_SIZE,a75cP as MAX_SHARING_COUNT,a75d3 as MAX_SUBMISSION_SIZE_PASSPORT,a75v as MAX_TABLE_SIZE,a75cZ as MAX_TAGS_COUNT,a75cT as MAX_VOTING_GUARD_COUNT,a75cR as MAX_VOTOR_COUNT,a75cG as MAX_WIP_HASH_LENGTH,a75da as MAX_WIP_LENGTH,MessageDirection,MessageStatus,MessageType,a75e5 as Messenger,MessengerError,MessengerErrorCode,a75e8 as MessengerManager,a75I as Modules,a75l as MoveErrors,NORMAL_MESSAGE_BYTES_LIMIT,a75ah as OBJECT_LINKER_CORE_ADDRESS,a75r as OBJECT_LINKER_TX_ADDRESS,a75bH as OBJECT_TYPE_DEFINITIONS,a75dg as ONCHAIN_CONSTANTS,a75cJ as ORDER_ROLE_AGENT,a75de as ORDER_ROLE_OWNER,a75ag as ObjectType,a75G as OperatorType,a75H as PackageAddress,a75cw as ROLE_ADMIN,a75cd as ROLE_ENTITY,a75dc as ROLE_OWNER,a75K as RecipientType,a75z as RegistrarAddress,a75dj as ResponseData,a75aL as SQLiteStorage,SecureAccountStorage,a75eP as TOKENS_CLAIMED_TOPIC,a75ey as TOKENS_DEPOSITED_TOPIC,a75ez as TOKENS_DEPOSITED_V2_TOPIC,TokenInfo,a75dx as TransferStatus,a75bX as TreasuryOp,a75cy as USER_DEFINED_PERM_INDEX_START,a75aK as UserModeStorage,a75C as ValueType,a75g as WErrors,a75j as WException,WIP,a75ch as WITHDRAW_DURATION_TIME,a75cf 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,a75bv as WitnessSourceType,a75by as WitnessTargetType,a75F as WitnessType,a75f3 as WowClaimStatus,account_operation,a75M as arbitrationFn,a75bB as bcsBytesToValue,a75em as blacklist,a75es as buildClaimMessage,bytesToBigInt,bytesToHex,a75bN as checkType,a75f1 as claimOnEth,a75eE as claimOnEthBySeq,a75eI as claimOnWow,a75aJ as contactFn,a75aQ as createSensitiveLogger,a75s as createValueContainer,createWip,a75bO as data2object,a75S as demandFn,a75et as depositErc20,a75eA as depositEth,a75eQ as depositFromEth,a75eD as depositFromWow,a75eB as encodeApprove,a75ev as encodeBridgeERC20,a75ew as encodeBridgeERC20V2,a75ex as encodeBridgeETH,a75eC as encodeBridgeETHV2,a75f4 as encodeIsTransferProcessed,a75er as encodeTokenTransferPayloadV2,a75eF as encodeTransferBridgedTokensWithSignatures,a75c as enrichMoveError,a75bo as extractCoinType,a75eh as extractZipFromPlaintext,a75ek as extract_zip_messages,fetch_token_info_operation,a75bz as filterGuardInstruct,a75e1 as findEvmChainConfig,a75e4 as findEvmChainConfigByBridgeChainId,a75dJ as findToken,a75e3 as findTokenBySymbol,formatGuardParseErrors,a75ee as friendslist,gen_passport,a75dt as gen_proof,generateNodeComments,generate_wip,a75e7 as generate_wts,a75bU as getCallEnvAccount,a75dk as getCoinParam,a75n as getFullnodeUrl,a75o as getGraphqlUrl,a75bP as getGuardQueryInfo,a75aN as getLogLevel,a75ei as getMessengerManager,a75d as getMoveErrorDescription,a75bJ as getMoveNameFromNumber,a75bC as getMoveNameFromObjectType,a75bA as getNumberFromMoveName,a75bn as getNumberFromObjectType,a75bZ as getNumbersFromObjectTypes,a75c5 as getObjectTypeDefinition,a75br as getObjectTypeDefinitionFromNumber,a75c3 as getObjectTypeFromMoveName,a75bd as getObjectTypeFromNumber,a75aV as getObjectTypesFromNumbers,getWowDir,getWowMcpDir,getWowokDataDir,getWowokIndustryDir,getWowokUserDataDir,getWowokWorkspaceDir,guard2file,a75el as guardlist,hexToBytes,a75c1 as idFromToString,isBizPermIndex,a75di as isCallResultSubmission,a75dD as isEvmChain,a75eu as isEvmNonceAlreadyProcessed,a75B as isGasTokenType,a75R as isThisPackage,isValidAddress,a75T as isValidArray,a75A as isValidDescription,isValidEvmAddress,a75E as isValidHttpUrl,a75bf 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,a75c0 as isValidValueContainer,a75ay as isValidValueType,a75an as isValidValueTypeInput,a75au as isValidWitnessTypeInput,a75af as isValueTypeNumber,a75i as isWException,a75a0 as isWitnessType,a75dR as isWowChain,loadWip,local_info_operation,local_mark_operation,a75aM as logger,a75ap as machineFn,machineNode2file,a75eX as makeBridgeTransferState,a75e9 as mark_conversation_as_viewed,a75ef as mark_messages_as_viewed,a75aY as numberToObjectType,a75aX as objectTypeFromAddress,a75b9 as objectTypeToNumber,a75aw as object_module_and_name_from_type,a75a4 as object_name_from_type,a75c6 as owner_receive,a75eJ as parseEthClaimEvent,a75eR as parseEthDepositEvent,parseGuardFile,parseGuardFromMarkdown,a75bG as parseIdFrom,a75bs as parseObjectType,a75c4 as parseRecipient,a75be as parseTypeParameter,a75aj as parseValueType,a75aA as parseWitnessType,a75dv as parseWowokEventItem,a75aW as permission_set,privateKeyToAddress,a75en as proof_message,a75ea as pull_messages,a75eZ as queryErc20Balance,a75eK as queryEthBalance,a75eL as queryEthTxConfirmations,a75eV as queryEthTxReceipt,a75eS as queryEvmToWowTransferStatus,a75dn as queryObjectWithType,a75dm as queryObjectsWithType,a75aT as queryOrdersByUser,a75dL as queryPermissions,a75dM as queryProtocolInfo,a75bF as queryTableItem_AddressMark,a75b7 as queryTableItem_DemandPresenter,a75b8 as queryTableItem_EntityContact,a75ba as queryTableItem_EntityLinker,a75b0 as queryTableItem_EntityOrder,a75b3 as queryTableItem_EntityPermission,a75b6 as queryTableItem_EntityRegistrar,a75bc as queryTableItem_MachineNode,a75c7 as queryTableItem_ObjectLinkerCore,a75aU as queryTableItem_ObjectLinkerTx,a75bi as queryTableItem_PermissionPerm,a75b2 as queryTableItem_ProgressHistory,a75bh as queryTableItem_RepositoryData,a75bj as queryTableItem_RewardRecord,a75b1 as queryTableItem_ServiceOrders,a75b5 as queryTableItem_TreasuryHistory,a75f2 as queryWowClaimStatus,a75eN as queryWowToEvmTransferStatus,a75eM as queryWowTx,query_account,query_account_list,a75dZ as query_address_activity,a75dU as query_address_activity_json,a75bQ as query_address_profile,a75dA as query_affiliations,a75b4 as query_arbs,a75dW as query_common_mistakes,a75bl as query_demands,a75dQ as query_events,a75dB 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,a75dX as query_object_history,a75dP as query_object_history_json,a75dI as query_object_last_updated,a75bk as query_objects,a75bm as query_objects_json,a75bb as query_personal,a75c8 as query_received,a75dC as query_serviceContext,a75aS as query_services,a75bx as query_shared_objects,a75bW as query_shared_objects_json,a75bL as query_table,a75bS as query_tableItem,a75bE as query_table_json,a75dV as query_transaction,a75dY as query_transaction_json,a75bq as raw2type,registerBridgeEvmNetworks,a75a6 as repositoryFn,a75bu as resolveCallEnv,a75bI as restoreNodeFromOutput,a75a9 as rewardFn,safeFilename,a75eb as send_file,a75ej as send_message,a75ar as serviceFn,a75aP as setLogLevel,a75eg as settings,signEIP1559,signLegacy,sign_wip,a75ed 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,a75dr as transformPersonalInput,transformRewardInput,a75y as treasuryFn,a75c2 as uint2address,a75bg as validObjects,validateGuardData,validateGuardNode,a75aZ as valueToBcsBytes,a75w as valueTypeToString,a75dF as verifyCommitteeConsistency,verifyWip,verify_wip,a75ec as verify_wts,a75eG as waitForEthTx,a75f0 as waitForWowTx,a75e6 as watch_conversations,a75eo as watch_messages,wip2html,wipToHtml,a75J as witnessTypeToString,workspaceExportPath,a75ep as wts2html};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Cx as FaucetCoinInfo, Sx as DEFAULT_ACCOUNT_NAME, Tx as MAX_MESSENGER_ACCOUNTS, bx as AccountData, wx as MAX_ACCOUNTS, xx as AccountFilter, yx as Account } from "../../index-OlNG95EF.mjs";
|
|
2
2
|
import { t as IAccountStorage } from "../../storage-BRIn6pWr.mjs";
|
|
3
|
-
export { Account, AccountData, AccountFilter, DEFAULT_ACCOUNT_NAME, FaucetCoinInfo, type IAccountStorage, MAX_MESSENGER_ACCOUNTS };
|
|
3
|
+
export { Account, AccountData, AccountFilter, DEFAULT_ACCOUNT_NAME, FaucetCoinInfo, type IAccountStorage, MAX_ACCOUNTS, MAX_MESSENGER_ACCOUNTS };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as a76a}from'../../wow-types-DcqbnAaK.mjs';import{t as a76b}from'../../client-Cn7jc7Xf.mjs';import{t as a76c}from'../../Transaction-DcFD1-9u.mjs';import{n as a76d}from'../../network-y8yMus5q.mjs';import{c as a76e}from'../../keypair-CvKz39ZO.mjs';import{n as a76f,r as a76g,t as a76h}from'../../faucet-RNvBvVJf.mjs';import{n as a76i}from'../../falcon512-C_L8D0FB.mjs';import{V as a76j,q as a76k}from'../../common-ofEOpNis.mjs';import{o as a76l}from'../../exception-C6IYkBi6.mjs';import{t as a76m}from'../../lock-QdrQzo0u.mjs';import{SQLiteAccountStorage}from'./storage.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_MESSENGER_ACCOUNTS=0x64;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':a76d(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':a76d(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':a76d(k),'network':k});if(j>=BigInt(0x0)){if(!e||a76j(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(n['length']===0x1)return c['splitCoins'](n[0x0],[j]);else{const t=n['pop']();return c['mergeCoins'](t,n),c['splitCoins'](t,[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,d,c,e);if(!h)a76l('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=a76i['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':a76d(j),'network':j})['signAndExecuteTransaction']({'transaction':h,'signer':g,'options':{'showObjectChanges':!![],'showEffects':!![],'showEvents':!![]}}),l=c??'0x2::wow::WOW';return(k?.['objectChanges']?.['find'](m=>m?.['type']==='created'&&(m?.['objectType'])['includes'](l)))?.['objectId'];}};}static{this['_dataLock']=new a76m();}static{this['_storageLock']=new a76m();}static{this['orphanMigrationDone']=![];}['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 SQLiteAccountStorage());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&&!a76k(b))a76l('invalid\x20name','Name\x20'+b+'\x20is\x20exceeds\x20max\x2064');const f=a76i['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'](o=>o['address']['toLowerCase']()===g['toLowerCase']())!==-0x1)a76l('invalid\x20parameter','Account\x20with\x20address\x20'+g+'\x20already\x20exists');const l=k['findIndex'](o=>Account['nameMatch'](o['name'],b));if(l!==-0x1){if(c){if(b==='')a76l('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 o=Date['now']();k[l]['suspended']=!![],k[l]['name']=void 0x0,k[l]['messenger']=![],k[l]['updatedAt']=o;}else a76l('account\x20name\x20exist','Name\x20'+(b||'')+'\x20already\x20exist');}if(d){const p=k['filter'](q=>q['messenger']===!![]&&!q['suspended'])['length'];if(p>=0x64)a76l('invalid\x20parameter','Maximum\x20100\x20messenger\x20accounts\x20allowed,\x20current\x20count:\x20'+p);}const m=Date['now'](),n={'name':b,'address':g,'secret':h,'messenger':d||![],'createdAt':m,'updatedAt':m};return k['push'](n),await i['put'](JSON['stringify'](k)),this['accountData'](n,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']=a76i['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&&!a76k(a))a76l('invalid\x20name','Name\x20'+a+'\x20is\x20exceeds\x20max\x2064');const e=a76i['generate']()['getSecretKey'](),f=a76i['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'](m=>Account['nameMatch'](m['name'],a));if(l!==-0x1){if(b){if(a==='')a76l('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 m=Date['now']();k[l]['suspended']=!![],k[l]['name']=void 0x0,k[l]['messenger']=![],k[l]['updatedAt']=m;}else a76l('account\x20name\x20exist','Name\x20'+(a||'')+'\x20already\x20exist');}if(c){const n=k['filter'](o=>o['messenger']===!![]&&!o['suspended'])['length'];if(n>=0x64)a76l('invalid\x20parameter','Maximum\x20100\x20messenger\x20accounts\x20allowed,\x20current\x20count:\x20'+n);}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=a76i['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&&!a76k(a))a76l('invalid\x20name','Name\x20'+(a||'')+'\x20is\x20exceeds\x20max\x2064');if(b&&!a76k(b))a76l('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&&!a76k(b))a76l('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)))a76l('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)a76l('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&&!a76k(b))a76l('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)))a76l('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 a76g({'host':a76f(c),'recipient':d['address']}))['coins_sent']||[];}catch(j){h=j;if(j instanceof a76h&&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){const f=a76i['fromSecretKey'](e['secret']);if(f){const g=await Config['Instance']()['network_get'](d);return new a76b({'url':a76d(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)a76l('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)a76l('invalid\x20parameter','Invalid\x20from\x20address\x20or\x20name\x20'+d);const h=g?.['address']??c;if(!h)a76l('invalid\x20parameter','Invalid\x20to\x20address\x20or\x20name\x20'+c);const i=a76i['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':a76d(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'])a76l('invalid\x20parameter','Account\x20not\x20found\x20or\x20no\x20secret\x20key:\x20'+a);const d=a76i['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'])a76l('invalid\x20parameter','Account\x20not\x20found\x20or\x20no\x20secret\x20key:\x20'+a);const d=a76i['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'])a76l('invalid\x20parameter','Account\x20not\x20found\x20or\x20no\x20secret\x20key:\x20'+a);const c=a76e(b['secret'])['secretKey'],d=a76i['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>=0x64)a76l('invalid\x20parameter','Maximum\x20100\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_MESSENGER_ACCOUNTS};
|
|
1
|
+
import{a as a76a}from'../../wow-types-DcqbnAaK.mjs';import{t as a76b}from'../../client-oE69u-rK.mjs';import{t as a76c}from'../../Transaction-BlZi1w6F.mjs';import{o as a76d}from'../../exception-Xd2RFs2i.mjs';import{n as a76e}from'../../network-y8yMus5q.mjs';import{c as a76f}from'../../keypair-CvKz39ZO.mjs';import{n as a76g,r as a76h,t as a76i}from'../../faucet-RNvBvVJf.mjs';import{n as a76j}from'../../falcon512-C_L8D0FB.mjs';import{H as a76k,J as a76l}from'../../common-Guc0E9Tj.mjs';import{d as a76m,n as a76n}from'../../storage-j7eJYpqQ.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=0x1e,MAX_MESSENGER_ACCOUNTS=0x1e;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(n['length']===0x1)return c['splitCoins'](n[0x0],[j]);else{const t=n['pop']();return c['mergeCoins'](t,n),c['splitCoins'](t,[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,d,c,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';return(k?.['objectChanges']?.['find'](m=>m?.['type']==='created'&&(m?.['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>=0x1e)a76d('invalid\x20parameter','Maximum\x2030\x20accounts\x20allowed,\x20current\x20count:\x20'+m);if(d){const q=k['filter'](r=>r['messenger']===!![]&&!r['suspended'])['length'];if(q>=0x1e)a76d('invalid\x20parameter','Maximum\x2030\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>=0x1e)a76d('invalid\x20parameter','Maximum\x2030\x20accounts\x20allowed,\x20current\x20count:\x20'+m);if(c){const o=k['filter'](p=>p['messenger']===!![]&&!p['suspended'])['length'];if(o>=0x1e)a76d('invalid\x20parameter','Maximum\x2030\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>=0x1e)a76d('invalid\x20parameter','Maximum\x2030\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,2 +1,2 @@
|
|
|
1
|
-
import { a as IStorage, i as CachedData, n as CacheExpireType, r as CachePrefix, t as Cache } from "../../cache-
|
|
1
|
+
import { a as IStorage, i as CachedData, n as CacheExpireType, r as CachePrefix, t as Cache } from "../../cache-D81EHaqu.mjs";
|
|
2
2
|
export { Cache, CacheExpireType, CachePrefix, CachedData, IStorage };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{d as a77a,r as a77b}from'../../storage-j7eJYpqQ.mjs';let CachePrefix=function(a){return a['token']='token',a['object']='object',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['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';return Date['now']()+0x1d4c0;};}static async['storeData'](a,b){if(Cache['hasStorage']())await Cache['storage']['put'](a,JSON['stringify'](b));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];s&&(await Cache['storeData'](t,s),Cache['memory']['set'](t,s),f[u]=s);}}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};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import'../../network-y8yMus5q.mjs';import{
|
|
1
|
+
import{t as a78a}from'../../network-y8yMus5q.mjs';import{getWowDir}from'./util.mjs';import{d as a78b}from'../../storage-j7eJYpqQ.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 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{d as a79a,n as a79b}from'../../../storage-j7eJYpqQ.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 +1 @@
|
|
|
1
|
-
import{r as a81a}from'../../mnemonics-C6qlqegr.mjs';import{o as a81b}from'../../exception-C6IYkBi6.mjs';import{t as a81c}from'../../lock-QdrQzo0u.mjs';import{SQLiteAccountStorage}from'./storage.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 SQLiteAccountStorage(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'])a81b('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)a81b('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=a81a(a),e=HDKey['fromMasterSeed'](d),f=b||'m/44\x27/60\x27/0\x27/0/0',g=e['derive'](f);if(!g['privateKey'])a81b('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)a81b('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)a81b('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']())a81b('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'])a81b('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));}a81b('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']))a81b('invalid\x20parameter','Invalid\x20EVM\x20recipient\x20address:\x20'+a['to']);if(a['amount']<=0x0n)a81b('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'])a81b('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'])a81b('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')a81b('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 a81a}from'../../exception-Xd2RFs2i.mjs';import{r as a81b}from'../../mnemonics-C6qlqegr.mjs';import{d as a81c,n as a81d}from'../../storage-j7eJYpqQ.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,12 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { $b as LocalMarkOperationResult, Cx as FaucetCoinInfo, Gb as FaucetNetwork, Hb as AccountOperation, Jb as GetLocalNamesByAddresses, Kb as FetchTokenInfoOperation, Qb as LocalMarkOperation, Sx as DEFAULT_ACCOUNT_NAME, Tx as MAX_MESSENGER_ACCOUNTS, Ub as AccountOperationResult, Wb as AccountOrMark_Address, Xb as LocalInfoOperation, Yb as GetManyAccountOrMark_Address, Zb as LocalInfoOperationResult, _x as TokenInfo, ax as fetch_token_info_operation, bx as AccountData, cx as query_account, dx as query_local_info_default, ex as LocalNameByAddress, fx as query_local_info_list, gx as TokenDataFilter, hx as query_local_token_list, ix as account_operation, lx as query_account_list, mx as query_local_mark_list, nx as QueryAccount, ox as local_info_operation, px as query_local_mark, qb as GetAccountOrMark_Address, rx as QueryAccountResult, sx as local_mark_operation, tx as ManyAccountOrMark_Address, ux as query_local_info, vx as TokenTypeInfo, wx as MAX_ACCOUNTS, xx as AccountFilter, yx as Account } from "../../index-OlNG95EF.mjs";
|
|
2
2
|
import { n as ConfigData, t as Config } from "../../config-DyKCZw0u.mjs";
|
|
3
3
|
import { a as SQLiteStorage, n as IStorage, o as UserModeRecord, s as UserModeStorage, t as IAccountStorage } from "../../storage-BRIn6pWr.mjs";
|
|
4
4
|
import { a as SecureEnvelope, i as SecureAccountStorage, n as EncryptionMode, r as KeyMetadata, t as CryptoVault } from "../../secure-storage-BT8ZocZk.mjs";
|
|
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-
|
|
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
6
|
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
7
|
import { a as EvmTransactionReceipt, i as EvmLog, n as EvmAccountData, o as EvmTransactionRequest, r as EvmAccountFilter, t as EvmAccount } from "../../evm-account-CNlXZf5j.mjs";
|
|
8
8
|
import { i as registerBridgeEvmNetworks, n as EvmNetworkConfig, r as EvmNetworkRegistry, t as ETH_MAINNET } from "../../networks-ByH0We-G.mjs";
|
|
9
9
|
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
|
-
import { C as ProjectUpdate, S as ProjectStatus, T as RelationshipType, _ as ProjectDocument, a as EvaluationType, b as ProjectObjectAdd, c as GraphEdgeInput, d as ObjectCacheEntry, f as ObjectCacheHistoryEntry, g as ProjectCreate, h as Project, i as EvaluationInput, l as GraphNode, m as ObjectRole, n as EdgeSource, o as GraphData, p as ObjectDiff, r as Evaluation, s as GraphEdge, t as DiffField, u as LocalProject, v as ProjectFilter, w as ProjectVersion, x as ProjectPerspective, y as ProjectObject } from "../../project-B3Z3z_Z_.mjs";
|
|
11
10
|
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";
|
|
12
|
-
export { Account, AccountData, AccountFilter, AccountOperation, AccountOperationResult, AccountOrMark_Address, BUITIN_IDS, Config, ConfigData, CryptoVault, DEFAULT_ACCOUNT_NAME, DEFAULT_LIMITS,
|
|
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, QueryAccount, QueryAccountResult, SQLiteStorage, SecureAccountStorage, SecureEnvelope, SignatureAlgorithm, TextFormat, TokenDataFilter, TokenInfo, TokenTypeInfo, type UserModeRecord, UserModeStorage, 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 };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as a82a}from'../../wow-types-DcqbnAaK.mjs';import{
|
|
1
|
+
import{a as a82a}from'../../wow-types-DcqbnAaK.mjs';import{o as a82b}from'../../exception-Xd2RFs2i.mjs';import{i as a82c,s as a82d}from'../../common-Guc0E9Tj.mjs';import{getWowDir,getWowMcpDir,getWowokDataDir,getWowokIndustryDir,getWowokUserDataDir,getWowokWorkspaceDir,safeFilename,workspaceExportPath}from'./util.mjs';import{i as a82e,r as a82f}from'../../storage-j7eJYpqQ.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=>{return await TokenInfo['Instance']()['list'](a);},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};}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 SQLiteStorage,SecureAccountStorage,TokenInfo,a82e as UserModeStorage,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,2 +1,2 @@
|
|
|
1
|
-
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-
|
|
1
|
+
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";
|
|
2
2
|
export { BUITIN_IDS, InfoData, InfoDataInner, LocalInfo, LocalInfoContentMaxCount, LocalInfoContentMaxLength, LocalInfoFilter, LocalInfoNameDefault, LocalInfoNameMaxLength, LocalMark, LocalMarkFilter, LocalMarkNameMaxLength, LocalMarkTagMaxCount, LocalMarkTagMaxLength, MarkData, MarkParam, isValidAddress };
|