@wowok/wowok 2.3.7 → 2.3.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/dist/esm/Transaction-B_HAG_T7.mjs +1 -0
  2. package/dist/esm/arb-Be5KiDXS.mjs +1 -0
  3. package/dist/esm/base-CiXs-ApK.mjs +1 -0
  4. package/dist/esm/bcs/index.d.mts +1 -1
  5. package/dist/esm/{cache-DTr3MtXv.d.mts → cache-CWB_UDG2.d.mts} +6 -0
  6. package/dist/esm/call-BjhpVeiy.mjs +1 -0
  7. package/dist/esm/client/index.d.mts +1 -1
  8. package/dist/esm/client/index.mjs +1 -1
  9. package/dist/esm/{client-VxiBQfen.mjs → client-D6nQHb4K.mjs} +1 -1
  10. package/dist/esm/common-CQggZ8z4.mjs +1 -0
  11. package/dist/esm/cryptography/index.d.mts +1 -1
  12. package/dist/esm/cryptography/index.mjs +1 -1
  13. package/dist/esm/ed25519-BrJWQ45w.mjs +1 -1
  14. package/dist/esm/evm-account-BPYk6EpK.d.mts +259 -0
  15. package/dist/esm/exception--UEPnygY.mjs +1 -0
  16. package/dist/esm/{falcon512-J8Pe5emy.mjs → falcon512-B4y-EH2f.mjs} +1 -1
  17. package/dist/esm/graphql/index.d.mts +1 -1
  18. package/dist/esm/graphql/index.mjs +1 -1
  19. package/dist/esm/{graphql-BXSiG4J0.mjs → graphql-nv5poiC5.mjs} +1 -1
  20. package/dist/esm/grpc/index.d.mts +1 -1
  21. package/dist/esm/grpc/index.mjs +1 -1
  22. package/dist/esm/{grpc-clMX5Wo0.mjs → grpc-BffnRW4z.mjs} +1 -1
  23. package/dist/esm/{index-o_aMVwsK.d.mts → index-B-cxGU73.d.mts} +6 -6
  24. package/dist/esm/{index-Q3W63gcw.d.mts → index-D5-7_Kub.d.mts} +719 -297
  25. package/dist/esm/index.d.mts +8 -6
  26. package/dist/esm/index.mjs +1 -1
  27. package/dist/esm/jsonRpc/index.d.mts +1 -1
  28. package/dist/esm/jsonRpc/index.mjs +1 -1
  29. package/dist/esm/keypairs/ed25519/index.d.mts +1 -1
  30. package/dist/esm/keypairs/falcon512/index.d.mts +1 -1
  31. package/dist/esm/keypairs/falcon512/index.mjs +1 -1
  32. package/dist/esm/keypairs/passkey/index.d.mts +1 -1
  33. package/dist/esm/keypairs/passkey/index.mjs +1 -1
  34. package/dist/esm/keypairs/secp256k1/index.d.mts +1 -1
  35. package/dist/esm/keypairs/secp256k1/index.mjs +1 -1
  36. package/dist/esm/keypairs/secp256r1/index.d.mts +1 -1
  37. package/dist/esm/keypairs/secp256r1/index.mjs +1 -1
  38. package/dist/esm/messenger-api-BEWdcJrA.mjs +1 -0
  39. package/dist/esm/{messenger-Bokr4-T2.mjs → messenger-loQQ45UB.mjs} +1 -1
  40. package/dist/esm/multisig/index.d.mts +1 -1
  41. package/dist/esm/multisig/index.mjs +1 -1
  42. package/dist/esm/{network-DOe6BgcD.mjs → network-CeDd07Hg.mjs} +1 -1
  43. package/dist/esm/{networks-DhrBVvu6.d.mts → networks-CEYOA-1U.d.mts} +95 -16
  44. package/dist/esm/object-BTDJEtwG.mjs +1 -0
  45. package/dist/esm/passkey-D0XCtEYg.mjs +1 -0
  46. package/dist/esm/proof-CnI3UU0l.mjs +1 -0
  47. package/dist/esm/publickey-BPT9QiGv.mjs +1 -1
  48. package/dist/esm/{publickey-S1fGFYJX.mjs → publickey-Bkjn-YAu.mjs} +1 -1
  49. package/dist/esm/publickey-qLbcTInT.mjs +1 -1
  50. package/dist/esm/publickey-zB4h0HOi.mjs +1 -1
  51. package/dist/esm/received-CJvBDSIl.mjs +1 -0
  52. package/dist/esm/{rlp-BcIAoIV4.d.mts → rlp-Do3rPWRV.d.mts} +9 -1
  53. package/dist/esm/rolldown-runtime-D7D4PA-g.mjs +1 -0
  54. package/dist/esm/secp256k1-B-8mI0dI.mjs +1 -0
  55. package/dist/esm/secp256r1-B3O6jSlP.mjs +1 -0
  56. package/dist/esm/secure-storage-DRwhPVz3.d.mts +95 -0
  57. package/dist/esm/service-BLRHy6cG.mjs +1 -0
  58. package/dist/esm/storage-Ct2mZnD0.d.mts +69 -0
  59. package/dist/esm/transactions/index.d.mts +1 -1
  60. package/dist/esm/transactions/index.mjs +1 -1
  61. package/dist/esm/{transactions-CDWnTSTU.mjs → transactions-rYyItYOR.mjs} +1 -1
  62. package/dist/esm/util-YC562UOE.mjs +1 -0
  63. package/dist/esm/utils/index.mjs +1 -1
  64. package/dist/esm/utils-IlS3fpdQ.mjs +1 -1
  65. package/dist/esm/verify/index.d.mts +1 -1
  66. package/dist/esm/verify/index.mjs +1 -1
  67. package/dist/esm/w/call/allocation.d.mts +1 -1
  68. package/dist/esm/w/call/allocation.mjs +1 -1
  69. package/dist/esm/w/call/arbitration.d.mts +1 -1
  70. package/dist/esm/w/call/arbitration.mjs +1 -1
  71. package/dist/esm/w/call/base.d.mts +1 -1
  72. package/dist/esm/w/call/base.mjs +1 -1
  73. package/dist/esm/w/call/demand.d.mts +1 -1
  74. package/dist/esm/w/call/demand.mjs +1 -1
  75. package/dist/esm/w/call/guard.d.mts +1 -1
  76. package/dist/esm/w/call/guard.mjs +1 -1
  77. package/dist/esm/w/call/index.d.mts +2 -2
  78. package/dist/esm/w/call/index.mjs +1 -1
  79. package/dist/esm/w/call/machine.d.mts +1 -1
  80. package/dist/esm/w/call/machine.mjs +1 -1
  81. package/dist/esm/w/call/passport.d.mts +1 -1
  82. package/dist/esm/w/call/passport.mjs +1 -1
  83. package/dist/esm/w/call/payment.d.mts +1 -1
  84. package/dist/esm/w/call/payment.mjs +1 -1
  85. package/dist/esm/w/call/permission.d.mts +1 -1
  86. package/dist/esm/w/call/permission.mjs +1 -1
  87. package/dist/esm/w/call/progress.d.mts +1 -1
  88. package/dist/esm/w/call/progress.mjs +1 -1
  89. package/dist/esm/w/call/repository.d.mts +1 -1
  90. package/dist/esm/w/call/repository.mjs +1 -1
  91. package/dist/esm/w/call/reward.d.mts +1 -1
  92. package/dist/esm/w/call/reward.mjs +1 -1
  93. package/dist/esm/w/call/service.d.mts +1 -1
  94. package/dist/esm/w/call/service.mjs +1 -1
  95. package/dist/esm/w/call/treasury.d.mts +1 -1
  96. package/dist/esm/w/call/treasury.mjs +1 -1
  97. package/dist/esm/w/common.d.mts +1 -1
  98. package/dist/esm/w/common.mjs +1 -1
  99. package/dist/esm/w/index.d.mts +7 -5
  100. package/dist/esm/w/index.mjs +1 -1
  101. package/dist/esm/w/local/account.d.mts +3 -2
  102. package/dist/esm/w/local/account.mjs +1 -1
  103. package/dist/esm/w/local/cache.d.mts +1 -1
  104. package/dist/esm/w/local/cache.mjs +1 -1
  105. package/dist/esm/w/local/config.mjs +1 -1
  106. package/dist/esm/w/local/evm/networks.d.mts +1 -1
  107. package/dist/esm/w/local/evm/networks.mjs +1 -1
  108. package/dist/esm/w/local/evm/rlp.d.mts +2 -2
  109. package/dist/esm/w/local/evm/rlp.mjs +1 -1
  110. package/dist/esm/w/local/evm-account.d.mts +3 -3
  111. package/dist/esm/w/local/evm-account.mjs +1 -1
  112. package/dist/esm/w/local/index.d.mts +7 -5
  113. package/dist/esm/w/local/index.mjs +1 -1
  114. package/dist/esm/w/local/local.mjs +1 -1
  115. package/dist/esm/w/local/secure-storage.d.mts +2 -0
  116. package/dist/esm/w/local/secure-storage.mjs +1 -0
  117. package/dist/esm/w/local/storage.d.mts +2 -53
  118. package/dist/esm/w/local/storage.mjs +1 -1
  119. package/dist/esm/w/local/token.d.mts +1 -1
  120. package/dist/esm/w/local/token.mjs +1 -1
  121. package/dist/esm/w/local/util.mjs +1 -1
  122. package/dist/esm/w/local/wip.mjs +1 -1
  123. package/dist/esm/w/messenger/index.d.mts +1 -1
  124. package/dist/esm/w/messenger/index.mjs +1 -1
  125. package/dist/esm/w/messenger/messenger-api.d.mts +1 -1
  126. package/dist/esm/w/messenger/messenger-api.mjs +1 -1
  127. package/dist/esm/w/messenger/messenger.d.mts +1 -1
  128. package/dist/esm/w/messenger/messenger.mjs +1 -1
  129. package/dist/esm/w/messenger/pq/crypto.mjs +1 -1
  130. package/dist/esm/w/messenger/pq/erasure.mjs +1 -1
  131. package/dist/esm/w/messenger/storage.d.mts +1 -1
  132. package/dist/esm/w/messenger/storage.mjs +1 -1
  133. package/dist/esm/w/messenger/types.d.mts +1 -1
  134. package/dist/esm/w/messenger/types.mjs +1 -1
  135. package/dist/esm/w/query/index.d.mts +1 -1
  136. package/dist/esm/w/query/index.mjs +1 -1
  137. package/dist/esm/w/query/object.d.mts +1 -1
  138. package/dist/esm/w/query/object.mjs +1 -1
  139. package/dist/esm/w-ChCuDlfz.mjs +1 -0
  140. package/package.json +4 -4
  141. package/dist/esm/Transaction-YosVjNZA.mjs +0 -1
  142. package/dist/esm/arb-NYOQp2oH.mjs +0 -1
  143. package/dist/esm/base-fdHKX-jS.mjs +0 -1
  144. package/dist/esm/bridge-AHnWGzN1.mjs +0 -1
  145. package/dist/esm/call-7FZbEsRl.mjs +0 -1
  146. package/dist/esm/common-fDv-Cuzq.mjs +0 -1
  147. package/dist/esm/evm-account-XzrSThfS.d.mts +0 -185
  148. package/dist/esm/local-c-Tbdkfa.mjs +0 -1
  149. package/dist/esm/messenger-api-1m7Lp85p.mjs +0 -1
  150. package/dist/esm/object-DzsQI-0e.mjs +0 -1
  151. package/dist/esm/passkey-Dh6btBAD.mjs +0 -1
  152. package/dist/esm/proof-DER5SXw4.mjs +0 -1
  153. package/dist/esm/received-D7jEPxlE.mjs +0 -1
  154. package/dist/esm/rolldown-runtime-DkIiUugF.mjs +0 -1
  155. package/dist/esm/secp256k1-BZUdTK1D.mjs +0 -1
  156. package/dist/esm/secp256r1-COXOSFIF.mjs +0 -1
  157. package/dist/esm/service-W7-dgV57.mjs +0 -1
  158. package/dist/esm/util-B3X9acB0.mjs +0 -1
  159. package/dist/esm/w/call/bridge.d.mts +0 -2
  160. package/dist/esm/w/call/bridge.mjs +0 -1
  161. package/dist/esm/w-5GiAI3sP.mjs +0 -1
