@wowok/wowok 2.7.9 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/{Transaction-BlZi1w6F.mjs → Transaction-D1AlW3t_.mjs} +1 -1
- package/dist/esm/{arb-JMhHn5kY.mjs → arb-CpNuzQkE.mjs} +1 -1
- package/dist/esm/{base-o08Syk_8.mjs → base-DuL-IVOw.mjs} +1 -1
- package/dist/esm/bcs/index.mjs +1 -1
- package/dist/esm/{bcs-BrmSFFhn.mjs → bcs-Cjvfeyqf.mjs} +1 -1
- package/dist/esm/cache-C5vEkZbd.d.mts +109 -0
- package/dist/esm/{call-CtePYECR.mjs → call-jN8fzdn5.mjs} +1 -1
- package/dist/esm/client/index.d.mts +1 -1
- package/dist/esm/client/index.mjs +1 -1
- package/dist/esm/{client-oE69u-rK.mjs → client-qwFkeNkI.mjs} +1 -1
- package/dist/esm/{common-Guc0E9Tj.mjs → common-BXJtePqk.mjs} +1 -1
- package/dist/esm/cryptography/index.d.mts +1 -1
- package/dist/esm/cryptography/index.mjs +1 -1
- package/dist/esm/{ed25519-9wJMPpyI.mjs → ed25519-CQkeZzxT.mjs} +1 -1
- package/dist/esm/{evm-account-CNlXZf5j.d.mts → evm-account-DiQ0dl_e.d.mts} +2 -2
- package/dist/esm/{falcon512-C_L8D0FB.mjs → falcon512-Dl5rncUq.mjs} +1 -1
- package/dist/esm/graphql/index.d.mts +1 -1
- package/dist/esm/graphql/index.mjs +1 -1
- package/dist/esm/{graphql-DyX3W1VP.mjs → graphql-CcA1rqMC.mjs} +1 -1
- package/dist/esm/grpc/index.d.mts +1 -1
- package/dist/esm/grpc/index.mjs +1 -1
- package/dist/esm/{grpc-BfuVFCn4.mjs → grpc-Cm66oD9N.mjs} +1 -1
- package/dist/esm/{index-DWq5l_Q3.d.mts → index-B7GX5gzh.d.mts} +35 -1
- package/dist/esm/{index-OlNG95EF.d.mts → index-vJNnTJPA.d.mts} +72 -10
- package/dist/esm/index.d.mts +6 -6
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/jsonRpc/index.d.mts +1 -1
- package/dist/esm/jsonRpc/index.mjs +1 -1
- package/dist/esm/{keypair-CvKz39ZO.mjs → keypair-Y6T-6uC9.mjs} +1 -1
- package/dist/esm/keypairs/ed25519/index.d.mts +1 -1
- package/dist/esm/keypairs/ed25519/index.mjs +1 -1
- package/dist/esm/keypairs/falcon512/index.d.mts +1 -1
- package/dist/esm/keypairs/falcon512/index.mjs +1 -1
- package/dist/esm/keypairs/passkey/index.d.mts +1 -1
- package/dist/esm/keypairs/passkey/index.mjs +1 -1
- package/dist/esm/keypairs/secp256k1/index.d.mts +1 -1
- package/dist/esm/keypairs/secp256k1/index.mjs +1 -1
- package/dist/esm/keypairs/secp256r1/index.d.mts +1 -1
- package/dist/esm/keypairs/secp256r1/index.mjs +1 -1
- package/dist/esm/messenger-C8M1ZM4C.mjs +1 -0
- package/dist/esm/{messenger-api-DTnmFsT-.mjs → messenger-api-Ts4gkcj6.mjs} +1 -1
- package/dist/esm/multisig/index.d.mts +1 -1
- package/dist/esm/multisig/index.mjs +1 -1
- package/dist/esm/object-RbNBCbWH.mjs +1 -0
- package/dist/esm/{passkey-hU0KN8tj.mjs → passkey-C1gbCkoK.mjs} +1 -1
- package/dist/esm/{passport-B5g5Rv9_.mjs → passport-pfzFWOak.mjs} +1 -1
- package/dist/esm/{proof-pOwly4FL.mjs → proof-DCq2eC2-.mjs} +1 -1
- package/dist/esm/{publickey-CO7mE1h4.mjs → publickey-CQJKhU0a.mjs} +1 -1
- package/dist/esm/{publickey-DioRydm4.mjs → publickey-CZRptlhE.mjs} +1 -1
- package/dist/esm/{publickey-CvsHmrwa.mjs → publickey-CcBVAm0Y.mjs} +1 -1
- package/dist/esm/{publickey-D1qNOZY_.mjs → publickey-Co-74gWq.mjs} +1 -1
- package/dist/esm/{publickey-C1XTriFK.mjs → publickey-Kr58241y.mjs} +1 -1
- package/dist/esm/{publickey-CaeLjex_.mjs → publickey-x1pzVVw_.mjs} +1 -1
- package/dist/esm/{query-BDY4w7pA.mjs → query-D7R3HG-B.mjs} +1 -1
- package/dist/esm/{received-D0KPLcZ8.mjs → received-AN2a_tfR.mjs} +1 -1
- package/dist/esm/{secp256k1-DbTX5WTS.mjs → secp256k1-Pg5TWkCH.mjs} +1 -1
- package/dist/esm/{secp256r1-tIVPNUMT.mjs → secp256r1-VjWddrx1.mjs} +1 -1
- package/dist/esm/{secure-storage-BT8ZocZk.d.mts → secure-storage-WrSCAIOu.d.mts} +1 -1
- package/dist/esm/{service-Rz5iSVL2.mjs → service-70iIQ-wc.mjs} +1 -1
- package/dist/esm/{storage-BRIn6pWr.d.mts → storage-C_8llI0r.d.mts} +22 -11
- package/dist/esm/storage-D1bEi2b7.mjs +1 -0
- package/dist/esm/transactions/index.d.mts +1 -1
- package/dist/esm/transactions/index.mjs +1 -1
- package/dist/esm/{transactions-Cpkdf1BJ.mjs → transactions-_w64QTEl.mjs} +1 -1
- package/dist/esm/{util-Bwj83MFX.mjs → util-D-bijnWs.mjs} +1 -1
- package/dist/esm/utils/index.d.mts +2 -2
- package/dist/esm/utils/index.mjs +1 -1
- package/dist/esm/{utils-CoXIRMWK.mjs → utils-CtyqDDA5.mjs} +1 -1
- package/dist/esm/verify/index.d.mts +1 -1
- package/dist/esm/verify/index.mjs +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/common.mjs +1 -1
- package/dist/esm/w/index.d.mts +5 -5
- package/dist/esm/w/index.mjs +1 -1
- package/dist/esm/w/local/account.d.mts +2 -2
- package/dist/esm/w/local/account.mjs +1 -1
- package/dist/esm/w/local/cache.d.mts +2 -2
- package/dist/esm/w/local/cache.mjs +1 -1
- package/dist/esm/w/local/config.mjs +1 -1
- package/dist/esm/w/local/evm/networks.mjs +1 -1
- package/dist/esm/w/local/evm-account.d.mts +1 -1
- package/dist/esm/w/local/evm-account.mjs +1 -1
- package/dist/esm/w/local/index.d.mts +5 -5
- package/dist/esm/w/local/index.mjs +1 -1
- package/dist/esm/w/local/local.mjs +1 -1
- package/dist/esm/w/local/secure-storage.d.mts +1 -1
- package/dist/esm/w/local/secure-storage.mjs +1 -1
- package/dist/esm/w/local/storage.d.mts +2 -2
- package/dist/esm/w/local/storage.mjs +1 -1
- package/dist/esm/w/local/token.d.mts +1 -1
- package/dist/esm/w/local/token.mjs +1 -1
- package/dist/esm/w/local/wip.mjs +1 -1
- package/dist/esm/w/messenger/index.d.mts +1 -1
- package/dist/esm/w/messenger/index.mjs +1 -1
- package/dist/esm/w/messenger/messenger-api.d.mts +1 -1
- package/dist/esm/w/messenger/messenger-api.mjs +1 -1
- package/dist/esm/w/messenger/messenger.d.mts +1 -1
- package/dist/esm/w/messenger/messenger.mjs +1 -1
- package/dist/esm/w/messenger/reply.d.mts +1 -1
- package/dist/esm/w/messenger/storage.d.mts +1 -1
- package/dist/esm/w/messenger/types.d.mts +1 -1
- package/dist/esm/w/query/index.d.mts +2 -2
- package/dist/esm/w/query/index.mjs +1 -1
- package/dist/esm/w/query/object.d.mts +2 -2
- package/dist/esm/w/query/object.mjs +1 -1
- package/dist/esm/{w-CRLsrxnb.mjs → w-D7QARdJU.mjs} +1 -1
- package/dist/esm/{wow-types-DcqbnAaK.mjs → wow-types-DctQuD2J.mjs} +1 -1
- package/package.json +1 -1
- package/dist/esm/cache-D81EHaqu.d.mts +0 -65
- package/dist/esm/messenger-B-CSCV8C.mjs +0 -1
- package/dist/esm/object-CJHJxXlc.mjs +0 -1
- package/dist/esm/storage-j7eJYpqQ.mjs +0 -1
|
@@ -1 +1 @@
|
|
|
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{A as a0h,D as a0i,E as a0j,M as a0k,T as a0l,_ as a0m,b as a0n,j as a0o,m as a0p,p as a0q,v as a0r,w as a0s,x as a0t,y as a0u}from'./utils-CoXIRMWK.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(a0k(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'])!==a0o)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':a0o}):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':a0h,'initialSharedVersion':0x1,'mutable':d}));return b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0h,'initialSharedVersion':0x1}});},b['clock']=()=>b(Inputs['SharedObjectRef']({'objectId':a0p,'initialSharedVersion':0x1,'mutable':![]})),b['random']=()=>b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0j,'mutable':![]}}),b['denyList']=c=>{return b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0m,'mutable':c?.['mutable']}});},b['registrar']=c=>{return b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0i,'mutable':c?.['mutable']}});},b['mutRegistrar']=()=>{return b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0i,'mutable':!![]}});},b['mutObjectLinkerCore']=()=>{return b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0s,'mutable':!![]}});},b['mutObjectLinkerTx']=()=>{return b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0l,'mutable':!![]}});},b['mutEntityContact']=()=>{return b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0r,'mutable':!![]}});},b['entity']=c=>{return b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0u,'mutable':c?.['mutable']}});},b['mutEntity']=()=>{return b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0u,'mutable':!![]}});},b['entityPermission']=c=>{return b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0t,'mutable':c?.['mutable']}});},b['mutEntityPermission']=()=>{return b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0t,'mutable':!![]}});},b['mutEntityOrder']=()=>{return b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0n,'mutable':!![]}});},b['option']=({type:c,value:d})=>e=>e['moveCall']({'typeArguments':[c],'target':a0q+'::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
|
+
import{c as a0a,l as a0b,o as a0c,u as a0d}from'./wow-types-DctQuD2J.mjs';import{o as a0e,s as a0f,u as a0g}from'./bcs-Cjvfeyqf.mjs';import{C as a0h,D as a0i,E as a0j,M as a0k,N as a0l,O as a0m,P as a0n,S as a0o,b as a0p,g as a0q,h as a0r,k as a0s,x as a0t,y as a0u}from'./utils-CtyqDDA5.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(a0c)),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(a0n(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=>a0d(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=>a0d(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(a0a(r['FundsWithdrawal']['typeArg']['Balance'])!==a0l)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':a0l}):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=>a0d(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':a0k,'initialSharedVersion':0x1,'mutable':d}));return b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0k,'initialSharedVersion':0x1}});},b['clock']=()=>b(Inputs['SharedObjectRef']({'objectId':a0q,'initialSharedVersion':0x1,'mutable':![]})),b['random']=()=>b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0m,'mutable':![]}}),b['denyList']=c=>{return b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0u,'mutable':c?.['mutable']}});},b['registrar']=c=>{return b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0s,'mutable':c?.['mutable']}});},b['mutRegistrar']=()=>{return b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0s,'mutable':!![]}});},b['mutObjectLinkerCore']=()=>{return b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0j,'mutable':!![]}});},b['mutObjectLinkerTx']=()=>{return b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0i,'mutable':!![]}});},b['mutEntityContact']=()=>{return b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0p,'mutable':!![]}});},b['entity']=c=>{return b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0t,'mutable':c?.['mutable']}});},b['mutEntity']=()=>{return b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0t,'mutable':!![]}});},b['entityPermission']=c=>{return b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0h,'mutable':c?.['mutable']}});},b['mutEntityPermission']=()=>{return b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0h,'mutable':!![]}});},b['mutEntityOrder']=()=>{return b({'$kind':'UnresolvedObject','UnresolvedObject':{'objectId':a0o,'mutable':!![]}});},b['option']=({type:c,value:d})=>e=>e['moveCall']({'typeArguments':[c],'target':a0r+'::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=a0a('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:a0a(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:a0a(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 +1 @@
|
|
|
1
|
-
import{o as a1a}from'./exception-Xd2RFs2i.mjs';import{G as a1b,W as a1c,gt as a1d,h as a1e,q as a1f,y as a1g}from'./common-
|
|
1
|
+
import{o as a1a}from'./exception-Xd2RFs2i.mjs';import{G as a1b,W as a1c,gt as a1d,h as a1e,q as a1f,y as a1g}from'./common-BXJtePqk.mjs';import{Dt as a1h}from'./object-RbNBCbWH.mjs';import{tt as a1i}from'./passport-pfzFWOak.mjs';function arbFn(a){return'0x2::arb::'+a;}function create(a,b,c){a1h([b]);if(!a1e(c))a1a('invalid\x20parameter','Arb\x20type\x20'+c+'\x20is\x20not\x20valid');return a['moveCall']({'target':arbFn('create'),'arguments':[a1d(a,b)],'typeArguments':[c]});}function proposition_change(a,b,c,d,e,f,g){a1h([b,d]);if(!a1e(c))a1a('invalid\x20parameter','Arb\x20type\x20'+c+'\x20is\x20not\x20valid');if(!a1c(e,h=>{if(!a1f(h))a1a('invalid\x20parameter','Proposition\x20name\x20'+h+'\x20exceeds\x20maximum\x20length\x20256');return!![];}))a1a('invalid\x20parameter','Proposition\x20is\x20not\x20valid');if(e['length']>a1i)a1a('invalid\x20parameter','Proposition\x20count\x20exceeds\x20maximum\x20count\x20'+a1i);if(typeof f==='string'&&!a1b(f))a1a('invalid\x20description','Description\x20exceeds\x20maximum\x20length\x20'+a1g);a['moveCall']({'target':arbFn('proposition_change'),'arguments':[a1d(a,b),a1d(a,d),a['pure']['vector']('string',e),a['pure']['option']('string',f??null),a['pure']['bool'](g)],'typeArguments':[c]});}function description_change(a,b,c,d,e,f){a1h([b,d]);if(!a1e(c))a1a('invalid\x20parameter','Arb\x20type\x20'+c+'\x20is\x20not\x20valid');if(typeof e==='string'&&!a1b(e))a1a('invalid\x20description','Description\x20exceeds\x20maximum\x20length\x20'+a1g);a['moveCall']({'target':arbFn('description_change'),'arguments':[a1d(a,b),a1d(a,d),a['pure']['string'](e),a['pure']['bool'](f)],'typeArguments':[c]});}function principal_confirm(a,b,c,d,e){a1h([b,d]);if(!a1e(c))a1a('invalid\x20parameter','Arb\x20type\x20'+c+'\x20is\x20not\x20valid');a['moveCall']({'target':arbFn('principal_confirm'),'arguments':[a1d(a,b),a1d(a,d),a['pure']['bool'](e)],'typeArguments':[c]});}function objection(a,b,c,d,e){a1h([b,d]);if(!a1e(c))a1a('invalid\x20parameter','Arb\x20type\x20'+c+'\x20is\x20not\x20valid');if(typeof e==='string'&&!a1b(e))a1a('invalid\x20description','Objection\x20exceeds\x20maximum\x20length\x20'+a1g);a['moveCall']({'target':arbFn('objection'),'arguments':[a1d(a,b),a1d(a,d),a['pure']['string'](e)],'typeArguments':[c]});}export{proposition_change as a,principal_confirm as i,description_change as n,objection as r,create as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as a2a}from'./wow-types-DcqbnAaK.mjs';import{a as a2b,t as a2c}from'./client-oE69u-rK.mjs';import{t as a2d}from'./Transaction-BlZi1w6F.mjs';import{o as a2e}from'./exception-Xd2RFs2i.mjs';import{n as a2f}from'./network-y8yMus5q.mjs';import{$ as a2g,G as a2h,J as a2i,gt as a2j,lt as a2k,mt as a2l,vt as a2m,y as a2n}from'./common-Guc0E9Tj.mjs';import{Cache}from'./w/local/cache.mjs';import{Config}from'./w/local/config.mjs';import{LocalMark}from'./w/local/local.mjs';import{Account}from'./w/local/account.mjs';import{Et as a2o,L as a2p,Tt as a2q,V as a2r,X as a2s,at as a2t,ct as a2u,st as a2v}from'./object-CJHJxXlc.mjs';import{at as a2w,c as a2x,i as a2y,l as a2z,mt as a2A,n as a2B,o as a2C,r as a2D,rt as a2E,t as a2F}from'./passport-B5g5Rv9_.mjs';import a2G from'lodash';function resourceFn(a){return'0x2::resource::'+a;}function addObjectTags(a,b,c){if(c['tags']['length']>a2A)a2e('resource\x20tag\x20count\x20exceeded','Tags\x20count\x20exceeds\x20maximum\x20limit\x20'+a2A);c['tags']['forEach'](f=>{if(!a2i(f))a2e('invalid\x20name','Tag\x20name\x20exceeds\x20maximum\x20length\x2064');});if(c['nick']!=null&&typeof c['nick']==='string'){if(!a2i(c['nick']))a2e('invalid\x20name','Nick\x20name\x20exceeds\x20maximum\x20length\x2064');}const d=a['pure']['option']('string',c['nick']??null),e=a['pure']['vector']('string',c['tags']);a['moveCall']({'target':resourceFn('add_object_tags'),'arguments':[a2j(a,b),a2l(a,c['address']),d,e]});}function removeObjectTags(a,b,c){if(typeof c['nick']==='string'&&!a2i(c['nick']))a2e('invalid\x20name','Nick\x20name\x20exceeds\x20maximum\x20length\x2064');const d=a['pure']['option']('string',c['nick']??null),e=a['pure']['vector']('string',c['tags']);a['moveCall']({'target':resourceFn('remove_object_tags'),'arguments':[a2j(a,b),a2l(a,c['address']),d,e]});}function removeObject(a,b,c){a['moveCall']({'target':resourceFn('remove_object'),'arguments':[a2j(a,b),a2l(a,c)]});}function create(a,b){a['moveCall']({'target':resourceFn('create'),'arguments':[a2j(a,b)]});}const MAX_RECORD_COUNT=a2E;function registrarFn(a){return'0x2::registrar::'+a;}function register(a,b){return b=b&&a2a(b)?b:void 0x0,a['moveCall']({'target':registrarFn('entity_register'),'arguments':[a['object']['mutEntity'],a['pure']['option']('address',b??null),a['object']['clock']]});}function register_with_resource_forced(a,b){return b=b&&a2a(b)?b:null,a['moveCall']({'target':registrarFn('entity_register_with_resource_forced'),'arguments':[a['object']['mutEntity'],a['pure']['option']('address',b??null),a['object']['clock']]});}function resource_destroy(a,b){a2q([b]),a['moveCall']({'target':registrarFn('entity_resource_destroy'),'arguments':[a['object']['mutEntity'],a2j(a,b)]});}function resource_use(a,b,c){a2q([b]),c=c&&a2a(c)?c:null,a['moveCall']({'target':registrarFn('entity_resource_use'),'arguments':[a['object']['mutEntity'],a2j(a,b),a['pure']['option']('address',c??null),a['object']['clock']]});}function resource_transfer(a,b,c){a2q([b,c]),a['moveCall']({'target':registrarFn('entity_resource_transfer'),'arguments':[a['object']['mutEntity'],a2j(a,b),a2l(a,c)]});}function like(a,b,c,d){return a2q([b,c]),d=d&&a2a(d)?d:void 0x0,a['moveCall']({'target':registrarFn('like'),'arguments':[a['object']['mutRegistrar'],a['object']['mutEntity'],a2j(a,b),a2l(a,c),a['pure']['option']('address',d??null),a['object']['clock']]});}function dislike(a,b,c,d){return a2q([b,c]),d=d&&a2a(d)?d:void 0x0,a['moveCall']({'target':registrarFn('dislike'),'arguments':[a['object']['mutRegistrar'],a['object']['mutEntity'],a2j(a,b),a2l(a,c),a['pure']['option']('address',d??null),a['object']['clock']]});}function favor(a,b,c,d){return a2q([b,c]),d=d&&a2a(d)?d:void 0x0,a['moveCall']({'target':registrarFn('favor'),'arguments':[a['object']['mutRegistrar'],a['object']['mutEntity'],a2j(a,b),a2l(a,c),a['pure']['option']('address',d??null),a['object']['clock']]});}async function record(a,b){if(typeof b['name']==='string'&&!a2i(b['name']))a2e('invalid\x20name','name\x20'+b['name']+'\x20is\x20exceeded\x20max\x20length\x2064');const c=await a2o(a2k(b['value_type']),b['value']);if(c['length']>a2w)a2e('invalid\x20parameter','value_bytes\x20length\x20'+c['length']+'\x20is\x20greater\x20than\x20max\x20'+a2w);return a['moveCall']({'target':registrarFn('record'),'arguments':[a2m(a,b['name']),a['pure']['vector']('u8',Array['from'](c))]});}async function description_set(a,b,c){if(!a2h(b))a2e('invalid\x20parameter','description\x20length\x20'+b['length']+'\x20is\x20greater\x20than\x20max\x20'+a2n);c=c&&a2a(c)?c:null,a['moveCall']({'target':registrarFn('entity_description_set'),'arguments':[a['object']['mutEntity'],a['pure']['string'](b),a['pure']['option']('address',c??null),a['object']['clock']]});}async function info_add(a,b,c,d){d=d&&a2a(d)?d:null;const e=b['map'](g=>record(a,g)),f=await Promise['all'](e);if(f['length']>MAX_RECORD_COUNT)a2e('invalid\x20parameter','records\x20count\x20'+f['length']+'\x20is\x20greater\x20than\x20max\x20'+MAX_RECORD_COUNT);if(c&&!a2h(c))a2e('invalid\x20parameter','description\x20length\x20'+c['length']+'\x20is\x20greater\x20than\x20max\x20'+a2n);a['moveCall']({'target':registrarFn('entity_info_add'),'arguments':[a['object']['mutEntity'],a['pure']['option']('string',c??null),a['makeMoveVec']({'elements':f,'type':'0x2::registrar::Record'}),a['pure']['option']('address',d??null),a['object']['clock']]});}function info_remove(a,b){if(b['length']===0x0)return;if(b['length']>MAX_RECORD_COUNT)a2e('invalid\x20parameter','recordNames\x20count\x20'+b['length']+'\x20is\x20greater\x20than\x20max\x20'+MAX_RECORD_COUNT);a['moveCall']({'target':registrarFn('entity_info_remove'),'arguments':[a['object']['mutEntity'],a['pure']['vector']('string',b)]});}function info_clear(a){a['moveCall']({'target':registrarFn('entity_info_clear'),'arguments':[a['object']['mutEntity']]});}function isCallResultSubmission(a){return a?.['submission']&&a?.['submission']?.['length']>0x0;}function ResponseData(a){if(a?.['digest']){const b=[];return a?.['objectChanges']?.['forEach'](c=>{const d=c?.['objectType'],e=a2t(d);if(e)b['push']({'type':e,'type_raw':d,'object':c?.['objectId'],'version':c?.['version'],'owner':c?.['owner'],'change':c['type']});}),b;}return[];}var CallBase=class{constructor(){this['traceMarkNew']=new Map(),this['content']=void 0x0,this['env_ready']=![],this['env_prepare_promise']=null;}async['operate'](a,b,c,d){}async['prepare'](a){await this['env_prepare'](a);}async['call'](a){}async['env_prepare'](a){if(this['env_ready'])return;if(this['env_prepare_promise'])return this['env_prepare_promise'];return this['env_prepare_promise']=a2u(a)['then'](()=>{this['env_ready']=!![],this['env_prepare_promise']=null;}),this['env_prepare_promise'];}async['call_with_submission'](a,b,c){if(b['guard']['length']>0x0)return await this['prepare'](a),await this['check_passport'](a,b,c);}async['check_guard_and_call'](a,b){a['permission_guard']?.['forEach'](c=>{if(!a2a(c))a2e('invalid\x20address','env\x20permission_guard:\x20'+c);b['push'](c);});if(b['length']>0x0){const c=await a2D(a,b);if(c['submission']['length']>0x0)return{'type':'submission','guard':c['guard'],'submission':c['submission']};return await this['check_passport'](a,c);}else return await this['exec'](a);}async['check_permission_and_call'](a,b,c,d,e,f){let g=![];const h=await a2s({'objects':[b],'no_cache':a['no_cache'],'network':a['network']});if(!h['objects']?.[0x0]||h['objects']?.[0x0]['type']!=='Permission')a2e('no\x20permission','permission\x20object\x20not\x20found');const i=h['objects']?.[0x0],j=await a2v(a);g=i['admin']['includes'](j);if(e&&i['builder']!==j)a2e('no\x20permission',j+'\x20owner\x20permission\x20required');if(f&&!g)a2e('no\x20permission',j+'\x20admin\x20permission\x20required');a['permission_guard']?.['forEach'](l=>{if(!a2a(l))a2e('invalid\x20address','env\x20permission_guard\x20'+l);d['push'](l);});let k;if(d['length']>0x0)k=await a2D(a,d);if(c['length']>0x0&&!g){const l=[j,...k?.['guard']['filter'](q=>q['impack'])['map'](q=>q['object'])??[]]['map'](async q=>{const r=await a2r({'parent':b,'address':q,'no_cache':a['no_cache'],'network':a['network']})['catch'](()=>void 0x0);if(r&&r['type']==='TableItem_PermissionPerm')return{'address':q,'permissions':r['perm']};return{'address':q,'permissions':[]};}),m=await Promise['all'](l),n=new Set();m['forEach'](q=>{q['permissions']['forEach'](r=>n['add'](r));});const o=c['filter'](q=>!n['has'](q));if(o['length']>0x0)a2e('no\x20permission','Missing\x20permissions\x20'+o['join'](',\x20')+'\x20in\x20'+b);}if(k){if(k['submission']['length']>0x0)return{'type':'submission','guard':k['guard'],'submission':k['submission']};return await this['check_passport'](a,k);}else return await this['exec'](a);}async['check_passport'](a,b,c){await a2x(b);const d=new a2d(),e=a2C(d);for(const f of b['guard'])await a2y(d,e,f['object'],b['submission']['find'](g=>g['guard']===f['object'])?.['submission']??[],f['impack']);a2z(d,e),await this['operate'](a,d,e,b['submission']);if(c)a2B(d,e);else a2F(d,e);return await this['sign_and_commit'](a,d);}async['exec'](a){const b=new a2d();return await this['operate'](a,b),await this['sign_and_commit'](a,b);}async['new_with_mark'](a,b,c,d,f,g=['launch']){const h=f?.['tags']?a2G['uniq']([...f['tags'],...g]):a2G['uniq']([...g]);f&&(f['tags']=h,this['traceMarkNew']['set'](c,f));if(!f?.['onChain'])return;if(!this['newResource']){let i;try{i=await a2p({'address':await a2v(a),'no_cache':a['no_cache'],'network':a['network']});}catch(j){}if(i&&i['type']!=='TableItem_EntityRegistrar')a2e('no\x20permission','no\x20entity\x20registrar\x20found');if(i?.['mark_object']){addObjectTags(b,i['mark_object'],{'address':d,'tags':h});return;}else this['newResource']=register_with_resource_forced(b,typeof a['referrer']==='string'?a['referrer']:null);}if(this['newResource'])addObjectTags(b,this['newResource'],{'address':d,'tags':h});}async['update_content'](a,b,c){if(this['content']||!c)return;const d=await a2s({'objects':[c],'no_cache':a['no_cache'],'network':a['network']});if(!d['objects']||d?.['objects']?.['length']!==0x1||d?.['objects'][0x0]?.['type']!==b)a2e('fail','Fetch\x20'+b+'\x20object\x20'+c+'\x20failed');this['content']=d?.['objects'][0x0];}async['query_entity_registered'](a,b,c){return(await Cache['read'](['entity',a['network']??'',b],async()=>{const d=await a2p({'address':b,'no_cache':!![],'network':a['network']})['catch'](()=>void 0x0);return{'expire':Cache['DefaultExpireTime'](),'data':d!==void 0x0};},c))?.['data']===!![];}async['sign_and_commit'](a,b){let c=![],d;if(this['newResource'])create(b,this['newResource']),this['newResource']=void 0x0;else!a['no_auto_register']&&(d=await a2v(a),!await this['query_entity_registered'](a,d)&&(register(b,a['referrer']??void 0x0),c=!![]));if(a['dry_run'])return await this['dry_run_simulate'](a,b);let e=await Account['Instance']()['sign_and_commit'](b,await a2v(a),a['network']);if(!e)a2e('fail','sign\x20and\x20commit\x20failed');if(e?.['digest']&&!e?.['objectChanges']){const g=await Config['Instance']()['network_get'](a['network']);e=await new a2c({'url':a2f(g),'network':g})['getTransactionBlock']({'digest':e?.['digest'],'options':{'showObjectChanges':!![]}});}const f=ResponseData(e);for(let h=0x0;h<f['length'];++h){const j=f[h];if(j['type']&&j['change']==='created'){const k=this['traceMarkNew']['get'](j['type']);if(k)await LocalMark['Instance']()['put']([{'name':k['name']?{'value':k['name'],'replaceExistName':k['replaceExistName']}:void 0x0,'address':j['object'],'tags':k?.['tags']?[...k['tags'],j['type']]:[j['type']]}]);}}if(a['network']){const l=f['filter'](m=>m['object']&&(m['change']==='created'||m['change']==='mutated'))['map'](m=>m['object']);if(l['length']>0x0){const m='object:'+a['network'];await Cache['del_many'](m,l);}for(const n of['sharedobject','servicelist','demandlist','arbitlist','event'])await Cache['clearPrefix'](n);a2b(a['network']);}if(c&&d)await this['query_entity_registered'](a,d,!![]);return e;}async['dry_run_simulate'](a,b){const c=await a2v(a),d=await Config['Instance']()['network_get'](a['network']),e=new a2c({'url':a2f(d),'network':d});b['setSender'](c);const f=await e['core']['simulateTransaction']({'transaction':b,'include':{'effects':!![],'events':!![],'objectTypes':!![]}}),g=f?.['Transaction']??f?.['FailedTransaction'],h=g?.['effects']??void 0x0,i=g?.['events']??[],j=g?.['objectTypes']??{},k=h?.['status'],l=k?k['success']===!![]||k['status']==='success'?{'status':'success','error':null}:{'status':'failure','error':typeof k['error']==='string'?k['error']:k['error']?.['message']??String(k['error']??'unknown\x20error')}:void 0x0,m=[];return h?.['changedObjects']?.['forEach'](n=>{const o=j[n['objectId']];if(!o)return;const p=changedObjectToLegacyChangeType(n);if(!p)return;m['push']({'type':p,'objectId':n['objectId'],'objectType':o,'version':n['outputVersion']??n['inputVersion'],'owner':ownerToLegacy(n['outputOwner']),'digest':n['outputDigest']??void 0x0,...p==='published'?{'packageId':n['objectId']}:{},...p==='transferred'?{'sender':n['inputOwner']?.['AddressOwner']}:{},...p==='mutated'?{'previousVersion':n['inputVersion']}:{},...p==='wrapped'?{'sender':n['inputOwner']?.['AddressOwner']}:{}});}),{'digest':'dry_run:'+Date['now'](),'effects':h?{...h,'status':l??h['status']}:h,'events':i,'objectChanges':m};}};function changedObjectToLegacyChangeType(a){const {idOperation:b,outputState:c,inputState:d,inputOwner:e,outputOwner:f}=a??{};if(b==='Created'&&c==='PackageWrite')return'published';if(b==='Created'&&c==='ObjectWrite')return'created';if(b==='Deleted')return'deleted';if(b==='None'&&c==='ObjectWrite'&&d==='Exists'){const g=e?.['$kind']==='AddressOwner'?e['AddressOwner']:null,h=f?.['$kind']==='AddressOwner'?f['AddressOwner']:null,i=f?.['$kind']==='ObjectOwner'?f['ObjectOwner']:null;if(g&&i&&i===g)return'wrapped';if(g&&h&&g!==h)return'transferred';return'mutated';}return null;}function ownerToLegacy(a){if(!a)return null;switch(a['$kind']){case'AddressOwner':return{'AddressOwner':a['AddressOwner']};case'ObjectOwner':return{'ObjectOwner':a['ObjectOwner']};case'Shared':return{'Shared':{'initialSharedVersion':a['Shared']?.['initialSharedVersion']}};case'Immutable':return'Immutable';default:return a;}}async function getCoinParam(a,b,c,d){let e;if('balance'in c&&c['balance']!=null){if(!a2g(c['balance']))a2e('invalid\x20u64','Total\x20pay\x20balance\x20'+c['balance']+'\x20is\x20not\x20valid');e=await Account['Instance']()['get_coin_object'](b,c['balance'],d,await a2v(a),a['network']);}else{if('coin'in c&&c['coin']!=null){if(typeof c['coin']==='string')e=await LocalMark['Instance']()['get_address'](c['coin']);else e=c['coin'];}}if(!e)a2e('invalid\x20parameter','Total\x20pay\x20'+JSON['stringify'](c)+'\x20is\x20allocated\x20failed');return a2j(b,e);}export{create as _,description_set as a,info_add as c,like as d,register_with_resource_forced as f,addObjectTags as g,resource_use as h,isCallResultSubmission as i,info_clear as l,resource_transfer as m,ResponseData as n,dislike as o,resource_destroy as p,getCoinParam as r,favor as s,CallBase as t,info_remove as u,removeObject as v,removeObjectTags as y};
|
|
1
|
+
import{o as a2a}from'./wow-types-DctQuD2J.mjs';import{a as a2b,t as a2c}from'./client-qwFkeNkI.mjs';import{t as a2d}from'./Transaction-D1AlW3t_.mjs';import{o as a2e}from'./exception-Xd2RFs2i.mjs';import{n as a2f}from'./network-y8yMus5q.mjs';import{$ as a2g,G as a2h,J as a2i,gt as a2j,lt as a2k,mt as a2l,vt as a2m,y as a2n}from'./common-BXJtePqk.mjs';import{Cache}from'./w/local/cache.mjs';import{Config}from'./w/local/config.mjs';import{LocalMark}from'./w/local/local.mjs';import{Account}from'./w/local/account.mjs';import{Dt as a2o,L as a2p,Ot as a2q,Q as a2r,V as a2s,lt as a2t,st as a2u,ut as a2v}from'./object-RbNBCbWH.mjs';import{at as a2w,c as a2x,i as a2y,l as a2z,mt as a2A,n as a2B,o as a2C,r as a2D,rt as a2E,t as a2F}from'./passport-pfzFWOak.mjs';import a2G from'lodash';function resourceFn(a){return'0x2::resource::'+a;}function addObjectTags(a,b,c){if(c['tags']['length']>a2A)a2e('resource\x20tag\x20count\x20exceeded','Tags\x20count\x20exceeds\x20maximum\x20limit\x20'+a2A);c['tags']['forEach'](f=>{if(!a2i(f))a2e('invalid\x20name','Tag\x20name\x20exceeds\x20maximum\x20length\x2064');});if(c['nick']!=null&&typeof c['nick']==='string'){if(!a2i(c['nick']))a2e('invalid\x20name','Nick\x20name\x20exceeds\x20maximum\x20length\x2064');}const d=a['pure']['option']('string',c['nick']??null),e=a['pure']['vector']('string',c['tags']);a['moveCall']({'target':resourceFn('add_object_tags'),'arguments':[a2j(a,b),a2l(a,c['address']),d,e]});}function removeObjectTags(a,b,c){if(typeof c['nick']==='string'&&!a2i(c['nick']))a2e('invalid\x20name','Nick\x20name\x20exceeds\x20maximum\x20length\x2064');const d=a['pure']['option']('string',c['nick']??null),e=a['pure']['vector']('string',c['tags']);a['moveCall']({'target':resourceFn('remove_object_tags'),'arguments':[a2j(a,b),a2l(a,c['address']),d,e]});}function removeObject(a,b,c){a['moveCall']({'target':resourceFn('remove_object'),'arguments':[a2j(a,b),a2l(a,c)]});}function create(a,b){a['moveCall']({'target':resourceFn('create'),'arguments':[a2j(a,b)]});}const MAX_RECORD_COUNT=a2E;function registrarFn(a){return'0x2::registrar::'+a;}function register(a,b){return b=b&&a2a(b)?b:void 0x0,a['moveCall']({'target':registrarFn('entity_register'),'arguments':[a['object']['mutEntity'],a['pure']['option']('address',b??null),a['object']['clock']]});}function register_with_resource_forced(a,b){return b=b&&a2a(b)?b:null,a['moveCall']({'target':registrarFn('entity_register_with_resource_forced'),'arguments':[a['object']['mutEntity'],a['pure']['option']('address',b??null),a['object']['clock']]});}function resource_destroy(a,b){a2o([b]),a['moveCall']({'target':registrarFn('entity_resource_destroy'),'arguments':[a['object']['mutEntity'],a2j(a,b)]});}function resource_use(a,b,c){a2o([b]),c=c&&a2a(c)?c:null,a['moveCall']({'target':registrarFn('entity_resource_use'),'arguments':[a['object']['mutEntity'],a2j(a,b),a['pure']['option']('address',c??null),a['object']['clock']]});}function resource_transfer(a,b,c){a2o([b,c]),a['moveCall']({'target':registrarFn('entity_resource_transfer'),'arguments':[a['object']['mutEntity'],a2j(a,b),a2l(a,c)]});}function like(a,b,c,d){return a2o([b,c]),d=d&&a2a(d)?d:void 0x0,a['moveCall']({'target':registrarFn('like'),'arguments':[a['object']['mutRegistrar'],a['object']['mutEntity'],a2j(a,b),a2l(a,c),a['pure']['option']('address',d??null),a['object']['clock']]});}function dislike(a,b,c,d){return a2o([b,c]),d=d&&a2a(d)?d:void 0x0,a['moveCall']({'target':registrarFn('dislike'),'arguments':[a['object']['mutRegistrar'],a['object']['mutEntity'],a2j(a,b),a2l(a,c),a['pure']['option']('address',d??null),a['object']['clock']]});}function favor(a,b,c,d){return a2o([b,c]),d=d&&a2a(d)?d:void 0x0,a['moveCall']({'target':registrarFn('favor'),'arguments':[a['object']['mutRegistrar'],a['object']['mutEntity'],a2j(a,b),a2l(a,c),a['pure']['option']('address',d??null),a['object']['clock']]});}async function record(a,b){if(typeof b['name']==='string'&&!a2i(b['name']))a2e('invalid\x20name','name\x20'+b['name']+'\x20is\x20exceeded\x20max\x20length\x2064');const c=await a2q(a2k(b['value_type']),b['value']);if(c['length']>a2w)a2e('invalid\x20parameter','value_bytes\x20length\x20'+c['length']+'\x20is\x20greater\x20than\x20max\x20'+a2w);return a['moveCall']({'target':registrarFn('record'),'arguments':[a2m(a,b['name']),a['pure']['vector']('u8',Array['from'](c))]});}async function description_set(a,b,c){if(!a2h(b))a2e('invalid\x20parameter','description\x20length\x20'+b['length']+'\x20is\x20greater\x20than\x20max\x20'+a2n);c=c&&a2a(c)?c:null,a['moveCall']({'target':registrarFn('entity_description_set'),'arguments':[a['object']['mutEntity'],a['pure']['string'](b),a['pure']['option']('address',c??null),a['object']['clock']]});}async function info_add(a,b,c,d){d=d&&a2a(d)?d:null;const e=b['map'](g=>record(a,g)),f=await Promise['all'](e);if(f['length']>MAX_RECORD_COUNT)a2e('invalid\x20parameter','records\x20count\x20'+f['length']+'\x20is\x20greater\x20than\x20max\x20'+MAX_RECORD_COUNT);if(c&&!a2h(c))a2e('invalid\x20parameter','description\x20length\x20'+c['length']+'\x20is\x20greater\x20than\x20max\x20'+a2n);a['moveCall']({'target':registrarFn('entity_info_add'),'arguments':[a['object']['mutEntity'],a['pure']['option']('string',c??null),a['makeMoveVec']({'elements':f,'type':'0x2::registrar::Record'}),a['pure']['option']('address',d??null),a['object']['clock']]});}function info_remove(a,b){if(b['length']===0x0)return;if(b['length']>MAX_RECORD_COUNT)a2e('invalid\x20parameter','recordNames\x20count\x20'+b['length']+'\x20is\x20greater\x20than\x20max\x20'+MAX_RECORD_COUNT);a['moveCall']({'target':registrarFn('entity_info_remove'),'arguments':[a['object']['mutEntity'],a['pure']['vector']('string',b)]});}function info_clear(a){a['moveCall']({'target':registrarFn('entity_info_clear'),'arguments':[a['object']['mutEntity']]});}function isCallResultSubmission(a){return a?.['submission']&&a?.['submission']?.['length']>0x0;}function ResponseData(a){if(a?.['digest']){const b=[];return a?.['objectChanges']?.['forEach'](c=>{const d=c?.['objectType'],e=a2u(d);if(e)b['push']({'type':e,'type_raw':d,'object':c?.['objectId'],'version':c?.['version'],'owner':c?.['owner'],'change':c['type']});}),b;}return[];}var CallBase=class{constructor(){this['traceMarkNew']=new Map(),this['content']=void 0x0,this['env_ready']=![],this['env_prepare_promise']=null;}async['operate'](a,b,c,d){}async['prepare'](a){await this['env_prepare'](a);}async['call'](a){}async['env_prepare'](a){if(this['env_ready'])return;if(this['env_prepare_promise'])return this['env_prepare_promise'];return this['env_prepare_promise']=a2v(a)['then'](()=>{this['env_ready']=!![],this['env_prepare_promise']=null;}),this['env_prepare_promise'];}async['call_with_submission'](a,b,c){if(b['guard']['length']>0x0)return await this['prepare'](a),await this['check_passport'](a,b,c);}async['check_guard_and_call'](a,b){a['permission_guard']?.['forEach'](c=>{if(!a2a(c))a2e('invalid\x20address','env\x20permission_guard:\x20'+c);b['push'](c);});if(b['length']>0x0){const c=await a2D(a,b);if(c['submission']['length']>0x0)return{'type':'submission','guard':c['guard'],'submission':c['submission']};return await this['check_passport'](a,c);}else return await this['exec'](a);}async['check_permission_and_call'](a,b,c,d,e,f){let g=![];const h=await a2r({'objects':[b],'no_cache':a['no_cache'],'network':a['network']});if(!h['objects']?.[0x0]||h['objects']?.[0x0]['type']!=='Permission')a2e('no\x20permission','permission\x20object\x20not\x20found');const i=h['objects']?.[0x0],j=await a2t(a);g=i['admin']['includes'](j);if(e&&i['builder']!==j)a2e('no\x20permission',j+'\x20owner\x20permission\x20required');if(f&&!g)a2e('no\x20permission',j+'\x20admin\x20permission\x20required');a['permission_guard']?.['forEach'](l=>{if(!a2a(l))a2e('invalid\x20address','env\x20permission_guard\x20'+l);d['push'](l);});let k;if(d['length']>0x0)k=await a2D(a,d);if(c['length']>0x0&&!g){const l=[j,...k?.['guard']['filter'](q=>q['impack'])['map'](q=>q['object'])??[]]['map'](async q=>{const r=await a2s({'parent':b,'address':q,'no_cache':a['no_cache'],'network':a['network']})['catch'](()=>void 0x0);if(r&&r['type']==='TableItem_PermissionPerm')return{'address':q,'permissions':r['perm']};return{'address':q,'permissions':[]};}),m=await Promise['all'](l),n=new Set();m['forEach'](q=>{q['permissions']['forEach'](r=>n['add'](r));});const o=c['filter'](q=>!n['has'](q));if(o['length']>0x0)a2e('no\x20permission','Missing\x20permissions\x20'+o['join'](',\x20')+'\x20in\x20'+b);}if(k){if(k['submission']['length']>0x0)return{'type':'submission','guard':k['guard'],'submission':k['submission']};return await this['check_passport'](a,k);}else return await this['exec'](a);}async['check_passport'](a,b,c){await a2x(b);const d=new a2d(),e=a2C(d);for(const f of b['guard'])await a2y(d,e,f['object'],b['submission']['find'](g=>g['guard']===f['object'])?.['submission']??[],f['impack']);a2z(d,e),await this['operate'](a,d,e,b['submission']);if(c)a2B(d,e);else a2F(d,e);return await this['sign_and_commit'](a,d);}async['exec'](a){const b=new a2d();return await this['operate'](a,b),await this['sign_and_commit'](a,b);}async['new_with_mark'](a,b,c,d,f,g=['launch']){const h=f?.['tags']?a2G['uniq']([...f['tags'],...g]):a2G['uniq']([...g]);f&&(f['tags']=h,this['traceMarkNew']['set'](c,f));if(!f?.['onChain'])return;if(!this['newResource']){let i;try{i=await a2p({'address':await a2t(a),'no_cache':a['no_cache'],'network':a['network']});}catch(j){}if(i&&i['type']!=='TableItem_EntityRegistrar')a2e('no\x20permission','no\x20entity\x20registrar\x20found');if(i?.['mark_object']){addObjectTags(b,i['mark_object'],{'address':d,'tags':h});return;}else this['newResource']=register_with_resource_forced(b,typeof a['referrer']==='string'?a['referrer']:null);}if(this['newResource'])addObjectTags(b,this['newResource'],{'address':d,'tags':h});}async['update_content'](a,b,c){if(this['content']||!c)return;const d=await a2r({'objects':[c],'no_cache':a['no_cache'],'network':a['network']});if(!d['objects']||d?.['objects']?.['length']!==0x1||d?.['objects'][0x0]?.['type']!==b)a2e('fail','Fetch\x20'+b+'\x20object\x20'+c+'\x20failed');this['content']=d?.['objects'][0x0];}async['query_entity_registered'](a,b,c){return(await Cache['read'](['entity',a['network']??'',b],async()=>{const d=await a2p({'address':b,'no_cache':!![],'network':a['network']})['catch'](()=>void 0x0);return{'expire':Cache['DefaultExpireTime'](),'data':d!==void 0x0};},c))?.['data']===!![];}async['sign_and_commit'](a,b){let c=![],d;if(this['newResource'])create(b,this['newResource']),this['newResource']=void 0x0;else!a['no_auto_register']&&(d=await a2t(a),!await this['query_entity_registered'](a,d)&&(register(b,a['referrer']??void 0x0),c=!![]));if(a['dry_run'])return await this['dry_run_simulate'](a,b);let e=await Account['Instance']()['sign_and_commit'](b,await a2t(a),a['network']);if(!e)a2e('fail','sign\x20and\x20commit\x20failed');if(e?.['digest']&&!e?.['objectChanges']){const g=await Config['Instance']()['network_get'](a['network']);e=await new a2c({'url':a2f(g),'network':g})['getTransactionBlock']({'digest':e?.['digest'],'options':{'showObjectChanges':!![]}});}const f=ResponseData(e);for(let h=0x0;h<f['length'];++h){const j=f[h];if(j['type']&&j['change']==='created'){const k=this['traceMarkNew']['get'](j['type']);if(k)await LocalMark['Instance']()['put']([{'name':k['name']?{'value':k['name'],'replaceExistName':k['replaceExistName']}:void 0x0,'address':j['object'],'tags':k?.['tags']?[...k['tags'],j['type']]:[j['type']]}]);}}if(a['network']){const l=f['filter'](m=>m['object']&&(m['change']==='created'||m['change']==='mutated'||m['change']==='deleted'||m['change']==='wrapped'||m['change']==='transferred'))['map'](m=>m['object']);if(l['length']>0x0){const m='objectv2:'+a['network'];await Cache['del_many'](m,l);}for(const n of['table','sharedobject','servicelist','demandlist','arbitlist','event'])await Cache['clearPrefix'](n);a2b(a['network']);}if(c&&d)await this['query_entity_registered'](a,d,!![]);return e;}async['dry_run_simulate'](a,b){const c=await a2t(a),d=await Config['Instance']()['network_get'](a['network']),e=new a2c({'url':a2f(d),'network':d});b['setSender'](c);const f=await e['core']['simulateTransaction']({'transaction':b,'include':{'effects':!![],'events':!![],'objectTypes':!![]}}),g=f?.['Transaction']??f?.['FailedTransaction'],h=g?.['effects']??void 0x0,i=g?.['events']??[],j=g?.['objectTypes']??{},k=h?.['status'],l=k?k['success']===!![]||k['status']==='success'?{'status':'success','error':null}:{'status':'failure','error':typeof k['error']==='string'?k['error']:k['error']?.['message']??String(k['error']??'unknown\x20error')}:void 0x0,m=[];return h?.['changedObjects']?.['forEach'](n=>{const o=j[n['objectId']];if(!o)return;const p=changedObjectToLegacyChangeType(n);if(!p)return;m['push']({'type':p,'objectId':n['objectId'],'objectType':o,'version':n['outputVersion']??n['inputVersion'],'owner':ownerToLegacy(n['outputOwner']),'digest':n['outputDigest']??void 0x0,...p==='published'?{'packageId':n['objectId']}:{},...p==='transferred'?{'sender':n['inputOwner']?.['AddressOwner']}:{},...p==='mutated'?{'previousVersion':n['inputVersion']}:{},...p==='wrapped'?{'sender':n['inputOwner']?.['AddressOwner']}:{}});}),{'digest':'dry_run:'+Date['now'](),'effects':h?{...h,'status':l??h['status']}:h,'events':i,'objectChanges':m};}};function changedObjectToLegacyChangeType(a){const {idOperation:b,outputState:c,inputState:d,inputOwner:e,outputOwner:f}=a??{};if(b==='Created'&&c==='PackageWrite')return'published';if(b==='Created'&&c==='ObjectWrite')return'created';if(b==='Deleted')return'deleted';if(b==='None'&&c==='ObjectWrite'&&d==='Exists'){const g=e?.['$kind']==='AddressOwner'?e['AddressOwner']:null,h=f?.['$kind']==='AddressOwner'?f['AddressOwner']:null,i=f?.['$kind']==='ObjectOwner'?f['ObjectOwner']:null;if(g&&i&&i===g)return'wrapped';if(g&&h&&g!==h)return'transferred';return'mutated';}return null;}function ownerToLegacy(a){if(!a)return null;switch(a['$kind']){case'AddressOwner':return{'AddressOwner':a['AddressOwner']};case'ObjectOwner':return{'ObjectOwner':a['ObjectOwner']};case'Shared':return{'Shared':{'initialSharedVersion':a['Shared']?.['initialSharedVersion']}};case'Immutable':return'Immutable';default:return a;}}async function getCoinParam(a,b,c,d){let e;if('balance'in c&&c['balance']!=null){if(!a2g(c['balance']))a2e('invalid\x20u64','Total\x20pay\x20balance\x20'+c['balance']+'\x20is\x20not\x20valid');e=await Account['Instance']()['get_coin_object'](b,c['balance'],d,await a2t(a),a['network']);}else{if('coin'in c&&c['coin']!=null){if(typeof c['coin']==='string')e=await LocalMark['Instance']()['get_address'](c['coin']);else e=c['coin'];}}if(!e)a2e('invalid\x20parameter','Total\x20pay\x20'+JSON['stringify'](c)+'\x20is\x20allocated\x20failed');return a2j(b,e);}export{create as _,description_set as a,info_add as c,like as d,register_with_resource_forced as f,addObjectTags as g,resource_use as h,isCallResultSubmission as i,info_clear as l,resource_transfer as m,ResponseData as n,dislike as o,resource_destroy as p,getCoinParam as r,favor as s,CallBase as t,info_remove as u,removeObject as v,removeObjectTags as y};
|
package/dist/esm/bcs/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as a3a,i as a3b,n as a3c,o as a3d,r as a3e,s as a3f,t as a3g,u as a3h}from'../bcs-
|
|
1
|
+
import{a as a3a,i as a3b,n as a3c,o as a3d,r as a3e,s as a3f,t as a3g,u as a3h}from'../bcs-Cjvfeyqf.mjs';export{a3g as BcsEnum,a3c as BcsStruct,a3e as BcsTuple,a3b as BcsType,a3h as TypeTagSerializer,a3d as bcs,a3a as compareBcsBytes,a3f as pureBcsSchemaFromTypeName};
|