@wowok/wowok 2.7.9 → 2.7.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/{arb-JMhHn5kY.mjs → arb-C7iVd3R0.mjs} +1 -1
- package/dist/esm/{base-o08Syk_8.mjs → base-CE2-2noZ.mjs} +1 -1
- package/dist/esm/bcs/index.d.mts +1 -1
- package/dist/esm/cache-C5vEkZbd.d.mts +109 -0
- package/dist/esm/{call-CtePYECR.mjs → call-p7U4CbV8.mjs} +1 -1
- package/dist/esm/client/index.d.mts +1 -1
- package/dist/esm/client/index.mjs +1 -1
- package/dist/esm/client-DyKuVUmu.mjs +1 -0
- package/dist/esm/cryptography/index.d.mts +1 -1
- package/dist/esm/{evm-account-CNlXZf5j.d.mts → evm-account-BIyan_LX.d.mts} +2 -2
- package/dist/esm/graphql/index.d.mts +1 -1
- package/dist/esm/graphql/index.mjs +1 -1
- package/dist/esm/{graphql-DyX3W1VP.mjs → graphql-DR76wicu.mjs} +1 -1
- package/dist/esm/grpc/index.d.mts +1 -1
- package/dist/esm/grpc/index.mjs +1 -1
- package/dist/esm/{grpc-BfuVFCn4.mjs → grpc-BNJsaTtI.mjs} +1 -1
- package/dist/esm/{index-OlNG95EF.d.mts → index-2ntZAxNs.d.mts} +25 -8
- package/dist/esm/{index-o_aMVwsK.d.mts → index-B-cxGU73.d.mts} +6 -6
- package/dist/esm/index.d.mts +6 -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/{messenger-B-CSCV8C.mjs → messenger-BynJuae-.mjs} +1 -1
- package/dist/esm/{messenger-api-DTnmFsT-.mjs → messenger-api-6XMqfsOv.mjs} +1 -1
- package/dist/esm/multisig/index.d.mts +1 -1
- package/dist/esm/{object-CJHJxXlc.mjs → object-DDKcSofO.mjs} +1 -1
- package/dist/esm/{passport-B5g5Rv9_.mjs → passport-CgwpB5Gw.mjs} +1 -1
- package/dist/esm/{proof-pOwly4FL.mjs → proof-BZIhxZT6.mjs} +1 -1
- package/dist/esm/{query-BDY4w7pA.mjs → query-DVYI8fBn.mjs} +1 -1
- package/dist/esm/{received-D0KPLcZ8.mjs → received-BQ__z6hY.mjs} +1 -1
- package/dist/esm/{secure-storage-BT8ZocZk.d.mts → secure-storage-BKJ5fAL_.d.mts} +1 -1
- package/dist/esm/{service-Rz5iSVL2.mjs → service-C_foi6xl.mjs} +1 -1
- package/dist/esm/storage-BnZ78gPJ.mjs +1 -0
- package/dist/esm/{storage-BRIn6pWr.d.mts → storage-C2pp9602.d.mts} +8 -0
- package/dist/esm/transactions/index.d.mts +1 -1
- package/dist/esm/{util-Bwj83MFX.mjs → util-lcqHgHoI.mjs} +1 -1
- package/dist/esm/verify/index.d.mts +1 -1
- package/dist/esm/w/call/allocation.d.mts +1 -1
- package/dist/esm/w/call/allocation.mjs +1 -1
- package/dist/esm/w/call/arbitration.d.mts +1 -1
- package/dist/esm/w/call/arbitration.mjs +1 -1
- package/dist/esm/w/call/base.d.mts +1 -1
- package/dist/esm/w/call/base.mjs +1 -1
- package/dist/esm/w/call/demand.d.mts +1 -1
- package/dist/esm/w/call/demand.mjs +1 -1
- package/dist/esm/w/call/guard.d.mts +1 -1
- package/dist/esm/w/call/guard.mjs +1 -1
- package/dist/esm/w/call/index.d.mts +1 -1
- package/dist/esm/w/call/index.mjs +1 -1
- package/dist/esm/w/call/machine.d.mts +1 -1
- package/dist/esm/w/call/machine.mjs +1 -1
- package/dist/esm/w/call/passport.d.mts +1 -1
- package/dist/esm/w/call/passport.mjs +1 -1
- package/dist/esm/w/call/payment.d.mts +1 -1
- package/dist/esm/w/call/payment.mjs +1 -1
- package/dist/esm/w/call/permission.d.mts +1 -1
- package/dist/esm/w/call/permission.mjs +1 -1
- package/dist/esm/w/call/progress.d.mts +1 -1
- package/dist/esm/w/call/progress.mjs +1 -1
- package/dist/esm/w/call/repository.d.mts +1 -1
- package/dist/esm/w/call/repository.mjs +1 -1
- package/dist/esm/w/call/reward.d.mts +1 -1
- package/dist/esm/w/call/reward.mjs +1 -1
- package/dist/esm/w/call/service.d.mts +1 -1
- package/dist/esm/w/call/service.mjs +1 -1
- package/dist/esm/w/call/treasury.d.mts +1 -1
- package/dist/esm/w/call/treasury.mjs +1 -1
- package/dist/esm/w/common.d.mts +1 -1
- package/dist/esm/w/index.d.mts +5 -5
- 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 +2 -2
- package/dist/esm/w/local/cache.mjs +1 -1
- package/dist/esm/w/local/config.mjs +1 -1
- package/dist/esm/w/local/evm/networks.mjs +1 -1
- package/dist/esm/w/local/evm-account.d.mts +1 -1
- package/dist/esm/w/local/evm-account.mjs +1 -1
- package/dist/esm/w/local/index.d.mts +4 -4
- package/dist/esm/w/local/index.mjs +1 -1
- package/dist/esm/w/local/local.mjs +1 -1
- package/dist/esm/w/local/secure-storage.d.mts +1 -1
- package/dist/esm/w/local/secure-storage.mjs +1 -1
- package/dist/esm/w/local/storage.d.mts +1 -1
- package/dist/esm/w/local/storage.mjs +1 -1
- package/dist/esm/w/local/token.d.mts +1 -1
- package/dist/esm/w/local/token.mjs +1 -1
- package/dist/esm/w/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/reply.d.mts +1 -1
- package/dist/esm/w/messenger/storage.d.mts +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 → w-B08W7cXA.mjs} +1 -1
- package/package.json +1 -1
- package/dist/esm/cache-D81EHaqu.d.mts +0 -65
- package/dist/esm/client-oE69u-rK.mjs +0 -1
- package/dist/esm/storage-j7eJYpqQ.mjs +0 -1
package/dist/esm/w/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as a75a,c as a75b,d as a75c,f as a75d,i as a75e,l as a75f,n as a75g,o as a75h,p as a75i,r as a75j,s as a75k,t as a75l,u as a75m}from'../exception-Xd2RFs2i.mjs';import{n as a75n,r as a75o,t as a75p}from'../network-y8yMus5q.mjs';import{$ as a75q,A as a75r,B as a75s,C as a75t,Ct as a75u,D as a75v,Dt as a75w,E as a75x,Et as a75y,F as a75z,G as a75A,H as a75B,I as a75C,J as a75D,K as a75E,L as a75F,M as a75G,N as a75H,O as a75I,Ot as a75J,P as a75K,Q as a75L,R as a75M,S as a75N,St as a75O,T as a75P,Tt as a75Q,U as a75R,V as a75S,W as a75T,X as a75U,Y as a75V,Z as a75W,_ as a75X,_t as a75Y,a as a75Z,at as a75a0,b as a75a1,bt as a75a2,c as a75a3,ct as a75a4,d as a75a5,dt as a75a6,et as a75a7,f as a75a8,ft as a75a9,g as a75aa,gt as a75ab,h as a75ac,ht as a75ad,i as a75ae,it as a75af,j as a75ag,k as a75ah,l as a75ai,lt as a75aj,m as a75ak,mt as a75al,n as a75am,nt as a75an,o as a75ao,ot as a75ap,p as a75aq,pt as a75ar,q as a75as,r as a75at,rt as a75au,s as a75av,st as a75aw,t as a75ax,tt as a75ay,u as a75az,ut as a75aA,v as a75aB,vt as a75aC,w as a75aD,wt as a75aE,x as a75aF,xt as a75aG,y as a75aH,yt as a75aI,z as a75aJ}from'../common-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
|
+
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-BnZ78gPJ.mjs';import{Config}from'./local/config.mjs';import{BUITIN_IDS,LocalInfo,LocalInfoContentMaxCount,LocalInfoContentMaxLength,LocalInfoNameDefault,LocalInfoNameMaxLength,LocalMark,LocalMarkNameMaxLength,LocalMarkTagMaxCount,LocalMarkTagMaxLength,isValidAddress}from'./local/local.mjs';import{a as a75aM,i as a75aN,n as a75aO,o as a75aP,r as a75aQ,t as a75aR}from'../logger-Cs5Mf7Mf.mjs';import{CryptoVault,SecureAccountStorage}from'./local/secure-storage.mjs';import{Account,DEFAULT_ACCOUNT_NAME,MAX_ACCOUNTS,MAX_MESSENGER_ACCOUNTS}from'./local/account.mjs';import{TokenInfo}from'./local/token.mjs';import{bytesToBigInt,bytesToHex,hexToBytes,isValidEvmAddress,privateKeyToAddress,signEIP1559,signLegacy,toChecksumAddress}from'./local/evm/rlp.mjs';import{ETH_MAINNET,EvmNetworkRegistry,registerBridgeEvmNetworks}from'./local/evm/networks.mjs';import{EvmAccount}from'./local/evm-account.mjs';import{DEFAULT_LIMITS,WIP,WipError,WipSizeError,WipValidationError,createWip,generate_wip,loadWip,sign_wip,verifyWip,verify_wip,wip2html,wipToHtml}from'./local/wip.mjs';import{GetAccountOrMark_Address,GetLocalNamesByAddresses,GetManyAccountOrMark_Address,account_operation,fetch_token_info_operation,local_info_operation,local_mark_operation,query_account,query_account_list,query_local_info,query_local_info_default,query_local_info_list,query_local_mark,query_local_mark_list,query_local_token_list}from'./local/index.mjs';import{$ as a75aS,A as a75aT,B as a75aU,C as a75aV,Ct as a75aW,D as a75aX,Dt as a75aY,E as a75aZ,Et as a75b0,F as a75b1,G as a75b2,H as a75b3,I as a75b4,J as a75b5,K as a75b6,L as a75b7,M as a75b8,N as a75b9,O as a75ba,P as a75bb,Q as a75bc,R as a75bd,S as a75be,St as a75bf,T as a75bg,Tt as a75bh,U as a75bi,V as a75bj,W as a75bk,X as a75bl,Y as a75bm,Z as a75bn,_ as a75bo,_t as a75bp,a as a75bq,at as a75br,b as a75bs,bt as a75bt,c as a75bu,ct as a75bv,d as a75bw,dt as a75bx,et as a75by,f as a75bz,ft as a75bA,g as a75bB,h as a75bC,i as a75bD,it as a75bE,j as a75bF,k as a75bG,l as a75bH,lt as a75bI,m as a75bJ,mt as a75bK,n as a75bL,nt as a75bM,o as a75bN,ot as a75bO,p as a75bP,pt as a75bQ,q as a75bR,r as a75bS,rt as a75bT,s as a75bU,st as a75bV,t as a75bW,tt as a75bX,u as a75bY,ut as a75bZ,v as a75c0,vt as a75c1,w as a75c2,wt as a75c3,x as a75c4,xt as a75c5,y as a75c6,yt as a75c7,z as a75c8}from'../object-DDKcSofO.mjs';import{t as a75c9}from'../received-BQ__z6hY.mjs';import{$ as a75ca,A as a75cb,B as a75cc,C as a75cd,Ct as a75ce,D as a75cf,Dt as a75cg,E as a75ch,Et as a75ci,F as a75cj,G as a75ck,H as a75cl,I as a75cm,J as a75cn,K as a75co,L as a75cp,M as a75cq,N as a75cr,O as a75cs,P as a75ct,Q as a75cu,R as a75cv,S as a75cw,St as a75cx,T as a75cy,Tt as a75cz,U as a75cA,V as a75cB,W as a75cC,X as a75cD,Y as a75cE,Z as a75cF,_ as a75cG,_t as a75cH,at as a75cI,b as a75cJ,bt as a75cK,ct as a75cL,d as a75cM,dt as a75cN,et as a75cO,f as a75cP,ft as a75cQ,g as a75cR,gt as a75cS,h as a75cT,ht as a75cU,it as a75cV,j as a75cW,k as a75cX,lt as a75cY,m as a75cZ,mt as a75d0,nt as a75d1,ot as a75d2,p as a75d3,pt as a75d4,q as a75d5,rt as a75d6,st as a75d7,tt as a75d8,ut as a75d9,v as a75da,vt as a75db,w as a75dc,wt as a75dd,x as a75de,xt as a75df,y as a75dg,yt as a75dh,z as a75di}from'../passport-CgwpB5Gw.mjs';import{i as a75dj,n as a75dk,r as a75dl,t as a75dm}from'../base-CE2-2noZ.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 a75dn,t as a75do}from'../util-lcqHgHoI.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 a75dp,t as a75dq}from'../service-C_foi6xl.mjs';import{CallReward,transformRewardInput}from'./call/reward.mjs';import{CallRepository}from'./call/repository.mjs';import{CallTreasury}from'./call/treasury.mjs';import{n as a75dr,r as a75ds,t as a75dt}from'../call-p7U4CbV8.mjs';import{n as a75du,t as a75dv}from'../proof-BZIhxZT6.mjs';import{A as a75dw,C as a75dx,D as a75dy,E as a75dz,F as a75dA,I as a75dB,M as a75dC,N as a75dD,O as a75dE,P as a75dF,S as a75dG,T as a75dH,_ as a75dI,a as a75dJ,b as a75dK,c as a75dL,d as a75dM,f as a75dN,g as a75dO,h as a75dP,i as a75dQ,j as a75dR,k as a75dS,l as a75dT,m as a75dU,n as a75dV,o as a75dW,p as a75dX,r as a75dY,s as a75dZ,t as a75e0,u as a75e1,v as a75e2,w as a75e3,x as a75e4,y as a75e5}from'../query-DVYI8fBn.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 a75e6}from'../messenger-BynJuae-.mjs';import{_ as a75e7,a as a75e8,b as a75e9,c as a75ea,d as a75eb,f as a75ec,g as a75ed,h 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,u as a75eo,v as a75ep,y as a75eq}from'../messenger-api-6XMqfsOv.mjs';import{A as a75er,B as a75es,C as a75et,D as a75eu,E as a75ev,F as a75ew,I as a75ex,L as a75ey,M as a75ez,N as a75eA,O as a75eB,P as a75eC,R as a75eD,S as a75eE,T as a75eF,V as a75eG,_ as a75eH,a as a75eI,b as a75eJ,c as a75eK,d as a75eL,f as a75eM,g as a75eN,h as a75eO,i as a75eP,j as a75eQ,k as a75eR,l as a75eS,m as a75eT,n as a75eU,o as a75eV,p as a75eW,r as a75eX,s as a75eY,t as a75eZ,u as a75f0,v as a75f1,w as a75f2,x as a75f3,y as a75f4,z as a75f5}from'../w-B08W7cXA.mjs';export{a75dF as AFFILIATION_TABLES_BY_TYPE,a75dA as AFFILIATION_TABLE_META,Account,a75bW as AllocationMode,a75bL as AmountType,a75bS as ArbStatus,a75cM as BRIDGE_CURRENT_VERSION,a75cP as BRIDGE_EVM_ADDRESS_LENGTH,a75d3 as BRIDGE_MESSAGE_VERSION,a75eX as BRIDGE_STEP_DESCRIPTIONS,a75cZ as BRIDGE_TRANSFER_STATUS_APPROVED,a75cT as BRIDGE_TRANSFER_STATUS_CLAIMED,a75cR as BRIDGE_TRANSFER_STATUS_NOT_FOUND,a75cG as BRIDGE_TRANSFER_STATUS_PENDING,BUITIN_IDS,a75dx as BridgeChainId,a75eZ as BridgeClient,a75e3 as BridgeErrorCode,a75eU as BridgeNodeClient,a75dH as BridgeTokenId,a75eP as BridgeTransferDirection,a75eI as BridgeTransferStatus,a75eV as BridgeTransferStep,a75dz as BridgeVersion,BuiltinPermissionIndex,a75dL as COMMON_MISTAKES,CallAllocation,CallArbitration,a75dm as CallBase,a75dt as CallContact,CallDemand,CallGuard,CallMachine,a75dp as CallOrder,CallPayment,CallPermission,a75dr as CallPersonal,CallProgress,a75dv as CallProof,CallRepository,CallReward,a75dq as CallService,CallTreasury,a75ax as CoinWrapPrefix,Config,a75am as ContextType,CryptoVault,DEFAULT_ACCOUNT_NAME,DEFAULT_LIMITS,a75da as DEFAULT_LOCK_DURATION,DEFAULT_MESSENGER_CONFIG,DEFAULT_QUERY_LIMIT,a75dg as DISCOUNT_TYPE_MINUS,a75cJ as DISCOUNT_TYPE_RATES,a75bD as DiscountType,a75at as ENTITY_CONTACT_ADDRESS,a75ae as ENTITY_LINKER_ADDRESS,a75Z as ENTITY_ORDER_ADDRESS,a75bq as ENTITY_ORDER_ROLE_AGENT,a75bN as ENTITY_ORDER_ROLE_OWNER,a75ao as ENTITY_PERMISSION_ADDRESS,a75av as ENTITY_REGISTRAR_ADDRESS,a75p as ENTRYPOINT,a75er as ERC20_TRANSFER_TOPIC,ETH_MAINNET,a75a3 as EntityAddress,EvmAccount,EvmNetworkRegistry,a75dT as FUNDING_GUIDANCE,a75bx as GUARDINSTRUCT,a75bA as GUARDQUERY,a75ai as GasCoinType,a75az as GasTokenType,GetAccountOrMark_Address,GetLocalNamesByAddresses,GetManyAccountOrMark_Address,a75a5 as GetObject,a75a8 as GetObjectDescription,a75aq as GetObjectExisted,a75e1 as INFO_CONSTANT,a75bU 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,a75dU as MAINNET_BRIDGE_CONFIG,a75dP as MAINNET_COMMITTEE_MEMBER_ADDRESSES,a75dO as MAINNET_COMMITTEE_PUBKEYS,a75dI as MAINNET_COMMITTEE_WEIGHTS,MAX_ACCOUNTS,a75de as MAX_ADDRESS_COUNT,a75cw as MAX_ADMIN_COUNT,a75cd as MAX_AGENT_COUNT,a75dc as MAX_ALLOCATOR_COUNT,a75cy as MAX_ARBITRATION_COUNT,a75ch as MAX_CONSENSUS_REPOSITORIES_COUNT,a75cf as MAX_CONTEXT_REPOSITORY_COUNT,a75cs as MAX_DATA_SIZE,a75aB as MAX_DEPENDED_COUNT,a75aH as MAX_DESCRIPTION_LENGTH,a75cX as MAX_DISCOUNT_COUNT_ONCE,a75cb as MAX_DISCOUNT_RECEIVER_ONCE,a75cW as MAX_DISCOUNT_TOTAL_COUNT,a75cq as MAX_DISPUTE_COUNT,a75cr as MAX_ENTITY_COUNT,a75a1 as MAX_ENV_PERMISSION_GUARD_COUNT,a75ct as MAX_EXTERNAL_DEPOSIT_GUARD_COUNT,a75cj as MAX_EXTERNAL_WITHDRAW_GUARD_COUNT,a75cm as MAX_FORWARD_COUNT,a75cp as MAX_FORWARD_ORDER_COUNT,a75cv as MAX_GUARD_COUNT_DEMAND,a75di as MAX_GUARD_COUNT_PASSPORT,a75cc as MAX_GUARD_COUNT_REWARD,a75aF as MAX_GUARD_TABLE_ITEM_LENGTH,a75cB as MAX_ID_COUNT_ONCE,a75cl as MAX_IM_COUNT,a75N as MAX_INPUT_SIZE,a75cA as MAX_ITEM_COUNT,a75t as MAX_LONG_NAME_LENGTH,MAX_MESSENGER_ACCOUNTS,a75aD as MAX_MULTI_OPERANDS,a75cC as MAX_NAMED_OPERATOR_ADDRESS_COUNT,a75ck as MAX_NAMED_OPERATOR_COUNT,a75P as MAX_NAME_LENGTH,a75co as MAX_NODE_COUNT,a75d5 as MAX_NODE_COUNT_ONCHAIN,a75cn as MAX_NODE_PAIR_COUNT,a75bu as MAX_OBJECTS_PER_QUERY,a75cE as MAX_ORDER_ITEM_COUNT,a75x as MAX_PERMISSION_GUARD_COUNT,a75cD as MAX_PERM_FOR_ENTITY,a75cF as MAX_POLICY_COUNT,a75cu as MAX_POLICY_DESCRIPTION_LEN,a75ca as MAX_POLICY_GUARD_COUNT,a75cO as MAX_PROOF_SIZE,a75d8 as MAX_PROPOSITION_COUNT,MAX_QUERY_LIMIT,a75d1 as MAX_RECIPIENT_COUNT,a75d6 as MAX_RECORD_COUNT_REGISTRAR,a75cV as MAX_RECORD_COUNT_REWARD,a75cI as MAX_RECORD_LENGTH,a75d2 as MAX_REPOSITORY_COUNT,a75d7 as MAX_REQUIRED_INFO_SIZE,a75cL as MAX_REWARD_COUNT,a75cY as MAX_SALE_COUNT,a75d9 as MAX_SERVER_PUBKEY_SIZE,a75cN as MAX_SERVER_SIGNATURE_SIZE,a75cQ as MAX_SHARING_COUNT,a75d4 as MAX_SUBMISSION_SIZE_PASSPORT,a75v as MAX_TABLE_SIZE,a75d0 as MAX_TAGS_COUNT,a75cU as MAX_VOTING_GUARD_COUNT,a75cS as MAX_VOTOR_COUNT,a75cH as MAX_WIP_HASH_LENGTH,a75db as MAX_WIP_LENGTH,MessageDirection,MessageStatus,MessageType,a75e6 as Messenger,MessengerError,MessengerErrorCode,a75e9 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,a75dh as ONCHAIN_CONSTANTS,a75cK as ORDER_ROLE_AGENT,a75df as ORDER_ROLE_OWNER,a75ag as ObjectType,a75G as OperatorType,a75H as PackageAddress,a75cx as ROLE_ADMIN,a75ce as ROLE_ENTITY,a75dd as ROLE_OWNER,a75K as RecipientType,a75z as RegistrarAddress,a75dk as ResponseData,a75aL as SQLiteStorage,SecureAccountStorage,a75eQ as TOKENS_CLAIMED_TOPIC,a75ez as TOKENS_DEPOSITED_TOPIC,a75eA as TOKENS_DEPOSITED_V2_TOPIC,TokenInfo,a75dy as TransferStatus,a75bY as TreasuryOp,a75cz as USER_DEFINED_PERM_INDEX_START,a75aK as UserModeStorage,a75C as ValueType,a75g as WErrors,a75j as WException,WIP,a75ci as WITHDRAW_DURATION_TIME,a75cg as WOWOK_WTS_PROOF_TYPE,WTS_FILE_BYTES_LIMIT,WTS_MAX_MESSAGE_COUNT,a75e as WValidate,a75a as W_ENSURE,a75h as W_ERROR,a75k as W_FAILURE,a75b as W_SAFE,a75f as W_SUCCESS,a75m as W_VALIDATE_PARAM,WipError,WipSizeError,WipValidationError,a75bw as WitnessSourceType,a75bz as WitnessTargetType,a75F as WitnessType,a75f4 as WowClaimStatus,account_operation,a75M as arbitrationFn,a75bp as bcsBytesToValue,a75en as blacklist,a75et as buildClaimMessage,bytesToBigInt,bytesToHex,a75bV as checkType,a75f2 as claimOnEth,a75eF as claimOnEthBySeq,a75eJ as claimOnWow,a75aJ as contactFn,a75aQ as createSensitiveLogger,a75s as createValueContainer,createWip,a75bP as data2object,a75S as demandFn,a75eu as depositErc20,a75eB as depositEth,a75eR as depositFromEth,a75eE as depositFromWow,a75eC as encodeApprove,a75ew as encodeBridgeERC20,a75ex as encodeBridgeERC20V2,a75ey as encodeBridgeETH,a75eD as encodeBridgeETHV2,a75f5 as encodeIsTransferProcessed,a75es as encodeTokenTransferPayloadV2,a75eG as encodeTransferBridgedTokensWithSignatures,a75c as enrichMoveError,a75c1 as extractCoinType,a75ei as extractZipFromPlaintext,a75el as extract_zip_messages,fetch_token_info_operation,a75bQ as filterGuardInstruct,a75e2 as findEvmChainConfig,a75e5 as findEvmChainConfigByBridgeChainId,a75dK as findToken,a75e4 as findTokenBySymbol,formatGuardParseErrors,a75ef as friendslist,gen_passport,a75du as gen_proof,generateNodeComments,generate_wip,a75e8 as generate_wts,a75bv as getCallEnvAccount,a75dl as getCoinParam,a75n as getFullnodeUrl,a75o as getGraphqlUrl,a75bK as getGuardQueryInfo,a75aN as getLogLevel,a75ej as getMessengerManager,a75d as getMoveErrorDescription,a75bJ as getMoveNameFromNumber,a75bC as getMoveNameFromObjectType,a75bB as getNumberFromMoveName,a75bo as getNumberFromObjectType,a75c0 as getNumbersFromObjectTypes,a75c6 as getObjectTypeDefinition,a75bs as getObjectTypeDefinitionFromNumber,a75c4 as getObjectTypeFromMoveName,a75be as getObjectTypeFromNumber,a75aV as getObjectTypesFromNumbers,getWowDir,getWowMcpDir,getWowokDataDir,getWowokIndustryDir,getWowokUserDataDir,getWowokWorkspaceDir,guard2file,a75em as guardlist,hexToBytes,a75c2 as idFromToString,isBizPermIndex,a75dj as isCallResultSubmission,a75dE as isEvmChain,a75ev as isEvmNonceAlreadyProcessed,a75B as isGasTokenType,a75R as isThisPackage,isValidAddress,a75T as isValidArray,a75A as isValidDescription,isValidEvmAddress,a75E as isValidHttpUrl,a75bg 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,a75c7 as isValidValueContainer,a75ay as isValidValueType,a75an as isValidValueTypeInput,a75au as isValidWitnessTypeInput,a75af as isValueTypeNumber,a75i as isWException,a75a0 as isWitnessType,a75dS as isWowChain,loadWip,local_info_operation,local_mark_operation,a75aM as logger,a75ap as machineFn,machineNode2file,a75eY as makeBridgeTransferState,a75ea as mark_conversation_as_viewed,a75eg as mark_messages_as_viewed,a75aZ as numberToObjectType,a75aX as objectTypeFromAddress,a75ba as objectTypeToNumber,a75aw as object_module_and_name_from_type,a75a4 as object_name_from_type,a75bt as owner_receive,a75eK as parseEthClaimEvent,a75eS as parseEthDepositEvent,parseGuardFile,parseGuardFromMarkdown,a75bG as parseIdFrom,a75c5 as parseObjectType,a75bf as parseRecipient,a75aW as parseTypeParameter,a75aj as parseValueType,a75aA as parseWitnessType,a75dw as parseWowokEventItem,a75c3 as permission_set,privateKeyToAddress,a75eo as proof_message,a75eb as pull_messages,a75f0 as queryErc20Balance,a75eL as queryEthBalance,a75eM as queryEthTxConfirmations,a75eW as queryEthTxReceipt,a75eT as queryEvmToWowTransferStatus,a75do as queryObjectWithType,a75dn as queryObjectsWithType,a75aT as queryOrdersByUser,a75dM as queryPermissions,a75dN as queryProtocolInfo,a75bF as queryTableItem_AddressMark,a75b8 as queryTableItem_DemandPresenter,a75b9 as queryTableItem_EntityContact,a75bb as queryTableItem_EntityLinker,a75b1 as queryTableItem_EntityOrder,a75b4 as queryTableItem_EntityPermission,a75b7 as queryTableItem_EntityRegistrar,a75bd as queryTableItem_MachineNode,a75c8 as queryTableItem_ObjectLinkerCore,a75aU as queryTableItem_ObjectLinkerTx,a75bj as queryTableItem_PermissionPerm,a75b3 as queryTableItem_ProgressHistory,a75bi as queryTableItem_RepositoryData,a75bk as queryTableItem_RewardRecord,a75b2 as queryTableItem_ServiceOrders,a75b6 as queryTableItem_TreasuryHistory,a75f3 as queryWowClaimStatus,a75eO as queryWowToEvmTransferStatus,a75eN as queryWowTx,query_account,query_account_list,a75e0 as query_address_activity,a75dV as query_address_activity_json,a75bR as query_address_profile,a75b5 as query_address_profiles,a75dB as query_affiliations,a75bm as query_arbs,a75dX as query_common_mistakes,a75bl as query_demands,a75dR as query_events,a75dC 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,a75dY as query_object_history,a75dQ as query_object_history_json,a75dJ as query_object_last_updated,a75bn as query_objects,a75bc as query_objects_json,a75aS as query_personal,a75c9 as query_received,a75dD as query_serviceContext,a75by as query_services,a75bX as query_shared_objects,a75bM as query_shared_objects_json,a75bT as query_table,a75bE as query_tableItem,a75br as query_table_json,a75dW as query_transaction,a75dZ as query_transaction_json,a75bO as raw2type,registerBridgeEvmNetworks,a75a6 as repositoryFn,a75bI as resolveCallEnv,a75bZ as restoreNodeFromOutput,a75a9 as rewardFn,safeFilename,a75ec as send_file,a75ek as send_message,a75ar as serviceFn,a75aP as setLogLevel,a75eh as settings,signEIP1559,signLegacy,sign_wip,a75ee 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,a75ds as transformPersonalInput,transformRewardInput,a75y as treasuryFn,a75bh as uint2address,a75b0 as validObjects,validateGuardData,validateGuardNode,a75aY as valueToBcsBytes,a75w as valueTypeToString,a75dG as verifyCommitteeConsistency,verifyWip,verify_wip,a75ed as verify_wts,a75eH as waitForEthTx,a75f1 as waitForWowTx,a75e7 as watch_conversations,a75ep as watch_messages,wip2html,wipToHtml,a75J as witnessTypeToString,workspaceExportPath,a75eq as wts2html};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { Cx as
|
|
2
|
-
import { t as IAccountStorage } from "../../storage-
|
|
1
|
+
import { Cx as AccountFilter, Dx as MAX_MESSENGER_ACCOUNTS, Ex as MAX_ACCOUNTS, Sx as AccountData, Tx as FaucetCoinInfo, wx as DEFAULT_ACCOUNT_NAME, xx as Account } from "../../index-2ntZAxNs.mjs";
|
|
2
|
+
import { t as IAccountStorage } from "../../storage-C2pp9602.mjs";
|
|
3
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-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
|
+
import{a as a76a}from'../../wow-types-DcqbnAaK.mjs';import{t as a76b}from'../../client-DyKuVUmu.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-BnZ78gPJ.mjs';import{Config}from'./config.mjs';import{SecureAccountStorage}from'./secure-storage.mjs';import{sha256}from'@noble/hashes/sha2.js';import{x25519}from'@noble/curves/ed25519.js';import{hkdf}from'@noble/hashes/hkdf.js';const DEFAULT_ACCOUNT_NAME='',MAX_ACCOUNTS=0x14,MAX_MESSENGER_ACCOUNTS=0x14;var Account=class Account{constructor(){this['balance']=async(b,c,d)=>{const e=await this['get'](c);b=b??'0x2::wow::WOW';if(e){const f=await Config['Instance']()['network_get'](d);return new a76b({'url':a76e(f),'network':f})['getBalance']({'owner':e['address'],'coinType':b});}},this['coin']=async(b,c,d,e,f)=>{const g=await this['get'](e);b=b??'0x2::wow::WOW';if(g){const h=await Config['Instance']()['network_get'](f);return new a76b({'url':a76e(h),'network':h})['getCoins']({'owner':g['address'],'coinType':b,'cursor':c,'limit':d});}},this['get_coin_object']=async(c,d,e,f,g)=>{const h=await this['get'](f);if(h){const j=BigInt(d),k=await Config['Instance']()['network_get'](g),l=new a76b({'url':a76e(k),'network':k});if(j>=BigInt(0x0)){if(!e||a76k(e))return c['splitCoins'](c['gas'],[j]);else{const m=await l['getCoins']({'owner':h['address'],'coinType':e}),n=[],o=new Set();let p=BigInt(0x0);for(let q=0x0;q<m['data']['length'];++q){const s=m['data'][q]['coinObjectId'];if(o['has'](s))continue;o['add'](s),p+=BigInt(m['data'][q]['balance']),n['push'](s);if(p>=j)break;}if(n['length']===0x0)return;if(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>=0x14)a76d('invalid\x20parameter','Maximum\x2020\x20accounts\x20allowed,\x20current\x20count:\x20'+m);if(d){const q=k['filter'](r=>r['messenger']===!![]&&!r['suspended'])['length'];if(q>=0x14)a76d('invalid\x20parameter','Maximum\x2020\x20messenger\x20accounts\x20allowed,\x20current\x20count:\x20'+q);}const n=Date['now'](),o={'name':b,'address':g,'secret':h,'messenger':d||![],'createdAt':n,'updatedAt':n};return k['push'](o),await i['put'](JSON['stringify'](k)),this['accountData'](o,e);});}static['Instance'](){if(Account['_instance'])return Account['_instance'];if(!Account['_instance'])Account['_instance']=new Account();return Account['_instance'];}['accountData'](a,b=![]){if(!a||!a['secret'])return void 0x0;if(b)a['pubkey']=a76j['fromSecretKey'](a['secret'])['getPublicKey']()['toWowPublicKey']();a['secret']=void 0x0;if(a['name']===void 0x0)a['name']='';return a;}static['nameMatch'](a,b){return(a??'')['toLowerCase']()===b['toLowerCase']();}async['gen'](a,b,c,d=![]){return Account['_dataLock']['run'](async()=>{a=this['name_resolve'](a);if(a&&!a76l(a))a76d('invalid\x20name','Name\x20'+a+'\x20is\x20exceeds\x20max\x2064');const e=a76j['generate']()['getSecretKey'](),f=a76j['fromSecretKey'](e)['getPublicKey']()['toWowAddress'](),g=Date['now'](),h={'name':a,'address':f,'secret':e,'messenger':c||![],'createdAt':g,'updatedAt':g},i=await this['getStorage'](),j=await i['get'](),k=j?JSON['parse'](j):[],l=k['findIndex'](n=>Account['nameMatch'](n['name'],a));if(l!==-0x1){if(b){if(a==='')a76d('invalid\x20parameter','Cannot\x20replaceExistName\x20on\x20the\x20default\x20account\x20(name=\x22\x22).\x20The\x20default\x20account\x20is\x20unique\x20and\x20cannot\x20be\x20suspended\x20by\x20replacement.\x20Use\x20suspend()\x20explicitly\x20if\x20you\x20need\x20to\x20deactivate\x20it.');const n=Date['now']();k[l]['suspended']=!![],k[l]['name']=void 0x0,k[l]['messenger']=![],k[l]['updatedAt']=n;}else a76d('account\x20name\x20exist','Name\x20'+(a||'')+'\x20already\x20exist');}const m=k['filter'](o=>!o['suspended'])['length'];if(m>=0x14)a76d('invalid\x20parameter','Maximum\x2020\x20accounts\x20allowed,\x20current\x20count:\x20'+m);if(c){const o=k['filter'](p=>p['messenger']===!![]&&!p['suspended'])['length'];if(o>=0x14)a76d('invalid\x20parameter','Maximum\x2020\x20messenger\x20accounts\x20allowed,\x20current\x20count:\x20'+o);}return k['push'](h),await i['put'](JSON['stringify'](k)),this['accountData'](h,d);});}async['default'](a=![]){return await this['migrateOrphanAccountsIfNeeded'](),this['accountData'](await this['get_imp'](''),a);}async['migrateOrphanAccountsIfNeeded'](){if(Account['orphanMigrationDone'])return;return Account['orphanMigrationDone']=!![],Account['_dataLock']['run'](async()=>{const a=await this['getStorage'](),b=await a['get']();if(!b)return;const c=JSON['parse'](b);let e=![];const f=Date['now']();for(const g of c)g['name']===void 0x0&&g['suspended']!==!![]&&(g['suspended']=!![],g['messenger']=![],g['updatedAt']=f,e=!![]);if(e)await a['put'](JSON['stringify'](c));});}async['get'](a,b,c=![]){if(!b)return this['accountData'](await this['get_imp'](a),c);return this['gen'](a);}async['get_address'](a){if(a&&a76a(a))return a['toLowerCase']();return(await this['get_imp'](a))?.['address'];}async['get_many_address'](a){const b=await(await this['getStorage']())['get']();if(b){const c=JSON['parse'](b);return a['map'](d=>{if(d&&a76a(d))return d['toLowerCase']();const e=this['name_resolve'](d);return c['find'](f=>f['address']['toLowerCase']()===e['toLowerCase']()||Account['nameMatch'](f['name'],e))?.['address'];});}return a['map'](d=>d&&a76a(d)?d['toLowerCase']():void 0x0);}async['get_imp'](a){a=this['name_resolve'](a);const b=await(await this['getStorage']())['get']();if(b){const c=a['toLowerCase']();return JSON['parse'](b)['find'](e=>Account['nameMatch'](e['name'],a)||e['address']['toLowerCase']()===c);}}['name_resolve'](a){return a||'';}async['get_many'](a,b=![]){return this['get_many_imp'](a,b);}async['get_many_imp'](a,b=![]){const c=await(await this['getStorage']())['get']();if(c){const d=JSON['parse'](c);return a['map'](e=>{const f=this['name_resolve'](e),g=d['find'](h=>h['address']['toLowerCase']()===f['toLowerCase']()||Account['nameMatch'](h['name'],f));if(!g)return void 0x0;if(b){const h=a76j['fromSecretKey'](g['secret']),j={...g,'pubkey':h['getPublicKey']()['toWowPublicKey']()};return delete j['secret'],j;}return g;});}return a['map'](e=>void 0x0);}async['swap_name'](a,b){return Account['_dataLock']['run'](async()=>{a=this['name_resolve'](a),b=this['name_resolve'](b);if(this['name_resolve'](a)===this['name_resolve'](b))return!![];if(a&&!a76l(a))a76d('invalid\x20name','Name\x20'+(a||'')+'\x20is\x20exceeds\x20max\x2064');if(b&&!a76l(b))a76d('invalid\x20name','Name\x20'+(b||'')+'\x20is\x20exceeds\x20max\x2064');const c=await this['getStorage'](),d=await c['get']();if(!d)return![];const e=JSON['parse'](d),f=e['find'](i=>Account['nameMatch'](i['name'],a)),g=e['find'](i=>Account['nameMatch'](i['name'],b));if(!f||!g)return![];const h=Date['now']();return f['name']=b,f['updatedAt']=h,g['name']=a,g['updatedAt']=h,await c['put'](JSON['stringify'](e)),!![];});}async['rename'](a,b){return Account['_dataLock']['run'](async()=>{if(b&&!a76l(b))a76d('invalid\x20name','Invalid\x20new\x20name:\x20\x22'+(b||'')+'\x22.\x20Must\x20be\x20a\x20valid\x20name\x20(not\x20an\x20address)');const c=this['name_resolve'](a);if(c===b)return!![];const d=await this['getStorage'](),e=await d['get']();if(e){const g=JSON['parse'](e);if(g['find'](j=>Account['nameMatch'](j['name'],b)))a76d('invalid\x20name','New\x20name\x20\x22'+(b||'')+'\x22\x20already\x20exists');const h=g['find'](j=>Account['nameMatch'](j['name'],c)||j['address']['toLowerCase']()===c['toLowerCase']());if(!h)a76d('account\x20not\x20found','Source\x20account\x20\x22'+(a||'')+'\x22\x20not\x20found');const i=Date['now']();return h['name']=b,h['updatedAt']=i,await d['put'](JSON['stringify'](g)),!![];}return![];});}async['list'](a){await this['migrateOrphanAccountsIfNeeded']();const b=await(await this['getStorage']())['get']();if(b){let c=JSON['parse'](b);if(a?.['suspended']!==void 0x0)c=c['filter'](d=>a['suspended']?d['suspended']===!![]:!d['suspended']);else c=c['filter'](d=>!d['suspended']);if(a?.['hasMessenger']!==void 0x0)c=c['filter'](d=>a['hasMessenger']?d['messenger']===!![]:d['messenger']!==!![]);if(a?.['createdAt']){if(a['createdAt']['gte']!==void 0x0)c=c['filter'](d=>d['createdAt']&&d['createdAt']>=a['createdAt']['gte']);if(a['createdAt']['lte']!==void 0x0)c=c['filter'](d=>d['createdAt']&&d['createdAt']<=a['createdAt']['lte']);}if(a?.['updatedAt']){if(a['updatedAt']['gte']!==void 0x0)c=c['filter'](d=>d['updatedAt']&&d['updatedAt']>=a['updatedAt']['gte']);if(a['updatedAt']['lte']!==void 0x0)c=c['filter'](d=>d['updatedAt']&&d['updatedAt']<=a['updatedAt']['lte']);}if(a?.['name']!=null||a?.['address'])c=c['map'](d=>{let e=0x0;if(a?.['name']!=null){const f=d['name']?.['toLowerCase']()||'',g=a['name']['toLowerCase']();if(f===g)e+=0x64;else{if(f['startsWith'](g))e+=0x32;else{if(f['includes'](g))e+=0x19;}}}if(a?.['address']){const h=d['address']['toLowerCase'](),i=a['address']['toLowerCase']();if(h===i)e+=0x64;else{if(h['startsWith'](i))e+=0x32;else{if(h['includes'](i))e+=0x19;}}}if((a?.['name']||a?.['address'])&&e===0x0)e=-0x1;return{'account':d,'score':e};})['filter'](({score:d})=>d>=0x0)['sort']((d,e)=>e['score']-d['score'])['map'](({account:d})=>d);return c['map'](d=>this['accountData'](d,a?.['includePubkey']))['filter'](d=>d!==void 0x0);}return[];}async['suspend'](a){return Account['_dataLock']['run'](async()=>{a=this['name_resolve'](a);const b=await this['getStorage'](),c=await b['get']();if(c){const d=JSON['parse'](c),e=d['find'](g=>g['address']['toLowerCase']()===a['toLowerCase']()||Account['nameMatch'](g['name'],a));if(e){const g=Date['now']();return e['suspendedName']=e['name']??'',e['suspended']=!![],e['name']=void 0x0,e['messenger']=![],e['updatedAt']=g,await b['put'](JSON['stringify'](d)),!![];}}return![];});}async['suspend_many'](a){return Account['_dataLock']['run'](async()=>{const b=await this['getStorage'](),c=await b['get'](),d={'success':[],'failed':[]};if(c){const e=JSON['parse'](c),g=Date['now']();let h=![];for(const i of a){const j=this['name_resolve'](i),k=e['find'](l=>l['address']['toLowerCase']()===j['toLowerCase']()||Account['nameMatch'](l['name'],j));if(k)k['suspended']=!![],k['name']=void 0x0,k['messenger']=![],k['updatedAt']=g,d['success']['push'](i),h=!![];else d['failed']['push'](i);}if(h)await b['put'](JSON['stringify'](e));}else d['failed']=[...a];return d;});}async['resume'](a,b){return Account['_dataLock']['run'](async()=>{b=this['name_resolve'](b),a=a['toLowerCase']();if(b&&!a76l(b))a76d('invalid\x20name','Name\x20'+b+'\x20is\x20exceeds\x20max\x2064');const c=await this['getStorage'](),d=await c['get']();if(d){const e=JSON['parse'](d);if(e['find'](h=>Account['nameMatch'](h['name'],b)))a76d('invalid\x20name','Name\x20\x22'+(b||'')+'\x22\x20already\x20exists');const g=e['find'](h=>h['address']['toLowerCase']()===a['toLowerCase']());if(g){const h=Date['now']();return g['suspended']=![],g['name']=b,g['suspendedName']=void 0x0,g['updatedAt']=h,await c['put'](JSON['stringify'](e)),!![];}}return![];});}async['faucet'](b,c){const d=await this['get_imp'](b);if(!d)throw new Error('Faucet\x20request\x20failed:\x20account\x20\x22'+(b??'<default>')+'\x22\x20not\x20found');const f=0x5,g=0xbb8;let h;for(let i=0x1;i<=f;i++)try{return(await a76h({'host':a76g(c),'recipient':d['address']}))['coins_sent']||[];}catch(j){h=j;if(j instanceof a76i&&i<f){await new Promise(k=>setTimeout(k,g));continue;}throw j;}throw h instanceof Error?h:new Error('Faucet\x20request\x20failed\x20after\x20retries');}async['sign_and_commit'](b,c,d){const e=await this['get_imp'](c);if(!e)return;const f=a76j['fromSecretKey'](e['secret']);if(!f)return;const g=await Config['Instance']()['network_get'](d),h=g+':'+e['address']['toLowerCase']();return Account['txLock'](h)['run'](async()=>{return new a76b({'url':a76e(g),'network':g})['signAndExecuteTransaction']({'transaction':b,'signer':f,'options':{'showObjectChanges':!![],'showEffects':!![],'showEvents':!![]}});});}async['refund_coin'](a,b,c){const d=await this['get_address'](c);if(!d)a76d('invalid\x20parameter','Invalid\x20to\x20address\x20or\x20name\x20'+c);a['transferObjects']([b],a['pure']['address'](d));}async['transfer'](a,b,c,d,e){const [f,g]=await this['get_many_imp']([d,c]);if(!f)a76d('invalid\x20parameter','Invalid\x20from\x20address\x20or\x20name\x20'+d);const h=g?.['address']??c;if(!h)a76d('invalid\x20parameter','Invalid\x20to\x20address\x20or\x20name\x20'+c);const i=a76j['fromSecretKey'](f['secret']);if(i){const j=new a76c(),k=await this['get_coin_object'](j,a,b,d,e);if(k){j['transferObjects']([k],h);const l=await Config['Instance']()['network_get'](e);return new a76b({'url':a76e(l),'network':l})['signAndExecuteTransaction']({'transaction':j,'signer':i,'options':{'showObjectChanges':!![],'showEffects':!![],'showEvents':!![]}});}}}async['sign'](a,b){const c=await this['get_imp'](a);if(!c?.['secret'])a76d('invalid\x20parameter','Account\x20not\x20found\x20or\x20no\x20secret\x20key:\x20'+a);const d=a76j['fromSecretKey'](c['secret']),e=typeof b==='string'?new TextEncoder()['encode'](b):b,f=await d['sign'](e);return'0x'+Buffer['from'](f)['toString']('hex');}async['signData'](a,b){const c=await this['get_imp'](a);if(!c?.['secret'])a76d('invalid\x20parameter','Account\x20not\x20found\x20or\x20no\x20secret\x20key:\x20'+a);const d=a76j['fromSecretKey'](c['secret']),e=typeof b==='string'?new TextEncoder()['encode'](b):b,f=await d['sign'](e);return{'signature':'0x'+Buffer['from'](f)['toString']('hex'),'publicKey':d['getPublicKey']()['toWowPublicKey'](),'address':c['address']};}async['deriveX25519Identity'](a){const b=await this['get_imp'](a);if(!b?.['secret'])a76d('invalid\x20parameter','Account\x20not\x20found\x20or\x20no\x20secret\x20key:\x20'+a);const c=a76f(b['secret'])['secretKey'],d=a76j['fromSecretKey'](b['secret'])['getPublicKey']()['toRawBytes'](),e=new TextEncoder()['encode']('WowokX25519IdentityDerivation'),f=hkdf(sha256,sha256(c),new Uint8Array(0x0),e,0x20);f[0x0]&=0xf8,f[0x1f]&=0x7f,f[0x1f]|=0x40;const g=x25519['getPublicKey'](f),h=g[0x0]<<0x8|g[0x1];return{'x25519KeyPair':{'publicKey':g,'privateKey':f},'falcon512KeyPair':{'publicKey':d,'privateKey':c},'registrationId':h===0x0?0x1:h};}async['set_messenger'](a,b){return Account['_dataLock']['run'](async()=>{const c=this['name_resolve'](a),d=await this['getStorage'](),e=await d['get']();if(!e)return![];const g=JSON['parse'](e),h=g['find'](j=>j['address']['toLowerCase']()===c['toLowerCase']()||Account['nameMatch'](j['name'],c));if(!h)return![];if(b){const j=g['filter'](k=>k['messenger']===!![]&&!k['suspended']&&k['address']!==h['address'])['length'];if(j>=0x14)a76d('invalid\x20parameter','Maximum\x2020\x20messenger\x20accounts\x20allowed,\x20current\x20count:\x20'+j);}const i=Date['now']();return h['messenger']=b,h['updatedAt']=i,await d['put'](JSON['stringify'](g)),!![];});}async['list_messenger_accounts'](){return this['list']({'hasMessenger':!![]});}async['count_messenger_accounts'](){const a=await(await this['getStorage']())['get']();if(!a)return 0x0;return JSON['parse'](a)['filter'](b=>b['messenger']===!![]&&!b['suspended'])['length'];}};export{Account,DEFAULT_ACCOUNT_NAME,MAX_ACCOUNTS,MAX_MESSENGER_ACCOUNTS};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as
|
|
2
|
-
export { Cache, CacheExpireType, CachePrefix, CachedData, IStorage };
|
|
1
|
+
import { a as CachedData, i as CacheTTLClass, n as CacheExpireType, o as IStorage, r as CachePrefix, t as Cache } from "../../cache-C5vEkZbd.mjs";
|
|
2
|
+
export { Cache, CacheExpireType, CachePrefix, CacheTTLClass, CachedData, IStorage };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as a77a,r as a77b}from'../../storage-
|
|
1
|
+
import{d as a77a,r as a77b}from'../../storage-BnZ78gPJ.mjs';let CacheTTLClass=function(a){return a['Immutable']='immutable',a['Long']='long',a['Medium']='medium',a['Short']='short',a;}({});const DEFAULT_TTL_MS={['immutable']:'INFINITE',['long']:0x4b0*0x3e8,['medium']:0x12c*0x3e8,['short']:0x78*0x3e8};function envTTLClassOverride(a){const b=process['env']['WOWOK_CACHE_TTL_'+a['toUpperCase']()];if(!b)return void 0x0;if(b['trim']()['toUpperCase']()==='INFINITE')return'INFINITE';const c=Number(b);return Number['isFinite'](c)&&c>=0x0?c:void 0x0;}let CachePrefix=function(a){return a['token']='token',a['object']='objectv2',a['personal']='personal',a['table']='table',a['config']='config',a['local_mark']='mark',a['local_info']='info',a['event']='event',a['transaction']='tx',a['entity']='entity',a['shared_object']='sharedobject',a['service_list']='servicelist',a['demand_list']='demandlist',a['arb_list']='arbitlist',a;}({});var Cache=class Cache{static{this['memory']=new Map();}static{this['keyLocks']=new Map();}static{this['inflight']=new Map();}static{this['MAX_CACHE_BYTES']=0x32*0x400*0x400;}static{this['PRUNE_CHECK_EVERY']=0xc8;}static{this['PRUNE_BATCH']=0xc8;}static{this['putCount']=0x0;}static{this['prunePromise']=null;}static async['pruneIfNeeded'](){const a=Cache['storage'];if(!a||typeof a['getStats']!=='function')return;if((await a['getStats']())['totalBytes']<=Cache['MAX_CACHE_BYTES'])return;if(typeof a['getOldestKeys']!=='function')return;const b=await a['getOldestKeys'](Cache['PRUNE_BATCH']);for(const c of b){Cache['memory']['delete'](c),await a['del'](c);}}static['maybePrune'](){if(++Cache['putCount']%Cache['PRUNE_CHECK_EVERY']!==0x0)return;if(Cache['prunePromise'])return;Cache['prunePromise']=Cache['pruneIfNeeded']()['catch'](()=>{})['finally'](()=>{Cache['prunePromise']=null;});}static['keyLock'](a){let b=Cache['keyLocks']['get'](a);return!b&&(b=new a77a(),Cache['keyLocks']['set'](a,b)),b;}static['setStorage'](a){Cache['storage']=a;}static['hasStorage'](){return Cache['storage']!==void 0x0&&Cache['storage']!==null;}static['initDefaultStorage'](){Cache['storage']=new a77b();}static{Cache['initDefaultStorage']();}static['notExpired'](a){if(!a?.['expire'])return![];if(a['expire']==='INFINITE')return!![];return a['expire']>Date['now']();}static{this['DefaultExpireTime']=a=>{if(a===!![])return'INFINITE';const b=typeof a==='string'?a:'short',d=envTTLClassOverride(b)??DEFAULT_TTL_MS[b]??DEFAULT_TTL_MS['short'];return d==='INFINITE'?'INFINITE':Date['now']()+d;};}static async['storeData'](a,b){Cache['hasStorage']()&&(await Cache['storage']['put'](a,JSON['stringify'](b)),Cache['maybePrune']()),Cache['memory']['set'](a,b);}static async['readStoredRaw'](a){const b=a['join'](':');if(Cache['hasStorage']()){const c=await Cache['storage']['get'](b);if(c)try{return JSON['parse'](c);}catch{return;}return;}return Cache['memory']['get'](b);}static async['read'](a,b,c){const d=a['join'](':');if(!c){if(Cache['memory']['has'](d)){const g=Cache['memory']['get'](d);if(Cache['notExpired'](g))return g;}if(Cache['hasStorage']()){const h=await Cache['storage']['get'](d);if(h){const i=JSON['parse'](h);if(Cache['notExpired'](i))return Cache['memory']['set'](d,i),i;}}const e=Cache['inflight']['get'](d);if(e)return e;const f=Cache['keyLock'](d)['run'](async()=>{const j=Cache['memory']['get'](d);if(j&&Cache['notExpired'](j))return j;const k=await b(a);if(!k)return void 0x0;return await Cache['storeData'](d,k),k;})['finally'](()=>{Cache['inflight']['delete'](d);});return Cache['inflight']['set'](d,f),f;}return Cache['keyLock'](d)['run'](async()=>{const j=await b(a);if(!j)return void 0x0;return await Cache['storeData'](d,j),j;});}static async['read_many'](a,b,c,d){if(!b||b['length']===0x0)return[];const f=new Array(b['length']),g=[],h=[];for(let j=0x0;j<b['length'];j++){const k=a+':'+b[j];let l;if(!d){if(Cache['memory']['has'](k)){const m=Cache['memory']['get'](k);if(Cache['notExpired'](m))l=m;}if(!l&&Cache['hasStorage']())try{const n=await Cache['storage']['get'](k);if(n){const o=JSON['parse'](n);Cache['notExpired'](o)&&(l=o,Cache['memory']['set'](k,o));}}catch(p){}}if(l)f[j]=l;else g['push'](b[j]),h['push'](j);}if(g['length']>0x0)try{const q=await c(a,g);if(q&&q['length']>0x0)for(let r=0x0;r<q['length'];r++){const s=q[r],t=a+':'+g[r],u=h[r];if(s)await Cache['storeData'](t,s),Cache['memory']['set'](t,s),f[u]=s;else{if(d)await Cache['del']([a,g[r]]);}}}catch(v){}return f['filter'](w=>w!==void 0x0);}static async['del'](a){const b=a['join'](':');Cache['memory']['delete'](b);if(Cache['hasStorage']())await Cache['storage']['del'](b);}static async['del_many'](a,b){if(!b||b['length']===0x0)return;for(const c of b){const d=a+':'+c;Cache['memory']['delete'](d);if(Cache['hasStorage']())await Cache['storage']['del'](d);}}static async['clearPrefix'](a){const b=a+':';for(const c of Cache['memory']['keys']())if(c['startsWith'](b))Cache['memory']['delete'](c);if(Cache['hasStorage']())await Cache['storage']['delByPrefix'](b);}static['clear'](){if(Cache['hasStorage']())Cache['storage']['clear']();else Cache['memory']['clear']();}};export{Cache,CachePrefix,CacheTTLClass};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as a78a}from'../../network-y8yMus5q.mjs';import{getWowDir}from'./util.mjs';import{d as a78b}from'../../storage-
|
|
1
|
+
import{t as a78a}from'../../network-y8yMus5q.mjs';import{getWowDir}from'./util.mjs';import{d as a78b}from'../../storage-BnZ78gPJ.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{d as a79a,n as a79b}from'../../../storage-
|
|
1
|
+
import{d as a79a,n as a79b}from'../../../storage-BnZ78gPJ.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,3 +1,3 @@
|
|
|
1
1
|
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";
|
|
2
|
-
import { a as EvmTransactionReceipt, i as EvmLog, n as EvmAccountData, o as EvmTransactionRequest, r as EvmAccountFilter, t as EvmAccount } from "../../evm-account-
|
|
2
|
+
import { a as EvmTransactionReceipt, i as EvmLog, n as EvmAccountData, o as EvmTransactionRequest, r as EvmAccountFilter, t as EvmAccount } from "../../evm-account-BIyan_LX.mjs";
|
|
3
3
|
export { EvmAccount, EvmAccountData, EvmAccountFilter, EvmLog, EvmTransactionReceipt, EvmTransactionRequest, bytesToBigInt, bytesToHex, hexToBytes, isValidEvmAddress, privateKeyToAddress, signEIP1559, signLegacy, toChecksumAddress };
|
|
@@ -1 +1 @@
|
|
|
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
|
+
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-BnZ78gPJ.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,10 +1,10 @@
|
|
|
1
|
-
import { $b as
|
|
1
|
+
import { $b as LocalInfoOperationResult, Cx as AccountFilter, Dx as MAX_MESSENGER_ACCOUNTS, Ex as MAX_ACCOUNTS, Gb as AccountOperationResult, Jb as FetchTokenInfoOperation, Kb as AccountOrMark_Address, Qb as LocalInfoOperation, Sx as AccountData, Tx as FaucetCoinInfo, Wb as AccountOperation, Xb as GetLocalNamesByAddresses, Yb as GetAccountOrMark_Address, Zb as GetManyAccountOrMark_Address, _x as query_local_token_list, ax as QueryAccountResult, bx as TokenTypeInfo, cx as local_info_operation, dx as query_account_list, ex as LocalMarkOperation, fx as query_local_info, gx as query_local_mark_list, hx as query_local_mark, ix as QueryAccount, lx as local_mark_operation, mx as query_local_info_list, nx as LocalNameByAddress, ox as account_operation, px as query_local_info_default, qb as FaucetNetwork, rx as ManyAccountOrMark_Address, sx as fetch_token_info_operation, tx as LocalMarkOperationResult, ux as query_account, vx as TokenDataFilter, wx as DEFAULT_ACCOUNT_NAME, xx as Account, yx as TokenInfo } from "../../index-2ntZAxNs.mjs";
|
|
2
2
|
import { n as ConfigData, t as Config } from "../../config-DyKCZw0u.mjs";
|
|
3
|
-
import { a as SQLiteStorage, n as IStorage, o as UserModeRecord, s as UserModeStorage, t as IAccountStorage } from "../../storage-
|
|
4
|
-
import { a as SecureEnvelope, i as SecureAccountStorage, n as EncryptionMode, r as KeyMetadata, t as CryptoVault } from "../../secure-storage-
|
|
3
|
+
import { a as SQLiteStorage, n as IStorage, o as UserModeRecord, s as UserModeStorage, t as IAccountStorage } from "../../storage-C2pp9602.mjs";
|
|
4
|
+
import { a as SecureEnvelope, i as SecureAccountStorage, n as EncryptionMode, r as KeyMetadata, t as CryptoVault } from "../../secure-storage-BKJ5fAL_.mjs";
|
|
5
5
|
import { _ as isValidAddress, a as LocalInfoContentMaxCount, c as LocalInfoNameDefault, d as LocalMarkFilter, f as LocalMarkNameMaxLength, g as MarkParam, h as MarkData, i as LocalInfo, l as LocalInfoNameMaxLength, m as LocalMarkTagMaxLength, n as InfoData, o as LocalInfoContentMaxLength, p as LocalMarkTagMaxCount, r as InfoDataInner, s as LocalInfoFilter, t as BUITIN_IDS, u as LocalMark } from "../../local-CC1Zd3Pp.mjs";
|
|
6
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
|
-
import { a as EvmTransactionReceipt, i as EvmLog, n as EvmAccountData, o as EvmTransactionRequest, r as EvmAccountFilter, t as EvmAccount } from "../../evm-account-
|
|
7
|
+
import { a as EvmTransactionReceipt, i as EvmLog, n as EvmAccountData, o as EvmTransactionRequest, r as EvmAccountFilter, t as EvmAccount } from "../../evm-account-BIyan_LX.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
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";
|
|
@@ -1 +1 @@
|
|
|
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-
|
|
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-BnZ78gPJ.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};
|