@@ -1 +1 @@
1
- import{t as a103a}from'../../client-VxiBQfen.mjs';import{n as a103b}from'../../network-DOe6BgcD.mjs';import{A as a103c,D as a103d,E as a103e,M as a103f,a as a103g,j as a103h,n as a103i,o as a103j,s as a103k}from'../../common-fDv-Cuzq.mjs';import{Cache}from'../local/cache.mjs';import{Config}from'../local/config.mjs';import{A as a103l,B as a103m,C as a103n,D as a103o,E as a103p,F as a103q,H as a103r,I as a103s,L as a103t,M as a103u,N as a103v,O as a103w,P as a103x,R as a103y,S as a103z,T as a103A,U as a103B,V as a103C,X as a103D,_ as a103E,a as a103F,b as a103G,c as a103H,d as a103I,f as a103J,g as a103K,h as a103L,i as a103M,j as a103N,k as a103O,l as a103P,m as a103Q,n as a103R,o as a103S,p as a103T,r as a103U,s as a103V,t as a103W,u as a103X,v as a103Y,w as a103Z,x as a103a0,y as a103a1,z as a103a2}from'../../object-DzsQI-0e.mjs';import{t as a103a3}from'../../received-D7jEPxlE.mjs';import{query_permissions}from'../call/permission.mjs';import{n as a103a4,t as a103a5}from'../../util-B3X9acB0.mjs';const query_events_json=async a=>{try{const b=JSON['parse'](a);return JSON['stringify']({'data':await query_events(b)});}catch(c){return JSON['stringify']({'error':c?.['toString']()});}},query_events=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=a['cursor']?a['cursor']['eventSeq']+':'+a['cursor']['txDigest']:'',e=a['limit']?.['toString']()??'',f=a['order']??'',g=await Cache['read'](['event',a['type'],c,e,f,b],async()=>{const h=await events(a['type'],a);return{'expire':Cache['DefaultExpireTime'](),'data':h};},a['no_cache']);if(g){const h=g['data'];return h['cache_expire']=g['expire'],h;}},events=async(a,b)=>{const c=await Config['Instance']()['network_get'](b['network']),d=new a103a({'url':a103b(c),'network':c}),e=a==='ArbEvent'||a==='NewOrderEvent'||a==='ProgressEvent'||a==='DemandPresentEvent'||a==='DemandFeedbackEvent'||a==='NewEntityEvent';let f;if(e)f='0x2'+{'ArbEvent':'::arb::ArbEvent','NewOrderEvent':'::order::NewOrderEvent','ProgressEvent':'::progress::ProgressEvent','DemandPresentEvent':'::demand::PresentEvent','DemandFeedbackEvent':'::demand::DemandEvent','NewEntityEvent':'::entity::NewEntityEvent'}[a];else f=a;const g=await d['queryEvents']({'query':{'MoveEventType':f},'cursor':b['cursor'],'limit':b['limit'],'order':b['order']==='descending'?'descending':'ascending'});return{'data':g?.['data']?.['map'](h=>{if(h?.['packageId']==='0x2'){if(h?.['type']?.['includes']('::order::NewOrderEvent'))return{'id':h?.['id'],'time':h?.['timestampMs'],'type_raw':h?.['type'],'sender':h?.['sender'],'type':'NewOrderEvent','order':h?.['parsedJson']?.['object'],'service':h?.['parsedJson']?.['service'],'progress':h?.['parsedJson']?.['progress']?.['some']??null,'amount':h?.['parsedJson']?.['amount'],'discount':h?.['parsedJson']?.['discount']?.['some']??null,'allocation':h?.['parsedJson']?.['allocation']?.['some']??null};else{if(h?.['type']?.['includes']('::demand::PresentEvent'))return{'id':h?.['id'],'time':h?.['timestampMs'],'type_raw':h?.['type'],'sender':h?.['sender'],'type':'DemandPresentEvent','demand':h?.['parsedJson']?.['object'],'service':h?.['parsedJson']?.['service']?.['some']??null,'recommend':h?.['parsedJson']?.['tips']};else{if(h?.['type']?.['includes']('::demand::DemandEvent'))return{'id':h?.['id'],'time':h?.['timestampMs'],'type_raw':h?.['type'],'sender':h?.['sender'],'type':'DemandFeedbackEvent','demand':h?.['parsedJson']?.['object'],'service':h?.['parsedJson']?.['service']?.['some']??null,'feedback':h?.['parsedJson']?.['feedback'],'acceptance_score':h?.['parsedJson']?.['acceptance_score']?.['some']??null};else{if(h?.['type']?.['includes']('::progress::ProgressEvent'))return{'id':h?.['id'],'time':h?.['timestampMs'],'type_raw':h?.['type'],'sender':h?.['sender'],'type':'ProgressEvent','progress':h?.['parsedJson']?.['object'],'machine':h?.['parsedJson']?.['machine'],'task':h?.['parsedJson']?.['task'],'node':h?.['parsedJson']?.['node'],'forward':h?.['parsedJson']?.['forward'],'hold':h?.['parsedJson']?.['hold']};else{if(h?.['type']?.['includes']('::arb::ArbEvent'))return{'id':h?.['id'],'time':h?.['timestampMs'],'type_raw':h?.['type'],'sender':h?.['sender'],'type':'ArbEvent','arb':h?.['parsedJson']?.['object'],'arbitration':h?.['parsedJson']?.['arbitration'],'order':h?.['parsedJson']?.['order'],'status':h?.['parsedJson']?.['status']};else{if(h?.['type']?.['includes']('::entity::NewEntityEvent'))return{'id':h?.['id'],'time':h?.['timestampMs'],'type_raw':h?.['type'],'sender':h?.['sender'],'type':'NewEntityEvent','resource':h?.['parsedJson']?.['resource'],'address':h?.['sender'],'referrer':h?.['parsedJson']?.['referrer']?.['some']??null};}}}}}}return{'id':h?.['id'],'time':h?.['timestampMs'],'type_raw':h?.['type'],'sender':h?.['sender'],'type':h?.['type'],'parsedJson_raw':h?.['parsedJson']};}),'hasNextPage':g?.['hasNextPage'],'nextCursor':g?.['nextCursor']};},INFO_CONSTANT={'type':'constants','constants':[{'name':'Protocol\x20Package\x20ID','value':'0x2','description':'Protocol\x20package\x20ID'},{'name':'Gas\x20Token\x20Type','value':a103k,'description':'Gas\x20token\x20type'},{'name':'Gas\x20Coin\x20Type','value':a103j,'description':'Gas\x20coin\x20type'},{'name':'Entity\x20Linker\x20ID','value':a103c,'description':'Entity\x20Linker\x20ID'},{'name':'Entity\x20Registrar\x20ID','value':a103g,'description':'Entity\x20registrar\x20ID'}],'value_types':Object['entries'](a103h)['filter'](([a,b])=>isNaN(Number(a))&&a!=='Value')['map'](([a,b])=>({'name':a,'value':a,'description':'Value\x20type\x20'+a+'\x20=\x20'+b})),'object_types':Object['values'](a103e)['map'](a=>({'name':a,'value':a,'description':'Object\x20type\x20'+a})),'guard_instructions':Object['values'](a103d)['map'](a=>({'name':a,'value':a,'description':'Guard\x20instruction\x20'+a})),'guard_contexts':Object['values'](a103i)['map'](a=>({'name':a,'value':a,'description':'Guard\x20context\x20'+a})),'guard_witnesses':Object['values'](a103f)['map'](a=>({'name':a,'value':a,'description':'Guard\x20witness\x20'+a}))};async function queryProtocolInfo(a){switch(a['info']){case'constants':return{'info':'constants','result':INFO_CONSTANT['constants']};case'built-in\x20permissions':return{'info':'built-in\x20permissions','result':queryPermissions(a['filter']||{})};case'guard\x20instructions':return{'info':'guard\x20instructions','result':a103D(a['filter']||{})};case'current\x20network':return{'info':'current\x20network','result':await Config['Instance']()['network_get']()};case'value\x20types':return{'info':'value\x20types','result':INFO_CONSTANT['value_types']};default:throw new Error('Unsupported\x20info\x20type:\x20\x22'+a['info']+'\x22.\x20Valid\x20are:\x20\x22constants\x22,\x20\x22built-in\x20permissions\x22,\x20\x22guard\x20instructions\x22,\x20\x22current\x20network\x22,\x20\x22value\x20types\x22');}}function queryPermissions(a){return query_permissions(a);}export{a103W as AllocationMode,a103R as AmountType,a103U as ArbStatus,a103M as DiscountType,INFO_CONSTANT,a103F as IdFrom,a103S as MAX_OBJECTS_PER_QUERY,a103V as OBJECT_TYPE_DEFINITIONS,a103e as ObjectType,a103H as TreasuryOp,a103P as WitnessSourceType,a103X as WitnessTargetType,a103I as data2object,a103J as getMoveNameFromNumber,a103T as getMoveNameFromObjectType,a103Q as getNumberFromMoveName,a103L as getNumberFromObjectType,a103K as getNumbersFromObjectTypes,a103E as getObjectTypeDefinition,a103Y as getObjectTypeDefinitionFromNumber,a103a1 as getObjectTypeFromMoveName,a103G as getObjectTypeFromNumber,a103a0 as getObjectTypesFromNumbers,a103z as idFromToString,a103n as isValidIdFromInput,a103Z as numberToObjectType,a103A as objectTypeToNumber,a103p as parseIdFrom,a103a5 as queryObjectWithType,a103a4 as queryObjectsWithType,queryPermissions,queryProtocolInfo,a103o as queryTableItem_AddressMark,a103w as queryTableItem_DemandPresenter,a103O as queryTableItem_EntityLinker,a103l as queryTableItem_EntityRegistrar,a103N as queryTableItem_MachineNode,a103u as queryTableItem_PermissionPerm,a103v as queryTableItem_ProgressHistory,a103x as queryTableItem_RepositoryData,a103q as queryTableItem_RewardRecord,a103s as queryTableItem_TreasuryHistory,query_events,query_events_json,a103t as query_objects,a103y as query_objects_json,a103a2 as query_personal,a103a3 as query_received,a103m as query_table,a103C as query_tableItem,a103r as query_table_json,a103B as raw2type};
1
+ import{t as a102a}from'../../client-D6nQHb4K.mjs';import{n as a102b}from'../../network-CeDd07Hg.mjs';import{A as a102c,D as a102d,E as a102e,M as a102f,a as a102g,j as a102h,n as a102i,o as a102j,s as a102k}from'../../common-CQggZ8z4.mjs';import{Cache}from'../local/cache.mjs';import{Config}from'../local/config.mjs';import{A as a102l,B as a102m,C as a102n,D as a102o,E as a102p,F as a102q,H as a102r,I as a102s,L as a102t,M as a102u,N as a102v,O as a102w,P as a102x,R as a102y,S as a102z,T as a102A,U as a102B,V as a102C,X as a102D,_ as a102E,a as a102F,b as a102G,c as a102H,d as a102I,f as a102J,g as a102K,h as a102L,i as a102M,j as a102N,k as a102O,l as a102P,m as a102Q,n as a102R,o as a102S,p as a102T,r as a102U,s as a102V,t as a102W,u as a102X,v as a102Y,w as a102Z,x as a102a0,y as a102a1,z as a102a2}from'../../object-BTDJEtwG.mjs';import{t as a102a3}from'../../received-CJvBDSIl.mjs';import{query_permissions}from'../call/permission.mjs';import{n as a102a4,t as a102a5}from'../../util-YC562UOE.mjs';const query_events_json=async a=>{try{const b=JSON['parse'](a);return JSON['stringify']({'data':await query_events(b)});}catch(c){return JSON['stringify']({'error':c?.['toString']()});}},query_events=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=a['cursor']?a['cursor']['eventSeq']+':'+a['cursor']['txDigest']:'',e=a['limit']?.['toString']()??'',f=a['order']??'',g=await Cache['read'](['event',a['type'],c,e,f,b],async()=>{const h=await events(a['type'],a);return{'expire':Cache['DefaultExpireTime'](),'data':h};},a['no_cache']);if(g){const h=g['data'];return h['cache_expire']=g['expire'],h;}},events=async(a,b)=>{const c=await Config['Instance']()['network_get'](b['network']),d=new a102a({'url':a102b(c),'network':c}),e=a==='ArbEvent'||a==='NewOrderEvent'||a==='ProgressEvent'||a==='DemandPresentEvent'||a==='DemandFeedbackEvent'||a==='NewEntityEvent';let f;if(e)f='0x2'+{'ArbEvent':'::arb::ArbEvent','NewOrderEvent':'::order::NewOrderEvent','ProgressEvent':'::progress::ProgressEvent','DemandPresentEvent':'::demand::PresentEvent','DemandFeedbackEvent':'::demand::DemandEvent','NewEntityEvent':'::entity::NewEntityEvent'}[a];else f=a;const g=await d['queryEvents']({'query':{'MoveEventType':f},'cursor':b['cursor'],'limit':b['limit'],'order':b['order']==='descending'?'descending':'ascending'});return{'data':g?.['data']?.['map'](h=>{if(h?.['packageId']==='0x2'){if(h?.['type']?.['includes']('::order::NewOrderEvent'))return{'id':h?.['id'],'time':h?.['timestampMs'],'type_raw':h?.['type'],'sender':h?.['sender'],'type':'NewOrderEvent','order':h?.['parsedJson']?.['object'],'service':h?.['parsedJson']?.['service'],'progress':h?.['parsedJson']?.['progress']?.['some']??null,'amount':h?.['parsedJson']?.['amount'],'discount':h?.['parsedJson']?.['discount']?.['some']??null,'allocation':h?.['parsedJson']?.['allocation']?.['some']??null};else{if(h?.['type']?.['includes']('::demand::PresentEvent'))return{'id':h?.['id'],'time':h?.['timestampMs'],'type_raw':h?.['type'],'sender':h?.['sender'],'type':'DemandPresentEvent','demand':h?.['parsedJson']?.['object'],'service':h?.['parsedJson']?.['service']?.['some']??null,'recommend':h?.['parsedJson']?.['tips']};else{if(h?.['type']?.['includes']('::demand::DemandEvent'))return{'id':h?.['id'],'time':h?.['timestampMs'],'type_raw':h?.['type'],'sender':h?.['sender'],'type':'DemandFeedbackEvent','demand':h?.['parsedJson']?.['object'],'service':h?.['parsedJson']?.['service']?.['some']??null,'feedback':h?.['parsedJson']?.['feedback'],'acceptance_score':h?.['parsedJson']?.['acceptance_score']?.['some']??null};else{if(h?.['type']?.['includes']('::progress::ProgressEvent'))return{'id':h?.['id'],'time':h?.['timestampMs'],'type_raw':h?.['type'],'sender':h?.['sender'],'type':'ProgressEvent','progress':h?.['parsedJson']?.['object'],'machine':h?.['parsedJson']?.['machine'],'task':h?.['parsedJson']?.['task'],'node':h?.['parsedJson']?.['node'],'forward':h?.['parsedJson']?.['forward'],'hold':h?.['parsedJson']?.['hold']};else{if(h?.['type']?.['includes']('::arb::ArbEvent'))return{'id':h?.['id'],'time':h?.['timestampMs'],'type_raw':h?.['type'],'sender':h?.['sender'],'type':'ArbEvent','arb':h?.['parsedJson']?.['object'],'arbitration':h?.['parsedJson']?.['arbitration'],'order':h?.['parsedJson']?.['order'],'status':h?.['parsedJson']?.['status']};else{if(h?.['type']?.['includes']('::entity::NewEntityEvent'))return{'id':h?.['id'],'time':h?.['timestampMs'],'type_raw':h?.['type'],'sender':h?.['sender'],'type':'NewEntityEvent','resource':h?.['parsedJson']?.['resource'],'address':h?.['sender'],'referrer':h?.['parsedJson']?.['referrer']?.['some']??null};}}}}}}return{'id':h?.['id'],'time':h?.['timestampMs'],'type_raw':h?.['type'],'sender':h?.['sender'],'type':h?.['type'],'parsedJson_raw':h?.['parsedJson']};}),'hasNextPage':g?.['hasNextPage'],'nextCursor':g?.['nextCursor']};},INFO_CONSTANT={'type':'constants','constants':[{'name':'Protocol\x20Package\x20ID','value':'0x2','description':'Protocol\x20package\x20ID'},{'name':'Gas\x20Token\x20Type','value':a102k,'description':'Gas\x20token\x20type'},{'name':'Gas\x20Coin\x20Type','value':a102j,'description':'Gas\x20coin\x20type'},{'name':'Entity\x20Linker\x20ID','value':a102c,'description':'Entity\x20Linker\x20ID'},{'name':'Entity\x20Registrar\x20ID','value':a102g,'description':'Entity\x20registrar\x20ID'}],'value_types':Object['entries'](a102h)['filter'](([a,b])=>isNaN(Number(a))&&a!=='Value')['map'](([a,b])=>({'name':a,'value':a,'description':'Value\x20type\x20'+a+'\x20=\x20'+b})),'object_types':Object['values'](a102e)['map'](a=>({'name':a,'value':a,'description':'Object\x20type\x20'+a})),'guard_instructions':Object['values'](a102d)['map'](a=>({'name':a,'value':a,'description':'Guard\x20instruction\x20'+a})),'guard_contexts':Object['values'](a102i)['map'](a=>({'name':a,'value':a,'description':'Guard\x20context\x20'+a})),'guard_witnesses':Object['values'](a102f)['map'](a=>({'name':a,'value':a,'description':'Guard\x20witness\x20'+a}))};async function queryProtocolInfo(a){switch(a['info']){case'constants':return{'info':'constants','result':INFO_CONSTANT['constants']};case'built-in\x20permissions':return{'info':'built-in\x20permissions','result':queryPermissions(a['filter']||{})};case'guard\x20instructions':return{'info':'guard\x20instructions','result':a102D(a['filter']||{})};case'current\x20network':return{'info':'current\x20network','result':await Config['Instance']()['network_get']()};case'value\x20types':return{'info':'value\x20types','result':INFO_CONSTANT['value_types']};default:throw new Error('Unsupported\x20info\x20type:\x20\x22'+a['info']+'\x22.\x20Valid\x20are:\x20\x22constants\x22,\x20\x22built-in\x20permissions\x22,\x20\x22guard\x20instructions\x22,\x20\x22current\x20network\x22,\x20\x22value\x20types\x22');}}function queryPermissions(a){return query_permissions(a);}export{a102W as AllocationMode,a102R as AmountType,a102U as ArbStatus,a102M as DiscountType,INFO_CONSTANT,a102F as IdFrom,a102S as MAX_OBJECTS_PER_QUERY,a102V as OBJECT_TYPE_DEFINITIONS,a102e as ObjectType,a102H as TreasuryOp,a102P as WitnessSourceType,a102X as WitnessTargetType,a102I as data2object,a102J as getMoveNameFromNumber,a102T as getMoveNameFromObjectType,a102Q as getNumberFromMoveName,a102L as getNumberFromObjectType,a102K as getNumbersFromObjectTypes,a102E as getObjectTypeDefinition,a102Y as getObjectTypeDefinitionFromNumber,a102a1 as getObjectTypeFromMoveName,a102G as getObjectTypeFromNumber,a102a0 as getObjectTypesFromNumbers,a102z as idFromToString,a102n as isValidIdFromInput,a102Z as numberToObjectType,a102A as objectTypeToNumber,a102p as parseIdFrom,a102a5 as queryObjectWithType,a102a4 as queryObjectsWithType,queryPermissions,queryProtocolInfo,a102o as queryTableItem_AddressMark,a102w as queryTableItem_DemandPresenter,a102O as queryTableItem_EntityLinker,a102l as queryTableItem_EntityRegistrar,a102N as queryTableItem_MachineNode,a102u as queryTableItem_PermissionPerm,a102v as queryTableItem_ProgressHistory,a102x as queryTableItem_RepositoryData,a102q as queryTableItem_RewardRecord,a102s as queryTableItem_TreasuryHistory,query_events,query_events_json,a102t as query_objects,a102y as query_objects_json,a102a2 as query_personal,a102a3 as query_received,a102m as query_table,a102C as query_tableItem,a102r as query_table_json,a102B as raw2type};
@@ -1,2 +1,2 @@
1
- import { $d as getMoveNameFromObjectType, $u as ObjectMachine, Ad as TableAnswer, Au as GuardInPassport, Bd as TableItem_RepositoryData, Bu as NamedOperator, Cd as QueryTableItem_byAddress, Cf as query_objects, Cu as AmountFromWithdrawGuard, Dd as RewardGuard, Df as query_tableItem, Du as ArbStatus, Ed as QueryTableItem_byU64, Ef as query_table, Eu as ArbProposition, Fd as TableItem_EntityLinker, Fu as MAX_OBJECTS_PER_QUERY, Gd as TreasuryRecord, Gu as ObjectBase, Hd as TableItem_TreasuryHistory, Hu as ObjectAllocation, Id as TableItem_EntityRegistrar, Iu as MachineForward, Jd as WReceivedObject, Ju as ObjectDiscount, Kd as VoteWeight, Ku as ObjectContact, Ld as TableItem_MachineNode, Lu as MachineForwardGuard, Md as TableItemQuery, Mu as IdFrom, Nd as TableItem_AddressMark, Nu as IdFromInput, Od as ServiceGuard, Of as query_table_json, Ou as ArbVoted, Pd as TableItem_DemandPresenter, Ph as ObjectType, Pu as Im, Qd as getMoveNameFromNumber, Qu as ObjectGuard, Rd as TableItem_PermissionPerm, Ru as MachineNode, Sd as QueryTableItem_Entity, Sf as queryTableItem_TreasuryHistory, Su as AmountFromDepositGuard, Td as QueryTableItem_byString, Tf as query_personal, Tu as ArbIndemnity, Ud as TableQuery, Uu as ObjectArb, Vd as TableItem_RewardRecord, Vu as OBJECT_TYPE_DEFINITIONS, Wd as TreasuryOp, Wu as ObjectArbitration, Xd as WitnessTargetType, Xu as ObjectEntityLinker, Yd as WitnessSourceType, Yu as ObjectEntity, Zd as data2object, Zu as ObjectEntityRegistrar, _d as PolicyRule, _f as queryTableItem_MachineNode, _u as AllocationMode, ad as ObjectProgress, af as getObjectTypeFromMoveName, bd as ProgressSessionHolder, bf as queryTableItem_RepositoryData, bu as Allocators, cd as ObjectResource, cf as idFromToString, dd as ObjectTreasury, df as objectTypeToNumber, ed as ObjectOrder, ef as getNumberFromMoveName, fd as ObjectTypeDefinition, ff as parseIdFrom, gd as PersonalQuery, gf as queryTableItem_EntityRegistrar, hd as PaymentInfo, hf as queryTableItem_EntityLinker, id as ObjectPersonal, if as getObjectTypeDefinitionFromNumber, jd as TableAnswerItem, ju as GuardSubmission, kd as ServiceSale, kf as raw2type, ku as DiscountType, ld as ObjectReward, lf as isValidIdFromInput, md as ObjectsQuery, mf as queryTableItem_DemandPresenter, nd as ObjectPayment, nf as getNumbersFromObjectTypes, od as ObjectProof, of as getObjectTypeFromNumber, pd as ObjectsAnswer, pf as queryTableItem_AddressMark, qd as VotingGuard, qu as ObjectDemand, rd as ObjectPermission, rf as getObjectTypeDefinition, sd as ObjectRepository, sf as getObjectTypesFromNumbers, td as ObjectPassport, tf as getNumberFromObjectType, ud as ObjectService, uf as numberToObjectType, vd as PolicyWriteGuard, vf as queryTableItem_PermissionPerm, vu as AllocationSharing, wd as QueryTableItem_byNameAddress, wf as query_objects_json, wu as AmountType, xd as PurchasedItem, xf as queryTableItem_RewardRecord, xu as Amount, yd as ProgressSession, yf as queryTableItem_ProgressHistory, yu as Allocator, zd as TableItem_ProgressHistory, zu as MachineNodePair } from "../../index-Q3W63gcw.mjs";
1
+ import { $d as TreasuryOp, $u as ObjectArbitration, Ad as PurchasedItem, Af as queryTableItem_RewardRecord, Au as Amount, Bd as TableAnswerItem, Bu as GuardSubmission, Cd as ObjectsQuery, Cf as queryTableItem_DemandPresenter, Dd as PolicyWriteGuard, Df as queryTableItem_PermissionPerm, Du as AllocationSharing, Ed as PolicyRule, Ef as queryTableItem_MachineNode, Eu as AllocationMode, Fd as QueryTableItem_byU64, Ff as query_table, Fu as ArbProposition, Gd as TableItem_EntityRegistrar, Gu as MachineForward, Hd as TableItem_AddressMark, Hu as IdFromInput, Id as RewardGuard, If as query_tableItem, Iu as ArbStatus, Jd as TableItem_ProgressHistory, Ju as MachineNodePair, Kd as TableItem_MachineNode, Ku as MachineForwardGuard, Ld as ServiceGuard, Lf as query_table_json, Lu as ArbVoted, Md as QueryTableItem_byAddress, Mf as query_objects, Mu as AmountFromWithdrawGuard, Nd as QueryTableItem_byNameAddress, Nf as query_objects_json, Nu as AmountType, Od as ProgressSession, Of as queryTableItem_ProgressHistory, Ou as Allocator, Pd as QueryTableItem_byString, Pf as query_personal, Pu as ArbIndemnity, Qd as TableQuery, Qu as ObjectArb, Rd as ServiceSale, Rf as raw2type, Ru as DiscountType, Sd as ObjectsAnswer, Sf as queryTableItem_AddressMark, Td as PersonalQuery, Tf as queryTableItem_EntityRegistrar, Ud as TableItem_DemandPresenter, Uh as ObjectType, Uu as Im, Vd as TableItemQuery, Vu as IdFrom, Wd as TableItem_EntityLinker, Wu as MAX_OBJECTS_PER_QUERY, Xd as TableItem_RewardRecord, Xu as OBJECT_TYPE_DEFINITIONS, Yd as TableItem_RepositoryData, Yu as NamedOperator, Zd as TableItem_TreasuryHistory, Zu as ObjectAllocation, _d as ObjectResource, _f as idFromToString, ad as ObjectEntityLinker, af as WitnessTargetType, bd as ObjectTreasury, bf as objectTypeToNumber, cd as ObjectMachine, cf as getMoveNameFromObjectType, dd as ObjectPayment, df as getNumbersFromObjectTypes, ed as ObjectBase, ef as TreasuryRecord, fd as ObjectPermission, ff as getObjectTypeDefinition, gd as ObjectRepository, gf as getObjectTypesFromNumbers, hd as ObjectProof, hf as getObjectTypeFromNumber, id as ObjectEntity, if as WitnessSourceType, jd as QueryTableItem_Entity, jf as queryTableItem_TreasuryHistory, ju as AmountFromDepositGuard, kd as ProgressSessionHolder, kf as queryTableItem_RepositoryData, ku as Allocators, ld as ObjectOrder, lf as getNumberFromMoveName, md as ObjectProgress, mf as getObjectTypeFromMoveName, nd as ObjectDemand, nf as VotingGuard, od as ObjectEntityRegistrar, of as data2object, pd as ObjectPersonal, pf as getObjectTypeDefinitionFromNumber, qd as TableItem_PermissionPerm, qu as MachineNode, rd as ObjectDiscount, rf as WReceivedObject, sd as ObjectGuard, sf as getMoveNameFromNumber, td as ObjectContact, tf as VoteWeight, ud as ObjectPassport, uf as getNumberFromObjectType, vd as ObjectReward, vf as isValidIdFromInput, wd as PaymentInfo, wf as queryTableItem_EntityLinker, xd as ObjectTypeDefinition, xf as parseIdFrom, yd as ObjectService, yf as numberToObjectType, zd as TableAnswer, zu as GuardInPassport } from "../../index-D5-7_Kub.mjs";
2
2
  export { AllocationMode, AllocationSharing, Allocator, Allocators, Amount, AmountFromDepositGuard, AmountFromWithdrawGuard, AmountType, ArbIndemnity, ArbProposition, ArbStatus, ArbVoted, DiscountType, GuardInPassport, GuardSubmission, IdFrom, IdFromInput, Im, MAX_OBJECTS_PER_QUERY, MachineForward, MachineForwardGuard, MachineNode, MachineNodePair, NamedOperator, OBJECT_TYPE_DEFINITIONS, ObjectAllocation, ObjectArb, ObjectArbitration, ObjectBase, ObjectContact, ObjectDemand, ObjectDiscount, ObjectEntity, ObjectEntityLinker, ObjectEntityRegistrar, ObjectGuard, ObjectMachine, ObjectOrder, ObjectPassport, ObjectPayment, ObjectPermission, ObjectPersonal, ObjectProgress, ObjectProof, ObjectRepository, ObjectResource, ObjectReward, ObjectService, ObjectTreasury, ObjectType, ObjectTypeDefinition, ObjectsAnswer, ObjectsQuery, PaymentInfo, PersonalQuery, PolicyRule, PolicyWriteGuard, ProgressSession, ProgressSessionHolder, PurchasedItem, QueryTableItem_Entity, QueryTableItem_byAddress, QueryTableItem_byNameAddress, QueryTableItem_byString, QueryTableItem_byU64, RewardGuard, ServiceGuard, ServiceSale, TableAnswer, TableAnswerItem, TableItemQuery, TableItem_AddressMark, TableItem_DemandPresenter, TableItem_EntityLinker, TableItem_EntityRegistrar, TableItem_MachineNode, TableItem_PermissionPerm, TableItem_ProgressHistory, TableItem_RepositoryData, TableItem_RewardRecord, TableItem_TreasuryHistory, TableQuery, TreasuryOp, TreasuryRecord, VoteWeight, VotingGuard, WReceivedObject, WitnessSourceType, WitnessTargetType, data2object, getMoveNameFromNumber, getMoveNameFromObjectType, getNumberFromMoveName, getNumberFromObjectType, getNumbersFromObjectTypes, getObjectTypeDefinition, getObjectTypeDefinitionFromNumber, getObjectTypeFromMoveName, getObjectTypeFromNumber, getObjectTypesFromNumbers, idFromToString, isValidIdFromInput, numberToObjectType, objectTypeToNumber, parseIdFrom, queryTableItem_AddressMark, queryTableItem_DemandPresenter, queryTableItem_EntityLinker, queryTableItem_EntityRegistrar, queryTableItem_MachineNode, queryTableItem_PermissionPerm, queryTableItem_ProgressHistory, queryTableItem_RepositoryData, queryTableItem_RewardRecord, queryTableItem_TreasuryHistory, query_objects, query_objects_json, query_personal, query_table, query_tableItem, query_table_json, raw2type };
