wowok_agent
Version:
Create, collaborate, and transact on your own terms with the AI-driven web3 collaboration protocol.
1 lines • 10.6 kB
JavaScript
"use strict";(this.webpackChunkwowok_agent=this.webpackChunkwowok_agent||[]).push([[376],{3475:(t,a,e)=>{e.d(a,{HL:()=>s,WB:()=>n,a1:()=>o,c7:()=>c,iN:()=>i,z7:()=>d});var i,r=e(7495);class s{constructor(t){this.expire=t}expire_time(){return this.expire}expire}!function(t){t.object="OBJECT",t.personal="PERSONAL",t.table="TABLE"}(i||(i={}));const n=(t,a)=>t+r.Protocol.Instance().package("wowok_origin")+a+"-V2";class o extends s{constructor(t=1e4){super(t)}data=new Map;load(t){return this.data.get(t)}save(t,a){this.data.set(t,a)}remove(t){this.data.delete(t)}}class d extends s{constructor(t=1e4){super(t)}load(t){return localStorage.getItem(t)}save(t,a){return localStorage.setItem(t,a)}remove(t){return localStorage.removeItem(t)}}class c{static _instance;cache=new Map;constructor(){}static Instance(){return c._instance||(c._instance=new c),c._instance}set(t,a){this.cache.set(t,a)}get(t){return this.cache.get(t)}}},6607:(t,a,e)=>{e.d(a,{k:()=>o});var i=e(7495),r=e(3245),s=e(6401),n=e(9766);class o extends s.s{data;constructor(t){super(),this.data=t}async call(t){this.data?.type_parameter&&(0,i.IsValidArgType)(this.data.type_parameter)||(0,i.ERROR)(i.Errors.IsValidArgType,"arbitration.type_parameter");const a=[],e=[];var s;const n=this.data?.permission?.address,o=this.data?.object?.address,d=this.data?.fee_treasury?.address;if(n&&(0,i.IsValidAddress)(n)){if(this.data?.object||e.push(i.PermissionIndex.arbitration),void 0!==this.data?.description&&o&&e.push(i.PermissionIndex.arbitration_description),void 0!==this.data?.bPaused&&e.push(i.PermissionIndex.arbitration_pause),null==this.data?.endpoint&&e.push(i.PermissionIndex.arbitration_endpoint),void 0!==this.data?.fee&&o&&e.push(i.PermissionIndex.arbitration_fee),void 0!==d&&o&&e.push(i.PermissionIndex.arbitration_treasury),void 0!==this.data?.guard&&e.push(i.PermissionIndex.arbitration_guard),void 0!==this.data?.voting_guard&&e.push(i.PermissionIndex.arbitration_voting_guard),void 0!==this.data?.arb_arbitration&&e.push(i.PermissionIndex.arbitration_arbitration),void 0!==this.data?.arb_new?.guard)if((0,i.IsValidAddress)(this.data.arb_new.guard))a.push(this.data.arb_new.guard);else if(o){if(!s){const t=await(0,r.w$)({objects:[o],showContent:!0});t?.objects&&"Arbitration"===t.objects[0].type&&(s=t.objects[0])}s?.usage_guard&&a.push(s.usage_guard)}else this.data?.guard&&(0,i.IsValidAddress)(this.data?.guard)&&a.push(this.data.guard);return void 0!==this.data?.arb_vote&&e.push(i.PermissionIndex.treasury_receive),"string"==typeof this.data?.arb_vote?.voting_guard&&(0,i.IsValidAddress)(this.data?.arb_vote?.voting_guard)&&a.push(this.data?.arb_vote?.voting_guard),await this.check_permission_and_call(n,e,a,!1,void 0,t)}return await this.exec(t)}async operate(t,a,e){let r,s,o;const d=this.data?.permission?.address,c=this.data?.object?.address,h=this.data?.fee_treasury?.address;if(c)(0,i.IsValidAddress)(c)&&this.data.type_parameter&&d?r=i.Arbitration.From(t,this.data.type_parameter,d,c):(0,i.ERROR)(i.Errors.InvalidParam,"object or permission address invalid.");else{if(!d||!(0,i.IsValidAddress)(d)){const a=this.data?.permission?.description??"";s=i.Permission.New(t,a)}if(!h||!(0,i.IsValidAddress)(h)){const e=this.data?.fee_treasury?.description??"";o=i.Treasury.New(t,this.data?.type_parameter,s?s.get_object():d,e,s?void 0:a)}r=i.Arbitration.New(t,this.data.type_parameter,s?s.get_object():d,this.data?.description??"",BigInt(this.data?.fee??0),o?o.get_object():h,s?void 0:a)}if(r){const d=s?void 0:a;var u;if(void 0!==this.data?.description&&c&&r?.set_description(this.data.description,d),void 0!==this.data?.endpoint&&r?.set_endpoint(this.data.endpoint,d),void 0!==this.data?.fee&&c&&r?.set_fee(BigInt(this.data.fee),d),void 0!==h&&c&&r?.set_withdrawTreasury(h,d),void 0!==this.data?.arb_new){const a=BigInt(this.data.arb_new.data.fee),i=this.data?.arb_new.data;u=r?.arb({order:i.order,order_token_type:i.order_token_type,description:i.description,votable_proposition:i.votable_proposition,fee:a>BigInt(0)?await n.g.Instance().get_coin_object(t,a,e,this.data.type_parameter):void 0},d)}if(void 0!==this.data?.arb_arbitration){const t=this.data.arb_arbitration.arb??u;t||(0,i.ERROR)(i.Errors.Fail,"arb invalid: arb_arbitration"),r?.arbitration({arb:t,feedback:this.data.arb_arbitration.feedback,indemnity:this.data.arb_arbitration.indemnity},d)}if(void 0!==this.data?.arb_vote){const t=this.data.arb_vote.arb??u;t||(0,i.ERROR)(i.Errors.Fail,"arb invalid: arb_vote"),r?.vote({arb:t,voting_guard:this.data.arb_vote.voting_guard,agrees:this.data.arb_vote.agrees},d)}if(void 0!==this.data?.arb_withdraw_fee){const t=this.data.arb_withdraw_fee.arb??u;t||(0,i.ERROR)(i.Errors.Fail,"arb invalid: arb_withdraw_fee"),r?.withdraw_fee(t,this.data.arb_withdraw_fee.data,d)}if(u&&await this.new_with_mark(t,r?.arb_launch(u),this.data?.arb_new?.namedNew,e),void 0!==this.data?.voting_guard)switch(this.data.voting_guard.op){case"add":r?.add_voting_guard(this.data.voting_guard.data,d);break;case"remove":r?.remove_voting_guard(this.data.voting_guard.guards,!1,d);break;case"set":r?.remove_voting_guard([],!0,d),r?.add_voting_guard(this.data.voting_guard.data,d);break;case"removeall":r?.remove_voting_guard([],!0,d)}void 0!==this.data.guard&&r?.set_guard(this.data.guard,d),void 0!==this.data?.bPaused&&r?.pause(this.data.bPaused,d),o&&await this.new_with_mark(t,o.launch(),this.data?.fee_treasury?.namedNew,e),s&&await this.new_with_mark(t,s.launch(),this.data?.permission?.namedNew,e),c||await this.new_with_mark(t,r.launch(),this.data?.object?.namedNew,e)}}}},9766:(t,a,e)=>{e.d(a,{g:()=>n});var i=e(7495);const r="wowok.acc.dat",s="wowok-acc-v1";class n{constructor(t="File"){this.storage=t}static _instance;static Instance(){return n._instance||(n._instance=new n),n._instance}storage="File";_add(t,a,e){var r,s="0x"+(0,i.toHEX)((0,i.decodeSuiPrivateKey)(i.Ed25519Keypair.generate().getSecretKey()).secretKey);try{if(t&&(r=JSON.parse(t))){const t=r.find((t=>t.name===a));return t?t.default=e:(e&&r.forEach((t=>t.default=!1)),r.push({name:a,key:s,default:e})),r}}catch(t){}return[{name:a,key:s,default:e}]}_default(t){var a;try{if(t&&(a=JSON.parse(t))){const t=a.find((t=>t.default));if(t)return t}}catch(t){}}_get(t,a,e){var i;try{if(t&&(i=JSON.parse(t))){const t=i.find((t=>t.name===a));if(t)return t;if(e)return i.find((t=>t.default))}}catch(t){}}_rename(t,a,e,i=!0){var r;try{if(t&&(r=JSON.parse(t)),r){const t=r.find((t=>t.name===a));if(!t)return;const s=r.find((t=>t.name===e));if(!s)return t.name=e,r;if(i)return t.name=e,s.name=a,r}}catch(t){}}set_storage(t="File"){this.storage=t}async gen(t,a){try{if("File"===this.storage){const[i,s,n]=await Promise.all([e.e(734).then(e.t.bind(e,1734,23)),e.e(734).then(e.t.bind(e,1734,23)),e.e(734).then(e.t.bind(e,1734,23))]),o=n.join(s.homedir(),r);i.readFile(o,"utf-8",((e,r)=>{const s=this._add(r,t,a);i.writeFileSync(o,JSON.stringify(s),"utf-8")}))}else if("Explorer"===this.storage){const e=this._add(localStorage.getItem(s),t,a);localStorage.setItem(s,JSON.stringify(e))}}catch(t){}}async default(){try{if("File"===this.storage){const[t,a,i]=await Promise.all([e.e(734).then(e.t.bind(e,1734,23)),e.e(734).then(e.t.bind(e,1734,23)),e.e(734).then(e.t.bind(e,1734,23))]),s=i.join(a.homedir(),r);return this._default(t.readFileSync(s,"utf-8"))}if("Explorer"===this.storage)return this._default(localStorage.getItem(s))}catch(t){}}async get(t,a=!0){try{if("File"===this.storage){const[i,s,n]=await Promise.all([e.e(734).then(e.t.bind(e,1734,23)),e.e(734).then(e.t.bind(e,1734,23)),e.e(734).then(e.t.bind(e,1734,23))]),o=n.join(s.homedir(),r);return this._get(i.readFileSync(o,"utf-8"),t,a)}if("Explorer"===this.storage)return this._get(localStorage.getItem(s),t,a)}catch(t){}}async rename(t,a,i=!0){var n;try{if("File"===this.storage){const[s,o,d]=await Promise.all([e.e(734).then(e.t.bind(e,1734,23)),e.e(734).then(e.t.bind(e,1734,23)),e.e(734).then(e.t.bind(e,1734,23))]),c=d.join(o.homedir(),r);(n=this._rename(s.readFileSync(c,"utf-8"),t,a,i))&&s.writeFileSync(c,JSON.stringify(n),"utf-8")}else"Explorer"===this.storage&&(n=this._rename(localStorage.getItem(s),t,a,i))&&localStorage.setItem(s,JSON.stringify(n))}catch(t){}return!!n}async get_address(t,a=!0){const e=await this.get(t,a);if(e)return i.Ed25519Keypair.fromSecretKey((0,i.fromHEX)(e.key)).getPublicKey().toSuiAddress()}async get_pubkey(t,a=!0){const e=await this.get(t,a);if(e)return i.Ed25519Keypair.fromSecretKey((0,i.fromHEX)(e.key)).getPublicKey().toSuiPublicKey()}async get_pair(t,a=!0){const e=await this.get(t,a);if(e)return i.Ed25519Keypair.fromSecretKey((0,i.fromHEX)(e.key))}async list(){try{if("File"===this.storage){const[t,a,s]=await Promise.all([e.e(734).then(e.t.bind(e,1734,23)),e.e(734).then(e.t.bind(e,1734,23)),e.e(734).then(e.t.bind(e,1734,23))]),n=s.join(a.homedir(),r);return JSON.parse(t.readFileSync(n,"utf-8")).map((t=>({name:t.name,default:t?.default,address:i.Ed25519Keypair.fromSecretKey((0,i.fromHEX)(t.key)).getPublicKey().toSuiAddress()})))}if("Explorer"===this.storage)return JSON.parse(localStorage.getItem(s)??"").map((t=>({name:t.name,default:t?.default,address:i.Ed25519Keypair.fromSecretKey((0,i.fromHEX)(t.key)).getPublicKey().toSuiAddress()})))}catch(t){}return[]}async faucet(t){const a=await this.get_address(t,!0);a&&await(0,i.requestSuiFromFaucetV0)({host:(0,i.getFaucetHost)("testnet"),recipient:a}).catch((t=>{}))}balance=async(t,a)=>{const e=await this.get_address(t);if(e)return await i.Protocol.Client().getBalance({owner:e,coinType:a})};coin=async(t,a)=>{const e=await this.get_address(t);if(e)return(await i.Protocol.Client().getCoins({owner:e,coinType:a})).data};get_coin_object=async(t,a,e,r)=>{const s=await this.get_address(e),n=BigInt(a);if(s&&n>BigInt(0)){if(r&&"0x2::sui::SUI"!==r&&"0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"!==r){const a=await i.Protocol.Client().getCoins({owner:s,coinType:r}),e=[];var o=BigInt(0);for(let t=0;t<a.data.length&&(o+=BigInt(a.data[t].balance),e.push(a.data[t].coinObjectId),!(o>=n));++t);if(1===e.length)return t.splitCoins(e[0],[n]);{const a=e.pop();return t.mergeCoins(a,e),t.splitCoins(a,[n])}}return t.splitCoins(t.gas,[n])}};coin_with_balance=async(t,a,e)=>{const r=await this.get_pair(a,!0);r||(0,i.ERROR)(i.Errors.Fail,"account invalid");const s=new i.TransactionBlock,o=await n.Instance().get_coin_object(s,t,a,e);if(o){s.transferObjects([o],r?.toSuiAddress());const t=await i.Protocol.Client().signAndExecuteTransaction({transaction:s,signer:r,options:{showObjectChanges:!0}}),a=e??"0x2::sui::SUI";return t?.objectChanges.find((t=>"created"===t?.type&&(t?.objectType).includes(a)))?.objectId}}}}}]);