@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{l as a37a}from'./bcs-
|
|
1
|
+
import{l as a37a}from'./bcs-Cjvfeyqf.mjs';import{a as a37b,s as a37c}from'./publickey-CcBVAm0Y.mjs';import{a as a37d,m as a37e,p as a37f}from'./keypair-Y6T-6uC9.mjs';import{toBase64}from'@mysten/bcs';import{blake2b}from'@noble/hashes/blake2.js';import{p256}from'@noble/curves/nist.js';import{sha256}from'@noble/hashes/sha2.js';import{randomBytes}from'@noble/hashes/utils.js';var BrowserPasskeyProvider=class{#name;#options;constructor(a,b){this.#name=a,this.#options=b;}async['create'](){return await navigator['credentials']['create']({'publicKey':{'timeout':this.#options['timeout']??0xea60,...this.#options,'rp':{'name':this.#name,...this.#options['rp']},'user':{'name':this.#name,'displayName':this.#name,...this.#options['user'],'id':randomBytes(0xa)},'challenge':new TextEncoder()['encode']('Create\x20passkey\x20wallet\x20on\x20Wow'),'pubKeyCredParams':[{'alg':-0x7,'type':'public-key'}],'authenticatorSelection':{'authenticatorAttachment':'cross-platform','residentKey':'required','requireResidentKey':!![],'userVerification':'required',...this.#options['authenticatorSelection']}}});}async['get'](a,b){return await navigator['credentials']['get']({'publicKey':{'challenge':a,'userVerification':this.#options['authenticatorSelection']?.['userVerification']||'required','timeout':this.#options['timeout']??0xea60,...b&&{'allowCredentials':[{'type':'public-key','id':b}]}}});}},PasskeyKeypair=class PasskeyKeypair extends a37d{['getKeyScheme'](){return'Passkey';}constructor(a,b,c){super(),this['publicKey']=a,this['provider']=b,this['credentialId']=c;}['getCredentialId'](){return this['credentialId'];}static async['getPasskeyInstance'](a){const b=await a['create']();if(!b['response']['getPublicKey']())throw new Error('Invalid\x20credential\x20create\x20response');else{const c=b['response']['getPublicKey'](),d=a37e(new Uint8Array(c)),e=p256['Point']['fromBytes'](d)['toBytes'](!![]);return new PasskeyKeypair(e,a,new Uint8Array(b['rawId']));}}['getPublicKey'](){return new a37f(this['publicKey']);}async['sign'](a){const b=await this['provider']['get'](a,this['credentialId']),c=new Uint8Array(b['response']['authenticatorData']),d=new Uint8Array(b['response']['clientDataJSON']),e=new TextDecoder()['decode'](d),f=p256['Signature']['fromBytes'](new Uint8Array(b['response']['signature']),'der'),g=(f['hasHighS']()?new p256['Signature'](f['r'],p256['Point']['Fn']['neg'](f['s'])):f)['toBytes']('compact');if(g['length']!==0x40||this['publicKey']['length']!==0x21)throw new Error('Invalid\x20signature\x20or\x20public\x20key\x20length');const h=new Uint8Array(0x1+g['length']+this['publicKey']['length']);return h['set']([a37b['Secp256r1']]),h['set'](g,0x1),h['set'](this['publicKey'],0x1+g['length']),a37a['serialize']({'authenticatorData':c,'clientDataJson':e,'userSignature':h})['toBytes']();}async['signWithIntent'](a,b){const c=blake2b(a37c(b,a),{'dkLen':0x20}),d=await this['sign'](c),e=new Uint8Array(0x1+d['length']);return e['set']([a37b[this['getKeyScheme']()]]),e['set'](d,0x1),{'signature':toBase64(e),'bytes':toBase64(a)};}static async['signAndRecover'](a,b){const c=await a['get'](b),d=messageFromAssertionResponse(c['response']),e=p256['Signature']['fromBytes'](new Uint8Array(c['response']['signature']),'der'),f=[],g=sha256(d);for(let h=0x0;h<0x4;h++){const j=e['addRecoveryBit'](h);try{const k=new a37f(j['recoverPublicKey'](g)['toBytes'](!![]));f['push'](k);}catch{continue;}}return f;}};function messageFromAssertionResponse(a){const b=new Uint8Array(a['authenticatorData']),c=sha256(new Uint8Array(a['clientDataJSON']));return new Uint8Array([...b,...c]);}export{PasskeyKeypair as n,BrowserPasskeyProvider as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as a38a}from'./wow-types-DcqbnAaK.mjs';import{t as a38b}from'./client-oE69u-rK.mjs';import{t as a38c}from'./Transaction-BlZi1w6F.mjs';import{o as a38d}from'./exception-Xd2RFs2i.mjs';import{n as a38e}from'./network-y8yMus5q.mjs';import{gt as a38f,lt as a38g}from'./common-Guc0E9Tj.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 a38h,X as a38i,st as a38j}from'./object-CJHJxXlc.mjs';const ONCHAIN_CONSTANTS={'MAX_NODE_COUNT_ONCHAIN':0x64,'MAX_NODE_COUNT_SDK':0x64,'MAX_FORWARD_COUNT':0x14,'MAX_FORWARD_ORDER_COUNT':0x14,'MAX_NODE_PAIR_COUNT':0x28,'MAX_CONSENSUS_REPOSITORIES_COUNT':0xc8,'USER_DEFINED_PERM_INDEX_START':0x3e8,'MAX_PERM_FOR_ENTITY':0x3e8,'MAX_ENTITY_COUNT':0x3e8,'MAX_ADMIN_COUNT':0x1f4,'MAX_ITEM_COUNT':0x1450,'ROLE_OWNER':0x1,'ROLE_ADMIN':0x2,'ROLE_ENTITY':0x4,'MAX_CONTACT_ITEM_COUNT':0x1450,'MAX_ORDER_ITEM_COUNT':0x1450,'ORDER_ROLE_OWNER':0x1,'ORDER_ROLE_AGENT':0x2,'MAX_CORE_ITEMS':0x1450,'MAX_TX_ITEMS':0x1450,'MAX_AGENT_COUNT':0xa,'MAX_DISPUTE_COUNT':0xa,'MAX_ALLOCATOR_COUNT':0x64,'MAX_SHARING_COUNT':0x64,'MAX_VOTING_GUARD_COUNT':0x32,'MAX_POLICY_COUNT':0x32,'MAX_POLICY_DESCRIPTION_LEN':0x1f4,'MAX_POLICY_GUARD_COUNT':0xa,'MAX_DATA_SIZE':0xa000,'MAX_ID_COUNT_ONCE':0x64,'MAX_REWARD_COUNT':0x14,'MAX_CONTEXT_REPOSITORY_COUNT':0x1e,'MAX_NAMED_OPERATOR_COUNT':0x3c,'MAX_NAMED_OPERATOR_ADDRESS_COUNT':0x50,'MAX_SALE_COUNT':0x32,'MAX_REPOSITORY_COUNT':0x64,'MAX_ARBITRATION_COUNT':0x14,'MAX_DISCOUNT_COUNT_ONCE':0x3e8,'MAX_DISCOUNT_RECEIVER_ONCE':0x3e8,'MAX_DISCOUNT_TOTAL_COUNT':0x4e20,'DEFAULT_LOCK_DURATION':0x9a7ec800,'MAX_REQUIRED_INFO_SIZE':0x14,'MAX_WIP_LENGTH':0x400,'MAX_WIP_HASH_LENGTH':0x40,'DISCOUNT_TYPE_RATES':0x0,'DISCOUNT_TYPE_MINUS':0x1,'MAX_EXTERNAL_DEPOSIT_GUARD_COUNT':0x64,'MAX_EXTERNAL_WITHDRAW_GUARD_COUNT':0xc8,'MAX_IM_COUNT':0xc8,'MAX_TAGS_COUNT':0x64,'MAX_RECIPIENT_COUNT':0xc8,'MAX_PROPOSITION_COUNT':0x14,'MAX_VOTOR_COUNT':0x208,'WITHDRAW_DURATION_TIME':0x9a7ec800,'MAX_ADDRESS_COUNT':0x1450,'MAX_RECORD_LENGTH':0xfa0,'BRIDGE_MESSAGE_VERSION':0x1,'BRIDGE_EVM_ADDRESS_LENGTH':0x14,'BRIDGE_CURRENT_VERSION':0x1,'BRIDGE_TRANSFER_STATUS_PENDING':0x0,'BRIDGE_TRANSFER_STATUS_APPROVED':0x1,'BRIDGE_TRANSFER_STATUS_CLAIMED':0x2,'BRIDGE_TRANSFER_STATUS_NOT_FOUND':0x3,'MAX_GUARD_COUNT_DEMAND':0x14,'MAX_GUARD_COUNT_PASSPORT':0x14,'MAX_GUARD_COUNT_REWARD':0xc8,'MAX_SUBMISSION_SIZE_PASSPORT':0x100,'MAX_RECORD_COUNT_REWARD':0x1450,'MAX_RECORD_COUNT_REGISTRAR':0x3e8,'WOWOK_WTS_PROOF_TYPE':0x1,'MAX_PROOF_SIZE':0x2800,'MAX_SERVER_PUBKEY_SIZE':0x800,'MAX_SERVER_SIGNATURE_SIZE':0x9e20},MAX_NODE_COUNT=ONCHAIN_CONSTANTS['MAX_NODE_COUNT_SDK'],MAX_NODE_COUNT_ONCHAIN=ONCHAIN_CONSTANTS['MAX_NODE_COUNT_ONCHAIN'],MAX_FORWARD_COUNT=ONCHAIN_CONSTANTS['MAX_FORWARD_COUNT'],MAX_FORWARD_ORDER_COUNT=ONCHAIN_CONSTANTS['MAX_FORWARD_ORDER_COUNT'],MAX_NODE_PAIR_COUNT=ONCHAIN_CONSTANTS['MAX_NODE_PAIR_COUNT'],MAX_CONSENSUS_REPOSITORIES_COUNT=ONCHAIN_CONSTANTS['MAX_CONSENSUS_REPOSITORIES_COUNT'],USER_DEFINED_PERM_INDEX_START=ONCHAIN_CONSTANTS['USER_DEFINED_PERM_INDEX_START'],MAX_PERM_FOR_ENTITY=ONCHAIN_CONSTANTS['MAX_PERM_FOR_ENTITY'],MAX_ENTITY_COUNT=ONCHAIN_CONSTANTS['MAX_ENTITY_COUNT'],MAX_ADMIN_COUNT=ONCHAIN_CONSTANTS['MAX_ADMIN_COUNT'],MAX_ITEM_COUNT=ONCHAIN_CONSTANTS['MAX_ITEM_COUNT'],ROLE_OWNER=ONCHAIN_CONSTANTS['ROLE_OWNER'],ROLE_ADMIN=ONCHAIN_CONSTANTS['ROLE_ADMIN'],ROLE_ENTITY=ONCHAIN_CONSTANTS['ROLE_ENTITY'];ONCHAIN_CONSTANTS['MAX_CONTACT_ITEM_COUNT'];const MAX_ORDER_ITEM_COUNT=ONCHAIN_CONSTANTS['MAX_ORDER_ITEM_COUNT'],ORDER_ROLE_OWNER=ONCHAIN_CONSTANTS['ORDER_ROLE_OWNER'],ORDER_ROLE_AGENT=ONCHAIN_CONSTANTS['ORDER_ROLE_AGENT'];ONCHAIN_CONSTANTS['MAX_CORE_ITEMS'],ONCHAIN_CONSTANTS['MAX_TX_ITEMS'];const MAX_AGENT_COUNT=ONCHAIN_CONSTANTS['MAX_AGENT_COUNT'],MAX_DISPUTE_COUNT=ONCHAIN_CONSTANTS['MAX_DISPUTE_COUNT'],MAX_ALLOCATOR_COUNT=ONCHAIN_CONSTANTS['MAX_ALLOCATOR_COUNT'],MAX_SHARING_COUNT=ONCHAIN_CONSTANTS['MAX_SHARING_COUNT'],MAX_VOTING_GUARD_COUNT=ONCHAIN_CONSTANTS['MAX_VOTING_GUARD_COUNT'],MAX_POLICY_COUNT=ONCHAIN_CONSTANTS['MAX_POLICY_COUNT'],MAX_POLICY_DESCRIPTION_LEN=ONCHAIN_CONSTANTS['MAX_POLICY_DESCRIPTION_LEN'],MAX_POLICY_GUARD_COUNT=ONCHAIN_CONSTANTS['MAX_POLICY_GUARD_COUNT'],MAX_DATA_SIZE=ONCHAIN_CONSTANTS['MAX_DATA_SIZE'],MAX_ID_COUNT_ONCE=ONCHAIN_CONSTANTS['MAX_ID_COUNT_ONCE'],MAX_REWARD_COUNT=ONCHAIN_CONSTANTS['MAX_REWARD_COUNT'],MAX_CONTEXT_REPOSITORY_COUNT=ONCHAIN_CONSTANTS['MAX_CONTEXT_REPOSITORY_COUNT'],MAX_NAMED_OPERATOR_COUNT=ONCHAIN_CONSTANTS['MAX_NAMED_OPERATOR_COUNT'],MAX_NAMED_OPERATOR_ADDRESS_COUNT=ONCHAIN_CONSTANTS['MAX_NAMED_OPERATOR_ADDRESS_COUNT'],MAX_SALE_COUNT=ONCHAIN_CONSTANTS['MAX_SALE_COUNT'],MAX_REPOSITORY_COUNT=ONCHAIN_CONSTANTS['MAX_REPOSITORY_COUNT'],MAX_ARBITRATION_COUNT=ONCHAIN_CONSTANTS['MAX_ARBITRATION_COUNT'],MAX_DISCOUNT_COUNT_ONCE=ONCHAIN_CONSTANTS['MAX_DISCOUNT_COUNT_ONCE'],MAX_DISCOUNT_RECEIVER_ONCE=ONCHAIN_CONSTANTS['MAX_DISCOUNT_RECEIVER_ONCE'],MAX_DISCOUNT_TOTAL_COUNT=ONCHAIN_CONSTANTS['MAX_DISCOUNT_TOTAL_COUNT'],DEFAULT_LOCK_DURATION=ONCHAIN_CONSTANTS['DEFAULT_LOCK_DURATION'],MAX_REQUIRED_INFO_SIZE=ONCHAIN_CONSTANTS['MAX_REQUIRED_INFO_SIZE'],MAX_WIP_LENGTH=ONCHAIN_CONSTANTS['MAX_WIP_LENGTH'],MAX_WIP_HASH_LENGTH=ONCHAIN_CONSTANTS['MAX_WIP_HASH_LENGTH'],DISCOUNT_TYPE_RATES=ONCHAIN_CONSTANTS['DISCOUNT_TYPE_RATES'],DISCOUNT_TYPE_MINUS=ONCHAIN_CONSTANTS['DISCOUNT_TYPE_MINUS'],MAX_EXTERNAL_DEPOSIT_GUARD_COUNT=ONCHAIN_CONSTANTS['MAX_EXTERNAL_DEPOSIT_GUARD_COUNT'],MAX_EXTERNAL_WITHDRAW_GUARD_COUNT=ONCHAIN_CONSTANTS['MAX_EXTERNAL_WITHDRAW_GUARD_COUNT'],MAX_IM_COUNT=ONCHAIN_CONSTANTS['MAX_IM_COUNT'],MAX_TAGS_COUNT=ONCHAIN_CONSTANTS['MAX_TAGS_COUNT'],MAX_RECIPIENT_COUNT=ONCHAIN_CONSTANTS['MAX_RECIPIENT_COUNT'],MAX_PROPOSITION_COUNT=ONCHAIN_CONSTANTS['MAX_PROPOSITION_COUNT'],MAX_VOTOR_COUNT=ONCHAIN_CONSTANTS['MAX_VOTOR_COUNT'],WITHDRAW_DURATION_TIME=ONCHAIN_CONSTANTS['WITHDRAW_DURATION_TIME'],MAX_ADDRESS_COUNT=ONCHAIN_CONSTANTS['MAX_ADDRESS_COUNT'],MAX_RECORD_LENGTH=ONCHAIN_CONSTANTS['MAX_RECORD_LENGTH'],BRIDGE_MESSAGE_VERSION=ONCHAIN_CONSTANTS['BRIDGE_MESSAGE_VERSION'],BRIDGE_EVM_ADDRESS_LENGTH=ONCHAIN_CONSTANTS['BRIDGE_EVM_ADDRESS_LENGTH'],BRIDGE_CURRENT_VERSION=ONCHAIN_CONSTANTS['BRIDGE_CURRENT_VERSION'],BRIDGE_TRANSFER_STATUS_PENDING=ONCHAIN_CONSTANTS['BRIDGE_TRANSFER_STATUS_PENDING'],BRIDGE_TRANSFER_STATUS_APPROVED=ONCHAIN_CONSTANTS['BRIDGE_TRANSFER_STATUS_APPROVED'],BRIDGE_TRANSFER_STATUS_CLAIMED=ONCHAIN_CONSTANTS['BRIDGE_TRANSFER_STATUS_CLAIMED'],BRIDGE_TRANSFER_STATUS_NOT_FOUND=ONCHAIN_CONSTANTS['BRIDGE_TRANSFER_STATUS_NOT_FOUND'],MAX_GUARD_COUNT_DEMAND=ONCHAIN_CONSTANTS['MAX_GUARD_COUNT_DEMAND'],MAX_GUARD_COUNT_PASSPORT=ONCHAIN_CONSTANTS['MAX_GUARD_COUNT_PASSPORT'],MAX_GUARD_COUNT_REWARD=ONCHAIN_CONSTANTS['MAX_GUARD_COUNT_REWARD'],MAX_SUBMISSION_SIZE_PASSPORT=ONCHAIN_CONSTANTS['MAX_SUBMISSION_SIZE_PASSPORT'],MAX_RECORD_COUNT_REWARD=ONCHAIN_CONSTANTS['MAX_RECORD_COUNT_REWARD'],MAX_RECORD_COUNT_REGISTRAR=ONCHAIN_CONSTANTS['MAX_RECORD_COUNT_REGISTRAR'],WOWOK_WTS_PROOF_TYPE=ONCHAIN_CONSTANTS['WOWOK_WTS_PROOF_TYPE'],MAX_PROOF_SIZE=ONCHAIN_CONSTANTS['MAX_PROOF_SIZE'],MAX_SERVER_PUBKEY_SIZE=ONCHAIN_CONSTANTS['MAX_SERVER_PUBKEY_SIZE'],MAX_SERVER_SIGNATURE_SIZE=ONCHAIN_CONSTANTS['MAX_SERVER_SIGNATURE_SIZE'],resolve_submission_names=async a=>{for(const b of a['guard']){const c=await LocalMark['Instance']()['get_address'](b['object']);if(!c||!a38a(c))a38d('invalid\x20address','guard\x20object:\x20'+b['object']);b['object']=c;}for(const d of a['submission'])if(d['guard']){const e=await LocalMark['Instance']()['get_address'](d['guard']);if(e)d['guard']=e;}},verify_guard=async(a,b)=>{if(b['guard']['length']>MAX_GUARD_COUNT_PASSPORT)a38d('invalid\x20parameter','guards\x20invalid:\x20guard\x20count\x20exceeds\x20maximum\x20limit\x20'+MAX_GUARD_COUNT_PASSPORT);await resolve_submission_names(b);const c=new a38c(),d=newPassport(c);for(const f of b['guard'])await guardAdd(c,d,f['object'],b['submission']['find'](g=>g['guard']===f['object'])?.['submission']??[],f['impack']);verify(c,d),freeze(c,d);let e=await Account['Instance']()['sign_and_commit'](c,await a38j(a),a['network']);if(!e)a38d('fail','sign\x20and\x20commit\x20failed');if(e?.['digest']&&!e?.['objectChanges']){const g=await Config['Instance']()['network_get'](a['network']);e=await new a38b({'url':a38e(g),'network':g})['getTransactionBlock']({'digest':e?.['digest'],'options':{'showObjectChanges':!![]}});}return e;},get_guardSubmissions=async(a,b)=>{if(b['length']===0x0)a38d('invalid\x20parameter','guards\x20invalid:\x20guards\x20empty');b=[...new Set(b)];if(b['length']>MAX_GUARD_COUNT_PASSPORT)a38d('invalid\x20parameter','guards\x20invalid:\x20guard\x20count\x20exceeds\x20maximum\x20limit\x20\x20'+MAX_GUARD_COUNT_PASSPORT+'\x20once');const c=await a38i({'objects':[...b],'no_cache':a['no_cache'],'network':a['network']});if(!c['objects']||c['objects']['length']===0x0)a38d('invalid\x20parameter','Guard\x20objects\x20not\x20found:\x20'+b['join'](',\x20'));const d=[],e=new Map();c['objects']['forEach'](m=>{if(m['type']!=='Guard')a38d('invalid\x20parameter','guards\x20invalid:\x20guard\x20\x27'+m['object']+'\x27\x20is\x20not\x20a\x20guard\x20object');const n=m;n['relies']?.['forEach'](o=>{if(!d['includes'](o))d['push'](o);}),(n['rep_quote']instanceof Map?n['rep_quote']:new Map(Object['entries'](n['rep_quote']||{})))['forEach']((o,p)=>{if(e['has'](p)){const q=e['get'](p)||[];o['forEach'](s=>{if(!q['includes'](s))q['push'](s);}),e['set'](p,q);}else e['set'](p,o);});});const f=await a38i({'objects':[...e['keys']()],'no_cache':a['no_cache'],'network':a['network']}),g=[];f['objects']['forEach'](m=>{if(m['type']!=='Repository')a38d('invalid\x20parameter','rep\x20invalid:\x20rep\x20\x27'+m['object']+'\x27\x20is\x20not\x20a\x20guard\x20object');const n=m;n['policies']['forEach'](o=>{if((e['get'](n['object'])||[])['includes'](o['name'])&&o['quote_guard']&&!g['includes'](o['quote_guard']))g['push'](o['quote_guard']);});});const h=[...new Set([...g,...c['objects']['map'](m=>m['object'])])],i=new Set(h),j=[...d['filter'](m=>!i['has'](m))['map'](m=>({'object':m,'impack':![]})),...h['map'](m=>({'object':m,'impack':!![]}))];if(j['length']>MAX_GUARD_COUNT_PASSPORT)a38d('invalid\x20parameter','guards\x20invalid:\x20guard\x20count(include\x20relies\x20guards)\x20exceeds\x20maximum\x20limit\x20'+MAX_GUARD_COUNT_PASSPORT);const k=await a38i({'objects':[...d,...g],'no_cache':a['no_cache'],'network':a['network']}),l=[];return k['objects']['forEach'](m=>{const n=m,o=[];n['table']?.['forEach'](p=>{if(p['b_submission'])o['push'](p);});if(o['length']>0x0&&l['find'](p=>p['guard']===n['object'])===void 0x0)l['push']({'guard':n['object'],'submission':o});}),c['objects']['forEach'](m=>{const n=m,o=[];n['table']?.['forEach'](p=>{if(p['b_submission'])o['push'](p);});if(o['length']>0x0&&l['find'](p=>p['guard']===n['object'])===void 0x0)l['push']({'guard':n['object'],'submission':o});}),{'type':'submission','guard':j,'submission':l};};function passportFn(a){return'0x2::passport::'+a;}function newPassport(a){return a['moveCall']({'target':passportFn('new_v2'),'arguments':[a['object']['clock'](),a['object']['mutObjectLinkerTx']()]});}function freeze(a,b){a['moveCall']({'target':passportFn('freezen'),'arguments':[a38f(a,b)]});}function destroy(a,b){a['moveCall']({'target':passportFn('destroy'),'arguments':[a38f(a,b)]});}const guardAdd=async(a,b,c,d,e)=>{if(d['length']>0x100)a38d('guard\x20table\x20item\x20length\x20exceeded','Submission\x20size\x20exceeds\x20maximum\x20limit\x20256');const f=a['pure']['vector']('u8',d['map'](j=>j['identifier'])),g=[];for(let j=0x0;j<d['length'];j++){if(!d[j]['value'])a38d('invalid\x20value','Value\x20is\x20undefined\x20for\x20identifier\x20'+d[j]['identifier']);const k=await a38h(a38g(d[j]['value_type']),d[j]['value']);g['push'](Array['from'](k));}const h=a['pure']['vector']('vector<u8>',g);a['moveCall']({'target':passportFn('guard_add'),'arguments':[a38f(a,b),a38f(a,c),f,h,a['pure']['bool'](e)]});};function guardClear(a,b){a['moveCall']({'target':passportFn('guard_clear'),'arguments':[a38f(a,b)]});}function verify(a,b){return a['moveCall']({'target':passportFn('verify'),'arguments':[a38f(a,b)]});}export{MAX_POLICY_GUARD_COUNT as $,MAX_DISCOUNT_RECEIVER_ONCE as A,MAX_GUARD_COUNT_REWARD as B,MAX_AGENT_COUNT as C,ROLE_ENTITY as Ct,MAX_CONTEXT_REPOSITORY_COUNT as D,WOWOK_WTS_PROOF_TYPE as Dt,MAX_CONSENSUS_REPOSITORIES_COUNT as E,WITHDRAW_DURATION_TIME as Et,MAX_EXTERNAL_WITHDRAW_GUARD_COUNT as F,MAX_NAMED_OPERATOR_COUNT as G,MAX_IM_COUNT as H,MAX_FORWARD_COUNT as I,MAX_NODE_PAIR_COUNT as J,MAX_NODE_COUNT as K,MAX_FORWARD_ORDER_COUNT as L,MAX_DISPUTE_COUNT as M,MAX_ENTITY_COUNT as N,MAX_DATA_SIZE as O,MAX_EXTERNAL_DEPOSIT_GUARD_COUNT as P,MAX_POLICY_DESCRIPTION_LEN as Q,MAX_GUARD_COUNT_DEMAND as R,MAX_ADMIN_COUNT as S,ROLE_ADMIN as St,MAX_ARBITRATION_COUNT as T,USER_DEFINED_PERM_INDEX_START as Tt,MAX_ITEM_COUNT as U,MAX_ID_COUNT_ONCE as V,MAX_NAMED_OPERATOR_ADDRESS_COUNT as W,MAX_PERM_FOR_ENTITY as X,MAX_ORDER_ITEM_COUNT as Y,MAX_POLICY_COUNT as Z,BRIDGE_TRANSFER_STATUS_PENDING as _,MAX_WIP_HASH_LENGTH as _t,guardClear as a,MAX_RECORD_LENGTH as at,DISCOUNT_TYPE_RATES as b,ORDER_ROLE_AGENT as bt,resolve_submission_names as c,MAX_REWARD_COUNT as ct,BRIDGE_CURRENT_VERSION as d,MAX_SERVER_SIGNATURE_SIZE as dt,MAX_PROOF_SIZE as et,BRIDGE_EVM_ADDRESS_LENGTH as f,MAX_SHARING_COUNT as ft,BRIDGE_TRANSFER_STATUS_NOT_FOUND as g,MAX_VOTOR_COUNT as gt,BRIDGE_TRANSFER_STATUS_CLAIMED as h,MAX_VOTING_GUARD_COUNT as ht,guardAdd as i,MAX_RECORD_COUNT_REWARD as it,MAX_DISCOUNT_TOTAL_COUNT as j,MAX_DISCOUNT_COUNT_ONCE as k,verify as l,MAX_SALE_COUNT as lt,BRIDGE_TRANSFER_STATUS_APPROVED as m,MAX_TAGS_COUNT as mt,freeze as n,MAX_RECIPIENT_COUNT as nt,newPassport as o,MAX_REPOSITORY_COUNT as ot,BRIDGE_MESSAGE_VERSION as p,MAX_SUBMISSION_SIZE_PASSPORT as pt,MAX_NODE_COUNT_ONCHAIN as q,get_guardSubmissions as r,MAX_RECORD_COUNT_REGISTRAR as rt,passportFn as s,MAX_REQUIRED_INFO_SIZE as st,destroy as t,MAX_PROPOSITION_COUNT as tt,verify_guard as u,MAX_SERVER_PUBKEY_SIZE as ut,DEFAULT_LOCK_DURATION as v,MAX_WIP_LENGTH as vt,MAX_ALLOCATOR_COUNT as w,ROLE_OWNER as wt,MAX_ADDRESS_COUNT as x,ORDER_ROLE_OWNER as xt,DISCOUNT_TYPE_MINUS as y,ONCHAIN_CONSTANTS as yt,MAX_GUARD_COUNT_PASSPORT as z};
|
|
1
|
+
import{o as a38a}from'./wow-types-DctQuD2J.mjs';import{t as a38b}from'./client-qwFkeNkI.mjs';import{t as a38c}from'./Transaction-D1AlW3t_.mjs';import{o as a38d}from'./exception-Xd2RFs2i.mjs';import{n as a38e}from'./network-y8yMus5q.mjs';import{gt as a38f,lt as a38g}from'./common-BXJtePqk.mjs';import{Config}from'./w/local/config.mjs';import{LocalMark}from'./w/local/local.mjs';import{Account}from'./w/local/account.mjs';import{Ot as a38h,Q as a38i,lt as a38j}from'./object-RbNBCbWH.mjs';const ONCHAIN_CONSTANTS={'MAX_NODE_COUNT_ONCHAIN':0x64,'MAX_NODE_COUNT_SDK':0x64,'MAX_FORWARD_COUNT':0x14,'MAX_FORWARD_ORDER_COUNT':0x14,'MAX_NODE_PAIR_COUNT':0x28,'MAX_CONSENSUS_REPOSITORIES_COUNT':0xc8,'USER_DEFINED_PERM_INDEX_START':0x3e8,'MAX_PERM_FOR_ENTITY':0x3e8,'MAX_ENTITY_COUNT':0x3e8,'MAX_ADMIN_COUNT':0x1f4,'MAX_ITEM_COUNT':0x1450,'ROLE_OWNER':0x1,'ROLE_ADMIN':0x2,'ROLE_ENTITY':0x4,'MAX_CONTACT_ITEM_COUNT':0x1450,'MAX_ORDER_ITEM_COUNT':0x1450,'ORDER_ROLE_OWNER':0x1,'ORDER_ROLE_AGENT':0x2,'MAX_CORE_ITEMS':0x1450,'MAX_TX_ITEMS':0x1450,'MAX_AGENT_COUNT':0xa,'MAX_DISPUTE_COUNT':0xa,'MAX_ALLOCATOR_COUNT':0x64,'MAX_SHARING_COUNT':0x64,'MAX_VOTING_GUARD_COUNT':0x32,'MAX_POLICY_COUNT':0x32,'MAX_POLICY_DESCRIPTION_LEN':0x1f4,'MAX_POLICY_GUARD_COUNT':0xa,'MAX_DATA_SIZE':0xa000,'MAX_ID_COUNT_ONCE':0x64,'MAX_REWARD_COUNT':0x14,'MAX_CONTEXT_REPOSITORY_COUNT':0x1e,'MAX_NAMED_OPERATOR_COUNT':0x3c,'MAX_NAMED_OPERATOR_ADDRESS_COUNT':0x50,'MAX_SALE_COUNT':0x32,'MAX_REPOSITORY_COUNT':0x64,'MAX_ARBITRATION_COUNT':0x14,'MAX_DISCOUNT_COUNT_ONCE':0x3e8,'MAX_DISCOUNT_RECEIVER_ONCE':0x3e8,'MAX_DISCOUNT_TOTAL_COUNT':0x4e20,'DEFAULT_LOCK_DURATION':0x9a7ec800,'MAX_REQUIRED_INFO_SIZE':0x14,'MAX_WIP_LENGTH':0x400,'MAX_WIP_HASH_LENGTH':0x40,'DISCOUNT_TYPE_RATES':0x0,'DISCOUNT_TYPE_MINUS':0x1,'MAX_EXTERNAL_DEPOSIT_GUARD_COUNT':0x64,'MAX_EXTERNAL_WITHDRAW_GUARD_COUNT':0xc8,'MAX_IM_COUNT':0xc8,'MAX_TAGS_COUNT':0x64,'MAX_RECIPIENT_COUNT':0xc8,'MAX_PROPOSITION_COUNT':0x14,'MAX_VOTOR_COUNT':0x208,'WITHDRAW_DURATION_TIME':0x9a7ec800,'MAX_ADDRESS_COUNT':0x1450,'MAX_RECORD_LENGTH':0xfa0,'BRIDGE_MESSAGE_VERSION':0x1,'BRIDGE_EVM_ADDRESS_LENGTH':0x14,'BRIDGE_CURRENT_VERSION':0x1,'BRIDGE_TRANSFER_STATUS_PENDING':0x0,'BRIDGE_TRANSFER_STATUS_APPROVED':0x1,'BRIDGE_TRANSFER_STATUS_CLAIMED':0x2,'BRIDGE_TRANSFER_STATUS_NOT_FOUND':0x3,'MAX_GUARD_COUNT_DEMAND':0x14,'MAX_GUARD_COUNT_PASSPORT':0x14,'MAX_GUARD_COUNT_REWARD':0xc8,'MAX_SUBMISSION_SIZE_PASSPORT':0x100,'MAX_RECORD_COUNT_REWARD':0x1450,'MAX_RECORD_COUNT_REGISTRAR':0x3e8,'WOWOK_WTS_PROOF_TYPE':0x1,'MAX_PROOF_SIZE':0x2800,'MAX_SERVER_PUBKEY_SIZE':0x800,'MAX_SERVER_SIGNATURE_SIZE':0x9e20},MAX_NODE_COUNT=ONCHAIN_CONSTANTS['MAX_NODE_COUNT_SDK'],MAX_NODE_COUNT_ONCHAIN=ONCHAIN_CONSTANTS['MAX_NODE_COUNT_ONCHAIN'],MAX_FORWARD_COUNT=ONCHAIN_CONSTANTS['MAX_FORWARD_COUNT'],MAX_FORWARD_ORDER_COUNT=ONCHAIN_CONSTANTS['MAX_FORWARD_ORDER_COUNT'],MAX_NODE_PAIR_COUNT=ONCHAIN_CONSTANTS['MAX_NODE_PAIR_COUNT'],MAX_CONSENSUS_REPOSITORIES_COUNT=ONCHAIN_CONSTANTS['MAX_CONSENSUS_REPOSITORIES_COUNT'],USER_DEFINED_PERM_INDEX_START=ONCHAIN_CONSTANTS['USER_DEFINED_PERM_INDEX_START'],MAX_PERM_FOR_ENTITY=ONCHAIN_CONSTANTS['MAX_PERM_FOR_ENTITY'],MAX_ENTITY_COUNT=ONCHAIN_CONSTANTS['MAX_ENTITY_COUNT'],MAX_ADMIN_COUNT=ONCHAIN_CONSTANTS['MAX_ADMIN_COUNT'],MAX_ITEM_COUNT=ONCHAIN_CONSTANTS['MAX_ITEM_COUNT'],ROLE_OWNER=ONCHAIN_CONSTANTS['ROLE_OWNER'],ROLE_ADMIN=ONCHAIN_CONSTANTS['ROLE_ADMIN'],ROLE_ENTITY=ONCHAIN_CONSTANTS['ROLE_ENTITY'];ONCHAIN_CONSTANTS['MAX_CONTACT_ITEM_COUNT'];const MAX_ORDER_ITEM_COUNT=ONCHAIN_CONSTANTS['MAX_ORDER_ITEM_COUNT'],ORDER_ROLE_OWNER=ONCHAIN_CONSTANTS['ORDER_ROLE_OWNER'],ORDER_ROLE_AGENT=ONCHAIN_CONSTANTS['ORDER_ROLE_AGENT'];ONCHAIN_CONSTANTS['MAX_CORE_ITEMS'],ONCHAIN_CONSTANTS['MAX_TX_ITEMS'];const MAX_AGENT_COUNT=ONCHAIN_CONSTANTS['MAX_AGENT_COUNT'],MAX_DISPUTE_COUNT=ONCHAIN_CONSTANTS['MAX_DISPUTE_COUNT'],MAX_ALLOCATOR_COUNT=ONCHAIN_CONSTANTS['MAX_ALLOCATOR_COUNT'],MAX_SHARING_COUNT=ONCHAIN_CONSTANTS['MAX_SHARING_COUNT'],MAX_VOTING_GUARD_COUNT=ONCHAIN_CONSTANTS['MAX_VOTING_GUARD_COUNT'],MAX_POLICY_COUNT=ONCHAIN_CONSTANTS['MAX_POLICY_COUNT'],MAX_POLICY_DESCRIPTION_LEN=ONCHAIN_CONSTANTS['MAX_POLICY_DESCRIPTION_LEN'],MAX_POLICY_GUARD_COUNT=ONCHAIN_CONSTANTS['MAX_POLICY_GUARD_COUNT'],MAX_DATA_SIZE=ONCHAIN_CONSTANTS['MAX_DATA_SIZE'],MAX_ID_COUNT_ONCE=ONCHAIN_CONSTANTS['MAX_ID_COUNT_ONCE'],MAX_REWARD_COUNT=ONCHAIN_CONSTANTS['MAX_REWARD_COUNT'],MAX_CONTEXT_REPOSITORY_COUNT=ONCHAIN_CONSTANTS['MAX_CONTEXT_REPOSITORY_COUNT'],MAX_NAMED_OPERATOR_COUNT=ONCHAIN_CONSTANTS['MAX_NAMED_OPERATOR_COUNT'],MAX_NAMED_OPERATOR_ADDRESS_COUNT=ONCHAIN_CONSTANTS['MAX_NAMED_OPERATOR_ADDRESS_COUNT'],MAX_SALE_COUNT=ONCHAIN_CONSTANTS['MAX_SALE_COUNT'],MAX_REPOSITORY_COUNT=ONCHAIN_CONSTANTS['MAX_REPOSITORY_COUNT'],MAX_ARBITRATION_COUNT=ONCHAIN_CONSTANTS['MAX_ARBITRATION_COUNT'],MAX_DISCOUNT_COUNT_ONCE=ONCHAIN_CONSTANTS['MAX_DISCOUNT_COUNT_ONCE'],MAX_DISCOUNT_RECEIVER_ONCE=ONCHAIN_CONSTANTS['MAX_DISCOUNT_RECEIVER_ONCE'],MAX_DISCOUNT_TOTAL_COUNT=ONCHAIN_CONSTANTS['MAX_DISCOUNT_TOTAL_COUNT'],DEFAULT_LOCK_DURATION=ONCHAIN_CONSTANTS['DEFAULT_LOCK_DURATION'],MAX_REQUIRED_INFO_SIZE=ONCHAIN_CONSTANTS['MAX_REQUIRED_INFO_SIZE'],MAX_WIP_LENGTH=ONCHAIN_CONSTANTS['MAX_WIP_LENGTH'],MAX_WIP_HASH_LENGTH=ONCHAIN_CONSTANTS['MAX_WIP_HASH_LENGTH'],DISCOUNT_TYPE_RATES=ONCHAIN_CONSTANTS['DISCOUNT_TYPE_RATES'],DISCOUNT_TYPE_MINUS=ONCHAIN_CONSTANTS['DISCOUNT_TYPE_MINUS'],MAX_EXTERNAL_DEPOSIT_GUARD_COUNT=ONCHAIN_CONSTANTS['MAX_EXTERNAL_DEPOSIT_GUARD_COUNT'],MAX_EXTERNAL_WITHDRAW_GUARD_COUNT=ONCHAIN_CONSTANTS['MAX_EXTERNAL_WITHDRAW_GUARD_COUNT'],MAX_IM_COUNT=ONCHAIN_CONSTANTS['MAX_IM_COUNT'],MAX_TAGS_COUNT=ONCHAIN_CONSTANTS['MAX_TAGS_COUNT'],MAX_RECIPIENT_COUNT=ONCHAIN_CONSTANTS['MAX_RECIPIENT_COUNT'],MAX_PROPOSITION_COUNT=ONCHAIN_CONSTANTS['MAX_PROPOSITION_COUNT'],MAX_VOTOR_COUNT=ONCHAIN_CONSTANTS['MAX_VOTOR_COUNT'],WITHDRAW_DURATION_TIME=ONCHAIN_CONSTANTS['WITHDRAW_DURATION_TIME'],MAX_ADDRESS_COUNT=ONCHAIN_CONSTANTS['MAX_ADDRESS_COUNT'],MAX_RECORD_LENGTH=ONCHAIN_CONSTANTS['MAX_RECORD_LENGTH'],BRIDGE_MESSAGE_VERSION=ONCHAIN_CONSTANTS['BRIDGE_MESSAGE_VERSION'],BRIDGE_EVM_ADDRESS_LENGTH=ONCHAIN_CONSTANTS['BRIDGE_EVM_ADDRESS_LENGTH'],BRIDGE_CURRENT_VERSION=ONCHAIN_CONSTANTS['BRIDGE_CURRENT_VERSION'],BRIDGE_TRANSFER_STATUS_PENDING=ONCHAIN_CONSTANTS['BRIDGE_TRANSFER_STATUS_PENDING'],BRIDGE_TRANSFER_STATUS_APPROVED=ONCHAIN_CONSTANTS['BRIDGE_TRANSFER_STATUS_APPROVED'],BRIDGE_TRANSFER_STATUS_CLAIMED=ONCHAIN_CONSTANTS['BRIDGE_TRANSFER_STATUS_CLAIMED'],BRIDGE_TRANSFER_STATUS_NOT_FOUND=ONCHAIN_CONSTANTS['BRIDGE_TRANSFER_STATUS_NOT_FOUND'],MAX_GUARD_COUNT_DEMAND=ONCHAIN_CONSTANTS['MAX_GUARD_COUNT_DEMAND'],MAX_GUARD_COUNT_PASSPORT=ONCHAIN_CONSTANTS['MAX_GUARD_COUNT_PASSPORT'],MAX_GUARD_COUNT_REWARD=ONCHAIN_CONSTANTS['MAX_GUARD_COUNT_REWARD'],MAX_SUBMISSION_SIZE_PASSPORT=ONCHAIN_CONSTANTS['MAX_SUBMISSION_SIZE_PASSPORT'],MAX_RECORD_COUNT_REWARD=ONCHAIN_CONSTANTS['MAX_RECORD_COUNT_REWARD'],MAX_RECORD_COUNT_REGISTRAR=ONCHAIN_CONSTANTS['MAX_RECORD_COUNT_REGISTRAR'],WOWOK_WTS_PROOF_TYPE=ONCHAIN_CONSTANTS['WOWOK_WTS_PROOF_TYPE'],MAX_PROOF_SIZE=ONCHAIN_CONSTANTS['MAX_PROOF_SIZE'],MAX_SERVER_PUBKEY_SIZE=ONCHAIN_CONSTANTS['MAX_SERVER_PUBKEY_SIZE'],MAX_SERVER_SIGNATURE_SIZE=ONCHAIN_CONSTANTS['MAX_SERVER_SIGNATURE_SIZE'],resolve_submission_names=async a=>{for(const b of a['guard']){const c=await LocalMark['Instance']()['get_address'](b['object']);if(!c||!a38a(c))a38d('invalid\x20address','guard\x20object:\x20'+b['object']);b['object']=c;}for(const d of a['submission'])if(d['guard']){const e=await LocalMark['Instance']()['get_address'](d['guard']);if(e)d['guard']=e;}},verify_guard=async(a,b)=>{if(b['guard']['length']>MAX_GUARD_COUNT_PASSPORT)a38d('invalid\x20parameter','guards\x20invalid:\x20guard\x20count\x20exceeds\x20maximum\x20limit\x20'+MAX_GUARD_COUNT_PASSPORT);await resolve_submission_names(b);const c=new a38c(),d=newPassport(c);for(const f of b['guard'])await guardAdd(c,d,f['object'],b['submission']['find'](g=>g['guard']===f['object'])?.['submission']??[],f['impack']);verify(c,d),freeze(c,d);let e=await Account['Instance']()['sign_and_commit'](c,await a38j(a),a['network']);if(!e)a38d('fail','sign\x20and\x20commit\x20failed');if(e?.['digest']&&!e?.['objectChanges']){const g=await Config['Instance']()['network_get'](a['network']);e=await new a38b({'url':a38e(g),'network':g})['getTransactionBlock']({'digest':e?.['digest'],'options':{'showObjectChanges':!![]}});}return e;},get_guardSubmissions=async(a,b)=>{if(b['length']===0x0)a38d('invalid\x20parameter','guards\x20invalid:\x20guards\x20empty');b=[...new Set(b)];if(b['length']>MAX_GUARD_COUNT_PASSPORT)a38d('invalid\x20parameter','guards\x20invalid:\x20guard\x20count\x20exceeds\x20maximum\x20limit\x20\x20'+MAX_GUARD_COUNT_PASSPORT+'\x20once');const c=await a38i({'objects':[...b],'no_cache':a['no_cache'],'network':a['network']});if(!c['objects']||c['objects']['length']===0x0)a38d('invalid\x20parameter','Guard\x20objects\x20not\x20found:\x20'+b['join'](',\x20'));const d=[],e=new Map();c['objects']['forEach'](m=>{if(m['type']!=='Guard')a38d('invalid\x20parameter','guards\x20invalid:\x20guard\x20\x27'+m['object']+'\x27\x20is\x20not\x20a\x20guard\x20object');const n=m;n['relies']?.['forEach'](o=>{if(!d['includes'](o))d['push'](o);}),(n['rep_quote']instanceof Map?n['rep_quote']:new Map(Object['entries'](n['rep_quote']||{})))['forEach']((o,p)=>{if(e['has'](p)){const q=e['get'](p)||[];o['forEach'](s=>{if(!q['includes'](s))q['push'](s);}),e['set'](p,q);}else e['set'](p,o);});});const f=await a38i({'objects':[...e['keys']()],'no_cache':a['no_cache'],'network':a['network']}),g=[];f['objects']['forEach'](m=>{if(m['type']!=='Repository')a38d('invalid\x20parameter','rep\x20invalid:\x20rep\x20\x27'+m['object']+'\x27\x20is\x20not\x20a\x20guard\x20object');const n=m;n['policies']['forEach'](o=>{if((e['get'](n['object'])||[])['includes'](o['name'])&&o['quote_guard']&&!g['includes'](o['quote_guard']))g['push'](o['quote_guard']);});});const h=[...new Set([...g,...c['objects']['map'](m=>m['object'])])],i=new Set(h),j=[...d['filter'](m=>!i['has'](m))['map'](m=>({'object':m,'impack':![]})),...h['map'](m=>({'object':m,'impack':!![]}))];if(j['length']>MAX_GUARD_COUNT_PASSPORT)a38d('invalid\x20parameter','guards\x20invalid:\x20guard\x20count(include\x20relies\x20guards)\x20exceeds\x20maximum\x20limit\x20'+MAX_GUARD_COUNT_PASSPORT);const k=await a38i({'objects':[...d,...g],'no_cache':a['no_cache'],'network':a['network']}),l=[];return k['objects']['forEach'](m=>{const n=m,o=[];n['table']?.['forEach'](p=>{if(p['b_submission'])o['push'](p);});if(o['length']>0x0&&l['find'](p=>p['guard']===n['object'])===void 0x0)l['push']({'guard':n['object'],'submission':o});}),c['objects']['forEach'](m=>{const n=m,o=[];n['table']?.['forEach'](p=>{if(p['b_submission'])o['push'](p);});if(o['length']>0x0&&l['find'](p=>p['guard']===n['object'])===void 0x0)l['push']({'guard':n['object'],'submission':o});}),{'type':'submission','guard':j,'submission':l};};function passportFn(a){return'0x2::passport::'+a;}function newPassport(a){return a['moveCall']({'target':passportFn('new_v2'),'arguments':[a['object']['clock'](),a['object']['mutObjectLinkerTx']()]});}function freeze(a,b){a['moveCall']({'target':passportFn('freezen'),'arguments':[a38f(a,b)]});}function destroy(a,b){a['moveCall']({'target':passportFn('destroy'),'arguments':[a38f(a,b)]});}const guardAdd=async(a,b,c,d,e)=>{if(d['length']>0x100)a38d('guard\x20table\x20item\x20length\x20exceeded','Submission\x20size\x20exceeds\x20maximum\x20limit\x20256');const f=a['pure']['vector']('u8',d['map'](j=>j['identifier'])),g=[];for(let j=0x0;j<d['length'];j++){if(!d[j]['value'])a38d('invalid\x20value','Value\x20is\x20undefined\x20for\x20identifier\x20'+d[j]['identifier']);const k=await a38h(a38g(d[j]['value_type']),d[j]['value']);g['push'](Array['from'](k));}const h=a['pure']['vector']('vector<u8>',g);a['moveCall']({'target':passportFn('guard_add'),'arguments':[a38f(a,b),a38f(a,c),f,h,a['pure']['bool'](e)]});};function guardClear(a,b){a['moveCall']({'target':passportFn('guard_clear'),'arguments':[a38f(a,b)]});}function verify(a,b){return a['moveCall']({'target':passportFn('verify'),'arguments':[a38f(a,b)]});}export{MAX_POLICY_GUARD_COUNT as $,MAX_DISCOUNT_RECEIVER_ONCE as A,MAX_GUARD_COUNT_REWARD as B,MAX_AGENT_COUNT as C,ROLE_ENTITY as Ct,MAX_CONTEXT_REPOSITORY_COUNT as D,WOWOK_WTS_PROOF_TYPE as Dt,MAX_CONSENSUS_REPOSITORIES_COUNT as E,WITHDRAW_DURATION_TIME as Et,MAX_EXTERNAL_WITHDRAW_GUARD_COUNT as F,MAX_NAMED_OPERATOR_COUNT as G,MAX_IM_COUNT as H,MAX_FORWARD_COUNT as I,MAX_NODE_PAIR_COUNT as J,MAX_NODE_COUNT as K,MAX_FORWARD_ORDER_COUNT as L,MAX_DISPUTE_COUNT as M,MAX_ENTITY_COUNT as N,MAX_DATA_SIZE as O,MAX_EXTERNAL_DEPOSIT_GUARD_COUNT as P,MAX_POLICY_DESCRIPTION_LEN as Q,MAX_GUARD_COUNT_DEMAND as R,MAX_ADMIN_COUNT as S,ROLE_ADMIN as St,MAX_ARBITRATION_COUNT as T,USER_DEFINED_PERM_INDEX_START as Tt,MAX_ITEM_COUNT as U,MAX_ID_COUNT_ONCE as V,MAX_NAMED_OPERATOR_ADDRESS_COUNT as W,MAX_PERM_FOR_ENTITY as X,MAX_ORDER_ITEM_COUNT as Y,MAX_POLICY_COUNT as Z,BRIDGE_TRANSFER_STATUS_PENDING as _,MAX_WIP_HASH_LENGTH as _t,guardClear as a,MAX_RECORD_LENGTH as at,DISCOUNT_TYPE_RATES as b,ORDER_ROLE_AGENT as bt,resolve_submission_names as c,MAX_REWARD_COUNT as ct,BRIDGE_CURRENT_VERSION as d,MAX_SERVER_SIGNATURE_SIZE as dt,MAX_PROOF_SIZE as et,BRIDGE_EVM_ADDRESS_LENGTH as f,MAX_SHARING_COUNT as ft,BRIDGE_TRANSFER_STATUS_NOT_FOUND as g,MAX_VOTOR_COUNT as gt,BRIDGE_TRANSFER_STATUS_CLAIMED as h,MAX_VOTING_GUARD_COUNT as ht,guardAdd as i,MAX_RECORD_COUNT_REWARD as it,MAX_DISCOUNT_TOTAL_COUNT as j,MAX_DISCOUNT_COUNT_ONCE as k,verify as l,MAX_SALE_COUNT as lt,BRIDGE_TRANSFER_STATUS_APPROVED as m,MAX_TAGS_COUNT as mt,freeze as n,MAX_RECIPIENT_COUNT as nt,newPassport as o,MAX_REPOSITORY_COUNT as ot,BRIDGE_MESSAGE_VERSION as p,MAX_SUBMISSION_SIZE_PASSPORT as pt,MAX_NODE_COUNT_ONCHAIN as q,get_guardSubmissions as r,MAX_RECORD_COUNT_REGISTRAR as rt,passportFn as s,MAX_REQUIRED_INFO_SIZE as st,destroy as t,MAX_PROPOSITION_COUNT as tt,verify_guard as u,MAX_SERVER_PUBKEY_SIZE as ut,DEFAULT_LOCK_DURATION as v,MAX_WIP_LENGTH as vt,MAX_ALLOCATOR_COUNT as w,ROLE_OWNER as wt,MAX_ADDRESS_COUNT as x,ORDER_ROLE_OWNER as xt,DISCOUNT_TYPE_MINUS as y,ONCHAIN_CONSTANTS as yt,MAX_GUARD_COUNT_PASSPORT as z};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as a39a}from'./rolldown-runtime-D7D4PA-g.mjs';import{o as a39b}from'./exception-Xd2RFs2i.mjs';import{G as a39c,y as a39d}from'./common-
|
|
1
|
+
import{t as a39a}from'./rolldown-runtime-D7D4PA-g.mjs';import{o as a39b}from'./exception-Xd2RFs2i.mjs';import{G as a39c,y as a39d}from'./common-BXJtePqk.mjs';import{isValidAddress}from'./w/local/local.mjs';import{dt as a39e,et as a39f,ut as a39g}from'./passport-pfzFWOak.mjs';import{t as a39h}from'./base-DuL-IVOw.mjs';var proof_exports=a39a({'CallProof':()=>CallProof,'create':()=>create,'gen_proof':()=>gen_proof,'proofFn':()=>proofFn}),CallProof=class extends a39h{constructor(a){super(),this['data']=a;}async['call'](a){return await this['prepare'](a),await this['exec'](a);}async['operate'](a,b,c){await this['new_with_mark'](a,b,'Proof',create(b,this['data']?.['description'],this['data']?.['proof'],this['data']?.['server_pubkey'],this['data']?.['server_signature'],this['data']?.['proof_type'],this['data']?.['item_count'],this['data']?.['about_address']),this['data']?.['namedNew']);}};function proofFn(a){return'0x2::proof::'+a;}const gen_proof=async(a,b,c,d,e,f,g,h)=>{return await new CallProof({'proof':b,'server_pubkey':c,'server_signature':d,'proof_type':e,'description':f,'item_count':g,'about_address':h})['call'](a);};function create(a,b,c,d,e,f,g,h){if(!a39c(b))a39b('invalid\x20description','Description\x20length\x20exceeds\x20'+a39d);if(c['length']>a39f)a39b('invalid\x20parameter','Proof\x20length\x20exceeds\x20'+a39f);if(d['length']>a39g)a39b('invalid\x20parameter','Server\x20pubkey\x20length\x20exceeds\x20'+a39g);if(e['length']>a39e)a39b('invalid\x20parameter','Server\x20signature\x20length\x20exceeds\x20'+a39e);if(h&&!isValidAddress(h))a39b('invalid\x20address','About\x20address\x20'+h+'\x20is\x20not\x20valid');return a['moveCall']({'target':proofFn('create_wowok_proof_v2'),'arguments':[a['pure']['string'](c),a['pure']['option']('u64',g),a['pure']['string'](b),a['pure']['string'](d),a['pure']['string'](e),a['pure']['option']('address',h??null),a['pure']['u64'](f),a['object']['clock'](),a['object']['mutObjectLinkerTx']()]});}export{gen_proof as n,proof_exports as r,CallProof as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as
|
|
1
|
+
import{a as a40a,n as a40b,r as a40c,t as a40d}from'./publickey-CcBVAm0Y.mjs';import{fromBase64}from'@mysten/bcs';import{secp256k1}from'@noble/curves/secp256k1.js';const SECP256K1_PUBLIC_KEY_SIZE=0x21;var Secp256k1PublicKey=class extends a40d{static{this['SIZE']=SECP256K1_PUBLIC_KEY_SIZE;}constructor(a){super();if(typeof a==='string')this['data']=fromBase64(a);else{if(a instanceof Uint8Array)this['data']=a;else this['data']=Uint8Array['from'](a);}if(this['data']['length']!==SECP256K1_PUBLIC_KEY_SIZE)throw new Error('Invalid\x20public\x20key\x20input.\x20Expected\x20'+SECP256K1_PUBLIC_KEY_SIZE+'\x20bytes,\x20got\x20'+this['data']['length']);}['equals'](a){return super['equals'](a);}['toRawBytes'](){return this['data'];}['flag'](){return a40a['Secp256k1'];}async['verify'](a,b){let c;if(typeof b==='string'){const d=a40c(b);if(d['signatureScheme']!=='Secp256k1')throw new Error('Invalid\x20signature\x20scheme');if(!a40b(this['toRawBytes'](),d['publicKey']))throw new Error('Signature\x20does\x20not\x20match\x20public\x20key');c=d['signature'];}else c=b;return secp256k1['verify'](c,a,this['toRawBytes']());}};export{Secp256k1PublicKey as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as
|
|
1
|
+
import{a as a41a,n as a41b,r as a41c,t as a41d}from'./publickey-CcBVAm0Y.mjs';import{fromBase64}from'@mysten/bcs';import{ed25519}from'@noble/curves/ed25519.js';const PUBLIC_KEY_SIZE=0x20;var Ed25519PublicKey=class extends a41d{static{this['SIZE']=PUBLIC_KEY_SIZE;}constructor(a){super();if(typeof a==='string')this['data']=fromBase64(a);else{if(a instanceof Uint8Array)this['data']=a;else this['data']=Uint8Array['from'](a);}if(this['data']['length']!==PUBLIC_KEY_SIZE)throw new Error('Invalid\x20public\x20key\x20input.\x20Expected\x20'+PUBLIC_KEY_SIZE+'\x20bytes,\x20got\x20'+this['data']['length']);}['equals'](a){return super['equals'](a);}['toRawBytes'](){return this['data'];}['flag'](){return a41a['ED25519'];}async['verify'](a,b){let c;if(typeof b==='string'){const d=a41c(b);if(d['signatureScheme']!=='ED25519')throw new Error('Invalid\x20signature\x20scheme');if(!a41b(this['toRawBytes'](),d['publicKey']))throw new Error('Signature\x20does\x20not\x20match\x20public\x20key');c=d['signature'];}else c=b;return ed25519['verify'](c,a,this['toRawBytes']());}};export{Ed25519PublicKey as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{l as a42a}from'./wow-types-DctQuD2J.mjs';import{o as a42b}from'./bcs-Cjvfeyqf.mjs';import{fromBase64,toBase64}from'@mysten/bcs';import{blake2b}from'@noble/hashes/blake2.js';import{bytesToHex}from'@noble/hashes/utils.js';function messageWithIntent(a,b){return a42b['IntentMessage'](a42b['bytes'](b['length']))['serialize']({'intent':{'scope':{[a]:!![]},'version':{'V0':!![]},'appId':{'Wow':!![]}},'value':b})['toBytes']();}const SIGNATURE_SCHEME_TO_FLAG={'ED25519':0x0,'Secp256k1':0x1,'Secp256r1':0x2,'MultiSig':0x3,'Passkey':0x6,'Falcon512':0x7},SIGNATURE_SCHEME_TO_SIZE={'ED25519':0x20,'Secp256k1':0x21,'Secp256r1':0x21,'Passkey':0x21,'Falcon512':0x381},SIGNATURE_FLAG_TO_SCHEME={0x0:'ED25519',0x1:'Secp256k1',0x2:'Secp256r1',0x3:'MultiSig',0x6:'Passkey',0x7:'Falcon512'};function bytesEqual(c,d){if(c===d)return!![];if(c['length']!==d['length'])return![];for(let e=0x0;e<c['length'];e++)if(c[e]!==d[e])return![];return!![];}var PublicKey=class{['equals'](a){return bytesEqual(this['toRawBytes'](),a['toRawBytes']());}['toBase64'](){return toBase64(this['toRawBytes']());}['toString'](){throw new Error('`toString`\x20is\x20not\x20implemented\x20on\x20public\x20keys.\x20Use\x20`toBase64()`\x20or\x20`toRawBytes()`\x20instead.');}['toWowPublicKey'](){return toBase64(this['toWowBytes']());}['verifyWithIntent'](a,b,c){const d=blake2b(messageWithIntent(c,a),{'dkLen':0x20});return this['verify'](d,b);}['verifyPersonalMessage'](a,b){return this['verifyWithIntent'](a42b['byteVector']()['serialize'](a)['toBytes'](),b,'PersonalMessage');}['verifyTransaction'](a,b){return this['verifyWithIntent'](a,b,'TransactionData');}['verifyAddress'](a){return this['toWowAddress']()===a;}['toWowBytes'](){const a=this['toRawBytes'](),b=new Uint8Array(a['length']+0x1);return b['set']([this['flag']()]),b['set'](a,0x1),b;}['toWowAddress'](){const a=blake2b(this['toWowBytes'](),{'dkLen':0x20}),b=new Uint8Array(0x20);return b[0x0]=0x0,b['set'](a['slice'](0x0,0x1f),0x1),a42a(bytesToHex(b)['slice'](0x0,0x40));}};function parseSerializedKeypairSignature(a){const b=fromBase64(a),c=SIGNATURE_FLAG_TO_SCHEME[b[0x0]];switch(c){case'ED25519':case'Secp256k1':case'Secp256r1':case'Falcon512':const d=SIGNATURE_SCHEME_TO_SIZE[c],e=b['slice'](0x1,b['length']-d);return{'serializedSignature':a,'signatureScheme':c,'signature':e,'publicKey':b['slice'](0x1+e['length']),'bytes':b};default:throw new Error('Unsupported\x20signature\x20scheme');}}export{SIGNATURE_SCHEME_TO_FLAG as a,SIGNATURE_FLAG_TO_SCHEME as i,bytesEqual as n,SIGNATURE_SCHEME_TO_SIZE as o,parseSerializedKeypairSignature as r,messageWithIntent as s,PublicKey as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as
|
|
1
|
+
import{a as a43a,n as a43b,t as a43c}from'./publickey-CcBVAm0Y.mjs';import{d as a43d}from'./keypair-Y6T-6uC9.mjs';import{fromBase64}from'@mysten/bcs';import{p256}from'@noble/curves/nist.js';const SECP256R1_PUBLIC_KEY_SIZE=0x21;var Secp256r1PublicKey=class extends a43c{static{this['SIZE']=SECP256R1_PUBLIC_KEY_SIZE;}constructor(a){super();if(typeof a==='string')this['data']=fromBase64(a);else{if(a instanceof Uint8Array)this['data']=a;else this['data']=Uint8Array['from'](a);}if(this['data']['length']!==SECP256R1_PUBLIC_KEY_SIZE)throw new Error('Invalid\x20public\x20key\x20input.\x20Expected\x20'+SECP256R1_PUBLIC_KEY_SIZE+'\x20bytes,\x20got\x20'+this['data']['length']);}['equals'](a){return super['equals'](a);}['toRawBytes'](){return this['data'];}['flag'](){return a43a['Secp256r1'];}async['verify'](a,b){let c;if(typeof b==='string'){const d=a43d(b);if(d['signatureScheme']!=='Secp256r1')throw new Error('Invalid\x20signature\x20scheme');if(!a43b(this['toRawBytes'](),d['publicKey']))throw new Error('Signature\x20does\x20not\x20match\x20public\x20key');c=d['signature'];}else c=b;return p256['verify'](c,a,this['toRawBytes']());}};export{Secp256r1PublicKey as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{l as a44a}from'./wow-types-DctQuD2J.mjs';import{o as a44b}from'./bcs-Cjvfeyqf.mjs';import{a as a44c,i as a44d,n as a44e,t as a44f}from'./publickey-CcBVAm0Y.mjs';import{a as a44g,d as a44h,p as a44i}from'./keypair-Y6T-6uC9.mjs';import{t as a44j}from'./publickey-CZRptlhE.mjs';import{t as a44k}from'./publickey-CQJKhU0a.mjs';import{t as a44l}from'./publickey-Co-74gWq.mjs';import{t as a44m}from'./publickey-x1pzVVw_.mjs';import{fromBase64,toBase64}from'@mysten/bcs';import{blake2b}from'@noble/hashes/blake2.js';import{bytesToHex}from'@noble/hashes/utils.js';var MultiSigSigner=class extends a44g{#pubkey;#signers;constructor(a,b=[]){super(),this.#pubkey=a,this.#signers=b;const c=new Set();let d=0x0;const e=a['getPublicKeys']()['map'](({weight:f,publicKey:g})=>({'weight':f,'address':g['toWowAddress']()}));for(const f of b){const g=f['toWowAddress']();if(c['has'](g))throw new Error('Can\x27t\x20create\x20MultiSigSigner\x20with\x20duplicate\x20signers');c['add'](g);const h=e['find'](i=>i['address']===g)?.['weight'];if(!h)throw new Error('Signer\x20'+g+'\x20is\x20not\x20part\x20of\x20the\x20MultiSig\x20public\x20key');d+=h;}if(d<a['getThreshold']())throw new Error('Combined\x20weight\x20of\x20signers\x20is\x20less\x20than\x20threshold');}['getKeyScheme'](){return'MultiSig';}['getPublicKey'](){return this.#pubkey;}['sign'](a){throw new Error('MultiSigSigner\x20does\x20not\x20support\x20signing\x20directly.\x20Use\x20signTransaction\x20or\x20signPersonalMessage\x20instead');}async['signTransaction'](a){return{'signature':this.#pubkey['combinePartialSignatures'](await Promise['all'](this.#signers['map'](async b=>(await b['signTransaction'](a))['signature']))),'bytes':toBase64(a)};}async['signPersonalMessage'](a){return{'signature':this.#pubkey['combinePartialSignatures'](await Promise['all'](this.#signers['map'](async b=>(await b['signPersonalMessage'](a))['signature']))),'bytes':toBase64(a)};}};async function verifySignature(a,b,c){const d=parseSignature(b);if(!await d['publicKey']['verify'](a,d['serializedSignature']))throw new Error('Signature\x20is\x20not\x20valid\x20for\x20the\x20provided\x20data');if(c?.['address']&&!d['publicKey']['verifyAddress'](c['address']))throw new Error('Signature\x20is\x20not\x20valid\x20for\x20the\x20provided\x20address');return d['publicKey'];}async function verifyPersonalMessageSignature(a,b,c={}){const d=parseSignature(b,c);if(!await d['publicKey']['verifyPersonalMessage'](a,d['serializedSignature']))throw new Error('Signature\x20is\x20not\x20valid\x20for\x20the\x20provided\x20message');if(c?.['address']&&!d['publicKey']['verifyAddress'](c['address']))throw new Error('Signature\x20is\x20not\x20valid\x20for\x20the\x20provided\x20address');return d['publicKey'];}async function verifyTransactionSignature(a,b,c={}){const d=parseSignature(b,c);if(!await d['publicKey']['verifyTransaction'](a,d['serializedSignature']))throw new Error('Signature\x20is\x20not\x20valid\x20for\x20the\x20provided\x20Transaction');if(c?.['address']&&!d['publicKey']['verifyAddress'](c['address']))throw new Error('Signature\x20is\x20not\x20valid\x20for\x20the\x20provided\x20address');return d['publicKey'];}function parseSignature(a,b={}){const c=a44h(a);if(c['signatureScheme']==='MultiSig')return{...c,'publicKey':new MultiSigPublicKey(c['multisig']['multisig_pk'])};const d=publicKeyFromRawBytes(c['signatureScheme'],c['publicKey'],b);return{...c,'publicKey':d};}function publicKeyFromRawBytes(a,b,c={}){let d;switch(a){case'ED25519':d=new a44j(b);break;case'Secp256k1':d=new a44k(b);break;case'Secp256r1':d=new a44l(b);break;case'MultiSig':d=new MultiSigPublicKey(b);break;case'Passkey':d=new a44i(b);break;case'Falcon512':d=new a44m(b);break;default:throw new Error('Unsupported\x20signature\x20scheme\x20'+a);}if(c['address']&&d['toWowAddress']()!==c['address'])throw new Error('Public\x20key\x20bytes\x20do\x20not\x20match\x20the\x20provided\x20address');return d;}function publicKeyFromWowBytes(a,b={}){const c=typeof a==='string'?fromBase64(a):a,d=a44d[c[0x0]];return publicKeyFromRawBytes(d,c['slice'](0x1),b);}var MultiSigPublicKey=class MultiSigPublicKey extends a44f{constructor(a,b={}){super();if(typeof a==='string')this['rawBytes']=fromBase64(a),this['multisigPublicKey']=a44b['MultiSigPublicKey']['parse'](this['rawBytes']);else a instanceof Uint8Array?(this['rawBytes']=a,this['multisigPublicKey']=a44b['MultiSigPublicKey']['parse'](this['rawBytes'])):(this['multisigPublicKey']=a,this['rawBytes']=a44b['MultiSigPublicKey']['serialize'](a)['toBytes']());if(this['multisigPublicKey']['threshold']<0x1)throw new Error('Invalid\x20threshold');const c=new Set();this['publicKeys']=this['multisigPublicKey']['pk_map']['map'](({pubKey:e,weight:f})=>{const [g,h]=Object['entries'](e)['filter'](([j])=>j!=='$kind')[0x0],i=Uint8Array['from'](h)['toString']();if(c['has'](i))throw new Error('Multisig\x20does\x20not\x20support\x20duplicate\x20public\x20keys');c['add'](i);if(f<0x1)throw new Error('Invalid\x20weight');return{'publicKey':publicKeyFromRawBytes(g,Uint8Array['from'](h),b),'weight':f};});const d=this['publicKeys']['reduce']((e,{weight:f})=>e+f,0x0);if(this['multisigPublicKey']['threshold']>d)throw new Error('Unreachable\x20threshold');if(this['publicKeys']['length']>0xa)throw new Error('Max\x20number\x20of\x20signers\x20in\x20a\x20multisig\x20is\x2010');if(this['publicKeys']['length']<0x1)throw new Error('Min\x20number\x20of\x20signers\x20in\x20a\x20multisig\x20is\x201');}static['fromPublicKeys']({threshold:a,publicKeys:b}){return new MultiSigPublicKey({'pk_map':b['map'](({publicKey:c,weight:d})=>{return{'pubKey':{[a44d[c['flag']()]]:c['toRawBytes']()},'weight':d};}),'threshold':a});}['equals'](a){return super['equals'](a);}['toRawBytes'](){return this['rawBytes'];}['getPublicKeys'](){return this['publicKeys'];}['getThreshold'](){return this['multisigPublicKey']['threshold'];}['getSigner'](...a){return new MultiSigSigner(this,a);}['toWowAddress'](){const a=new Uint8Array(0x28d);a['set']([a44c['MultiSig']]),a['set'](a44b['u16']()['serialize'](this['multisigPublicKey']['threshold'])['toBytes'](),0x1);let b=0x3;for(const {publicKey:c,weight:d}of this['publicKeys']){const e=c['toWowBytes']();a['set'](e,b),b+=e['length'],a['set']([d],b++);}return a44a(bytesToHex(blake2b(a['slice'](0x0,b),{'dkLen':0x20})));}['flag'](){return a44c['MultiSig'];}async['verify'](a,b){const c=a44h(b);if(c['signatureScheme']!=='MultiSig')throw new Error('Invalid\x20signature\x20scheme');const {multisig:d}=c;let e=0x0;if(!a44e(a44b['MultiSigPublicKey']['serialize'](this['multisigPublicKey'])['toBytes'](),a44b['MultiSigPublicKey']['serialize'](d['multisig_pk'])['toBytes']()))return![];for(const {publicKey:f,weight:g,signature:h}of parsePartialSignatures(d)){if(!await f['verify'](a,h))return![];e+=g;}return e>=this['multisigPublicKey']['threshold'];}['combinePartialSignatures'](a){if(a['length']>0xa)throw new Error('Max\x20number\x20of\x20signatures\x20in\x20a\x20multisig\x20is\x2010');let b=0x0;const c=new Array(a['length']);for(let g=0x0;g<a['length'];g++){const h=a44h(a[g]);if(h['signatureScheme']==='MultiSig')throw new Error('MultiSig\x20is\x20not\x20supported\x20inside\x20MultiSig');let k=h['publicKey'];c[g]={[h['signatureScheme']]:h['signature']};let l;for(let m=0x0;m<this['publicKeys']['length'];m++)if(a44e(k,this['publicKeys'][m]['publicKey']['toRawBytes']())){if(b&0x1<<m)throw new Error('Received\x20multiple\x20signatures\x20from\x20the\x20same\x20public\x20key');l=m;break;}if(l===void 0x0)throw new Error('Received\x20signature\x20from\x20unknown\x20public\x20key');b|=0x1<<l;}const d={'sigs':c,'bitmap':b,'multisig_pk':this['multisigPublicKey']},e=a44b['MultiSig']['serialize'](d,{'maxSize':0x2000})['toBytes'](),f=new Uint8Array(e['length']+0x1);return f['set']([a44c['MultiSig']]),f['set'](e,0x1),toBase64(f);}};function parsePartialSignatures(a,b={}){const c=new Array(a['sigs']['length']);for(let d=0x0;d<a['sigs']['length'];d++){const [e,f]=Object['entries'](a['sigs'][d])['filter'](([l])=>l!=='$kind')[0x0],g=asIndices(a['bitmap'])['at'](d),h=a['multisig_pk']['pk_map'][g],j=Uint8Array['from'](Object['values'](h['pubKey'])[0x0]);if(e==='MultiSig')throw new Error('MultiSig\x20is\x20not\x20supported\x20inside\x20MultiSig');const k=publicKeyFromRawBytes(e,j,b);c[d]={'signatureScheme':e,'signature':Uint8Array['from'](f),'publicKey':k,'weight':h['weight']};}return c;}function asIndices(a){if(a<0x0||a>0x400)throw new Error('Invalid\x20bitmap');const b=[];for(let c=0x0;c<0xa;c++)if((a&0x1<<c)!==0x0)b['push'](c);return Uint8Array['from'](b);}export{verifyPersonalMessageSignature as a,MultiSigSigner as c,publicKeyFromWowBytes as i,parsePartialSignatures as n,verifySignature as o,publicKeyFromRawBytes as r,verifyTransactionSignature as s,MultiSigPublicKey as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as
|
|
1
|
+
import{t as a45a}from'./rolldown-runtime-D7D4PA-g.mjs';import{a as a45b,n as a45c,r as a45d,t as a45e}from'./publickey-CcBVAm0Y.mjs';import{fromBase64}from'@mysten/bcs';import{falcon512padded}from'@noble/post-quantum/falcon.js';var publickey_exports=a45a({'Falcon512PublicKey':()=>Falcon512PublicKey});const PUBLIC_KEY_SIZE=0x381;var Falcon512PublicKey=class extends a45e{static{this['SIZE']=PUBLIC_KEY_SIZE;}constructor(a){super();if(typeof a==='string')this['data']=fromBase64(a);else{if(a instanceof Uint8Array)this['data']=a;else this['data']=Uint8Array['from'](a);}if(this['data']['length']!==PUBLIC_KEY_SIZE)throw new Error('Invalid\x20public\x20key\x20input.\x20Expected\x20'+PUBLIC_KEY_SIZE+'\x20bytes,\x20got\x20'+this['data']['length']);}['equals'](a){return super['equals'](a);}['toRawBytes'](){return this['data'];}['flag'](){return a45b['Falcon512'];}async['verify'](a,b){let c;if(typeof b==='string'){const d=a45d(b);if(d['signatureScheme']!=='Falcon512')throw new Error('Invalid\x20signature\x20scheme');if(!a45c(this['toRawBytes'](),d['publicKey']))throw new Error('Signature\x20does\x20not\x20match\x20public\x20key');c=d['signature'];}else c=b;return falcon512padded['verify'](c,a,this['toRawBytes']());}};export{publickey_exports as n,Falcon512PublicKey as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as a46a}from'./client-oE69u-rK.mjs';import{C as a46b,T as a46c,b as a46d,v as a46e,w as a46f,x as a46g}from'./utils-CoXIRMWK.mjs';import{o as a46h}from'./exception-Xd2RFs2i.mjs';import{n as a46i}from'./network-y8yMus5q.mjs';import{F as a46j,I as a46k,L as a46l,M as a46m,c as a46n,j as a46o,l as a46p,n as a46q,u as a46r}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{compressedPubKeyToAddress}from'./w/local/evm/rlp.mjs';import{GetAccountOrMark_Address}from'./w/local/index.mjs';import{B as a46s,D as a46t,F as a46u,I as a46v,L as a46w,N as a46x,P as a46y,X as a46z,ft as a46A,ht as a46B,mt as a46C,nt as a46D,z as a46E}from'./object-CJHJxXlc.mjs';import{query_permissions}from'./w/call/permission.mjs';const AFFILIATION_TABLE_META={'object_linker_core':{'address':'0xaae','retention':'lossless','note':'Fixed\x20bindings:\x20who\x20is\x20attached\x20to\x20this\x20target.'},'object_linker_tx':{'address':'0xaaf','retention':'fifo','note':'Recent\x20tx\x20touches:\x20orders/progress/payments/guards\x20that\x20targeted\x20this\x20object.'},'entity_order':{'address':'0xaa8','retention':'membership','note':'Orders\x20the\x20account\x20participates\x20in\x20(role\x20bitmask\x201=owner,\x202=agent).'},'entity_permission':{'address':'0xaad','retention':'membership','note':'Permissions\x20the\x20account\x20holds\x20a\x20role\x20in\x20(1=owner,\x202=admin,\x204=entity).'},'entity_contact':{'address':'0xaa9','retention':'membership','note':'Customer-service\x20Contacts\x20the\x20account\x20is\x20a\x20member\x20of.'},'registrar':{'address':'0xaaa','retention':'membership','note':'Like/dislike/favor\x20votes\x20the\x20account\x20received.'},'entity':{'address':'0xaab','retention':'membership','note':'Account\x20identity\x20records.'}},CORE_KEY_TYPES=new Set(['Permission','Contact','Reward','Arbitration','Repository','Machine','Guard']),AFFILIATION_TABLES_BY_TYPE=((()=>{const a={};for(const b of Object['values'](a46o))a[b]=['object_linker_tx'];for(const c of Object['values'](a46o))if(CORE_KEY_TYPES['has'](c))a[c]=['object_linker_core','object_linker_tx'];return a['user']=['object_linker_tx','entity_order','entity_permission','entity_contact','registrar','entity'],a;})()),query_affiliations=async a=>{const [b,c]=await Promise['all']([Config['Instance']()['network_get'](a['network']),GetAccountOrMark_Address(typeof a['address']==='string'?{'name_or_address':a['address']}:a['address'])]);if(!c)a46h('invalid\x20parameter','query_affiliations.address\x20not\x20found');const d=a46t(c),e=AFFILIATION_TABLES_BY_TYPE[d??'user']??[],f={'address':c,'no_cache':a['no_cache'],'network':b},[g,h,j,k,l,m,n]=await Promise['all']([e['includes']('object_linker_core')?a46E(f)['catch'](()=>void 0x0):Promise['resolve'](void 0x0),e['includes']('object_linker_tx')?a46s(f)['catch'](()=>void 0x0):Promise['resolve'](void 0x0),e['includes']('entity_order')?a46u(f)['catch'](()=>void 0x0):Promise['resolve'](void 0x0),e['includes']('entity_permission')?a46v(f)['catch'](()=>void 0x0):Promise['resolve'](void 0x0),e['includes']('entity_contact')?a46x(f)['catch'](()=>void 0x0):Promise['resolve'](void 0x0),e['includes']('registrar')?a46y(f)['catch'](()=>void 0x0):Promise['resolve'](void 0x0),e['includes']('entity')?a46w(f)['catch'](()=>void 0x0):Promise['resolve'](void 0x0)]),o=[];for(const p of g?.['items']??[])o['push']({'table':'object_linker_core','who':p['who'],'time':p['time']});for(const q of h?.['items']??[])o['push']({'table':'object_linker_tx','who':q['who'],'time':q['time']});for(const r of j?.['items']??[])o['push']({'table':'entity_order','who':r['order'],'time':r['time'],'role':r['role']});for(const s of k?.['items']??[])o['push']({'table':'entity_permission','who':s['permission'],'time':s['time'],'role':s['role']});for(const t of l?.['items']??[])o['push']({'table':'entity_contact','who':t['contact'],'time':t['time']});for(const u of m?.['votes']??[])o['push']({'table':'registrar','who':u['who'],'time':u['time']});return{'address':c,'object_type':d,'tables_queried':e,'entries':o,'raw':{'reverse_core':g,'reverse_tx':h,'order_membership':j,'permission_membership':k,'contact_membership':l,'registrar':m,'entity':n}};},isValidObjectAddr=a=>typeof a==='string'&&a['length']>0x2&&a!=='0x0',MAX_NODE_LIST_PAGES=0x5,query_serviceContext=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=a46B(b)?'graphql':'json-rpc';let d;if(typeof a['service']==='string'){const j=(await a46z({'objects':[a['service']],'no_cache':a['no_cache'],'network':b}))['objects']?.['find'](k=>k['type']==='Service');if(!j)a46h('fail','query_serviceContext:\x20service\x20'+a['service']+'\x20not\x20found');d=j;}else d=a['service'];const e=new Map(),f=(k,l)=>{if(isValidObjectAddr(l))e['set'](k,l);};f('machine',d['machine']),f('buy_guard',d['buy_guard']),f('permission',d['permission']),f('um',d['um']);for(const k of d['arbitrations']??[])f('arbitrations:'+k,k);for(const l of d['rewards']??[])f('rewards:'+l,l);for(const m of d['repositories']??[])f('repositories:'+m,m);for(const n of d['order_allocators']?.['allocators']??[])f('allocator_guard:'+n['guard'],n['guard']);const g={};if(e['size']>0x0){const o=await a46z({'objects':[...e['values']()],'no_cache':a['no_cache'],'network':b});for(const p of o['objects']??[])if(p?.['object'])g[p['object']]=p;}const h=q=>q?g[q]:void 0x0;let i;if(a['include_machine_nodes']&&isValidObjectAddr(d['machine']))i=await fetchMachineNodes(d['machine'],a);return{'service':d,'machine':h(d['machine']),'buy_guard':h(d['buy_guard']),'permission':h(d['permission']),'allocator_guards':(d['order_allocators']?.['allocators']??[])['map'](q=>h(q['guard']))['filter'](q=>q?.['type']==='Guard'),'referenced':g,'machine_nodes':i,'transport':c};},fetchMachineNodes=async(a,b)=>{const c=await Config['Instance']()['network_get'](b['network']),d=[];let e;for(let f=0x0;f<MAX_NODE_LIST_PAGES;f++){let g;try{g=await a46D({'parent':a,'cursor':e,'limit':null,'no_cache':b['no_cache'],'network':c});}catch{break;}if(!g?.['items']?.['length'])break;for(const h of g['items'])if(h['object'])d['push'](h['object']);e=g['nextCursor'];if(!e||!g['hasNextPage'])break;}if(d['length']===0x0)return[];return((await a46z({'objects':d,'no_cache':b['no_cache'],'network':c}))['objects']??[])['filter'](i=>i?.['type']==='TableItem_MachineNode');},query_events_json=async a=>{try{const b=JSON['parse'](a);return JSON['stringify']({'data':await query_events(b)});}catch(c){return JSON['stringify']({'error':c?.['toString']()});}},query_events=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=a['cursor']?a['cursor']['eventSeq']+':'+a['cursor']['txDigest']:'',e=a['limit']?.['toString']()??'',f=a['order']??'',g=await Cache['read'](['event',a['type'],c,e,f,b],async()=>{const h=await events(a['type'],a);return{'expire':Cache['DefaultExpireTime'](!!a['cursor']),'data':h};},a['no_cache']);if(g){const h=g['data'];return h['cache_expire']=g['expire'],h;}},events=async(a,b)=>{const c=await Config['Instance']()['network_get'](b['network']),d=new a46a({'url':a46i(c),'network':c}),e=a==='ArbEvent'||a==='NewOrderEvent'||a==='ProgressEvent'||a==='DemandPresentEvent'||a==='DemandFeedbackEvent'||a==='NewEntityEvent'||a==='ServiceEvent'||a==='DemandChangedEvent'||a==='VoteEvent'||a==='FeedbackEvent'||a==='AllocationEvent'||a==='TreasuryEvent'||a==='RewardClaimEvent'||a==='RewardFundEvent'||a==='NewPaymentEvent';let f;if(e)f='0x2'+{'ArbEvent':'::arb::ArbEvent','NewOrderEvent':'::order::NewOrderEvent','ProgressEvent':'::progress::ProgressEvent','DemandPresentEvent':'::demand::PresentEvent','DemandFeedbackEvent':'::demand::DemandEvent','NewEntityEvent':'::registrar::NewEntityEvent','ServiceEvent':'::service::ServiceEvent','DemandChangedEvent':'::demand::DemandChangedEvent','VoteEvent':'::arb::VoteEvent','FeedbackEvent':'::arb::FeedbackEvent','AllocationEvent':'::allocation::AllocationEvent','TreasuryEvent':'::treasury::TreasuryEvent','RewardClaimEvent':'::reward::RewardClaimEvent','RewardFundEvent':'::reward::RewardFundEvent','NewPaymentEvent':'::payment::NewPaymentEvent'}[a];else f=a;const g=await d['queryEvents']({'query':{'MoveEventType':f},'cursor':b['cursor'],'limit':b['limit'],'order':b['order']==='descending'?'descending':'ascending'});return{'data':g?.['data']?.['map'](parseWowokEventItem),'hasNextPage':g?.['hasNextPage'],'nextCursor':g?.['nextCursor']};},parseWowokEventItem=a=>{if(a?.['packageId']!==void 0x0?a46C(a['packageId'])==='0x2':a?.['type']?.['startsWith']('0x2::')){if(a?.['type']?.['includes']('::order::NewOrderEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'NewOrderEvent','order':a?.['parsedJson']?.['object'],'service':a?.['parsedJson']?.['service'],'progress':a?.['parsedJson']?.['progress']?.['some']??null,'amount':a?.['parsedJson']?.['amount'],'discount':a?.['parsedJson']?.['discount']?.['some']??null,'allocation':a?.['parsedJson']?.['allocation']?.['some']??null};else{if(a?.['type']?.['includes']('::demand::PresentEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'DemandPresentEvent','demand':a?.['parsedJson']?.['object'],'service':a?.['parsedJson']?.['service']?.['some']??null,'recommend':a?.['parsedJson']?.['tips']};else{if(a?.['type']?.['includes']('::demand::DemandEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'DemandFeedbackEvent','demand':a?.['parsedJson']?.['object'],'service':a?.['parsedJson']?.['service']?.['some']??null,'feedback':a?.['parsedJson']?.['feedback'],'acceptance_score':a?.['parsedJson']?.['acceptance_score']?.['some']??null};else{if(a?.['type']?.['includes']('::progress::ProgressEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'ProgressEvent','progress':a?.['parsedJson']?.['object'],'machine':a?.['parsedJson']?.['machine'],'task':a?.['parsedJson']?.['task'],'node':a?.['parsedJson']?.['node'],'forward':a?.['parsedJson']?.['forward'],'hold':a?.['parsedJson']?.['hold']};else{if(a?.['type']?.['includes']('::arb::ArbEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'ArbEvent','arb':a?.['parsedJson']?.['object'],'arbitration':a?.['parsedJson']?.['arbitration'],'order':a?.['parsedJson']?.['order'],'status':a?.['parsedJson']?.['status'],'indemnity_amount':a?.['parsedJson']?.['indemnity_amount']?.['some']??null,'compensation_time':a?.['parsedJson']?.['compensation_time']?.['some']??null};else{if(a?.['type']?.['includes']('::service::ServiceEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'ServiceEvent','object':a?.['parsedJson']?.['object'],'location':a?.['parsedJson']?.['location'],'description':a?.['parsedJson']?.['description']};else{if(a?.['type']?.['includes']('::demand::DemandChangedEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'DemandChangedEvent','object':a?.['parsedJson']?.['object'],'location':a?.['parsedJson']?.['location'],'description':a?.['parsedJson']?.['description'],'rewards':a?.['parsedJson']?.['rewards']};else{if(a?.['type']?.['includes']('::arb::VoteEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'VoteEvent','object':a?.['parsedJson']?.['object'],'voter':a?.['parsedJson']?.['voter'],'agrees':a?.['parsedJson']?.['agrees'],'weight':a?.['parsedJson']?.['weight']};else{if(a?.['type']?.['includes']('::arb::FeedbackEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'FeedbackEvent','object':a?.['parsedJson']?.['object'],'feedback':a?.['parsedJson']?.['feedback']};else{if(a?.['type']?.['includes']('::registrar::NewEntityEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'NewEntityEvent','resource':a?.['parsedJson']?.['resource'],'address':a?.['sender'],'referrer':a?.['parsedJson']?.['referrer']?.['some']??null};else{if(a?.['type']?.['includes']('::allocation::AllocationEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'AllocationEvent','object':a?.['parsedJson']?.['object'],'payment':a?.['parsedJson']?.['payment'],'guard':a?.['parsedJson']?.['guard'],'amount':a?.['parsedJson']?.['amount']};else{if(a?.['type']?.['includes']('::treasury::TreasuryEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'TreasuryEvent','object':a?.['parsedJson']?.['object'],'op':a?.['parsedJson']?.['op'],'payment':a?.['parsedJson']?.['payment'],'amount':a?.['parsedJson']?.['amount'],'external_guard':a?.['parsedJson']?.['external_guard']?.['some']??null,'store_from_id':a?.['parsedJson']?.['store_from_id']?.['some']??null};else{if(a?.['type']?.['includes']('::reward::RewardClaimEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'RewardClaimEvent','object':a?.['parsedJson']?.['object'],'guard':a?.['parsedJson']?.['guard'],'recipient':a?.['parsedJson']?.['recipient'],'amount':a?.['parsedJson']?.['amount'],'total':a?.['parsedJson']?.['total'],'balance_left':a?.['parsedJson']?.['balance_left'],'store_from_id':a?.['parsedJson']?.['store_from_id']?.['some']??null};else{if(a?.['type']?.['includes']('::reward::RewardFundEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'RewardFundEvent','object':a?.['parsedJson']?.['object'],'amount':a?.['parsedJson']?.['amount'],'balance':a?.['parsedJson']?.['balance'],'from_payment':a?.['parsedJson']?.['from_payment']?.['some']??null};else{if(a?.['type']?.['includes']('::payment::NewPaymentEvent')){const b=a?.['parsedJson']??{};return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'NewPaymentEvent','object':b['object'],'amount':b['amount'],'from_object':b['from_object']?.['some']??null,'info':{'for_object':b['info']?.['for_object']?.['some']??null,'for_guard':b['info']?.['for_guard']?.['some']??null,'remark':b['info']?.['remark']??'','index':b['info']?.['index']??0x0},'record':(b['record']??[])['map'](c=>({'recipient':c?.['recipient'],'amount':c?.['amount']}))};}}}}}}}}}}}}}}}}return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':a?.['type'],'parsedJson_raw':a?.['parsedJson']};};let BridgeChainId=function(a){return a[a['WowMainnet']=0x0]='WowMainnet',a[a['EthMainnet']=0xa]='EthMainnet',a;}({});function isEvmChain(a){return a===0xa;}function isWowChain(a){return a===0x0;}let BridgeVersion=function(a){return a[a['V1']=0x1]='V1',a[a['V2']=0x2]='V2',a;}({}),BridgeTokenId=function(a){return a['Eth']='ETH',a['Weth']='WETH',a['Wbtc']='WBTC',a['Usdc']='USDC',a['Usdt']='USDT',a;}({}),TransferStatus=function(a){return a['Pending']='pending',a['Approved']='approved',a['Claimed']='claimed',a['Failed']='failed',a['NotFound']='not_found',a;}({}),BridgeErrorCode=function(a){return a['EstimateFailed']='ESTIMATE_FAILED',a['Reverted']='REVERTED',a['AlreadyProcessed']='ALREADY_PROCESSED',a['Timeout']='TIMEOUT',a['NoSignatures']='NO_SIGNATURES',a['NodeUnavailable']='NODE_UNAVAILABLE',a['InvalidParam']='INVALID_PARAM',a['AccountNotFound']='ACCOUNT_NOT_FOUND',a['Unknown']='UNKNOWN',a;}({});const MAINNET_COMMITTEE_PUBKEYS=['0x032f020d08ca4a8632e2442ae789b961265d80b6058135bba1d2daa30ddea0acf0','0x02bb110601a69423651f1faadb1d510d895cd91baa37a470f09479aa84ef9128bb','0x03add24c04f5149421849510709d309f826f42751922f1131c784283fc2bad0b0b'],MAINNET_COMMITTEE_WEIGHTS=[0xd06,0xd06,0xd05],MAINNET_COMMITTEE_MEMBER_ADDRESSES=['0x373ee3febe317168fe58c66faaa446e26e57c2f1','0x2829ea9323836b5c8e0f8c47cd3abdc70962e891','0x97b3c777af04e4df7cb3fd1c92893a0358db9beb'],MAINNET_BRIDGE_CONFIG={'wow':{'rpcUrl':'https://fullnode.mainnet.wowok.net:443','bridgeObjectId':'0x9','clockObjectId':'0x6','network':'mainnet'},'ethereum':{'chainId':0x1,'bridgeChainId':0xa,'rpcUrl':'https://eth.drpc.org','bridgeProxyAddress':'0xA8d914Cc121CB2d2179Ca540bC0B8213F224aa00','bridgeVaultAddress':'0xC9A6EF1A3dC6f0681d39C318c4882FB7704a7848','bridgeCommitteeAddress':'0x822779c4183ed69bdd38e0454ec1826d2ae186a5','bridgeConfigAddress':'0xaf9414c8ab0a0905a6b9ad24c927416ac765a4ce'},'bridgeNodeUrls':['http://bridge.mainnet.wowok.net:9211','http://150.158.76.254:9211','http://110.40.159.14:9211'],'defaultVersion':0x2,'tokens':[{'tokenId':0x1,'symbol':'WBTC','wowTypeTag':'0xf1f337e86cbaf642ad3991a2b277eb43f72d6fd12f9aa5dd77d5ced49c5c282e::btc::BTC','evmAddress':'0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599','evmDecimals':0x8,'wowDecimals':0x8,'evmChains':[0xa],'description':'Wrapped\x20BTC\x20(ERC20).\x20Bitcoin\x20price\x20exposure\x20on\x20Ethereum;\x201\x20WBTC\x20=\x201\x20BTC.'},{'tokenId':0x2,'symbol':'ETH','wowTypeTag':'0xf1c1e632980fce003b856ca6f960a3bb45da69523189f9df0fb463bbed2afecf::eth::ETH','evmAddress':'0x0000000000000000000000000000000000000000','evmDecimals':0x12,'wowDecimals':0x8,'evmChains':[0xa],'description':'Native\x20ETH.\x20Calls\x20bridgeETHV2{value};\x20vault\x20auto-wraps\x20to\x20WETH\x20internally.\x2018\x20decimals\x20on\x20EVM,\x208\x20decimals\x20on\x20WOW.'},{'tokenId':0x2,'symbol':'WETH','wowTypeTag':'0xf1c1e632980fce003b856ca6f960a3bb45da69523189f9df0fb463bbed2afecf::eth::ETH','evmAddress':'0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2','evmDecimals':0x12,'wowDecimals':0x8,'evmChains':[0xa],'description':'Wrapped\x20ETH\x20(ERC20).\x20Calls\x20bridgeERC20V2;\x20shares\x20Token\x20ID\x202\x20and\x20WOW\x20type\x20tag\x20with\x20native\x20ETH.'},{'tokenId':0x3,'symbol':'USDC','wowTypeTag':'0xf12c64c81707b7f232b5893612cbdf70ed58ca8bf9e161d731c8a49fe874e670::usdc::USDC','evmAddress':'0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48','evmDecimals':0x6,'wowDecimals':0x6,'evmChains':[0xa],'description':'USD\x20Coin\x20(USDC).\x20Fully\x20collateralized\x20USD\x20stablecoin;\x206\x20decimals\x20on\x20both\x20sides.'},{'tokenId':0x4,'symbol':'USDT','wowTypeTag':'0xf1877a9533bb409c14ecab161eefb5344f25435e8ba1a0da52e436a708bf613d::usdt::USDT','evmAddress':'0xdAC17F958D2ee523a2206206994597C13D831ec7','evmDecimals':0x6,'wowDecimals':0x6,'evmChains':[0xa],'description':'Tether\x20USD\x20(USDT).\x20Fiat-collateralized\x20stablecoin;\x206\x20decimals\x20on\x20both\x20sides.'}],'timeouts':{'nodeRpcMs':0x7530,'signaturePollIntervalMs':0x1388,'signatureCollectMs':0xf*0xea60,'autoClaimMs':0xa*0xea60}};function findEvmChainConfig(a,b){if(a['ethereum']['chainId']===b)return a['ethereum'];if(a['l2']){for(const c of Object['values'](a['l2']))if(c&&c['chainId']===b)return c;}}function findEvmChainConfigByBridgeChainId(a,b){if(a['ethereum']['bridgeChainId']===b)return a['ethereum'];if(a['l2']){for(const c of Object['values'](a['l2']))if(c&&c['bridgeChainId']===b)return c;}}function findToken(a,b){return a['tokens']['find'](c=>c['tokenId']===b);}function findTokenBySymbol(a,b){return a['tokens']['find'](c=>c['symbol']===b);}function verifyCommitteeConsistency(){const a=[];for(let b=0x0;b<MAINNET_COMMITTEE_PUBKEYS['length'];b++){const c=MAINNET_COMMITTEE_PUBKEYS[b],d=MAINNET_COMMITTEE_MEMBER_ADDRESSES[b],e=compressedPubKeyToAddress(c);if(e['toLowerCase']()!==d['toLowerCase']())a['push']({'index':b,'pubkey':c,'expected':d,'actual':e});}return a;}const INFO_CONSTANT={'type':'constants','constants':[{'name':'Protocol\x20Package\x20ID','value':'0x2','description':'Protocol\x20package\x20ID'},{'name':'Gas\x20Token\x20Type','value':a46r,'description':'Gas\x20token\x20type'},{'name':'Gas\x20Coin\x20Type','value':a46p,'description':'Gas\x20coin\x20type'},{'name':'Entity\x20Linker\x20ID','value':a46j,'description':'Entity\x20Linker\x20ID'},{'name':'Entity\x20Registrar\x20ID','value':a46n,'description':'Entity\x20registrar\x20ID'},{'name':'Entity\x20Contact\x20ID','value':a46e,'description':'Entity\x20contact\x20system\x20object\x20ID'},{'name':'Messenger\x20ID','value':a46b,'description':'Encrypted\x20messenger\x20system\x20object\x20ID'},{'name':'Entity\x20Permission\x20ID','value':a46g,'description':'Entity\x20permission\x20system\x20object\x20ID'},{'name':'Entity\x20Order\x20ID','value':a46d,'description':'Global\x20entity\x20->\x20orders\x20reverse\x20index\x20system\x20object\x20ID'},{'name':'Object\x20Linker\x20Core\x20ID','value':a46f,'description':'Object\x20linker\x20core\x20system\x20object\x20ID'},{'name':'Object\x20Linker\x20Tx\x20ID','value':a46c,'description':'Object\x20linker\x20tx\x20system\x20object\x20ID'}],'value_types':Object['entries'](a46k)['filter'](([a,b])=>isNaN(Number(a))&&a!=='Value')['map'](([a,b])=>({'name':a,'value':a,'description':'Value\x20type\x20'+a+'\x20=\x20'+b})),'object_types':Object['values'](a46o)['map'](a=>({'name':a,'value':a,'description':'Object\x20type\x20'+a})),'guard_instructions':Object['values'](a46m)['map'](a=>({'name':a,'value':a,'description':'Guard\x20instruction\x20'+a})),'guard_contexts':Object['values'](a46q)['map'](a=>({'name':a,'value':a,'description':'Guard\x20context\x20'+a})),'guard_witnesses':Object['values'](a46l)['map'](a=>({'name':a,'value':a,'description':'Guard\x20witness\x20'+a}))},COMMON_MISTAKES=[{'object_type':'Service','operation':'compensation_fund_add','category':'field_name','mistake':'Using\x20{amount:\x20...}\x20or\x20{amount:\x20...,\x20type:\x20\x27WOW\x27}\x20instead\x20of\x20{balance:\x20...}.\x20The\x20correct\x20field\x20name\x20is\x20\x27balance\x27,\x20and\x20the\x20token\x20type\x20is\x20inferred\x20from\x20the\x20Service\x27s\x20type_parameter\x20(generic\x20type).','correct_usage':'{balance:\x20<amount_in_smallest_unit>}.\x20The\x20smallest\x20unit\x20depends\x20on\x20the\x20Service\x27s\x20type_parameter:\x20WOW/SUI\x20use\x209\x20decimals\x20(10^9\x20=\x201\x20token),\x20USDC\x20uses\x206\x20decimals\x20(10^6\x20=\x201\x20token).','wrong_example':'{\x22compensation_fund_add\x22:\x20{\x22amount\x22:\x201000000000,\x20\x22type\x22:\x20\x22WOW\x22}}','correct_example':'{\x22compensation_fund_add\x22:\x20{\x22balance\x22:\x201000000000}}\x20(1\x20WOW\x20or\x201\x20SUI,\x20assuming\x209-decimal\x20token\x20type)'},{'object_type':'Service','operation':'compensation_fund_add','category':'workflow','mistake':'Calling\x20compensation_fund_add\x20without\x20first\x20granting\x20permission\x20315\x20(SERVICE_COMPENSATION_FUND_DEPOSIT)\x20to\x20the\x20calling\x20account.\x20The\x20Move\x20layer\x20will\x20reject\x20with\x20\x27Missing\x20permissions\x20315\x27.','correct_usage':'Grant\x20permission\x20315\x20to\x20the\x20funder\x20account\x20via\x20permission.table\x20{op:\x20\x27add\x20perm\x20by\x20index\x27,\x20index:\x20315,\x20entity:\x20[funder_account]}\x20BEFORE\x20calling\x20compensation_fund_add.','wrong_example':'{\x22compensation_fund_add\x22:\x20{\x22balance\x22:\x201000000000}}\x20(without\x20permission\x20315\x20granted)','correct_example':'Step\x201:\x20permission.table\x20{op:\x20\x22add\x20perm\x20by\x20index\x22,\x20index:\x20315,\x20entity:\x20[\x22funder\x22]}\x20→\x20Step\x202:\x20{\x22compensation_fund_add\x22:\x20{\x22balance\x22:\x201000000000}}'},{'object_type':'Service','operation':'setting_lock_duration_add','category':'unit','mistake':'Passing\x20seconds\x20instead\x20of\x20milliseconds.\x20The\x20field\x20is\x20in\x20MILLISECONDS,\x20not\x20seconds.\x20Multiply\x20seconds\x20by\x201000.','correct_usage':'Value\x20in\x20milliseconds.\x2086400000\x20=\x201\x20day,\x202592000000\x20=\x2030\x20days\x20(default),\x207776000000\x20=\x2090\x20days.','wrong_example':'{\x22setting_lock_duration_add\x22:\x202592000}\x20(30\x20days\x20in\x20SECONDS\x20—\x20actually\x20only\x2025.92\x20seconds!)','correct_example':'{\x22setting_lock_duration_add\x22:\x202592000000}\x20(30\x20days\x20in\x20milliseconds)'},{'object_type':'Service','operation':'setting_lock_duration_add','category':'value_range','mistake':'Expecting\x20the\x20default\x20to\x20be\x2090\x20days.\x20The\x20actual\x20default\x20(DEFAULT_LOCK_DURATION)\x20is\x2030\x20days\x20(2592000000\x20ms).\x20This\x20is\x20the\x20value\x20set\x20when\x20a\x20Service\x20is\x20created\x20without\x20explicitly\x20setting\x20setting_lock_duration_add.','correct_usage':'If\x20you\x20need\x2090\x20days,\x20explicitly\x20set\x20setting_lock_duration_add\x20to\x207776000000\x20(90\x20days\x20in\x20ms).\x20Note:\x20setting_lock_duration_add\x20is\x20ADDITIVE\x20—\x20it\x20only\x20increases\x20the\x20duration.','wrong_example':'Creating\x20a\x20Service\x20and\x20expecting\x20setting_lock_duration\x20=\x207776000000\x20(90\x20days)\x20without\x20setting\x20setting_lock_duration_add.','correct_example':'{\x22setting_lock_duration_add\x22:\x207776000000}\x20(90\x20days\x20in\x20ms)\x20—\x20set\x20during\x20Service\x20creation.'},{'object_type':'Service','operation':'order_allocators','category':'workflow','mistake':'Setting\x20order_allocators\x20AFTER\x20publish.\x20order_allocators\x20is\x20L1\x20immutable\x20after\x20publish\x20(Move:\x20assert!(!bPublished)).\x20It\x20MUST\x20be\x20set\x20BEFORE\x20publish=true.','correct_usage':'Set\x20order_allocators\x20in\x20Phase\x201\x20(Service\x20creation,\x20before\x20publish).\x20Phase\x202\x20(publish=true)\x20only\x20flips\x20the\x20publish\x20flag.','wrong_example':'Step\x201:\x20create\x20+\x20publish\x20Service\x20→\x20Step\x202:\x20set\x20order_allocators\x20(FAILS:\x20assert!(!bPublished))','correct_example':'Step\x201:\x20create\x20Service\x20(no\x20publish)\x20+\x20set\x20order_allocators\x20→\x20Step\x202:\x20publish=true'},{'object_type':'Service','operation':'machine','category':'workflow','mistake':'Setting\x20machine\x20AFTER\x20publish.\x20machine\x20is\x20L1\x20immutable\x20after\x20publish\x20(Move:\x20assert!(!bPublished)).\x20It\x20MUST\x20be\x20set\x20BEFORE\x20publish=true.','correct_usage':'Set\x20machine\x20in\x20Phase\x201\x20(Service\x20creation,\x20before\x20publish).','wrong_example':'Step\x201:\x20create\x20+\x20publish\x20Service\x20→\x20Step\x202:\x20set\x20machine\x20(FAILS)','correct_example':'Step\x201:\x20create\x20Service\x20(no\x20publish)\x20+\x20set\x20machine\x20→\x20Step\x202:\x20publish=true'},{'object_type':'Arbitration','operation':'voting_deadline','category':'unit','mistake':'Passing\x20seconds\x20instead\x20of\x20milliseconds.\x20voting_deadline\x20is\x20a\x20Unix\x20timestamp\x20in\x20MILLISECONDS,\x20not\x20seconds.\x20Multiply\x20seconds\x20by\x201000.','correct_usage':'Unix\x20timestamp\x20in\x20milliseconds.\x20Use\x20Date.now()\x20+\x20<duration_ms>\x20for\x20a\x20future\x20deadline.\x20Example:\x20Date.now()\x20+\x20259200000\x20for\x203\x20days.','wrong_example':'{\x22voting_deadline\x22:\x201785190000}\x20(seconds\x20—\x20this\x20is\x20in\x202026-05\x20but\x20in\x20seconds,\x20which\x20is\x20actually\x201970-01-21)','correct_example':'{\x22voting_deadline\x22:\x201785190000000}\x20(milliseconds\x20—\x20correct\x20Unix\x20timestamp\x20in\x20ms)'},{'object_type':'Arbitration','operation':'voting_deadline','category':'timing','mistake':'Setting\x20voting_deadline\x20to\x20a\x20past\x20time.\x20The\x20deadline\x20MUST\x20be\x20in\x20the\x20future\x20(recommended:\x20now\x20+\x20at\x20least\x2086400000\x20ms\x20=\x2024\x20hours).\x20Past\x20deadlines\x20prevent\x20voting.','correct_usage':'Use\x20Date.now()\x20+\x20<duration_ms>.\x20Minimum\x20recommended:\x2086400000\x20ms\x20(24\x20hours).\x203\x20days\x20=\x20259200000\x20ms.','wrong_example':'{\x22voting_deadline\x22:\x201785190000000}\x20(if\x20this\x20is\x20in\x20the\x20past,\x20voting\x20will\x20fail)','correct_example':'{\x22voting_deadline\x22:\x20Date.now()\x20+\x20259200000}\x20(3\x20days\x20from\x20now)'},{'object_type':'Arbitration','operation':'dispute','category':'field_name','mistake':'Using\x20{amount:\x20...}\x20for\x20the\x20dispute\x20fee\x20instead\x20of\x20{balance:\x20...}.\x20The\x20fee\x20field\x20uses\x20CoinParamSchema\x20which\x20requires\x20\x27balance\x27,\x20not\x20\x27amount\x27.','correct_usage':'{balance:\x20<amount_in_smallest_unit>}.\x20The\x20smallest\x20unit\x20depends\x20on\x20the\x20Arbitration\x27s\x20type_parameter:\x20WOW/SUI\x20use\x209\x20decimals,\x20USDC\x20uses\x206\x20decimals.','wrong_example':'{\x22fee\x22:\x20{\x22amount\x22:\x2050000000}}','correct_example':'{\x22fee\x22:\x20{\x22balance\x22:\x2050000000}}\x20(0.05\x20WOW\x20or\x200.05\x20SUI,\x20assuming\x209-decimal\x20token\x20type)'},{'object_type':'Order','operation':'order_new','category':'workflow','mistake':'Not\x20setting\x20namedNewOrder/namedNewAllocation/namedNewProgress\x20when\x20creating\x20an\x20Order.\x20Without\x20names,\x20subsequent\x20operations\x20must\x20use\x20on-chain\x20addresses,\x20which\x20are\x20hard\x20to\x20reference.','correct_usage':'Set\x20namedNewOrder,\x20namedNewAllocation,\x20and\x20namedNewProgress\x20to\x20local\x20names\x20for\x20easy\x20reference\x20in\x20subsequent\x20operations.','wrong_example':'{\x22order_new\x22:\x20{\x22buy\x22:\x20{...}}}\x20(no\x20namedNewOrder\x20—\x20must\x20use\x20address\x20for\x20all\x20subsequent\x20operations)','correct_example':'{\x22order_new\x22:\x20{\x22buy\x22:\x20{...},\x20\x22namedNewOrder\x22:\x20{\x22name\x22:\x20\x22my_order\x22},\x20\x22namedNewAllocation\x22:\x20{\x22name\x22:\x20\x22my_alloc\x22},\x20\x22namedNewProgress\x22:\x20{\x22name\x22:\x20\x22my_progress\x22}}}'},{'object_type':'ALL','operation':'create_with_reference','category':'workflow','mistake':'Creating\x20an\x20object\x20that\x20references\x20another\x20object\x20by\x20name\x20(LocalMark)\x20when\x20the\x20referenced\x20object\x20does\x20not\x20exist\x20yet.\x20This\x20causes\x20BCS\x20serialization\x20error:\x20\x27failed\x20to\x20resolve\x20string:\x20<name>\x27.\x20The\x20general\x20pattern\x20is:\x20create\x20object\x20A\x20(no\x20publish,\x20establishes\x20LocalMark)\x20→\x20create\x20object\x20B\x20that\x20references\x20A\x20→\x20update\x20A\x20with\x20references\x20to\x20B\x20→\x20publish\x20A.','correct_usage':'GENERAL\x20DEPLOYMENT\x20ORDER\x20RULE:\x20(1)\x20Create\x20all\x20objects\x20with\x20basic\x20config,\x20no\x20publish\x20—\x20addresses\x20are\x20determined\x20and\x20LocalMark\x20names\x20are\x20registered.\x20(2)\x20Create\x20Guards\x20and\x20other\x20objects\x20that\x20reference\x20the\x20first\x20batch\x20—\x20LocalMark\x20names\x20now\x20resolve.\x20(3)\x20Update\x20objects\x20with\x20cross-references\x20(order_allocators,\x20buy_guard,\x20etc.).\x20(4)\x20Publish\x20objects.\x20This\x20avoids\x20all\x20circular\x20dependencies.','wrong_example':'Step\x201:\x20create\x20Guard\x20referencing\x20\x22my_service\x22\x20(my_service\x20does\x20not\x20exist)\x20→\x20BCS\x20error','correct_example':'Step\x201:\x20create\x20Service\x20(no\x20publish,\x20establishes\x20\x22my_service\x22\x20LocalMark)\x20→\x20Step\x202:\x20create\x20Guard\x20referencing\x20\x22my_service\x22\x20→\x20Step\x203:\x20update\x20Service\x20with\x20order_allocators\x20referencing\x20Guard\x20→\x20Step\x204:\x20publish\x20Service'},{'object_type':'Machine','operation':'add|set','category':'architecture','mistake':'Including\x20arbitration/dispute\x20nodes\x20in\x20a\x20Machine\x20workflow.\x20CORE\x20PRINCIPLE:\x20A\x20merchant\x27s\x20business\x20flow\x20cannot\x20handle\x20disputes\x20fairly\x20because\x20the\x20merchant\x20would\x20be\x20\x27both\x20player\x20and\x20referee\x27\x20(既当球员又当裁判).\x20The\x20WoWok\x20smart\x20contract\x20design\x20enforces\x20this\x20by\x20making\x20Arbitration\x20a\x20completely\x20separate\x20object\x20—\x20it\x20has\x20its\x20own\x20Permission,\x20voting_guard,\x20usage_guard,\x20and\x20balance,\x20with\x20NO\x20reference\x20from\x20Machine/Progress\x20to\x20Arbitration.\x20The\x20Order\x20object\x20is\x20the\x20bridge:\x20it\x20has\x20both\x20`progress`\x20(Machine)\x20and\x20`dispute`\x20(list\x20of\x20Arb\x20addresses)\x20fields,\x20but\x20the\x20Arb\x20lifecycle\x20(7\x20states:\x20Principal_confirming\x20→\x20Arbitrator_confirming\x20→\x20Voting\x20→\x20Arbitrated\x20→\x20Objectionable\x20→\x20Finished\x20→\x20Withdrawn)\x20is\x20managed\x20entirely\x20by\x20the\x20Arbitration\x20object,\x20not\x20by\x20the\x20Machine.','correct_usage':'ARBITRATION\x20SEPARATION\x20RULE:\x20(1)\x20Machine\x20workflows\x20model\x20BUSINESS\x20states\x20only\x20(e.g.,\x20ordered\x20→\x20shipped\x20→\x20delivered\x20→\x20refunded\x20→\x20completed).\x20(2)\x20Arbitration\x20is\x20a\x20separate\x20object\x20with\x20its\x20own\x20Permission\x20—\x20create\x20it\x20independently.\x20(3)\x20When\x20a\x20dispute\x20arises,\x20an\x20Arb\x20instance\x20is\x20created\x20referencing\x20the\x20Order;\x20the\x20Arb\x20goes\x20through\x20its\x207-state\x20lifecycle\x20in\x20the\x20Arbitration\x20object.\x20(4)\x20If\x20the\x20Arb\x20rules\x20in\x20favor\x20of\x20the\x20customer,\x20`indemnity`\x20is\x20set\x20and\x20`order::compensate()`\x20is\x20called\x20—\x20this\x20is\x20the\x20ONLY\x20connection\x20between\x20Arb\x20and\x20Order.\x20(5)\x20The\x20Machine\x20can\x20have\x20\x27refunded\x27/\x27cancelled\x27\x20nodes\x20for\x20the\x20BUSINESS\x20OUTCOME\x20of\x20a\x20dispute,\x20but\x20the\x20dispute\x20PROCESS\x20is\x20entirely\x20in\x20Arb.\x20(6)\x20Arbitration\x27s\x20Permission\x20MUST\x20be\x20separate\x20from\x20Service\x27s\x20Permission\x20—\x20never\x20share.','wrong_example':'Machine\x20nodes:\x20[ordered,\x20shipped,\x20delivered,\x20disputed,\x20resolved,\x20completed]\x20—\x20\x22disputed\x22\x20and\x20\x22resolved\x22\x20are\x20Arb\x20lifecycle\x20states,\x20not\x20business\x20states.\x20The\x20merchant\x20would\x20control\x20the\x20dispute\x20process,\x20making\x20it\x20unfair.','correct_example':'Machine\x20nodes:\x20[ordered,\x20shipped,\x20delivered,\x20refunded,\x20completed]\x20(business\x20states\x20only)\x20+\x20separate\x20Arbitration\x20object\x20(with\x20own\x20Permission,\x20voting_guard)\x20+\x20Arb\x20instances\x20(7-state\x20lifecycle)\x20that\x20call\x20order::compensate()\x20when\x20ruled'},{'object_type':'ALL','operation':'multi_tier_allocation','category':'architecture','mistake':'Thinking\x20Allocation\x20cannot\x20support\x20multi-level\x20fund\x20distribution.\x20WoWok\x20supports\x20multi-tier\x20allocation\x20through\x20SUB-ORDERS:\x20each\x20tier\x20is\x20an\x20independent\x20Service\x20with\x20its\x20own\x20order_allocators.\x20The\x20main\x20Order\x20pays\x20the\x20Tier-1\x20Service;\x20the\x20Tier-1\x20Service\x27s\x20Allocation\x20distributes\x20funds\x20to\x20Tier-2\x20sub-orders\x20(each\x20a\x20separate\x20Service\x20with\x20its\x20own\x20Allocation).\x20Additionally,\x20Allocation\x20can\x20run\x20as\x20a\x20standalone\x20independent\x20object,\x20not\x20just\x20as\x20a\x20Service\x20field.','correct_usage':'MULTI-TIER\x20ALLOCATION\x20PATTERN:\x20(1)\x20Main\x20Service\x20has\x20order_allocators\x20that\x20distribute\x20to\x20Tier-1\x20recipients\x20(e.g.,\x20platform\x20+\x20agency).\x20(2)\x20Each\x20Tier-1\x20recipient\x20can\x20be\x20a\x20separate\x20Service\x20with\x20its\x20own\x20order_allocators\x20for\x20Tier-2\x20distribution\x20(e.g.,\x20agency\x20→\x20operators).\x20(3)\x20Each\x20tier\x27s\x20Order\x20is\x20independent\x20—\x20Tier-1\x20payment\x20triggers\x20Tier-2\x20order\x20creation.\x20(4)\x20For\x20standalone\x20allocation:\x20create\x20an\x20Allocation\x20object\x20independently\x20and\x20transfer\x20funds\x20to\x20it,\x20then\x20use\x20Guard-driven\x20allocation\x20to\x20distribute.\x20(5)\x20Do\x20NOT\x20try\x20to\x20put\x20all\x20tiers\x20in\x20a\x20single\x20Order\x27s\x20order_allocators\x20—\x20use\x20separate\x20Services/Orders\x20per\x20tier.','wrong_example':'Single\x20Service\x20with\x208\x20order_allocators\x20trying\x20to\x20handle\x203\x20tiers\x20of\x20distribution\x20in\x20one\x20Order','correct_example':'Tier-1\x20Service\x20(allocators:\x20platform\x2025%,\x20agency\x2075%)\x20→\x20agency\x20creates\x20Tier-2\x20Service\x20(allocators:\x20operator1\x2050%,\x20operator2\x2050%)\x20→\x20each\x20tier\x20is\x20independent'},{'object_type':'ALL','operation':'transfer','category':'fund_flow','mistake':'Not\x20understanding\x20that\x20the\x20signing\x20account\x20determines\x20whose\x20assets\x20are\x20used.\x20The\x20env.account\x20field\x20in\x20every\x20operation\x20specifies\x20the\x20signer\x20—\x20whoever\x20signs\x20the\x20transaction,\x20their\x20assets\x20are\x20used.\x20The\x20name_or_address_from\x20field\x20in\x20account_operation.transfer\x20is\x20OPTIONAL\x20—\x20if\x20omitted,\x20the\x20default\x20account\x20(env.account)\x20signs\x20and\x20its\x20assets\x20are\x20transferred.','correct_usage':'SIGNING\x20ACCOUNT\x20RULE:\x20(1)\x20Every\x20operation\x20has\x20env.account\x20—\x20this\x20is\x20the\x20signer.\x20(2)\x20For\x20transfers:\x20if\x20name_or_address_from\x20is\x20omitted,\x20the\x20env.account\x27s\x20assets\x20are\x20used.\x20(3)\x20To\x20transfer\x20from\x20a\x20DIFFERENT\x20account,\x20set\x20name_or_address_from\x20to\x20that\x20account\x27s\x20name/address.\x20(4)\x20The\x20signer\x20(env.account)\x20must\x20have\x20permission\x20to\x20spend\x20the\x20from\x20account\x27s\x20assets\x20(or\x20be\x20the\x20same\x20account).\x20(5)\x20This\x20is\x20NOT\x20a\x20limitation\x20—\x20it\x27s\x20how\x20blockchain\x20transactions\x20work:\x20the\x20signer\x20pays\x20gas\x20and\x20authorizes\x20asset\x20movement.','wrong_example':'Thinking\x20transfer\x20requires\x20a\x20special\x20source\x20account\x20field\x20separate\x20from\x20the\x20signing\x20account','correct_example':'env:\x20{account:\x20\x22my_account\x22}\x20→\x20transfer\x20{name_or_address_to:\x20\x22recipient\x22,\x20amount:\x20\x221000000000\x22}\x20→\x20my_account\x20signs\x20and\x20its\x20WOW\x20is\x20transferred'}];function query_common_mistakes(a){if(!a)return COMMON_MISTAKES;return COMMON_MISTAKES['filter'](b=>{if(a['object_type']&&b['object_type']!==a['object_type'])return![];if(a['operation']&&b['operation']!==a['operation'])return![];if(a['category']&&b['category']!==a['category'])return![];return!![];});}const FUNDING_GUIDANCE={'overview':'How\x20to\x20obtain\x20WOW\x20gas\x20and\x20payment\x20tokens.\x20Testnet\x20uses\x20a\x20faucet;\x20mainnet\x20uses\x20the\x20ETH\x20mainnet\x20cross-chain\x20bridge;\x20a\x20WOW\x20airdrop\x20is\x20under\x20construction.','testnet':{'token':'WOW','method':'faucet','faucet_url':'https://faucet.testnet.wowok.net','note':'Claim\x20WOW\x20from\x20the\x20testnet\x20faucet.\x20All\x20merchant\x20and\x20order\x20testing\x20can\x20use\x20WOW\x20as\x20the\x20payment\x20token.'},'mainnet':{'method':'eth_bridge','supported_tokens':['ETH','USDT','USDC','WBTC'],'steps':['Query\x20the\x20active\x20EVM\x20account\x20via\x20bridge_operation\x20(query_active_evm_account).\x20It\x20is\x20auto-generated\x20on\x20first\x20use.','From\x20an\x20external\x20wallet\x20(e.g.\x20MetaMask),\x20transfer\x20ETH\x20/\x20USDT\x20/\x20USDC\x20/\x20WBTC\x20to\x20the\x20active\x20EVM\x20account\x20address\x20on\x20Ethereum\x20mainnet.','Query\x20the\x20active\x20EVM\x20account\x20balance\x20to\x20confirm\x20the\x20funds\x20arrived.','Cross-chain\x20the\x20funds\x20to\x20the\x20WOW\x20mainnet\x20account\x20via\x20bridge_operation\x20(cross_chain_evm_to_wow).']},'airdrop':{'url':'https://airdrop.wowok.net','status':'under\x20construction'},'payment_token':{'testnet_default':'WOW\x20(default\x20gas\x20+\x20payment\x20token)','mainnet_option':'USDT\x20and\x20other\x20stablecoins\x20via\x20the\x20ETH\x20mainnet\x20bridge','migration_note':'When\x20migrating\x20a\x20merchant\x20project\x20from\x20testnet\x20to\x20mainnet,\x20ask\x20whether\x20to\x20switch\x20the\x20payment\x20token\x20from\x20WOW\x20to\x20a\x20stablecoin\x20such\x20as\x20USDT.'}};async function queryProtocolInfo(a){switch(a['info']){case'constants':return{'info':'constants','result':INFO_CONSTANT['constants']};case'built-in\x20permissions':return{'info':'built-in\x20permissions','result':queryPermissions(a['filter']||{})};case'common\x20mistakes':return{'info':'common\x20mistakes','result':query_common_mistakes(a['filter'])};case'guard\x20instructions':return{'info':'guard\x20instructions','result':a46A(a['filter']||{})};case'current\x20network':return{'info':'current\x20network','result':await Config['Instance']()['network_get']()};case'value\x20types':return{'info':'value\x20types','result':INFO_CONSTANT['value_types']};case'mainnet\x20bridge\x20tokens':return{'info':'mainnet\x20bridge\x20tokens','result':MAINNET_BRIDGE_CONFIG['tokens']};case'funding\x20guidance':return{'info':'funding\x20guidance','result':FUNDING_GUIDANCE};default:throw new Error('Unsupported\x20info\x20type:\x20\x22'+a['info']+'\x22.\x20Valid\x20are:\x20\x22constants\x22,\x20\x22built-in\x20permissions\x22,\x20\x22common\x20mistakes\x22,\x20\x22guard\x20instructions\x22,\x20\x22current\x20network\x22,\x20\x22value\x20types\x22,\x20\x22mainnet\x20bridge\x20tokens\x22,\x20\x22funding\x20guidance\x22');}}function queryPermissions(a){return query_permissions(a);}const query_transaction_json=async a=>{try{const b=JSON['parse'](a);return JSON['stringify']({'data':await query_transaction(b)});}catch(c){return JSON['stringify']({'error':c?.['toString']()});}},query_transaction=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=a['digest'],d=await Cache['read'](['tx','detail',c,b],async()=>{const e=await new a46a({'url':a46i(b),'network':b})['getTransactionBlock']({'digest':c,'options':{'showEffects':!![],'showEvents':!![],'showBalanceChanges':!![],'showInput':!![],'showObjectChanges':!![]}}),f=parseTransactionBlock(e);return{'expire':Cache['DefaultExpireTime'](),'data':f};},a['no_cache']);if(d)return d['data']['cache_expire']=d['expire'],d['data'];},query_object_history_json=async a=>{try{const b=JSON['parse'](a);return JSON['stringify']({'data':await query_object_history(b)});}catch(c){return JSON['stringify']({'error':c?.['toString']()});}},query_object_history=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=(await LocalMark['Instance']()['get_many_address']([a['object']]))[0x0];if(!c)return{'transactions':[],'next_cursor':null,'has_next_page':![]};const d=a['cursor']??'',e=(a['limit']??0x14)['toString'](),f=a['order']??'descending',g=await Cache['read'](['tx','obj_history',c,d,e,f,b],async()=>{const h=await fetchTransactionHistory(b,{'InputObject':c},a['cursor'],a['limit']??0x14,a['order']??'descending');return{'expire':Cache['DefaultExpireTime'](),'data':h};},a['no_cache']);if(g)return g['data']['cache_expire']=g['expire'],g['data'];},query_object_last_updated=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=(await LocalMark['Instance']()['get_many_address']([a['object']]))[0x0];if(!c)return void 0x0;try{const f=new a46a({'url':a46i(b),'network':b});let g=a['previous_transaction']??null;console['error']('[dbg:lu_enter]',c['slice'](0x0,0xa),'hint:',g?String(g)['slice'](0x0,0xa):'none');if(!g){const h=await f['getObject']({'objectId':c,'options':{'showPreviousTransaction':!![]}});g=h?.['data']?.['previousTransaction']??h?.['previousTransaction']??null,console['error']('[dbg:lu_probe]',c['slice'](0x0,0xa),'prev:',g?String(g)['slice'](0x0,0xa):'none');}if(g){const i=(await Cache['read'](['tx','tx_ts',g],async()=>{const j=await f['getTransactionBlock']({'digest':g,'options':{'showInput':!![]}}),k=j?.['timestampMs']??j?.['data']?.['timestampMs'];if(!k)return void 0x0;return{'expire':Cache['DefaultExpireTime'](),'data':{'tx':{'object':c,'timestamp_ms':String(k),'digest':g,'sender':j?.['transaction']?.['data']?.['sender']??j?.['sender']??void 0x0}}};},a['no_cache']))?.['data']?.['tx'];console['error']('[dbg:lu_cache]',c['slice'](0x0,0xa),'hit:',i?i['timestamp_ms']:'miss');if(i)return{...i,'object':c};}}catch(j){console['error']('[dbg:lu_route1]',String(j?.['message']??j)['slice'](0x0,0xa0));}const d=(await query_object_history({'object':c,'order':'descending','limit':0x1,'network':a['network'],'no_cache':a['no_cache']}))?.['transactions']?.[0x0];if(!d)return{'object':c};return{'object':c,'timestamp_ms':d['timestamp_ms'],'digest':d['digest'],'sender':d['sender']};},query_address_activity_json=async a=>{try{const b=JSON['parse'](a);return JSON['stringify']({'data':await query_address_activity(b)});}catch(c){return JSON['stringify']({'error':c?.['toString']()});}},query_address_activity=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=await GetAccountOrMark_Address(a['name_or_address']);if(!c)return{'transactions':[],'next_cursor':null,'has_next_page':![]};const d=a['cursor']??'',e=(a['limit']??0x14)['toString'](),f=a['order']??'descending',g=await Cache['read'](['tx','addr_activity',c,d,e,f,b],async()=>{const h=await fetchTransactionHistory(b,{'FromAddress':c},a['cursor'],a['limit']??0x14,a['order']??'descending');return{'expire':Cache['DefaultExpireTime'](),'data':h};},a['no_cache']);if(g)return g['data']['cache_expire']=g['expire'],g['data'];},fetchTransactionHistory=async(a,b,c,d,e)=>{const f=await new a46a({'url':a46i(a),'network':a})['queryTransactionBlocks']({'filter':b,'options':{'showEffects':!![],'showInput':!![]},'cursor':c??void 0x0,'limit':Math['min'](d,0x32),'order':e});return{'transactions':(f?.['data']??[])['map'](g=>{const h=extractObjectsFromEffects(g?.['effects']);return{'digest':g?.['digest']??'','status':g?.['effects']?.['status']?.['status']==='success'?'success':'failed','timestamp_ms':g?.['timestampMs'],'sender':g?.['transaction']?.['data']?.['sender'],'kind':g?.['transaction']?.['data']?.['transaction']?.['kind']?Object['keys'](g['transaction']['data']['transaction'])[0x0]:void 0x0,'gas_used':g?.['effects']?.['gasUsed']?.['computationCost']?''+g['effects']['gasUsed']['computationCost']:void 0x0,'objects_touched':h,'has_object_changes':h['length']>0x0};}),'next_cursor':f?.['nextCursor']??null,'has_next_page':f?.['hasNextPage']??![]};},parseTransactionBlock=a=>{const b=a?.['effects'],c=b?.['status']?.['status']==='success'?'success':'failed',d=c==='failed'?b?.['status']?.['error']:void 0x0,e=(a?.['objectChanges']??[])['map'](j=>({'id':j?.['objectId']??'','type':j?.['type']??'mutated','object_type':j?.['objectType'],'sender':j?.['sender'],'version':j?.['version'],'previous_version':j?.['previousVersion'],'digest':j?.['digest']})),f=(a?.['balanceChanges']??[])['map'](j=>({'owner':typeof j?.['owner']==='string'?j['owner']:j?.['owner']?.['AddressOwner']??'','coin_type':j?.['coinType']??'','amount':j?.['amount']??'0'})),g=(a?.['events']??[])['map'](j=>({'type':j?.['type']??'','package_id':j?.['packageId'],'module':j?.['transactionModule'],'sender':j?.['sender'],'parsed_json':j?.['parsedJson'],'bcs':j?.['bcs']})),h=b?.['gasUsed'],i=h?''+(BigInt(h['computationCost']??0x0)+BigInt(h['storageCost']??0x0)-BigInt(h['storageRebate']??0x0)):void 0x0;return{'digest':a?.['digest']??'','status':c,'error':d,'timestamp_ms':a?.['timestampMs'],'sender':a?.['transaction']?.['data']?.['sender'],'gas_used':i,'gas_budget':a?.['transaction']?.['data']?.['gasData']?.['budget']?.['toString'](),'kind':a?.['transaction']?.['data']?.['transaction']?Object['keys'](a['transaction']['data']['transaction'])[0x0]:void 0x0,'object_changes':e,'balance_changes':f,'event_count':g['length'],'events':g,'epoch':b?.['epoch'],'is_system_tx':a?.['transaction']?.['data']?.['transaction']?.['kind']==='ConsensusCommitPrologue'};},extractObjectsFromEffects=a=>{if(!a)return[];const b=[],c=d=>{if(Array['isArray'](d)){for(const e of d)if(e?.['reference']?.['objectId'])b['push'](e['reference']['objectId']);else{if(e?.['objectId'])b['push'](e['objectId']);}}};return c(a['created']),c(a['mutated']),c(a['deleted']),c(a['wrapped']),c(a['unwrapped']),[...new Set(b)];};export{parseWowokEventItem as A,BridgeChainId as C,TransferStatus as D,BridgeVersion as E,AFFILIATION_TABLE_META as F,query_affiliations as I,query_events_json as M,query_serviceContext as N,isEvmChain as O,AFFILIATION_TABLES_BY_TYPE as P,verifyCommitteeConsistency as S,BridgeTokenId as T,MAINNET_COMMITTEE_WEIGHTS as _,query_object_last_updated as a,findToken as b,COMMON_MISTAKES as c,queryPermissions as d,queryProtocolInfo as f,MAINNET_COMMITTEE_PUBKEYS as g,MAINNET_COMMITTEE_MEMBER_ADDRESSES as h,query_object_history_json as i,query_events as j,isWowChain as k,FUNDING_GUIDANCE as l,MAINNET_BRIDGE_CONFIG as m,query_address_activity_json as n,query_transaction as o,query_common_mistakes as p,query_object_history as r,query_transaction_json as s,query_address_activity as t,INFO_CONSTANT as u,findEvmChainConfig as v,BridgeErrorCode as w,findTokenBySymbol as x,findEvmChainConfigByBridgeChainId as y};
|
|
1
|
+
import{t as a46a}from'./client-qwFkeNkI.mjs';import{C as a46b,D as a46c,E as a46d,S as a46e,T as a46f,b as a46g}from'./utils-CtyqDDA5.mjs';import{o as a46h}from'./exception-Xd2RFs2i.mjs';import{n as a46i}from'./network-y8yMus5q.mjs';import{F as a46j,I as a46k,L as a46l,M as a46m,c as a46n,j as a46o,l as a46p,n as a46q,u as a46r}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{compressedPubKeyToAddress}from'./w/local/evm/rlp.mjs';import{GetAccountOrMark_Address}from'./w/local/index.mjs';import{B as a46s,D as a46t,F as a46u,I as a46v,L as a46w,N as a46x,P as a46y,Q as a46z,_t as a46A,gt as a46B,it as a46C,mt as a46D,z as a46E}from'./object-RbNBCbWH.mjs';import{query_permissions}from'./w/call/permission.mjs';const AFFILIATION_TABLE_META={'object_linker_core':{'address':'0xaae','retention':'lossless','note':'Fixed\x20bindings:\x20who\x20is\x20attached\x20to\x20this\x20target.'},'object_linker_tx':{'address':'0xaaf','retention':'fifo','note':'Recent\x20tx\x20touches:\x20orders/progress/payments/guards\x20that\x20targeted\x20this\x20object.'},'entity_order':{'address':'0xaa8','retention':'membership','note':'Orders\x20the\x20account\x20participates\x20in\x20(role\x20bitmask\x201=owner,\x202=agent).'},'entity_permission':{'address':'0xaad','retention':'membership','note':'Permissions\x20the\x20account\x20holds\x20a\x20role\x20in\x20(1=owner,\x202=admin,\x204=entity).'},'entity_contact':{'address':'0xaa9','retention':'membership','note':'Customer-service\x20Contacts\x20the\x20account\x20is\x20a\x20member\x20of.'},'registrar':{'address':'0xaaa','retention':'membership','note':'Like/dislike/favor\x20votes\x20the\x20account\x20received.'},'entity':{'address':'0xaab','retention':'membership','note':'Account\x20identity\x20records.'}},CORE_KEY_TYPES=new Set(['Permission','Contact','Reward','Arbitration','Repository','Machine','Guard']),AFFILIATION_TABLES_BY_TYPE=((()=>{const a={};for(const b of Object['values'](a46o))a[b]=['object_linker_tx'];for(const c of Object['values'](a46o))if(CORE_KEY_TYPES['has'](c))a[c]=['object_linker_core','object_linker_tx'];return a['user']=['object_linker_tx','entity_order','entity_permission','entity_contact','registrar','entity'],a;})()),query_affiliations=async a=>{const [b,c]=await Promise['all']([Config['Instance']()['network_get'](a['network']),GetAccountOrMark_Address(typeof a['address']==='string'?{'name_or_address':a['address']}:a['address'])]);if(!c)a46h('invalid\x20parameter','query_affiliations.address\x20not\x20found');const d=a46t(c),e=AFFILIATION_TABLES_BY_TYPE[d??'user']??[],f={'address':c,'no_cache':a['no_cache'],'network':b},[g,h,j,k,l,m,n]=await Promise['all']([e['includes']('object_linker_core')?a46E(f)['catch'](()=>void 0x0):Promise['resolve'](void 0x0),e['includes']('object_linker_tx')?a46s(f)['catch'](()=>void 0x0):Promise['resolve'](void 0x0),e['includes']('entity_order')?a46u(f)['catch'](()=>void 0x0):Promise['resolve'](void 0x0),e['includes']('entity_permission')?a46v(f)['catch'](()=>void 0x0):Promise['resolve'](void 0x0),e['includes']('entity_contact')?a46x(f)['catch'](()=>void 0x0):Promise['resolve'](void 0x0),e['includes']('registrar')?a46y(f)['catch'](()=>void 0x0):Promise['resolve'](void 0x0),e['includes']('entity')?a46w(f)['catch'](()=>void 0x0):Promise['resolve'](void 0x0)]),o=[];for(const p of g?.['items']??[])o['push']({'table':'object_linker_core','who':p['who'],'time':p['time']});for(const q of h?.['items']??[])o['push']({'table':'object_linker_tx','who':q['who'],'time':q['time']});for(const r of j?.['items']??[])o['push']({'table':'entity_order','who':r['order'],'time':r['time'],'role':r['role']});for(const s of k?.['items']??[])o['push']({'table':'entity_permission','who':s['permission'],'time':s['time'],'role':s['role']});for(const t of l?.['items']??[])o['push']({'table':'entity_contact','who':t['contact'],'time':t['time']});for(const u of m?.['votes']??[])o['push']({'table':'registrar','who':u['who'],'time':u['time']});return{'address':c,'object_type':d,'tables_queried':e,'entries':o,'raw':{'reverse_core':g,'reverse_tx':h,'order_membership':j,'permission_membership':k,'contact_membership':l,'registrar':m,'entity':n}};},isValidObjectAddr=a=>typeof a==='string'&&a['length']>0x2&&a!=='0x0',MAX_NODE_LIST_PAGES=0x5,query_serviceContext=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=a46A(b)?'graphql':'json-rpc';let d;if(typeof a['service']==='string'){const j=(await a46z({'objects':[a['service']],'no_cache':a['no_cache'],'network':b}))['objects']?.['find'](k=>k['type']==='Service');if(!j)a46h('fail','query_serviceContext:\x20service\x20'+a['service']+'\x20not\x20found');d=j;}else d=a['service'];const e=new Map(),f=(k,l)=>{if(isValidObjectAddr(l))e['set'](k,l);};f('machine',d['machine']),f('buy_guard',d['buy_guard']),f('permission',d['permission']),f('um',d['um']);for(const k of d['arbitrations']??[])f('arbitrations:'+k,k);for(const l of d['rewards']??[])f('rewards:'+l,l);for(const m of d['repositories']??[])f('repositories:'+m,m);for(const n of d['order_allocators']?.['allocators']??[])f('allocator_guard:'+n['guard'],n['guard']);const g={};if(e['size']>0x0){const o=await a46z({'objects':[...e['values']()],'no_cache':a['no_cache'],'network':b});for(const p of o['objects']??[])if(p?.['object'])g[p['object']]=p;}const h=q=>q?g[q]:void 0x0;let i;if(a['include_machine_nodes']&&isValidObjectAddr(d['machine']))i=await fetchMachineNodes(d['machine'],a);return{'service':d,'machine':h(d['machine']),'buy_guard':h(d['buy_guard']),'permission':h(d['permission']),'allocator_guards':(d['order_allocators']?.['allocators']??[])['map'](q=>h(q['guard']))['filter'](q=>q?.['type']==='Guard'),'referenced':g,'machine_nodes':i,'transport':c};},fetchMachineNodes=async(a,b)=>{const c=await Config['Instance']()['network_get'](b['network']),d=[];let e;for(let f=0x0;f<MAX_NODE_LIST_PAGES;f++){let g;try{g=await a46C({'parent':a,'cursor':e,'limit':null,'no_cache':b['no_cache'],'network':c});}catch{break;}if(!g?.['items']?.['length'])break;for(const h of g['items'])if(h['object'])d['push'](h['object']);e=g['nextCursor'];if(!e||!g['hasNextPage'])break;}if(d['length']===0x0)return[];return((await a46z({'objects':d,'no_cache':b['no_cache'],'network':c}))['objects']??[])['filter'](i=>i?.['type']==='TableItem_MachineNode');},query_events_json=async a=>{try{const b=JSON['parse'](a);return JSON['stringify']({'data':await query_events(b)});}catch(c){return JSON['stringify']({'error':c?.['toString']()});}},query_events=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=a['cursor']?a['cursor']['eventSeq']+':'+a['cursor']['txDigest']:'',e=a['limit']?.['toString']()??'',f=a['order']??'',g=await Cache['read'](['event',a['type'],c,e,f,b],async()=>{const h=await events(a['type'],a);return{'expire':Cache['DefaultExpireTime'](!!a['cursor']),'data':h};},a['no_cache']);if(g){const h=g['data'];return h['cache_expire']=g['expire'],h;}},events=async(a,b)=>{const c=await Config['Instance']()['network_get'](b['network']),d=new a46a({'url':a46i(c),'network':c}),e=a==='ArbEvent'||a==='NewOrderEvent'||a==='ProgressEvent'||a==='DemandPresentEvent'||a==='DemandFeedbackEvent'||a==='NewEntityEvent'||a==='ServiceEvent'||a==='DemandChangedEvent'||a==='VoteEvent'||a==='FeedbackEvent'||a==='AllocationEvent'||a==='TreasuryEvent'||a==='RewardClaimEvent'||a==='RewardFundEvent'||a==='NewPaymentEvent';let f;if(e)f='0x2'+{'ArbEvent':'::arb::ArbEvent','NewOrderEvent':'::order::NewOrderEvent','ProgressEvent':'::progress::ProgressEvent','DemandPresentEvent':'::demand::PresentEvent','DemandFeedbackEvent':'::demand::DemandEvent','NewEntityEvent':'::registrar::NewEntityEvent','ServiceEvent':'::service::ServiceEvent','DemandChangedEvent':'::demand::DemandChangedEvent','VoteEvent':'::arb::VoteEvent','FeedbackEvent':'::arb::FeedbackEvent','AllocationEvent':'::allocation::AllocationEvent','TreasuryEvent':'::treasury::TreasuryEvent','RewardClaimEvent':'::reward::RewardClaimEvent','RewardFundEvent':'::reward::RewardFundEvent','NewPaymentEvent':'::payment::NewPaymentEvent'}[a];else f=a;const g=await d['queryEvents']({'query':{'MoveEventType':f},'cursor':b['cursor'],'limit':b['limit'],'order':b['order']==='descending'?'descending':'ascending'});return{'data':g?.['data']?.['map'](parseWowokEventItem),'hasNextPage':g?.['hasNextPage'],'nextCursor':g?.['nextCursor']};},parseWowokEventItem=a=>{if(a?.['packageId']!==void 0x0?a46B(a['packageId'])==='0x2':a?.['type']?.['startsWith']('0x2::')){if(a?.['type']?.['includes']('::order::NewOrderEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'NewOrderEvent','order':a?.['parsedJson']?.['object'],'service':a?.['parsedJson']?.['service'],'progress':a?.['parsedJson']?.['progress']?.['some']??null,'amount':a?.['parsedJson']?.['amount'],'discount':a?.['parsedJson']?.['discount']?.['some']??null,'allocation':a?.['parsedJson']?.['allocation']?.['some']??null};else{if(a?.['type']?.['includes']('::demand::PresentEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'DemandPresentEvent','demand':a?.['parsedJson']?.['object'],'service':a?.['parsedJson']?.['service']?.['some']??null,'recommend':a?.['parsedJson']?.['tips']};else{if(a?.['type']?.['includes']('::demand::DemandEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'DemandFeedbackEvent','demand':a?.['parsedJson']?.['object'],'service':a?.['parsedJson']?.['service']?.['some']??null,'feedback':a?.['parsedJson']?.['feedback'],'acceptance_score':a?.['parsedJson']?.['acceptance_score']?.['some']??null};else{if(a?.['type']?.['includes']('::progress::ProgressEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'ProgressEvent','progress':a?.['parsedJson']?.['object'],'machine':a?.['parsedJson']?.['machine'],'task':a?.['parsedJson']?.['task'],'node':a?.['parsedJson']?.['node'],'forward':a?.['parsedJson']?.['forward'],'hold':a?.['parsedJson']?.['hold']};else{if(a?.['type']?.['includes']('::arb::ArbEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'ArbEvent','arb':a?.['parsedJson']?.['object'],'arbitration':a?.['parsedJson']?.['arbitration'],'order':a?.['parsedJson']?.['order'],'status':a?.['parsedJson']?.['status'],'indemnity_amount':a?.['parsedJson']?.['indemnity_amount']?.['some']??null,'compensation_time':a?.['parsedJson']?.['compensation_time']?.['some']??null};else{if(a?.['type']?.['includes']('::service::ServiceEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'ServiceEvent','object':a?.['parsedJson']?.['object'],'location':a?.['parsedJson']?.['location'],'description':a?.['parsedJson']?.['description']};else{if(a?.['type']?.['includes']('::demand::DemandChangedEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'DemandChangedEvent','object':a?.['parsedJson']?.['object'],'location':a?.['parsedJson']?.['location'],'description':a?.['parsedJson']?.['description'],'rewards':a?.['parsedJson']?.['rewards']};else{if(a?.['type']?.['includes']('::arb::VoteEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'VoteEvent','object':a?.['parsedJson']?.['object'],'voter':a?.['parsedJson']?.['voter'],'agrees':a?.['parsedJson']?.['agrees'],'weight':a?.['parsedJson']?.['weight']};else{if(a?.['type']?.['includes']('::arb::FeedbackEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'FeedbackEvent','object':a?.['parsedJson']?.['object'],'feedback':a?.['parsedJson']?.['feedback']};else{if(a?.['type']?.['includes']('::registrar::NewEntityEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'NewEntityEvent','resource':a?.['parsedJson']?.['resource'],'address':a?.['sender'],'referrer':a?.['parsedJson']?.['referrer']?.['some']??null};else{if(a?.['type']?.['includes']('::allocation::AllocationEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'AllocationEvent','object':a?.['parsedJson']?.['object'],'payment':a?.['parsedJson']?.['payment'],'guard':a?.['parsedJson']?.['guard'],'amount':a?.['parsedJson']?.['amount']};else{if(a?.['type']?.['includes']('::treasury::TreasuryEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'TreasuryEvent','object':a?.['parsedJson']?.['object'],'op':a?.['parsedJson']?.['op'],'payment':a?.['parsedJson']?.['payment'],'amount':a?.['parsedJson']?.['amount'],'external_guard':a?.['parsedJson']?.['external_guard']?.['some']??null,'store_from_id':a?.['parsedJson']?.['store_from_id']?.['some']??null};else{if(a?.['type']?.['includes']('::reward::RewardClaimEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'RewardClaimEvent','object':a?.['parsedJson']?.['object'],'guard':a?.['parsedJson']?.['guard'],'recipient':a?.['parsedJson']?.['recipient'],'amount':a?.['parsedJson']?.['amount'],'total':a?.['parsedJson']?.['total'],'balance_left':a?.['parsedJson']?.['balance_left'],'store_from_id':a?.['parsedJson']?.['store_from_id']?.['some']??null};else{if(a?.['type']?.['includes']('::reward::RewardFundEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'RewardFundEvent','object':a?.['parsedJson']?.['object'],'amount':a?.['parsedJson']?.['amount'],'balance':a?.['parsedJson']?.['balance'],'from_payment':a?.['parsedJson']?.['from_payment']?.['some']??null};else{if(a?.['type']?.['includes']('::payment::NewPaymentEvent')){const b=a?.['parsedJson']??{};return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'NewPaymentEvent','object':b['object'],'amount':b['amount'],'from_object':b['from_object']?.['some']??null,'info':{'for_object':b['info']?.['for_object']?.['some']??null,'for_guard':b['info']?.['for_guard']?.['some']??null,'remark':b['info']?.['remark']??'','index':b['info']?.['index']??0x0},'record':(b['record']??[])['map'](c=>({'recipient':c?.['recipient'],'amount':c?.['amount']}))};}}}}}}}}}}}}}}}}return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':a?.['type'],'parsedJson_raw':a?.['parsedJson']};};let BridgeChainId=function(a){return a[a['WowMainnet']=0x0]='WowMainnet',a[a['EthMainnet']=0xa]='EthMainnet',a;}({});function isEvmChain(a){return a===0xa;}function isWowChain(a){return a===0x0;}let BridgeVersion=function(a){return a[a['V1']=0x1]='V1',a[a['V2']=0x2]='V2',a;}({}),BridgeTokenId=function(a){return a['Eth']='ETH',a['Weth']='WETH',a['Wbtc']='WBTC',a['Usdc']='USDC',a['Usdt']='USDT',a;}({}),TransferStatus=function(a){return a['Pending']='pending',a['Approved']='approved',a['Claimed']='claimed',a['Failed']='failed',a['NotFound']='not_found',a;}({}),BridgeErrorCode=function(a){return a['EstimateFailed']='ESTIMATE_FAILED',a['Reverted']='REVERTED',a['AlreadyProcessed']='ALREADY_PROCESSED',a['Timeout']='TIMEOUT',a['NoSignatures']='NO_SIGNATURES',a['NodeUnavailable']='NODE_UNAVAILABLE',a['InvalidParam']='INVALID_PARAM',a['AccountNotFound']='ACCOUNT_NOT_FOUND',a['Unknown']='UNKNOWN',a;}({});const MAINNET_COMMITTEE_PUBKEYS=['0x032f020d08ca4a8632e2442ae789b961265d80b6058135bba1d2daa30ddea0acf0','0x02bb110601a69423651f1faadb1d510d895cd91baa37a470f09479aa84ef9128bb','0x03add24c04f5149421849510709d309f826f42751922f1131c784283fc2bad0b0b'],MAINNET_COMMITTEE_WEIGHTS=[0xd06,0xd06,0xd05],MAINNET_COMMITTEE_MEMBER_ADDRESSES=['0x373ee3febe317168fe58c66faaa446e26e57c2f1','0x2829ea9323836b5c8e0f8c47cd3abdc70962e891','0x97b3c777af04e4df7cb3fd1c92893a0358db9beb'],MAINNET_BRIDGE_CONFIG={'wow':{'rpcUrl':'https://fullnode.mainnet.wowok.net:443','bridgeObjectId':'0x9','clockObjectId':'0x6','network':'mainnet'},'ethereum':{'chainId':0x1,'bridgeChainId':0xa,'rpcUrl':'https://eth.drpc.org','bridgeProxyAddress':'0xA8d914Cc121CB2d2179Ca540bC0B8213F224aa00','bridgeVaultAddress':'0xC9A6EF1A3dC6f0681d39C318c4882FB7704a7848','bridgeCommitteeAddress':'0x822779c4183ed69bdd38e0454ec1826d2ae186a5','bridgeConfigAddress':'0xaf9414c8ab0a0905a6b9ad24c927416ac765a4ce'},'bridgeNodeUrls':['http://bridge.mainnet.wowok.net:9211','http://150.158.76.254:9211','http://110.40.159.14:9211'],'defaultVersion':0x2,'tokens':[{'tokenId':0x1,'symbol':'WBTC','wowTypeTag':'0xf1f337e86cbaf642ad3991a2b277eb43f72d6fd12f9aa5dd77d5ced49c5c282e::btc::BTC','evmAddress':'0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599','evmDecimals':0x8,'wowDecimals':0x8,'evmChains':[0xa],'description':'Wrapped\x20BTC\x20(ERC20).\x20Bitcoin\x20price\x20exposure\x20on\x20Ethereum;\x201\x20WBTC\x20=\x201\x20BTC.'},{'tokenId':0x2,'symbol':'ETH','wowTypeTag':'0xf1c1e632980fce003b856ca6f960a3bb45da69523189f9df0fb463bbed2afecf::eth::ETH','evmAddress':'0x0000000000000000000000000000000000000000','evmDecimals':0x12,'wowDecimals':0x8,'evmChains':[0xa],'description':'Native\x20ETH.\x20Calls\x20bridgeETHV2{value};\x20vault\x20auto-wraps\x20to\x20WETH\x20internally.\x2018\x20decimals\x20on\x20EVM,\x208\x20decimals\x20on\x20WOW.'},{'tokenId':0x2,'symbol':'WETH','wowTypeTag':'0xf1c1e632980fce003b856ca6f960a3bb45da69523189f9df0fb463bbed2afecf::eth::ETH','evmAddress':'0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2','evmDecimals':0x12,'wowDecimals':0x8,'evmChains':[0xa],'description':'Wrapped\x20ETH\x20(ERC20).\x20Calls\x20bridgeERC20V2;\x20shares\x20Token\x20ID\x202\x20and\x20WOW\x20type\x20tag\x20with\x20native\x20ETH.'},{'tokenId':0x3,'symbol':'USDC','wowTypeTag':'0xf12c64c81707b7f232b5893612cbdf70ed58ca8bf9e161d731c8a49fe874e670::usdc::USDC','evmAddress':'0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48','evmDecimals':0x6,'wowDecimals':0x6,'evmChains':[0xa],'description':'USD\x20Coin\x20(USDC).\x20Fully\x20collateralized\x20USD\x20stablecoin;\x206\x20decimals\x20on\x20both\x20sides.'},{'tokenId':0x4,'symbol':'USDT','wowTypeTag':'0xf1877a9533bb409c14ecab161eefb5344f25435e8ba1a0da52e436a708bf613d::usdt::USDT','evmAddress':'0xdAC17F958D2ee523a2206206994597C13D831ec7','evmDecimals':0x6,'wowDecimals':0x6,'evmChains':[0xa],'description':'Tether\x20USD\x20(USDT).\x20Fiat-collateralized\x20stablecoin;\x206\x20decimals\x20on\x20both\x20sides.'}],'timeouts':{'nodeRpcMs':0x7530,'signaturePollIntervalMs':0x1388,'signatureCollectMs':0xf*0xea60,'autoClaimMs':0xa*0xea60}};function findEvmChainConfig(a,b){if(a['ethereum']['chainId']===b)return a['ethereum'];if(a['l2']){for(const c of Object['values'](a['l2']))if(c&&c['chainId']===b)return c;}}function findEvmChainConfigByBridgeChainId(a,b){if(a['ethereum']['bridgeChainId']===b)return a['ethereum'];if(a['l2']){for(const c of Object['values'](a['l2']))if(c&&c['bridgeChainId']===b)return c;}}function findToken(a,b){return a['tokens']['find'](c=>c['tokenId']===b);}function findTokenBySymbol(a,b){return a['tokens']['find'](c=>c['symbol']===b);}function verifyCommitteeConsistency(){const a=[];for(let b=0x0;b<MAINNET_COMMITTEE_PUBKEYS['length'];b++){const c=MAINNET_COMMITTEE_PUBKEYS[b],d=MAINNET_COMMITTEE_MEMBER_ADDRESSES[b],e=compressedPubKeyToAddress(c);if(e['toLowerCase']()!==d['toLowerCase']())a['push']({'index':b,'pubkey':c,'expected':d,'actual':e});}return a;}const INFO_CONSTANT={'type':'constants','constants':[{'name':'Protocol\x20Package\x20ID','value':'0x2','description':'Protocol\x20package\x20ID'},{'name':'Gas\x20Token\x20Type','value':a46r,'description':'Gas\x20token\x20type'},{'name':'Gas\x20Coin\x20Type','value':a46p,'description':'Gas\x20coin\x20type'},{'name':'Entity\x20Linker\x20ID','value':a46j,'description':'Entity\x20Linker\x20ID'},{'name':'Entity\x20Registrar\x20ID','value':a46n,'description':'Entity\x20registrar\x20ID'},{'name':'Entity\x20Contact\x20ID','value':a46g,'description':'Entity\x20contact\x20system\x20object\x20ID'},{'name':'Messenger\x20ID','value':a46f,'description':'Encrypted\x20messenger\x20system\x20object\x20ID'},{'name':'Entity\x20Permission\x20ID','value':a46b,'description':'Entity\x20permission\x20system\x20object\x20ID'},{'name':'Entity\x20Order\x20ID','value':a46e,'description':'Global\x20entity\x20->\x20orders\x20reverse\x20index\x20system\x20object\x20ID'},{'name':'Object\x20Linker\x20Core\x20ID','value':a46d,'description':'Object\x20linker\x20core\x20system\x20object\x20ID'},{'name':'Object\x20Linker\x20Tx\x20ID','value':a46c,'description':'Object\x20linker\x20tx\x20system\x20object\x20ID'}],'value_types':Object['entries'](a46k)['filter'](([a,b])=>isNaN(Number(a))&&a!=='Value')['map'](([a,b])=>({'name':a,'value':a,'description':'Value\x20type\x20'+a+'\x20=\x20'+b})),'object_types':Object['values'](a46o)['map'](a=>({'name':a,'value':a,'description':'Object\x20type\x20'+a})),'guard_instructions':Object['values'](a46m)['map'](a=>({'name':a,'value':a,'description':'Guard\x20instruction\x20'+a})),'guard_contexts':Object['values'](a46q)['map'](a=>({'name':a,'value':a,'description':'Guard\x20context\x20'+a})),'guard_witnesses':Object['values'](a46l)['map'](a=>({'name':a,'value':a,'description':'Guard\x20witness\x20'+a}))},COMMON_MISTAKES=[{'object_type':'Service','operation':'compensation_fund_add','category':'field_name','mistake':'Using\x20{amount:\x20...}\x20or\x20{amount:\x20...,\x20type:\x20\x27WOW\x27}\x20instead\x20of\x20{balance:\x20...}.\x20The\x20correct\x20field\x20name\x20is\x20\x27balance\x27,\x20and\x20the\x20token\x20type\x20is\x20inferred\x20from\x20the\x20Service\x27s\x20type_parameter\x20(generic\x20type).','correct_usage':'{balance:\x20<amount_in_smallest_unit>}.\x20The\x20smallest\x20unit\x20depends\x20on\x20the\x20Service\x27s\x20type_parameter:\x20WOW/SUI\x20use\x209\x20decimals\x20(10^9\x20=\x201\x20token),\x20USDC\x20uses\x206\x20decimals\x20(10^6\x20=\x201\x20token).','wrong_example':'{\x22compensation_fund_add\x22:\x20{\x22amount\x22:\x201000000000,\x20\x22type\x22:\x20\x22WOW\x22}}','correct_example':'{\x22compensation_fund_add\x22:\x20{\x22balance\x22:\x201000000000}}\x20(1\x20WOW\x20or\x201\x20SUI,\x20assuming\x209-decimal\x20token\x20type)'},{'object_type':'Service','operation':'compensation_fund_add','category':'workflow','mistake':'Calling\x20compensation_fund_add\x20without\x20first\x20granting\x20permission\x20315\x20(SERVICE_COMPENSATION_FUND_DEPOSIT)\x20to\x20the\x20calling\x20account.\x20The\x20Move\x20layer\x20will\x20reject\x20with\x20\x27Missing\x20permissions\x20315\x27.','correct_usage':'Grant\x20permission\x20315\x20to\x20the\x20funder\x20account\x20via\x20permission.table\x20{op:\x20\x27add\x20perm\x20by\x20index\x27,\x20index:\x20315,\x20entity:\x20[funder_account]}\x20BEFORE\x20calling\x20compensation_fund_add.','wrong_example':'{\x22compensation_fund_add\x22:\x20{\x22balance\x22:\x201000000000}}\x20(without\x20permission\x20315\x20granted)','correct_example':'Step\x201:\x20permission.table\x20{op:\x20\x22add\x20perm\x20by\x20index\x22,\x20index:\x20315,\x20entity:\x20[\x22funder\x22]}\x20→\x20Step\x202:\x20{\x22compensation_fund_add\x22:\x20{\x22balance\x22:\x201000000000}}'},{'object_type':'Service','operation':'setting_lock_duration_add','category':'unit','mistake':'Passing\x20seconds\x20instead\x20of\x20milliseconds.\x20The\x20field\x20is\x20in\x20MILLISECONDS,\x20not\x20seconds.\x20Multiply\x20seconds\x20by\x201000.','correct_usage':'Value\x20in\x20milliseconds.\x2086400000\x20=\x201\x20day,\x202592000000\x20=\x2030\x20days\x20(default),\x207776000000\x20=\x2090\x20days.','wrong_example':'{\x22setting_lock_duration_add\x22:\x202592000}\x20(30\x20days\x20in\x20SECONDS\x20—\x20actually\x20only\x2025.92\x20seconds!)','correct_example':'{\x22setting_lock_duration_add\x22:\x202592000000}\x20(30\x20days\x20in\x20milliseconds)'},{'object_type':'Service','operation':'setting_lock_duration_add','category':'value_range','mistake':'Expecting\x20the\x20default\x20to\x20be\x2090\x20days.\x20The\x20actual\x20default\x20(DEFAULT_LOCK_DURATION)\x20is\x2030\x20days\x20(2592000000\x20ms).\x20This\x20is\x20the\x20value\x20set\x20when\x20a\x20Service\x20is\x20created\x20without\x20explicitly\x20setting\x20setting_lock_duration_add.','correct_usage':'If\x20you\x20need\x2090\x20days,\x20explicitly\x20set\x20setting_lock_duration_add\x20to\x207776000000\x20(90\x20days\x20in\x20ms).\x20Note:\x20setting_lock_duration_add\x20is\x20ADDITIVE\x20—\x20it\x20only\x20increases\x20the\x20duration.','wrong_example':'Creating\x20a\x20Service\x20and\x20expecting\x20setting_lock_duration\x20=\x207776000000\x20(90\x20days)\x20without\x20setting\x20setting_lock_duration_add.','correct_example':'{\x22setting_lock_duration_add\x22:\x207776000000}\x20(90\x20days\x20in\x20ms)\x20—\x20set\x20during\x20Service\x20creation.'},{'object_type':'Service','operation':'order_allocators','category':'workflow','mistake':'Setting\x20order_allocators\x20AFTER\x20publish.\x20order_allocators\x20is\x20L1\x20immutable\x20after\x20publish\x20(Move:\x20assert!(!bPublished)).\x20It\x20MUST\x20be\x20set\x20BEFORE\x20publish=true.','correct_usage':'Set\x20order_allocators\x20in\x20Phase\x201\x20(Service\x20creation,\x20before\x20publish).\x20Phase\x202\x20(publish=true)\x20only\x20flips\x20the\x20publish\x20flag.','wrong_example':'Step\x201:\x20create\x20+\x20publish\x20Service\x20→\x20Step\x202:\x20set\x20order_allocators\x20(FAILS:\x20assert!(!bPublished))','correct_example':'Step\x201:\x20create\x20Service\x20(no\x20publish)\x20+\x20set\x20order_allocators\x20→\x20Step\x202:\x20publish=true'},{'object_type':'Service','operation':'machine','category':'workflow','mistake':'Setting\x20machine\x20AFTER\x20publish.\x20machine\x20is\x20L1\x20immutable\x20after\x20publish\x20(Move:\x20assert!(!bPublished)).\x20It\x20MUST\x20be\x20set\x20BEFORE\x20publish=true.','correct_usage':'Set\x20machine\x20in\x20Phase\x201\x20(Service\x20creation,\x20before\x20publish).','wrong_example':'Step\x201:\x20create\x20+\x20publish\x20Service\x20→\x20Step\x202:\x20set\x20machine\x20(FAILS)','correct_example':'Step\x201:\x20create\x20Service\x20(no\x20publish)\x20+\x20set\x20machine\x20→\x20Step\x202:\x20publish=true'},{'object_type':'Arbitration','operation':'voting_deadline','category':'unit','mistake':'Passing\x20seconds\x20instead\x20of\x20milliseconds.\x20voting_deadline\x20is\x20a\x20Unix\x20timestamp\x20in\x20MILLISECONDS,\x20not\x20seconds.\x20Multiply\x20seconds\x20by\x201000.','correct_usage':'Unix\x20timestamp\x20in\x20milliseconds.\x20Use\x20Date.now()\x20+\x20<duration_ms>\x20for\x20a\x20future\x20deadline.\x20Example:\x20Date.now()\x20+\x20259200000\x20for\x203\x20days.','wrong_example':'{\x22voting_deadline\x22:\x201785190000}\x20(seconds\x20—\x20this\x20is\x20in\x202026-05\x20but\x20in\x20seconds,\x20which\x20is\x20actually\x201970-01-21)','correct_example':'{\x22voting_deadline\x22:\x201785190000000}\x20(milliseconds\x20—\x20correct\x20Unix\x20timestamp\x20in\x20ms)'},{'object_type':'Arbitration','operation':'voting_deadline','category':'timing','mistake':'Setting\x20voting_deadline\x20to\x20a\x20past\x20time.\x20The\x20deadline\x20MUST\x20be\x20in\x20the\x20future\x20(recommended:\x20now\x20+\x20at\x20least\x2086400000\x20ms\x20=\x2024\x20hours).\x20Past\x20deadlines\x20prevent\x20voting.','correct_usage':'Use\x20Date.now()\x20+\x20<duration_ms>.\x20Minimum\x20recommended:\x2086400000\x20ms\x20(24\x20hours).\x203\x20days\x20=\x20259200000\x20ms.','wrong_example':'{\x22voting_deadline\x22:\x201785190000000}\x20(if\x20this\x20is\x20in\x20the\x20past,\x20voting\x20will\x20fail)','correct_example':'{\x22voting_deadline\x22:\x20Date.now()\x20+\x20259200000}\x20(3\x20days\x20from\x20now)'},{'object_type':'Arbitration','operation':'dispute','category':'field_name','mistake':'Using\x20{amount:\x20...}\x20for\x20the\x20dispute\x20fee\x20instead\x20of\x20{balance:\x20...}.\x20The\x20fee\x20field\x20uses\x20CoinParamSchema\x20which\x20requires\x20\x27balance\x27,\x20not\x20\x27amount\x27.','correct_usage':'{balance:\x20<amount_in_smallest_unit>}.\x20The\x20smallest\x20unit\x20depends\x20on\x20the\x20Arbitration\x27s\x20type_parameter:\x20WOW/SUI\x20use\x209\x20decimals,\x20USDC\x20uses\x206\x20decimals.','wrong_example':'{\x22fee\x22:\x20{\x22amount\x22:\x2050000000}}','correct_example':'{\x22fee\x22:\x20{\x22balance\x22:\x2050000000}}\x20(0.05\x20WOW\x20or\x200.05\x20SUI,\x20assuming\x209-decimal\x20token\x20type)'},{'object_type':'Order','operation':'order_new','category':'workflow','mistake':'Not\x20setting\x20namedNewOrder/namedNewAllocation/namedNewProgress\x20when\x20creating\x20an\x20Order.\x20Without\x20names,\x20subsequent\x20operations\x20must\x20use\x20on-chain\x20addresses,\x20which\x20are\x20hard\x20to\x20reference.','correct_usage':'Set\x20namedNewOrder,\x20namedNewAllocation,\x20and\x20namedNewProgress\x20to\x20local\x20names\x20for\x20easy\x20reference\x20in\x20subsequent\x20operations.','wrong_example':'{\x22order_new\x22:\x20{\x22buy\x22:\x20{...}}}\x20(no\x20namedNewOrder\x20—\x20must\x20use\x20address\x20for\x20all\x20subsequent\x20operations)','correct_example':'{\x22order_new\x22:\x20{\x22buy\x22:\x20{...},\x20\x22namedNewOrder\x22:\x20{\x22name\x22:\x20\x22my_order\x22},\x20\x22namedNewAllocation\x22:\x20{\x22name\x22:\x20\x22my_alloc\x22},\x20\x22namedNewProgress\x22:\x20{\x22name\x22:\x20\x22my_progress\x22}}}'},{'object_type':'ALL','operation':'create_with_reference','category':'workflow','mistake':'Creating\x20an\x20object\x20that\x20references\x20another\x20object\x20by\x20name\x20(LocalMark)\x20when\x20the\x20referenced\x20object\x20does\x20not\x20exist\x20yet.\x20This\x20causes\x20BCS\x20serialization\x20error:\x20\x27failed\x20to\x20resolve\x20string:\x20<name>\x27.\x20The\x20general\x20pattern\x20is:\x20create\x20object\x20A\x20(no\x20publish,\x20establishes\x20LocalMark)\x20→\x20create\x20object\x20B\x20that\x20references\x20A\x20→\x20update\x20A\x20with\x20references\x20to\x20B\x20→\x20publish\x20A.','correct_usage':'GENERAL\x20DEPLOYMENT\x20ORDER\x20RULE:\x20(1)\x20Create\x20all\x20objects\x20with\x20basic\x20config,\x20no\x20publish\x20—\x20addresses\x20are\x20determined\x20and\x20LocalMark\x20names\x20are\x20registered.\x20(2)\x20Create\x20Guards\x20and\x20other\x20objects\x20that\x20reference\x20the\x20first\x20batch\x20—\x20LocalMark\x20names\x20now\x20resolve.\x20(3)\x20Update\x20objects\x20with\x20cross-references\x20(order_allocators,\x20buy_guard,\x20etc.).\x20(4)\x20Publish\x20objects.\x20This\x20avoids\x20all\x20circular\x20dependencies.','wrong_example':'Step\x201:\x20create\x20Guard\x20referencing\x20\x22my_service\x22\x20(my_service\x20does\x20not\x20exist)\x20→\x20BCS\x20error','correct_example':'Step\x201:\x20create\x20Service\x20(no\x20publish,\x20establishes\x20\x22my_service\x22\x20LocalMark)\x20→\x20Step\x202:\x20create\x20Guard\x20referencing\x20\x22my_service\x22\x20→\x20Step\x203:\x20update\x20Service\x20with\x20order_allocators\x20referencing\x20Guard\x20→\x20Step\x204:\x20publish\x20Service'},{'object_type':'Machine','operation':'add|set','category':'architecture','mistake':'Including\x20arbitration/dispute\x20nodes\x20in\x20a\x20Machine\x20workflow.\x20CORE\x20PRINCIPLE:\x20A\x20merchant\x27s\x20business\x20flow\x20cannot\x20handle\x20disputes\x20fairly\x20because\x20the\x20merchant\x20would\x20be\x20\x27both\x20player\x20and\x20referee\x27\x20(既当球员又当裁判).\x20The\x20WoWok\x20smart\x20contract\x20design\x20enforces\x20this\x20by\x20making\x20Arbitration\x20a\x20completely\x20separate\x20object\x20—\x20it\x20has\x20its\x20own\x20Permission,\x20voting_guard,\x20usage_guard,\x20and\x20balance,\x20with\x20NO\x20reference\x20from\x20Machine/Progress\x20to\x20Arbitration.\x20The\x20Order\x20object\x20is\x20the\x20bridge:\x20it\x20has\x20both\x20`progress`\x20(Machine)\x20and\x20`dispute`\x20(list\x20of\x20Arb\x20addresses)\x20fields,\x20but\x20the\x20Arb\x20lifecycle\x20(7\x20states:\x20Principal_confirming\x20→\x20Arbitrator_confirming\x20→\x20Voting\x20→\x20Arbitrated\x20→\x20Objectionable\x20→\x20Finished\x20→\x20Withdrawn)\x20is\x20managed\x20entirely\x20by\x20the\x20Arbitration\x20object,\x20not\x20by\x20the\x20Machine.','correct_usage':'ARBITRATION\x20SEPARATION\x20RULE:\x20(1)\x20Machine\x20workflows\x20model\x20BUSINESS\x20states\x20only\x20(e.g.,\x20ordered\x20→\x20shipped\x20→\x20delivered\x20→\x20refunded\x20→\x20completed).\x20(2)\x20Arbitration\x20is\x20a\x20separate\x20object\x20with\x20its\x20own\x20Permission\x20—\x20create\x20it\x20independently.\x20(3)\x20When\x20a\x20dispute\x20arises,\x20an\x20Arb\x20instance\x20is\x20created\x20referencing\x20the\x20Order;\x20the\x20Arb\x20goes\x20through\x20its\x207-state\x20lifecycle\x20in\x20the\x20Arbitration\x20object.\x20(4)\x20If\x20the\x20Arb\x20rules\x20in\x20favor\x20of\x20the\x20customer,\x20`indemnity`\x20is\x20set\x20and\x20`order::compensate()`\x20is\x20called\x20—\x20this\x20is\x20the\x20ONLY\x20connection\x20between\x20Arb\x20and\x20Order.\x20(5)\x20The\x20Machine\x20can\x20have\x20\x27refunded\x27/\x27cancelled\x27\x20nodes\x20for\x20the\x20BUSINESS\x20OUTCOME\x20of\x20a\x20dispute,\x20but\x20the\x20dispute\x20PROCESS\x20is\x20entirely\x20in\x20Arb.\x20(6)\x20Arbitration\x27s\x20Permission\x20MUST\x20be\x20separate\x20from\x20Service\x27s\x20Permission\x20—\x20never\x20share.','wrong_example':'Machine\x20nodes:\x20[ordered,\x20shipped,\x20delivered,\x20disputed,\x20resolved,\x20completed]\x20—\x20\x22disputed\x22\x20and\x20\x22resolved\x22\x20are\x20Arb\x20lifecycle\x20states,\x20not\x20business\x20states.\x20The\x20merchant\x20would\x20control\x20the\x20dispute\x20process,\x20making\x20it\x20unfair.','correct_example':'Machine\x20nodes:\x20[ordered,\x20shipped,\x20delivered,\x20refunded,\x20completed]\x20(business\x20states\x20only)\x20+\x20separate\x20Arbitration\x20object\x20(with\x20own\x20Permission,\x20voting_guard)\x20+\x20Arb\x20instances\x20(7-state\x20lifecycle)\x20that\x20call\x20order::compensate()\x20when\x20ruled'},{'object_type':'ALL','operation':'multi_tier_allocation','category':'architecture','mistake':'Thinking\x20Allocation\x20cannot\x20support\x20multi-level\x20fund\x20distribution.\x20WoWok\x20supports\x20multi-tier\x20allocation\x20through\x20SUB-ORDERS:\x20each\x20tier\x20is\x20an\x20independent\x20Service\x20with\x20its\x20own\x20order_allocators.\x20The\x20main\x20Order\x20pays\x20the\x20Tier-1\x20Service;\x20the\x20Tier-1\x20Service\x27s\x20Allocation\x20distributes\x20funds\x20to\x20Tier-2\x20sub-orders\x20(each\x20a\x20separate\x20Service\x20with\x20its\x20own\x20Allocation).\x20Additionally,\x20Allocation\x20can\x20run\x20as\x20a\x20standalone\x20independent\x20object,\x20not\x20just\x20as\x20a\x20Service\x20field.','correct_usage':'MULTI-TIER\x20ALLOCATION\x20PATTERN:\x20(1)\x20Main\x20Service\x20has\x20order_allocators\x20that\x20distribute\x20to\x20Tier-1\x20recipients\x20(e.g.,\x20platform\x20+\x20agency).\x20(2)\x20Each\x20Tier-1\x20recipient\x20can\x20be\x20a\x20separate\x20Service\x20with\x20its\x20own\x20order_allocators\x20for\x20Tier-2\x20distribution\x20(e.g.,\x20agency\x20→\x20operators).\x20(3)\x20Each\x20tier\x27s\x20Order\x20is\x20independent\x20—\x20Tier-1\x20payment\x20triggers\x20Tier-2\x20order\x20creation.\x20(4)\x20For\x20standalone\x20allocation:\x20create\x20an\x20Allocation\x20object\x20independently\x20and\x20transfer\x20funds\x20to\x20it,\x20then\x20use\x20Guard-driven\x20allocation\x20to\x20distribute.\x20(5)\x20Do\x20NOT\x20try\x20to\x20put\x20all\x20tiers\x20in\x20a\x20single\x20Order\x27s\x20order_allocators\x20—\x20use\x20separate\x20Services/Orders\x20per\x20tier.','wrong_example':'Single\x20Service\x20with\x208\x20order_allocators\x20trying\x20to\x20handle\x203\x20tiers\x20of\x20distribution\x20in\x20one\x20Order','correct_example':'Tier-1\x20Service\x20(allocators:\x20platform\x2025%,\x20agency\x2075%)\x20→\x20agency\x20creates\x20Tier-2\x20Service\x20(allocators:\x20operator1\x2050%,\x20operator2\x2050%)\x20→\x20each\x20tier\x20is\x20independent'},{'object_type':'ALL','operation':'transfer','category':'fund_flow','mistake':'Not\x20understanding\x20that\x20the\x20signing\x20account\x20determines\x20whose\x20assets\x20are\x20used.\x20The\x20env.account\x20field\x20in\x20every\x20operation\x20specifies\x20the\x20signer\x20—\x20whoever\x20signs\x20the\x20transaction,\x20their\x20assets\x20are\x20used.\x20The\x20name_or_address_from\x20field\x20in\x20account_operation.transfer\x20is\x20OPTIONAL\x20—\x20if\x20omitted,\x20the\x20default\x20account\x20(env.account)\x20signs\x20and\x20its\x20assets\x20are\x20transferred.','correct_usage':'SIGNING\x20ACCOUNT\x20RULE:\x20(1)\x20Every\x20operation\x20has\x20env.account\x20—\x20this\x20is\x20the\x20signer.\x20(2)\x20For\x20transfers:\x20if\x20name_or_address_from\x20is\x20omitted,\x20the\x20env.account\x27s\x20assets\x20are\x20used.\x20(3)\x20To\x20transfer\x20from\x20a\x20DIFFERENT\x20account,\x20set\x20name_or_address_from\x20to\x20that\x20account\x27s\x20name/address.\x20(4)\x20The\x20signer\x20(env.account)\x20must\x20have\x20permission\x20to\x20spend\x20the\x20from\x20account\x27s\x20assets\x20(or\x20be\x20the\x20same\x20account).\x20(5)\x20This\x20is\x20NOT\x20a\x20limitation\x20—\x20it\x27s\x20how\x20blockchain\x20transactions\x20work:\x20the\x20signer\x20pays\x20gas\x20and\x20authorizes\x20asset\x20movement.','wrong_example':'Thinking\x20transfer\x20requires\x20a\x20special\x20source\x20account\x20field\x20separate\x20from\x20the\x20signing\x20account','correct_example':'env:\x20{account:\x20\x22my_account\x22}\x20→\x20transfer\x20{name_or_address_to:\x20\x22recipient\x22,\x20amount:\x20\x221000000000\x22}\x20→\x20my_account\x20signs\x20and\x20its\x20WOW\x20is\x20transferred'}];function query_common_mistakes(a){if(!a)return COMMON_MISTAKES;return COMMON_MISTAKES['filter'](b=>{if(a['object_type']&&b['object_type']!==a['object_type'])return![];if(a['operation']&&b['operation']!==a['operation'])return![];if(a['category']&&b['category']!==a['category'])return![];return!![];});}const FUNDING_GUIDANCE={'overview':'How\x20to\x20obtain\x20WOW\x20gas\x20and\x20payment\x20tokens.\x20Testnet\x20uses\x20a\x20faucet;\x20mainnet\x20uses\x20the\x20ETH\x20mainnet\x20cross-chain\x20bridge;\x20a\x20WOW\x20airdrop\x20is\x20under\x20construction.','testnet':{'token':'WOW','method':'faucet','faucet_url':'https://faucet.testnet.wowok.net','note':'Claim\x20WOW\x20from\x20the\x20testnet\x20faucet.\x20All\x20merchant\x20and\x20order\x20testing\x20can\x20use\x20WOW\x20as\x20the\x20payment\x20token.'},'mainnet':{'method':'eth_bridge','supported_tokens':['ETH','USDT','USDC','WBTC'],'steps':['Query\x20the\x20active\x20EVM\x20account\x20via\x20bridge_operation\x20(query_active_evm_account).\x20It\x20is\x20auto-generated\x20on\x20first\x20use.','From\x20an\x20external\x20wallet\x20(e.g.\x20MetaMask),\x20transfer\x20ETH\x20/\x20USDT\x20/\x20USDC\x20/\x20WBTC\x20to\x20the\x20active\x20EVM\x20account\x20address\x20on\x20Ethereum\x20mainnet.','Query\x20the\x20active\x20EVM\x20account\x20balance\x20to\x20confirm\x20the\x20funds\x20arrived.','Cross-chain\x20the\x20funds\x20to\x20the\x20WOW\x20mainnet\x20account\x20via\x20bridge_operation\x20(cross_chain_evm_to_wow).']},'airdrop':{'url':'https://airdrop.wowok.net','status':'under\x20construction'},'payment_token':{'testnet_default':'WOW\x20(default\x20gas\x20+\x20payment\x20token)','mainnet_option':'USDT\x20and\x20other\x20stablecoins\x20via\x20the\x20ETH\x20mainnet\x20bridge','migration_note':'When\x20migrating\x20a\x20merchant\x20project\x20from\x20testnet\x20to\x20mainnet,\x20ask\x20whether\x20to\x20switch\x20the\x20payment\x20token\x20from\x20WOW\x20to\x20a\x20stablecoin\x20such\x20as\x20USDT.'}};async function queryProtocolInfo(a){switch(a['info']){case'constants':return{'info':'constants','result':INFO_CONSTANT['constants']};case'built-in\x20permissions':return{'info':'built-in\x20permissions','result':queryPermissions(a['filter']||{})};case'common\x20mistakes':return{'info':'common\x20mistakes','result':query_common_mistakes(a['filter'])};case'guard\x20instructions':return{'info':'guard\x20instructions','result':a46D(a['filter']||{})};case'current\x20network':return{'info':'current\x20network','result':await Config['Instance']()['network_get']()};case'value\x20types':return{'info':'value\x20types','result':INFO_CONSTANT['value_types']};case'mainnet\x20bridge\x20tokens':return{'info':'mainnet\x20bridge\x20tokens','result':MAINNET_BRIDGE_CONFIG['tokens']};case'funding\x20guidance':return{'info':'funding\x20guidance','result':FUNDING_GUIDANCE};default:throw new Error('Unsupported\x20info\x20type:\x20\x22'+a['info']+'\x22.\x20Valid\x20are:\x20\x22constants\x22,\x20\x22built-in\x20permissions\x22,\x20\x22common\x20mistakes\x22,\x20\x22guard\x20instructions\x22,\x20\x22current\x20network\x22,\x20\x22value\x20types\x22,\x20\x22mainnet\x20bridge\x20tokens\x22,\x20\x22funding\x20guidance\x22');}}function queryPermissions(a){return query_permissions(a);}const query_transaction_json=async a=>{try{const b=JSON['parse'](a);return JSON['stringify']({'data':await query_transaction(b)});}catch(c){return JSON['stringify']({'error':c?.['toString']()});}},query_transaction=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=a['digest'],d=await Cache['read'](['tx','detail',c,b],async()=>{const e=await new a46a({'url':a46i(b),'network':b})['getTransactionBlock']({'digest':c,'options':{'showEffects':!![],'showEvents':!![],'showBalanceChanges':!![],'showInput':!![],'showObjectChanges':!![]}}),f=parseTransactionBlock(e);return{'expire':Cache['DefaultExpireTime']('long'),'data':f};},a['no_cache']);if(d)return d['data']['cache_expire']=d['expire'],d['data'];},query_object_history_json=async a=>{try{const b=JSON['parse'](a);return JSON['stringify']({'data':await query_object_history(b)});}catch(c){return JSON['stringify']({'error':c?.['toString']()});}},query_object_history=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=(await LocalMark['Instance']()['get_many_address']([a['object']]))[0x0];if(!c)return{'transactions':[],'next_cursor':null,'has_next_page':![]};const d=a['cursor']??'',e=(a['limit']??0x14)['toString'](),f=a['order']??'descending',g=await Cache['read'](['tx','obj_history',c,d,e,f,b],async()=>{const h=await fetchTransactionHistory(b,{'InputObject':c},a['cursor'],a['limit']??0x14,a['order']??'descending');return{'expire':Cache['DefaultExpireTime'](),'data':h};},a['no_cache']);if(g)return g['data']['cache_expire']=g['expire'],g['data'];},query_object_last_updated=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=(await LocalMark['Instance']()['get_many_address']([a['object']]))[0x0];if(!c)return void 0x0;try{const f=new a46a({'url':a46i(b),'network':b});let g=a['previous_transaction']??null;if(!g){const h=await f['getObject']({'objectId':c,'options':{'showPreviousTransaction':!![]}});g=h?.['data']?.['previousTransaction']??h?.['previousTransaction']??null;}if(g){const i=(await Cache['read'](['tx','tx_ts',g],async()=>{const j=await f['getTransactionBlock']({'digest':g,'options':{'showInput':!![]}}),k=j?.['timestampMs']??j?.['data']?.['timestampMs'];if(!k)return void 0x0;return{'expire':Cache['DefaultExpireTime']('immutable'),'data':{'tx':{'object':c,'timestamp_ms':String(k),'digest':g,'sender':j?.['transaction']?.['data']?.['sender']??j?.['sender']??void 0x0}}};},a['no_cache']))?.['data']?.['tx'];if(i)return{...i,'object':c};}}catch(j){}const d=(await query_object_history({'object':c,'order':'descending','limit':0x1,'network':a['network'],'no_cache':a['no_cache']}))?.['transactions']?.[0x0];if(!d)return{'object':c};return{'object':c,'timestamp_ms':d['timestamp_ms'],'digest':d['digest'],'sender':d['sender']};},query_address_activity_json=async a=>{try{const b=JSON['parse'](a);return JSON['stringify']({'data':await query_address_activity(b)});}catch(c){return JSON['stringify']({'error':c?.['toString']()});}},query_address_activity=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=await GetAccountOrMark_Address(a['name_or_address']);if(!c)return{'transactions':[],'next_cursor':null,'has_next_page':![]};const d=a['cursor']??'',e=(a['limit']??0x14)['toString'](),f=a['order']??'descending',g=await Cache['read'](['tx','addr_activity',c,d,e,f,b],async()=>{const h=await fetchTransactionHistory(b,{'FromAddress':c},a['cursor'],a['limit']??0x14,a['order']??'descending');return{'expire':Cache['DefaultExpireTime'](),'data':h};},a['no_cache']);if(g)return g['data']['cache_expire']=g['expire'],g['data'];},fetchTransactionHistory=async(a,b,c,d,e)=>{const f=await new a46a({'url':a46i(a),'network':a})['queryTransactionBlocks']({'filter':b,'options':{'showEffects':!![],'showInput':!![]},'cursor':c??void 0x0,'limit':Math['min'](d,0x32),'order':e});return{'transactions':(f?.['data']??[])['map'](g=>{const h=extractObjectsFromEffects(g?.['effects']);return{'digest':g?.['digest']??'','status':g?.['effects']?.['status']?.['status']==='success'?'success':'failed','timestamp_ms':g?.['timestampMs'],'sender':g?.['transaction']?.['data']?.['sender'],'kind':g?.['transaction']?.['data']?.['transaction']?.['kind']?Object['keys'](g['transaction']['data']['transaction'])[0x0]:void 0x0,'gas_used':g?.['effects']?.['gasUsed']?.['computationCost']?''+g['effects']['gasUsed']['computationCost']:void 0x0,'objects_touched':h,'has_object_changes':h['length']>0x0};}),'next_cursor':f?.['nextCursor']??null,'has_next_page':f?.['hasNextPage']??![]};},parseTransactionBlock=a=>{const b=a?.['effects'],c=b?.['status']?.['status']==='success'?'success':'failed',d=c==='failed'?b?.['status']?.['error']:void 0x0,e=(a?.['objectChanges']??[])['map'](j=>({'id':j?.['objectId']??'','type':j?.['type']??'mutated','object_type':j?.['objectType'],'sender':j?.['sender'],'version':j?.['version'],'previous_version':j?.['previousVersion'],'digest':j?.['digest']})),f=(a?.['balanceChanges']??[])['map'](j=>({'owner':typeof j?.['owner']==='string'?j['owner']:j?.['owner']?.['AddressOwner']??'','coin_type':j?.['coinType']??'','amount':j?.['amount']??'0'})),g=(a?.['events']??[])['map'](j=>({'type':j?.['type']??'','package_id':j?.['packageId'],'module':j?.['transactionModule'],'sender':j?.['sender'],'parsed_json':j?.['parsedJson'],'bcs':j?.['bcs']})),h=b?.['gasUsed'],i=h?''+(BigInt(h['computationCost']??0x0)+BigInt(h['storageCost']??0x0)-BigInt(h['storageRebate']??0x0)):void 0x0;return{'digest':a?.['digest']??'','status':c,'error':d,'timestamp_ms':a?.['timestampMs'],'sender':a?.['transaction']?.['data']?.['sender'],'gas_used':i,'gas_budget':a?.['transaction']?.['data']?.['gasData']?.['budget']?.['toString'](),'kind':a?.['transaction']?.['data']?.['transaction']?Object['keys'](a['transaction']['data']['transaction'])[0x0]:void 0x0,'object_changes':e,'balance_changes':f,'event_count':g['length'],'events':g,'epoch':b?.['epoch'],'is_system_tx':a?.['transaction']?.['data']?.['transaction']?.['kind']==='ConsensusCommitPrologue'};},extractObjectsFromEffects=a=>{if(!a)return[];const b=[],c=d=>{if(Array['isArray'](d)){for(const e of d)if(e?.['reference']?.['objectId'])b['push'](e['reference']['objectId']);else{if(e?.['objectId'])b['push'](e['objectId']);}}};return c(a['created']),c(a['mutated']),c(a['deleted']),c(a['wrapped']),c(a['unwrapped']),[...new Set(b)];};export{parseWowokEventItem as A,BridgeChainId as C,TransferStatus as D,BridgeVersion as E,AFFILIATION_TABLE_META as F,query_affiliations as I,query_events_json as M,query_serviceContext as N,isEvmChain as O,AFFILIATION_TABLES_BY_TYPE as P,verifyCommitteeConsistency as S,BridgeTokenId as T,MAINNET_COMMITTEE_WEIGHTS as _,query_object_last_updated as a,findToken as b,COMMON_MISTAKES as c,queryPermissions as d,queryProtocolInfo as f,MAINNET_COMMITTEE_PUBKEYS as g,MAINNET_COMMITTEE_MEMBER_ADDRESSES as h,query_object_history_json as i,query_events as j,isWowChain as k,FUNDING_GUIDANCE as l,MAINNET_BRIDGE_CONFIG as m,query_address_activity_json as n,query_transaction as o,query_common_mistakes as p,query_object_history as r,query_transaction_json as s,query_address_activity as t,INFO_CONSTANT as u,findEvmChainConfig as v,BridgeErrorCode as w,findTokenBySymbol as x,findEvmChainConfigByBridgeChainId as y};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as a47a}from'./client-
|
|
1
|
+
import{t as a47a}from'./client-qwFkeNkI.mjs';import{o as a47b}from'./exception-Xd2RFs2i.mjs';import{n as a47c}from'./network-y8yMus5q.mjs';import'./common-BXJtePqk.mjs';import{Config}from'./w/local/config.mjs';import{GetAccountOrMark_Address}from'./w/local/index.mjs';import{Q as a47d,yt as a47e}from'./object-RbNBCbWH.mjs';const query_received=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=new a47a({'url':a47c(b),'network':b});if(a['type']===void 0x0||a['type']===null){const e=await GetAccountOrMark_Address(a['name_or_address']);if(!e)a47b('invalid\x20parameter','query_received:\x20Object\x20'+a['name_or_address']+'\x20not\x20found.');return(await c['getOwnedObjects']({'owner':e,'options':{'showContent':!![],'showType':!![]}}))['data']['map'](f=>{return{'id':f?.['data']?.['objectId'],'type':f?.['data']?.['type'],'content_raw':f?.['data']?.['content']?.['fields'],'version':f?.['data']?.['version'],'digest':f?.['data']?.['digest']};});}if(a['type']==='CoinWrapper'){const f=typeof a['name_or_address']==='string'?a['name_or_address']:a['name_or_address']['name_or_address'];if(!f)a47b('invalid\x20parameter','query_received:\x20name_or_address\x20is\x20required.');const g=await GetAccountOrMark_Address(a['name_or_address']);if(!g)a47b('invalid\x20parameter','query_received:\x20Object\x20'+f+'\x20not\x20found.');let h;try{const m=await a47d({'objects':[f],'no_cache':![],'network':a['network']});if(m?.['objects']&&m['objects']['length']===0x1)h=a47e(m['objects'][0x0]['type_raw']);}catch{h=void 0x0;}const i=h?'0x2::payment::CoinWrapper<'+h+'>':void 0x0,j=await c['getOwnedObjects']({'owner':g,...i?{'filter':{'StructType':i}}:{},'options':{'showContent':!![],'showType':!![]}});let k=BigInt(0x0);const l=j['data']['filter'](n=>!i||(n?.['data']?.['type']??'')['includes']('::payment::CoinWrapper<'))['map'](n=>{const o=n?.['data']?.['content']?.['fields'];return k+=BigInt(o?.['coin']?.['fields']?.['balance']??0x0),{'payment':o?.['payment'],'balance':o?.['coin']?.['fields']?.['balance'],'id':n?.['data']?.['objectId'],'type':o?.['coin']?.['type']??n?.['data']?.['type'],'version':n?.['data']?.['version'],'digest':n?.['data']?.['digest']};});return{'balance':k,'received':l,'token_type':h??a47e(l[0x0]?.['type']??'')??''};}const d=await GetAccountOrMark_Address(a['name_or_address']);if(!d)a47b('invalid\x20parameter','query_received:\x20Object\x20'+a['name_or_address']+'\x20not\x20found.');return(await c['getOwnedObjects']({'owner':d,'filter':{'StructType':a['type']},'options':{'showContent':!![],'showType':!![]}}))['data']['map'](n=>{return{'id':n?.['data']?.['objectId'],'type':n?.['data']?.['type'],'content_raw':n?.['data']?.['content']?.['fields'],'version':n?.['data']?.['version'],'digest':n?.['data']?.['digest']};});};export{query_received as t};
|