@wowok/wowok 2.7.5 → 2.7.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/Transaction-DcFD1-9u.mjs +1 -0
- package/dist/esm/{arb-COUEGIqb.mjs → arb-O5dC5NyR.mjs} +1 -1
- package/dist/esm/{base-Bk2hZwE_.mjs → base-DAh1eDOw.mjs} +1 -1
- package/dist/esm/bcs/index.d.mts +1 -1
- package/dist/esm/{call-BoA5lQki.mjs → call-BhTcKYCd.mjs} +1 -1
- package/dist/esm/client/index.d.mts +1 -1
- package/dist/esm/client/index.mjs +1 -1
- package/dist/esm/{client-CTyIGdyo.mjs → client-Cn7jc7Xf.mjs} +1 -1
- package/dist/esm/cryptography/index.d.mts +1 -1
- package/dist/esm/graphql/index.d.mts +1 -1
- package/dist/esm/graphql/index.mjs +1 -1
- package/dist/esm/{graphql-hyaztoOV.mjs → graphql-Ckcg8Cgh.mjs} +1 -1
- package/dist/esm/grpc/index.d.mts +1 -1
- package/dist/esm/grpc/index.mjs +1 -1
- package/dist/esm/{grpc-B29tae3_.mjs → grpc-Dwy62pUk.mjs} +1 -1
- package/dist/esm/{index-o_aMVwsK.d.mts → index-B-cxGU73.d.mts} +6 -6
- package/dist/esm/{index-MLmtOWU1.d.mts → index-ByXPNYyQ.d.mts} +17 -6
- package/dist/esm/{index-BI9fmbyo.d.mts → index-DmWs3NAv.d.mts} +2 -1
- package/dist/esm/index.d.mts +4 -4
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/jsonRpc/index.d.mts +1 -1
- package/dist/esm/jsonRpc/index.mjs +1 -1
- package/dist/esm/keypairs/ed25519/index.d.mts +1 -1
- package/dist/esm/keypairs/falcon512/index.d.mts +1 -1
- package/dist/esm/keypairs/passkey/index.d.mts +1 -1
- package/dist/esm/keypairs/secp256k1/index.d.mts +1 -1
- package/dist/esm/keypairs/secp256r1/index.d.mts +1 -1
- package/dist/esm/{messenger-CYEFMRXw.mjs → messenger-BLZocqqg.mjs} +1 -1
- package/dist/esm/{messenger-api-CAwajc8_.mjs → messenger-api-U3GALZ6d.mjs} +1 -1
- package/dist/esm/multisig/index.d.mts +1 -1
- package/dist/esm/{object-BGpKY34e.mjs → object-CuC7vjpw.mjs} +1 -1
- package/dist/esm/{passport-CTSbVXOm.mjs → passport-Z-HwuwHV.mjs} +1 -1
- package/dist/esm/{proof-Csf1t46t.mjs → proof-DxWRz1Ji.mjs} +1 -1
- package/dist/esm/query-BOTRwnYe.mjs +1 -0
- package/dist/esm/received--vCB9_Go.mjs +1 -0
- package/dist/esm/{service-Beo_6z8w.mjs → service-5AFQS7-D.mjs} +1 -1
- package/dist/esm/transactions/index.d.mts +1 -1
- package/dist/esm/transactions/index.mjs +1 -1
- package/dist/esm/{transactions-DLRkyK2I.mjs → transactions-dZ1GjC4C.mjs} +1 -1
- package/dist/esm/{util-BLvWUtvV.mjs → util-D877nLGl.mjs} +1 -1
- package/dist/esm/utils/index.d.mts +2 -2
- package/dist/esm/utils/index.mjs +1 -1
- package/dist/esm/utils-CpS-PwC-.mjs +1 -0
- package/dist/esm/verify/index.d.mts +1 -1
- package/dist/esm/w/call/allocation.d.mts +1 -1
- package/dist/esm/w/call/allocation.mjs +1 -1
- package/dist/esm/w/call/arbitration.d.mts +1 -1
- package/dist/esm/w/call/arbitration.mjs +1 -1
- package/dist/esm/w/call/base.d.mts +1 -1
- package/dist/esm/w/call/base.mjs +1 -1
- package/dist/esm/w/call/demand.d.mts +1 -1
- package/dist/esm/w/call/demand.mjs +1 -1
- package/dist/esm/w/call/guard.d.mts +1 -1
- package/dist/esm/w/call/guard.mjs +1 -1
- package/dist/esm/w/call/index.d.mts +1 -1
- package/dist/esm/w/call/index.mjs +1 -1
- package/dist/esm/w/call/machine.d.mts +1 -1
- package/dist/esm/w/call/machine.mjs +1 -1
- package/dist/esm/w/call/passport.d.mts +1 -1
- package/dist/esm/w/call/passport.mjs +1 -1
- package/dist/esm/w/call/payment.d.mts +1 -1
- package/dist/esm/w/call/payment.mjs +1 -1
- package/dist/esm/w/call/permission.d.mts +1 -1
- package/dist/esm/w/call/permission.mjs +1 -1
- package/dist/esm/w/call/progress.d.mts +1 -1
- package/dist/esm/w/call/progress.mjs +1 -1
- package/dist/esm/w/call/repository.d.mts +1 -1
- package/dist/esm/w/call/repository.mjs +1 -1
- package/dist/esm/w/call/reward.d.mts +1 -1
- package/dist/esm/w/call/reward.mjs +1 -1
- package/dist/esm/w/call/service.d.mts +1 -1
- package/dist/esm/w/call/service.mjs +1 -1
- package/dist/esm/w/call/treasury.d.mts +1 -1
- package/dist/esm/w/call/treasury.mjs +1 -1
- package/dist/esm/w/common.d.mts +1 -1
- package/dist/esm/w/index.d.mts +1 -1
- package/dist/esm/w/index.mjs +1 -1
- package/dist/esm/w/local/account.d.mts +1 -1
- package/dist/esm/w/local/account.mjs +1 -1
- package/dist/esm/w/local/index.d.mts +1 -1
- package/dist/esm/w/local/token.d.mts +1 -1
- package/dist/esm/w/local/token.mjs +1 -1
- package/dist/esm/w/messenger/index.d.mts +1 -1
- package/dist/esm/w/messenger/index.mjs +1 -1
- package/dist/esm/w/messenger/messenger-api.d.mts +1 -1
- package/dist/esm/w/messenger/messenger-api.mjs +1 -1
- package/dist/esm/w/messenger/messenger.d.mts +1 -1
- package/dist/esm/w/messenger/messenger.mjs +1 -1
- package/dist/esm/w/messenger/pq/crypto.d.mts +8 -0
- package/dist/esm/w/messenger/pq/crypto.mjs +1 -1
- package/dist/esm/w/messenger/reply.d.mts +1 -1
- package/dist/esm/w/messenger/storage.d.mts +1 -1
- package/dist/esm/w/messenger/types.d.mts +1 -1
- package/dist/esm/w/query/index.d.mts +1 -1
- package/dist/esm/w/query/index.mjs +1 -1
- package/dist/esm/w/query/object.d.mts +1 -1
- package/dist/esm/w/query/object.mjs +1 -1
- package/dist/esm/{w-CFJULbY9.mjs → w-C8-9OGcr.mjs} +1 -1
- package/package.json +1 -1
- package/dist/esm/Transaction-ChsSEyYP.mjs +0 -1
- package/dist/esm/query-CPHVEkGV.mjs +0 -1
- package/dist/esm/received-CJ0HeoRo.mjs +0 -1
- package/dist/esm/utils-CcqOIkzM.mjs +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as a0a,c as a0b,l as a0c,s as a0d}from'./wow-types-DcqbnAaK.mjs';import{o as a0e,s as a0f,u as a0g}from'./bcs-BrmSFFhn.mjs';import{C as a0h,D as a0i,O as a0j,S as a0k,_ as a0l,k as a0m,m as a0n,p as a0o,v as a0p,w as a0q,x as a0r,y as a0s}from'./utils-CcqOIkzM.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=a0e['Address']['serialize'](a)['toBytes'](),d=fromHex(a0m(WOW_ACCUMULATOR_ROOT_OBJECT_ID,ACCUMULATOR_KEY_TYPE_TAG,c)['slice'](0x2)),e=fromBase58(b);if(e['length']!==0x20)throw new Error('Invalid\x20chain\x20identifier\x20length:\x20expected\x2032\x20bytes,\x20got\x20'+e['length']);const f=new Uint8Array(0x20);for(let g=0x0;g<0x20;g++)f[g]=d[g]^e[g];return'0x'+toHex(f);}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'])!==a0j)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':a0j}):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':a0i,'initialSharedVersion':0x1,'mutable':d}));return b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0i,'initialSharedVersion':0x1}});},b['clock']=()=>b(Inputs['SharedObjectRef']({'objectId':a0n,'initialSharedVersion':0x1,'mutable':![]})),b['random']=()=>b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0h,'mutable':![]}}),b['denyList']=c=>{return b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0l,'mutable':c?.['mutable']}});},b['registrar']=c=>{return b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0q,'mutable':c?.['mutable']}});},b['mutRegistrar']=()=>{return b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0q,'mutable':!![]}});},b['mutObjectLinkerCore']=()=>{return b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0r,'mutable':!![]}});},b['mutObjectLinkerTx']=()=>{return b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0k,'mutable':!![]}});},b['entity']=c=>{return b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0p,'mutable':c?.['mutable']}});},b['mutEntity']=()=>{return b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0p,'mutable':!![]}});},b['entityPermission']=c=>{return b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0s,'mutable':c?.['mutable']}});},b['mutEntityPermission']=()=>{return b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0s,'mutable':!![]}});},b['option']=({type:c,value:d})=>e=>e['moveCall']({'typeArguments':[c],'target':a0o+'::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{t as a47a}from'./client-CTyIGdyo.mjs';import{n as a47b}from'./network-y8yMus5q.mjs';import{A as a47c,F as a47d,I as a47e,P as a47f,c as a47g,j as a47h,l as a47i,n as a47j,s as a47k}from'./common-ofEOpNis.mjs';import{o as a47l}from'./exception-C6IYkBi6.mjs';import{Cache}from'./w/local/cache.mjs';import{Config}from'./w/local/config.mjs';import{LocalMark}from'./w/local/local.mjs';import{compressedPubKeyToAddress}from'./w/local/evm/rlp.mjs';import{GetAccountOrMark_Address}from'./w/local/index.mjs';import{U as a47m,Y as a47n,at as a47o,ct as a47p,st as a47q}from'./object-BGpKY34e.mjs';import{query_permissions}from'./w/call/permission.mjs';const isValidObjectAddr=a=>typeof a==='string'&&a['length']>0x2&&a!=='0x0',MAX_NODE_LIST_PAGES=0x5,query_serviceContext=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=a47p(b)?'graphql':'json-rpc';let d;if(typeof a['service']==='string'){const j=(await a47m({'objects':[a['service']],'no_cache':a['no_cache'],'network':b}))['objects']?.['find'](k=>k['type']==='Service');if(!j)a47l('fail','query_serviceContext:\x20service\x20'+a['service']+'\x20not\x20found');d=j;}else d=a['service'];const e=new Map(),f=(k,l)=>{if(isValidObjectAddr(l))e['set'](k,l);};f('machine',d['machine']),f('buy_guard',d['buy_guard']),f('permission',d['permission']),f('um',d['um']);for(const k of d['arbitrations']??[])f('arbitrations:'+k,k);for(const l of d['rewards']??[])f('rewards:'+l,l);for(const m of d['repositories']??[])f('repositories:'+m,m);for(const n of d['order_allocators']?.['allocators']??[])f('allocator_guard:'+n['guard'],n['guard']);const g={};if(e['size']>0x0){const o=await a47m({'objects':[...e['values']()],'no_cache':a['no_cache'],'network':b});for(const p of o['objects']??[])if(p?.['object'])g[p['object']]=p;}const h=q=>q?g[q]:void 0x0;let i;if(a['include_machine_nodes']&&isValidObjectAddr(d['machine']))i=await fetchMachineNodes(d['machine'],a);return{'service':d,'machine':h(d['machine']),'buy_guard':h(d['buy_guard']),'permission':h(d['permission']),'allocator_guards':(d['order_allocators']?.['allocators']??[])['map'](q=>h(q['guard']))['filter'](q=>q?.['type']==='Guard'),'referenced':g,'machine_nodes':i,'transport':c};},fetchMachineNodes=async(a,b)=>{const c=await Config['Instance']()['network_get'](b['network']),d=[];let e;for(let f=0x0;f<MAX_NODE_LIST_PAGES;f++){let g;try{g=await a47n({'parent':a,'cursor':e,'limit':null,'no_cache':b['no_cache'],'network':c});}catch{break;}if(!g?.['items']?.['length'])break;for(const h of g['items'])if(h['object'])d['push'](h['object']);e=g['nextCursor'];if(!e||!g['hasNextPage'])break;}if(d['length']===0x0)return[];return((await a47m({'objects':d,'no_cache':b['no_cache'],'network':c}))['objects']??[])['filter'](i=>i?.['type']==='TableItem_MachineNode');},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 a47a({'url':a47b(c),'network':c}),e=a==='ArbEvent'||a==='NewOrderEvent'||a==='ProgressEvent'||a==='DemandPresentEvent'||a==='DemandFeedbackEvent'||a==='NewEntityEvent'||a==='ServiceEvent'||a==='DemandChangedEvent'||a==='VoteEvent'||a==='FeedbackEvent';let f;if(e)f='0x2'+{'ArbEvent':'::arb::ArbEvent','NewOrderEvent':'::order::NewOrderEvent','ProgressEvent':'::progress::ProgressEvent','DemandPresentEvent':'::demand::PresentEvent','DemandFeedbackEvent':'::demand::DemandEvent','NewEntityEvent':'::registrar::NewEntityEvent','ServiceEvent':'::service::ServiceEvent','DemandChangedEvent':'::demand::DemandChangedEvent','VoteEvent':'::arb::VoteEvent','FeedbackEvent':'::arb::FeedbackEvent'}[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']!==void 0x0?a47q(h['packageId'])==='0x2':h?.['type']?.['startsWith']('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'],'indemnity_amount':h?.['parsedJson']?.['indemnity_amount']?.['some']??null,'compensation_time':h?.['parsedJson']?.['compensation_time']?.['some']??null};else{if(h?.['type']?.['includes']('::service::ServiceEvent'))return{'id':h?.['id'],'time':h?.['timestampMs'],'type_raw':h?.['type'],'sender':h?.['sender'],'type':'ServiceEvent','object':h?.['parsedJson']?.['object'],'location':h?.['parsedJson']?.['location'],'description':h?.['parsedJson']?.['description']};else{if(h?.['type']?.['includes']('::demand::DemandChangedEvent'))return{'id':h?.['id'],'time':h?.['timestampMs'],'type_raw':h?.['type'],'sender':h?.['sender'],'type':'DemandChangedEvent','object':h?.['parsedJson']?.['object'],'location':h?.['parsedJson']?.['location'],'description':h?.['parsedJson']?.['description'],'rewards':h?.['parsedJson']?.['rewards']};else{if(h?.['type']?.['includes']('::arb::VoteEvent'))return{'id':h?.['id'],'time':h?.['timestampMs'],'type_raw':h?.['type'],'sender':h?.['sender'],'type':'VoteEvent','object':h?.['parsedJson']?.['object'],'voter':h?.['parsedJson']?.['voter'],'agrees':h?.['parsedJson']?.['agrees'],'weight':h?.['parsedJson']?.['weight']};else{if(h?.['type']?.['includes']('::arb::FeedbackEvent'))return{'id':h?.['id'],'time':h?.['timestampMs'],'type_raw':h?.['type'],'sender':h?.['sender'],'type':'FeedbackEvent','object':h?.['parsedJson']?.['object'],'feedback':h?.['parsedJson']?.['feedback']};else{if(h?.['type']?.['includes']('::registrar::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']};};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['AlreadyProcessed']='ALREADY_PROCESSED',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':'https://eth.drpc.org','bridgeProxyAddress':'0xA8d914Cc121CB2d2179Ca540bC0B8213F224aa00','bridgeVaultAddress':'0xC9A6EF1A3dC6f0681d39C318c4882FB7704a7848','bridgeCommitteeAddress':'0x822779c4183ed69bdd38e0454ec1826d2ae186a5','bridgeConfigAddress':'0xaf9414c8ab0a0905a6b9ad24c927416ac765a4ce'},'bridgeNodeUrls':['http://bridge.mainnet.wowok.net:9211','http://150.158.76.254:9211','http://110.40.159.14:9211'],'defaultVersion':0x2,'tokens':[{'tokenId':0x1,'symbol':'WBTC','wowTypeTag':'0x184a37e507991cfc8ee32c536cb7f6839fc836c8d36f928274f4fada795c101a::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':'0x107c69d91b57f5f8b1b877bf9228101784bc7dfda6b63956a40f8d2bddb01bcb::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':'0x107c69d91b57f5f8b1b877bf9228101784bc7dfda6b63956a40f8d2bddb01bcb::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':'0x694b2b1ee343434e921f87259ee959274ff250dc67990e93114022d55801d472::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':'0x999f4614ee484a263e8e02b55d0ba1fd63c82fb796370e614ccb9e7343573c76::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 INFO_CONSTANT={'type':'constants','constants':[{'name':'Protocol\x20Package\x20ID','value':'0x2','description':'Protocol\x20package\x20ID'},{'name':'Gas\x20Token\x20Type','value':a47i,'description':'Gas\x20token\x20type'},{'name':'Gas\x20Coin\x20Type','value':a47g,'description':'Gas\x20coin\x20type'},{'name':'Entity\x20Linker\x20ID','value':a47f,'description':'Entity\x20Linker\x20ID'},{'name':'Entity\x20Registrar\x20ID','value':a47k,'description':'Entity\x20registrar\x20ID'}],'value_types':Object['entries'](a47d)['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'](a47c)['map'](a=>({'name':a,'value':a,'description':'Object\x20type\x20'+a})),'guard_instructions':Object['values'](a47h)['map'](a=>({'name':a,'value':a,'description':'Guard\x20instruction\x20'+a})),'guard_contexts':Object['values'](a47j)['map'](a=>({'name':a,'value':a,'description':'Guard\x20context\x20'+a})),'guard_witnesses':Object['values'](a47e)['map'](a=>({'name':a,'value':a,'description':'Guard\x20witness\x20'+a}))},COMMON_MISTAKES=[{'object_type':'Service','operation':'compensation_fund_add','category':'field_name','mistake':'Using\x20{amount:\x20...}\x20or\x20{amount:\x20...,\x20type:\x20\x27WOW\x27}\x20instead\x20of\x20{balance:\x20...}.\x20The\x20correct\x20field\x20name\x20is\x20\x27balance\x27,\x20and\x20the\x20token\x20type\x20is\x20inferred\x20from\x20the\x20Service\x27s\x20type_parameter\x20(generic\x20type).','correct_usage':'{balance:\x20<amount_in_smallest_unit>}.\x20The\x20smallest\x20unit\x20depends\x20on\x20the\x20Service\x27s\x20type_parameter:\x20WOW/SUI\x20use\x209\x20decimals\x20(10^9\x20=\x201\x20token),\x20USDC\x20uses\x206\x20decimals\x20(10^6\x20=\x201\x20token).','wrong_example':'{\x22compensation_fund_add\x22:\x20{\x22amount\x22:\x201000000000,\x20\x22type\x22:\x20\x22WOW\x22}}','correct_example':'{\x22compensation_fund_add\x22:\x20{\x22balance\x22:\x201000000000}}\x20(1\x20WOW\x20or\x201\x20SUI,\x20assuming\x209-decimal\x20token\x20type)'},{'object_type':'Service','operation':'compensation_fund_add','category':'workflow','mistake':'Calling\x20compensation_fund_add\x20without\x20first\x20granting\x20permission\x20315\x20(SERVICE_COMPENSATION_FUND_DEPOSIT)\x20to\x20the\x20calling\x20account.\x20The\x20Move\x20layer\x20will\x20reject\x20with\x20\x27Missing\x20permissions\x20315\x27.','correct_usage':'Grant\x20permission\x20315\x20to\x20the\x20funder\x20account\x20via\x20permission.table\x20{op:\x20\x27add\x20perm\x20by\x20index\x27,\x20index:\x20315,\x20entity:\x20[funder_account]}\x20BEFORE\x20calling\x20compensation_fund_add.','wrong_example':'{\x22compensation_fund_add\x22:\x20{\x22balance\x22:\x201000000000}}\x20(without\x20permission\x20315\x20granted)','correct_example':'Step\x201:\x20permission.table\x20{op:\x20\x22add\x20perm\x20by\x20index\x22,\x20index:\x20315,\x20entity:\x20[\x22funder\x22]}\x20→\x20Step\x202:\x20{\x22compensation_fund_add\x22:\x20{\x22balance\x22:\x201000000000}}'},{'object_type':'Service','operation':'setting_lock_duration_add','category':'unit','mistake':'Passing\x20seconds\x20instead\x20of\x20milliseconds.\x20The\x20field\x20is\x20in\x20MILLISECONDS,\x20not\x20seconds.\x20Multiply\x20seconds\x20by\x201000.','correct_usage':'Value\x20in\x20milliseconds.\x2086400000\x20=\x201\x20day,\x202592000000\x20=\x2030\x20days\x20(default),\x207776000000\x20=\x2090\x20days.','wrong_example':'{\x22setting_lock_duration_add\x22:\x202592000}\x20(30\x20days\x20in\x20SECONDS\x20—\x20actually\x20only\x2025.92\x20seconds!)','correct_example':'{\x22setting_lock_duration_add\x22:\x202592000000}\x20(30\x20days\x20in\x20milliseconds)'},{'object_type':'Service','operation':'setting_lock_duration_add','category':'value_range','mistake':'Expecting\x20the\x20default\x20to\x20be\x2090\x20days.\x20The\x20actual\x20default\x20(DEFAULT_LOCK_DURATION)\x20is\x2030\x20days\x20(2592000000\x20ms).\x20This\x20is\x20the\x20value\x20set\x20when\x20a\x20Service\x20is\x20created\x20without\x20explicitly\x20setting\x20setting_lock_duration_add.','correct_usage':'If\x20you\x20need\x2090\x20days,\x20explicitly\x20set\x20setting_lock_duration_add\x20to\x207776000000\x20(90\x20days\x20in\x20ms).\x20Note:\x20setting_lock_duration_add\x20is\x20ADDITIVE\x20—\x20it\x20only\x20increases\x20the\x20duration.','wrong_example':'Creating\x20a\x20Service\x20and\x20expecting\x20setting_lock_duration\x20=\x207776000000\x20(90\x20days)\x20without\x20setting\x20setting_lock_duration_add.','correct_example':'{\x22setting_lock_duration_add\x22:\x207776000000}\x20(90\x20days\x20in\x20ms)\x20—\x20set\x20during\x20Service\x20creation.'},{'object_type':'Service','operation':'order_allocators','category':'workflow','mistake':'Setting\x20order_allocators\x20AFTER\x20publish.\x20order_allocators\x20is\x20L1\x20immutable\x20after\x20publish\x20(Move:\x20assert!(!bPublished)).\x20It\x20MUST\x20be\x20set\x20BEFORE\x20publish=true.','correct_usage':'Set\x20order_allocators\x20in\x20Phase\x201\x20(Service\x20creation,\x20before\x20publish).\x20Phase\x202\x20(publish=true)\x20only\x20flips\x20the\x20publish\x20flag.','wrong_example':'Step\x201:\x20create\x20+\x20publish\x20Service\x20→\x20Step\x202:\x20set\x20order_allocators\x20(FAILS:\x20assert!(!bPublished))','correct_example':'Step\x201:\x20create\x20Service\x20(no\x20publish)\x20+\x20set\x20order_allocators\x20→\x20Step\x202:\x20publish=true'},{'object_type':'Service','operation':'machine','category':'workflow','mistake':'Setting\x20machine\x20AFTER\x20publish.\x20machine\x20is\x20L1\x20immutable\x20after\x20publish\x20(Move:\x20assert!(!bPublished)).\x20It\x20MUST\x20be\x20set\x20BEFORE\x20publish=true.','correct_usage':'Set\x20machine\x20in\x20Phase\x201\x20(Service\x20creation,\x20before\x20publish).','wrong_example':'Step\x201:\x20create\x20+\x20publish\x20Service\x20→\x20Step\x202:\x20set\x20machine\x20(FAILS)','correct_example':'Step\x201:\x20create\x20Service\x20(no\x20publish)\x20+\x20set\x20machine\x20→\x20Step\x202:\x20publish=true'},{'object_type':'Arbitration','operation':'voting_deadline','category':'unit','mistake':'Passing\x20seconds\x20instead\x20of\x20milliseconds.\x20voting_deadline\x20is\x20a\x20Unix\x20timestamp\x20in\x20MILLISECONDS,\x20not\x20seconds.\x20Multiply\x20seconds\x20by\x201000.','correct_usage':'Unix\x20timestamp\x20in\x20milliseconds.\x20Use\x20Date.now()\x20+\x20<duration_ms>\x20for\x20a\x20future\x20deadline.\x20Example:\x20Date.now()\x20+\x20259200000\x20for\x203\x20days.','wrong_example':'{\x22voting_deadline\x22:\x201785190000}\x20(seconds\x20—\x20this\x20is\x20in\x202026-05\x20but\x20in\x20seconds,\x20which\x20is\x20actually\x201970-01-21)','correct_example':'{\x22voting_deadline\x22:\x201785190000000}\x20(milliseconds\x20—\x20correct\x20Unix\x20timestamp\x20in\x20ms)'},{'object_type':'Arbitration','operation':'voting_deadline','category':'timing','mistake':'Setting\x20voting_deadline\x20to\x20a\x20past\x20time.\x20The\x20deadline\x20MUST\x20be\x20in\x20the\x20future\x20(recommended:\x20now\x20+\x20at\x20least\x2086400000\x20ms\x20=\x2024\x20hours).\x20Past\x20deadlines\x20prevent\x20voting.','correct_usage':'Use\x20Date.now()\x20+\x20<duration_ms>.\x20Minimum\x20recommended:\x2086400000\x20ms\x20(24\x20hours).\x203\x20days\x20=\x20259200000\x20ms.','wrong_example':'{\x22voting_deadline\x22:\x201785190000000}\x20(if\x20this\x20is\x20in\x20the\x20past,\x20voting\x20will\x20fail)','correct_example':'{\x22voting_deadline\x22:\x20Date.now()\x20+\x20259200000}\x20(3\x20days\x20from\x20now)'},{'object_type':'Arbitration','operation':'dispute','category':'field_name','mistake':'Using\x20{amount:\x20...}\x20for\x20the\x20dispute\x20fee\x20instead\x20of\x20{balance:\x20...}.\x20The\x20fee\x20field\x20uses\x20CoinParamSchema\x20which\x20requires\x20\x27balance\x27,\x20not\x20\x27amount\x27.','correct_usage':'{balance:\x20<amount_in_smallest_unit>}.\x20The\x20smallest\x20unit\x20depends\x20on\x20the\x20Arbitration\x27s\x20type_parameter:\x20WOW/SUI\x20use\x209\x20decimals,\x20USDC\x20uses\x206\x20decimals.','wrong_example':'{\x22fee\x22:\x20{\x22amount\x22:\x2050000000}}','correct_example':'{\x22fee\x22:\x20{\x22balance\x22:\x2050000000}}\x20(0.05\x20WOW\x20or\x200.05\x20SUI,\x20assuming\x209-decimal\x20token\x20type)'},{'object_type':'Order','operation':'order_new','category':'workflow','mistake':'Not\x20setting\x20namedNewOrder/namedNewAllocation/namedNewProgress\x20when\x20creating\x20an\x20Order.\x20Without\x20names,\x20subsequent\x20operations\x20must\x20use\x20on-chain\x20addresses,\x20which\x20are\x20hard\x20to\x20reference.','correct_usage':'Set\x20namedNewOrder,\x20namedNewAllocation,\x20and\x20namedNewProgress\x20to\x20local\x20names\x20for\x20easy\x20reference\x20in\x20subsequent\x20operations.','wrong_example':'{\x22order_new\x22:\x20{\x22buy\x22:\x20{...}}}\x20(no\x20namedNewOrder\x20—\x20must\x20use\x20address\x20for\x20all\x20subsequent\x20operations)','correct_example':'{\x22order_new\x22:\x20{\x22buy\x22:\x20{...},\x20\x22namedNewOrder\x22:\x20{\x22name\x22:\x20\x22my_order\x22},\x20\x22namedNewAllocation\x22:\x20{\x22name\x22:\x20\x22my_alloc\x22},\x20\x22namedNewProgress\x22:\x20{\x22name\x22:\x20\x22my_progress\x22}}}'},{'object_type':'ALL','operation':'create_with_reference','category':'workflow','mistake':'Creating\x20an\x20object\x20that\x20references\x20another\x20object\x20by\x20name\x20(LocalMark)\x20when\x20the\x20referenced\x20object\x20does\x20not\x20exist\x20yet.\x20This\x20causes\x20BCS\x20serialization\x20error:\x20\x27failed\x20to\x20resolve\x20string:\x20<name>\x27.\x20The\x20general\x20pattern\x20is:\x20create\x20object\x20A\x20(no\x20publish,\x20establishes\x20LocalMark)\x20→\x20create\x20object\x20B\x20that\x20references\x20A\x20→\x20update\x20A\x20with\x20references\x20to\x20B\x20→\x20publish\x20A.','correct_usage':'GENERAL\x20DEPLOYMENT\x20ORDER\x20RULE:\x20(1)\x20Create\x20all\x20objects\x20with\x20basic\x20config,\x20no\x20publish\x20—\x20addresses\x20are\x20determined\x20and\x20LocalMark\x20names\x20are\x20registered.\x20(2)\x20Create\x20Guards\x20and\x20other\x20objects\x20that\x20reference\x20the\x20first\x20batch\x20—\x20LocalMark\x20names\x20now\x20resolve.\x20(3)\x20Update\x20objects\x20with\x20cross-references\x20(order_allocators,\x20buy_guard,\x20etc.).\x20(4)\x20Publish\x20objects.\x20This\x20avoids\x20all\x20circular\x20dependencies.','wrong_example':'Step\x201:\x20create\x20Guard\x20referencing\x20\x22my_service\x22\x20(my_service\x20does\x20not\x20exist)\x20→\x20BCS\x20error','correct_example':'Step\x201:\x20create\x20Service\x20(no\x20publish,\x20establishes\x20\x22my_service\x22\x20LocalMark)\x20→\x20Step\x202:\x20create\x20Guard\x20referencing\x20\x22my_service\x22\x20→\x20Step\x203:\x20update\x20Service\x20with\x20order_allocators\x20referencing\x20Guard\x20→\x20Step\x204:\x20publish\x20Service'},{'object_type':'Machine','operation':'add|set','category':'architecture','mistake':'Including\x20arbitration/dispute\x20nodes\x20in\x20a\x20Machine\x20workflow.\x20CORE\x20PRINCIPLE:\x20A\x20merchant\x27s\x20business\x20flow\x20cannot\x20handle\x20disputes\x20fairly\x20because\x20the\x20merchant\x20would\x20be\x20\x27both\x20player\x20and\x20referee\x27\x20(既当球员又当裁判).\x20The\x20WoWok\x20smart\x20contract\x20design\x20enforces\x20this\x20by\x20making\x20Arbitration\x20a\x20completely\x20separate\x20object\x20—\x20it\x20has\x20its\x20own\x20Permission,\x20voting_guard,\x20usage_guard,\x20and\x20balance,\x20with\x20NO\x20reference\x20from\x20Machine/Progress\x20to\x20Arbitration.\x20The\x20Order\x20object\x20is\x20the\x20bridge:\x20it\x20has\x20both\x20`progress`\x20(Machine)\x20and\x20`dispute`\x20(list\x20of\x20Arb\x20addresses)\x20fields,\x20but\x20the\x20Arb\x20lifecycle\x20(7\x20states:\x20Principal_confirming\x20→\x20Arbitrator_confirming\x20→\x20Voting\x20→\x20Arbitrated\x20→\x20Objectionable\x20→\x20Finished\x20→\x20Withdrawn)\x20is\x20managed\x20entirely\x20by\x20the\x20Arbitration\x20object,\x20not\x20by\x20the\x20Machine.','correct_usage':'ARBITRATION\x20SEPARATION\x20RULE:\x20(1)\x20Machine\x20workflows\x20model\x20BUSINESS\x20states\x20only\x20(e.g.,\x20ordered\x20→\x20shipped\x20→\x20delivered\x20→\x20refunded\x20→\x20completed).\x20(2)\x20Arbitration\x20is\x20a\x20separate\x20object\x20with\x20its\x20own\x20Permission\x20—\x20create\x20it\x20independently.\x20(3)\x20When\x20a\x20dispute\x20arises,\x20an\x20Arb\x20instance\x20is\x20created\x20referencing\x20the\x20Order;\x20the\x20Arb\x20goes\x20through\x20its\x207-state\x20lifecycle\x20in\x20the\x20Arbitration\x20object.\x20(4)\x20If\x20the\x20Arb\x20rules\x20in\x20favor\x20of\x20the\x20customer,\x20`indemnity`\x20is\x20set\x20and\x20`order::compensate()`\x20is\x20called\x20—\x20this\x20is\x20the\x20ONLY\x20connection\x20between\x20Arb\x20and\x20Order.\x20(5)\x20The\x20Machine\x20can\x20have\x20\x27refunded\x27/\x27cancelled\x27\x20nodes\x20for\x20the\x20BUSINESS\x20OUTCOME\x20of\x20a\x20dispute,\x20but\x20the\x20dispute\x20PROCESS\x20is\x20entirely\x20in\x20Arb.\x20(6)\x20Arbitration\x27s\x20Permission\x20MUST\x20be\x20separate\x20from\x20Service\x27s\x20Permission\x20—\x20never\x20share.','wrong_example':'Machine\x20nodes:\x20[ordered,\x20shipped,\x20delivered,\x20disputed,\x20resolved,\x20completed]\x20—\x20\x22disputed\x22\x20and\x20\x22resolved\x22\x20are\x20Arb\x20lifecycle\x20states,\x20not\x20business\x20states.\x20The\x20merchant\x20would\x20control\x20the\x20dispute\x20process,\x20making\x20it\x20unfair.','correct_example':'Machine\x20nodes:\x20[ordered,\x20shipped,\x20delivered,\x20refunded,\x20completed]\x20(business\x20states\x20only)\x20+\x20separate\x20Arbitration\x20object\x20(with\x20own\x20Permission,\x20voting_guard)\x20+\x20Arb\x20instances\x20(7-state\x20lifecycle)\x20that\x20call\x20order::compensate()\x20when\x20ruled'},{'object_type':'ALL','operation':'multi_tier_allocation','category':'architecture','mistake':'Thinking\x20Allocation\x20cannot\x20support\x20multi-level\x20fund\x20distribution.\x20WoWok\x20supports\x20multi-tier\x20allocation\x20through\x20SUB-ORDERS:\x20each\x20tier\x20is\x20an\x20independent\x20Service\x20with\x20its\x20own\x20order_allocators.\x20The\x20main\x20Order\x20pays\x20the\x20Tier-1\x20Service;\x20the\x20Tier-1\x20Service\x27s\x20Allocation\x20distributes\x20funds\x20to\x20Tier-2\x20sub-orders\x20(each\x20a\x20separate\x20Service\x20with\x20its\x20own\x20Allocation).\x20Additionally,\x20Allocation\x20can\x20run\x20as\x20a\x20standalone\x20independent\x20object,\x20not\x20just\x20as\x20a\x20Service\x20field.','correct_usage':'MULTI-TIER\x20ALLOCATION\x20PATTERN:\x20(1)\x20Main\x20Service\x20has\x20order_allocators\x20that\x20distribute\x20to\x20Tier-1\x20recipients\x20(e.g.,\x20platform\x20+\x20agency).\x20(2)\x20Each\x20Tier-1\x20recipient\x20can\x20be\x20a\x20separate\x20Service\x20with\x20its\x20own\x20order_allocators\x20for\x20Tier-2\x20distribution\x20(e.g.,\x20agency\x20→\x20operators).\x20(3)\x20Each\x20tier\x27s\x20Order\x20is\x20independent\x20—\x20Tier-1\x20payment\x20triggers\x20Tier-2\x20order\x20creation.\x20(4)\x20For\x20standalone\x20allocation:\x20create\x20an\x20Allocation\x20object\x20independently\x20and\x20transfer\x20funds\x20to\x20it,\x20then\x20use\x20Guard-driven\x20allocation\x20to\x20distribute.\x20(5)\x20Do\x20NOT\x20try\x20to\x20put\x20all\x20tiers\x20in\x20a\x20single\x20Order\x27s\x20order_allocators\x20—\x20use\x20separate\x20Services/Orders\x20per\x20tier.','wrong_example':'Single\x20Service\x20with\x208\x20order_allocators\x20trying\x20to\x20handle\x203\x20tiers\x20of\x20distribution\x20in\x20one\x20Order','correct_example':'Tier-1\x20Service\x20(allocators:\x20platform\x2025%,\x20agency\x2075%)\x20→\x20agency\x20creates\x20Tier-2\x20Service\x20(allocators:\x20operator1\x2050%,\x20operator2\x2050%)\x20→\x20each\x20tier\x20is\x20independent'},{'object_type':'ALL','operation':'transfer','category':'fund_flow','mistake':'Not\x20understanding\x20that\x20the\x20signing\x20account\x20determines\x20whose\x20assets\x20are\x20used.\x20The\x20env.account\x20field\x20in\x20every\x20operation\x20specifies\x20the\x20signer\x20—\x20whoever\x20signs\x20the\x20transaction,\x20their\x20assets\x20are\x20used.\x20The\x20name_or_address_from\x20field\x20in\x20account_operation.transfer\x20is\x20OPTIONAL\x20—\x20if\x20omitted,\x20the\x20default\x20account\x20(env.account)\x20signs\x20and\x20its\x20assets\x20are\x20transferred.','correct_usage':'SIGNING\x20ACCOUNT\x20RULE:\x20(1)\x20Every\x20operation\x20has\x20env.account\x20—\x20this\x20is\x20the\x20signer.\x20(2)\x20For\x20transfers:\x20if\x20name_or_address_from\x20is\x20omitted,\x20the\x20env.account\x27s\x20assets\x20are\x20used.\x20(3)\x20To\x20transfer\x20from\x20a\x20DIFFERENT\x20account,\x20set\x20name_or_address_from\x20to\x20that\x20account\x27s\x20name/address.\x20(4)\x20The\x20signer\x20(env.account)\x20must\x20have\x20permission\x20to\x20spend\x20the\x20from\x20account\x27s\x20assets\x20(or\x20be\x20the\x20same\x20account).\x20(5)\x20This\x20is\x20NOT\x20a\x20limitation\x20—\x20it\x27s\x20how\x20blockchain\x20transactions\x20work:\x20the\x20signer\x20pays\x20gas\x20and\x20authorizes\x20asset\x20movement.','wrong_example':'Thinking\x20transfer\x20requires\x20a\x20special\x20source\x20account\x20field\x20separate\x20from\x20the\x20signing\x20account','correct_example':'env:\x20{account:\x20\x22my_account\x22}\x20→\x20transfer\x20{name_or_address_to:\x20\x22recipient\x22,\x20amount:\x20\x221000000000\x22}\x20→\x20my_account\x20signs\x20and\x20its\x20WOW\x20is\x20transferred'}];function query_common_mistakes(a){if(!a)return COMMON_MISTAKES;return COMMON_MISTAKES['filter'](b=>{if(a['object_type']&&b['object_type']!==a['object_type'])return![];if(a['operation']&&b['operation']!==a['operation'])return![];if(a['category']&&b['category']!==a['category'])return![];return!![];});}const FUNDING_GUIDANCE={'overview':'How\x20to\x20obtain\x20WOW\x20gas\x20and\x20payment\x20tokens.\x20Testnet\x20uses\x20a\x20faucet;\x20mainnet\x20uses\x20the\x20ETH\x20mainnet\x20cross-chain\x20bridge;\x20a\x20WOW\x20airdrop\x20is\x20under\x20construction.','testnet':{'token':'WOW','method':'faucet','faucet_url':'https://faucet.testnet.wowok.net','note':'Claim\x20WOW\x20from\x20the\x20testnet\x20faucet.\x20All\x20merchant\x20and\x20order\x20testing\x20can\x20use\x20WOW\x20as\x20the\x20payment\x20token.'},'mainnet':{'method':'eth_bridge','supported_tokens':['ETH','USDT','USDC','WBTC'],'steps':['Query\x20the\x20active\x20EVM\x20account\x20via\x20bridge_operation\x20(query_active_evm_account).\x20It\x20is\x20auto-generated\x20on\x20first\x20use.','From\x20an\x20external\x20wallet\x20(e.g.\x20MetaMask),\x20transfer\x20ETH\x20/\x20USDT\x20/\x20USDC\x20/\x20WBTC\x20to\x20the\x20active\x20EVM\x20account\x20address\x20on\x20Ethereum\x20mainnet.','Query\x20the\x20active\x20EVM\x20account\x20balance\x20to\x20confirm\x20the\x20funds\x20arrived.','Cross-chain\x20the\x20funds\x20to\x20the\x20WOW\x20mainnet\x20account\x20via\x20bridge_operation\x20(cross_chain_evm_to_wow).']},'airdrop':{'url':'https://airdrop.wowok.net','status':'under\x20construction'},'payment_token':{'testnet_default':'WOW\x20(default\x20gas\x20+\x20payment\x20token)','mainnet_option':'USDT\x20and\x20other\x20stablecoins\x20via\x20the\x20ETH\x20mainnet\x20bridge','migration_note':'When\x20migrating\x20a\x20merchant\x20project\x20from\x20testnet\x20to\x20mainnet,\x20ask\x20whether\x20to\x20switch\x20the\x20payment\x20token\x20from\x20WOW\x20to\x20a\x20stablecoin\x20such\x20as\x20USDT.'}};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'common\x20mistakes':return{'info':'common\x20mistakes','result':query_common_mistakes(a['filter'])};case'guard\x20instructions':return{'info':'guard\x20instructions','result':a47o(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']};case'mainnet\x20bridge\x20tokens':return{'info':'mainnet\x20bridge\x20tokens','result':MAINNET_BRIDGE_CONFIG['tokens']};case'funding\x20guidance':return{'info':'funding\x20guidance','result':FUNDING_GUIDANCE};default:throw new Error('Unsupported\x20info\x20type:\x20\x22'+a['info']+'\x22.\x20Valid\x20are:\x20\x22constants\x22,\x20\x22built-in\x20permissions\x22,\x20\x22common\x20mistakes\x22,\x20\x22guard\x20instructions\x22,\x20\x22current\x20network\x22,\x20\x22value\x20types\x22,\x20\x22mainnet\x20bridge\x20tokens\x22,\x20\x22funding\x20guidance\x22');}}function queryPermissions(a){return query_permissions(a);}const query_transaction_json=async a=>{try{const b=JSON['parse'](a);return JSON['stringify']({'data':await query_transaction(b)});}catch(c){return JSON['stringify']({'error':c?.['toString']()});}},query_transaction=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=a['digest'],d=await Cache['read'](['tx','detail',c,b],async()=>{const e=await new a47a({'url':a47b(b),'network':b})['getTransactionBlock']({'digest':c,'options':{'showEffects':!![],'showEvents':!![],'showBalanceChanges':!![],'showInput':!![],'showObjectChanges':!![]}}),f=parseTransactionBlock(e);return{'expire':Cache['DefaultExpireTime'](),'data':f};},a['no_cache']);if(d)return d['data']['cache_expire']=d['expire'],d['data'];},query_object_history_json=async a=>{try{const b=JSON['parse'](a);return JSON['stringify']({'data':await query_object_history(b)});}catch(c){return JSON['stringify']({'error':c?.['toString']()});}},query_object_history=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=(await LocalMark['Instance']()['get_many_address']([a['object']]))[0x0];if(!c)return{'transactions':[],'next_cursor':null,'has_next_page':![]};const d=a['cursor']??'',e=(a['limit']??0x14)['toString'](),f=a['order']??'descending',g=await Cache['read'](['tx','obj_history',c,d,e,f,b],async()=>{const h=await fetchTransactionHistory(b,{'InputObject':c},a['cursor'],a['limit']??0x14,a['order']??'descending');return{'expire':Cache['DefaultExpireTime'](),'data':h};},a['no_cache']);if(g)return g['data']['cache_expire']=g['expire'],g['data'];},query_object_last_updated=async a=>{const b=(await LocalMark['Instance']()['get_many_address']([a['object']]))[0x0];if(!b)return void 0x0;const c=(await query_object_history({'object':b,'order':'descending','limit':0x1,'network':a['network'],'no_cache':a['no_cache']}))?.['transactions']?.[0x0];if(!c)return{'object':b};return{'object':b,'timestamp_ms':c['timestamp_ms'],'digest':c['digest'],'sender':c['sender']};},query_address_activity_json=async a=>{try{const b=JSON['parse'](a);return JSON['stringify']({'data':await query_address_activity(b)});}catch(c){return JSON['stringify']({'error':c?.['toString']()});}},query_address_activity=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=await GetAccountOrMark_Address(a['name_or_address']);if(!c)return{'transactions':[],'next_cursor':null,'has_next_page':![]};const d=a['cursor']??'',e=(a['limit']??0x14)['toString'](),f=a['order']??'descending',g=await Cache['read'](['tx','addr_activity',c,d,e,f,b],async()=>{const h=await fetchTransactionHistory(b,{'FromAddress':c},a['cursor'],a['limit']??0x14,a['order']??'descending');return{'expire':Cache['DefaultExpireTime'](),'data':h};},a['no_cache']);if(g)return g['data']['cache_expire']=g['expire'],g['data'];},fetchTransactionHistory=async(a,b,c,d,e)=>{const f=await new a47a({'url':a47b(a),'network':a})['queryTransactionBlocks']({'filter':b,'options':{'showEffects':!![],'showInput':!![]},'cursor':c??void 0x0,'limit':Math['min'](d,0x32),'order':e});return{'transactions':(f?.['data']??[])['map'](g=>{const h=extractObjectsFromEffects(g?.['effects']);return{'digest':g?.['digest']??'','status':g?.['effects']?.['status']?.['status']==='success'?'success':'failed','timestamp_ms':g?.['timestampMs'],'sender':g?.['transaction']?.['data']?.['sender'],'kind':g?.['transaction']?.['data']?.['transaction']?.['kind']?Object['keys'](g['transaction']['data']['transaction'])[0x0]:void 0x0,'gas_used':g?.['effects']?.['gasUsed']?.['computationCost']?''+g['effects']['gasUsed']['computationCost']:void 0x0,'objects_touched':h,'has_object_changes':h['length']>0x0};}),'next_cursor':f?.['nextCursor']??null,'has_next_page':f?.['hasNextPage']??![]};},parseTransactionBlock=a=>{const b=a?.['effects'],c=b?.['status']?.['status']==='success'?'success':'failed',d=c==='failed'?b?.['status']?.['error']:void 0x0,e=(a?.['objectChanges']??[])['map'](j=>({'id':j?.['objectId']??'','type':j?.['type']??'mutated','object_type':j?.['objectType'],'sender':j?.['sender'],'version':j?.['version'],'previous_version':j?.['previousVersion'],'digest':j?.['digest']})),f=(a?.['balanceChanges']??[])['map'](j=>({'owner':typeof j?.['owner']==='string'?j['owner']:j?.['owner']?.['AddressOwner']??'','coin_type':j?.['coinType']??'','amount':j?.['amount']??'0'})),g=(a?.['events']??[])['map'](j=>({'type':j?.['type']??'','package_id':j?.['packageId'],'module':j?.['transactionModule'],'sender':j?.['sender'],'parsed_json':j?.['parsedJson'],'bcs':j?.['bcs']})),h=b?.['gasUsed'],i=h?''+(BigInt(h['computationCost']??0x0)+BigInt(h['storageCost']??0x0)-BigInt(h['storageRebate']??0x0)):void 0x0;return{'digest':a?.['digest']??'','status':c,'error':d,'timestamp_ms':a?.['timestampMs'],'sender':a?.['transaction']?.['data']?.['sender'],'gas_used':i,'gas_budget':a?.['transaction']?.['data']?.['gasData']?.['budget']?.['toString'](),'kind':a?.['transaction']?.['data']?.['transaction']?Object['keys'](a['transaction']['data']['transaction'])[0x0]:void 0x0,'object_changes':e,'balance_changes':f,'event_count':g['length'],'events':g,'epoch':b?.['epoch'],'is_system_tx':a?.['transaction']?.['data']?.['transaction']?.['kind']==='ConsensusCommitPrologue'};},extractObjectsFromEffects=a=>{if(!a)return[];const b=[],c=d=>{if(Array['isArray'](d)){for(const e of d)if(e?.['reference']?.['objectId'])b['push'](e['reference']['objectId']);else{if(e?.['objectId'])b['push'](e['objectId']);}}};return c(a['created']),c(a['mutated']),c(a['deleted']),c(a['wrapped']),c(a['unwrapped']),[...new Set(b)];};export{query_events as A,BridgeChainId as C,TransferStatus as D,BridgeVersion as E,query_serviceContext as M,isEvmChain as O,verifyCommitteeConsistency as S,BridgeTokenId as T,MAINNET_COMMITTEE_WEIGHTS as _,query_object_last_updated as a,findToken as b,COMMON_MISTAKES as c,queryPermissions as d,queryProtocolInfo as f,MAINNET_COMMITTEE_PUBKEYS as g,MAINNET_COMMITTEE_MEMBER_ADDRESSES as h,query_object_history_json as i,query_events_json as j,isWowChain as k,FUNDING_GUIDANCE as l,MAINNET_BRIDGE_CONFIG as m,query_address_activity_json as n,query_transaction as o,query_common_mistakes as p,query_object_history as r,query_transaction_json as s,query_address_activity as t,INFO_CONSTANT as u,findEvmChainConfig as v,BridgeErrorCode as w,findTokenBySymbol as x,findEvmChainConfigByBridgeChainId as y};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as a48a}from'./client-CTyIGdyo.mjs';import{n as a48b}from'./network-y8yMus5q.mjs';import'./common-ofEOpNis.mjs';import{o as a48c}from'./exception-C6IYkBi6.mjs';import{Config}from'./w/local/config.mjs';import{GetAccountOrMark_Address}from'./w/local/index.mjs';import{U as a48d,ut as a48e}from'./object-BGpKY34e.mjs';const query_received=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=new a48a({'url':a48b(b),'network':b});let d;if(a['type']===void 0x0||a['type']===null){const f=await GetAccountOrMark_Address(a['name_or_address']);if(!f)a48c('invalid\x20parameter','query_received:\x20Object\x20'+a['name_or_address']+'\x20not\x20found.');return(await c['getOwnedObjects']({'owner':f,'options':{'showContent':!![],'showType':!![]}}))['data']['map'](g=>{return{'id':g?.['data']?.['objectId'],'type':g?.['data']?.['type'],'content_raw':g?.['data']?.['content']?.['fields'],'version':g?.['data']?.['version'],'digest':g?.['data']?.['digest']};});}if(a['type']==='CoinWrapper'){const g=typeof a['name_or_address']==='string'?a['name_or_address']:a['name_or_address']['name_or_address'];if(!g)a48c('invalid\x20parameter','query_received:\x20name_or_address\x20is\x20required.');const h=await a48d({'objects':[g],'no_cache':![],'network':a['network']});if(!h?.['objects']||h['objects']['length']!==0x1)a48c('invalid\x20parameter','query_received:\x20Object\x20'+g+'\x20not\x20found.');d=a48e(h['objects'][0x0]['type_raw']);if(!d)a48c('invalid\x20parameter','object\x20'+g+'\x20not\x20support\x20token\x20type;\x20query\x20with\x20type=undefined\x20instead.');const i=await c['getOwnedObjects']({'owner':h['objects'][0x0]['object'],'filter':{'StructType':'0x2::payment::CoinWrapper<'+d+'>'},'options':{'showContent':!![],'showType':!![]}});let j=BigInt(0x0);const k=i['data']['map'](l=>{const m=l?.['data']?.['content']?.['fields'];return j+=BigInt(m?.['coin']?.['fields']?.['balance']),{'payment':m?.['payment'],'balance':m?.['coin']?.['fields']?.['balance'],'id':l?.['data']?.['objectId'],'type':m?.['coin']?.['type'],'version':l?.['data']?.['version'],'digest':l?.['data']?.['digest']};});return{'balance':j,'received':k,'token_type':d};}const e=await GetAccountOrMark_Address(a['name_or_address']);if(!e)a48c('invalid\x20parameter','query_received:\x20Object\x20'+a['name_or_address']+'\x20not\x20found.');return(await c['getOwnedObjects']({'owner':e,'filter':{'StructType':a['type']},'options':{'showContent':!![],'showType':!![]}}))['data']['map'](l=>{return{'id':l?.['data']?.['objectId'],'type':l?.['data']?.['type'],'content_raw':l?.['data']?.['content']?.['fields'],'version':l?.['data']?.['version'],'digest':l?.['data']?.['digest']};});};export{query_received as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as a57a,u as a57b}from'./bcs-BrmSFFhn.mjs';import{fromBase58 as a57c,fromBase64 as a57d,fromHex as a57e,toBase58 as a57f,toBase64 as a57g,toHex,toHex as a57h}from'@mysten/bcs';import{blake2b}from'@noble/hashes/blake2.js';function deriveDynamicFieldID(a,b,c){const d=a57a['Address']['serialize'](a)['toBytes'](),e=a57a['TypeTag']['serialize'](b)['toBytes'](),f=a57a['u64']()['serialize'](c['length'])['toBytes'](),g=blake2b['create']({'dkLen':0x20});g['update'](new Uint8Array([0xf0])),g['update'](d),g['update'](f),g['update'](c),g['update'](e);const h=g['digest'](),i=new Uint8Array(0x20);return i[0x0]=0xf1,i['set'](h['slice'](0x0,0x1f),0x1),'0x'+toHex(i);}const WOW_DECIMALS=0x9,MIST_PER_WOW=BigInt(0x3b9aca00),MOVE_STDLIB_ADDRESS='0x0000000000000000000000000000000000000000000000000000000000000001',WOW_FRAMEWORK_ADDRESS='0x0000000000000000000000000000000000000000000000000000000000000002',WOW_SYSTEM_ADDRESS='0x0000000000000000000000000000000000000000000000000000000000000003',WOW_CLOCK_OBJECT_ID='0x0000000000000000000000000000000000000000000000000000000000000006',WOW_SYSTEM_MODULE_NAME='wow_system',WOW_TYPE_ARG=WOW_FRAMEWORK_ADDRESS+'::wow::WOW',WOW_SYSTEM_STATE_OBJECT_ID='0x0000000000000000000000000000000000000000000000000000000000000005',WOW_RANDOM_OBJECT_ID='0x0000000000000000000000000000000000000000000000000000000000000008',WOW_COIN_REGISTRY_OBJECT_ID='0x000000000000000000000000000000000000000000000000000000000000000c',WOW_DENY_LIST_OBJECT_ID='0x0000000000000000000000000000000000000000000000000000000000000403',WOW_REGISTRAR_OBJECT_ID='0xaaa',WOW_ENTITY_OBJECT_ID='0xaab',WOW_ENTITY_PERMISSION_OBJECT_ID='0xaad',WOW_OBJECT_LINKER_CORE_OBJECT_ID='0xaae',WOW_OBJECT_LINKER_TX_OBJECT_ID='0xaaf',ELLIPSIS='…';function formatAddress(a){if(a['length']<=0x6)return a;const b=a['startsWith']('0x')?0x2:0x0;return'0x'+a['slice'](b,b+0x4)+ELLIPSIS+a['slice'](-0x4);}function formatDigest(a){return''+a['slice'](0x0,0xa)+ELLIPSIS;}const AMOUNT_REGEX=/^-?(?:[0-9]+(?:\.[0-9]+)?|\.[0-9]+)$/;function parseToUnits(a,b){if(b<0x0||!Number['isInteger'](b))throw new Error('Invalid\x20decimals:\x20'+b);if(!AMOUNT_REGEX['test'](a))throw new Error('Invalid\x20amount:\x20\x22'+a+'\x22');const c=a['startsWith']('-'),[d,e='']=(c?a['slice'](0x1):a)['split']('.');if(e['length']>b)throw new Error('Too\x20many\x20decimal\x20places:\x20\x22'+a+'\x22\x20has\x20'+e['length']+'\x20but\x20max\x20is\x20'+b);const f=e['padEnd'](b,'0')||'0',g=BigInt(d||'0')*0xan**BigInt(b)+BigInt(f);return c?-g:g;}function parseToMist(a){return parseToUnits(a,0x9);}function deriveObjectID(a,b,c){return deriveDynamicFieldID(a,'0x2::derived_object::DerivedObjectKey<'+(typeof b==='string'?b:a57b['tagToString'](b))+'>',c);}export{WOW_RANDOM_OBJECT_ID as C,WOW_SYSTEM_STATE_OBJECT_ID as D,WOW_SYSTEM_MODULE_NAME as E,WOW_TYPE_ARG as O,WOW_OBJECT_LINKER_TX_OBJECT_ID as S,WOW_SYSTEM_ADDRESS as T,WOW_DENY_LIST_OBJECT_ID as _,a57g as a,WOW_FRAMEWORK_ADDRESS as b,formatAddress as c,parseToUnits as d,MIST_PER_WOW as f,WOW_DECIMALS as g,WOW_COIN_REGISTRY_OBJECT_ID as h,a57f as i,deriveDynamicFieldID as k,formatDigest as l,WOW_CLOCK_OBJECT_ID as m,a57d as n,a57h as o,MOVE_STDLIB_ADDRESS as p,a57e as r,deriveObjectID as s,a57c as t,parseToMist as u,WOW_ENTITY_OBJECT_ID as v,WOW_REGISTRAR_OBJECT_ID as w,WOW_OBJECT_LINKER_CORE_OBJECT_ID as x,WOW_ENTITY_PERMISSION_OBJECT_ID as y};
|