@@ -1 +1 @@
1
- import{E as a104a}from'../../common-fDv-Cuzq.mjs';import{A as a104b,B as a104c,C as a104d,D as a104e,E as a104f,F as a104g,H as a104h,I as a104i,L as a104j,M as a104k,N as a104l,O as a104m,P as a104n,R as a104o,S as a104p,T as a104q,U as a104r,V as a104s,_ as a104t,a as a104u,b as a104v,c as a104w,d as a104x,f as a104y,g as a104z,h as a104A,i as a104B,j as a104C,k as a104D,l as a104E,m as a104F,n as a104G,o as a104H,p as a104I,r as a104J,s as a104K,t as a104L,u as a104M,v as a104N,w as a104O,x as a104P,y as a104Q,z as a104R}from'../../object-DzsQI-0e.mjs';export{a104L as AllocationMode,a104G as AmountType,a104J as ArbStatus,a104B as DiscountType,a104u as IdFrom,a104H as MAX_OBJECTS_PER_QUERY,a104K as OBJECT_TYPE_DEFINITIONS,a104a as ObjectType,a104w as TreasuryOp,a104E as WitnessSourceType,a104M as WitnessTargetType,a104x as data2object,a104y as getMoveNameFromNumber,a104I as getMoveNameFromObjectType,a104F as getNumberFromMoveName,a104A as getNumberFromObjectType,a104z as getNumbersFromObjectTypes,a104t as getObjectTypeDefinition,a104N as getObjectTypeDefinitionFromNumber,a104Q as getObjectTypeFromMoveName,a104v as getObjectTypeFromNumber,a104P as getObjectTypesFromNumbers,a104p as idFromToString,a104d as isValidIdFromInput,a104O as numberToObjectType,a104q as objectTypeToNumber,a104f as parseIdFrom,a104e as queryTableItem_AddressMark,a104m as queryTableItem_DemandPresenter,a104D as queryTableItem_EntityLinker,a104b as queryTableItem_EntityRegistrar,a104C as queryTableItem_MachineNode,a104k as queryTableItem_PermissionPerm,a104l as queryTableItem_ProgressHistory,a104n as queryTableItem_RepositoryData,a104g as queryTableItem_RewardRecord,a104i as queryTableItem_TreasuryHistory,a104j as query_objects,a104o as query_objects_json,a104R as query_personal,a104c as query_table,a104s as query_tableItem,a104h as query_table_json,a104r as raw2type};
1
+ import{E as a103a}from'../../common-CQggZ8z4.mjs';import{A as a103b,B as a103c,C as a103d,D as a103e,E as a103f,F as a103g,H as a103h,I as a103i,L as a103j,M as a103k,N as a103l,O as a103m,P as a103n,R as a103o,S as a103p,T as a103q,U as a103r,V as a103s,_ as a103t,a as a103u,b as a103v,c as a103w,d as a103x,f as a103y,g as a103z,h as a103A,i as a103B,j as a103C,k as a103D,l as a103E,m as a103F,n as a103G,o as a103H,p as a103I,r as a103J,s as a103K,t as a103L,u as a103M,v as a103N,w as a103O,x as a103P,y as a103Q,z as a103R}from'../../object-BTDJEtwG.mjs';export{a103L as AllocationMode,a103G as AmountType,a103J as ArbStatus,a103B as DiscountType,a103u as IdFrom,a103H as MAX_OBJECTS_PER_QUERY,a103K as OBJECT_TYPE_DEFINITIONS,a103a as ObjectType,a103w as TreasuryOp,a103E as WitnessSourceType,a103M as WitnessTargetType,a103x as data2object,a103y as getMoveNameFromNumber,a103I as getMoveNameFromObjectType,a103F as getNumberFromMoveName,a103A as getNumberFromObjectType,a103z as getNumbersFromObjectTypes,a103t as getObjectTypeDefinition,a103N as getObjectTypeDefinitionFromNumber,a103Q as getObjectTypeFromMoveName,a103v as getObjectTypeFromNumber,a103P as getObjectTypesFromNumbers,a103p as idFromToString,a103d as isValidIdFromInput,a103O as numberToObjectType,a103q as objectTypeToNumber,a103f as parseIdFrom,a103e as queryTableItem_AddressMark,a103m as queryTableItem_DemandPresenter,a103D as queryTableItem_EntityLinker,a103b as queryTableItem_EntityRegistrar,a103C as queryTableItem_MachineNode,a103k as queryTableItem_PermissionPerm,a103l as queryTableItem_ProgressHistory,a103n as queryTableItem_RepositoryData,a103g as queryTableItem_RewardRecord,a103i as queryTableItem_TreasuryHistory,a103j as query_objects,a103o as query_objects_json,a103R as query_personal,a103c as query_table,a103s as query_tableItem,a103h as query_table_json,a103r as raw2type};
@@ -0,0 +1 @@
1
+ import{t as a104a}from'./client-D6nQHb4K.mjs';import{t as a104b}from'./Transaction-B_HAG_T7.mjs';import{n as a104c}from'./network-CeDd07Hg.mjs';import{o as a104d}from'./exception--UEPnygY.mjs';import{SQLiteStorage}from'./w/local/storage.mjs';import{Config}from'./w/local/config.mjs';import{Account}from'./w/local/account.mjs';import{bigIntToBytes,bytesToHex,compressedPubKeyToAddress,hexToBytes as a104e}from'./w/local/evm/rlp.mjs';import{registerBridgeEvmNetworks}from'./w/local/evm/networks.mjs';import{EvmAccount}from'./w/local/evm-account.mjs';import{keccak_256}from'@noble/hashes/sha3.js';let BridgeChainId=function(a){return a[a['WowMainnet']=0x0]='WowMainnet',a[a['EthMainnet']=0xa]='EthMainnet',a;}({});function isEvmChain(a){return a===0xa;}function isWowChain(a){return a===0x0;}let BridgeVersion=function(a){return a[a['V1']=0x1]='V1',a[a['V2']=0x2]='V2',a;}({}),BridgeTokenId=function(a){return a['Eth']='ETH',a['Weth']='WETH',a['Wbtc']='WBTC',a['Usdc']='USDC',a['Usdt']='USDT',a;}({}),TransferStatus=function(a){return a['Pending']='pending',a['Approved']='approved',a['Claimed']='claimed',a['Failed']='failed',a['NotFound']='not_found',a;}({}),BridgeErrorCode=function(a){return a['EstimateFailed']='ESTIMATE_FAILED',a['Reverted']='REVERTED',a['Timeout']='TIMEOUT',a['NoSignatures']='NO_SIGNATURES',a['NodeUnavailable']='NODE_UNAVAILABLE',a['InvalidParam']='INVALID_PARAM',a['AccountNotFound']='ACCOUNT_NOT_FOUND',a['Unknown']='UNKNOWN',a;}({});const MAINNET_COMMITTEE_PUBKEYS=['0x032f020d08ca4a8632e2442ae789b961265d80b6058135bba1d2daa30ddea0acf0','0x02bb110601a69423651f1faadb1d510d895cd91baa37a470f09479aa84ef9128bb','0x03add24c04f5149421849510709d309f826f42751922f1131c784283fc2bad0b0b'],MAINNET_COMMITTEE_WEIGHTS=[0xd06,0xd06,0xd05],MAINNET_COMMITTEE_MEMBER_ADDRESSES=['0x373ee3febe317168fe58c66faaa446e26e57c2f1','0x2829ea9323836b5c8e0f8c47cd3abdc70962e891','0x97b3c777af04e4df7cb3fd1c92893a0358db9beb'],MAINNET_BRIDGE_CONFIG={'wow':{'rpcUrl':'https://fullnode.mainnet.wowok.net:443','bridgeObjectId':'0x9','clockObjectId':'0x6','network':'mainnet'},'ethereum':{'chainId':0x1,'bridgeChainId':0xa,'rpcUrl':'','bridgeProxyAddress':'0xA8d914Cc121CB2d2179Ca540bC0B8213F224aa00','bridgeVaultAddress':'0xC9A6EF1A3dC6f0681d39C318c4882FB7704a7848','bridgeCommitteeAddress':'0x822779c4183ed69bdd38e0454ec1826d2ae186a5','bridgeConfigAddress':'0xaf9414c8ab0a0905a6b9ad24c927416ac765a4ce'},'bridgeNodeUrls':['http://43.156.120.237:9211','http://150.158.76.254:9211','http://110.40.159.14:9211'],'defaultVersion':0x2,'tokens':[{'tokenId':0x1,'symbol':'WBTC','wowTypeTag':'0x06c69f212cc7bef6ff730b42bc739be7786902c501f15e99dbce1b8b5c7eff58::btc::BTC','evmAddress':'0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599','evmDecimals':0x8,'wowDecimals':0x8,'evmChains':[0xa],'description':'Wrapped\x20BTC\x20(ERC20).\x20Bitcoin\x20price\x20exposure\x20on\x20Ethereum;\x201\x20WBTC\x20=\x201\x20BTC.'},{'tokenId':0x2,'symbol':'ETH','wowTypeTag':'0xdb429818d697419e12a3481af1d21f32e603bff8716d45b0e964c2191db6604f::eth::ETH','evmAddress':'0x0000000000000000000000000000000000000000','evmDecimals':0x12,'wowDecimals':0x8,'evmChains':[0xa],'description':'Native\x20ETH.\x20Calls\x20bridgeETHV2{value};\x20vault\x20auto-wraps\x20to\x20WETH\x20internally.\x2018\x20decimals\x20on\x20EVM,\x208\x20decimals\x20on\x20WOW.'},{'tokenId':0x2,'symbol':'WETH','wowTypeTag':'0xdb429818d697419e12a3481af1d21f32e603bff8716d45b0e964c2191db6604f::eth::ETH','evmAddress':'0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2','evmDecimals':0x12,'wowDecimals':0x8,'evmChains':[0xa],'description':'Wrapped\x20ETH\x20(ERC20).\x20Calls\x20bridgeERC20V2;\x20shares\x20Token\x20ID\x202\x20and\x20WOW\x20type\x20tag\x20with\x20native\x20ETH.'},{'tokenId':0x3,'symbol':'USDC','wowTypeTag':'0xe70fcfd8ef984292b11346ee43880ea9d6fba9f270c90bd0432574db14af67bf::usdc::USDC','evmAddress':'0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48','evmDecimals':0x6,'wowDecimals':0x6,'evmChains':[0xa],'description':'USD\x20Coin\x20(USDC).\x20Fully\x20collateralized\x20USD\x20stablecoin;\x206\x20decimals\x20on\x20both\x20sides.'},{'tokenId':0x4,'symbol':'USDT','wowTypeTag':'0x4f160cf9a28ca8ac8bc0a46e13b02588dc05722148dd964807b9be89a0fcfe4d::usdt::USDT','evmAddress':'0xdAC17F958D2ee523a2206206994597C13D831ec7','evmDecimals':0x6,'wowDecimals':0x6,'evmChains':[0xa],'description':'Tether\x20USD\x20(USDT).\x20Fiat-collateralized\x20stablecoin;\x206\x20decimals\x20on\x20both\x20sides.'}],'timeouts':{'nodeRpcMs':0x7530,'signaturePollIntervalMs':0x1388,'signatureCollectMs':0xf*0xea60,'autoClaimMs':0xa*0xea60}};function findEvmChainConfig(a,b){if(a['ethereum']['chainId']===b)return a['ethereum'];if(a['l2']){for(const c of Object['values'](a['l2']))if(c&&c['chainId']===b)return c;}}function findEvmChainConfigByBridgeChainId(a,b){if(a['ethereum']['bridgeChainId']===b)return a['ethereum'];if(a['l2']){for(const c of Object['values'](a['l2']))if(c&&c['bridgeChainId']===b)return c;}}function findToken(a,b){return a['tokens']['find'](c=>c['tokenId']===b);}function findTokenBySymbol(a,b){return a['tokens']['find'](c=>c['symbol']===b);}function verifyCommitteeConsistency(){const a=[];for(let b=0x0;b<MAINNET_COMMITTEE_PUBKEYS['length'];b++){const c=MAINNET_COMMITTEE_PUBKEYS[b],d=MAINNET_COMMITTEE_MEMBER_ADDRESSES[b],e=compressedPubKeyToAddress(c);if(e['toLowerCase']()!==d['toLowerCase']())a['push']({'index':b,'pubkey':c,'expected':d,'actual':e});}return a;}const BRIDGE_ETH_V2_SIG='bridgeETHV2(bytes,uint8)',BRIDGE_ETH_V2_SELECTOR='b4b7068c',BRIDGE_ETH_V1_SELECTOR='9449ebd2',BRIDGE_ERC20_V1_SELECTOR='212afaff',BRIDGE_ERC20_V2_SIG='bridgeERC20V2(uint8,uint256,bytes,uint8)',BRIDGE_ERC20_V2_SELECTOR='0bdba58b',TRANSFER_BRIDGED_V2_SIG='transferBridgedTokensWithSignaturesV2(bytes[],(uint8,uint8,uint64,uint8,bytes))',TRANSFER_BRIDGED_V2_SELECTOR='9c3ecefb',TRANSFER_BRIDGED_V1_SIG='transferBridgedTokensWithSignatures(bytes[],(uint8,uint8,uint64,uint8,bytes))',APPROVE_SIG='approve(address,uint256)',APPROVE_SELECTOR='095ea7b3',WORD_SIZE=0x20;function uintWord(a){const b=bigIntToBytes(BigInt(a)),c=new Uint8Array(WORD_SIZE);return c['set'](b,WORD_SIZE-b['length']),c;}function addressWord(a){const b=a104e(a['startsWith']('0x')?a['slice'](0x2):a);if(b['length']!==0x14)throw new Error('Invalid\x20EVM\x20address\x20length:\x20'+a);const c=new Uint8Array(WORD_SIZE);return c['set'](b,WORD_SIZE-0x14),c;}function padToWord(a){const b=a['length']%WORD_SIZE;if(b===0x0)return a;const c=new Uint8Array(a['length']+WORD_SIZE-b);return c['set'](a,0x0),c;}function concat(...b){const c=b['reduce']((f,g)=>f+g['length'],0x0),d=new Uint8Array(c);let e=0x0;for(const f of b){d['set'](f,e),e+=f['length'];}return d;}function encodeBytes(a){return concat(uintWord(BigInt(a['length'])),padToWord(a));}function computeSelector(a){return bytesToHex(keccak_256(new TextEncoder()['encode'](a))['slice'](0x0,0x4));}function computeEventTopic(a){return'0x'+bytesToHex(keccak_256(new TextEncoder()['encode'](a)));}function encodeBridgeETHV2(a,b){const c=a104e(a['startsWith']('0x')?a['slice'](0x2):a);if(c['length']!==0x20)throw new Error('Recipient\x20address\x20must\x20be\x2032\x20bytes,\x20got\x20'+c['length']);const d=uintWord(0x40n),e=uintWord(b),f=encodeBytes(c);return'0x'+bytesToHex(concat(a104e(BRIDGE_ETH_V2_SELECTOR),d,e,f));}function encodeBridgeETH(a,b){const c=a104e(a['startsWith']('0x')?a['slice'](0x2):a);if(c['length']!==0x20)throw new Error('Recipient\x20address\x20must\x20be\x2032\x20bytes,\x20got\x20'+c['length']);const d=uintWord(0x40n),e=uintWord(b),f=encodeBytes(c);return'0x'+bytesToHex(concat(a104e(BRIDGE_ETH_V1_SELECTOR),d,e,f));}function encodeBridgeERC20V2(a,b,c,d){const e=a104e(c['startsWith']('0x')?c['slice'](0x2):c);if(e['length']!==0x20)throw new Error('Recipient\x20address\x20must\x20be\x2032\x20bytes');const f=uintWord(0x80n),g=encodeBytes(e);return'0x'+bytesToHex(concat(a104e(BRIDGE_ERC20_V2_SELECTOR),uintWord(a),uintWord(b),f,uintWord(d),g));}function encodeBridgeERC20(a,b,c,d){const e=a104e(c['startsWith']('0x')?c['slice'](0x2):c);if(e['length']!==0x20)throw new Error('Recipient\x20address\x20must\x20be\x2032\x20bytes');const f=uintWord(0x80n),g=encodeBytes(e);return'0x'+bytesToHex(concat(a104e(BRIDGE_ERC20_V1_SELECTOR),uintWord(a),uintWord(b),f,uintWord(d),g));}function encodeMessage(a){return concat(uintWord(a['messageType']),uintWord(a['version']),uintWord(a['nonce']),uintWord(a['chainID']),uintWord(0xa0n),encodeBytes(a['payload']));}function encodeBytesArray(a){const b=a['length'],c=b*0x20,d=[];let e=0x0n;for(const g of a){d['push'](BigInt(c)+e),e+=BigInt(0x20+Math['ceil'](g['length']/0x20)*0x20);}const f=[uintWord(BigInt(b))];for(const h of d)f['push'](uintWord(h));for(const i of a)f['push'](encodeBytes(i));return concat(...f);}function encodeTransferBridgedTokensWithSignatures(a,b,c=!![]){const d=c?TRANSFER_BRIDGED_V2_SELECTOR:computeSelector(TRANSFER_BRIDGED_V1_SIG),e=encodeBytesArray(a),f=encodeMessage(b),g=uintWord(0x40n),h=uintWord(BigInt(0x40+e['length']));return'0x'+bytesToHex(concat(a104e(d),g,h,e,f));}function encodeApprove(a,b){return'0x'+bytesToHex(concat(a104e(APPROVE_SELECTOR),addressWord(a),uintWord(b)));}function encodeTokenTransferPayloadV2(a){const {senderAddress:b,targetChain:c,recipientAddress:d,tokenID:e,amount:f,timestampMs:g}=a;if(b['length']!==0x20)throw new Error('senderAddress\x20must\x20be\x2032\x20bytes');if(d['length']!==0x14)throw new Error('recipientAddress\x20must\x20be\x2020\x20bytes');const h=new Uint8Array(0x48);let i=0x0;h[i++]=0x20,h['set'](b,i),i+=0x20,h[i++]=c,h[i++]=0x14,h['set'](d,i),i+=0x14,h[i++]=e;const j=bigIntToBytes(f);h['set'](j,i+0x8-j['length']),i+=0x8;const k=bigIntToBytes(g);return h['set'](k,i+0x8-k['length']),h;}function verifySelectors(){const a=[[BRIDGE_ETH_V2_SIG,BRIDGE_ETH_V2_SELECTOR],[BRIDGE_ERC20_V2_SIG,BRIDGE_ERC20_V2_SELECTOR],[TRANSFER_BRIDGED_V2_SIG,TRANSFER_BRIDGED_V2_SELECTOR],[APPROVE_SIG,APPROVE_SELECTOR]];for(const [b,c]of a){const d=computeSelector(b);if(d!==c)throw new Error('ABI\x20selector\x20mismatch\x20for\x20'+b+':\x20expected\x20'+c+',\x20got\x20'+d);}}verifySelectors();const TOKENS_DEPOSITED_V2_TOPIC=computeEventTopic('TokensDepositedV2(uint8,uint64,uint8,uint8,uint64,address,bytes,uint256)'),TOKENS_DEPOSITED_TOPIC=computeEventTopic('TokensDeposited(uint8,uint64,uint8,uint8,uint64,address,bytes)'),TOKENS_CLAIMED_TOPIC=computeEventTopic('TokensClaimed(uint8,uint64,uint8,uint8,uint64,address,bytes)'),ERC20_TRANSFER_TOPIC=computeEventTopic('Transfer(address,address,uint256)');async function depositEth(a,b){try{const c=b['destinationChainId']??0x0,d=b['version']!=='v1'?encodeBridgeETHV2(b['recipientWowAddress'],c):encodeBridgeETH(b['recipientWowAddress'],c),f={'to':b['bridgeProxyAddress'],'value':a,'data':d,'network':b['network'],'rpcUrl':b['rpcUrl'],'gasLimit':0x3d090n},g=EvmAccount['Instance']();await g['active']();const h=await g['sign_and_send'](f,b['rpcUrl']);if(h['status']!=='0x1')return{'success':![],'error':{'code':'REVERTED','message':'ETH\x20deposit\x20transaction\x20reverted','revertReason':'txHash:\x20'+h['transactionHash']}};return{'success':!![],'txHash':h['transactionHash']};}catch(i){return{'success':![],'error':{'code':'UNKNOWN','message':'ETH\x20deposit\x20failed:\x20'+(i?.['message']??String(i)),'raw':i}};}}async function depositErc20(a,b){try{const c=EvmAccount['Instance']();await c['active']();const d=b['destinationChainId']??0x0,f={'to':b['tokenAddress'],'data':encodeApprove(b['bridgeProxyAddress'],a),'network':b['network'],'rpcUrl':b['rpcUrl']},g=await c['sign_and_send'](f,b['rpcUrl']);if(g['status']!=='0x1')return{'success':![],'error':{'code':'REVERTED','message':'ERC20\x20approve\x20reverted','revertReason':'txHash:\x20'+g['transactionHash']}};const h=b['version']!=='v1'?encodeBridgeERC20V2(b['tokenId'],a,b['recipientWowAddress'],d):encodeBridgeERC20(b['tokenId'],a,b['recipientWowAddress'],d),i={'to':b['bridgeProxyAddress'],'value':0x0n,'data':h,'network':b['network'],'rpcUrl':b['rpcUrl']},j=await c['sign_and_send'](i,b['rpcUrl']);if(j['status']!=='0x1')return{'success':![],'error':{'code':'REVERTED','message':'ERC20\x20deposit\x20transaction\x20reverted','revertReason':'txHash:\x20'+j['transactionHash']}};return{'success':!![],'txHash':j['transactionHash']};}catch(k){return{'success':![],'error':{'code':'UNKNOWN','message':'ERC20\x20deposit\x20failed:\x20'+(k?.['message']??String(k)),'raw':k}};}}async function depositFromEth(a,b){if(a['tokenAddress']){if(a['tokenId']===void 0x0)return{'success':![],'error':{'code':'INVALID_PARAM','message':'tokenId\x20is\x20required\x20for\x20ERC20\x20deposit'}};return depositErc20(a['amount'],{...b,'tokenAddress':a['tokenAddress'],'tokenId':a['tokenId']});}return depositEth(a['amount'],b);}function buildClaimMessage(a){const b=encodeTokenTransferPayloadV2({'senderAddress':a['senderAddress'],'targetChain':a['targetChain'],'recipientAddress':a['recipientAddress'],'tokenID':a['tokenId'],'amount':a['amount'],'timestampMs':a['timestampMs']});return{'messageType':a['messageType'],'version':a['version'],'nonce':a['nonce'],'chainID':a['sourceChain'],'payload':b};}function signaturesToBytes(a){return a['map'](b=>{const c=a104e(b['signature']['startsWith']('0x')?b['signature']['slice'](0x2):b['signature']);if(c['length']!==0x41)throw new Error('Invalid\x20signature\x20length:\x20'+c['length']+'\x20(expected\x2065)');return c;});}async function claimOnEth(a,b){try{const c=b['useV2']??!![];let d=await b['nodeClient']['signWowToEth'](a['wowTxDigest'],a['eventIndex']);d['length']===0x0&&(console['warn']('tx_digest\x20路径未收集到签名,回退到\x20seq\x20路径:',a['message']['chainID'],a['message']['messageType'],a['message']['nonce']),d=await b['nodeClient']['signWowTokenTransfer'](a['message']['chainID'],a['message']['messageType'],a['message']['nonce']));if(d['length']===0x0)return{'success':![],'error':{'code':'NO_SIGNATURES','message':buildNoSignaturesMessage(a['message']['chainID'],a['message']['messageType'],a['message']['nonce'])}};const f=encodeTransferBridgedTokensWithSignatures(signaturesToBytes(d),a['message'],c),g={'to':b['bridgeProxyAddress'],'value':0x0n,'data':f,'network':b['network'],'rpcUrl':b['rpcUrl']},h=EvmAccount['Instance']();await h['active']();const i=await h['sign_and_send'](g,b['rpcUrl']);if(i['status']!=='0x1')return{'success':![],'error':{'code':'REVERTED','message':'ETH\x20claim\x20transaction\x20reverted','revertReason':'txHash:\x20'+i['transactionHash']}};return{'success':!![],'txHash':i['transactionHash']};}catch(j){return wrapBridgeError(j,'UNKNOWN','ETH\x20claim\x20failed');}}async function claimOnEthBySeq(a,b){try{const c=b['useV2']??!![],d=await b['nodeClient']['signWowTokenTransfer'](a['sourceChain'],a['messageType'],a['seqNum']);if(d['length']===0x0)return{'success':![],'error':{'code':'NO_SIGNATURES','message':buildNoSignaturesMessage(a['sourceChain'],a['messageType'],a['seqNum'])}};const f=encodeTransferBridgedTokensWithSignatures(signaturesToBytes(d),a['message'],c),g={'to':b['bridgeProxyAddress'],'value':0x0n,'data':f,'network':b['network'],'rpcUrl':b['rpcUrl']},h=EvmAccount['Instance']();await h['active']();let i;try{await h['ethCall'](g);}catch(k){const l=k?.['message']??String(k);if(l['includes']('execution\x20reverted')||l['includes']('reverted\x20with\x20reason'))i=l;else console['warn']('\x20\x20[claimOnEthBySeq]\x20eth_call\x20warning\x20(skipped):',l['slice'](0x0,0x78));}if(i)return{'success':![],'error':{'code':'REVERTED','message':'ETH\x20claim\x20reverted','revertReason':i}};const j=await h['sign_and_send'](g,b['rpcUrl']);if(j['status']!=='0x1')return{'success':![],'error':{'code':'REVERTED','message':'ETH\x20claim\x20transaction\x20reverted','revertReason':'txHash:\x20'+j['transactionHash']}};return{'success':!![],'txHash':j['transactionHash']};}catch(m){return wrapBridgeError(m,'UNKNOWN','ETH\x20claim\x20(by\x20seq)\x20failed');}}function buildNoSignaturesMessage(a,b,c){return['No\x20signatures\x20collected\x20for\x20seq='+c+'\x20(sourceChain='+a+',\x20messageType='+b+').','Possible\x20reasons:','\x20\x201)\x20Bridge\x20nodes\x20are\x20not\x20reachable\x20or\x20not\x20synced','\x20\x202)\x20The\x20seq\x20'+c+'\x20does\x20not\x20exist\x20on\x20source\x20chain','\x20\x203)\x20The\x20message\x20has\x20already\x20expired','\x20\x204)\x20Insufficient\x20quorum\x20(need\x202/3\x20of\x20total\x20committee\x20weight)','Check\x20node\x20health\x20with\x20nodeClient.pingAll().']['join']('\x0a');}function wrapBridgeError(a,b,c){return{'success':![],'error':{'code':b,'message':c+':\x20'+(a?.['message']??String(a)),'raw':a}};}const BRIDGE_PACKAGE$1='0xb',DEFAULT_BRIDGE_OBJECT_ID$1='0x9',CLOCK_OBJECT_ID$1='0x6',EVM_ADDRESS_LENGTH=0x14,TOKEN_DEPOSITED_EVENT_V2_TYPE=BRIDGE_PACKAGE$1+'::bridge::TokenDepositedEventV2';async function depositFromWow(a,b){if(!a['tokenType']||a['tokenType']['split']('::')['length']<0x3)a104d('invalid\x20parameter','Invalid\x20tokenType:\x20'+a['tokenType']);if(a['amount']<=0x0n)a104d('invalid\x20parameter','amount\x20must\x20be\x20positive');const c=parseEvmAddress(a['recipientEthAddress']),d=a['destinationChainId']??0xa,f=a['bridgeObjectId']??DEFAULT_BRIDGE_OBJECT_ID$1,g=new a104b(),h=await Account['Instance']()['get_coin_object'](g,a['amount'],a['tokenType'],await getEnvAccount$1(b),b['network']);if(!h)a104d('fail','Failed\x20to\x20get\x20coin\x20object');g['moveCall']({'target':BRIDGE_PACKAGE$1+'::bridge::send_token_v2','arguments':[g['object'](f),g['pure']['u8'](d),g['pure']['vector']('u8',c),h,g['object'](CLOCK_OBJECT_ID$1)],'typeArguments':[a['tokenType']]});const i=await Account['Instance']()['sign_and_commit'](g,await getEnvAccount$1(b),b['network']);if(!i||!i['digest'])a104d('fail','WOW\x20deposit\x20transaction\x20failed');let j=i;if(!i['events']||i['events']['length']===0x0){const {WowClient:l}=await import('./client/index.mjs'),{Config:m}=await import('./w/local/config.mjs'),n=await m['Instance']()['network_get'](b['network']),o=new l({'url':a104c(n),'network':n});let p;for(let q=0x0;q<0xa;q++){try{j=await o['getTransactionBlock']({'digest':i['digest'],'options':{'showEvents':!![],'showEffects':!![]}});if(j['events']&&j['events']['length']>0x0)break;}catch(r){p=r;}await new Promise(s=>setTimeout(s,0x3e8*(q+0x1)));}if(!j['events']||j['events']['length']===0x0)throw p??new Error('Failed\x20to\x20fetch\x20events\x20for\x20tx\x20'+i['digest']);}const k=parseSeqNumFromReceipt(j);if(k===void 0x0)a104d('fail','Failed\x20to\x20parse\x20seqNum\x20from\x20WOW\x20tx\x20'+i['digest']);return{'digest':i['digest'],'seqNum':k,'receipt':i};}function parseEvmAddress(a){let b=a;if(b['startsWith']('0x')||b['startsWith']('0X'))b=b['slice'](0x2);if(b['length']!==EVM_ADDRESS_LENGTH*0x2)a104d('invalid\x20parameter','Invalid\x20EVM\x20address:\x20'+a+'\x20(expected\x2020\x20bytes)');const c=new Uint8Array(EVM_ADDRESS_LENGTH);for(let d=0x0;d<EVM_ADDRESS_LENGTH;d++)c[d]=parseInt(b['slice'](d*0x2,d*0x2+0x2),0x10);return c;}function normalizeEventType$1(a){const b=a['split']('::');if(b['length']>0x0&&b[0x0]['startsWith']('0x')){const c=b[0x0]['toLowerCase']()['replace'](/^0x0+/,'0x');b[0x0]=c==='0x'?'0x0':c;}return b['join']('::');}function parseSeqNumFromReceipt(a){const b=a['events'];if(!b||b['length']===0x0)return void 0x0;const c=normalizeEventType$1(TOKEN_DEPOSITED_EVENT_V2_TYPE);for(const d of b){if(normalizeEventType$1(d['type'])!==c)continue;const e=d['parsedJson'];if(!e)continue;const f=e['seq_num'];if(typeof f==='string'||typeof f==='number')return BigInt(f);}}async function getEnvAccount$1(a){return a['account']??void 0x0;}const BRIDGE_PACKAGE='0xb',CLOCK_OBJECT_ID='0x6',TOKEN_TRANSFER_APPROVED_TYPE=BRIDGE_PACKAGE+'::bridge::TokenTransferApproved',TOKEN_TRANSFER_CLAIMED_TYPE=BRIDGE_PACKAGE+'::bridge::TokenTransferClaimed',DEFAULT_BRIDGE_OBJECT_ID='0x9';async function claimOnWow(a,b){if(!a['tokenType']||a['tokenType']['split']('::')['length']<0x3)a104d('invalid\x20parameter','Invalid\x20tokenType:\x20'+a['tokenType']);if(a['bridgeSeqNum']<0x0n)a104d('invalid\x20parameter','bridgeSeqNum\x20must\x20be\x20non-negative');const c=a['sourceChainId']??0xa,d=a['bridgeObjectId']??DEFAULT_BRIDGE_OBJECT_ID,e=new a104b();e['moveCall']({'target':BRIDGE_PACKAGE+'::bridge::claim_and_transfer_token','arguments':[e['object'](d),e['object'](CLOCK_OBJECT_ID),e['pure']['u8'](c),e['pure']['u64'](a['bridgeSeqNum'])],'typeArguments':[a['tokenType']]});const f=await Account['Instance']()['sign_and_commit'](e,await getEnvAccount(b),b['network']);if(!f||!f['digest'])a104d('fail','WOW\x20claim\x20transaction\x20failed');return{'digest':f['digest'],'receipt':f};}let WowClaimStatus=function(a){return a['NotApproved']='not_approved',a['Approved']='approved',a['Claimed']='claimed',a['NotFound']='not_found',a;}({});async function queryWowClaimStatus(a,b){const c=a['sourceChainId']??0xa,d=await Config['Instance']()['network_get'](b),e=new a104a({'url':a104c(d),'network':d}),f=await e['queryEvents']({'query':{'MoveEventType':TOKEN_TRANSFER_CLAIMED_TYPE},'limit':0x64,'order':'descending'});for(const h of f['data']){const i=h['parsedJson'];if(!i)continue;const j=i['message_key'];if(!j)continue;const k=Number(j['source_chain']),l=BigInt(j['bridge_seq_num']??0x0);if(k===c&&l===a['bridgeSeqNum'])return{'status':'claimed','claimedTxHash':h['id']?.['txDigest']};}const g=await e['queryEvents']({'query':{'MoveEventType':TOKEN_TRANSFER_APPROVED_TYPE},'limit':0x64,'order':'descending'});for(const m of g['data']){const n=m['parsedJson'];if(!n)continue;const o=n['message_key'];if(!o)continue;const p=Number(o['source_chain']),q=BigInt(o['bridge_seq_num']??0x0);if(p===c&&q===a['bridgeSeqNum'])return{'status':'approved','approvedEventId':m['id']?.['eventSeq']};}return{'status':'not_approved'};}async function getEnvAccount(a){return a['account']??void 0x0;}async function queryEthTxReceipt(a,b,c=0x2710){const d=new AbortController(),f=setTimeout(()=>d['abort'](),c);try{const g=await(await fetch(b,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'jsonrpc':'2.0','id':0x1,'method':'eth_getTransactionReceipt','params':[a]}),'signal':d['signal']}))['json']();if(g['error'])throw new Error('JSON-RPC\x20error:\x20'+g['error']['message']);return g['result'];}catch(h){if(h?.['name']==='AbortError')throw new Error('queryEthTxReceipt\x20timeout\x20after\x20'+c+'ms');throw h;}finally{clearTimeout(f);}}async function queryEthBalance(a,b){const c=await(await fetch(b,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'jsonrpc':'2.0','id':0x1,'method':'eth_getBalance','params':[a,'latest']})}))['json']();if(c['error'])throw new Error('JSON-RPC\x20error:\x20'+c['error']['message']);return BigInt(c['result']);}async function queryErc20Balance(a,b,c){const d='0x70a08231000000000000000000000000'+b['slice'](0x2)['toLowerCase'](),e=await(await fetch(c,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'jsonrpc':'2.0','id':0x1,'method':'eth_call','params':[{'to':a,'data':d},'latest']})}))['json']();if(e['error'])throw new Error('JSON-RPC\x20error:\x20'+e['error']['message']);return BigInt(e['result']);}async function queryEthTxConfirmations(a,b,c=0x2710){const d=await queryEthTxReceipt(a,b,c);if(!d?.['blockNumber'])return 0x0;const e=new AbortController(),f=setTimeout(()=>e['abort'](),c);try{const g=await(await fetch(b,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'jsonrpc':'2.0','id':0x2,'method':'eth_blockNumber','params':[]}),'signal':e['signal']}))['json'](),h=BigInt(g['result']),i=BigInt(d['blockNumber']);return Number(h-i);}finally{clearTimeout(f);}}async function queryWowTx(a,b){try{return await a['getTransactionBlock']({'digest':b,'options':{'showEffects':!![],'showEvents':!![]}});}catch{return null;}}let BridgeTransferDirection=function(a){return a['EvmToWow']='evm_to_wow',a['WowToEvm']='wow_to_evm',a;}({}),BridgeTransferStep=function(a){return a['NotStarted']='not_started',a['SourceTxPending']='source_tx_pending',a['SourceTxConfirmed']='source_tx_confirmed',a['NodeSigning']='node_signing',a['SignaturesReady']='signatures_ready',a['ClaimTxPending']='claim_tx_pending',a['Completed']='completed',a['Failed']='failed',a;}({});const BRIDGE_STEP_DESCRIPTIONS={['not_started']:'尚未发起跨链',['source_tx_pending']:'源链交易已提交,等待区块确认',['source_tx_confirmed']:'源链交易已确认,等待\x20bridge\x20节点签名\x20approve',['node_signing']:'bridge\x20节点签名收集中',['signatures_ready']:'签名已收集完毕,可发起目标链\x20claim',['claim_tx_pending']:'目标链\x20claim\x20交易已提交,待确认',['completed']:'跨链完成',['failed']:'跨链失败'};let BridgeTransferStatus=function(a){return a['NotStarted']='not_started',a['Pending']='pending',a['Confirmed']='confirmed',a['SignaturesReady']='signatures_ready',a['Claiming']='claiming',a['Completed']='completed',a['Failed']='failed',a;}({});function makeBridgeTransferState(a){return{'status':stepToStatus(a['step']),'stepDescription':BRIDGE_STEP_DESCRIPTIONS[a['step']],'updatedAt':Date['now'](),...a};}function stepToStatus(a){switch(a){case'not_started':return'not_started';case'source_tx_pending':return'pending';case'source_tx_confirmed':return'confirmed';case'node_signing':return'confirmed';case'signatures_ready':return'signatures_ready';case'claim_tx_pending':return'claiming';case'completed':return'completed';case'failed':return'failed';}}function parseEthDepositEvent(a,b){const c=b['toLowerCase']();for(const d of a['logs']){if(d['address']['toLowerCase']()!==c)continue;const e=d['topics'][0x0]===TOKENS_DEPOSITED_V2_TOPIC,f=d['topics'][0x0]===TOKENS_DEPOSITED_TOPIC;if(!e&&!f)continue;const g=a104e(d['data']);if(g['length']<0x80)continue;const h=u=>g[u*0x20+0x1f],i=u=>{const v=g['slice'](u*0x20,u*0x20+0x20);return BigInt('0x'+bytesToHex(v['slice'](0x18,0x20)));},j=u=>'0x'+bytesToHex(g['slice'](u*0x20+0xc,u*0x20+0x20)),k=h(0x0),l=i(0x1),m=j(0x2),n=Number(i(0x3)),o=Number(BigInt('0x'+bytesToHex(g['slice'](n,n+0x20))['slice'](0x30))),p='0x'+bytesToHex(g['slice'](n+0x20,n+0x20+o)),q=d['topics'][0x1]?.['slice'](0x40)??'00',r=parseInt(q,0x10),s=d['topics'][0x3]?.['slice'](0x40)??'00',t=parseInt(s,0x10);return{'bridgeSeq':BigInt('0x'+(d['topics'][0x2]?.['slice'](0x38)??'0')),'sourceChain':r,'sender':m,'targetChain':t,'recipient':p,'tokenID':k,'amount':l};}return null;}function parseEthClaimEvent(a,b){const c=b['toLowerCase']();for(const d of a['logs']){if(d['address']['toLowerCase']()!==c)continue;if(d['topics'][0x0]!==TOKENS_CLAIMED_TOPIC)continue;const e=a104e(d['data']);if(e['length']<0x80)continue;const f=n=>e[n*0x20+0x1f],g=n=>{const o=e['slice'](n*0x20,n*0x20+0x20);return BigInt('0x'+bytesToHex(o['slice'](0x18,0x20)));},h=n=>'0x'+bytesToHex(e['slice'](n*0x20+0xc,n*0x20+0x20));f(0x0);const i=g(0x1),j=h(0x2),k=Number(g(0x3)),l=Number(BigInt('0x'+bytesToHex(e['slice'](k,k+0x20))['slice'](0x30))),m='0x'+bytesToHex(e['slice'](k+0x20,k+0x20+l));return{'bridgeSeq':BigInt('0x'+(d['topics'][0x2]?.['slice'](0x38)??'0')),'claimer':j,'recipient':m,'amount':i};}return null;}async function queryEvmToWowTransferStatus(a,b,c){const d=await queryEthTxReceipt(a,b);if(!d)return makeBridgeTransferState({'step':'source_tx_pending','direction':'evm_to_wow','sourceTxHash':a});if(d['status']!=='0x1')return makeBridgeTransferState({'step':'failed','direction':'evm_to_wow','sourceTxHash':a,'ethReceipt':d,'error':'ETH\x20source\x20transaction\x20reverted'});const e=parseEthDepositEvent(d,c);if(!e)return makeBridgeTransferState({'step':'failed','direction':'evm_to_wow','sourceTxHash':a,'ethReceipt':d,'error':'No\x20TokensDeposited/TokensDepositedV2\x20event\x20found\x20in\x20receipt'});let f=0x0;try{f=await queryEthTxConfirmations(a,b);}catch{}return makeBridgeTransferState({'step':'source_tx_confirmed','direction':'evm_to_wow','sourceTxHash':a,'bridgeSeq':e['bridgeSeq'],'confirmations':f,'ethReceipt':d});}async function queryWowToEvmTransferStatus(a,b){const c=await queryWowTx(a,b);if(!c)return makeBridgeTransferState({'step':'source_tx_pending','direction':'wow_to_evm','sourceTxHash':b});if(c['effects']?.['status']?.['status']!=='success')return makeBridgeTransferState({'step':'failed','direction':'wow_to_evm','sourceTxHash':b,'wowReceipt':c,'error':c['effects']?.['status']?.['error']||'WOW\x20transaction\x20failed'});return makeBridgeTransferState({'step':'source_tx_confirmed','direction':'wow_to_evm','sourceTxHash':b,'bridgeSeq':parseWowDepositSeqFromReceipt(c),'wowReceipt':c});}function normalizeEventType(a){const b=a['split']('::');if(b['length']>0x0&&b[0x0]['startsWith']('0x')){const c=b[0x0]['toLowerCase']()['replace'](/^0x0+/,'0x');b[0x0]=c==='0x'?'0x0':c;}return b['join']('::');}function parseWowDepositSeqFromReceipt(a){const b=a['events'];if(!b||b['length']===0x0)return void 0x0;const c=normalizeEventType('0xb::bridge::TokenDepositedEventV2');for(const d of b){if(normalizeEventType(d['type'])!==c)continue;const e=d['parsedJson'];if(!e)continue;const f=e['seq_num'];if(typeof f==='string'||typeof f==='number')return BigInt(f);}}async function waitForEthTx(a,b,c=0x1,d=0x2ee0,e=0x1e*0xea60){const f=Math['max'](0x1,Math['ceil'](e/d));for(let g=0x0;g<f;g++){const h=await queryEthTxReceipt(a,b);if(h){const j=await queryEthTxConfirmations(a,b);if(j>=c)return h;console['log']('[waitForEthTx]\x20'+(g+0x1)+'/'+f+':\x20'+j+'/'+c+'\x20confirmations');}else console['log']('[waitForEthTx]\x20'+(g+0x1)+'/'+f+':\x20pending');await sleep$1(d);}a104d('fail','Timeout\x20waiting\x20for\x20ETH\x20tx\x20'+a+'\x20after\x20'+f+'\x20iterations');}async function waitForWowTx(a,b,c=0xbb8,d=0x5*0xea60){const e=Math['max'](0x1,Math['ceil'](d/c));for(let f=0x0;f<e;f++){const g=await queryWowTx(a,b);if(g&&g['effects']?.['status']?.['status']==='success')return g;if(g&&g['effects']?.['status']?.['status']==='failure')a104d('fail','WOW\x20tx\x20'+b+'\x20failed:\x20'+(g['effects']['status']['error']||'unknown'));console['log']('[waitForWowTx]\x20'+(f+0x1)+'/'+e+':\x20pending'),await sleep$1(c);}a104d('fail','Timeout\x20waiting\x20for\x20WOW\x20tx\x20'+b+'\x20after\x20'+e+'\x20iterations');}function sleep$1(a){return new Promise(b=>setTimeout(b,a));}function isBase64(a){return/^[A-Za-z0-9+/]*={0,2}$/['test'](a)&&a['length']>0x0;}function decodeFlex(a){if(a['startsWith']('0x')||a['startsWith']('0X'))return a104e(a);if(/^[0-9a-fA-F]+$/['test'](a)&&a['length']%0x2===0x0)return a104e(a);if(isBase64(a))return Buffer['from'](a,'base64');throw new Error('Cannot\x20decode\x20signature/pubkey\x20string:\x20'+a);}function parseSignedAction(a,b){const c=decodeFlex(a['auth_signature']['authority_pub_key']),d=decodeFlex(a['auth_signature']['signature']);if(c['length']!==0x21&&c['length']!==0x41)throw new Error('Invalid\x20pubkey\x20length:\x20'+c['length']+'\x20(expected\x2033\x20or\x2065)');if(d['length']!==0x41)throw new Error('Invalid\x20signature\x20length:\x20'+d['length']+'\x20(expected\x2065)');return{'signerPubkey':'0x'+bytesToHex(c),'signature':'0x'+bytesToHex(d),'weight':b};}var BridgeNodeClient=class{constructor(a){this['committee']=a['committee'],this['timeoutMs']=a['timeoutMs']??0x7530,this['quorumRatio']=a['quorumRatio']??0x2/0x3;}get['totalWeight'](){return this['committee']['reduce']((a,b)=>a+b['weight'],0x0);}get['quorumWeight'](){return Math['floor'](this['totalWeight']*this['quorumRatio'])+0x1;}async['signEthToWow'](a,b){const c='/sign/bridge_tx/eth/wow/'+a+'/'+b;return this['collectSignatures'](c);}async['signWowToEth'](a,b){const c='/sign/bridge_tx/wow/eth/'+a+'/'+b;return this['collectSignatures'](c);}async['signWowTokenTransfer'](a,b,c){const d='/sign/bridge_action/wow/eth/'+a+'/'+b+'/'+c;return this['collectSignatures'](d);}async['ping'](a){try{const b=new AbortController(),c=setTimeout(()=>b['abort'](),Math['min'](this['timeoutMs'],0x2710)),d=await fetch(a+'/ping',{'signal':b['signal']});return clearTimeout(c),d['ok'];}catch{return![];}}async['pingAll'](){return Promise['all'](this['committee']['map'](async a=>({'url':a['baseUrl'],'healthy':await this['ping'](a['baseUrl'])})));}async['collectSignatures'](a){const b=new Map();let c=0x0;const d=this['committee']['map'](async f=>{try{return{'action':parseSignedAction(await this['fetchFromNode'](f['baseUrl'],a),f['weight']),'ok':!![]};}catch(g){return{'action':null,'ok':![],'error':g['message']};}}),e=await Promise['all'](d);for(const f of e){if(!f['ok']||!f['action'])continue;!b['has'](f['action']['signerPubkey'])&&(b['set'](f['action']['signerPubkey'],f['action']),c+=f['action']['weight']);}if(c<this['quorumWeight'])a104d('fail','Quorum\x20not\x20reached:\x20collected\x20'+c+',\x20required\x20'+this['quorumWeight']+'\x20(total\x20'+this['totalWeight']+')');return Array['from'](b['values']());}async['fetchFromNode'](a,b){const c=new AbortController(),d=setTimeout(()=>c['abort'](),this['timeoutMs']);try{const e=await fetch(''+a+b,{'signal':c['signal'],'headers':{'Accept':'application/json'}});if(!e['ok'])throw new Error('Node\x20'+a+'\x20returned\x20'+e['status']+':\x20'+await e['text']());return await e['json']();}finally{clearTimeout(d);}}},BridgeClient=class BridgeClient{constructor(a={}){this['_transferHistory']=new Map(),this['_transferCounter']=0x0,this['_loadHistoryPromise']=Promise['resolve'](),this['config']=a['config']??loadDefaultConfig(),this['wowEnv']=a['wowEnv'],registerBridgeEvmNetworks({'evmChain':{'chainId':this['config']['ethereum']['chainId'],'rpcUrl':this['config']['ethereum']['rpcUrl']},'setAsDefault':!![]});if(this['config']['l2']){for(const c of Object['values'](this['config']['l2']))if(c)registerBridgeEvmNetworks({'evmChain':{'chainId':c['chainId'],'rpcUrl':c['rpcUrl']}});}const b=this['config']['bridgeNodeUrls']['map']((d,e)=>({'pubkey':MAINNET_COMMITTEE_PUBKEYS[e]??'0x'+e['toString']()['padStart'](0x40,'0'),'weight':MAINNET_COMMITTEE_WEIGHTS[e]??0x1,'baseUrl':d}));this['nodeClient']=new BridgeNodeClient({'committee':b,'timeoutMs':this['config']['timeouts']['nodeRpcMs']}),this['_loadHistoryPromise']=this['_loadHistory']();}async['bridgeNativeEvmToWow'](a){return this['depositEvmToWowAndFinalize']({'amount':a['amount'],'recipientWowAddress':a['recipientWowAddress'],'waitForFinalization':a['waitForFinalization'],'token':'ETH'});}async['bridgeErc20ToWow'](a){if(a['token']==='ETH')a104d('invalid\x20parameter','Use\x20bridgeNativeEvmToWow()\x20for\x20native\x20ETH;\x20bridgeErc20ToWow()\x20only\x20accepts\x20WETH/WBTC/USDC/USDT');return this['depositEvmToWowAndFinalize']({'amount':a['amount'],'recipientWowAddress':a['recipientWowAddress'],'waitForFinalization':a['waitForFinalization'],'token':a['token']});}async['resolveEvmRpcUrl'](){const a=this['config']['ethereum'];if(a['rpcUrl'])return a['rpcUrl'];const {EvmNetworkRegistry:b}=await import('./w/local/evm/networks.mjs'),c=b['Instance'](),d=await c['resolve'](a['chainId']),e=c['pickHealthyRpc'](d);if(!e)a104d('invalid\x20parameter','No\x20healthy\x20EVM\x20RPC\x20available\x20for\x20chainId\x20'+a['chainId']+'.\x20Use\x20manage_evm_rpc\x20to\x20add\x20RPC\x20endpoints\x20first.');return e;}async['depositEvmToWowAndFinalize'](a){const b=this['config']['ethereum'],c=a['waitForFinalization']??!![],d=await this['resolveEvmRpcUrl'](),e=findTokenBySymbol(this['config'],a['token']);if(!e)a104d('invalid\x20parameter','Token\x20'+a['token']+'\x20not\x20found\x20in\x20config');const f=a['token']==='ETH',g=this['config']['defaultVersion']===0x1?'v1':'v2',h={'recipientWowAddress':a['recipientWowAddress'],'bridgeProxyAddress':b['bridgeProxyAddress'],'network':b['chainId'],'rpcUrl':d,'version':g},j=await depositFromEth({'amount':a['amount'],'tokenAddress':f?void 0x0:e['evmAddress'],'tokenId':f?void 0x0:e['tokenId']},h);if(!j['success']||!j['txHash'])a104d('fail','EVM\x20deposit\x20failed:\x20'+(j['error']?.['message']??'unknown\x20error'));const k=j['txHash'];if(!c)return{'depositTxHash':k};await waitForEthTx(k,d,0x40,0x2ee0,this['config']['timeouts']['signatureCollectMs']);const l=await queryEthTxReceipt(k,d);if(!l)return{'depositTxHash':k};const m=parseEthDepositEvent(l,b['bridgeProxyAddress']);if(!m)return{'depositTxHash':k};if(!this['wowEnv'])a104d('invalid\x20parameter','wowEnv\x20is\x20required\x20for\x20EVM→WOW\x20finalization\x20(claim\x20on\x20WOW)');const n=this['config']['timeouts']['autoClaimMs'],o=this['config']['timeouts']['signaturePollIntervalMs'],p=Math['max'](0x1,Math['ceil'](n/o));let q;for(let s=0x0;s<p;s++){q=await queryWowClaimStatus({'sourceChainId':0xa,'bridgeSeqNum':m['bridgeSeq']},this['config']['wow']['network']),console['log']('[depositEvmToWowAndFinalize]\x20wait\x20approve\x20'+(s+0x1)+'/'+p+':\x20status='+q['status']);if(q['status']==='approved'||q['status']==='claimed')break;await sleep(o);}if(!q||q['status']==='not_approved')a104d('fail','Timeout\x20waiting\x20for\x20bridge\x20nodes\x20to\x20approve\x20bridgeSeq='+m['bridgeSeq']+'\x20after\x20'+p+'\x20iterations');if(q['status']==='claimed')return{'depositTxHash':k,'bridgeSeq':m['bridgeSeq'],'claimTxDigest':q['claimedTxHash']};const r=await claimOnWow({'sourceChainId':0xa,'bridgeSeqNum':m['bridgeSeq'],'tokenType':e['wowTypeTag'],'bridgeObjectId':this['config']['wow']['bridgeObjectId']},this['wowEnv']);return{'depositTxHash':k,'bridgeSeq':m['bridgeSeq'],'claimTxDigest':r['digest']};}async['bridgeWowToEvm'](a){if(!this['wowEnv'])a104d('invalid\x20parameter','wowEnv\x20is\x20required\x20for\x20WOW→EVM\x20bridge');const b=a['waitForFinalization']??!![],c=this['config']['ethereum'],d=await this['resolveEvmRpcUrl'](),e=findTokenBySymbol(this['config'],a['token']);if(!e)a104d('invalid\x20parameter','Token\x20'+a['token']+'\x20not\x20found\x20in\x20config');const f=e['wowTypeTag'],g=e['tokenId'],h=await depositFromWow({'amount':a['amount'],'tokenType':f,'recipientEthAddress':a['recipientEthAddress'],'bridgeObjectId':this['config']['wow']['bridgeObjectId']},this['wowEnv']),{WowClient:i}=await import('./client/index.mjs'),{Config:j}=await import('./w/local/config.mjs'),{getFullnodeUrl:k}=await import('./network-CeDd07Hg.mjs')['then'](u=>u['r']),l=await j['Instance']()['network_get'](this['wowEnv']['network']),m=new i({'url':k(l),'network':l});await waitForWowTx(m,h['digest'],this['config']['timeouts']['signaturePollIntervalMs'],this['config']['timeouts']['signatureCollectMs']);if(!b)return{'depositTxDigest':h['digest'],'bridgeSeq':h['seqNum']};const n=await m['getTransactionBlock']({'digest':h['digest'],'options':{'showEffects':!![]}}),o=n['timestampMs']?BigInt(n['timestampMs']):BigInt(Date['now']()),p=(await Account['Instance']()['get'](this['wowEnv']['account']))?.['address']??'';if(!p)a104d('fail','Failed\x20to\x20resolve\x20WOW\x20sender\x20address');const q=buildClaimMessage({'messageType':0x0,'version':0x2,'nonce':h['seqNum'],'sourceChain':0x0,'targetChain':0xa,'recipientAddress':hexToBytes(a['recipientEthAddress']['slice'](0x2)),'tokenId':g,'amount':a['amount'],'timestampMs':o,'senderAddress':hexToBytes(p['startsWith']('0x')?p['slice'](0x2):p)}),r={'bridgeProxyAddress':c['bridgeProxyAddress'],'network':c['chainId'],'rpcUrl':d,'nodeClient':this['nodeClient']},s=await claimOnEthBySeq({'sourceChain':0x0,'messageType':0x0,'seqNum':h['seqNum'],'message':q},r);if(!s['success']||!s['txHash'])a104d('fail','EVM\x20claim\x20failed:\x20'+(s['error']?.['revertReason']?'revert:\x20'+s['error']['revertReason']:s['error']?.['message']??'unknown\x20error'));const t=s['txHash'];return await waitForEthTx(t,d,0x1,0x2ee0,this['config']['timeouts']['signatureCollectMs']),{'depositTxDigest':h['digest'],'bridgeSeq':h['seqNum'],'claimTxHash':t};}async['queryEvmToWowStatus'](a){const b=this['config']['ethereum'],{EvmNetworkRegistry:c}=await import('./w/local/evm/networks.mjs'),d=c['Instance'](),f=await d['resolve'](b['chainId']),g=Date['now'](),h=[...f['rpcUrls']]['sort']((j,k)=>{const l=d['unhealthyRpc']?.['get'](j)??0x0,m=d['unhealthyRpc']?.['get'](k)??0x0,n=d['unhealthyCounter']?.['get'](j)??0x0,o=d['unhealthyCounter']?.['get'](k)??0x0,p=l<g?0x0:0x1,q=m<g?0x0:0x1;if(p!==q)return p-q;return n-o;});let i;for(const j of h)try{const k=await queryEvmToWowTransferStatus(a,j,b['bridgeProxyAddress']);d['markHealthy'](j);if(k['step']==='source_tx_confirmed'&&k['bridgeSeq']&&this['wowEnv'])try{const l=await queryWowClaimStatus({'sourceChainId':0xa,'bridgeSeqNum':BigInt(k['bridgeSeq'])},this['config']['wow']['network']);if(l['status']==='claimed')k['status']='completed',k['step']='completed',k['claimTxDigest']=l['claimedTxHash'];else{if(l['status']==='approved')k['status']='signatures_ready',k['step']='signatures_ready';else{if(l['status']==='not_approved'){}}}}catch{}return k;}catch(m){i=m,d['markUnhealthy'](j);}return{'status':'pending','step':'source_tx_pending','direction':'evm_to_wow','sourceTxHash':a,'error':i instanceof Error?i['message']:String(i)};}async['queryWowToEvmStatus'](a){const {WowClient:b}=await import('./client/index.mjs'),{Config:c}=await import('./w/local/config.mjs'),{getFullnodeUrl:d}=await import('./network-CeDd07Hg.mjs')['then'](f=>f['r']),e=await c['Instance']()['network_get'](this['wowEnv']?.['network']);return queryWowToEvmTransferStatus(new b({'url':d(e),'network':e}),a);}async['queryEvmToWowClaimStatus'](a){return queryWowClaimStatus({'sourceChainId':0xa,'bridgeSeqNum':a['bridgeSeqNum']},this['config']['wow']['network']);}async['claimWowToEvm'](a){if(!this['wowEnv'])a104d('invalid\x20parameter','wowEnv\x20is\x20required\x20for\x20WOW→EVM\x20claim');const b=this['_transferHistory']['get'](a);if(!b)a104d('invalid\x20parameter','transferId\x20\x27'+a+'\x27\x20not\x20found');if(b['direction']!=='wow_to_evm')a104d('invalid\x20parameter','transferId\x20\x27'+a+'\x27\x20is\x20not\x20a\x20wow_to_evm\x20transfer');if(!b['depositTxDigest']||!b['bridgeSeq'])a104d('invalid\x20parameter','transferId\x20\x27'+a+'\x27\x20missing\x20deposit\x20info\x20(depositTxDigest\x20or\x20bridgeSeq)');const c=this['config']['ethereum'],d=await this['resolveEvmRpcUrl'](),e=findTokenBySymbol(this['config'],b['token']);if(!e)a104d('invalid\x20parameter','Token\x20'+b['token']+'\x20not\x20found\x20in\x20config');const f=e['tokenId'],{WowClient:g}=await import('./client/index.mjs'),{Config:h}=await import('./w/local/config.mjs'),{getFullnodeUrl:i}=await import('./network-CeDd07Hg.mjs')['then'](q=>q['r']),j=await h['Instance']()['network_get'](this['wowEnv']['network']),k=await new g({'url':i(j),'network':j})['getTransactionBlock']({'digest':b['depositTxDigest'],'options':{'showEffects':!![]}}),l=k['timestampMs']?BigInt(k['timestampMs']):BigInt(Date['now']()),m=(await Account['Instance']()['get'](this['wowEnv']['account']))?.['address']??'';if(!m)a104d('fail','Failed\x20to\x20resolve\x20WOW\x20sender\x20address');const n=buildClaimMessage({'messageType':0x0,'version':0x2,'nonce':BigInt(b['bridgeSeq']),'sourceChain':0x0,'targetChain':0xa,'recipientAddress':hexToBytes(b['recipientEth']['slice'](0x2)),'tokenId':f,'amount':BigInt(b['amount']),'timestampMs':l,'senderAddress':hexToBytes(m['startsWith']('0x')?m['slice'](0x2):m)}),o={'bridgeProxyAddress':c['bridgeProxyAddress'],'network':c['chainId'],'rpcUrl':d,'nodeClient':this['nodeClient']},p=await claimOnEthBySeq({'sourceChain':0x0,'messageType':0x0,'seqNum':BigInt(b['bridgeSeq']),'message':n},o);if(!p['success']||!p['txHash'])a104d('fail','EVM\x20claim\x20failed:\x20'+(p['error']?.['revertReason']?'revert:\x20'+p['error']['revertReason']:p['error']?.['message']??'unknown\x20error'));return this['_updateTransfer'](a,{'step':'claimed','status':'success','claimTxHash':p['txHash']}),{'claimTxHash':p['txHash'],'transferId':a};}async['bridgeWowToEvmSimple'](a){if(!this['wowEnv'])a104d('invalid\x20parameter','wowEnv\x20is\x20required\x20for\x20WOW→EVM\x20bridge');const {EvmAccount:b}=await import('./w/local/evm-account.mjs'),c=(await b['Instance']()['active']())['address'],d=await this['_recordTransfer']({'direction':'wow_to_evm','token':a['token'],'amount':a['amount'],'recipientEth':a['withdrawTo']??c,'intermediateEthAccount':c,'withdrawToProvided':!!a['withdrawTo']});try{this['_updateTransfer'](d,{'step':'deposit','status':'in_progress'});const e=await this['bridgeWowToEvm']({'token':a['token'],'amount':a['amount'],'recipientEthAddress':c,'waitForFinalization':a['waitForFinalization']??!![]});if(e['claimTxHash'])this['_updateTransfer'](d,{'step':'claimed','status':'success','depositTxDigest':e['depositTxDigest'],'bridgeSeq':e['bridgeSeq']?.['toString'](),'claimTxHash':e['claimTxHash']});else this['_updateTransfer'](d,{'step':'deposit','status':'in_progress','depositTxDigest':e['depositTxDigest'],'bridgeSeq':e['bridgeSeq']?.['toString']()});let f;if(a['withdrawTo']&&e['claimTxHash']){this['_updateTransfer'](d,{'step':'withdraw','status':'in_progress'});const g=findTokenBySymbol(this['config'],a['token']);f=(await b['Instance']()['withdrawFromActive']({'to':a['withdrawTo'],'amount':a['amount'],'tokenAddress':a['token']==='ETH'?void 0x0:g?.['evmAddress'],'network':this['config']['ethereum']['chainId']}))['transactionHash'],this['_updateTransfer'](d,{'step':'withdrawn','status':'success','withdrawTxHash':f});}return{'depositTxDigest':e['depositTxDigest'],'bridgeSeq':e['bridgeSeq'],'claimTxHash':e['claimTxHash'],'withdrawTxHash':f,'activeEvmAccount':c,'transferId':d};}catch(h){this['_updateTransfer'](d,{'status':'failed','error':h?.['message']??String(h)});throw h;}}async['bridgeEvmToWowSimple'](a){if(!this['wowEnv'])a104d('invalid\x20parameter','wowEnv\x20is\x20required\x20for\x20EVM→WOW\x20bridge');const {EvmAccount:b}=await import('./w/local/evm-account.mjs'),c=await b['Instance']()['active']();let d=a['recipientWowAddress'];if(!d){const i=await Account['Instance']()['get'](this['wowEnv']['account']);if(!i?.['address'])a104d('fail','Failed\x20to\x20resolve\x20WOW\x20recipient\x20address');d=i['address'];}const e=findTokenBySymbol(this['config'],a['token']);if(!e)a104d('invalid\x20parameter','Token\x20'+a['token']+'\x20not\x20found\x20in\x20config');const f=a['token']==='ETH';let g;if(f)g=await b['Instance']()['balance'](this['config']['ethereum']['chainId']);else g=await b['Instance']()['balanceOf'](e['evmAddress'],this['config']['ethereum']['chainId']);if(g===void 0x0||g<a['amount'])a104d('fail','Insufficient\x20'+(f?'ETH':'ERC20')+'\x20balance\x20on\x20activeEvmAccount\x20('+c['address']+')\x20on\x20chain\x20'+this['config']['ethereum']['chainId']+':\x20have\x20'+(g??0x0n)+',\x20need\x20'+a['amount']+'.\x20Please\x20recharge\x20the\x20activeEvmAccount\x20from\x20your\x20wallet\x20(transfer\x20'+(f?'ETH':'the\x20token')+'\x20to\x20'+c['address']+'),\x20then\x20retry\x20the\x20cross-chain\x20transfer.');const h=await this['_recordTransfer']({'direction':'evm_to_wow','token':a['token'],'amount':a['amount'],'recipientWow':d,'intermediateEthAccount':c['address']});try{this['_updateTransfer'](h,{'step':'deposit','status':'in_progress'});let j;if(f)j=await this['bridgeNativeEvmToWow']({'amount':a['amount'],'recipientWowAddress':d,'waitForFinalization':a['waitForFinalization']??!![]});else j=await this['bridgeErc20ToWow']({'token':a['token'],'amount':a['amount'],'recipientWowAddress':d,'waitForFinalization':a['waitForFinalization']??!![]});const k=a['waitForFinalization']??!![];return this['_updateTransfer'](h,{'step':k?'claimed':'deposit','status':k?'success':'in_progress','depositTxHash':j['depositTxHash'],'bridgeSeq':j['bridgeSeq']?.['toString'](),'claimTxDigest':j['claimTxDigest']}),{...j,'activeEvmAccount':c['address'],'transferId':h};}catch(l){this['_updateTransfer'](h,{'status':'failed','error':l?.['message']??String(l)});throw l;}}async['withdrawFromActiveEvmAccount'](a){const {EvmAccount:b}=await import('./w/local/evm-account.mjs'),c=await b['Instance']()['active']();let d=a['tokenAddress'];if(!d&&a['token']&&a['token']!=='ETH')d=findTokenBySymbol(this['config'],a['token'])?.['evmAddress'];const e=await this['_recordTransfer']({'direction':'withdraw','token':a['token'],'amount':a['amount'],'recipientEth':a['to'],'intermediateEthAccount':c['address']});try{this['_updateTransfer'](e,{'step':'withdraw','status':'in_progress'});const f=await b['Instance']()['withdrawFromActive']({'to':a['to'],'amount':a['amount'],'tokenAddress':d,'network':a['network']??this['config']['ethereum']['chainId']});return this['_updateTransfer'](e,{'step':'withdrawn','status':'success','withdrawTxHash':f['transactionHash']}),{'txHash':f['transactionHash'],'transferId':e};}catch(g){this['_updateTransfer'](e,{'status':'failed','error':g?.['message']??String(g)});throw g;}}async['querySupportedEvmChains'](){const {EvmNetworkRegistry:a}=await import('./w/local/evm/networks.mjs'),b=a['Instance']()['listRpcStatus'](this['config']['ethereum']['chainId']),c=b['filter'](d=>d['healthy'])['length'];return[{'chainId':this['config']['ethereum']['chainId'],'name':'mainnet','description':'Ethereum\x20Mainnet','bridgeChainId':this['config']['ethereum']['bridgeChainId'],'explorerUrl':'https://etherscan.io','rpcCount':b['length'],'healthyRpcCount':c}];}async['querySupportedTokens'](a){const b=await this['querySupportedEvmChains'](),c=a?.['network']?b['filter'](e=>typeof a['network']==='number'?e['chainId']===a['network']:e['name']['toLowerCase']()===String(a['network'])['toLowerCase']()):b,d=[];for(const e of c){const f=this['config']['tokens']['filter'](g=>!g['evmChains']||g['evmChains']['includes'](e['bridgeChainId']))['map'](g=>({'tokenId':g['tokenId'],'symbol':g['symbol'],'evmAddress':g['evmAddress'],'evmDecimals':g['evmDecimals'],'wowTypeTag':g['wowTypeTag'],'wowDecimals':g['wowDecimals'],'description':g['description']??g['symbol']+'\x20(tokenId='+g['tokenId']+')'}));d['push']({'chainId':e['chainId'],'chainName':e['name'],'bridgeChainId':e['bridgeChainId'],'tokens':f});}return d;}async['queryActiveEvmAccount'](a){const {EvmAccount:b}=await import('./w/local/evm-account.mjs'),{EvmNetworkRegistry:c}=await import('./w/local/evm/networks.mjs'),d=await b['Instance']()['active']();c['Instance']();const e=await this['querySupportedEvmChains'](),f=a?.['network']?e['filter'](h=>typeof a['network']==='number'?h['chainId']===a['network']:h['name']['toLowerCase']()===String(a['network'])['toLowerCase']()):e,g=[];for(const h of f){const i=await b['Instance']()['balance'](h['chainId']),j={'chainId':h['chainId'],'name':h['name'],'nativeBalance':(i??0x0n)['toString']()};if(a?.['tokens']&&a['tokens']['length']>0x0){j['tokens']=[];for(const k of a['tokens']){const l=await b['Instance']()['balanceOf'](k,h['chainId']);j['tokens']['push']({'tokenAddress':k,'balance':(l??0x0n)['toString']()});}}g['push'](j);}return{'address':d['address'],'chains':g};}async['queryTransferList'](a){await this['_loadHistoryPromise'];const b=Array['from'](this['_transferHistory']['values']())['reverse']();if(a?.['onlyActive'])return b['filter'](c=>c['status']==='in_progress'||c['status']==='pending');return b;}async['queryTransferStatus'](a){return await this['_loadHistoryPromise'],this['_transferHistory']['get'](a);}async['refreshTransferStatus'](a){await this['_loadHistoryPromise'];const b=this['_transferHistory']['get'](a);if(!b)return void 0x0;if(b['direction']==='withdraw')return b;try{if(b['direction']==='evm_to_wow'&&b['depositTxHash']){const c=await this['queryEvmToWowStatus'](b['depositTxHash']);if(typeof c['bridgeSeq']==='bigint')c['bridgeSeq']=c['bridgeSeq']['toString']();b['latestState']=c,c['status']==='completed'&&b['status']==='in_progress'&&(b['status']='success',b['step']='claimed');}else{if(b['direction']==='wow_to_evm'&&b['depositTxDigest']){const d=await this['queryWowToEvmStatus'](b['depositTxDigest']);if(typeof d['bridgeSeq']==='bigint')d['bridgeSeq']=d['bridgeSeq']['toString']();if(b['claimTxHash']){if(d['step']==='source_tx_confirmed'||d['step']==='signatures_ready')try{const e=await this['resolveEvmRpcUrl'](),f=await queryEthTxReceipt(b['claimTxHash'],e);f?(d['claimReceipt']=f,f['status']==='0x1'?(d['status']='completed',d['step']='completed'):(d['status']='failed',d['step']='failed',d['error']='EVM\x20claim\x20transaction\x20reverted')):(d['status']='claiming',d['step']='claim_tx_pending');}catch{}}else d['hint']='claim_wow_to_evm\x20(step\x202)\x20not\x20yet\x20called.\x20Call\x20claim_wow_to_evm\x20after\x20bridge\x20nodes\x20sign\x20(~1-5\x20min).';b['latestState']=d,d['status']==='completed'&&b['status']==='in_progress'&&(b['status']='success',b['step']='claimed');}}}catch(g){b['error']=g?.['message']??String(g);}return b;}async['manageEvmRpc'](a){const {EvmNetworkRegistry:b}=await import('./w/local/evm/networks.mjs'),c=b['Instance'](),d=a['network']??this['config']['ethereum']['chainId'];switch(a['op']){case'list':return{'op':'list','success':!![],'result':c['listRpcStatus'](d)};case'add':if(!a['rpcUrls']||a['rpcUrls']['length']===0x0)a104d('invalid\x20parameter','rpcUrls\x20is\x20required\x20for\x20\x27add\x27\x20op');{const e=c['addRpcs'](d,a['rpcUrls']);return{'op':'add','success':e>0x0,'result':{'added':e}};}case'remove':if(!a['rpcUrls']||a['rpcUrls']['length']===0x0)a104d('invalid\x20parameter','rpcUrls\x20is\x20required\x20for\x20\x27remove\x27\x20op');{const f=c['removeRpcs'](d,a['rpcUrls']);return{'op':'remove','success':f>0x0,'result':{'removed':f}};}case'set':if(!a['rpcUrls']||a['rpcUrls']['length']===0x0)a104d('invalid\x20parameter','rpcUrls\x20is\x20required\x20for\x20\x27set\x27\x20op');return{'op':'set','success':c['setRpcs'](d,a['rpcUrls'])};case'ping':{const g=c['listRpcStatus'](d),h=[];for(const i of g){const j=await c['ping'](i['url']);h['push']({'url':i['url'],'healthy':j});}return{'op':'ping','success':!![],'result':h};}default:a104d('invalid\x20parameter','Unknown\x20op:\x20'+a['op']);}}static{this['HISTORY_DB_KEY']='bridge:transfers:all';}async['_loadHistory'](){try{this['_historyStore']=new SQLiteStorage();const a=await this['_historyStore']['get'](BridgeClient['HISTORY_DB_KEY']);if(a){const b=JSON['parse'](a);if(Array['isArray'](b)){for(const d of b)if(d['transferId'])this['_transferHistory']['set'](d['transferId'],d);for(const e of b){const f=e['transferId']?.['match'](/_(\d+)$/);if(f){const g=parseInt(f[0x1],0xa);if(g>this['_transferCounter'])this['_transferCounter']=g;}}}}}catch{}}async['_saveHistory'](){try{if(!this['_historyStore'])return;const a=Array['from'](this['_transferHistory']['values']());await this['_historyStore']['put'](BridgeClient['HISTORY_DB_KEY'],JSON['stringify'](a));}catch{}}async['_recordTransfer'](a){this['_transferCounter']+=0x1;const b='br_'+Date['now']()+'_'+this['_transferCounter'],c={'transferId':b,'direction':a['direction'],'token':a['token'],'amount':a['amount']['toString'](),'recipientEth':a['recipientEth'],'recipientWow':a['recipientWow'],'intermediateEthAccount':a['intermediateEthAccount'],'withdrawToProvided':a['withdrawToProvided'],'step':'init','status':'pending','createdAt':Date['now'](),'updatedAt':Date['now']()};return this['_transferHistory']['set'](b,c),await this['_saveHistory'](),b;}async['_updateTransfer'](a,b){const c=this['_transferHistory']['get'](a);if(!c)return;Object['assign'](c,b,{'updatedAt':Date['now']()}),await this['_saveHistory']();}};function sleep(a){return new Promise(b=>setTimeout(b,a));}function loadDefaultConfig(){return MAINNET_BRIDGE_CONFIG;}function hexToBytes(a){const b=a['startsWith']('0x')?a['slice'](0x2):a,c=new Uint8Array(b['length']/0x2);for(let d=0x0;d<c['length'];d++)c[d]=parseInt(b['slice'](d*0x2,d*0x2+0x2),0x10);return c;}export{TransferStatus as $,TOKENS_CLAIMED_TOPIC as A,MAINNET_BRIDGE_CONFIG as B,buildClaimMessage as C,depositEth as D,depositErc20 as E,encodeBridgeERC20V2 as F,findEvmChainConfigByBridgeChainId as G,MAINNET_COMMITTEE_PUBKEYS as H,encodeBridgeETH as I,verifyCommitteeConsistency as J,findToken as K,encodeBridgeETHV2 as L,TOKENS_DEPOSITED_V2_TOPIC as M,encodeApprove as N,depositFromEth as O,encodeBridgeERC20 as P,BridgeVersion as Q,encodeTokenTransferPayloadV2 as R,depositFromWow as S,claimOnEthBySeq as T,MAINNET_COMMITTEE_WEIGHTS as U,MAINNET_COMMITTEE_MEMBER_ADDRESSES as V,findEvmChainConfig as W,BridgeErrorCode as X,BridgeChainId as Y,BridgeTokenId as Z,waitForEthTx as _,BridgeTransferStatus as a,claimOnWow as b,parseEthClaimEvent as c,queryEthBalance as d,isEvmChain as et,queryEthTxConfirmations as f,queryWowTx as g,queryWowToEvmTransferStatus as h,BridgeTransferDirection as i,TOKENS_DEPOSITED_TOPIC as j,ERC20_TRANSFER_TOPIC as k,parseEthDepositEvent as l,queryEvmToWowTransferStatus as m,BridgeNodeClient as n,BridgeTransferStep as o,queryEthTxReceipt as p,findTokenBySymbol as q,BRIDGE_STEP_DESCRIPTIONS as r,makeBridgeTransferState as s,BridgeClient as t,isWowChain as tt,queryErc20Balance as u,waitForWowTx as v,claimOnEth as w,queryWowClaimStatus as x,WowClaimStatus as y,encodeTransferBridgedTokensWithSignatures as z};
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "author": "wowok <build@wowok.net>",
4
4
  "description": "Wowok Blockchain TypeScript API",
5
5
  "homepage": "https://wowok.net",
6
- "version": "2.3.7",
6
+ "version": "2.3.9",
7
7
  "license": "Apache-2.0",
8
8
  "sideEffects": false,
9
9
  "files": [
@@ -164,9 +164,6 @@
164
164
  "./w/call/repository": {
165
165
  "import": "./dist/esm/w/call/repository.mjs"
166
166
  },
167
- "./w/call/bridge": {
168
- "import": "./dist/esm/w/call/bridge.mjs"
169
- },
170
167
  "./w/common": {
171
168
  "import": "./dist/esm/w/common.mjs"
172
169
  },
@@ -191,6 +188,9 @@
191
188
  "./w/local/wip": {
192
189
  "import": "./dist/esm/w/local/wip.mjs"
193
190
  },
191
+ "./w/local/secure-storage": {
192
+ "import": "./dist/esm/w/local/secure-storage.mjs"
193
+ },
194
194
  "./client/network": {
195
195
  "import": "./dist/esm/client/network.mjs"
196
196
  },
@@ -1 +0,0 @@
1
- import{a as a0a,c as a0b,l as a0c,s as a0d}from'./sui-types-CuBKFvrd.mjs';import{o as a0e,s as a0f,u as a0g}from'./bcs-DDXHXJXy.mjs';import{E as a0h,T as a0i,_ as a0j,b as a0k,m as a0l,p as a0m,v as a0n,w as a0o,x as a0p}from'./utils-IlS3fpdQ.mjs';import{fromBase58,fromBase64,fromHex,isSerializedBcs,toBase58,toBase64,toHex}from'@mysten/bcs';import{blake2b}from'@noble/hashes/blake2.js';import{chunk}from'@mysten/utils';import{array,bigint,boolean,check,integer,is,lazy,literal,nullable,nullish,number,object,optional,parse,picklist,pipe,record,string,transform,tuple,union,unknown}from'valibot';function safeEnum(a){return union(Object['keys'](a)['map'](b=>withKind(b,object({[b]:a[b]}))));}function withKind(a,b){return pipe(object({...b['entries'],'$kind':optional(literal(a))}),transform(c=>({...c,'$kind':a})));}const WowAddress=pipe(string(),transform(a=>a0b(a)),check(a0a)),ObjectID=WowAddress,BCSBytes=string(),JsonU64=pipe(union([string(),pipe(number(),integer())]),check(a=>{try{return BigInt(a),BigInt(a)>=0x0&&BigInt(a)<=0xffffffffffffffffn;}catch{return![];}},'Invalid\x20u64')),U32=pipe(number(),integer(),check(a=>a>=0x0&&a<0x2**0x20,'Invalid\x20u32')),ObjectRefSchema=object({'objectId':WowAddress,'version':JsonU64,'digest':string()}),ArgumentSchema=union([withKind('GasCoin',object({'GasCoin':literal(!![])})),withKind('Input',object({'Input':pipe(number(),integer()),'type':optional(union([literal('pure'),literal('object'),literal('withdrawal')]))})),withKind('Result',object({'Result':pipe(number(),integer())})),withKind('NestedResult',object({'NestedResult':tuple([pipe(number(),integer()),pipe(number(),integer())])}))]),GasDataSchema=object({'budget':nullable(JsonU64),'price':nullable(JsonU64),'owner':nullable(WowAddress),'payment':nullable(array(ObjectRefSchema))});object({'address':string(),'module':string(),'name':string(),'typeParams':array(string())});const OpenSignatureBodySchema=union([object({'$kind':literal('address')}),object({'$kind':literal('bool')}),object({'$kind':literal('u8')}),object({'$kind':literal('u16')}),object({'$kind':literal('u32')}),object({'$kind':literal('u64')}),object({'$kind':literal('u128')}),object({'$kind':literal('u256')}),object({'$kind':literal('unknown')}),object({'$kind':literal('vector'),'vector':lazy(()=>OpenSignatureBodySchema)}),object({'$kind':literal('datatype'),'datatype':object({'typeName':string(),'typeParameters':array(lazy(()=>OpenSignatureBodySchema))})}),object({'$kind':literal('typeParameter'),'index':pipe(number(),integer())})]),OpenSignatureSchema=object({'reference':nullable(union([literal('mutable'),literal('immutable'),literal('unknown')])),'body':OpenSignatureBodySchema}),ProgrammableMoveCallSchema=object({'package':ObjectID,'module':string(),'function':string(),'typeArguments':array(string()),'arguments':array(ArgumentSchema),'_argumentTypes':optional(nullable(array(OpenSignatureSchema)))}),$Intent$1=object({'name':string(),'inputs':record(string(),union([ArgumentSchema,array(ArgumentSchema)])),'data':record(string(),unknown())}),CommandSchema=safeEnum({'MoveCall':ProgrammableMoveCallSchema,'TransferObjects':object({'objects':array(ArgumentSchema),'address':ArgumentSchema}),'SplitCoins':object({'coin':ArgumentSchema,'amounts':array(ArgumentSchema)}),'MergeCoins':object({'destination':ArgumentSchema,'sources':array(ArgumentSchema)}),'Publish':object({'modules':array(BCSBytes),'dependencies':array(ObjectID)}),'MakeMoveVec':object({'type':nullable(string()),'elements':array(ArgumentSchema)}),'Upgrade':object({'modules':array(BCSBytes),'dependencies':array(ObjectID),'package':ObjectID,'ticket':ArgumentSchema}),'$Intent':$Intent$1}),ObjectArgSchema=safeEnum({'ImmOrOwnedObject':ObjectRefSchema,'SharedObject':object({'objectId':ObjectID,'initialSharedVersion':JsonU64,'mutable':boolean()}),'Receiving':ObjectRefSchema}),FundsWithdrawalArgSchema=object({'reservation':safeEnum({'MaxAmountU64':JsonU64}),'typeArg':safeEnum({'Balance':string()}),'withdrawFrom':safeEnum({'Sender':literal(!![]),'Sponsor':literal(!![])})}),CallArgSchema=safeEnum({'Object':ObjectArgSchema,'Pure':object({'bytes':BCSBytes}),'UnresolvedPure':object({'value':unknown()}),'UnresolvedObject':object({'objectId':ObjectID,'version':optional(nullable(JsonU64)),'digest':optional(nullable(string())),'initialSharedVersion':optional(nullable(JsonU64)),'mutable':optional(nullable(boolean()))}),'FundsWithdrawal':FundsWithdrawalArgSchema}),NormalizedCallArg$1=safeEnum({'Object':ObjectArgSchema,'Pure':object({'bytes':BCSBytes})}),ValidDuringSchema=object({'minEpoch':nullable(JsonU64),'maxEpoch':nullable(JsonU64),'minTimestamp':nullable(JsonU64),'maxTimestamp':nullable(JsonU64),'chain':string(),'nonce':U32}),TransactionExpiration$2=safeEnum({'None':literal(!![]),'Epoch':JsonU64,'ValidDuring':ValidDuringSchema}),TransactionDataSchema=object({'version':literal(0x2),'sender':nullish(WowAddress),'expiration':nullish(TransactionExpiration$2),'gasData':GasDataSchema,'inputs':array(CallArgSchema),'commands':array(CommandSchema)}),ObjectRef=object({'digest':string(),'objectId':string(),'version':union([pipe(number(),integer()),string(),bigint()])}),NormalizedCallArg=safeEnum({'Object':safeEnum({'ImmOrOwned':ObjectRef,'Shared':object({'objectId':ObjectID,'initialSharedVersion':JsonU64,'mutable':boolean()}),'Receiving':ObjectRef}),'Pure':array(pipe(number(),integer()))}),TransactionInput=union([object({'kind':literal('Input'),'index':pipe(number(),integer()),'value':unknown(),'type':optional(literal('object'))}),object({'kind':literal('Input'),'index':pipe(number(),integer()),'value':unknown(),'type':literal('pure')})]),TransactionExpiration$1=union([object({'Epoch':pipe(number(),integer())}),object({'None':nullable(literal(!![]))})]),StringEncodedBigint=pipe(union([number(),string(),bigint()]),check(a=>{if(!['string','number','bigint']['includes'](typeof a))return![];try{return BigInt(a),!![];}catch{return![];}})),TypeTag=union([object({'bool':nullable(literal(!![]))}),object({'u8':nullable(literal(!![]))}),object({'u64':nullable(literal(!![]))}),object({'u128':nullable(literal(!![]))}),object({'address':nullable(literal(!![]))}),object({'signer':nullable(literal(!![]))}),object({'vector':lazy(()=>TypeTag)}),object({'struct':lazy(()=>StructTag)}),object({'u16':nullable(literal(!![]))}),object({'u32':nullable(literal(!![]))}),object({'u256':nullable(literal(!![]))})]),StructTag=object({'address':string(),'module':string(),'name':string(),'typeParams':array(TypeTag)}),GasConfig=object({'budget':optional(StringEncodedBigint),'price':optional(StringEncodedBigint),'payment':optional(array(ObjectRef)),'owner':optional(string())}),TransactionArgument=union([...[TransactionInput,object({'kind':literal('GasCoin')}),object({'kind':literal('Result'),'index':pipe(number(),integer())}),object({'kind':literal('NestedResult'),'index':pipe(number(),integer()),'resultIndex':pipe(number(),integer())})]]),MoveCallTransaction=object({'kind':literal('MoveCall'),'target':pipe(string(),check(a=>a['split']('::')['length']===0x3)),'typeArguments':array(string()),'arguments':array(TransactionArgument)}),TransferObjectsTransaction=object({'kind':literal('TransferObjects'),'objects':array(TransactionArgument),'address':TransactionArgument}),SplitCoinsTransaction=object({'kind':literal('SplitCoins'),'coin':TransactionArgument,'amounts':array(TransactionArgument)}),MergeCoinsTransaction=object({'kind':literal('MergeCoins'),'destination':TransactionArgument,'sources':array(TransactionArgument)}),MakeMoveVecTransaction=object({'kind':literal('MakeMoveVec'),'type':union([object({'Some':TypeTag}),object({'None':nullable(literal(!![]))})]),'objects':array(TransactionArgument)}),TransactionType=union([...[MoveCallTransaction,TransferObjectsTransaction,SplitCoinsTransaction,MergeCoinsTransaction,object({'kind':literal('Publish'),'modules':array(array(pipe(number(),integer()))),'dependencies':array(string())}),object({'kind':literal('Upgrade'),'modules':array(array(pipe(number(),integer()))),'dependencies':array(string()),'packageId':string(),'ticket':TransactionArgument}),MakeMoveVecTransaction]]);object({'version':literal(0x1),'sender':optional(string()),'expiration':nullish(TransactionExpiration$1),'gasConfig':GasConfig,'inputs':array(TransactionInput),'transactions':array(TransactionType)});function serializeV1TransactionData(a){const b=a['inputs']['map']((c,d)=>{if(c['Object'])return{'kind':'Input','index':d,'value':{'Object':c['Object']['ImmOrOwnedObject']?{'ImmOrOwned':c['Object']['ImmOrOwnedObject']}:c['Object']['Receiving']?{'Receiving':{'digest':c['Object']['Receiving']['digest'],'version':c['Object']['Receiving']['version'],'objectId':c['Object']['Receiving']['objectId']}}:{'Shared':{'mutable':c['Object']['SharedObject']['mutable'],'initialSharedVersion':c['Object']['SharedObject']['initialSharedVersion'],'objectId':c['Object']['SharedObject']['objectId']}}},'type':'object'};if(c['Pure'])return{'kind':'Input','index':d,'value':{'Pure':Array['from'](fromBase64(c['Pure']['bytes']))},'type':'pure'};if(c['UnresolvedPure'])return{'kind':'Input','type':'pure','index':d,'value':c['UnresolvedPure']['value']};if(c['UnresolvedObject'])return{'kind':'Input','type':'object','index':d,'value':c['UnresolvedObject']['objectId']};throw new Error('Invalid\x20input');});return{'version':0x1,'sender':a['sender']??void 0x0,'expiration':a['expiration']?.['$kind']==='Epoch'?{'Epoch':Number(a['expiration']['Epoch'])}:a['expiration']?{'None':!![]}:null,'gasConfig':{'owner':a['gasData']['owner']??void 0x0,'budget':a['gasData']['budget']??void 0x0,'price':a['gasData']['price']??void 0x0,'payment':a['gasData']['payment']??void 0x0},'inputs':b,'transactions':a['commands']['map'](c=>{if(c['MakeMoveVec'])return{'kind':'MakeMoveVec','type':c['MakeMoveVec']['type']===null?{'None':!![]}:{'Some':a0g['parseFromStr'](c['MakeMoveVec']['type'])},'objects':c['MakeMoveVec']['elements']['map'](d=>convertTransactionArgument(d,b))};if(c['MergeCoins'])return{'kind':'MergeCoins','destination':convertTransactionArgument(c['MergeCoins']['destination'],b),'sources':c['MergeCoins']['sources']['map'](d=>convertTransactionArgument(d,b))};if(c['MoveCall'])return{'kind':'MoveCall','target':c['MoveCall']['package']+'::'+c['MoveCall']['module']+'::'+c['MoveCall']['function'],'typeArguments':c['MoveCall']['typeArguments'],'arguments':c['MoveCall']['arguments']['map'](d=>convertTransactionArgument(d,b))};if(c['Publish'])return{'kind':'Publish','modules':c['Publish']['modules']['map'](d=>Array['from'](fromBase64(d))),'dependencies':c['Publish']['dependencies']};if(c['SplitCoins'])return{'kind':'SplitCoins','coin':convertTransactionArgument(c['SplitCoins']['coin'],b),'amounts':c['SplitCoins']['amounts']['map'](d=>convertTransactionArgument(d,b))};if(c['TransferObjects'])return{'kind':'TransferObjects','objects':c['TransferObjects']['objects']['map'](d=>convertTransactionArgument(d,b)),'address':convertTransactionArgument(c['TransferObjects']['address'],b)};if(c['Upgrade'])return{'kind':'Upgrade','modules':c['Upgrade']['modules']['map'](d=>Array['from'](fromBase64(d))),'dependencies':c['Upgrade']['dependencies'],'packageId':c['Upgrade']['package'],'ticket':convertTransactionArgument(c['Upgrade']['ticket'],b)};throw new Error('Unknown\x20transaction\x20'+Object['keys'](c));})};}function convertTransactionArgument(a,b){if(a['$kind']==='GasCoin')return{'kind':'GasCoin'};if(a['$kind']==='Result')return{'kind':'Result','index':a['Result']};if(a['$kind']==='NestedResult')return{'kind':'NestedResult','index':a['NestedResult'][0x0],'resultIndex':a['NestedResult'][0x1]};if(a['$kind']==='Input')return b[a['Input']];throw new Error('Invalid\x20argument\x20'+Object['keys'](a));}function transactionDataFromV1(a){return parse(TransactionDataSchema,{'version':0x2,'sender':a['sender']??null,'expiration':a['expiration']?'Epoch'in a['expiration']?{'Epoch':a['expiration']['Epoch']}:{'None':!![]}:null,'gasData':{'owner':a['gasConfig']['owner']??null,'budget':a['gasConfig']['budget']?.['toString']()??null,'price':a['gasConfig']['price']?.['toString']()??null,'payment':a['gasConfig']['payment']?.['map'](b=>({'digest':b['digest'],'objectId':b['objectId'],'version':b['version']['toString']()}))??null},'inputs':a['inputs']['map'](b=>{if(b['kind']==='Input'){if(is(NormalizedCallArg,b['value'])){const c=parse(NormalizedCallArg,b['value']);if(c['Object']){if(c['Object']['ImmOrOwned'])return{'Object':{'ImmOrOwnedObject':{'objectId':c['Object']['ImmOrOwned']['objectId'],'version':String(c['Object']['ImmOrOwned']['version']),'digest':c['Object']['ImmOrOwned']['digest']}}};if(c['Object']['Shared'])return{'Object':{'SharedObject':{'mutable':c['Object']['Shared']['mutable']??null,'initialSharedVersion':c['Object']['Shared']['initialSharedVersion'],'objectId':c['Object']['Shared']['objectId']}}};if(c['Object']['Receiving'])return{'Object':{'Receiving':{'digest':c['Object']['Receiving']['digest'],'version':String(c['Object']['Receiving']['version']),'objectId':c['Object']['Receiving']['objectId']}}};throw new Error('Invalid\x20object\x20input');}return{'Pure':{'bytes':toBase64(new Uint8Array(c['Pure']))}};}if(b['type']==='object')return{'UnresolvedObject':{'objectId':b['value']}};return{'UnresolvedPure':{'value':b['value']}};}throw new Error('Invalid\x20input');}),'commands':a['transactions']['map'](b=>{switch(b['kind']){case'MakeMoveVec':return{'MakeMoveVec':{'type':'Some'in b['type']?a0g['tagToString'](b['type']['Some']):null,'elements':b['objects']['map'](c=>parseV1TransactionArgument(c))}};case'MergeCoins':return{'MergeCoins':{'destination':parseV1TransactionArgument(b['destination']),'sources':b['sources']['map'](c=>parseV1TransactionArgument(c))}};case'MoveCall':{const [c,d,e]=b['target']['split']('::');return{'MoveCall':{'package':c,'module':d,'function':e,'typeArguments':b['typeArguments'],'arguments':b['arguments']['map'](f=>parseV1TransactionArgument(f))}};}case'Publish':return{'Publish':{'modules':b['modules']['map'](f=>toBase64(Uint8Array['from'](f))),'dependencies':b['dependencies']}};case'SplitCoins':return{'SplitCoins':{'coin':parseV1TransactionArgument(b['coin']),'amounts':b['amounts']['map'](f=>parseV1TransactionArgument(f))}};case'TransferObjects':return{'TransferObjects':{'objects':b['objects']['map'](f=>parseV1TransactionArgument(f)),'address':parseV1TransactionArgument(b['address'])}};case'Upgrade':return{'Upgrade':{'modules':b['modules']['map'](f=>toBase64(Uint8Array['from'](f))),'dependencies':b['dependencies'],'package':b['packageId'],'ticket':parseV1TransactionArgument(b['ticket'])}};}throw new Error('Unknown\x20transaction\x20'+Object['keys'](b));})});}function parseV1TransactionArgument(a){switch(a['kind']){case'GasCoin':return{'GasCoin':!![]};case'Result':return{'Result':a['index']};case'NestedResult':return{'NestedResult':[a['index'],a['resultIndex']]};case'Input':return{'Input':a['index']};}}function hashTypedData(a,b){const c=Array['from'](a+'::')['map'](f=>f['charCodeAt'](0x0)),d=new Uint8Array(c['length']+b['length']);return d['set'](c),d['set'](b,c['length']),blake2b(d,{'dkLen':0x20});}function getIdFromCallArg(a){if(typeof a==='string')return a0b(a);if(a['Object']){if(a['Object']['ImmOrOwnedObject'])return a0b(a['Object']['ImmOrOwnedObject']['objectId']);if(a['Object']['Receiving'])return a0b(a['Object']['Receiving']['objectId']);return a0b(a['Object']['SharedObject']['objectId']);}if(a['UnresolvedObject'])return a0b(a['UnresolvedObject']['objectId']);}function isArgument(a){return is(ArgumentSchema,a);}function remapCommandArguments(a,b,c){const d=e=>{switch(e['$kind']){case'Input':{const f=b['get'](e['Input']);if(f===void 0x0)throw new Error('Input\x20'+e['Input']+'\x20not\x20found\x20in\x20input\x20mapping');return{...e,'Input':f};}case'Result':{const g=c['get'](e['Result']);if(g!==void 0x0)return{...e,'Result':g};return e;}case'NestedResult':{const h=c['get'](e['NestedResult'][0x0]);if(h!==void 0x0)return{...e,'NestedResult':[h,e['NestedResult'][0x1]]};return e;}default:return e;}};switch(a['$kind']){case'MoveCall':a['MoveCall']['arguments']=a['MoveCall']['arguments']['map'](d);break;case'TransferObjects':a['TransferObjects']['objects']=a['TransferObjects']['objects']['map'](d),a['TransferObjects']['address']=d(a['TransferObjects']['address']);break;case'SplitCoins':a['SplitCoins']['coin']=d(a['SplitCoins']['coin']),a['SplitCoins']['amounts']=a['SplitCoins']['amounts']['map'](d);break;case'MergeCoins':a['MergeCoins']['destination']=d(a['MergeCoins']['destination']),a['MergeCoins']['sources']=a['MergeCoins']['sources']['map'](d);break;case'MakeMoveVec':a['MakeMoveVec']['elements']=a['MakeMoveVec']['elements']['map'](d);break;case'Upgrade':a['Upgrade']['ticket']=d(a['Upgrade']['ticket']);break;case'$Intent':{const e=a['$Intent']['inputs'];a['$Intent']['inputs']={};for(const [f,g]of Object['entries'](e))a['$Intent']['inputs'][f]=Array['isArray'](g)?g['map'](d):d(g);break;}case'Publish':break;}}function prepareWowAddress(a){return a0b(a)['replace']('0x','');}var TransactionDataBuilder=class TransactionDataBuilder{static['fromKindBytes'](a){const b=a0e['TransactionKind']['parse'](a)['ProgrammableTransaction'];if(!b)throw new Error('Unable\x20to\x20deserialize\x20from\x20bytes.');return TransactionDataBuilder['restore']({'version':0x2,'sender':null,'expiration':null,'gasData':{'budget':null,'owner':null,'payment':null,'price':null},'inputs':b['inputs'],'commands':b['commands']});}static['fromBytes'](a){const b=a0e['TransactionData']['parse'](a)?.['V1'],c=b['kind']['ProgrammableTransaction'];if(!b||!c)throw new Error('Unable\x20to\x20deserialize\x20from\x20bytes.');return TransactionDataBuilder['restore']({'version':0x2,'sender':b['sender'],'expiration':b['expiration'],'gasData':b['gasData'],'inputs':c['inputs'],'commands':c['commands']});}static['restore'](a){if(a['version']===0x2)return new TransactionDataBuilder(parse(TransactionDataSchema,a));else return new TransactionDataBuilder(parse(TransactionDataSchema,transactionDataFromV1(a)));}static['getDigestFromBytes'](a){return toBase58(hashTypedData('TransactionData',a));}constructor(a){this['version']=0x2,this['sender']=a?.['sender']??null,this['expiration']=a?.['expiration']??null,this['inputs']=a?.['inputs']??[],this['commands']=a?.['commands']??[],this['gasData']=a?.['gasData']??{'budget':null,'price':null,'owner':null,'payment':null};}['build']({maxSizeBytes:maxSizeBytes=Infinity,overrides:a,onlyTransactionKind:b}={}){const c=this['inputs'],d=this['commands'],e={'ProgrammableTransaction':{'inputs':c,'commands':d}};if(b)return a0e['TransactionKind']['serialize'](e,{'maxSize':maxSizeBytes})['toBytes']();const f=a?.['expiration']??this['expiration'],g=a?.['sender']??this['sender'],h={...this['gasData'],...a?.['gasData']};if(!g)throw new Error('Missing\x20transaction\x20sender');if(!h['budget'])throw new Error('Missing\x20gas\x20budget');if(!h['payment'])throw new Error('Missing\x20gas\x20payment');if(!h['price'])throw new Error('Missing\x20gas\x20price');const i={'sender':prepareWowAddress(g),'expiration':f?f:{'None':!![]},'gasData':{'payment':h['payment'],'owner':prepareWowAddress(this['gasData']['owner']??g),'price':BigInt(h['price']),'budget':BigInt(h['budget'])},'kind':{'ProgrammableTransaction':{'inputs':c,'commands':d}}};return a0e['TransactionData']['serialize']({'V1':i},{'maxSize':maxSizeBytes})['toBytes']();}['addInput'](a,b){const c=this['inputs']['length'];return this['inputs']['push'](b),{'Input':c,'type':a,'$kind':'Input'};}['getInputUses'](a,b){this['mapArguments']((c,d)=>{if(c['$kind']==='Input'&&c['Input']===a)b(c,d);return c;});}['mapCommandArguments'](a,b){const c=this['commands'][a];switch(c['$kind']){case'MoveCall':c['MoveCall']['arguments']=c['MoveCall']['arguments']['map'](e=>b(e,c,a));break;case'TransferObjects':c['TransferObjects']['objects']=c['TransferObjects']['objects']['map'](e=>b(e,c,a)),c['TransferObjects']['address']=b(c['TransferObjects']['address'],c,a);break;case'SplitCoins':c['SplitCoins']['coin']=b(c['SplitCoins']['coin'],c,a),c['SplitCoins']['amounts']=c['SplitCoins']['amounts']['map'](e=>b(e,c,a));break;case'MergeCoins':c['MergeCoins']['destination']=b(c['MergeCoins']['destination'],c,a),c['MergeCoins']['sources']=c['MergeCoins']['sources']['map'](e=>b(e,c,a));break;case'MakeMoveVec':c['MakeMoveVec']['elements']=c['MakeMoveVec']['elements']['map'](e=>b(e,c,a));break;case'Upgrade':c['Upgrade']['ticket']=b(c['Upgrade']['ticket'],c,a);break;case'$Intent':const d=c['$Intent']['inputs'];c['$Intent']['inputs']={};for(const [e,f]of Object['entries'](d))c['$Intent']['inputs'][e]=Array['isArray'](f)?f['map'](g=>b(g,c,a)):b(f,c,a);break;case'Publish':break;default:throw new Error('Unexpected\x20transaction\x20kind:\x20'+c['$kind']);}}['mapArguments'](a){for(const b of this['commands']['keys']())this['mapCommandArguments'](b,a);}['replaceCommand'](a,b,c=a){if(!Array['isArray'](b)){this['commands'][a]=b;return;}const d=b['length']-0x1;this['commands']['splice'](a,0x1,...structuredClone(b)),this['mapArguments']((e,f,g)=>{if(g<a+b['length'])return e;if(typeof c!=='number'){if(e['$kind']==='Result'&&e['Result']===a||e['$kind']==='NestedResult'&&e['NestedResult'][0x0]===a){if(!('NestedResult'in e)||e['NestedResult'][0x1]===0x0)return parse(ArgumentSchema,structuredClone(c));else throw new Error('Cannot\x20replace\x20command\x20'+a+'\x20with\x20a\x20specific\x20result\x20type:\x20NestedResult['+a+',\x20'+e['NestedResult'][0x1]+']\x20references\x20a\x20nested\x20element\x20that\x20cannot\x20be\x20mapped\x20to\x20the\x20replacement\x20result');}}switch(e['$kind']){case'Result':if(e['Result']===a&&typeof c==='number')e['Result']=c;if(e['Result']>a)e['Result']+=d;break;case'NestedResult':if(e['NestedResult'][0x0]===a&&typeof c==='number')return{'$kind':'NestedResult','NestedResult':[c,e['NestedResult'][0x1]]};if(e['NestedResult'][0x0]>a)e['NestedResult'][0x0]+=d;break;}return e;});}['replaceCommandWithTransaction'](a,b,c){if(c['$kind']!=='Result'&&c['$kind']!=='NestedResult')throw new Error('Result\x20must\x20be\x20of\x20kind\x20Result\x20or\x20NestedResult');this['insertTransaction'](a,b),this['replaceCommand'](a+b['commands']['length'],[],'Result'in c?{'NestedResult':[c['Result']+a,0x0]}:{'NestedResult':[c['NestedResult'][0x0]+a,c['NestedResult'][0x1]]});}['insertTransaction'](a,b){const c=new Map(),d=new Map();for(let g=0x0;g<b['inputs']['length'];g++){const h=b['inputs'][g],j=getIdFromCallArg(h);let k=-0x1;if(j!==void 0x0){k=this['inputs']['findIndex'](l=>getIdFromCallArg(l)===j);if(k!==-0x1&&this['inputs'][k]['Object']?.['SharedObject']&&h['Object']?.['SharedObject'])this['inputs'][k]['Object']['SharedObject']['mutable']=this['inputs'][k]['Object']['SharedObject']['mutable']||h['Object']['SharedObject']['mutable'];}if(k!==-0x1)c['set'](g,k);else{const l=this['inputs']['length'];this['inputs']['push'](h),c['set'](g,l);}}for(let m=0x0;m<b['commands']['length'];m++)d['set'](m,a+m);const e=[];for(let n=0x0;n<b['commands']['length'];n++){const o=structuredClone(b['commands'][n]);remapCommandArguments(o,c,d),e['push'](o);}this['commands']['splice'](a,0x0,...e);const f=e['length'];if(f>0x0)this['mapArguments']((p,q,r)=>{if(r>=a&&r<a+e['length'])return p;switch(p['$kind']){case'Result':if(p['Result']>=a)p['Result']+=f;break;case'NestedResult':if(p['NestedResult'][0x0]>=a)p['NestedResult'][0x0]+=f;break;}return p;});}['getDigest'](){const a=this['build']({'onlyTransactionKind':![]});return TransactionDataBuilder['getDigestFromBytes'](a);}['snapshot'](){return parse(TransactionDataSchema,this);}['shallowClone'](){return new TransactionDataBuilder({'version':this['version'],'sender':this['sender'],'expiration':this['expiration'],'gasData':{...this['gasData']},'inputs':[...this['inputs']],'commands':[...this['commands']]});}['applyResolvedData'](a){if(!this['sender'])this['sender']=a['sender']??null;if(!this['expiration'])this['expiration']=a['expiration']??null;if(!this['gasData']['budget'])this['gasData']['budget']=a['gasData']['budget'];if(!this['gasData']['owner'])this['gasData']['owner']=a['gasData']['owner']??null;if(!this['gasData']['payment'])this['gasData']['payment']=a['gasData']['payment'];if(!this['gasData']['price'])this['gasData']['price']=a['gasData']['price'];for(let b=0x0;b<this['inputs']['length'];b++){const c=this['inputs'][b],d=a['inputs'][b];switch(c['$kind']){case'UnresolvedPure':if(d['$kind']!=='Pure')throw new Error('Expected\x20input\x20at\x20index\x20'+b+'\x20to\x20resolve\x20to\x20a\x20Pure\x20argument,\x20but\x20got\x20'+JSON['stringify'](d));this['inputs'][b]=d;break;case'UnresolvedObject':if(d['$kind']!=='Object')throw new Error('Expected\x20input\x20at\x20index\x20'+b+'\x20to\x20resolve\x20to\x20an\x20Object\x20argument,\x20but\x20got\x20'+JSON['stringify'](d));if(d['Object']['$kind']==='ImmOrOwnedObject'||d['Object']['$kind']==='Receiving'){const e=c['UnresolvedObject'],f=d['Object']['ImmOrOwnedObject']??d['Object']['Receiving'];if(a0b(e['objectId'])!==a0b(f['objectId'])||e['version']!=null&&e['version']!==f['version']||e['digest']!=null&&e['digest']!==f['digest']||e['mutable']!=null||e['initialSharedVersion']!=null)throw new Error('Input\x20at\x20index\x20'+b+'\x20did\x20not\x20match\x20unresolved\x20object.\x20'+JSON['stringify'](e)+'\x20is\x20not\x20compatible\x20with\x20'+JSON['stringify'](f));}else{if(d['Object']['$kind']==='SharedObject'){const g=c['UnresolvedObject'],h=d['Object']['SharedObject'];if(a0b(g['objectId'])!==a0b(h['objectId'])||g['initialSharedVersion']!=null&&g['initialSharedVersion']!==h['initialSharedVersion']||g['mutable']!=null&&g['mutable']!==h['mutable']||g['version']!=null||g['digest']!=null)throw new Error('Input\x20at\x20index\x20'+b+'\x20did\x20not\x20match\x20unresolved\x20object.\x20'+JSON['stringify'](g)+'\x20is\x20not\x20compatible\x20with\x20'+JSON['stringify'](h));}else throw new Error('Input\x20at\x20index\x20'+b+'\x20resolved\x20to\x20an\x20unexpected\x20Object\x20kind:\x20'+JSON['stringify'](d['Object']));}this['inputs'][b]=d;break;}}}},WowClientError=class extends Error{},SimulationError=class extends WowClientError{constructor(a,b){super(a,{'cause':b?.['cause']}),this['executionError']=b?.['executionError'];}},ObjectError=class ObjectError extends WowClientError{constructor(a,b){super(b),this['code']=a;}static['fromResponse'](a,b){switch(a['code']){case'notExists':return new ObjectError(a['code'],'Object\x20'+a['object_id']+'\x20does\x20not\x20exist');case'dynamicFieldNotFound':return new ObjectError(a['code'],'Dynamic\x20field\x20not\x20found\x20for\x20object\x20'+a['parent_object_id']);case'deleted':return new ObjectError(a['code'],'Object\x20'+a['object_id']+'\x20has\x20been\x20deleted');case'displayError':return new ObjectError(a['code'],'Display\x20error:\x20'+a['error']);default:return new ObjectError(a['code'],'Unknown\x20error\x20while\x20loading\x20object'+(b?'\x20'+b:''));}}};const WOW_ACCUMULATOR_ROOT_OBJECT_ID=a0b('0xacc'),ACCUMULATOR_KEY_TYPE_TAG=a0g['parseFromStr']('0x2::accumulator::Key<0x2::balance::Balance<0x2::wow::WOW>>'),COIN_RESERVATION_MAGIC=new Uint8Array([0xac,0xac,0xac,0xac,0xac,0xac,0xac,0xac,0xac,0xac,0xac,0xac,0xac,0xac,0xac,0xac,0xac,0xac,0xac,0xac]);function isCoinReservationDigest(a){return fromBase58(a)['slice'](0xc,0x20)['every']((b,c)=>b===COIN_RESERVATION_MAGIC[c]);}function deriveReservationObjectId(a,b){const c=fromHex(a0h(WOW_ACCUMULATOR_ROOT_OBJECT_ID,ACCUMULATOR_KEY_TYPE_TAG,a0e['Address']['serialize'](a)['toBytes']())['slice'](0x2)),d=fromBase58(b);if(d['length']!==0x20)throw new Error('Invalid\x20chain\x20identifier\x20length:\x20expected\x2032\x20bytes,\x20got\x20'+d['length']);const e=new Uint8Array(0x20);for(let f=0x0;f<0x20;f++)e[f]=c[f]^d[f];return'0x'+toHex(e);}function createCoinReservationRef(a,b,c,d){const e=new Uint8Array(0x20),f=new DataView(e['buffer']);f['setBigUint64'](0x0,a,!![]);const g=Number(d);if(!Number['isSafeInteger'](g)||g<0x0||g>0xffffffff)throw new Error('Epoch\x20'+d+'\x20out\x20of\x20u32\x20range\x20for\x20coin\x20reservation\x20digest');return f['setUint32'](0x8,g,!![]),e['set'](COIN_RESERVATION_MAGIC,0xc),parse(ObjectRefSchema,{'objectId':deriveReservationObjectId(b,c),'version':'0','digest':toBase58(e)});}let UpgradePolicy=function(a){return a[a['COMPATIBLE']=0x0]='COMPATIBLE',a[a['ADDITIVE']=0x80]='ADDITIVE',a[a['DEP_ONLY']=0xc0]='DEP_ONLY',a;}({});const TransactionCommands={'MoveCall'(a){const [b,c='',d='']='target'in a?a['target']['split']('::'):[a['package'],a['module'],a['function']];return{'$kind':'MoveCall','MoveCall':{'package':b,'module':c,'function':d,'typeArguments':a['typeArguments']??[],'arguments':a['arguments']??[]}};},'TransferObjects'(a,b){return{'$kind':'TransferObjects','TransferObjects':{'objects':a['map'](c=>parse(ArgumentSchema,c)),'address':parse(ArgumentSchema,b)}};},'SplitCoins'(a,b){return{'$kind':'SplitCoins','SplitCoins':{'coin':parse(ArgumentSchema,a),'amounts':b['map'](c=>parse(ArgumentSchema,c))}};},'MergeCoins'(a,b){return{'$kind':'MergeCoins','MergeCoins':{'destination':parse(ArgumentSchema,a),'sources':b['map'](c=>parse(ArgumentSchema,c))}};},'Publish'({modules:a,dependencies:b}){return{'$kind':'Publish','Publish':{'modules':a['map'](c=>typeof c==='string'?c:toBase64(new Uint8Array(c))),'dependencies':b['map'](c=>a0c(c))}};},'Upgrade'({modules:a,dependencies:b,package:c,ticket:d}){return{'$kind':'Upgrade','Upgrade':{'modules':a['map'](e=>typeof e==='string'?e:toBase64(new Uint8Array(e))),'dependencies':b['map'](e=>a0c(e)),'package':c,'ticket':parse(ArgumentSchema,d)}};},'MakeMoveVec'({type:a,elements:b}){return{'$kind':'MakeMoveVec','MakeMoveVec':{'type':a??null,'elements':b['map'](c=>parse(ArgumentSchema,c))}};},'Intent'({name:a,inputs:inputs={},data:data={}}){return{'$kind':'$Intent','$Intent':{'name':a,'inputs':Object['fromEntries'](Object['entries'](inputs)['map'](([b,c])=>[b,Array['isArray'](c)?c['map'](d=>parse(ArgumentSchema,d)):parse(ArgumentSchema,c)])),'data':data}};}};function enumUnion(a){return union(Object['entries'](a)['map'](([b,c])=>object({[b]:c})));}const Argument=enumUnion({'GasCoin':literal(!![]),'Input':pipe(number(),integer()),'Result':pipe(number(),integer()),'NestedResult':tuple([pipe(number(),integer()),pipe(number(),integer())])}),GasData=object({'budget':nullable(JsonU64),'price':nullable(JsonU64),'owner':nullable(WowAddress),'payment':nullable(array(ObjectRefSchema))}),ProgrammableMoveCall=object({'package':ObjectID,'module':string(),'function':string(),'typeArguments':array(string()),'arguments':array(Argument)}),$Intent=object({'name':string(),'inputs':record(string(),union([Argument,array(Argument)])),'data':record(string(),unknown())}),Command=enumUnion({'MoveCall':ProgrammableMoveCall,'TransferObjects':object({'objects':array(Argument),'address':Argument}),'SplitCoins':object({'coin':Argument,'amounts':array(Argument)}),'MergeCoins':object({'destination':Argument,'sources':array(Argument)}),'Publish':object({'modules':array(BCSBytes),'dependencies':array(ObjectID)}),'MakeMoveVec':object({'type':nullable(string()),'elements':array(Argument)}),'Upgrade':object({'modules':array(BCSBytes),'dependencies':array(ObjectID),'package':ObjectID,'ticket':Argument}),'$Intent':$Intent}),CallArg=enumUnion({'Object':enumUnion({'ImmOrOwnedObject':ObjectRefSchema,'SharedObject':object({'objectId':ObjectID,'initialSharedVersion':JsonU64,'mutable':boolean()}),'Receiving':ObjectRefSchema}),'Pure':object({'bytes':BCSBytes}),'UnresolvedPure':object({'value':unknown()}),'UnresolvedObject':object({'objectId':ObjectID,'version':optional(nullable(JsonU64)),'digest':optional(nullable(string())),'initialSharedVersion':optional(nullable(JsonU64)),'mutable':optional(nullable(boolean()))}),'FundsWithdrawal':FundsWithdrawalArgSchema}),TransactionExpiration=enumUnion({'None':literal(!![]),'Epoch':JsonU64,'ValidDuring':ValidDuringSchema}),SerializedTransactionDataV2Schema=object({'version':literal(0x2),'sender':nullish(WowAddress),'expiration':nullish(TransactionExpiration),'gasData':GasData,'inputs':array(CallArg),'commands':array(Command),'digest':optional(nullable(string()))});function Pure(a){return{'$kind':'Pure','Pure':{'bytes':a instanceof Uint8Array?toBase64(a):a['toBase64']()}};}const Inputs={'Pure':Pure,'ObjectRef'({objectId:a,digest:b,version:c}){return{'$kind':'Object','Object':{'$kind':'ImmOrOwnedObject','ImmOrOwnedObject':{'digest':b,'version':c,'objectId':a0b(a)}}};},'SharedObjectRef'({objectId:a,mutable:b,initialSharedVersion:c}){return{'$kind':'Object','Object':{'$kind':'SharedObject','SharedObject':{'mutable':b,'initialSharedVersion':c,'objectId':a0b(a)}}};},'ReceivingRef'({objectId:a,digest:b,version:c}){return{'$kind':'Object','Object':{'$kind':'Receiving','Receiving':{'digest':b,'version':c,'objectId':a0b(a)}}};},'FundsWithdrawal'({reservation:a,typeArg:b,withdrawFrom:c}){return{'$kind':'FundsWithdrawal','FundsWithdrawal':{'reservation':a,'typeArg':b,'withdrawFrom':c}};}};function parseTypeName(a){const b=a['split']('::');if(b['length']!==0x3)throw new Error('Invalid\x20type\x20name\x20format:\x20'+a);return{'package':b[0x0],'module':b[0x1],'name':b[0x2]};}function isTxContext(a){if(a['body']['$kind']!=='datatype')return![];const {package:b,module:c,name:d}=parseTypeName(a['body']['datatype']['typeName']);return a0b(b)==='0x0000000000000000000000000000000000000000000000000000000000000002'&&c==='tx_context'&&d==='TxContext';}function getPureBcsSchema(a){switch(a['$kind']){case'address':return a0e['Address'];case'bool':return a0e['Bool'];case'u8':return a0e['U8'];case'u16':return a0e['U16'];case'u32':return a0e['U32'];case'u64':return a0e['U64'];case'u128':return a0e['U128'];case'u256':return a0e['U256'];case'vector':{if(a['vector']['$kind']==='u8')return a0e['byteVector']()['transform']({'input':c=>typeof c==='string'?new TextEncoder()['encode'](c):c,'output':c=>c});const b=getPureBcsSchema(a['vector']);return b?a0e['vector'](b):null;}case'datatype':{const {package:c,module:d,name:e}=parseTypeName(a['datatype']['typeName']),f=a0b(c);if(f==='0x0000000000000000000000000000000000000000000000000000000000000001'){if(d==='ascii'&&e==='String')return a0e['String'];if(d==='string'&&e==='String')return a0e['String'];if(d==='option'&&e==='Option'){const g=getPureBcsSchema(a['datatype']['typeParameters'][0x0]);return g?a0e['vector'](g):null;}}if(f==='0x0000000000000000000000000000000000000000000000000000000000000002'){if(d==='object'&&e==='ID')return a0e['Address'];}return null;}case'typeParameter':case'unknown':return null;}}function normalizedTypeToMoveTypeSignature(a){if(typeof a==='object'&&'Reference'in a)return{'reference':'immutable','body':normalizedTypeToMoveTypeSignatureBody(a['Reference'])};if(typeof a==='object'&&'MutableReference'in a)return{'reference':'mutable','body':normalizedTypeToMoveTypeSignatureBody(a['MutableReference'])};return{'reference':null,'body':normalizedTypeToMoveTypeSignatureBody(a)};}function normalizedTypeToMoveTypeSignatureBody(a){if(typeof a==='string')switch(a){case'Address':return{'$kind':'address'};case'Bool':return{'$kind':'bool'};case'U8':return{'$kind':'u8'};case'U16':return{'$kind':'u16'};case'U32':return{'$kind':'u32'};case'U64':return{'$kind':'u64'};case'U128':return{'$kind':'u128'};case'U256':return{'$kind':'u256'};default:throw new Error('Unexpected\x20type\x20'+a);}if('Vector'in a)return{'$kind':'vector','vector':normalizedTypeToMoveTypeSignatureBody(a['Vector'])};if('Struct'in a)return{'$kind':'datatype','datatype':{'typeName':a['Struct']['address']+'::'+a['Struct']['module']+'::'+a['Struct']['name'],'typeParameters':a['Struct']['typeArguments']['map'](normalizedTypeToMoveTypeSignatureBody)}};if('TypeParameter'in a)return{'$kind':'typeParameter','index':a['TypeParameter']};throw new Error('Unexpected\x20type\x20'+JSON['stringify'](a));}const MAX_OBJECTS_PER_FETCH=0x32,GAS_SAFE_OVERHEAD=0x3e8n,MAX_GAS=0xba43b7400;function computeGasBudget(a,b=0x1n){const c=GAS_SAFE_OVERHEAD*BigInt(b),d=BigInt(a['computationCost'])+c,e=d+BigInt(a['storageCost'])-BigInt(a['storageRebate']);return String(e>d?e:d);}function getClient$1(a){if(!a['client'])throw new Error('No\x20wow\x20client\x20passed\x20to\x20Transaction#build,\x20but\x20transaction\x20data\x20was\x20not\x20sufficient\x20to\x20build\x20offline.');return a['client'];}async function coreClientResolveTransactionPlugin(a,b,c){const d=getClient$1(b),e=!b['onlyTransactionKind']&&!a['gasData']['price'],f=!b['onlyTransactionKind']&&!a['gasData']['payment'],g=a['gasData']['owner']??a['sender'];let h=![],i=0x0n;a['mapArguments'](r=>{if(r['$kind']==='GasCoin')h=!![];return r;});const j=g?a0b(g):null;for(const r of a['inputs']){if(r['$kind']!=='FundsWithdrawal'||!j)continue;if(a0d(r['FundsWithdrawal']['typeArg']['Balance'])!==a0i)continue;const s=r['FundsWithdrawal']['withdrawFrom']['Sender']?a['sender']:g;if(s&&a0b(s)===j&&r['FundsWithdrawal']['reservation']['$kind']==='MaxAmountU64')i+=BigInt(r['FundsWithdrawal']['reservation']['MaxAmountU64']);}const k=!b['onlyTransactionKind']&&!a['expiration']&&!a['gasData']['budget'],l=e||f&&h||k,m=f&&h||k,[,n,o,p,q]=await Promise['all']([normalizeInputs(a,d),l?d['core']['getCurrentSystemState']():null,f&&g?d['core']['getBalance']({'owner':g}):null,f&&g?d['core']['listCoins']({'owner':g,'coinType':a0i}):null,m?d['core']['getChainIdentifier']():null]);await resolveObjectReferences(a,d);if(!b['onlyTransactionKind']){const t=n?.['systemState']??null,u=q?.['chainIdentifier']??null;if(t&&!a['gasData']['price'])a['gasData']['price']=t['referenceGasPrice'];await setGasBudget(a,d,k&&t&&u?buildValidDuringExpiration(t,u):void 0x0);if(f){if(!o||!p)throw new Error('Could\x20not\x20resolve\x20gas\x20payment:\x20a\x20gas\x20owner\x20or\x20sender\x20must\x20be\x20set\x20to\x20fetch\x20balance\x20and\x20coins.');setGasPayment({'transactionData':a,'balance':o,'coins':p,'usesGasCoin':h,'withdrawals':i,'gasPayer':g,'chainIdentifier':u,'epoch':t?.['epoch']??null});}if(!a['expiration']&&a['gasData']['payment']?.['length']===0x0)await setExpiration(a,d,t,u);}return await c();}async function setGasBudget(a,b,c){if(a['gasData']['budget'])return;const d=await b['core']['simulateTransaction']({'transaction':a['build']({'overrides':{'gasData':{'budget':String(MAX_GAS),'payment':[]},...c&&{'expiration':c}}}),'include':{'effects':!![]}});if(d['$kind']==='FailedTransaction'){const e=d['FailedTransaction']['status']['error']??void 0x0;throw new SimulationError('Transaction\x20resolution\x20failed:\x20'+(e?.['message']??'Unknown\x20error'),{'cause':d,'executionError':e});}a['gasData']['budget']=computeGasBudget(d['Transaction']['effects']['gasUsed'],a['gasData']['price']?String(a['gasData']['price']):void 0x0);}function setGasPayment({transactionData:a,balance:b,coins:c,usesGasCoin:d,withdrawals:e,gasPayer:f,chainIdentifier:g,epoch:h}){const i=BigInt(a['gasData']['budget']),j=BigInt(b['balance']['addressBalance']);if(i===0x0n||!d&&j>=i+e){a['gasData']['payment']=[];return;}const k=c['objects']['filter'](n=>{return!a['inputs']['find'](o=>{if(o['Object']?.['ImmOrOwnedObject'])return n['objectId']===o['Object']['ImmOrOwnedObject']['objectId'];return![];});}),l=k['map'](n=>({'objectId':n['objectId'],'digest':n['digest'],'version':n['version']})),m=j-e;if(d&&m>0x0n&&g&&h)a['gasData']['payment']=[createCoinReservationRef(m,f,g,h),...l];else{if(!k['length'])throw new Error('No\x20valid\x20gas\x20coins\x20found\x20for\x20the\x20transaction.');else a['gasData']['payment']=l;}}async function setExpiration(a,b,c,d=null){const [e,f]=await Promise['all']([d??b['core']['getChainIdentifier']()['then'](g=>g['chainIdentifier']),c??b['core']['getCurrentSystemState']()['then'](g=>g['systemState'])]);a['expiration']=buildValidDuringExpiration(f,e);}function buildValidDuringExpiration(a,b){const c=BigInt(a['epoch']);return{'$kind':'ValidDuring','ValidDuring':{'minEpoch':String(c),'maxEpoch':String(c+0x1n),'minTimestamp':null,'maxTimestamp':null,'chain':b,'nonce':Math['random']()*0x100000000>>>0x0}};}async function resolveObjectReferences(a,b){const c=a['inputs']['filter'](k=>{return k['UnresolvedObject']&&!(k['UnresolvedObject']['version']||k['UnresolvedObject']?.['initialSharedVersion']);}),d=[...new Set(c['map'](k=>a0c(k['UnresolvedObject']['objectId'])))],e=d['length']?chunk(d,MAX_OBJECTS_PER_FETCH):[],f=(await Promise['all'](e['map'](k=>b['core']['getObjects']({'objectIds':k}))))['flatMap'](k=>k['objects']),g=new Map(d['map']((k,l)=>{return[k,f[l]];})),h=Array['from'](g)['filter'](([k,l])=>l instanceof Error)['map'](([k,l])=>l['message']);if(h['length'])throw new Error('The\x20following\x20input\x20objects\x20are\x20invalid:\x20'+h['join'](',\x20'));const i=f['map'](k=>{if(k instanceof Error)throw new Error('Failed\x20to\x20fetch\x20object:\x20'+k['message']);const l=k['owner'],m=l&&typeof l==='object'?l['$kind']==='Shared'?l['Shared']['initialSharedVersion']:l['$kind']==='ConsensusAddressOwner'?l['ConsensusAddressOwner']['startVersion']:null:null;return{'objectId':k['objectId'],'digest':k['digest'],'version':k['version'],'initialSharedVersion':m};}),j=new Map(d['map']((k,l)=>{return[k,i[l]];}));for(const [k,l]of a['inputs']['entries']()){if(!l['UnresolvedObject'])continue;let m;const n=a0b(l['UnresolvedObject']['objectId']),o=j['get'](n);if(l['UnresolvedObject']['initialSharedVersion']??o?.['initialSharedVersion'])m=Inputs['SharedObjectRef']({'objectId':n,'initialSharedVersion':l['UnresolvedObject']['initialSharedVersion']||o?.['initialSharedVersion'],'mutable':l['UnresolvedObject']['mutable']||isUsedAsMutable(a,k)});else{if(isUsedAsReceiving(a,k))m=Inputs['ReceivingRef']({'objectId':n,'digest':l['UnresolvedObject']['digest']??o?.['digest'],'version':l['UnresolvedObject']['version']??o?.['version']});}a['inputs'][a['inputs']['indexOf'](l)]=m??Inputs['ObjectRef']({'objectId':n,'digest':l['UnresolvedObject']['digest']??o?.['digest'],'version':l['UnresolvedObject']['version']??o?.['version']});}}async function normalizeInputs(a,b){const {inputs:c,commands:d}=a,e=[],f=new Set();d['forEach'](h=>{if(h['MoveCall']){if(h['MoveCall']['_argumentTypes'])return;if(h['MoveCall']['arguments']['map'](i=>{if(i['$kind']==='Input')return a['inputs'][i['Input']];return null;})['some'](i=>i?.['UnresolvedPure']||i?.['UnresolvedObject']&&typeof i?.['UnresolvedObject']['mutable']!=='boolean')){const i=h['MoveCall']['package']+'::'+h['MoveCall']['module']+'::'+h['MoveCall']['function'];f['add'](i),e['push'](h['MoveCall']);}}});const g=new Map();if(f['size']>0x0)await Promise['all']([...f]['map'](async h=>{const [i,j,k]=h['split']('::'),{function:l}=await b['core']['getMoveFunction']({'packageId':i,'moduleName':j,'name':k});g['set'](h,l['parameters']);}));if(e['length'])await Promise['all'](e['map'](async h=>{const i=g['get'](h['package']+'::'+h['module']+'::'+h['function']);if(!i)return;h['_argumentTypes']=i['length']>0x0&&isTxContext(i['at'](-0x1))?i['slice'](0x0,i['length']-0x1):i;}));d['forEach'](h=>{if(!h['MoveCall'])return;const i=h['MoveCall'],j=i['package']+'::'+i['module']+'::'+i['function'],k=i['_argumentTypes'];if(!k)return;if(k['length']!==h['MoveCall']['arguments']['length'])throw new Error('Incorrect\x20number\x20of\x20arguments\x20for\x20'+j);k['forEach']((l,m)=>{const n=i['arguments'][m];if(n['$kind']!=='Input')return;const o=c[n['Input']];if(!o['UnresolvedPure']&&!o['UnresolvedObject'])return;const p=o['UnresolvedPure']?.['value']??o['UnresolvedObject']?.['objectId'],q=getPureBcsSchema(l['body']);if(q){n['type']='pure',c[c['indexOf'](o)]=Inputs['Pure'](q['serialize'](p));return;}if(typeof p!=='string')throw new Error('Expect\x20the\x20argument\x20to\x20be\x20an\x20object\x20id\x20string,\x20got\x20'+JSON['stringify'](p,null,0x2));n['type']='object';const r=o['UnresolvedPure']?{'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':p}}:o;c[n['Input']]=r;});});}function isUsedAsMutable(a,b){let c=![];return a['getInputUses'](b,(d,e)=>{if(e['MoveCall']&&e['MoveCall']['_argumentTypes']){const f=e['MoveCall']['arguments']['indexOf'](d);c=e['MoveCall']['_argumentTypes'][f]['reference']!=='immutable'||c;}if(e['$kind']==='MakeMoveVec'||e['$kind']==='MergeCoins'||e['$kind']==='SplitCoins'||e['$kind']==='TransferObjects')c=!![];}),c;}function isUsedAsReceiving(a,b){let c=![];return a['getInputUses'](b,(d,e)=>{if(e['MoveCall']&&e['MoveCall']['_argumentTypes']){const f=e['MoveCall']['arguments']['indexOf'](d);c=isReceivingType(e['MoveCall']['_argumentTypes'][f])||c;}}),c;}const RECEIVING_TYPE='0x0000000000000000000000000000000000000000000000000000000000000002::transfer::Receiving';function isReceivingType(a){if(a['body']['$kind']!=='datatype')return![];return a['body']['datatype']['typeName']===RECEIVING_TYPE;}function needsTransactionResolution(a,b){if(a['inputs']['some'](c=>{return c['UnresolvedObject']||c['UnresolvedPure'];}))return!![];if(!b['onlyTransactionKind']){if(!a['gasData']['price']||!a['gasData']['budget']||!a['gasData']['payment'])return!![];if(a['gasData']['payment']['length']===0x0&&!a['expiration'])return!![];}return![];}async function resolveTransactionPlugin(a,b,c){normalizeRawArguments(a);if(!needsTransactionResolution(a,b))return await validate(a),c();return(getClient(b)['core']?.['resolveTransactionPlugin']()??coreClientResolveTransactionPlugin)(a,b,async()=>{await validate(a),await c();});}function validate(a){a['inputs']['forEach']((b,c)=>{if(b['$kind']!=='Object'&&b['$kind']!=='Pure'&&b['$kind']!=='FundsWithdrawal')throw new Error('Input\x20at\x20index\x20'+c+'\x20has\x20not\x20been\x20resolved.\x20\x20Expected\x20a\x20Pure,\x20Object,\x20or\x20FundsWithdrawal\x20input,\x20but\x20found\x20'+JSON['stringify'](b));});}function getClient(a){if(!a['client'])throw new Error('No\x20wow\x20client\x20passed\x20to\x20Transaction#build,\x20but\x20transaction\x20data\x20was\x20not\x20sufficient\x20to\x20build\x20offline.');return a['client'];}function normalizeRawArguments(a){for(const b of a['commands'])switch(b['$kind']){case'SplitCoins':b['SplitCoins']['amounts']['forEach'](c=>{normalizeRawArgument(c,a0e['U64'],a);});break;case'TransferObjects':normalizeRawArgument(b['TransferObjects']['address'],a0e['Address'],a);break;}}function normalizeRawArgument(a,b,c){if(a['$kind']!=='Input')return;const d=c['inputs'][a['Input']];if(d['$kind']!=='UnresolvedPure')return;c['inputs'][a['Input']]=Inputs['Pure'](b['serialize'](d['UnresolvedPure']['value']));}function createObjectMethods(a){function b(c){return a(c);}return b['system']=c=>{const d=c?.['mutable'];if(d!==void 0x0)return b(Inputs['SharedObjectRef']({'objectId':a0o,'initialSharedVersion':0x1,'mutable':d}));return b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0o,'initialSharedVersion':0x1}});},b['clock']=()=>b(Inputs['SharedObjectRef']({'objectId':a0l,'initialSharedVersion':0x1,'mutable':![]})),b['random']=()=>b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0k,'mutable':![]}}),b['denyList']=c=>{return b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0j,'mutable':c?.['mutable']}});},b['registrar']=c=>{return b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0p,'mutable':c?.['mutable']}});},b['mutRegistrar']=()=>{return b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0p,'mutable':!![]}});},b['entity']=c=>{return b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0n,'mutable':c?.['mutable']}});},b['mutEntity']=()=>{return b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0n,'mutable':!![]}});},b['option']=({type:c,value:d})=>e=>e['moveCall']({'typeArguments':[c],'target':a0m+'::option::'+(d===null?'none':'some'),'arguments':d===null?[]:[e['object'](d)]}),b;}function createPure(a){function b(c,d){if(typeof c==='string')return a(a0f(c)['serialize'](d));if(c instanceof Uint8Array||isSerializedBcs(c))return a(c);throw new Error('tx.pure\x20must\x20be\x20called\x20either\x20a\x20bcs\x20type\x20name,\x20or\x20a\x20serialized\x20bcs\x20value');}return b['u8']=c=>a(a0e['U8']['serialize'](c)),b['u16']=c=>a(a0e['U16']['serialize'](c)),b['u32']=c=>a(a0e['U32']['serialize'](c)),b['u64']=c=>a(a0e['U64']['serialize'](c)),b['u128']=c=>a(a0e['U128']['serialize'](c)),b['u256']=c=>a(a0e['U256']['serialize'](c)),b['bool']=c=>a(a0e['Bool']['serialize'](c)),b['string']=c=>a(a0e['String']['serialize'](c)),b['address']=c=>a(a0e['Address']['serialize'](c)),b['id']=b['address'],b['vector']=(c,d)=>{return a(a0e['vector'](a0f(c))['serialize'](d));},b['option']=(c,d)=>{return a(a0e['option'](a0f(c))['serialize'](d));},b;}function namedPackagesPlugin(){return async(a,b,c)=>{await c();};}const COIN_WITH_BALANCE='CoinWithBalance',WOW_TYPE=a0d('0x2::wow::WOW');function coinWithBalance({type:type=WOW_TYPE,balance:a,useGasCoin:useGasCoin=!![]}){let b=null;return c=>{if(b)return b;c['addIntentResolver'](COIN_WITH_BALANCE,resolveCoinBalance);const d=type==='gas'?type:a0d(type);return b=c['add'](TransactionCommands['Intent']({'name':COIN_WITH_BALANCE,'inputs':{},'data':{'type':d===WOW_TYPE&&useGasCoin?'gas':d,'balance':BigInt(a),'outputKind':'coin'}})),b;};}function createBalance({type:type=WOW_TYPE,balance:a,useGasCoin:useGasCoin=!![]}){let b=null;return c=>{if(b)return b;c['addIntentResolver'](COIN_WITH_BALANCE,resolveCoinBalance);const d=type==='gas'?type:a0d(type);return b=c['add'](TransactionCommands['Intent']({'name':COIN_WITH_BALANCE,'inputs':{},'data':{'type':d===WOW_TYPE&&useGasCoin?'gas':d,'balance':BigInt(a),'outputKind':'balance'}})),b;};}const CoinWithBalanceData=object({'type':string(),'balance':bigint(),'outputKind':optional(picklist(['coin','balance']))});async function resolveCoinBalance(a,b,c){const d=new Set(),e=new Map(),f=new Map();if(!a['sender'])throw new Error('Sender\x20must\x20be\x20set\x20to\x20resolve\x20CoinWithBalance');for(const [q,r]of a['commands']['entries']()){if(r['$kind']!=='$Intent'||r['$Intent']['name']!=='CoinWithBalance')continue;const {type:s,balance:t,outputKind:u}=parse(CoinWithBalanceData,r['$Intent']['data']);if(t===0x0n){const v=s==='gas'?WOW_TYPE:s;a['replaceCommand'](q,TransactionCommands['MoveCall']({'target':(u??'coin')==='balance'?'0x2::balance::zero':'0x2::coin::zero','typeArguments':[v]}));continue;}if(s!=='gas')d['add'](s);e['set'](s,(e['get'](s)??0x0n)+t);if(!f['has'](s))f['set'](s,[]);f['get'](s)['push']({'balance':t,'outputKind':u??'coin'});}if(e['has']('gas')&&e['has'](WOW_TYPE))throw new Error('Cannot\x20mix\x20WOW\x20CoinWithBalance\x20intents\x20that\x20use\x20the\x20gas\x20coin\x20with\x20ones\x20that\x20do\x20not\x20(useGasCoin:\x20false).\x20Use\x20one\x20or\x20the\x20other.');const g=new Set();for(const w of a['inputs']){if(w['Object']?.['ImmOrOwnedObject'])g['add'](w['Object']['ImmOrOwnedObject']['objectId']);if(w['UnresolvedObject']?.['objectId'])g['add'](w['UnresolvedObject']['objectId']);}const h=new Map(),j=new Map(),k=b['client'];if(!k)throw new Error('Client\x20must\x20be\x20provided\x20to\x20build\x20or\x20serialize\x20transactions\x20with\x20CoinWithBalance\x20intents');await Promise['all']([...[...d]['map'](async x=>{const {coins:y,addressBalance:z}=await getCoinsAndBalanceOfType({'coinType':x,'balance':e['get'](x),'client':k,'owner':a['sender'],'usedIds':g});h['set'](x,y),j['set'](x,z);}),e['has']('gas')?await k['core']['getBalance']({'owner':a['sender'],'coinType':WOW_TYPE})['then'](({balance:x})=>{j['set']('gas',BigInt(x['addressBalance']));}):null]);const l=new Map(),m=new Map(),n=new Set(),o=new Map();let p=0x0;while(p<a['commands']['length']){const x=a['commands'][p];if(x['$kind']!=='$Intent'||x['$Intent']['name']!=='CoinWithBalance'){p++;continue;}const {type:y,balance:z}=x['$Intent']['data'],A=y==='gas'?WOW_TYPE:y,B=e['get'](y),C=j['get'](y)??0x0n,D=[];let E;const F=f['get'](y)??[];if(F['every'](G=>G['outputKind']==='balance')&&C>=B)D['push'](TransactionCommands['MoveCall']({'target':'0x2::balance::redeem_funds','typeArguments':[A],'arguments':[a['addInput']('withdrawal',Inputs['FundsWithdrawal']({'reservation':{'$kind':'MaxAmountU64','MaxAmountU64':String(z)},'typeArg':{'$kind':'Balance','Balance':A},'withdrawFrom':{'$kind':'Sender','Sender':!![]}}))]})),E={'$kind':'NestedResult','NestedResult':[p+D['length']-0x1,0x0]};else{if(!o['has'](y)){const H=F,I=[];if(C>=B)n['add'](y),D['push'](TransactionCommands['MoveCall']({'target':'0x2::coin::redeem_funds','typeArguments':[A],'arguments':[a['addInput']('withdrawal',Inputs['FundsWithdrawal']({'reservation':{'$kind':'MaxAmountU64','MaxAmountU64':String(B)},'typeArg':{'$kind':'Balance','Balance':A},'withdrawFrom':{'$kind':'Sender','Sender':!![]}}))]})),I['push']({'$kind':'Result','Result':p+D['length']-0x1});else{if(y==='gas')I['push']({'$kind':'GasCoin','GasCoin':!![]});else{const N=h['get'](y),O=N['reduce']((Q,R)=>Q+BigInt(R['balance']),0x0n),P=B>O?B-O:0x0n;m['set'](y,O+P===B);for(const Q of N)I['push'](a['addInput']('object',Inputs['ObjectRef']({'objectId':Q['objectId'],'digest':Q['digest'],'version':Q['version']})));P>0x0n&&(n['add'](y),D['push'](TransactionCommands['MoveCall']({'target':'0x2::coin::redeem_funds','typeArguments':[A],'arguments':[a['addInput']('withdrawal',Inputs['FundsWithdrawal']({'reservation':{'$kind':'MaxAmountU64','MaxAmountU64':String(P)},'typeArg':{'$kind':'Balance','Balance':A},'withdrawFrom':{'$kind':'Sender','Sender':!![]}}))]})),I['push']({'$kind':'Result','Result':p+D['length']-0x1}));}}const J=I[0x0],K=I['slice'](0x1);for(let R=0x0;R<K['length'];R+=0x1f4)D['push'](TransactionCommands['MergeCoins'](J,K['slice'](R,R+0x1f4)));l['set'](y,J);const L=p+D['length'];D['push'](TransactionCommands['SplitCoins'](J,H['map'](S=>a['addInput']('pure',Inputs['Pure'](a0e['u64']()['serialize'](S['balance']))))));const M=[];for(let S=0x0;S<H['length'];S++){const T={'$kind':'NestedResult','NestedResult':[L,S]};if(H[S]['outputKind']==='balance')D['push'](TransactionCommands['MoveCall']({'target':'0x2::coin::into_balance','typeArguments':[A],'arguments':[T]})),M['push']({'$kind':'NestedResult','NestedResult':[p+D['length']-0x1,0x0]});else M['push'](T);}o['set'](y,{'results':M,'nextIntent':0x0});}const G=o['get'](y);E=G['results'][G['nextIntent']++];}a['replaceCommand'](p,D,E),p+=D['length'];}for(const [U,V]of l){if(U==='gas'&&!n['has'](U))continue;const W=U==='gas'?WOW_TYPE:U,X=f['get'](U)?.['some'](Z=>Z['outputKind']==='balance'),Y=n['has'](U);if(X||Y)a['commands']['push'](TransactionCommands['MoveCall']({'target':'0x2::coin::send_funds','typeArguments':[W],'arguments':[V,a['addInput']('pure',Inputs['Pure'](a0e['Address']['serialize'](a['sender'])))]}));else{if(m['get'](U))a['commands']['push'](TransactionCommands['MoveCall']({'target':'0x2::coin::destroy_zero','typeArguments':[W],'arguments':[V]}));}}return c();}async function getCoinsAndBalanceOfType({coinType:a,balance:b,client:c,owner:d,usedIds:e}){let f=b;const g=[],h=c['core']['getBalance']({'owner':d,'coinType':a})['then'](({balance:l})=>{return f-=BigInt(l['addressBalance']),l;}),[i,j]=await Promise['all']([k(),h]);if(BigInt(j['balance'])<b)throw new Error('Insufficient\x20balance\x20of\x20'+a+'\x20for\x20owner\x20'+d+'.\x20Required:\x20'+b+',\x20Available:\x20'+(b-f));return{'coins':i,'balance':BigInt(j['coinBalance']),'addressBalance':BigInt(j['addressBalance']),'coinBalance':BigInt(j['coinBalance'])};async function k(l=null){const {objects:m,hasNextPage:n,cursor:o}=await c['core']['listCoins']({'owner':d,'coinType':a,'cursor':l});await h;for(const p of m){if(e['has'](p['objectId']))continue;g['push'](p),f-=BigInt(p['balance']);}if(f>0x0n&&n)return k(o);return g;}}function createTransactionResult(a,b=Infinity){const c={'$kind':'Result',get 'Result'(){return typeof a==='function'?a():a;}},d=[],e=f=>d[f]??={'$kind':'NestedResult',get 'NestedResult'(){return[typeof a==='function'?a():a,f];}};return new Proxy(c,{'set'(){throw new Error('The\x20transaction\x20result\x20is\x20a\x20proxy,\x20and\x20does\x20not\x20support\x20setting\x20properties\x20directly');},'get'(f,g){if(g in f)return Reflect['get'](f,g);if(g===Symbol['iterator'])return function*(){let j=0x0;while(j<b){yield e(j),j++;}};if(typeof g==='symbol')return;const h=parseInt(g,0xa);if(Number['isNaN'](h)||h<0x0)return;return e(h);}});}const TRANSACTION_BRAND=Symbol['for']('@mysten/transaction');function isTransaction(a){return!!a&&typeof a==='object'&&a[TRANSACTION_BRAND]===!![];}var Transaction=class Transaction{#serializationPlugins;#buildPlugins;#intentResolvers;#inputSection;#commandSection;#availableResults;#pendingPromises;#added;static['fromKind'](a){const b=new Transaction();return b.#data=TransactionDataBuilder['fromKindBytes'](typeof a==='string'?fromBase64(a):a),b.#inputSection=b.#data['inputs']['slice'](),b.#commandSection=b.#data['commands']['slice'](),b.#availableResults=new Set(b.#commandSection['map']((c,d)=>d)),b;}static['from'](a){const b=new Transaction();if(isTransaction(a))b.#data=TransactionDataBuilder['restore'](a['getData']());else{if(typeof a!=='string'||!a['startsWith']('{'))b.#data=TransactionDataBuilder['fromBytes'](typeof a==='string'?fromBase64(a):a);else b.#data=TransactionDataBuilder['restore'](JSON['parse'](a));}b.#inputSection=b.#data['inputs']['slice'](),b.#commandSection=b.#data['commands']['slice'](),b.#availableResults=new Set(b.#commandSection['map']((c,d)=>d));if(!b['isPreparedForSerialization']({'supportedIntents':['CoinWithBalance']}))throw new Error('Transaction\x20has\x20unresolved\x20intents\x20or\x20async\x20thunks.\x20Call\x20`prepareForSerialization`\x20before\x20copying.');if(b.#data['commands']['some'](c=>c['$Intent']?.['name']==='CoinWithBalance'))b['addIntentResolver'](COIN_WITH_BALANCE,resolveCoinBalance);return b;}['addSerializationPlugin'](a){this.#serializationPlugins['push'](a);}['addBuildPlugin'](a){this.#buildPlugins['push'](a);}['addIntentResolver'](a,b){if(this.#intentResolvers['has'](a)&&this.#intentResolvers['get'](a)!==b)throw new Error('Intent\x20resolver\x20for\x20'+a+'\x20already\x20exists');this.#intentResolvers['set'](a,b);}['setSender'](a){this.#data['sender']=a;}['setSenderIfNotSet'](a){if(!this.#data['sender'])this.#data['sender']=a;}['setExpiration'](a){this.#data['expiration']=a?parse(TransactionExpiration$2,a):null;}['setGasPrice'](a){this.#data['gasData']['price']=String(a);}['setGasBudget'](a){this.#data['gasData']['budget']=String(a);}['setGasBudgetIfNotSet'](a){if(this.#data['gasData']['budget']==null)this.#data['gasData']['budget']=String(a);}['setGasOwner'](a){this.#data['gasData']['owner']=a;}['setGasPayment'](a){this.#data['gasData']['payment']=a['map'](b=>parse(ObjectRefSchema,b));}#data;['getData'](){return this.#data['snapshot']();}get[TRANSACTION_BRAND](){return!![];}get['pure'](){return Object['defineProperty'](this,'pure',{'enumerable':![],'value':createPure(a=>{if(isSerializedBcs(a))return this.#addInput('pure',{'$kind':'Pure','Pure':{'bytes':a['toBase64']()}});return this.#addInput('pure',is(NormalizedCallArg$1,a)?parse(NormalizedCallArg$1,a):a instanceof Uint8Array?Inputs['Pure'](a):{'$kind':'UnresolvedPure','UnresolvedPure':{'value':a}});})}),this['pure'];}constructor(){this.#intentResolvers=new Map(),this.#inputSection=[],this.#commandSection=[],this.#availableResults=new Set(),this.#pendingPromises=new Set(),this.#added=new Map(),this['object']=createObjectMethods(a=>{if(typeof a==='function')return this['object'](this['add'](a));if(typeof a==='object'&&is(ArgumentSchema,a))return a;const b=getIdFromCallArg(a),c=this.#data['inputs']['find'](d=>b===getIdFromCallArg(d));if(c?.['Object']?.['SharedObject']&&typeof a==='object'&&a['Object']?.['SharedObject'])c['Object']['SharedObject']['mutable']=c['Object']['SharedObject']['mutable']||a['Object']['SharedObject']['mutable'];return c?{'$kind':'Input','Input':this.#data['inputs']['indexOf'](c),'type':'object'}:this.#addInput('object',typeof a==='string'?{'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0b(a)}}:a);}),this.#data=new TransactionDataBuilder(),this.#buildPlugins=[],this.#serializationPlugins=[];}get['gas'](){return{'$kind':'GasCoin','GasCoin':!![]};}['coin']({type:a,balance:b,useGasCoin:c}){return this['add'](coinWithBalance({'type':a,'balance':b,'useGasCoin':c}));}['balance']({type:a,balance:b,useGasCoin:c}){return this['add'](createBalance({'type':a,'balance':b,'useGasCoin':c}));}['objectRef'](...a){return this['object'](Inputs['ObjectRef'](...a));}['receivingRef'](...a){return this['object'](Inputs['ReceivingRef'](...a));}['sharedObjectRef'](...a){return this['object'](Inputs['SharedObjectRef'](...a));}#fork(){const a=new Transaction();return a.#data=this.#data,a.#serializationPlugins=this.#serializationPlugins,a.#buildPlugins=this.#buildPlugins,a.#intentResolvers=this.#intentResolvers,a.#pendingPromises=this.#pendingPromises,a.#availableResults=new Set(this.#availableResults),a.#added=this.#added,this.#inputSection['push'](a.#inputSection),this.#commandSection['push'](a.#commandSection),a;}['add'](a){if(typeof a==='function'){if(this.#added['has'](a))return this.#added['get'](a);const b=this.#fork(),c=a(b);if(!(c&&typeof c==='object'&&'then'in c))return this.#availableResults=b.#availableResults,this.#added['set'](a,c),c;const d=this.#addCommand({'$kind':'$Intent','$Intent':{'name':'AsyncTransactionThunk','inputs':{},'data':{'resultIndex':this.#data['commands']['length'],'result':null}}});this.#pendingPromises['add'](Promise['resolve'](c)['then'](f=>{d['$Intent']['data']['result']=f;}));const e=createTransactionResult(()=>d['$Intent']['data']['resultIndex']);return this.#added['set'](a,e),e;}else this.#addCommand(a);return createTransactionResult(this.#data['commands']['length']-0x1);}#addCommand(a){const b=this.#data['commands']['length'];return this.#commandSection['push'](a),this.#availableResults['add'](b),this.#data['commands']['push'](a),this.#data['mapCommandArguments'](b,c=>{if(c['$kind']==='Result'&&!this.#availableResults['has'](c['Result']))throw new Error('Result\x20{\x20Result:\x20'+c['Result']+'\x20}\x20is\x20not\x20available\x20to\x20use\x20in\x20the\x20current\x20transaction');if(c['$kind']==='NestedResult'&&!this.#availableResults['has'](c['NestedResult'][0x0]))throw new Error('Result\x20{\x20NestedResult:\x20['+c['NestedResult'][0x0]+',\x20'+c['NestedResult'][0x1]+']\x20}\x20is\x20not\x20available\x20to\x20use\x20in\x20the\x20current\x20transaction');if(c['$kind']==='Input'&&c['Input']>=this.#data['inputs']['length'])throw new Error('Input\x20{\x20Input:\x20'+c['Input']+'\x20}\x20references\x20an\x20input\x20that\x20does\x20not\x20exist\x20in\x20the\x20current\x20transaction');return c;}),a;}#addInput(a,b){return this.#inputSection['push'](b),this.#data['addInput'](a,b);}#normalizeTransactionArgument(a){if(isSerializedBcs(a))return this['pure'](a);return this.#resolveArgument(a);}#resolveArgument(a){if(typeof a==='function'){const b=this['add'](a);if(typeof b==='function')return this.#resolveArgument(b);return parse(ArgumentSchema,b);}return parse(ArgumentSchema,a);}['splitCoins'](a,b){const c=TransactionCommands['SplitCoins'](typeof a==='string'?this['object'](a):this.#resolveArgument(a),b['map'](d=>typeof d==='number'||typeof d==='bigint'||typeof d==='string'?this['pure']['u64'](d):this.#normalizeTransactionArgument(d)));return this.#addCommand(c),createTransactionResult(this.#data['commands']['length']-0x1,b['length']);}['mergeCoins'](a,b){return this['add'](TransactionCommands['MergeCoins'](this['object'](a),b['map'](c=>this['object'](c))));}['publish']({modules:a,dependencies:b}){return this['add'](TransactionCommands['Publish']({'modules':a,'dependencies':b}));}['upgrade']({modules:a,dependencies:b,package:c,ticket:d}){return this['add'](TransactionCommands['Upgrade']({'modules':a,'dependencies':b,'package':c,'ticket':this['object'](d)}));}['moveCall']({arguments:a,...b}){return this['add'](TransactionCommands['MoveCall']({...b,'arguments':a?.['map'](c=>this.#normalizeTransactionArgument(c))}));}['transferObjects'](a,b){return this['add'](TransactionCommands['TransferObjects'](a['map'](c=>this['object'](c)),typeof b==='string'?this['pure']['address'](b):this.#normalizeTransactionArgument(b)));}['makeMoveVec']({type:a,elements:b}){return this['add'](TransactionCommands['MakeMoveVec']({'type':a,'elements':b['map'](c=>this['object'](c))}));}['withdrawal']({amount:a,type:b}){const c={'$kind':'FundsWithdrawal','FundsWithdrawal':{'reservation':{'$kind':'MaxAmountU64','MaxAmountU64':String(a)},'typeArg':{'$kind':'Balance','Balance':b??'0x2::wow::WOW'},'withdrawFrom':{'$kind':'Sender','Sender':!![]}}};return this.#addInput('object',c);}['serialize'](){return JSON['stringify'](serializeV1TransactionData(this.#data['snapshot']()));}async['toJSON'](a={}){await this['prepareForSerialization'](a);const b=this['isFullyResolved']();return JSON['stringify'](parse(SerializedTransactionDataV2Schema,b?{...this.#data['snapshot'](),'digest':this.#data['getDigest']()}:this.#data['snapshot']()),(c,d)=>typeof d==='bigint'?d['toString']():d,0x2);}async['sign'](a){const {signer:b,...c}=a,d=await this['build'](c);return b['signTransaction'](d);}['isPreparedForSerialization'](a={}){if(this.#pendingPromises['size']>0x0)return![];if(this.#data['commands']['some'](b=>b['$Intent']&&!a['supportedIntents']?.['includes'](b['$Intent']['name'])))return![];return!![];}['isFullyResolved'](){if(!this['isPreparedForSerialization']())return![];if(!this.#data['sender'])return![];if(needsTransactionResolution(this.#data,{}))return![];return!![];}async['build'](a={}){return await this['prepareForSerialization'](a),await this.#prepareBuild(a),this.#data['build']({'onlyTransactionKind':a['onlyTransactionKind']});}async['getDigest'](a={}){return await this['prepareForSerialization'](a),await this.#prepareBuild(a),this.#data['getDigest']();}async #prepareBuild(a){if(!a['onlyTransactionKind']&&!this.#data['sender'])throw new Error('Missing\x20transaction\x20sender');await this.#runPlugins([...this.#buildPlugins,resolveTransactionPlugin],a);}async #runPlugins(a,b){try{const c=d=>{if(d>=a['length'])return()=>{};const e=a[d];return async()=>{const f=c(d+0x1);let g=![],h=![];await e(this.#data,b,async()=>{if(g)throw new Error('next()\x20was\x20call\x20multiple\x20times\x20in\x20TransactionPlugin\x20'+d);g=!![],await f(),h=!![];});if(!g)throw new Error('next()\x20was\x20not\x20called\x20in\x20TransactionPlugin\x20'+d);if(!h)throw new Error('next()\x20was\x20not\x20awaited\x20in\x20TransactionPlugin\x20'+d);};};await c(0x0)();}finally{this.#inputSection=this.#data['inputs']['slice'](),this.#commandSection=this.#data['commands']['slice'](),this.#availableResults=new Set(this.#commandSection['map']((d,e)=>e));}}async #waitForPendingTasks(){while(this.#pendingPromises['size']>0x0){const a=Promise['all'](this.#pendingPromises);this.#pendingPromises['clear'](),this.#pendingPromises['add'](a),await a,this.#pendingPromises['delete'](a);}}#sortCommandsAndInputs(){const a=this.#data['commands'],b=this.#data['inputs'],c=this.#commandSection['flat'](Infinity),d=this.#inputSection['flat'](Infinity);if(c['length']!==a['length'])throw new Error('Unexpected\x20number\x20of\x20commands\x20found\x20in\x20transaction\x20data');if(d['length']!==b['length'])throw new Error('Unexpected\x20number\x20of\x20inputs\x20found\x20in\x20transaction\x20data');const e=c['filter'](g=>g['$Intent']?.['name']!=='AsyncTransactionThunk');this.#data['commands']=e,this.#data['inputs']=d,this.#commandSection=e,this.#inputSection=d,this.#availableResults=new Set(e['map']((g,h)=>h));function f(g){const h=a[g];if(h['$Intent']?.['name']==='AsyncTransactionThunk'){const k=h['$Intent']['data']['result'];if(k==null)throw new Error('AsyncTransactionThunk\x20has\x20not\x20been\x20resolved');return f(k['Result']);}const j=e['indexOf'](h);if(j===-0x1)throw new Error('Unable\x20to\x20find\x20original\x20index\x20for\x20command');return j;}this.#data['mapArguments'](g=>{if(g['$kind']==='Input'){const h=d['indexOf'](b[g['Input']]);if(h===-0x1)throw new Error('Input\x20has\x20not\x20been\x20resolved');return{...g,'Input':h};}else{if(g['$kind']==='Result'){const j=f(g['Result']);return{...g,'Result':j};}else{if(g['$kind']==='NestedResult'){const k=f(g['NestedResult'][0x0]);return{...g,'NestedResult':[k,g['NestedResult'][0x1]]};}}}return g;});for(const [g,h]of a['entries']())if(h['$Intent']?.['name']==='AsyncTransactionThunk')try{h['$Intent']['data']['resultIndex']=f(g);}catch{}}async['prepareForSerialization'](a){await this.#waitForPendingTasks(),this.#sortCommandsAndInputs();const b=new Set();for(const d of this.#data['commands'])if(d['$Intent'])b['add'](d['$Intent']['name']);const c=[...this.#serializationPlugins];for(const e of b){if(a['supportedIntents']?.['includes'](e))continue;if(!this.#intentResolvers['has'](e))throw new Error('Missing\x20intent\x20resolver\x20for\x20'+e);c['push'](this.#intentResolvers['get'](e));}c['push'](namedPackagesPlugin()),await this.#runPlugins(c,a);}};export{isArgument as _,createObjectMethods as a,getPureBcsSchema as c,TransactionCommands as d,UpgradePolicy as f,TransactionDataBuilder as g,SimulationError as h,createPure as i,normalizedTypeToMoveTypeSignature as l,ObjectError as m,isTransaction as n,computeGasBudget as o,isCoinReservationDigest as p,coinWithBalance as r,coreClientResolveTransactionPlugin as s,Transaction as t,Inputs as u};
@@ -1 +0,0 @@
1
- import{B as a1a,H as a1b,f as a1c,g as a1d,lt as a1e,z as a1f}from'./common-fDv-Cuzq.mjs';import{_ as a1g}from'./local-c-Tbdkfa.mjs';import{st as a1h}from'./object-DzsQI-0e.mjs';function arbFn(a){return'0x2::arb::'+a;}function create(a,b,c){a1h([b]);if(!a1c(c))a1g('invalid\x20parameter','Arb\x20type\x20'+c+'\x20is\x20not\x20valid');return a['moveCall']({'target':arbFn('create'),'arguments':[a1e(a,b)],'typeArguments':[c]});}function proposition_change(a,b,c,d,e,f,g){a1h([b,d]);if(!a1c(c))a1g('invalid\x20parameter','Arb\x20type\x20'+c+'\x20is\x20not\x20valid');if(!a1f(e,h=>{if(!a1b(h))a1g('invalid\x20parameter','Proposition\x20name\x20'+h+'\x20exceeds\x20maximum\x20length\x20256');return!![];}))a1g('invalid\x20parameter','Proposition\x20is\x20not\x20valid');if(e['length']>0x14)a1g('invalid\x20parameter','Proposition\x20count\x20exceeds\x20maximum\x20count\x2020');if(typeof f==='string'&&!a1a(f))a1g('invalid\x20description','Description\x20exceeds\x20maximum\x20length\x20'+a1d);a['moveCall']({'target':arbFn('proposition_change'),'arguments':[a1e(a,b),a1e(a,d),a['pure']['vector']('string',e),a['pure']['option']('string',f??null),a['pure']['bool'](g)],'typeArguments':[c]});}function description_change(a,b,c,d,e,f){a1h([b,d]);if(!a1c(c))a1g('invalid\x20parameter','Arb\x20type\x20'+c+'\x20is\x20not\x20valid');if(typeof e==='string'&&!a1a(e))a1g('invalid\x20description','Description\x20exceeds\x20maximum\x20length\x20'+a1d);a['moveCall']({'target':arbFn('description_change'),'arguments':[a1e(a,b),a1e(a,d),a['pure']['string'](e),a['pure']['bool'](f)],'typeArguments':[c]});}function principal_confirm(a,b,c,d,e){a1h([b,d]);if(!a1c(c))a1g('invalid\x20parameter','Arb\x20type\x20'+c+'\x20is\x20not\x20valid');a['moveCall']({'target':arbFn('principal_confirm'),'arguments':[a1e(a,b),a1e(a,d),a['pure']['bool'](e)],'typeArguments':[c]});}function objection(a,b,c,d,e){a1h([b,d]);if(!a1c(c))a1g('invalid\x20parameter','Arb\x20type\x20'+c+'\x20is\x20not\x20valid');if(typeof e==='string'&&!a1a(e))a1g('invalid\x20description','Objection\x20exceeds\x20maximum\x20length\x20'+a1d);a['moveCall']({'target':arbFn('objection'),'arguments':[a1e(a,b),a1e(a,d),a['pure']['string'](e)],'typeArguments':[c]});}export{proposition_change as a,principal_confirm as i,description_change as n,objection as r,create as t};