@stelis/say-ur-intent 0.0.0 → 0.0.2
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/README.md +4 -39
- package/dist/adapters/adapterLifecycleValidators.js +7 -0
- package/dist/adapters/adapterPromptSurfaces.js +71 -0
- package/dist/adapters/deepbook/deepbookHumanReviewProducer.js +175 -0
- package/dist/adapters/deepbook/deepbookQuotePolicy.js +112 -0
- package/dist/adapters/deepbook/deepbookReviewEvidence.js +507 -0
- package/dist/adapters/deepbook/deepbookReviewLifecycle.js +85 -0
- package/dist/adapters/deepbook/deepbookSwapIntent.js +79 -0
- package/dist/adapters/deepbook/deepbookTransactionMaterialProducer.js +269 -0
- package/dist/adapters/flowx/flowxSwapHumanReviewProducer.js +176 -0
- package/dist/adapters/flowx/flowxSwapIntent.js +79 -0
- package/dist/adapters/flowx/flowxSwapQuotePolicy.js +104 -0
- package/dist/adapters/flowx/flowxSwapReviewEvidence.js +468 -0
- package/dist/adapters/flowx/flowxSwapReviewLifecycle.js +85 -0
- package/dist/adapters/flowx/flowxSwapTransactionMaterialProducer.js +362 -0
- package/dist/adapters/intentPlanFactories.js +59 -0
- package/dist/adapters/reviewAdapters.js +81 -0
- package/dist/core/action/adapterLifecycleValidation.js +12 -0
- package/dist/core/action/forbiddenFields.js +43 -0
- package/dist/core/action/humanReadableReviewEvidence.js +203 -0
- package/dist/core/action/humanReadableReviewProjectionVerifier.js +29 -0
- package/dist/core/action/ptbVisualizationProducer.js +66 -0
- package/dist/core/action/reviewCheckResults.js +6 -0
- package/dist/core/action/reviewStateValidation.js +11 -0
- package/dist/core/action/reviewTimeSimulationEvidence.js +471 -0
- package/dist/core/action/schemas.js +529 -0
- package/dist/core/action/signableAdapterContract.js +993 -0
- package/dist/core/action/swapHumanReadableReviewProjection.js +124 -0
- package/dist/core/action/swapQuotePolicyEvidence.js +278 -0
- package/dist/core/action/transactionObjectOwnershipEvidence.js +247 -0
- package/dist/core/action/transactionObjectOwnershipProducer.js +329 -0
- package/dist/core/action/types.js +35 -0
- package/dist/core/action/walletReviewContractAssembler.js +282 -0
- package/dist/core/activity/activityStore.js +15 -0
- package/dist/core/activity/localDataService.js +258 -0
- package/dist/core/activity/localDataTypes.js +11 -0
- package/dist/core/activity/localDataValidation.js +396 -0
- package/dist/core/activity/schemaVersion.js +1 -0
- package/dist/core/activity/sqliteActivityStore.js +820 -0
- package/dist/core/activity/sqliteActivityStoreRows.js +430 -0
- package/dist/core/activity/sqliteActivityStoreSchema.js +258 -0
- package/dist/core/activity/sqliteActivityStoreTypes.js +5 -0
- package/dist/core/activity/suiFunctionTarget.js +43 -0
- package/dist/core/activity/transactionActivityAccountEffects.js +189 -0
- package/dist/core/activity/transactionActivityAnalysis.js +295 -0
- package/dist/core/activity/transactionActivityClassifier.js +306 -0
- package/dist/core/activity/transactionActivityDetails.js +229 -0
- package/dist/core/activity/transactionActivityProtocolRules.js +218 -0
- package/dist/core/activity/transactionActivityScanPolicy.js +170 -0
- package/dist/core/activity/transactionActivityService.js +379 -0
- package/dist/core/activity/transactionActivityTypes.js +18 -0
- package/dist/core/eventlog/sink.js +35 -0
- package/dist/core/evidence/settlementFamilies.js +87 -0
- package/dist/core/evidence/userAnswerUse.js +1 -0
- package/dist/core/numeric/rawU64.js +63 -0
- package/dist/core/preferences/preferencesStore.js +26 -0
- package/dist/core/preferences/sqlitePreferencesRepository.js +136 -0
- package/dist/core/proposal/externalProposalReview.js +347 -0
- package/dist/core/proposal/schemas.js +208 -0
- package/dist/core/proposal/types.js +35 -0
- package/dist/core/read/amounts.js +14 -0
- package/dist/core/read/coinMetadata.js +60 -0
- package/dist/core/read/deepbookRawQuoteClient.js +86 -0
- package/dist/core/read/deepbookReadHelpers.js +265 -0
- package/dist/core/read/deepbookRegistry.js +133 -0
- package/dist/core/read/flowxQuoteClient.js +117 -0
- package/dist/core/read/flowxReadHelpers.js +145 -0
- package/dist/core/read/flowxRegistry.js +174 -0
- package/dist/core/read/intentEvidenceResponseFormatting.js +228 -0
- package/dist/core/read/readResponseGuidance.js +451 -0
- package/dist/core/read/readService.js +1164 -0
- package/dist/core/read/readServiceTypes.js +59 -0
- package/dist/core/read/settlementParityFormatting.js +82 -0
- package/dist/core/read/walletReadHelpers.js +99 -0
- package/dist/core/review/reviewChecks.js +54 -0
- package/dist/core/review/reviewComputation.js +38 -0
- package/dist/core/review/reviewComputationResult.js +87 -0
- package/dist/core/session/localSession.js +31 -0
- package/dist/core/session/privateReviewArtifacts.js +73 -0
- package/dist/core/session/sessionErrors.js +9 -0
- package/dist/core/session/sessionStore.js +821 -0
- package/dist/core/session/settingsSession.js +1 -0
- package/dist/core/session/settingsSessions.js +43 -0
- package/dist/core/session/status.js +86 -0
- package/dist/core/session/transactionMaterialStore.js +205 -0
- package/dist/core/session/wait.js +102 -0
- package/dist/core/session/walletIdentity.js +103 -0
- package/dist/core/session/walletIdentitySessions.js +189 -0
- package/dist/core/suiAddress.js +18 -0
- package/dist/core/suiEndpoint.js +72 -0
- package/dist/mcp/activeAccountResponse.js +24 -0
- package/dist/mcp/prompts.js +146 -0
- package/dist/mcp/registerTool.js +19 -0
- package/dist/mcp/resources.js +72 -0
- package/dist/mcp/responseGuidance.js +381 -0
- package/dist/mcp/result.js +17 -0
- package/dist/mcp/schemas.js +8 -0
- package/dist/mcp/server.js +30 -0
- package/dist/mcp/serverInfo.js +123 -0
- package/dist/mcp/toolErrors.js +105 -0
- package/dist/mcp/toolNames.js +50 -0
- package/dist/mcp/tools/account/index.js +44 -0
- package/dist/mcp/tools/action/prepareSuiActionReview.js +120 -0
- package/dist/mcp/tools/read/commonSchemas.js +43 -0
- package/dist/mcp/tools/read/deepbookReadTools.js +453 -0
- package/dist/mcp/tools/read/flowxReadTools.js +135 -0
- package/dist/mcp/tools/read/index.js +16 -0
- package/dist/mcp/tools/read/readToolHelpers.js +68 -0
- package/dist/mcp/tools/read/reviewActivityTools.js +176 -0
- package/dist/mcp/tools/read/serverStatusTools.js +103 -0
- package/dist/mcp/tools/read/transactionActivityOutput.js +300 -0
- package/dist/mcp/tools/read/transactionActivityTools.js +544 -0
- package/dist/mcp/tools/read/walletReadTools.js +733 -0
- package/dist/mcp/tools/session/executionResultTools.js +92 -0
- package/dist/mcp/tools/session/index.js +8 -0
- package/dist/mcp/tools/session/shared.js +79 -0
- package/dist/mcp/tools/session/statusTools.js +134 -0
- package/dist/mcp/tools/session/walletIdentityTools.js +119 -0
- package/dist/mcp/tools/settings/index.js +64 -0
- package/dist/review-app/analysis.css +1 -0
- package/dist/review-app/analysis.js +1 -0
- package/dist/review-app/arc-BjIacwQm.js +1 -0
- package/dist/review-app/architecture-U656AL7Q-aSB9x1OK.js +1 -0
- package/dist/review-app/architectureDiagram-VXUJARFQ-C5W6re2I.js +36 -0
- package/dist/review-app/array-BmXUUrU6.js +1 -0
- package/dist/review-app/blockDiagram-VD42YOAC-20MLNcUm.js +122 -0
- package/dist/review-app/c4Diagram-YG6GDRKO-BZXRrcck.js +10 -0
- package/dist/review-app/channel-lk2p_CUu.js +1 -0
- package/dist/review-app/chunk-4BX2VUAB-BPITOdjX.js +1 -0
- package/dist/review-app/chunk-55IACEB6-Dz-pyw5k.js +1 -0
- package/dist/review-app/chunk-76Q3JFCE-cK_X1P_l.js +1 -0
- package/dist/review-app/chunk-ABZYJK2D-Dt4W53JI.js +81 -0
- package/dist/review-app/chunk-ATLVNIR6-fZHLXURb.js +1 -0
- package/dist/review-app/chunk-B4BG7PRW-BbgcjusC.js +165 -0
- package/dist/review-app/chunk-BJD4TVEz.js +1 -0
- package/dist/review-app/chunk-CVBHYZKI-CViawAKX.js +1 -0
- package/dist/review-app/chunk-DI55MBZ5-C5aoul-d.js +220 -0
- package/dist/review-app/chunk-FMBD7UC4-Chxmw62A.js +15 -0
- package/dist/review-app/chunk-FPAJGGOC-DDHjQ09H.js +80 -0
- package/dist/review-app/chunk-FWNWRKHM-CVVQUptk.js +1 -0
- package/dist/review-app/chunk-HN2XXSSU-yzNpjaSZ.js +1 -0
- package/dist/review-app/chunk-JA3XYJ7Z-C5ZJdU01.js +70 -0
- package/dist/review-app/chunk-JZLCHNYA-BBST4Cnk.js +54 -0
- package/dist/review-app/chunk-LBM3YZW2-CdwAPuHr.js +1 -0
- package/dist/review-app/chunk-LHMN2FUI-BtB5uDcp.js +1 -0
- package/dist/review-app/chunk-O7ZBX7Z2-pxdK4Sa3.js +1 -0
- package/dist/review-app/chunk-QN33PNHL-CbVv3uGK.js +1 -0
- package/dist/review-app/chunk-QXUST7PY-DKM2-t2c.js +7 -0
- package/dist/review-app/chunk-QZHKN3VN-C5ni2pN_.js +1 -0
- package/dist/review-app/chunk-S3R3BYOJ-BWvOhDs0.js +2 -0
- package/dist/review-app/chunk-S6J4BHB3-D9Fk0YeD.js +1 -0
- package/dist/review-app/chunk-T53DSG4Q-C1qEyzyV.js +1 -0
- package/dist/review-app/chunk-TZMSLE5B-B--7eU69.js +1 -0
- package/dist/review-app/classDiagram-2ON5EDUG-DlL1m2bp.js +1 -0
- package/dist/review-app/classDiagram-v2-WZHVMYZB-FXRskT1j.js +1 -0
- package/dist/review-app/clone-BZZb7gpZ.js +1 -0
- package/dist/review-app/cose-bilkent-S5V4N54A-CRIb8XEO.js +1 -0
- package/dist/review-app/cytoscape.esm-C7jYqDP5.js +321 -0
- package/dist/review-app/dagre-6UL2VRFP-FNCAXbdE.js +4 -0
- package/dist/review-app/dagre-Be46QtUd.js +1 -0
- package/dist/review-app/defaultLocale-BaWNtAUL.js +1 -0
- package/dist/review-app/diagram-PSM6KHXK-ylLWjiNM.js +24 -0
- package/dist/review-app/diagram-QEK2KX5R-BCDcESxs.js +43 -0
- package/dist/review-app/diagram-S2PKOQOG-Vdrc-vrO.js +24 -0
- package/dist/review-app/dist-WPc74x_f.js +1 -0
- package/dist/review-app/erDiagram-Q2GNP2WA-E5ZsUbDF.js +60 -0
- package/dist/review-app/flatten-DHf9IeNI.js +1 -0
- package/dist/review-app/flowDiagram-NV44I4VS-DBSQuj6x.js +162 -0
- package/dist/review-app/ganttDiagram-LVOFAZNH-CKUOsqwl.js +267 -0
- package/dist/review-app/gitGraph-F6HP7TQM-DsAD6qK1.js +1 -0
- package/dist/review-app/gitGraphDiagram-NY62KEGX-BCeIMWdl.js +65 -0
- package/dist/review-app/graphlib-CiX5CXxR.js +1 -0
- package/dist/review-app/http-DMvwuuFk.js +1 -0
- package/dist/review-app/identity-DY8PXc6t.js +1 -0
- package/dist/review-app/info-NVLQJR56-Dlx1nZic.js +1 -0
- package/dist/review-app/infoDiagram-F6ZHWCRC-CAuANIrz.js +2 -0
- package/dist/review-app/init-BvqephKz.js +1 -0
- package/dist/review-app/journeyDiagram-XKPGCS4Q-C-Z9phnx.js +139 -0
- package/dist/review-app/kanban-definition-3W4ZIXB7-DufgZABq.js +89 -0
- package/dist/review-app/katex-B-Z-NXXN.js +257 -0
- package/dist/review-app/line-DiIv3Jgw.js +1 -0
- package/dist/review-app/linear-Cv-UPvo1.js +1 -0
- package/dist/review-app/math-kmyYrkHL.js +1 -0
- package/dist/review-app/mermaid-parser.core-DkwUYTPl.js +4 -0
- package/dist/review-app/mindmap-definition-VGOIOE7T-TM_CqdmV.js +68 -0
- package/dist/review-app/ordinal-BliTlkoG.js +1 -0
- package/dist/review-app/packet-BFZMPI3H-DqbnU92v.js +1 -0
- package/dist/review-app/path-AEo9W6mQ.js +1 -0
- package/dist/review-app/pie-7BOR55EZ-LJzaLkgr.js +1 -0
- package/dist/review-app/pieDiagram-ADFJNKIX-BAs8OfRS.js +30 -0
- package/dist/review-app/quadrantDiagram-AYHSOK5B-CyUDZP5S.js +7 -0
- package/dist/review-app/radar-NHE76QYJ-DBpHc8_Y.js +1 -0
- package/dist/review-app/reduce-B-HuPpdd.js +1 -0
- package/dist/review-app/requirementDiagram-UZGBJVZJ-BEHix78P.js +64 -0
- package/dist/review-app/review.css +1 -0
- package/dist/review-app/review.js +43 -0
- package/dist/review-app/sankeyDiagram-TZEHDZUN-B2bKbmsm.js +10 -0
- package/dist/review-app/sequenceDiagram-WL72ISMW-DVLOORFJ.js +145 -0
- package/dist/review-app/settings.css +1 -0
- package/dist/review-app/settings.js +1 -0
- package/dist/review-app/src-Buml7cM5.js +1 -0
- package/dist/review-app/stateDiagram-FKZM4ZOC-sFGGp2kV.js +1 -0
- package/dist/review-app/stateDiagram-v2-4FDKWEC3-BHfCF4dX.js +1 -0
- package/dist/review-app/timeline-definition-IT6M3QCI-BESnBijC.js +61 -0
- package/dist/review-app/treemap-KMMF4GRG-wnVLBDeQ.js +1 -0
- package/dist/review-app/walletStatus-CcojOdGy.js +7 -0
- package/dist/review-app/xychartDiagram-PRI3JC2R-BGWVfCx4.js +7 -0
- package/dist/review-server/assets.js +48 -0
- package/dist/review-server/html.js +66 -0
- package/dist/review-server/http.js +47 -0
- package/dist/review-server/middleware/hostOrigin.js +48 -0
- package/dist/review-server/middleware/reviewToken.js +7 -0
- package/dist/review-server/reviewServerPolicy.js +10 -0
- package/dist/review-server/server.js +568 -0
- package/dist/review-server/settingsApi.js +182 -0
- package/dist/review-server/walletIdentityResponse.js +13 -0
- package/dist/runtime/config.js +103 -0
- package/dist/runtime/localSettingsService.js +198 -0
- package/dist/runtime/logger.js +50 -0
- package/dist/runtime/reviewServerAcquire.js +128 -0
- package/dist/runtime/smokeMainnetRead.js +529 -0
- package/dist/runtime/smokeMainnetReadAssertions.js +308 -0
- package/dist/runtime/start.js +295 -0
- package/dist/runtime/suiEndpoint.js +97 -0
- package/dist/runtime/suiTransactionGraphqlMapping.js +200 -0
- package/dist/runtime/suiTransactionGraphqlQueries.js +231 -0
- package/dist/runtime/suiTransactionGraphqlSource.js +148 -0
- package/docs/AGENT_BEHAVIOR.md +1 -1
- package/docs/AGENT_DEVELOPMENT_POLICY.md +20 -0
- package/docs/FRONTEND_POLICY.md +4 -3
- package/docs/MCP_SETUP.md +59 -7
- package/docs/MCP_TOOLS.md +1 -1
- package/docs/SDK_API.md +5 -1
- package/package.json +3 -2
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
var e=/^(?!.*(^(?!@)|[-.@])($|[-.@]))(?:[a-z0-9-]{0,63}(?:\.[a-z0-9-]{0,63})*)?@[a-z0-9-]{0,63}$/i,t=/^(?!.*(^|[-.])($|[-.]))(?:[a-z0-9-]{0,63}\.)+sui$/i,n=235;function r(r){return r.length>n?!1:r.includes(`@`)?e.test(r):t.test(r)}var i=/^([a-z0-9]+(?:-[a-z0-9]+)*)$/,a=/^\d+$/,o=64,s=`/`,c=e=>{let t=e.split(s);if(t.length<2||t.length>3)return!1;let[n,c,l]=t;return l!==void 0&&!a.test(l)||!r(n)?!1:i.test(c)&&c.length<o},l=e=>{let t=e.split(/::|<|>|,/);for(let e of t)if(e.includes(s)&&!c(e))return!1;return mt(e)};function u(e){let t=BigInt(e),n=[],r=0;if(t===0n)return[0];for(;t>0;)n[r]=Number(t&127n),t>>=7n,t>0n&&(n[r]|=128),r+=1;return n}function d(e){let t=0n,n=0n,r=0;for(;;){if(r>=e.length)throw Error(`ULEB decode error: buffer overflow`);let i=e[r];if(r+=1,t+=BigInt(i&127)<<n,!(i&128))break;n+=7n}if(t>BigInt(2**53-1))throw Error(`ULEB decode error: value exceeds MAX_SAFE_INTEGER`);return{value:Number(t),length:r}}var f=class{constructor(e){this.bytePosition=0,this.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength)}shift(e){return this.bytePosition+=e,this}read8(){let e=this.dataView.getUint8(this.bytePosition);return this.shift(1),e}read16(){let e=this.dataView.getUint16(this.bytePosition,!0);return this.shift(2),e}read32(){let e=this.dataView.getUint32(this.bytePosition,!0);return this.shift(4),e}read64(){let e=this.read32(),t=this.read32().toString(16)+e.toString(16).padStart(8,`0`);return BigInt(`0x`+t).toString(10)}read128(){let e=BigInt(this.read64()),t=BigInt(this.read64()).toString(16)+e.toString(16).padStart(16,`0`);return BigInt(`0x`+t).toString(10)}read256(){let e=BigInt(this.read128()),t=BigInt(this.read128()).toString(16)+e.toString(16).padStart(32,`0`);return BigInt(`0x`+t).toString(10)}readBytes(e){let t=this.bytePosition+this.dataView.byteOffset,n=new Uint8Array(this.dataView.buffer,t,e);return this.shift(e),n}readULEB(){let e=this.bytePosition+this.dataView.byteOffset,{value:t,length:n}=d(new Uint8Array(this.dataView.buffer,e));return this.shift(n),t}readVec(e){let t=this.readULEB(),n=[];for(let r=0;r<t;r++)n.push(e(this,r,t));return n}};function p(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`&&`BYTES_PER_ELEMENT`in e&&e.BYTES_PER_ELEMENT===1}function m(e,t){return Array.isArray(t)?t.length===0?!0:e?t.every(e=>typeof e==`string`):t.every(e=>Number.isSafeInteger(e)):!1}function h(e){if(typeof e!=`function`)throw TypeError(`function expected`);return!0}function g(e,t){if(typeof t!=`string`)throw TypeError(`${e}: string expected`);return!0}function _(e){if(typeof e!=`number`)throw TypeError(`number expected, got ${typeof e}`);if(!Number.isSafeInteger(e))throw RangeError(`invalid integer: ${e}`)}function v(e){if(!Array.isArray(e))throw TypeError(`array expected`)}function ee(e,t){if(!m(!0,t))throw TypeError(`${e}: array of strings expected`)}function y(e,t){if(!m(!1,t))throw TypeError(`${e}: array of numbers expected`)}function b(...e){let t=e=>e,n=(e,t)=>n=>e(t(n));return{encode:e.map(e=>e.encode).reduceRight(n,t),decode:e.map(e=>e.decode).reduce(n,t)}}function x(e){let t=typeof e==`string`?e.split(``):e,n=t.length;ee(`alphabet`,t);let r=new Map(t.map((e,t)=>[e,t]));return{encode:r=>(v(r),r.map(r=>{if(!Number.isSafeInteger(r)||r<0||r>=n)throw Error(`alphabet.encode: digit index outside alphabet "${r}". Allowed: ${e}`);return t[r]})),decode:t=>(v(t),t.map(t=>{g(`alphabet.decode`,t);let n=r.get(t);if(n===void 0)throw Error(`Unknown letter: "${t}". Allowed: ${e}`);return n}))}}function S(e=``){return g(`join`,e),{encode:t=>(ee(`join.decode`,t),t.join(e)),decode:t=>(g(`join.decode`,t),t.split(e))}}function C(e,t=`=`){return _(e),g(`padding`,t),{encode(n){for(ee(`padding.encode`,n);n.length*e%8;)n.push(t);return n},decode(n){ee(`padding.decode`,n);let r=n.length;if(r*e%8)throw Error(`padding: invalid, string should have whole number of bytes`);for(;r>0&&n[r-1]===t;r--)if((r-1)*e%8==0)throw Error(`padding: invalid, string has too much padding`);return n.slice(0,r)}}}function te(e){return h(e),{encode:e=>e,decode:t=>e(t)}}function ne(e,t,n){if(t<2)throw RangeError(`convertRadix: invalid from=${t}, base cannot be less than 2`);if(n<2)throw RangeError(`convertRadix: invalid to=${n}, base cannot be less than 2`);if(v(e),!e.length)return[];let r=0,i=[],a=Array.from(e,e=>{if(_(e),e<0||e>=t)throw Error(`invalid integer: ${e}`);return e}),o=a.length;for(;;){let e=0,s=!0;for(let i=r;i<o;i++){let o=a[i],c=t*e,l=c+o;if(!Number.isSafeInteger(l)||c/t!==e||l-o!==c)throw Error(`convertRadix: carry overflow`);let u=l/n;e=l%n;let d=Math.floor(u);if(a[i]=d,!Number.isSafeInteger(d)||d*n+e!==l)throw Error(`convertRadix: carry overflow`);if(s)d?s=!1:r=i;else continue}if(i.push(e),s)break}for(let t=0;t<e.length-1&&e[t]===0;t++)i.push(0);return i.reverse()}var re=(e,t)=>t===0?e:re(t,e%t),ie=(e,t)=>e+(t-re(e,t)),ae=(()=>{let e=[];for(let t=0;t<40;t++)e.push(2**t);return e})();function oe(e,t,n,r){if(v(e),t<=0||t>32)throw RangeError(`convertRadix2: wrong from=${t}`);if(n<=0||n>32)throw RangeError(`convertRadix2: wrong to=${n}`);if(ie(t,n)>32)throw Error(`convertRadix2: carry overflow from=${t} to=${n} carryBits=${ie(t,n)}`);let i=0,a=0,o=ae[t],s=ae[n]-1,c=[];for(let r of e){if(_(r),r>=o)throw Error(`convertRadix2: invalid data word=${r} from=${t}`);if(i=i<<t|r,a+t>32)throw Error(`convertRadix2: carry overflow pos=${a} from=${t}`);for(a+=t;a>=n;a-=n)c.push((i>>a-n&s)>>>0);let e=ae[a];if(e===void 0)throw Error(`invalid carry`);i&=e-1}if(i=i<<n-a&s,!r&&a>=t)throw Error(`Excess padding`);if(!r&&i>0)throw Error(`Non-zero padding: ${i}`);return r&&a>0&&c.push(i>>>0),c}function se(e){return _(e),{encode:t=>{if(!p(t))throw TypeError(`radix.encode input should be Uint8Array`);return ne(Array.from(t),256,e)},decode:t=>(y(`radix.decode`,t),Uint8Array.from(ne(t,e,256)))}}function ce(e,t=!1){if(_(e),e<=0||e>32)throw RangeError(`radix2: bits should be in (0..32]`);if(ie(8,e)>32||ie(e,8)>32)throw RangeError(`radix2: carry overflow`);return{encode:n=>{if(!p(n))throw TypeError(`radix2.encode input should be Uint8Array`);return oe(Array.from(n),8,e,!t)},decode:n=>(y(`radix2.decode`,n),Uint8Array.from(oe(n,e,8,t)))}}function le(e){return h(e),function(...t){try{return e.apply(null,t)}catch{}}}b(ce(4),x(`0123456789ABCDEF`),S(``)),b(ce(5),x(`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567`),C(5),S(``)),b(ce(5),x(`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567`),S(``)),b(ce(5),x(`0123456789ABCDEFGHIJKLMNOPQRSTUV`),C(5),S(``)),b(ce(5),x(`0123456789ABCDEFGHIJKLMNOPQRSTUV`),S(``)),b(ce(5),x(`0123456789ABCDEFGHJKMNPQRSTVWXYZ`),S(``),te(e=>e.toUpperCase().replace(/O/g,`0`).replace(/[IL]/g,`1`)));var ue=typeof Uint8Array.from([]).toBase64==`function`&&typeof Uint8Array.fromBase64==`function`;ue||b(ce(6),x(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`),C(6),S(``)),b(ce(6),x(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`),S(``)),ue||b(ce(6),x(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`),C(6),S(``)),b(ce(6),x(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`),S(``));var de=Object.freeze((e=>b(se(58),x(e),S(``)))(`123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz`)),fe=b(x(`qpzry9x8gf2tvdw0s3jn54khce6mua7l`),S(``)),pe=[996825010,642813549,513874426,1027748829,705979059];function me(e){let t=e>>25,n=(e&33554431)<<5;for(let e=0;e<pe.length;e++)(t>>e&1)==1&&(n^=pe[e]);return n}function he(e,t,n=1){let r=e.length,i=1;for(let t=0;t<r;t++){let n=e.charCodeAt(t);if(n<33||n>126)throw Error(`Invalid prefix (${e})`);i=me(i)^n>>5}i=me(i);for(let t=0;t<r;t++)i=me(i)^e.charCodeAt(t)&31;for(let e of t)i=me(i)^e;for(let e=0;e<6;e++)i=me(i);return i^=n,fe.encode(oe([i%ae[30]],30,5,!1))}function ge(e){let t=e===`bech32`?1:734539939,n=ce(5),r=n.decode,i=n.encode,a=le(r);function o(e,n,r=90){g(`bech32.encode prefix`,e),p(n)&&(n=Array.from(n)),y(`bech32.encode`,n);let i=e.length;if(i===0)throw TypeError(`Invalid prefix length ${i}`);let a=i+7+n.length;if(r!==!1&&a>r)throw TypeError(`Length ${a} exceeds limit ${r}`);let o=e.toLowerCase(),s=he(o,n,t);return`${o}1${fe.encode(n)}${s}`}function s(e,n=90){g(`bech32.decode input`,e);let r=e.length;if(r<8||n!==!1&&r>n)throw TypeError(`invalid string length: ${r} (${e}). Expected (8..${n})`);let i=e.toLowerCase();if(e!==i&&e!==e.toUpperCase())throw Error(`String must be lowercase or uppercase`);let a=i.lastIndexOf(`1`);if(a===0||a===-1)throw Error(`Letter "1" must be present between prefix and data only`);let o=i.slice(0,a),s=i.slice(a+1);if(s.length<6)throw Error(`Data must be at least 6 characters long`);let c=fe.decode(s).slice(0,-6),l=he(o,c,t);if(!s.endsWith(l))throw Error(`Invalid checksum in ${e}: expected "${l}"`);return{prefix:o,words:c}}let c=le(s);function l(e){let{prefix:t,words:n}=s(e,!1);return{prefix:t,words:n,bytes:r(n)}}function u(e,t){return o(e,i(t))}return{encode:o,decode:s,encodeFromBytes:u,decodeToBytes:l,decodeUnsafe:c,fromWords:r,fromWordsUnsafe:a,toWords:i}}var _e=Object.freeze(ge(`bech32`));ge(`bech32m`),``.isWellFormed,typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`||b(ce(4),x(`0123456789abcdef`),S(``),te(e=>{if(typeof e!=`string`||e.length%2!=0)throw TypeError(`hex.decode: expected string, got ${typeof e} with length ${e.length}`);return e.toLowerCase()}));var ve=e=>de.encode(e),ye=e=>de.decode(e);function w(e){return Uint8Array.from(atob(e),e=>e.charCodeAt(0))}var be=8192;function T(e){if(e.length<be)return btoa(String.fromCharCode(...e));let t=``;for(var n=0;n<e.length;n+=be){let r=e.slice(n,n+be);t+=String.fromCharCode(...r)}return btoa(t)}function xe(e){let t=e.startsWith(`0x`)?e.slice(2):e,n=t.length%2==0?t:`0${t}`,r=n.match(/[0-9a-fA-F]{2}/g)?.map(e=>parseInt(e,16))??[];if(r.length!==n.length/2)throw Error(`Invalid hex string ${e}`);return Uint8Array.from(r)}function Se(e){return e.reduce((e,t)=>e+t.toString(16).padStart(2,`0`),``)}function Ce(e,t){return Array.from({length:Math.ceil(e.length/t)},(n,r)=>e.slice(r*t,(r+1)*t))}function we(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var Te=class{constructor(e,t){if(typeof e!=`function`)throw TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but got: ${e}.`);this._batchLoadFn=e,this._maxBatchSize=Me(t),this._batchScheduleFn=Ne(t),this._cacheKeyFn=Pe(t),this._cacheMap=Fe(t),this._batch=null,this.name=Ie(t)}load(e){if(e==null)throw TypeError(`The loader.load() function must be called with a value, but got: ${String(e)}.`);let t=Oe(this),n=this._cacheMap,r;if(n){r=this._cacheKeyFn(e);let i=n.get(r);if(i){let e=t.cacheHits||=[];return new Promise(t=>{e.push(()=>{t(i)})})}}t.keys.push(e);let i=new Promise((e,n)=>{t.callbacks.push({resolve:e,reject:n})});return n&&n.set(r,i),i}loadMany(e){if(!Le(e))throw TypeError(`The loader.loadMany() function must be called with Array<key>, but got: ${e}.`);let t=[];for(let n=0;n<e.length;n++)t.push(this.load(e[n]).catch(e=>e));return Promise.all(t)}clear(e){let t=this._cacheMap;if(t){let n=this._cacheKeyFn(e);t.delete(n)}return this}clearAll(){let e=this._cacheMap;return e&&e.clear(),this}prime(e,t){let n=this._cacheMap;if(n){let r=this._cacheKeyFn(e);if(n.get(r)===void 0){let e;t instanceof Error?(e=Promise.reject(t),e.catch(()=>{})):e=Promise.resolve(t),n.set(r,e)}}return this}},Ee=typeof process==`object`&&typeof process.nextTick==`function`?function(e){De||=Promise.resolve(),De.then(()=>{process.nextTick(e)})}:typeof setImmediate==`function`?function(e){setImmediate(e)}:function(e){setTimeout(e)},De;function Oe(e){let t=e._batch;if(t!==null&&!t.hasDispatched&&t.keys.length<e._maxBatchSize)return t;let n={hasDispatched:!1,keys:[],callbacks:[]};return e._batch=n,e._batchScheduleFn(()=>{ke(e,n)}),n}function ke(e,t){if(t.hasDispatched=!0,t.keys.length===0){je(t);return}let n;try{n=e._batchLoadFn(t.keys)}catch(n){return Ae(e,t,TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function errored synchronously: ${String(n)}.`))}if(!n||typeof n.then!=`function`)return Ae(e,t,TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise: ${String(n)}.`));Promise.resolve(n).then(e=>{if(!Le(e))throw TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array: ${String(e)}.`);if(e.length!==t.keys.length)throw TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array of the same length as the Array of keys.\n\nKeys:\n${String(t.keys)}\n\nValues:\n${String(e)}`);je(t);for(let n=0;n<t.callbacks.length;n++){let r=e[n];r instanceof Error?t.callbacks[n].reject(r):t.callbacks[n].resolve(r)}}).catch(n=>{Ae(e,t,n)})}function Ae(e,t,n){je(t);for(let r=0;r<t.keys.length;r++)e.clear(t.keys[r]),t.callbacks[r].reject(n)}function je(e){if(e.cacheHits)for(let t=0;t<e.cacheHits.length;t++)e.cacheHits[t]()}function Me(e){if(!(!e||e.batch!==!1))return 1;let t=e&&e.maxBatchSize;if(t===void 0)return 1/0;if(typeof t!=`number`||t<1)throw TypeError(`maxBatchSize must be a positive number: ${t}`);return t}function Ne(e){let t=e&&e.batchScheduleFn;if(t===void 0)return Ee;if(typeof t!=`function`)throw TypeError(`batchScheduleFn must be a function: ${t}`);return t}function Pe(e){let t=e&&e.cacheKeyFn;if(t===void 0)return e=>e;if(typeof t!=`function`)throw TypeError(`cacheKeyFn must be a function: ${t}`);return t}function Fe(e){if(!(!e||e.cache!==!1))return null;let t=e&&e.cacheMap;if(t===void 0)return new Map;if(t!==null){let e=[`get`,`set`,`delete`,`clear`].filter(e=>t&&typeof t[e]!=`function`);if(e.length!==0)throw TypeError(`Custom cacheMap missing methods: `+e.join(`, `))}return t}function Ie(e){return e&&e.name?e.name:null}function Le(e){return typeof e==`object`&&!!e&&`length`in e&&typeof e.length==`number`&&(e.length===0||e.length>0&&Object.prototype.hasOwnProperty.call(e,e.length-1))}function Re(e){return e||=new Map,{all:e,on(t,n){let r=e.get(t);r?r.push(n):e.set(t,[n])},off(t,n){let r=e.get(t);r&&(n?r.splice(r.indexOf(n)>>>0,1):e.set(t,[]))},emit(t,n){let r=e.get(t);r&&r.slice().map(e=>{e(n)}),r=e.get(`*`),r&&r.slice().map(e=>{e(t,n)})}}}function ze(e,t){switch(t){case`base58`:return ve(e);case`base64`:return T(e);case`hex`:return Se(e);default:throw Error(`Unsupported encoding, supported values are: base64, hex`)}}function Be(e,t=[`<`,`>`]){let[n,r]=t,i=[],a=``,o=0;for(let t=0;t<e.length;t++){let s=e[t];if(s===n&&o++,s===r&&o--,o===0&&s===`,`){i.push(a.trim()),a=``;continue}a+=s}return i.push(a.trim()),i}var Ve=class{constructor({initialSize:e=1024,maxSize:t=1/0,allocateSize:n=1024}={}){this.bytePosition=0,this.size=e,this.maxSize=t,this.allocateSize=n,this.dataView=new DataView(new ArrayBuffer(e))}ensureSizeOrGrow(e){let t=this.bytePosition+e;if(t>this.size){let e=Math.min(this.maxSize,Math.max(this.size+t,this.size+this.allocateSize));if(t>e)throw Error(`Attempting to serialize to BCS, but buffer does not have enough size. Allocated size: ${this.size}, Max size: ${this.maxSize}, Required size: ${t}`);this.size=e;let n=new ArrayBuffer(this.size);new Uint8Array(n).set(new Uint8Array(this.dataView.buffer)),this.dataView=new DataView(n)}}shift(e){return this.bytePosition+=e,this}write8(e){return this.ensureSizeOrGrow(1),this.dataView.setUint8(this.bytePosition,Number(e)),this.shift(1)}writeBytes(e){this.ensureSizeOrGrow(e.length);for(let t=0;t<e.length;t++)this.dataView.setUint8(this.bytePosition+t,e[t]);return this.shift(e.length)}write16(e){return this.ensureSizeOrGrow(2),this.dataView.setUint16(this.bytePosition,Number(e),!0),this.shift(2)}write32(e){return this.ensureSizeOrGrow(4),this.dataView.setUint32(this.bytePosition,Number(e),!0),this.shift(4)}write64(e){return He(BigInt(e),8).forEach(e=>this.write8(e)),this}write128(e){return He(BigInt(e),16).forEach(e=>this.write8(e)),this}write256(e){return He(BigInt(e),32).forEach(e=>this.write8(e)),this}writeULEB(e){return u(e).forEach(e=>this.write8(e)),this}writeVec(e,t){return this.writeULEB(e.length),Array.from(e).forEach((n,r)=>t(this,n,r,e.length)),this}*[Symbol.iterator](){for(let e=0;e<this.bytePosition;e++)yield this.dataView.getUint8(e);return this.toBytes()}toBytes(){return new Uint8Array(this.dataView.buffer.slice(0,this.bytePosition))}toString(e){return ze(this.toBytes(),e)}};function He(e,t){let n=new Uint8Array(t),r=0;for(;e>0;)n[r]=Number(e%BigInt(256)),e/=BigInt(256),r+=1;return n}var Ue=class e{#e;#t;constructor(e){this.name=e.name,this.read=e.read,this.serializedSize=e.serializedSize??(()=>null),this.#e=e.write,this.#t=e.serialize??((e,t)=>{let n=new Ve({initialSize:this.serializedSize(e)??void 0,...t});return this.#e(e,n),n.toBytes()}),this.validate=e.validate??(()=>{})}write(e,t){this.validate(e),this.#e(e,t)}serialize(e,t){return this.validate(e),new Ke(this,this.#t(e,t))}parse(e){let t=new f(e);return this.read(t)}fromHex(e){return this.parse(xe(e))}fromBase58(e){return this.parse(ye(e))}fromBase64(e){return this.parse(w(e))}transform({name:t,input:n,output:r,validate:i}){return new e({name:t??this.name,read:e=>r?r(this.read(e)):this.read(e),write:(e,t)=>this.#e(n?n(e):e,t),serializedSize:e=>this.serializedSize(n?n(e):e),serialize:(e,t)=>this.#t(n?n(e):e,t),validate:e=>{i?.(e),this.validate(n?n(e):e)}})}},We=Symbol.for(`@mysten/serialized-bcs`);function Ge(e){return!!e&&typeof e==`object`&&e[We]===!0}var Ke=class{#e;#t;get[We](){return!0}constructor(e,t){this.#e=e,this.#t=t}toBytes(){return this.#t}toHex(){return Se(this.#t)}toBase64(){return T(this.#t)}toBase58(){return ve(this.#t)}parse(){return this.#e.parse(this.#t)}};function qe({size:e,...t}){return new Ue({...t,serializedSize:()=>e})}function Je({readMethod:e,writeMethod:t,...n}){return qe({...n,read:t=>t[e](),write:(e,n)=>n[t](e),validate:e=>{if(e<0||e>n.maxValue)throw TypeError(`Invalid ${n.name} value: ${e}. Expected value in range 0-${n.maxValue}`);n.validate?.(e)}})}function Ye({readMethod:e,writeMethod:t,...n}){return qe({...n,read:t=>t[e](),write:(e,n)=>n[t](BigInt(e)),validate:e=>{let t=BigInt(e);if(t<0||t>n.maxValue)throw TypeError(`Invalid ${n.name} value: ${t}. Expected value in range 0-${n.maxValue}`);n.validate?.(t)}})}function Xe({serialize:e,...t}){let n=new Ue({...t,serialize:e,write:(e,t)=>{for(let r of n.serialize(e).toBytes())t.write8(r)}});return n}function Ze({toBytes:e,fromBytes:t,...n}){return new Ue({...n,read:e=>{let n=e.readULEB();return t(e.readBytes(n))},write:(t,n)=>{let r=e(t);n.writeULEB(r.length);for(let e=0;e<r.length;e++)n.write8(r[e])},serialize:t=>{let n=e(t),r=u(n.length),i=new Uint8Array(r.length+n.length);return i.set(r,0),i.set(n,r.length),i},validate:e=>{if(typeof e!=`string`)throw TypeError(`Invalid ${n.name} value: ${e}. Expected string`);n.validate?.(e)}})}function Qe(e){let t=null;function n(){return t||=e(),t}return new Ue({name:`lazy`,read:e=>n().read(e),serializedSize:e=>n().serializedSize(e),write:(e,t)=>n().write(e,t),serialize:(e,t)=>n().serialize(e,t).toBytes()})}var $e=class extends Ue{constructor({name:e,fields:t,...n}){let r=Object.entries(t);super({name:e,serializedSize:e=>{let t=0;for(let[n,i]of r){let r=i.serializedSize(e[n]);if(r==null)return null;t+=r}return t},read:e=>{let t={};for(let[n,i]of r)t[n]=i.read(e);return t},write:(e,t)=>{for(let[n,i]of r)i.write(e[n],t)},...n,validate:e=>{if(n?.validate?.(e),typeof e!=`object`||!e)throw TypeError(`Expected object, found ${typeof e}`)}})}},et=class extends Ue{constructor({fields:e,...t}){let n=Object.entries(e);super({read:e=>{let r=e.readULEB(),i=n[r];if(!i)throw TypeError(`Unknown value ${r} for enum ${t.name}`);let[a,o]=i;return{[a]:o?.read(e)??!0,$kind:a}},write:(t,r)=>{let[i,a]=Object.entries(t).filter(([t])=>Object.hasOwn(e,t))[0];for(let e=0;e<n.length;e++){let[t,o]=n[e];if(t===i){r.writeULEB(e),o?.write(a,r);return}}},...t,validate:n=>{if(t?.validate?.(n),typeof n!=`object`||!n)throw TypeError(`Expected object, found ${typeof n}`);let r=Object.keys(n).filter(t=>n[t]!==void 0&&Object.hasOwn(e,t));if(r.length!==1)throw TypeError(`Expected object with one key, but found ${r.length} for type ${t.name}}`);let[i]=r;if(!Object.hasOwn(e,i))throw TypeError(`Invalid enum variant ${i}`)}})}},tt=class extends Ue{constructor({fields:e,name:t,...n}){super({name:t??`(${e.map(e=>e.name).join(`, `)})`,serializedSize:t=>{let n=0;for(let r=0;r<e.length;r++){let i=e[r].serializedSize(t[r]);if(i==null)return null;n+=i}return n},read:t=>{let n=[];for(let r of e)n.push(r.read(t));return n},write:(t,n)=>{for(let r=0;r<e.length;r++)e[r].write(t[r],n)},...n,validate:t=>{if(n?.validate?.(t),!Array.isArray(t))throw TypeError(`Expected array, found ${typeof t}`);if(t.length!==e.length)throw TypeError(`Expected array of length ${e.length}, found ${t.length}`)}})}};function nt(e,t,n){return new Ue({read:n=>{let r=Array(e);for(let i=0;i<e;i++)r[i]=t.read(n);return r},write:(e,n)=>{for(let r of e)t.write(r,n)},...n,name:n?.name??`${t.name}[${e}]`,validate:t=>{if(n?.validate?.(t),!t||typeof t!=`object`||!(`length`in t))throw TypeError(`Expected array, found ${typeof t}`);if(t.length!==e)throw TypeError(`Expected array of length ${e}, found ${t.length}`)}})}function rt(e){return E.enum(`Option<${e.name}>`,{None:null,Some:e}).transform({input:e=>e==null?{None:!0}:{Some:e},output:e=>e.$kind===`Some`?e.Some:null})}function it(e,t){return new Ue({read:t=>{let n=t.readULEB(),r=Array(n);for(let i=0;i<n;i++)r[i]=e.read(t);return r},write:(t,n)=>{n.writeULEB(t.length);for(let r of t)e.write(r,n)},...t,name:t?.name??`vector<${e.name}>`,validate:e=>{if(t?.validate?.(e),!e||typeof e!=`object`||!(`length`in e))throw TypeError(`Expected array, found ${typeof e}`)}})}function at(e,t){for(let n=0;n<Math.min(e.length,t.length);n++)if(e[n]!==t[n])return e[n]-t[n];return e.length-t.length}function ot(e,t){return new Ue({name:`Map<${e.name}, ${t.name}>`,read:n=>{let r=n.readULEB(),i=new Map;for(let a=0;a<r;a++)i.set(e.read(n),t.read(n));return i},write:(n,r)=>{let i=[...n.entries()].map(([t,n])=>[e.serialize(t).toBytes(),n]);i.sort(([e],[t])=>at(e,t)),r.writeULEB(i.length);for(let[e,n]of i)r.writeBytes(e),t.write(n,r)}})}var E={u8(e){return Je({readMethod:`read8`,writeMethod:`write8`,size:1,maxValue:2**8-1,...e,name:e?.name??`u8`})},u16(e){return Je({readMethod:`read16`,writeMethod:`write16`,size:2,maxValue:2**16-1,...e,name:e?.name??`u16`})},u32(e){return Je({readMethod:`read32`,writeMethod:`write32`,size:4,maxValue:2**32-1,...e,name:e?.name??`u32`})},u64(e){return Ye({readMethod:`read64`,writeMethod:`write64`,size:8,maxValue:2n**64n-1n,...e,name:e?.name??`u64`})},u128(e){return Ye({readMethod:`read128`,writeMethod:`write128`,size:16,maxValue:2n**128n-1n,...e,name:e?.name??`u128`})},u256(e){return Ye({readMethod:`read256`,writeMethod:`write256`,size:32,maxValue:2n**256n-1n,...e,name:e?.name??`u256`})},bool(e){return qe({size:1,read:e=>e.read8()===1,write:(e,t)=>t.write8(+!!e),...e,name:e?.name??`bool`,validate:t=>{if(e?.validate?.(t),typeof t!=`boolean`)throw TypeError(`Expected boolean, found ${typeof t}`)}})},uleb128(e){return Xe({read:e=>e.readULEB(),serialize:e=>Uint8Array.from(u(e)),...e,name:e?.name??`uleb128`})},bytes(e,t){return qe({size:e,read:t=>t.readBytes(e),write:(e,t)=>{t.writeBytes(new Uint8Array(e))},...t,name:t?.name??`bytes[${e}]`,validate:n=>{if(t?.validate?.(n),!n||typeof n!=`object`||!(`length`in n))throw TypeError(`Expected array, found ${typeof n}`);if(n.length!==e)throw TypeError(`Expected array of length ${e}, found ${n.length}`)}})},byteVector(e){return new Ue({read:e=>{let t=e.readULEB();return e.readBytes(t)},write:(e,t)=>{let n=new Uint8Array(e);t.writeULEB(n.length),t.writeBytes(n)},...e,name:e?.name??`vector<u8>`,serializedSize:e=>{let t=`length`in e?e.length:null;return t==null?null:u(t).length+t},validate:t=>{if(e?.validate?.(t),!t||typeof t!=`object`||!(`length`in t))throw TypeError(`Expected array, found ${typeof t}`)}})},string(e){return Ze({toBytes:e=>new TextEncoder().encode(e),fromBytes:e=>new TextDecoder().decode(e),...e,name:e?.name??`string`})},fixedArray:nt,option:rt,vector:it,tuple(e,t){return new tt({fields:e,...t})},struct(e,t,n){return new $e({name:e,fields:t,...n})},enum(e,t,n){return new et({name:e,fields:t,...n})},map:ot,lazy(e){return Qe(e)}};function st(e){return yt(e)&&bt(e)===32}var ct=/^[a-zA-Z][a-zA-Z0-9_]*$/;function lt(e){return ct.test(e)}var ut=[`bool`,`u8`,`u16`,`u32`,`u64`,`u128`,`u256`,`address`,`signer`],dt=/^vector<(.+)>$/;function ft(e){if(ut.includes(e))return!0;let t=e.match(dt);return t?ft(t[1]):e.includes(`::`)?mt(e):!1}function pt(e){return!st(e.address)&&!c(e.address)||!lt(e.module)||!lt(e.name)?!1:e.typeParams.every(e=>typeof e==`string`?ft(e):pt(e))}function mt(e){try{return pt(gt(e))}catch{return!1}}function ht(e){if(e.startsWith(`vector<`)){if(!e.endsWith(`>`))throw Error(`Invalid type tag: ${e}`);let t=e.slice(7,-1);if(!t)throw Error(`Invalid type tag: ${e}`);let n=ht(t);return typeof n==`string`?`vector<${n}>`:`vector<${_t(n)}>`}return e.includes(`::`)?gt(e):e}function gt(e){let t=e.split(`::`);if(t.length<3)throw Error(`Invalid struct tag: ${e}`);let[n,r]=t;if(!n||!r)throw Error(`Invalid struct tag: ${e}`);let i=c(n),a=e.slice(n.length+r.length+4),o=a.includes(`<`)?a.slice(0,a.indexOf(`<`)):a;if(!o||a.includes(`<`)&&!a.endsWith(`>`))throw Error(`Invalid struct tag: ${e}`);let s=a.includes(`<`)?Be(a.slice(a.indexOf(`<`)+1,a.lastIndexOf(`>`))).map(e=>ht(e.trim())):[];return{address:i?n:D(n),module:r,name:o,typeParams:s}}function _t(e){if(typeof e==`string`&&e.startsWith(`vector<`))throw Error(`normalizeStructTag does not support vector types. Use normalizeTypeTag instead.`);let{address:t,module:n,name:r,typeParams:i}=typeof e==`string`?gt(e):e;return`${t}::${n}::${r}${i?.length>0?`<${i.map(e=>typeof e==`string`?e:_t(e)).join(`,`)}>`:``}`}function D(e,t=!1){let n=e.toLowerCase();return!t&&n.startsWith(`0x`)&&(n=n.slice(2)),`0x${n.padStart(64,`0`)}`}function vt(e,t=!1){return D(e,t)}function yt(e){return/^(0x|0X)?[a-fA-F0-9]+$/.test(e)&&e.length%2==0}function bt(e){return/^(0x|0X)/.test(e)?(e.length-2)/2:e.length/2}var xt,St={lang:void 0,message:void 0,abortEarly:void 0,abortPipeEarly:void 0};function Ct(e){return!e&&!xt?St:{lang:e?.lang??xt?.lang,message:e?.message,abortEarly:e?.abortEarly??xt?.abortEarly,abortPipeEarly:e?.abortPipeEarly??xt?.abortPipeEarly}}var wt;function Tt(e){return wt?.get(e)}var Et;function Dt(e){return Et?.get(e)}var Ot;function kt(e,t){return Ot?.get(e)?.get(t)}function At(e){let t=typeof e;return t===`string`?`"${e}"`:t===`number`||t===`bigint`||t===`boolean`?`${e}`:t===`object`||t===`function`?(e&&Object.getPrototypeOf(e)?.constructor?.name)??`null`:t}function jt(e,t,n,r,i){let a=i&&`input`in i?i.input:n.value,o=i?.expected??e.expects??null,s=i?.received??At(a),c={kind:e.kind,type:e.type,input:a,expected:o,received:s,message:`Invalid ${t}: ${o?`Expected ${o} but r`:`R`}eceived ${s}`,requirement:e.requirement,path:i?.path,issues:i?.issues,lang:r.lang,abortEarly:r.abortEarly,abortPipeEarly:r.abortPipeEarly},l=e.kind===`schema`,u=i?.message??e.message??kt(e.reference,c.lang)??(l?Dt(c.lang):null)??r.message??Tt(c.lang);u!==void 0&&(c.message=typeof u==`function`?u(c):u),l&&(n.typed=!1),n.issues?n.issues.push(c):n.issues=[c]}var Mt=new WeakMap;function Nt(e){let t=Mt.get(e);return t||(t={version:1,vendor:`valibot`,validate(t){return e[`~run`]({value:t},Ct())}},Mt.set(e,t)),t}function Pt(e,t){return Object.prototype.hasOwnProperty.call(e,t)&&t!==`__proto__`&&t!==`prototype`&&t!==`constructor`}function Ft(e,t){let n=[...new Set(e)];return n.length>1?`(${n.join(` ${t} `)})`:n[0]??`never`}var It=class extends Error{constructor(e){super(e[0].message),this.name=`ValiError`,this.issues=e}},Lt=/^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$/iu;function Rt(e,t){return{kind:`validation`,type:`check`,reference:Rt,async:!1,expects:null,requirement:e,message:t,"~run"(e,t){return e.typed&&!this.requirement(e.value)&&jt(this,`input`,e,t),e}}}function zt(e){return{kind:`validation`,type:`integer`,reference:zt,async:!1,expects:null,requirement:Number.isInteger,message:e,"~run"(e,t){return e.typed&&!this.requirement(e.value)&&jt(this,`integer`,e,t),e}}}function Bt(e){return{kind:`transformation`,type:`transform`,reference:Bt,async:!1,operation:e,"~run"(e){return e.value=this.operation(e.value),e}}}function Vt(e){return{kind:`validation`,type:`uuid`,reference:Vt,async:!1,expects:null,requirement:Lt,message:e,"~run"(e,t){return e.typed&&!this.requirement.test(e.value)&&jt(this,`UUID`,e,t),e}}}var Ht={abortEarly:!0};function Ut(e,t,n){return typeof e.fallback==`function`?e.fallback(t,n):e.fallback}function Wt(e,t,n){return typeof e.default==`function`?e.default(t,n):e.default}function Gt(e,t){return!e[`~run`]({value:t},Ht).issues}function O(e,t){return{kind:`schema`,type:`array`,reference:O,expects:`Array`,async:!1,item:e,message:t,get"~standard"(){return Nt(this)},"~run"(e,t){let n=e.value;if(Array.isArray(n)){e.typed=!0,e.value=[];for(let r=0;r<n.length;r++){let i=n[r],a=this.item[`~run`]({value:i},t);if(a.issues){let o={type:`array`,origin:`value`,input:n,key:r,value:i};for(let t of a.issues)t.path?t.path.unshift(o):t.path=[o],e.issues?.push(t);if(e.issues||=a.issues,t.abortEarly){e.typed=!1;break}}a.typed||(e.typed=!1),e.value.push(a.value)}}else jt(this,`type`,e,t);return e}}}function Kt(e){return{kind:`schema`,type:`bigint`,reference:Kt,expects:`bigint`,async:!1,message:e,get"~standard"(){return Nt(this)},"~run"(e,t){return typeof e.value==`bigint`?e.typed=!0:jt(this,`type`,e,t),e}}}function qt(e){return{kind:`schema`,type:`boolean`,reference:qt,expects:`boolean`,async:!1,message:e,get"~standard"(){return Nt(this)},"~run"(e,t){return typeof e.value==`boolean`?e.typed=!0:jt(this,`type`,e,t),e}}}function Jt(e){return{kind:`schema`,type:`lazy`,reference:Jt,expects:`unknown`,async:!1,getter:e,get"~standard"(){return Nt(this)},"~run"(e,t){return this.getter(e.value)[`~run`](e,t)}}}function k(e,t){return{kind:`schema`,type:`literal`,reference:k,expects:At(e),async:!1,literal:e,message:t,get"~standard"(){return Nt(this)},"~run"(e,t){return e.value===this.literal?e.typed=!0:jt(this,`type`,e,t),e}}}function A(e,t){return{kind:`schema`,type:`nullable`,reference:A,expects:`(${e.expects} | null)`,async:!1,wrapped:e,default:t,get"~standard"(){return Nt(this)},"~run"(e,t){return e.value===null&&(this.default!==void 0&&(e.value=Wt(this,e,t)),e.value===null)?(e.typed=!0,e):this.wrapped[`~run`](e,t)}}}function Yt(e,t){return{kind:`schema`,type:`nullish`,reference:Yt,expects:`(${e.expects} | null | undefined)`,async:!1,wrapped:e,default:t,get"~standard"(){return Nt(this)},"~run"(e,t){return(e.value===null||e.value===void 0)&&(this.default!==void 0&&(e.value=Wt(this,e,t)),e.value===null||e.value===void 0)?(e.typed=!0,e):this.wrapped[`~run`](e,t)}}}function Xt(e){return{kind:`schema`,type:`number`,reference:Xt,expects:`number`,async:!1,message:e,get"~standard"(){return Nt(this)},"~run"(e,t){return typeof e.value==`number`&&!isNaN(e.value)?e.typed=!0:jt(this,`type`,e,t),e}}}function j(e,t){return{kind:`schema`,type:`object`,reference:j,expects:`Object`,async:!1,entries:e,message:t,get"~standard"(){return Nt(this)},"~run"(e,t){let n=e.value;if(n&&typeof n==`object`){e.typed=!0,e.value={};for(let r in this.entries){let i=this.entries[r];if(r in n||(i.type===`exact_optional`||i.type===`optional`||i.type===`nullish`)&&i.default!==void 0){let a=r in n?n[r]:Wt(i),o=i[`~run`]({value:a},t);if(o.issues){let i={type:`object`,origin:`value`,input:n,key:r,value:a};for(let t of o.issues)t.path?t.path.unshift(i):t.path=[i],e.issues?.push(t);if(e.issues||=o.issues,t.abortEarly){e.typed=!1;break}}o.typed||(e.typed=!1),e.value[r]=o.value}else if(i.fallback!==void 0)e.value[r]=Ut(i);else if(i.type!==`exact_optional`&&i.type!==`optional`&&i.type!==`nullish`&&(jt(this,`key`,e,t,{input:void 0,expected:`"${r}"`,path:[{type:`object`,origin:`key`,input:n,key:r,value:n[r]}]}),t.abortEarly))break}}else jt(this,`type`,e,t);return e}}}function Zt(e,t){return{kind:`schema`,type:`optional`,reference:Zt,expects:`(${e.expects} | undefined)`,async:!1,wrapped:e,default:t,get"~standard"(){return Nt(this)},"~run"(e,t){return e.value===void 0&&(this.default!==void 0&&(e.value=Wt(this,e,t)),e.value===void 0)?(e.typed=!0,e):this.wrapped[`~run`](e,t)}}}function Qt(e,t){return{kind:`schema`,type:`picklist`,reference:Qt,expects:Ft(e.map(At),`|`),async:!1,options:e,message:t,get"~standard"(){return Nt(this)},"~run"(e,t){return this.options.includes(e.value)?e.typed=!0:jt(this,`type`,e,t),e}}}function $t(e,t,n){return{kind:`schema`,type:`record`,reference:$t,expects:`Object`,async:!1,key:e,value:t,message:n,get"~standard"(){return Nt(this)},"~run"(e,t){let n=e.value;if(n&&typeof n==`object`){e.typed=!0,e.value={};for(let r in n)if(Pt(n,r)){let i=n[r],a=this.key[`~run`]({value:r},t);if(a.issues){let o={type:`object`,origin:`key`,input:n,key:r,value:i};for(let t of a.issues)t.path=[o],e.issues?.push(t);if(e.issues||=a.issues,t.abortEarly){e.typed=!1;break}}let o=this.value[`~run`]({value:i},t);if(o.issues){let a={type:`object`,origin:`value`,input:n,key:r,value:i};for(let t of o.issues)t.path?t.path.unshift(a):t.path=[a],e.issues?.push(t);if(e.issues||=o.issues,t.abortEarly){e.typed=!1;break}}(!a.typed||!o.typed)&&(e.typed=!1),a.typed&&(e.value[a.value]=o.value)}}else jt(this,`type`,e,t);return e}}}function M(e){return{kind:`schema`,type:`string`,reference:M,expects:`string`,async:!1,message:e,get"~standard"(){return Nt(this)},"~run"(e,t){return typeof e.value==`string`?e.typed=!0:jt(this,`type`,e,t),e}}}function en(e,t){return{kind:`schema`,type:`tuple`,reference:en,expects:`Array`,async:!1,items:e,message:t,get"~standard"(){return Nt(this)},"~run"(e,t){let n=e.value;if(Array.isArray(n)){e.typed=!0,e.value=[];for(let r=0;r<this.items.length;r++){let i=n[r],a=this.items[r][`~run`]({value:i},t);if(a.issues){let o={type:`array`,origin:`value`,input:n,key:r,value:i};for(let t of a.issues)t.path?t.path.unshift(o):t.path=[o],e.issues?.push(t);if(e.issues||=a.issues,t.abortEarly){e.typed=!1;break}}a.typed||(e.typed=!1),e.value.push(a.value)}}else jt(this,`type`,e,t);return e}}}function tn(e){let t;if(e)for(let n of e)if(t)for(let e of n.issues)t.push(e);else t=n.issues;return t}function nn(e,t){return{kind:`schema`,type:`union`,reference:nn,expects:Ft(e.map(e=>e.expects),`|`),async:!1,options:e,message:t,get"~standard"(){return Nt(this)},"~run"(e,t){let n,r,i;for(let a of this.options){let o=a[`~run`]({value:e.value},t);if(o.typed)if(o.issues)r?r.push(o):r=[o];else{n=o;break}else i?i.push(o):i=[o]}if(n)return n;if(r){if(r.length===1)return r[0];jt(this,`type`,e,t,{issues:tn(r)}),e.typed=!0}else if(i?.length===1)return i[0];else jt(this,`type`,e,t,{issues:tn(i)});return e}}}function rn(){return{kind:`schema`,type:`unknown`,reference:rn,expects:`unknown`,async:!1,get"~standard"(){return Nt(this)},"~run"(e){return e.typed=!0,e}}}function an(e,t,n){return{kind:`schema`,type:`variant`,reference:an,expects:`Object`,async:!1,key:e,options:t,message:n,get"~standard"(){return Nt(this)},"~run"(e,t){let n=e.value;if(n&&typeof n==`object`){let r,i=0,a=this.key,o=[],s=(e,c)=>{for(let l of e.options){if(l.type===`variant`)s(l,new Set(c).add(l.key));else{let e=!0,s=0;for(let t of c){let r=l.entries[t];if(t in n?r[`~run`]({typed:!1,value:n[t]},Ht).issues:r.type!==`exact_optional`&&r.type!==`optional`&&r.type!==`nullish`){e=!1,a!==t&&(i<s||i===s&&t in n&&!(a in n))&&(i=s,a=t,o=[]),a===t&&o.push(l.entries[t].expects);break}s++}if(e){let e=l[`~run`]({value:n},t);(!r||!r.typed&&e.typed)&&(r=e)}}if(r&&!r.issues)break}};if(s(this,new Set([this.key])),r)return r;jt(this,`type`,e,t,{input:n[a],expected:Ft(o,`|`),path:[{type:`object`,origin:`value`,input:n,key:a,value:n[a]}]})}else jt(this,`type`,e,t);return e}}}function N(e,t,n){let r=e[`~run`]({value:t},Ct(n));if(r.issues)throw new It(r.issues);return r.value}function on(...e){return{...e[0],pipe:e,get"~standard"(){return Nt(this)},"~run"(t,n){for(let r of e)if(r.kind!==`metadata`){if(t.issues&&(r.kind===`schema`||r.kind===`transformation`)){t.typed=!1;break}(!t.issues||!n.abortEarly&&!n.abortPipeEarly)&&(t=r[`~run`](t,n))}return t}}}function sn(e,t,n){let r=e[`~run`]({value:t},Ct(n));return{typed:r.typed,success:!r.issues,output:r.value,issues:r.issues}}function cn(e){return nn(Object.keys(e).map(t=>ln(t,j({[t]:e[t]}))))}function ln(e,t){return on(j({...t.entries,$kind:Zt(k(e))}),Bt(t=>({...t,$kind:e})))}var un=on(M(),Bt(e=>D(e)),Rt(st)),dn=un,fn=M(),pn=on(nn([M(),on(Xt(),zt())]),Rt(e=>{try{return BigInt(e),BigInt(e)>=0&&BigInt(e)<=18446744073709551615n}catch{return!1}},`Invalid u64`)),mn=on(Xt(),zt(),Rt(e=>e>=0&&e<2**32,`Invalid u32`)),hn=j({objectId:un,version:pn,digest:M()}),P=nn([ln(`GasCoin`,j({GasCoin:k(!0)})),ln(`Input`,j({Input:on(Xt(),zt()),type:Zt(nn([k(`pure`),k(`object`),k(`withdrawal`)]))})),ln(`Result`,j({Result:on(Xt(),zt())})),ln(`NestedResult`,j({NestedResult:en([on(Xt(),zt()),on(Xt(),zt())])}))]),gn=j({budget:A(pn),price:A(pn),owner:A(un),payment:A(O(hn))}),_n=nn([j({$kind:k(`address`)}),j({$kind:k(`bool`)}),j({$kind:k(`u8`)}),j({$kind:k(`u16`)}),j({$kind:k(`u32`)}),j({$kind:k(`u64`)}),j({$kind:k(`u128`)}),j({$kind:k(`u256`)}),j({$kind:k(`unknown`)}),j({$kind:k(`vector`),vector:Jt(()=>_n)}),j({$kind:k(`datatype`),datatype:j({typeName:M(),typeParameters:O(Jt(()=>_n))})}),j({$kind:k(`typeParameter`),index:on(Xt(),zt())})]),vn=cn({MoveCall:j({package:dn,module:M(),function:M(),typeArguments:O(M()),arguments:O(P),_argumentTypes:Zt(A(O(j({reference:A(nn([k(`mutable`),k(`immutable`),k(`unknown`)])),body:_n}))))}),TransferObjects:j({objects:O(P),address:P}),SplitCoins:j({coin:P,amounts:O(P)}),MergeCoins:j({destination:P,sources:O(P)}),Publish:j({modules:O(fn),dependencies:O(dn)}),MakeMoveVec:j({type:A(M()),elements:O(P)}),Upgrade:j({modules:O(fn),dependencies:O(dn),package:dn,ticket:P}),$Intent:j({name:M(),inputs:$t(M(),nn([P,O(P)])),data:$t(M(),rn())})}),yn=cn({ImmOrOwnedObject:hn,SharedObject:j({objectId:dn,initialSharedVersion:pn,mutable:qt()}),Receiving:hn}),bn=j({reservation:cn({MaxAmountU64:pn}),typeArg:cn({Balance:M()}),withdrawFrom:cn({Sender:k(!0),Sponsor:k(!0)})}),xn=cn({Object:yn,Pure:j({bytes:fn}),UnresolvedPure:j({value:rn()}),UnresolvedObject:j({objectId:dn,version:Zt(A(pn)),digest:Zt(A(M())),initialSharedVersion:Zt(A(pn)),mutable:Zt(A(qt()))}),FundsWithdrawal:bn}),Sn=cn({Object:yn,Pure:j({bytes:fn})}),Cn=j({minEpoch:A(pn),maxEpoch:A(pn),minTimestamp:A(pn),maxTimestamp:A(pn),chain:M(),nonce:mn}),wn=cn({None:k(!0),Epoch:pn,ValidDuring:Cn}),Tn=j({version:k(2),sender:Yt(un),expiration:Yt(wn),gasData:gn,inputs:O(xn),commands:O(vn)});function En(e){if(typeof e==`string`)return D(e);if(e.Object)return e.Object.ImmOrOwnedObject?D(e.Object.ImmOrOwnedObject.objectId):e.Object.Receiving?D(e.Object.Receiving.objectId):D(e.Object.SharedObject.objectId);if(e.UnresolvedObject)return D(e.UnresolvedObject.objectId)}function Dn(e,t,n){let r=e=>{switch(e.$kind){case`Input`:{let n=t.get(e.Input);if(n===void 0)throw Error(`Input ${e.Input} not found in input mapping`);return{...e,Input:n}}case`Result`:{let t=n.get(e.Result);return t===void 0?e:{...e,Result:t}}case`NestedResult`:{let t=n.get(e.NestedResult[0]);return t===void 0?e:{...e,NestedResult:[t,e.NestedResult[1]]}}default:return e}};switch(e.$kind){case`MoveCall`:e.MoveCall.arguments=e.MoveCall.arguments.map(r);break;case`TransferObjects`:e.TransferObjects.objects=e.TransferObjects.objects.map(r),e.TransferObjects.address=r(e.TransferObjects.address);break;case`SplitCoins`:e.SplitCoins.coin=r(e.SplitCoins.coin),e.SplitCoins.amounts=e.SplitCoins.amounts.map(r);break;case`MergeCoins`:e.MergeCoins.destination=r(e.MergeCoins.destination),e.MergeCoins.sources=e.MergeCoins.sources.map(r);break;case`MakeMoveVec`:e.MakeMoveVec.elements=e.MakeMoveVec.elements.map(r);break;case`Upgrade`:e.Upgrade.ticket=r(e.Upgrade.ticket);break;case`$Intent`:{let t=e.$Intent.inputs;e.$Intent.inputs={};for(let[n,i]of Object.entries(t))e.$Intent.inputs[n]=Array.isArray(i)?i.map(r):r(i);break}case`Publish`:break}}var On=/^vector<(.+)>$/,kn=/^([^:]+)::([^:]+)::([^<]+)(<(.+)>)?/,An=class e{static parseFromStr(t,n=!1){if(t===`address`)return{address:null};if(t===`bool`)return{bool:null};if(t===`u8`)return{u8:null};if(t===`u16`)return{u16:null};if(t===`u32`)return{u32:null};if(t===`u64`)return{u64:null};if(t===`u128`)return{u128:null};if(t===`u256`)return{u256:null};if(t===`signer`)return{signer:null};let r=t.match(On);if(r)return{vector:e.parseFromStr(r[1],n)};let i=t.match(kn);if(i)return{struct:{address:n?D(i[1]):i[1],module:i[2],name:i[3],typeParams:i[5]===void 0?[]:e.parseStructTypeArgs(i[5],n)}};throw Error(`Encountered unexpected token when parsing type args for ${t}`)}static parseStructTypeArgs(t,n=!1){return Be(t).map(t=>e.parseFromStr(t,n))}static tagToString(t){if(`bool`in t)return`bool`;if(`u8`in t)return`u8`;if(`u16`in t)return`u16`;if(`u32`in t)return`u32`;if(`u64`in t)return`u64`;if(`u128`in t)return`u128`;if(`u256`in t)return`u256`;if(`address`in t)return`address`;if(`signer`in t)return`signer`;if(`vector`in t)return`vector<${e.tagToString(t.vector)}>`;if(`struct`in t){let n=t.struct,r=n.typeParams.map(e.tagToString).join(`, `);return`${n.address}::${n.module}::${n.name}${r?`<${r}>`:``}`}throw Error(`Invalid TypeTag`)}};function jn(e){return E.u64({name:`unsafe_u64`,...e}).transform({input:e=>e,output:e=>Number(e)})}function Mn(e){return E.enum(`Option`,{None:null,Some:e})}var F=E.bytes(32).transform({validate:e=>{let t=typeof e==`string`?e:Se(e);if(!t||!st(D(t)))throw Error(`Invalid Sui address ${t}`)},input:e=>typeof e==`string`?xe(D(e)):e,output:e=>D(Se(e))}),Nn=E.byteVector().transform({name:`ObjectDigest`,input:e=>ye(e),output:e=>ve(new Uint8Array(e)),validate:e=>{if(ye(e).length!==32)throw Error(`ObjectDigest must be 32 bytes`)}}),Pn=E.struct(`SuiObjectRef`,{objectId:F,version:E.u64(),digest:Nn}),Fn=E.struct(`SharedObjectRef`,{objectId:F,initialSharedVersion:E.u64(),mutable:E.bool()}),In=E.enum(`ObjectArg`,{ImmOrOwnedObject:Pn,SharedObject:Fn,Receiving:Pn}),Ln=E.enum(`Owner`,{AddressOwner:F,ObjectOwner:F,Shared:E.struct(`Shared`,{initialSharedVersion:E.u64()}),Immutable:null,ConsensusAddressOwner:E.struct(`ConsensusAddressOwner`,{startVersion:E.u64(),owner:F})}),Rn=E.enum(`Reservation`,{MaxAmountU64:E.u64()}),zn=E.enum(`WithdrawalType`,{Balance:E.lazy(()=>Wn)}),Bn=E.enum(`WithdrawFrom`,{Sender:null,Sponsor:null}),Vn=E.struct(`FundsWithdrawal`,{reservation:Rn,typeArg:zn,withdrawFrom:Bn}),Hn=E.enum(`CallArg`,{Pure:E.struct(`Pure`,{bytes:E.byteVector().transform({input:e=>typeof e==`string`?w(e):e,output:e=>T(new Uint8Array(e))})}),Object:In,FundsWithdrawal:Vn}),Un=E.enum(`TypeTag`,{bool:null,u8:null,u64:null,u128:null,address:null,signer:null,vector:E.lazy(()=>Un),struct:E.lazy(()=>Qn),u16:null,u32:null,u256:null}),Wn=Un.transform({input:e=>typeof e==`string`?An.parseFromStr(e,!0):e,output:e=>An.tagToString(e)}),Gn=E.enum(`Argument`,{GasCoin:null,Input:E.u16(),Result:E.u16(),NestedResult:E.tuple([E.u16(),E.u16()])}),Kn=E.struct(`ProgrammableMoveCall`,{package:F,module:E.string(),function:E.string(),typeArguments:E.vector(Wn),arguments:E.vector(Gn)}),qn=E.enum(`Command`,{MoveCall:Kn,TransferObjects:E.struct(`TransferObjects`,{objects:E.vector(Gn),address:Gn}),SplitCoins:E.struct(`SplitCoins`,{coin:Gn,amounts:E.vector(Gn)}),MergeCoins:E.struct(`MergeCoins`,{destination:Gn,sources:E.vector(Gn)}),Publish:E.struct(`Publish`,{modules:E.vector(E.byteVector().transform({input:e=>typeof e==`string`?w(e):e,output:e=>T(new Uint8Array(e))})),dependencies:E.vector(F)}),MakeMoveVec:E.struct(`MakeMoveVec`,{type:Mn(Wn).transform({input:e=>e===null?{None:!0}:{Some:e},output:e=>e.Some??null}),elements:E.vector(Gn)}),Upgrade:E.struct(`Upgrade`,{modules:E.vector(E.byteVector().transform({input:e=>typeof e==`string`?w(e):e,output:e=>T(new Uint8Array(e))})),dependencies:E.vector(F),package:F,ticket:Gn})}),Jn=E.struct(`ProgrammableTransaction`,{inputs:E.vector(Hn),commands:E.vector(qn)}),Yn=E.enum(`TransactionKind`,{ProgrammableTransaction:Jn,ChangeEpoch:null,Genesis:null,ConsensusCommitPrologue:null}),Xn=E.struct(`ValidDuring`,{minEpoch:E.option(E.u64()),maxEpoch:E.option(E.u64()),minTimestamp:E.option(E.u64()),maxTimestamp:E.option(E.u64()),chain:Nn,nonce:E.u32()}),Zn=E.enum(`TransactionExpiration`,{None:null,Epoch:jn(),ValidDuring:Xn}),Qn=E.struct(`StructTag`,{address:F,module:E.string(),name:E.string(),typeParams:E.vector(Un)}),$n=E.struct(`GasData`,{payment:E.vector(Pn),owner:F,price:E.u64(),budget:E.u64()}),er=E.struct(`TransactionDataV1`,{kind:Yn,sender:F,gasData:$n,expiration:Zn}),tr=E.enum(`TransactionData`,{V1:er}),nr=E.enum(`IntentScope`,{TransactionData:null,TransactionEffects:null,CheckpointSummary:null,PersonalMessage:null}),rr=E.enum(`IntentVersion`,{V0:null}),ir=E.enum(`AppId`,{Sui:null}),ar=E.struct(`Intent`,{scope:nr,version:rr,appId:ir});function or(e){return E.struct(`IntentMessage<${e.name}>`,{intent:ar,value:e})}var sr=E.enum(`CompressedSignature`,{ED25519:E.bytes(64),Secp256k1:E.bytes(64),Secp256r1:E.bytes(64),ZkLogin:E.byteVector(),Passkey:E.byteVector()}),cr=E.enum(`PublicKey`,{ED25519:E.bytes(32),Secp256k1:E.bytes(33),Secp256r1:E.bytes(33),ZkLogin:E.byteVector(),Passkey:E.bytes(33)}),lr=E.struct(`MultiSigPkMap`,{pubKey:cr,weight:E.u8()}),ur=E.struct(`MultiSigPublicKey`,{pk_map:E.vector(lr),threshold:E.u16()}),dr=E.struct(`MultiSig`,{sigs:E.vector(sr),bitmap:E.u16(),multisig_pk:ur}),fr=E.byteVector().transform({input:e=>typeof e==`string`?w(e):e,output:e=>T(new Uint8Array(e))}),pr=E.struct(`SenderSignedTransaction`,{intentMessage:or(tr),txSignatures:E.vector(fr)}),mr=E.vector(pr,{name:`SenderSignedData`}),hr=E.struct(`PasskeyAuthenticator`,{authenticatorData:E.byteVector(),clientDataJson:E.string(),userSignature:E.byteVector()}),gr=E.enum(`MoveObjectType`,{Other:Qn,GasCoin:null,StakedSui:null,Coin:Wn,AccumulatorBalanceWrapper:null}),_r=E.struct(`TypeOrigin`,{moduleName:E.string(),datatypeName:E.string(),package:F}),vr=E.struct(`UpgradeInfo`,{upgradedId:F,upgradedVersion:E.u64()}),yr=E.struct(`MovePackage`,{id:F,version:E.u64(),moduleMap:E.map(E.string(),E.byteVector()),typeOriginTable:E.vector(_r),linkageTable:E.map(F,vr)}),br=E.struct(`MoveObject`,{type:gr,hasPublicTransfer:E.bool(),version:E.u64(),contents:E.byteVector()}),xr=E.enum(`Data`,{Move:br,Package:yr}),Sr=E.struct(`ObjectInner`,{data:xr,owner:Ln,previousTransaction:Nn,storageRebate:E.u64()}),Cr=E.enum(`PackageUpgradeError`,{UnableToFetchPackage:E.struct(`UnableToFetchPackage`,{packageId:F}),NotAPackage:E.struct(`NotAPackage`,{objectId:F}),IncompatibleUpgrade:null,DigestDoesNotMatch:E.struct(`DigestDoesNotMatch`,{digest:E.byteVector()}),UnknownUpgradePolicy:E.struct(`UnknownUpgradePolicy`,{policy:E.u8()}),PackageIDDoesNotMatch:E.struct(`PackageIDDoesNotMatch`,{packageId:F,ticketId:F})}),wr=E.struct(`ModuleId`,{address:F,name:E.string()}),Tr=E.struct(`MoveLocation`,{module:wr,function:E.u16(),instruction:E.u16(),functionName:E.option(E.string())}),Er=E.enum(`CommandArgumentError`,{TypeMismatch:null,InvalidBCSBytes:null,InvalidUsageOfPureArg:null,InvalidArgumentToPrivateEntryFunction:null,IndexOutOfBounds:E.struct(`IndexOutOfBounds`,{idx:E.u16()}),SecondaryIndexOutOfBounds:E.struct(`SecondaryIndexOutOfBounds`,{resultIdx:E.u16(),secondaryIdx:E.u16()}),InvalidResultArity:E.struct(`InvalidResultArity`,{resultIdx:E.u16()}),InvalidGasCoinUsage:null,InvalidValueUsage:null,InvalidObjectByValue:null,InvalidObjectByMutRef:null,SharedObjectOperationNotAllowed:null,InvalidArgumentArity:null,InvalidTransferObject:null,InvalidMakeMoveVecNonObjectArgument:null,ArgumentWithoutValue:null,CannotMoveBorrowedValue:null,CannotWriteToExtendedReference:null,InvalidReferenceArgument:null}),Dr=E.enum(`TypeArgumentError`,{TypeNotFound:null,ConstraintNotSatisfied:null}),Or=E.enum(`ExecutionFailureStatus`,{InsufficientGas:null,InvalidGasObject:null,InvariantViolation:null,FeatureNotYetSupported:null,MoveObjectTooBig:E.struct(`MoveObjectTooBig`,{objectSize:E.u64(),maxObjectSize:E.u64()}),MovePackageTooBig:E.struct(`MovePackageTooBig`,{objectSize:E.u64(),maxObjectSize:E.u64()}),CircularObjectOwnership:E.struct(`CircularObjectOwnership`,{object:F}),InsufficientCoinBalance:null,CoinBalanceOverflow:null,PublishErrorNonZeroAddress:null,SuiMoveVerificationError:null,MovePrimitiveRuntimeError:E.option(Tr),MoveAbort:E.tuple([Tr,E.u64()]),VMVerificationOrDeserializationError:null,VMInvariantViolation:null,FunctionNotFound:null,ArityMismatch:null,TypeArityMismatch:null,NonEntryFunctionInvoked:null,CommandArgumentError:E.struct(`CommandArgumentError`,{argIdx:E.u16(),kind:Er}),TypeArgumentError:E.struct(`TypeArgumentError`,{argumentIdx:E.u16(),kind:Dr}),UnusedValueWithoutDrop:E.struct(`UnusedValueWithoutDrop`,{resultIdx:E.u16(),secondaryIdx:E.u16()}),InvalidPublicFunctionReturnType:E.struct(`InvalidPublicFunctionReturnType`,{idx:E.u16()}),InvalidTransferObject:null,EffectsTooLarge:E.struct(`EffectsTooLarge`,{currentSize:E.u64(),maxSize:E.u64()}),PublishUpgradeMissingDependency:null,PublishUpgradeDependencyDowngrade:null,PackageUpgradeError:E.struct(`PackageUpgradeError`,{upgradeError:Cr}),WrittenObjectsTooLarge:E.struct(`WrittenObjectsTooLarge`,{currentSize:E.u64(),maxSize:E.u64()}),CertificateDenied:null,SuiMoveVerificationTimedout:null,SharedObjectOperationNotAllowed:null,InputObjectDeleted:null,ExecutionCancelledDueToSharedObjectCongestion:E.struct(`ExecutionCancelledDueToSharedObjectCongestion`,{congested_objects:E.vector(F)}),AddressDeniedForCoin:E.struct(`AddressDeniedForCoin`,{address:F,coinType:E.string()}),CoinTypeGlobalPause:E.struct(`CoinTypeGlobalPause`,{coinType:E.string()}),ExecutionCancelledDueToRandomnessUnavailable:null,MoveVectorElemTooBig:E.struct(`MoveVectorElemTooBig`,{valueSize:E.u64(),maxScaledSize:E.u64()}),MoveRawValueTooBig:E.struct(`MoveRawValueTooBig`,{valueSize:E.u64(),maxScaledSize:E.u64()}),InvalidLinkage:null,InsufficientBalanceForWithdraw:null,NonExclusiveWriteInputObjectModified:E.struct(`NonExclusiveWriteInputObjectModified`,{id:F})}),kr=E.enum(`ExecutionStatus`,{Success:null,Failure:E.struct(`Failure`,{error:Or,command:E.option(E.u64())})}),Ar=E.struct(`GasCostSummary`,{computationCost:E.u64(),storageCost:E.u64(),storageRebate:E.u64(),nonRefundableStorageFee:E.u64()}),jr=E.struct(`TransactionEffectsV1`,{status:kr,executedEpoch:E.u64(),gasUsed:Ar,modifiedAtVersions:E.vector(E.tuple([F,E.u64()])),sharedObjects:E.vector(Pn),transactionDigest:Nn,created:E.vector(E.tuple([Pn,Ln])),mutated:E.vector(E.tuple([Pn,Ln])),unwrapped:E.vector(E.tuple([Pn,Ln])),deleted:E.vector(Pn),unwrappedThenDeleted:E.vector(Pn),wrapped:E.vector(Pn),gasObject:E.tuple([Pn,Ln]),eventsDigest:E.option(Nn),dependencies:E.vector(Nn)}),Mr=E.tuple([E.u64(),Nn]),Nr=E.enum(`ObjectIn`,{NotExist:null,Exist:E.tuple([Mr,Ln])}),Pr=E.struct(`AccumulatorAddress`,{address:F,ty:Wn}),Fr=E.enum(`AccumulatorOperation`,{Merge:null,Split:null}),Ir=E.enum(`AccumulatorValue`,{Integer:E.u64(),IntegerTuple:E.tuple([E.u64(),E.u64()]),EventDigest:E.vector(E.tuple([E.u64(),Nn]))}),Lr=E.struct(`AccumulatorWriteV1`,{address:Pr,operation:Fr,value:Ir}),Rr=E.enum(`ObjectOut`,{NotExist:null,ObjectWrite:E.tuple([Nn,Ln]),PackageWrite:Mr,AccumulatorWriteV1:Lr}),zr=E.enum(`IDOperation`,{None:null,Created:null,Deleted:null}),Br=E.struct(`EffectsObjectChange`,{inputState:Nr,outputState:Rr,idOperation:zr}),Vr=E.enum(`UnchangedConsensusKind`,{ReadOnlyRoot:Mr,MutateConsensusStreamEnded:E.u64(),ReadConsensusStreamEnded:E.u64(),Cancelled:E.u64(),PerEpochConfig:null}),Hr=E.struct(`TransactionEffectsV2`,{status:kr,executedEpoch:E.u64(),gasUsed:Ar,transactionDigest:Nn,gasObjectIndex:E.option(E.u32()),eventsDigest:E.option(Nn),dependencies:E.vector(Nn),lamportVersion:E.u64(),changedObjects:E.vector(E.tuple([F,Br])),unchangedConsensusObjects:E.vector(E.tuple([F,Vr])),auxDataDigest:E.option(Nn)}),Ur=E.enum(`TransactionEffects`,{V1:jr,V2:Hr});function Wr(e){switch(e){case`u8`:return E.u8();case`u16`:return E.u16();case`u32`:return E.u32();case`u64`:return E.u64();case`u128`:return E.u128();case`u256`:return E.u256();case`bool`:return E.bool();case`string`:return E.string();case`id`:case`address`:return F}let t=e.match(/^(vector|option)<(.+)>$/);if(t){let[e,n]=t.slice(1);return e===`vector`?E.vector(Wr(n)):E.option(Wr(n))}throw Error(`Invalid Pure type name: ${e}`)}var I={...E,U8:E.u8(),U16:E.u16(),U32:E.u32(),U64:E.u64(),U128:E.u128(),U256:E.u256(),ULEB128:E.uleb128(),Bool:E.bool(),String:E.string(),Address:F,AppId:ir,Argument:Gn,CallArg:Hn,Command:qn,CompressedSignature:sr,Data:xr,GasData:$n,Intent:ar,IntentMessage:or,IntentScope:nr,IntentVersion:rr,MoveObject:br,MoveObjectType:gr,MovePackage:yr,MultiSig:dr,MultiSigPkMap:lr,MultiSigPublicKey:ur,Object:Sr,ObjectArg:In,ObjectDigest:Nn,Owner:Ln,PasskeyAuthenticator:hr,ProgrammableMoveCall:Kn,ProgrammableTransaction:Jn,PublicKey:cr,SenderSignedData:mr,SenderSignedTransaction:pr,SharedObjectRef:Fn,StructTag:Qn,SuiObjectRef:Pn,TransactionData:tr,TransactionDataV1:er,TransactionEffects:Ur,TransactionExpiration:Zn,TransactionKind:Yn,TypeOrigin:_r,TypeTag:Wn,UpgradeInfo:vr},Gr=j({digest:M(),objectId:M(),version:nn([on(Xt(),zt()),M(),Kt()])}),Kr=cn({Object:cn({ImmOrOwned:Gr,Shared:j({objectId:dn,initialSharedVersion:pn,mutable:qt()}),Receiving:Gr}),Pure:O(on(Xt(),zt()))}),qr=nn([j({bool:A(k(!0))}),j({u8:A(k(!0))}),j({u64:A(k(!0))}),j({u128:A(k(!0))}),j({address:A(k(!0))}),j({signer:A(k(!0))}),j({vector:Jt(()=>qr)}),j({struct:Jt(()=>Jr)}),j({u16:A(k(!0))}),j({u32:A(k(!0))}),j({u256:A(k(!0))})]),Jr=j({address:M(),module:M(),name:M(),typeParams:O(qr)});function Yr(e){let t=e.inputs.map((e,t)=>{if(e.Object)return{kind:`Input`,index:t,value:{Object:e.Object.ImmOrOwnedObject?{ImmOrOwned:e.Object.ImmOrOwnedObject}:e.Object.Receiving?{Receiving:{digest:e.Object.Receiving.digest,version:e.Object.Receiving.version,objectId:e.Object.Receiving.objectId}}:{Shared:{mutable:e.Object.SharedObject.mutable,initialSharedVersion:e.Object.SharedObject.initialSharedVersion,objectId:e.Object.SharedObject.objectId}}},type:`object`};if(e.Pure)return{kind:`Input`,index:t,value:{Pure:Array.from(w(e.Pure.bytes))},type:`pure`};if(e.UnresolvedPure)return{kind:`Input`,type:`pure`,index:t,value:e.UnresolvedPure.value};if(e.UnresolvedObject)return{kind:`Input`,type:`object`,index:t,value:e.UnresolvedObject.objectId};throw Error(`Invalid input`)});return{version:1,sender:e.sender??void 0,expiration:e.expiration?.$kind===`Epoch`?{Epoch:Number(e.expiration.Epoch)}:e.expiration?{None:!0}:null,gasConfig:{owner:e.gasData.owner??void 0,budget:e.gasData.budget??void 0,price:e.gasData.price??void 0,payment:e.gasData.payment??void 0},inputs:t,transactions:e.commands.map(e=>{if(e.MakeMoveVec)return{kind:`MakeMoveVec`,type:e.MakeMoveVec.type===null?{None:!0}:{Some:An.parseFromStr(e.MakeMoveVec.type)},objects:e.MakeMoveVec.elements.map(e=>Xr(e,t))};if(e.MergeCoins)return{kind:`MergeCoins`,destination:Xr(e.MergeCoins.destination,t),sources:e.MergeCoins.sources.map(e=>Xr(e,t))};if(e.MoveCall)return{kind:`MoveCall`,target:`${e.MoveCall.package}::${e.MoveCall.module}::${e.MoveCall.function}`,typeArguments:e.MoveCall.typeArguments,arguments:e.MoveCall.arguments.map(e=>Xr(e,t))};if(e.Publish)return{kind:`Publish`,modules:e.Publish.modules.map(e=>Array.from(w(e))),dependencies:e.Publish.dependencies};if(e.SplitCoins)return{kind:`SplitCoins`,coin:Xr(e.SplitCoins.coin,t),amounts:e.SplitCoins.amounts.map(e=>Xr(e,t))};if(e.TransferObjects)return{kind:`TransferObjects`,objects:e.TransferObjects.objects.map(e=>Xr(e,t)),address:Xr(e.TransferObjects.address,t)};if(e.Upgrade)return{kind:`Upgrade`,modules:e.Upgrade.modules.map(e=>Array.from(w(e))),dependencies:e.Upgrade.dependencies,packageId:e.Upgrade.package,ticket:Xr(e.Upgrade.ticket,t)};throw Error(`Unknown transaction ${Object.keys(e)}`)})}}function Xr(e,t){if(e.$kind===`GasCoin`)return{kind:`GasCoin`};if(e.$kind===`Result`)return{kind:`Result`,index:e.Result};if(e.$kind===`NestedResult`)return{kind:`NestedResult`,index:e.NestedResult[0],resultIndex:e.NestedResult[1]};if(e.$kind===`Input`)return t[e.Input];throw Error(`Invalid argument ${Object.keys(e)}`)}function Zr(e){return N(Tn,{version:2,sender:e.sender??null,expiration:e.expiration?`Epoch`in e.expiration?{Epoch:e.expiration.Epoch}:{None:!0}:null,gasData:{owner:e.gasConfig.owner??null,budget:e.gasConfig.budget?.toString()??null,price:e.gasConfig.price?.toString()??null,payment:e.gasConfig.payment?.map(e=>({digest:e.digest,objectId:e.objectId,version:e.version.toString()}))??null},inputs:e.inputs.map(e=>{if(e.kind===`Input`){if(Gt(Kr,e.value)){let t=N(Kr,e.value);if(t.Object){if(t.Object.ImmOrOwned)return{Object:{ImmOrOwnedObject:{objectId:t.Object.ImmOrOwned.objectId,version:String(t.Object.ImmOrOwned.version),digest:t.Object.ImmOrOwned.digest}}};if(t.Object.Shared)return{Object:{SharedObject:{mutable:t.Object.Shared.mutable??null,initialSharedVersion:t.Object.Shared.initialSharedVersion,objectId:t.Object.Shared.objectId}}};if(t.Object.Receiving)return{Object:{Receiving:{digest:t.Object.Receiving.digest,version:String(t.Object.Receiving.version),objectId:t.Object.Receiving.objectId}}};throw Error(`Invalid object input`)}return{Pure:{bytes:T(new Uint8Array(t.Pure))}}}return e.type===`object`?{UnresolvedObject:{objectId:e.value}}:{UnresolvedPure:{value:e.value}}}throw Error(`Invalid input`)}),commands:e.transactions.map(e=>{switch(e.kind){case`MakeMoveVec`:return{MakeMoveVec:{type:`Some`in e.type?An.tagToString(e.type.Some):null,elements:e.objects.map(e=>Qr(e))}};case`MergeCoins`:return{MergeCoins:{destination:Qr(e.destination),sources:e.sources.map(e=>Qr(e))}};case`MoveCall`:{let[t,n,r]=e.target.split(`::`);return{MoveCall:{package:t,module:n,function:r,typeArguments:e.typeArguments,arguments:e.arguments.map(e=>Qr(e))}}}case`Publish`:return{Publish:{modules:e.modules.map(e=>T(Uint8Array.from(e))),dependencies:e.dependencies}};case`SplitCoins`:return{SplitCoins:{coin:Qr(e.coin),amounts:e.amounts.map(e=>Qr(e))}};case`TransferObjects`:return{TransferObjects:{objects:e.objects.map(e=>Qr(e)),address:Qr(e.address)}};case`Upgrade`:return{Upgrade:{modules:e.modules.map(e=>T(Uint8Array.from(e))),dependencies:e.dependencies,package:e.packageId,ticket:Qr(e.ticket)}}}throw Error(`Unknown transaction ${Object.keys(e)}`)})})}function Qr(e){switch(e.kind){case`GasCoin`:return{GasCoin:!0};case`Result`:return{Result:e.index};case`NestedResult`:return{NestedResult:[e.index,e.resultIndex]};case`Input`:return{Input:e.index}}}function $r(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`&&`BYTES_PER_ELEMENT`in e&&e.BYTES_PER_ELEMENT===1}function ei(e,t=``){if(typeof e!=`number`){let n=t&&`"${t}" `;throw TypeError(`${n}expected number, got ${typeof e}`)}if(!Number.isSafeInteger(e)||e<0){let n=t&&`"${t}" `;throw RangeError(`${n}expected integer >= 0, got ${e}`)}}function ti(e,t,n=``){let r=$r(e),i=e?.length,a=t!==void 0;if(!r||a&&i!==t){let o=n&&`"${n}" `,s=a?` of length ${t}`:``,c=r?`length=${i}`:`type=${typeof e}`,l=o+`expected Uint8Array`+s+`, got `+c;throw r?RangeError(l):TypeError(l)}return e}function ni(e){if(typeof e!=`function`||typeof e.create!=`function`)throw TypeError(`Hash must wrapped by utils.createHasher`);if(ei(e.outputLen),ei(e.blockLen),e.outputLen<1)throw Error(`"outputLen" must be >= 1`);if(e.blockLen<1)throw Error(`"blockLen" must be >= 1`)}function ri(e,t=!0){if(e.destroyed)throw Error(`Hash instance has been destroyed`);if(t&&e.finished)throw Error(`Hash#digest() has already been called`)}function ii(e,t){ti(e,void 0,`digestInto() output`);let n=t.outputLen;if(e.length<n)throw RangeError(`"digestInto() output" expected to be of length >=`+n)}function ai(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function oi(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function si(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}var ci=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function li(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}var ui=ci?e=>e:e=>li(e)>>>0;function di(e){for(let t=0;t<e.length;t++)e[t]=li(e[t]);return e}var fi=ci?e=>e:di,pi=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,mi=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function hi(e){if(ti(e),pi)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=mi[e[n]];return t}var gi={_0:48,_9:57,A:65,F:70,a:97,f:102};function _i(e){if(e>=gi._0&&e<=gi._9)return e-gi._0;if(e>=gi.A&&e<=gi.F)return e-(gi.A-10);if(e>=gi.a&&e<=gi.f)return e-(gi.a-10)}function vi(e){if(typeof e!=`string`)throw TypeError(`hex string expected, got `+typeof e);if(pi)try{return Uint8Array.fromHex(e)}catch(e){throw e instanceof SyntaxError?RangeError(e.message):e}let t=e.length,n=t/2;if(t%2)throw RangeError(`hex string expected, got unpadded hex of length `+t);let r=new Uint8Array(n);for(let t=0,i=0;t<n;t++,i+=2){let n=_i(e.charCodeAt(i)),a=_i(e.charCodeAt(i+1));if(n===void 0||a===void 0){let t=e[i]+e[i+1];throw RangeError(`hex string expected, got non-hex character "`+t+`" at index `+i)}r[t]=n*16+a}return r}function yi(e){if(typeof e!=`string`)throw TypeError(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function bi(e,t=``){return typeof e==`string`?yi(e):ti(e,void 0,t)}function xi(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];ti(r),t+=r.length}let n=new Uint8Array(t);for(let t=0,r=0;t<e.length;t++){let i=e[t];n.set(i,r),r+=i.length}return n}function Si(e,t){if(t!==void 0&&{}.toString.call(t)!==`[object Object]`)throw TypeError(`options must be object or undefined`);return Object.assign(e,t)}function Ci(e,t={}){let n=(t,n)=>e(n).update(t).digest(),r=e(void 0);return n.outputLen=r.outputLen,n.blockLen=r.blockLen,n.canXOF=r.canXOF,n.create=t=>e(t),Object.assign(n,t),Object.freeze(n)}function wi(e=32){ei(e,`bytesLength`);let t=typeof globalThis==`object`?globalThis.crypto:null;if(typeof t?.getRandomValues!=`function`)throw Error(`crypto.getRandomValues must be defined`);if(e>65536)throw RangeError(`"bytesLength" expected <= 65536, got ${e}`);return t.getRandomValues(new Uint8Array(e))}var Ti=e=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])}),Ei=Uint8Array.from([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9]),Di=class{blockLen;outputLen;canXOF=!1;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(e,t,n,r){this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=r,this.buffer=new Uint8Array(e),this.view=si(this.buffer)}update(e){ri(this),ti(e);let{view:t,buffer:n,blockLen:r}=this,i=e.length;for(let a=0;a<i;){let o=Math.min(r-this.pos,i-a);if(o===r){let t=si(e);for(;r<=i-a;a+=r)this.process(t,a);continue}n.set(e.subarray(a,a+o),this.pos),this.pos+=o,a+=o,this.pos===r&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){ri(this),ii(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:r,isLE:i}=this,{pos:a}=this;t[a++]=128,oi(this.buffer.subarray(a)),this.padOffset>r-a&&(this.process(n,0),a=0);for(let e=a;e<r;e++)t[e]=0;n.setBigUint64(r-8,BigInt(this.length*8),i),this.process(n,0);let o=si(e),s=this.outputLen;if(s%4)throw Error(`_sha2: outputLen must be aligned to 32bit`);let c=s/4,l=this.get();if(c>l.length)throw Error(`_sha2: outputLen bigger than state`);for(let e=0;e<c;e++)o.setUint32(4*e,l[e],i)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||=new this.constructor,e.set(...this.get());let{blockLen:t,buffer:n,length:r,finished:i,destroyed:a,pos:o}=this;return e.destroyed=a,e.finished=i,e.length=r,e.pos=o,r%t&&e.buffer.set(n),e}clone(){return this._cloneInto()}},Oi=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]),ki=BigInt(2**32-1),Ai=BigInt(32);function ji(e,t=!1){return t?{h:Number(e&ki),l:Number(e>>Ai&ki)}:{h:Number(e>>Ai&ki)|0,l:Number(e&ki)|0}}function Mi(e,t=!1){let n=e.length,r=new Uint32Array(n),i=new Uint32Array(n);for(let a=0;a<n;a++){let{h:n,l:o}=ji(e[a],t);[r[a],i[a]]=[n,o]}return[r,i]}var Ni=(e,t,n)=>e>>>n,Pi=(e,t,n)=>e<<32-n|t>>>n,Fi=(e,t,n)=>e>>>n|t<<32-n,Ii=(e,t,n)=>e<<32-n|t>>>n,Li=(e,t,n)=>e<<64-n|t>>>n-32,Ri=(e,t,n)=>e>>>n-32|t<<64-n,zi=(e,t)=>t,Bi=(e,t)=>e;function Vi(e,t,n,r){let i=(t>>>0)+(r>>>0);return{h:e+n+(i/2**32|0)|0,l:i|0}}var Hi=(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0),Ui=(e,t,n,r)=>t+n+r+(e/2**32|0)|0,Wi=(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0),Gi=(e,t,n,r,i)=>t+n+r+i+(e/2**32|0)|0,Ki=(e,t,n,r,i)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(i>>>0),qi=(e,t,n,r,i,a)=>t+n+r+i+a+(e/2**32|0)|0,Ji=Uint32Array.from([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),L=new Uint32Array(32);function Yi(e,t,n,r,i,a){let o=i[a],s=i[a+1],c=L[2*e],l=L[2*e+1],u=L[2*t],d=L[2*t+1],f=L[2*n],p=L[2*n+1],m=L[2*r],h=L[2*r+1],g=Hi(c,u,o);l=Ui(g,l,d,s),c=g|0,{Dh:h,Dl:m}={Dh:h^l,Dl:m^c},{Dh:h,Dl:m}={Dh:zi(h,m),Dl:Bi(h,m)},{h:p,l:f}=Vi(p,f,h,m),{Bh:d,Bl:u}={Bh:d^p,Bl:u^f},{Bh:d,Bl:u}={Bh:Fi(d,u,24),Bl:Ii(d,u,24)},L[2*e]=c,L[2*e+1]=l,L[2*t]=u,L[2*t+1]=d,L[2*n]=f,L[2*n+1]=p,L[2*r]=m,L[2*r+1]=h}function Xi(e,t,n,r,i,a){let o=i[a],s=i[a+1],c=L[2*e],l=L[2*e+1],u=L[2*t],d=L[2*t+1],f=L[2*n],p=L[2*n+1],m=L[2*r],h=L[2*r+1],g=Hi(c,u,o);l=Ui(g,l,d,s),c=g|0,{Dh:h,Dl:m}={Dh:h^l,Dl:m^c},{Dh:h,Dl:m}={Dh:Fi(h,m,16),Dl:Ii(h,m,16)},{h:p,l:f}=Vi(p,f,h,m),{Bh:d,Bl:u}={Bh:d^p,Bl:u^f},{Bh:d,Bl:u}={Bh:Li(d,u,63),Bl:Ri(d,u,63)},L[2*e]=c,L[2*e+1]=l,L[2*t]=u,L[2*t+1]=d,L[2*n]=f,L[2*n+1]=p,L[2*r]=m,L[2*r+1]=h}function Zi(e,t={},n,r,i){if(ei(n),e<=0||e>n)throw Error(`outputLen bigger than keyLen`);let{key:a,salt:o,personalization:s}=t;if(a!==void 0&&(a.length<1||a.length>n))throw Error(`"key" expected to be undefined or of length=1..`+n);o!==void 0&&ti(o,r,`salt`),s!==void 0&&ti(s,i,`personalization`)}var Qi=class{buffer;buffer32;finished=!1;destroyed=!1;length=0;pos=0;blockLen;outputLen;canXOF=!1;constructor(e,t){ei(e),ei(t),this.blockLen=e,this.outputLen=t,this.buffer=new Uint8Array(e),this.buffer32=ai(this.buffer)}update(e){ri(this),ti(e);let{blockLen:t,buffer:n,buffer32:r}=this,i=e.length,a=e.byteOffset,o=e.buffer;for(let s=0;s<i;){this.pos===t&&(fi(r),this.compress(r,0,!1),fi(r),this.pos=0);let c=Math.min(t-this.pos,i-s),l=a+s;if(c===t&&!(l%4)&&s+c<i){let e=new Uint32Array(o,l,Math.floor((i-s)/4));fi(e);for(let n=0;s+t<i;n+=r.length,s+=t)this.length+=t,this.compress(e,n,!1);fi(e);continue}n.set(e.subarray(s,s+c),this.pos),this.pos+=c,this.length+=c,s+=c}return this}digestInto(e){ri(this),ii(e,this);let{pos:t,buffer32:n}=this;if(this.finished=!0,oi(this.buffer.subarray(t)),fi(n),this.compress(n,0,!0),fi(n),e.byteOffset&3)throw RangeError(`"digestInto() output" expected 4-byte aligned byteOffset, got `+e.byteOffset);let r=this.get(),i=ai(e),a=Math.floor(this.outputLen/4);for(let e=0;e<a;e++)i[e]=ui(r[e]);let o=this.outputLen%4;if(!o)return;let s=a*4,c=r[a];for(let t=0;t<o;t++)e[s+t]=c>>>8*t}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){let{buffer:t,length:n,finished:r,destroyed:i,outputLen:a,pos:o}=this;return e||=new this.constructor({dkLen:a}),e.set(...this.get()),e.buffer.set(t),e.destroyed=i,e.finished=r,e.length=n,e.pos=o,e.outputLen=a,e}clone(){return this._cloneInto()}},$i=class extends Qi{v0l=Ji[0]|0;v0h=Ji[1]|0;v1l=Ji[2]|0;v1h=Ji[3]|0;v2l=Ji[4]|0;v2h=Ji[5]|0;v3l=Ji[6]|0;v3h=Ji[7]|0;v4l=Ji[8]|0;v4h=Ji[9]|0;v5l=Ji[10]|0;v5h=Ji[11]|0;v6l=Ji[12]|0;v6h=Ji[13]|0;v7l=Ji[14]|0;v7h=Ji[15]|0;constructor(e={}){let t=e.dkLen===void 0?64:e.dkLen;super(128,t),Zi(t,e,64,16,16);let{key:n,personalization:r,salt:i}=e,a=0;if(n!==void 0&&(ti(n,void 0,`key`),a=n.length),this.v0l^=this.outputLen|a<<8|16842752,i!==void 0){ti(i,void 0,`salt`);let e=ai(i);this.v4l^=ui(e[0]),this.v4h^=ui(e[1]),this.v5l^=ui(e[2]),this.v5h^=ui(e[3])}if(r!==void 0){ti(r,void 0,`personalization`);let e=ai(r);this.v6l^=ui(e[0]),this.v6h^=ui(e[1]),this.v7l^=ui(e[2]),this.v7h^=ui(e[3])}if(n!==void 0){let e=new Uint8Array(this.blockLen);e.set(n),this.update(e)}}get(){let{v0l:e,v0h:t,v1l:n,v1h:r,v2l:i,v2h:a,v3l:o,v3h:s,v4l:c,v4h:l,v5l:u,v5h:d,v6l:f,v6h:p,v7l:m,v7h:h}=this;return[e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h]}set(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){this.v0l=e|0,this.v0h=t|0,this.v1l=n|0,this.v1h=r|0,this.v2l=i|0,this.v2h=a|0,this.v3l=o|0,this.v3h=s|0,this.v4l=c|0,this.v4h=l|0,this.v5l=u|0,this.v5h=d|0,this.v6l=f|0,this.v6h=p|0,this.v7l=m|0,this.v7h=h|0}compress(e,t,n){this.get().forEach((e,t)=>L[t]=e),L.set(Ji,16);let{h:r,l:i}=ji(BigInt(this.length));L[24]=Ji[8]^i,L[25]=Ji[9]^r,n&&(L[28]=~L[28],L[29]=~L[29]);let a=0,o=Ei;for(let n=0;n<12;n++)Yi(0,4,8,12,e,t+2*o[a++]),Xi(0,4,8,12,e,t+2*o[a++]),Yi(1,5,9,13,e,t+2*o[a++]),Xi(1,5,9,13,e,t+2*o[a++]),Yi(2,6,10,14,e,t+2*o[a++]),Xi(2,6,10,14,e,t+2*o[a++]),Yi(3,7,11,15,e,t+2*o[a++]),Xi(3,7,11,15,e,t+2*o[a++]),Yi(0,5,10,15,e,t+2*o[a++]),Xi(0,5,10,15,e,t+2*o[a++]),Yi(1,6,11,12,e,t+2*o[a++]),Xi(1,6,11,12,e,t+2*o[a++]),Yi(2,7,8,13,e,t+2*o[a++]),Xi(2,7,8,13,e,t+2*o[a++]),Yi(3,4,9,14,e,t+2*o[a++]),Xi(3,4,9,14,e,t+2*o[a++]);this.v0l^=L[0]^L[16],this.v0h^=L[1]^L[17],this.v1l^=L[2]^L[18],this.v1h^=L[3]^L[19],this.v2l^=L[4]^L[20],this.v2h^=L[5]^L[21],this.v3l^=L[6]^L[22],this.v3h^=L[7]^L[23],this.v4l^=L[8]^L[24],this.v4h^=L[9]^L[25],this.v5l^=L[10]^L[26],this.v5h^=L[11]^L[27],this.v6l^=L[12]^L[28],this.v6h^=L[13]^L[29],this.v7l^=L[14]^L[30],this.v7h^=L[15]^L[31],oi(L)}destroy(){this.destroyed=!0,oi(this.buffer32),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},ea=Ci(e=>new $i(e));function ta(e,t){let n=Array.from(`${e}::`).map(e=>e.charCodeAt(0)),r=new Uint8Array(n.length+t.length);return r.set(n),r.set(t,n.length),ea(r,{dkLen:32})}function na(e){return D(e).replace(`0x`,``)}var ra=class e{static fromKindBytes(t){let n=I.TransactionKind.parse(t).ProgrammableTransaction;if(!n)throw Error(`Unable to deserialize from bytes.`);return e.restore({version:2,sender:null,expiration:null,gasData:{budget:null,owner:null,payment:null,price:null},inputs:n.inputs,commands:n.commands})}static fromBytes(t){let n=I.TransactionData.parse(t)?.V1,r=n.kind.ProgrammableTransaction;if(!n||!r)throw Error(`Unable to deserialize from bytes.`);return e.restore({version:2,sender:n.sender,expiration:n.expiration,gasData:n.gasData,inputs:r.inputs,commands:r.commands})}static restore(t){return t.version===2?new e(N(Tn,t)):new e(N(Tn,Zr(t)))}static getDigestFromBytes(e){return ve(ta(`TransactionData`,e))}constructor(e){this.version=2,this.sender=e?.sender??null,this.expiration=e?.expiration??null,this.inputs=e?.inputs??[],this.commands=e?.commands??[],this.gasData=e?.gasData??{budget:null,price:null,owner:null,payment:null}}build({maxSizeBytes:e=1/0,overrides:t,onlyTransactionKind:n}={}){let r=this.inputs,i=this.commands,a={ProgrammableTransaction:{inputs:r,commands:i}};if(n)return I.TransactionKind.serialize(a,{maxSize:e}).toBytes();let o=t?.expiration??this.expiration,s=t?.sender??this.sender,c={...this.gasData,...t?.gasData};if(!s)throw Error(`Missing transaction sender`);if(!c.budget)throw Error(`Missing gas budget`);if(!c.payment)throw Error(`Missing gas payment`);if(!c.price)throw Error(`Missing gas price`);let l={sender:na(s),expiration:o||{None:!0},gasData:{payment:c.payment,owner:na(this.gasData.owner??s),price:BigInt(c.price),budget:BigInt(c.budget)},kind:{ProgrammableTransaction:{inputs:r,commands:i}}};return I.TransactionData.serialize({V1:l},{maxSize:e}).toBytes()}addInput(e,t){let n=this.inputs.length;return this.inputs.push(t),{Input:n,type:e,$kind:`Input`}}getInputUses(e,t){this.mapArguments((n,r)=>(n.$kind===`Input`&&n.Input===e&&t(n,r),n))}mapCommandArguments(e,t){let n=this.commands[e];switch(n.$kind){case`MoveCall`:n.MoveCall.arguments=n.MoveCall.arguments.map(r=>t(r,n,e));break;case`TransferObjects`:n.TransferObjects.objects=n.TransferObjects.objects.map(r=>t(r,n,e)),n.TransferObjects.address=t(n.TransferObjects.address,n,e);break;case`SplitCoins`:n.SplitCoins.coin=t(n.SplitCoins.coin,n,e),n.SplitCoins.amounts=n.SplitCoins.amounts.map(r=>t(r,n,e));break;case`MergeCoins`:n.MergeCoins.destination=t(n.MergeCoins.destination,n,e),n.MergeCoins.sources=n.MergeCoins.sources.map(r=>t(r,n,e));break;case`MakeMoveVec`:n.MakeMoveVec.elements=n.MakeMoveVec.elements.map(r=>t(r,n,e));break;case`Upgrade`:n.Upgrade.ticket=t(n.Upgrade.ticket,n,e);break;case`$Intent`:let r=n.$Intent.inputs;n.$Intent.inputs={};for(let[i,a]of Object.entries(r))n.$Intent.inputs[i]=Array.isArray(a)?a.map(r=>t(r,n,e)):t(a,n,e);break;case`Publish`:break;default:throw Error(`Unexpected transaction kind: ${n.$kind}`)}}mapArguments(e){for(let t of this.commands.keys())this.mapCommandArguments(t,e)}replaceCommand(e,t,n=e){if(!Array.isArray(t)){this.commands[e]=t;return}let r=t.length-1;this.commands.splice(e,1,...structuredClone(t)),this.mapArguments((i,a,o)=>{if(o<e+t.length)return i;if(typeof n!=`number`&&(i.$kind===`Result`&&i.Result===e||i.$kind===`NestedResult`&&i.NestedResult[0]===e)){if(!(`NestedResult`in i)||i.NestedResult[1]===0)return N(P,structuredClone(n));throw Error(`Cannot replace command ${e} with a specific result type: NestedResult[${e}, ${i.NestedResult[1]}] references a nested element that cannot be mapped to the replacement result`)}switch(i.$kind){case`Result`:i.Result===e&&typeof n==`number`&&(i.Result=n),i.Result>e&&(i.Result+=r);break;case`NestedResult`:if(i.NestedResult[0]===e&&typeof n==`number`)return{$kind:`NestedResult`,NestedResult:[n,i.NestedResult[1]]};i.NestedResult[0]>e&&(i.NestedResult[0]+=r);break}return i})}replaceCommandWithTransaction(e,t,n){if(n.$kind!==`Result`&&n.$kind!==`NestedResult`)throw Error(`Result must be of kind Result or NestedResult`);this.insertTransaction(e,t),this.replaceCommand(e+t.commands.length,[],`Result`in n?{NestedResult:[n.Result+e,0]}:{NestedResult:[n.NestedResult[0]+e,n.NestedResult[1]]})}insertTransaction(e,t){let n=new Map,r=new Map;for(let e=0;e<t.inputs.length;e++){let r=t.inputs[e],i=En(r),a=-1;if(i!==void 0&&(a=this.inputs.findIndex(e=>En(e)===i),a!==-1&&this.inputs[a].Object?.SharedObject&&r.Object?.SharedObject&&(this.inputs[a].Object.SharedObject.mutable=this.inputs[a].Object.SharedObject.mutable||r.Object.SharedObject.mutable)),a!==-1)n.set(e,a);else{let t=this.inputs.length;this.inputs.push(r),n.set(e,t)}}for(let n=0;n<t.commands.length;n++)r.set(n,e+n);let i=[];for(let e=0;e<t.commands.length;e++){let a=structuredClone(t.commands[e]);Dn(a,n,r),i.push(a)}this.commands.splice(e,0,...i);let a=i.length;a>0&&this.mapArguments((t,n,r)=>{if(r>=e&&r<e+i.length)return t;switch(t.$kind){case`Result`:t.Result>=e&&(t.Result+=a);break;case`NestedResult`:t.NestedResult[0]>=e&&(t.NestedResult[0]+=a);break}return t})}getDigest(){let t=this.build({onlyTransactionKind:!1});return e.getDigestFromBytes(t)}snapshot(){return N(Tn,this)}shallowClone(){return new e({version:this.version,sender:this.sender,expiration:this.expiration,gasData:{...this.gasData},inputs:[...this.inputs],commands:[...this.commands]})}applyResolvedData(e){this.sender||=e.sender??null,this.expiration||=e.expiration??null,this.gasData.budget||(this.gasData.budget=e.gasData.budget),this.gasData.owner||(this.gasData.owner=e.gasData.owner??null),this.gasData.payment||(this.gasData.payment=e.gasData.payment),this.gasData.price||(this.gasData.price=e.gasData.price);for(let t=0;t<this.inputs.length;t++){let n=this.inputs[t],r=e.inputs[t];switch(n.$kind){case`UnresolvedPure`:if(r.$kind!==`Pure`)throw Error(`Expected input at index ${t} to resolve to a Pure argument, but got ${JSON.stringify(r)}`);this.inputs[t]=r;break;case`UnresolvedObject`:if(r.$kind!==`Object`)throw Error(`Expected input at index ${t} to resolve to an Object argument, but got ${JSON.stringify(r)}`);if(r.Object.$kind===`ImmOrOwnedObject`||r.Object.$kind===`Receiving`){let e=n.UnresolvedObject,i=r.Object.ImmOrOwnedObject??r.Object.Receiving;if(D(e.objectId)!==D(i.objectId)||e.version!=null&&e.version!==i.version||e.digest!=null&&e.digest!==i.digest||e.mutable!=null||e.initialSharedVersion!=null)throw Error(`Input at index ${t} did not match unresolved object. ${JSON.stringify(e)} is not compatible with ${JSON.stringify(i)}`)}else if(r.Object.$kind===`SharedObject`){let e=n.UnresolvedObject,i=r.Object.SharedObject;if(D(e.objectId)!==D(i.objectId)||e.initialSharedVersion!=null&&e.initialSharedVersion!==i.initialSharedVersion||e.mutable!=null&&e.mutable!==i.mutable||e.version!=null||e.digest!=null)throw Error(`Input at index ${t} did not match unresolved object. ${JSON.stringify(e)} is not compatible with ${JSON.stringify(i)}`)}else throw Error(`Input at index ${t} resolved to an unexpected Object kind: ${JSON.stringify(r.Object)}`);this.inputs[t]=r;break}}}},ia={MoveCall(e){let[t,n=``,r=``]=`target`in e?e.target.split(`::`):[e.package,e.module,e.function];return{$kind:`MoveCall`,MoveCall:{package:t,module:n,function:r,typeArguments:e.typeArguments??[],arguments:e.arguments??[]}}},TransferObjects(e,t){return{$kind:`TransferObjects`,TransferObjects:{objects:e.map(e=>N(P,e)),address:N(P,t)}}},SplitCoins(e,t){return{$kind:`SplitCoins`,SplitCoins:{coin:N(P,e),amounts:t.map(e=>N(P,e))}}},MergeCoins(e,t){return{$kind:`MergeCoins`,MergeCoins:{destination:N(P,e),sources:t.map(e=>N(P,e))}}},Publish({modules:e,dependencies:t}){return{$kind:`Publish`,Publish:{modules:e.map(e=>typeof e==`string`?e:T(new Uint8Array(e))),dependencies:t.map(e=>vt(e))}}},Upgrade({modules:e,dependencies:t,package:n,ticket:r}){return{$kind:`Upgrade`,Upgrade:{modules:e.map(e=>typeof e==`string`?e:T(new Uint8Array(e))),dependencies:t.map(e=>vt(e)),package:n,ticket:N(P,r)}}},MakeMoveVec({type:e,elements:t}){return{$kind:`MakeMoveVec`,MakeMoveVec:{type:e??null,elements:t.map(e=>N(P,e))}}},Intent({name:e,inputs:t={},data:n={}}){return{$kind:`$Intent`,$Intent:{name:e,inputs:Object.fromEntries(Object.entries(t).map(([e,t])=>[e,Array.isArray(t)?t.map(e=>N(P,e)):N(P,t)])),data:n}}}};function aa(e){return{$kind:`Pure`,Pure:{bytes:e instanceof Uint8Array?T(e):e.toBase64()}}}var oa={Pure:aa,ObjectRef({objectId:e,digest:t,version:n}){return{$kind:`Object`,Object:{$kind:`ImmOrOwnedObject`,ImmOrOwnedObject:{digest:t,version:n,objectId:D(e)}}}},SharedObjectRef({objectId:e,mutable:t,initialSharedVersion:n}){return{$kind:`Object`,Object:{$kind:`SharedObject`,SharedObject:{mutable:t,initialSharedVersion:n,objectId:D(e)}}}},ReceivingRef({objectId:e,digest:t,version:n}){return{$kind:`Object`,Object:{$kind:`Receiving`,Receiving:{digest:t,version:n,objectId:D(e)}}}},FundsWithdrawal({reservation:e,typeArg:t,withdrawFrom:n}){return{$kind:`FundsWithdrawal`,FundsWithdrawal:{reservation:e,typeArg:t,withdrawFrom:n}}}},sa=`0x0000000000000000000000000000000000000000000000000000000000000001`,ca=`0x0000000000000000000000000000000000000000000000000000000000000002`,la=`0x0000000000000000000000000000000000000000000000000000000000000006`,ua=`${ca}::sui::SUI`,da=`0x0000000000000000000000000000000000000000000000000000000000000005`,fa=`0x0000000000000000000000000000000000000000000000000000000000000008`,pa=`0x0000000000000000000000000000000000000000000000000000000000000403`;function ma(e){let t=e.split(`::`);if(t.length!==3)throw Error(`Invalid type name format: ${e}`);return{package:t[0],module:t[1],name:t[2]}}function ha(e){if(e.body.$kind!==`datatype`)return!1;let{package:t,module:n,name:r}=ma(e.body.datatype.typeName);return D(t)===`0x0000000000000000000000000000000000000000000000000000000000000002`&&n===`tx_context`&&r===`TxContext`}function ga(e){switch(e.$kind){case`address`:return I.Address;case`bool`:return I.Bool;case`u8`:return I.U8;case`u16`:return I.U16;case`u32`:return I.U32;case`u64`:return I.U64;case`u128`:return I.U128;case`u256`:return I.U256;case`vector`:{if(e.vector.$kind===`u8`)return I.byteVector().transform({input:e=>typeof e==`string`?new TextEncoder().encode(e):e,output:e=>e});let t=ga(e.vector);return t?I.vector(t):null}case`datatype`:{let{package:t,module:n,name:r}=ma(e.datatype.typeName),i=D(t);if(i===`0x0000000000000000000000000000000000000000000000000000000000000001`){if(n===`ascii`&&r===`String`||n===`string`&&r===`String`)return I.String;if(n===`option`&&r===`Option`){let t=ga(e.datatype.typeParameters[0]);return t?I.vector(t):null}}return i===`0x0000000000000000000000000000000000000000000000000000000000000002`&&n===`object`&&r===`ID`?I.Address:null}case`typeParameter`:case`unknown`:return null}}var _a=`CoinWithBalance`,va=_t(`0x2::sui::SUI`);function ya({type:e=va,balance:t,useGasCoin:n=!0}){let r=null;return i=>{if(r)return r;i.addIntentResolver(_a,Sa);let a=e===`gas`?e:_t(e);return r=i.add(ia.Intent({name:_a,inputs:{},data:{type:a===va&&n?`gas`:a,balance:BigInt(t),outputKind:`coin`}})),r}}function ba({type:e=va,balance:t,useGasCoin:n=!0}){let r=null;return i=>{if(r)return r;i.addIntentResolver(_a,Sa);let a=e===`gas`?e:_t(e);return r=i.add(ia.Intent({name:_a,inputs:{},data:{type:a===va&&n?`gas`:a,balance:BigInt(t),outputKind:`balance`}})),r}}var xa=j({type:M(),balance:Kt(),outputKind:Zt(Qt([`coin`,`balance`]))});async function Sa(e,t,n){let r=new Set,i=new Map,a=new Map;if(!e.sender)throw Error(`Sender must be set to resolve CoinWithBalance`);for(let[t,n]of e.commands.entries()){if(n.$kind!==`$Intent`||n.$Intent.name!==`CoinWithBalance`)continue;let{type:o,balance:s,outputKind:c}=N(xa,n.$Intent.data);if(s===0n){let n=o===`gas`?va:o;e.replaceCommand(t,ia.MoveCall({target:(c??`coin`)===`balance`?`0x2::balance::zero`:`0x2::coin::zero`,typeArguments:[n]}));continue}o!==`gas`&&r.add(o),i.set(o,(i.get(o)??0n)+s),a.has(o)||a.set(o,[]),a.get(o).push({balance:s,outputKind:c??`coin`})}if(i.has(`gas`)&&i.has(va))throw Error(`Cannot mix SUI CoinWithBalance intents that use the gas coin with ones that do not (useGasCoin: false). Use one or the other.`);let o=new Set;for(let t of e.inputs)t.Object?.ImmOrOwnedObject&&o.add(t.Object.ImmOrOwnedObject.objectId),t.UnresolvedObject?.objectId&&o.add(t.UnresolvedObject.objectId);let s=new Map,c=new Map,l=t.client;if(!l)throw Error(`Client must be provided to build or serialize transactions with CoinWithBalance intents`);await Promise.all([...[...r].map(async t=>{let{coins:n,addressBalance:r}=await Ca({coinType:t,balance:i.get(t),client:l,owner:e.sender,usedIds:o});s.set(t,n),c.set(t,r)}),i.has(`gas`)?await l.core.getBalance({owner:e.sender,coinType:va}).then(({balance:e})=>{c.set(`gas`,BigInt(e.addressBalance))}):null]);let u=new Map,d=new Map,f=new Set,p=new Map,m=0;for(;m<e.commands.length;){let t=e.commands[m];if(t.$kind!==`$Intent`||t.$Intent.name!==`CoinWithBalance`){m++;continue}let{type:n,balance:r}=t.$Intent.data,o=n===`gas`?va:n,l=i.get(n),h=c.get(n)??0n,g=[],_,v=a.get(n)??[];if(v.every(e=>e.outputKind===`balance`)&&h>=l)g.push(ia.MoveCall({target:`0x2::balance::redeem_funds`,typeArguments:[o],arguments:[e.addInput(`withdrawal`,oa.FundsWithdrawal({reservation:{$kind:`MaxAmountU64`,MaxAmountU64:String(r)},typeArg:{$kind:`Balance`,Balance:o},withdrawFrom:{$kind:`Sender`,Sender:!0}}))]})),_={$kind:`NestedResult`,NestedResult:[m+g.length-1,0]};else{if(!p.has(n)){let t=v,r=[];if(h>=l)f.add(n),g.push(ia.MoveCall({target:`0x2::coin::redeem_funds`,typeArguments:[o],arguments:[e.addInput(`withdrawal`,oa.FundsWithdrawal({reservation:{$kind:`MaxAmountU64`,MaxAmountU64:String(l)},typeArg:{$kind:`Balance`,Balance:o},withdrawFrom:{$kind:`Sender`,Sender:!0}}))]})),r.push({$kind:`Result`,Result:m+g.length-1});else if(n===`gas`)r.push({$kind:`GasCoin`,GasCoin:!0});else{let t=s.get(n),i=t.reduce((e,t)=>e+BigInt(t.balance),0n),a=l>i?l-i:0n;d.set(n,i+a===l);for(let n of t)r.push(e.addInput(`object`,oa.ObjectRef({objectId:n.objectId,digest:n.digest,version:n.version})));a>0n&&(f.add(n),g.push(ia.MoveCall({target:`0x2::coin::redeem_funds`,typeArguments:[o],arguments:[e.addInput(`withdrawal`,oa.FundsWithdrawal({reservation:{$kind:`MaxAmountU64`,MaxAmountU64:String(a)},typeArg:{$kind:`Balance`,Balance:o},withdrawFrom:{$kind:`Sender`,Sender:!0}}))]})),r.push({$kind:`Result`,Result:m+g.length-1}))}let i=r[0],a=r.slice(1);for(let e=0;e<a.length;e+=500)g.push(ia.MergeCoins(i,a.slice(e,e+500)));u.set(n,i);let c=m+g.length;g.push(ia.SplitCoins(i,t.map(t=>e.addInput(`pure`,oa.Pure(I.u64().serialize(t.balance))))));let _=[];for(let e=0;e<t.length;e++){let n={$kind:`NestedResult`,NestedResult:[c,e]};t[e].outputKind===`balance`?(g.push(ia.MoveCall({target:`0x2::coin::into_balance`,typeArguments:[o],arguments:[n]})),_.push({$kind:`NestedResult`,NestedResult:[m+g.length-1,0]})):_.push(n)}p.set(n,{results:_,nextIntent:0})}let t=p.get(n);_=t.results[t.nextIntent++]}e.replaceCommand(m,g,_),m+=g.length}for(let[t,n]of u){if(t===`gas`&&!f.has(t))continue;let r=t===`gas`?va:t,i=a.get(t)?.some(e=>e.outputKind===`balance`),o=f.has(t);i||o?e.commands.push(ia.MoveCall({target:`0x2::coin::send_funds`,typeArguments:[r],arguments:[n,e.addInput(`pure`,oa.Pure(I.Address.serialize(e.sender)))]})):d.get(t)&&e.commands.push(ia.MoveCall({target:`0x2::coin::destroy_zero`,typeArguments:[r],arguments:[n]}))}return n()}async function Ca({coinType:e,balance:t,client:n,owner:r,usedIds:i}){let a=t,o=[],s=n.core.getBalance({owner:r,coinType:e}).then(({balance:e})=>(a-=BigInt(e.addressBalance),e)),[c,l]=await Promise.all([u(),s]);if(BigInt(l.balance)<t)throw Error(`Insufficient balance of ${e} for owner ${r}. Required: ${t}, Available: ${t-a}`);return{coins:c,balance:BigInt(l.coinBalance),addressBalance:BigInt(l.addressBalance),coinBalance:BigInt(l.coinBalance)};async function u(t=null){let{objects:c,hasNextPage:l,cursor:d}=await n.core.listCoins({owner:r,coinType:e,cursor:t});await s;for(let e of c)i.has(e.objectId)||(o.push(e),a-=BigInt(e.balance));return a>0n&&l?u(d):o}}function wa(e){return nn(Object.entries(e).map(([e,t])=>j({[e]:t})))}var Ta=wa({GasCoin:k(!0),Input:on(Xt(),zt()),Result:on(Xt(),zt()),NestedResult:en([on(Xt(),zt()),on(Xt(),zt())])}),Ea=j({budget:A(pn),price:A(pn),owner:A(un),payment:A(O(hn))}),Da=wa({MoveCall:j({package:dn,module:M(),function:M(),typeArguments:O(M()),arguments:O(Ta)}),TransferObjects:j({objects:O(Ta),address:Ta}),SplitCoins:j({coin:Ta,amounts:O(Ta)}),MergeCoins:j({destination:Ta,sources:O(Ta)}),Publish:j({modules:O(fn),dependencies:O(dn)}),MakeMoveVec:j({type:A(M()),elements:O(Ta)}),Upgrade:j({modules:O(fn),dependencies:O(dn),package:dn,ticket:Ta}),$Intent:j({name:M(),inputs:$t(M(),nn([Ta,O(Ta)])),data:$t(M(),rn())})}),Oa=wa({Object:wa({ImmOrOwnedObject:hn,SharedObject:j({objectId:dn,initialSharedVersion:pn,mutable:qt()}),Receiving:hn}),Pure:j({bytes:fn}),UnresolvedPure:j({value:rn()}),UnresolvedObject:j({objectId:dn,version:Zt(A(pn)),digest:Zt(A(M())),initialSharedVersion:Zt(A(pn)),mutable:Zt(A(qt()))}),FundsWithdrawal:bn}),ka=wa({None:k(!0),Epoch:pn,ValidDuring:Cn}),Aa=j({version:k(2),sender:Yt(un),expiration:Yt(ka),gasData:Ea,inputs:O(Oa),commands:O(Da),digest:Zt(A(M()))}),ja=class extends Error{},Ma=class extends ja{constructor(e,t){super(e,{cause:t?.cause}),this.executionError=t?.executionError}};function Na(e,t,n){let r=I.Address.serialize(e).toBytes(),i=I.TypeTag.serialize(t).toBytes(),a=I.u64().serialize(n.length).toBytes(),o=ea.create({dkLen:32});return o.update(new Uint8Array([240])),o.update(r),o.update(a),o.update(n),o.update(i),`0x${Se(o.digest().slice(0,32))}`}var Pa=D(`0xacc`),Fa=An.parseFromStr(`0x2::accumulator::Key<0x2::balance::Balance<0x2::sui::SUI>>`),Ia=new Uint8Array([172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172]);function La(e,t){let n=xe(Na(Pa,Fa,I.Address.serialize(e).toBytes()).slice(2)),r=ye(t);if(r.length!==32)throw Error(`Invalid chain identifier length: expected 32 bytes, got ${r.length}`);let i=new Uint8Array(32);for(let e=0;e<32;e++)i[e]=n[e]^r[e];return`0x${Se(i)}`}function Ra(e,t,n,r){let i=new Uint8Array(32),a=new DataView(i.buffer);a.setBigUint64(0,e,!0);let o=Number(r);if(!Number.isSafeInteger(o)||o<0||o>4294967295)throw Error(`Epoch ${r} out of u32 range for coin reservation digest`);return a.setUint32(8,o,!0),i.set(Ia,12),N(hn,{objectId:La(t,n),version:`0`,digest:ve(i)})}var za=50,Ba=1000n,Va=5e10;function Ha(e,t=1n){let n=Ba*BigInt(t),r=BigInt(e.computationCost)+n,i=r+BigInt(e.storageCost)-BigInt(e.storageRebate);return String(i>r?i:r)}function Ua(e){if(!e.client)throw Error(`No sui client passed to Transaction#build, but transaction data was not sufficient to build offline.`);return e.client}async function Wa(e,t,n){let r=Ua(t),i=!t.onlyTransactionKind&&!e.gasData.price,a=!t.onlyTransactionKind&&!e.gasData.payment,o=e.gasData.owner??e.sender,s=!1,c=0n;e.mapArguments(e=>(e.$kind===`GasCoin`&&(s=!0),e));let l=o?D(o):null;for(let t of e.inputs){if(t.$kind!==`FundsWithdrawal`||!l||_t(t.FundsWithdrawal.typeArg.Balance)!==ua)continue;let n=t.FundsWithdrawal.withdrawFrom.Sender?e.sender:o;n&&D(n)===l&&t.FundsWithdrawal.reservation.$kind===`MaxAmountU64`&&(c+=BigInt(t.FundsWithdrawal.reservation.MaxAmountU64))}let u=!t.onlyTransactionKind&&!e.expiration&&!e.gasData.budget,d=i||a&&s||u,f=a&&s||u,[,p,m,h,g]=await Promise.all([Xa(e,r),d?r.core.getCurrentSystemState():null,a&&o?r.core.getBalance({owner:o}):null,a&&o?r.core.listCoins({owner:o,coinType:ua}):null,f?r.core.getChainIdentifier():null]);if(await Ya(e,r),!t.onlyTransactionKind){let t=p?.systemState??null,n=g?.chainIdentifier??null;if(t&&!e.gasData.price&&(e.gasData.price=t.referenceGasPrice),await Ga(e,r,u&&t&&n?Ja(t,n):void 0),a){if(!m||!h)throw Error(`Could not resolve gas payment: a gas owner or sender must be set to fetch balance and coins.`);Ka({transactionData:e,balance:m,coins:h,usesGasCoin:s,withdrawals:c,gasPayer:o,chainIdentifier:n,epoch:t?.epoch??null})}!e.expiration&&e.gasData.payment?.length===0&&await qa(e,r,t,n)}return await n()}async function Ga(e,t,n){if(e.gasData.budget)return;let r=await t.core.simulateTransaction({transaction:e.build({overrides:{gasData:{budget:String(Va),payment:[]},...n&&{expiration:n}}}),include:{effects:!0}});if(r.$kind===`FailedTransaction`){let e=r.FailedTransaction.status.error??void 0;throw new Ma(`Transaction resolution failed: ${e?.message??`Unknown error`}`,{cause:r,executionError:e})}e.gasData.budget=Ha(r.Transaction.effects.gasUsed,e.gasData.price?String(e.gasData.price):void 0)}function Ka({transactionData:e,balance:t,coins:n,usesGasCoin:r,withdrawals:i,gasPayer:a,chainIdentifier:o,epoch:s}){let c=BigInt(e.gasData.budget),l=BigInt(t.balance.addressBalance);if(c===0n||!r&&l>=c+i){e.gasData.payment=[];return}let u=n.objects.filter(t=>!e.inputs.find(e=>e.Object?.ImmOrOwnedObject?t.objectId===e.Object.ImmOrOwnedObject.objectId:!1)),d=u.map(e=>({objectId:e.objectId,digest:e.digest,version:e.version})),f=l-i;if(r&&f>0n&&o&&s)e.gasData.payment=[Ra(f,a,o,s),...d];else if(u.length)e.gasData.payment=d;else throw Error(`No valid gas coins found for the transaction.`)}async function qa(e,t,n,r=null){let[i,a]=await Promise.all([r??t.core.getChainIdentifier().then(e=>e.chainIdentifier),n??t.core.getCurrentSystemState().then(e=>e.systemState)]);e.expiration=Ja(a,i)}function Ja(e,t){let n=BigInt(e.epoch);return{$kind:`ValidDuring`,ValidDuring:{minEpoch:String(n),maxEpoch:String(n+1n),minTimestamp:null,maxTimestamp:null,chain:t,nonce:Math.random()*4294967296>>>0}}}async function Ya(e,t){let n=e.inputs.filter(e=>e.UnresolvedObject&&!(e.UnresolvedObject.version||e.UnresolvedObject?.initialSharedVersion)),r=[...new Set(n.map(e=>vt(e.UnresolvedObject.objectId)))],i=r.length?Ce(r,za):[],a=(await Promise.all(i.map(e=>t.core.getObjects({objectIds:e})))).flatMap(e=>e.objects),o=new Map(r.map((e,t)=>[e,a[t]])),s=Array.from(o).filter(([e,t])=>t instanceof Error).map(([e,t])=>t.message);if(s.length)throw Error(`The following input objects are invalid: ${s.join(`, `)}`);let c=a.map(e=>{if(e instanceof Error)throw Error(`Failed to fetch object: ${e.message}`);let t=e.owner,n=t&&typeof t==`object`?t.$kind===`Shared`?t.Shared.initialSharedVersion:t.$kind===`ConsensusAddressOwner`?t.ConsensusAddressOwner.startVersion:null:null;return{objectId:e.objectId,digest:e.digest,version:e.version,initialSharedVersion:n}}),l=new Map(r.map((e,t)=>[e,c[t]]));for(let[t,n]of e.inputs.entries()){if(!n.UnresolvedObject)continue;let r,i=D(n.UnresolvedObject.objectId),a=l.get(i);n.UnresolvedObject.initialSharedVersion??a?.initialSharedVersion?r=oa.SharedObjectRef({objectId:i,initialSharedVersion:n.UnresolvedObject.initialSharedVersion||a?.initialSharedVersion,mutable:n.UnresolvedObject.mutable||Za(e,t)}):Qa(e,t)&&(r=oa.ReceivingRef({objectId:i,digest:n.UnresolvedObject.digest??a?.digest,version:n.UnresolvedObject.version??a?.version})),e.inputs[e.inputs.indexOf(n)]=r??oa.ObjectRef({objectId:i,digest:n.UnresolvedObject.digest??a?.digest,version:n.UnresolvedObject.version??a?.version})}}async function Xa(e,t){let{inputs:n,commands:r}=e,i=[],a=new Set;r.forEach(t=>{if(t.MoveCall){if(t.MoveCall._argumentTypes)return;if(t.MoveCall.arguments.map(t=>t.$kind===`Input`?e.inputs[t.Input]:null).some(e=>e?.UnresolvedPure||e?.UnresolvedObject&&typeof e?.UnresolvedObject.mutable!=`boolean`)){let e=`${t.MoveCall.package}::${t.MoveCall.module}::${t.MoveCall.function}`;a.add(e),i.push(t.MoveCall)}}});let o=new Map;a.size>0&&await Promise.all([...a].map(async e=>{let[n,r,i]=e.split(`::`),{function:a}=await t.core.getMoveFunction({packageId:n,moduleName:r,name:i});o.set(e,a.parameters)})),i.length&&await Promise.all(i.map(async e=>{let t=o.get(`${e.package}::${e.module}::${e.function}`);t&&(e._argumentTypes=t.length>0&&ha(t.at(-1))?t.slice(0,t.length-1):t)})),r.forEach(e=>{if(!e.MoveCall)return;let t=e.MoveCall,r=`${t.package}::${t.module}::${t.function}`,i=t._argumentTypes;if(i){if(i.length!==e.MoveCall.arguments.length)throw Error(`Incorrect number of arguments for ${r}`);i.forEach((e,r)=>{let i=t.arguments[r];if(i.$kind!==`Input`)return;let a=n[i.Input];if(!a.UnresolvedPure&&!a.UnresolvedObject)return;let o=a.UnresolvedPure?.value??a.UnresolvedObject?.objectId,s=ga(e.body);if(s){i.type=`pure`,n[n.indexOf(a)]=oa.Pure(s.serialize(o));return}if(typeof o!=`string`)throw Error(`Expect the argument to be an object id string, got ${JSON.stringify(o,null,2)}`);i.type=`object`;let c=a.UnresolvedPure?{$kind:`UnresolvedObject`,UnresolvedObject:{objectId:o}}:a;n[i.Input]=c})}})}function Za(e,t){let n=!1;return e.getInputUses(t,(e,t)=>{if(t.MoveCall&&t.MoveCall._argumentTypes){let r=t.MoveCall.arguments.indexOf(e);n=t.MoveCall._argumentTypes[r].reference!==`immutable`||n}(t.$kind===`MakeMoveVec`||t.$kind===`MergeCoins`||t.$kind===`SplitCoins`||t.$kind===`TransferObjects`)&&(n=!0)}),n}function Qa(e,t){let n=!1;return e.getInputUses(t,(e,t)=>{if(t.MoveCall&&t.MoveCall._argumentTypes){let r=t.MoveCall.arguments.indexOf(e);n=eo(t.MoveCall._argumentTypes[r])||n}}),n}var $a=`0x0000000000000000000000000000000000000000000000000000000000000002::transfer::Receiving`;function eo(e){return e.body.$kind===`datatype`?e.body.datatype.typeName===$a:!1}function to(e,t){return!!(e.inputs.some(e=>e.UnresolvedObject||e.UnresolvedPure)||!t.onlyTransactionKind&&(!e.gasData.price||!e.gasData.budget||!e.gasData.payment||e.gasData.payment.length===0&&!e.expiration))}async function no(e,t,n){return ao(e),to(e,t)?(io(t).core?.resolveTransactionPlugin()??Wa)(e,t,async()=>{await ro(e),await n()}):(await ro(e),n())}function ro(e){e.inputs.forEach((e,t)=>{if(e.$kind!==`Object`&&e.$kind!==`Pure`&&e.$kind!==`FundsWithdrawal`)throw Error(`Input at index ${t} has not been resolved. Expected a Pure, Object, or FundsWithdrawal input, but found ${JSON.stringify(e)}`)})}function io(e){if(!e.client)throw Error(`No sui client passed to Transaction#build, but transaction data was not sufficient to build offline.`);return e.client}function ao(e){for(let t of e.commands)switch(t.$kind){case`SplitCoins`:t.SplitCoins.amounts.forEach(t=>{oo(t,I.U64,e)});break;case`TransferObjects`:oo(t.TransferObjects.address,I.Address,e);break}}function oo(e,t,n){if(e.$kind!==`Input`)return;let r=n.inputs[e.Input];r.$kind===`UnresolvedPure`&&(n.inputs[e.Input]=oa.Pure(t.serialize(r.UnresolvedPure.value)))}function so(e){function t(t){return e(t)}return t.system=e=>{let n=e?.mutable;return t(n===void 0?{$kind:`UnresolvedObject`,UnresolvedObject:{objectId:da,initialSharedVersion:1}}:oa.SharedObjectRef({objectId:da,initialSharedVersion:1,mutable:n}))},t.clock=()=>t(oa.SharedObjectRef({objectId:la,initialSharedVersion:1,mutable:!1})),t.random=()=>t({$kind:`UnresolvedObject`,UnresolvedObject:{objectId:fa,mutable:!1}}),t.denyList=e=>t({$kind:`UnresolvedObject`,UnresolvedObject:{objectId:pa,mutable:e?.mutable}}),t.option=({type:e,value:t})=>n=>n.moveCall({typeArguments:[e],target:`${sa}::option::${t===null?`none`:`some`}`,arguments:t===null?[]:[n.object(t)]}),t}function co(e){function t(t,n){if(typeof t==`string`)return e(Wr(t).serialize(n));if(t instanceof Uint8Array||Ge(t))return e(t);throw Error(`tx.pure must be called either a bcs type name, or a serialized bcs value`)}return t.u8=t=>e(I.U8.serialize(t)),t.u16=t=>e(I.U16.serialize(t)),t.u32=t=>e(I.U32.serialize(t)),t.u64=t=>e(I.U64.serialize(t)),t.u128=t=>e(I.U128.serialize(t)),t.u256=t=>e(I.U256.serialize(t)),t.bool=t=>e(I.Bool.serialize(t)),t.string=t=>e(I.String.serialize(t)),t.address=t=>e(I.Address.serialize(t)),t.id=t.address,t.vector=(t,n)=>e(I.vector(Wr(t)).serialize(n)),t.option=(t,n)=>e(I.option(Wr(t)).serialize(n)),t}var lo=`2.17.0`,uo=`/`,fo={"Mvr-Source":`@mysten/sui@${lo}`},po=class{#e;#t;#n;#r;constructor({cache:e,url:t,pageSize:n=50,overrides:r}){this.#e=e,this.#t=t,this.#n=n,this.#r={packages:r?.packages,types:r?.types},mo(this.#r)}get#i(){return this.#e.readSync([`#mvrPackageDataLoader`,this.#t??``],()=>{let e=new Te(async e=>{if(!this.#t)throw Error(`MVR Api URL is not set for the current client (resolving ${e.join(`, `)})`);let t=await this.#o(e);return e.map(e=>t[e]??Error(`Failed to resolve package: ${e}`))}),t=this.#r?.packages;if(t)for(let[n,r]of Object.entries(t))e.prime(n,r);return e})}get#a(){return this.#e.readSync([`#mvrTypeDataLoader`,this.#t??``],()=>{let e=new Te(async e=>{if(!this.#t)throw Error(`MVR Api URL is not set for the current client (resolving ${e.join(`, `)})`);let t=await this.#s(e);return e.map(e=>t[e]??Error(`Failed to resolve type: ${e}`))}),t=this.#r?.types;if(t)for(let[n,r]of Object.entries(t))e.prime(n,r);return e})}async#o(e){if(e.length===0)return{};let t=Ce(e,this.#n),n={};return await Promise.all(t.map(async e=>{let t=await this.#c(`/v1/resolution/bulk`,{names:e});if(t?.resolution)for(let e of Object.keys(t?.resolution)){let r=t.resolution[e]?.package_id;r&&(n[e]=r)}})),n}async#s(e){if(e.length===0)return{};let t=Ce(e,this.#n),n={};return await Promise.all(t.map(async e=>{let t=await this.#c(`/v1/struct-definition/bulk`,{types:e});if(t?.resolution)for(let e of Object.keys(t?.resolution)){let r=t.resolution[e]?.type_tag;r&&(n[e]=r)}})),n}async#c(e,t){if(!this.#t)throw Error(`MVR Api URL is not set for the current client`);let n=await fetch(`${this.#t}${e}`,{method:`POST`,headers:{"Content-Type":`application/json`,...fo},body:JSON.stringify(t)});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(`Failed to resolve types: ${e?.message}`)}return n.json()}async resolvePackage({package:e}){return _o(e)?{package:await this.#i.load(e)}:{package:e}}async resolveType({type:e}){if(!_o(e))return{type:e};let t=[...ho(e)],n=await this.#a.loadMany(t),r={};for(let e=0;e<t.length;e++){let i=n[e];if(i instanceof Error)throw i;r[t[e]]=i}return{type:go(e,r)}}async resolve({types:e=[],packages:t=[]}){let n=new Set;for(let t of e??[])ho(t,n);let r=[...n],[i,a]=await Promise.all([r.length>0?this.#a.loadMany(r):[],t.length>0?this.#i.loadMany(t):[]]),o={...this.#r?.types};for(let[e,t]of r.entries()){let n=i[e];if(n instanceof Error)throw n;o[t]=n}let s={};for(let t of e??[])s[t]={type:go(t,o)};let c={};for(let[e,n]of(t??[]).entries()){let t=this.#r?.packages?.[n]??a[e];if(t instanceof Error)throw t;c[n]={package:t}}return{types:s,packages:c}}};function mo(e){if(e?.packages)for(let[t,n]of Object.entries(e.packages)){if(!c(t))throw Error(`Invalid package name: ${t}`);if(!st(D(n)))throw Error(`Invalid package ID: ${n}`)}if(e?.types)for(let[t,n]of Object.entries(e.types)){if(gt(t).typeParams.length>0)throw Error(`Type overrides must be first-level only. If you want to supply generic types, just pass each type individually.`);if(!st(gt(n).address))throw Error(`Invalid type: ${n}`)}}function ho(e,t=new Set){if(typeof e==`string`&&!_o(e))return t;if(typeof e==`string`&&e.startsWith(`vector<`)&&e.endsWith(`>`))return ho(e.slice(7,-1),t);let n=vo(e)?e:gt(e);_o(n.address)&&t.add(`${n.address}::${n.module}::${n.name}`);for(let e of n.typeParams)ho(e,t);return t}function go(e,t){if(typeof e==`string`&&!e.includes(`::`))return e;if(typeof e==`string`&&e.startsWith(`vector<`)&&e.endsWith(`>`))return`vector<${go(e.slice(7,-1),t)}>`;let n=vo(e)?e:gt(e),r=t[`${n.address}::${n.module}::${n.name}`];return _t({...n,address:r?r.split(`::`)[0]:n.address,typeParams:n.typeParams.map(e=>go(e,t))})}function _o(e){return e.includes(uo)||e.includes(`@`)||e.includes(`.sui`)}function vo(e){return typeof e==`object`&&`address`in e&&`module`in e&&`name`in e&&`typeParams`in e}function yo(e){let t=new Set,n=new Set;for(let r of e.commands)switch(r.$kind){case`MakeMoveVec`:r.MakeMoveVec.type&&xo([r.MakeMoveVec.type]).forEach(e=>{n.add(e)});break;case`MoveCall`:let e=r.MoveCall,i=e.package.split(`::`)[0];if(_o(i)){if(!c(i))throw Error(`Invalid package name: ${i}`);t.add(i)}xo(e.typeArguments??[]).forEach(e=>{n.add(e)});break;default:break}return{packages:[...t],types:[...n]}}function bo(e,t){for(let n of e.commands){if(n.MakeMoveVec?.type){if(!_o(n.MakeMoveVec.type))continue;if(!t.types[n.MakeMoveVec.type])throw Error(`No resolution found for type: ${n.MakeMoveVec.type}`);n.MakeMoveVec.type=t.types[n.MakeMoveVec.type].type}let e=n.MoveCall;if(!e)continue;let r=e.package.split(`::`),i=r[0];if(_o(i)&&!t.packages[i])throw Error(`No address found for package: ${i}`);_o(i)&&(r[0]=t.packages[i].package,e.package=r.join(`::`));let a=e.typeArguments;if(a){for(let e=0;e<a.length;e++)if(_o(a[e])){if(!t.types[a[e]])throw Error(`No resolution found for type: ${a[e]}`);a[e]=t.types[a[e]].type}e.typeArguments=a}}}function xo(e){let t=new Set;for(let n of e)if(_o(n)){if(!l(n))throw Error(`Invalid type with names: ${n}`);t.add(n)}return t}function So(){return async(e,t,n)=>{let r=yo(e);if(r.types.length===0&&r.packages.length===0)return n();if(!t.client)throw Error(`Transaction contains MVR names but no client was provided to resolve them. Please pass a client to Transaction#build()`);bo(e,await t.client.core.mvr.resolve({types:r.types,packages:r.packages})),await n()}}function Co(e,t=1/0){let n={$kind:`Result`,get Result(){return typeof e==`function`?e():e}},r=[],i=t=>r[t]??={$kind:`NestedResult`,get NestedResult(){return[typeof e==`function`?e():e,t]}};return new Proxy(n,{set(){throw Error(`The transaction result is a proxy, and does not support setting properties directly`)},get(e,n){if(n in e)return Reflect.get(e,n);if(n===Symbol.iterator)return function*(){let e=0;for(;e<t;)yield i(e),e++};if(typeof n==`symbol`)return;let r=parseInt(n,10);if(!(Number.isNaN(r)||r<0))return i(r)}})}var wo=Symbol.for(`@mysten/transaction`);function To(e){return!!e&&typeof e==`object`&&e[wo]===!0}var Eo=class e{#e;#t;#n=new Map;#r=[];#i=[];#a=new Set;#o=new Set;#s=new Map;static fromKind(t){let n=new e;return n.#c=ra.fromKindBytes(typeof t==`string`?w(t):t),n.#r=n.#c.inputs.slice(),n.#i=n.#c.commands.slice(),n.#a=new Set(n.#i.map((e,t)=>t)),n}static from(t){let n=new e;if(To(t)?n.#c=ra.restore(t.getData()):typeof t!=`string`||!t.startsWith(`{`)?n.#c=ra.fromBytes(typeof t==`string`?w(t):t):n.#c=ra.restore(JSON.parse(t)),n.#r=n.#c.inputs.slice(),n.#i=n.#c.commands.slice(),n.#a=new Set(n.#i.map((e,t)=>t)),!n.isPreparedForSerialization({supportedIntents:[`CoinWithBalance`]}))throw Error("Transaction has unresolved intents or async thunks. Call `prepareForSerialization` before copying.");return n.#c.commands.some(e=>e.$Intent?.name===`CoinWithBalance`)&&n.addIntentResolver(_a,Sa),n}addSerializationPlugin(e){this.#e.push(e)}addBuildPlugin(e){this.#t.push(e)}addIntentResolver(e,t){if(this.#n.has(e)&&this.#n.get(e)!==t)throw Error(`Intent resolver for ${e} already exists`);this.#n.set(e,t)}setSender(e){this.#c.sender=e}setSenderIfNotSet(e){this.#c.sender||(this.#c.sender=e)}setExpiration(e){this.#c.expiration=e?N(wn,e):null}setGasPrice(e){this.#c.gasData.price=String(e)}setGasBudget(e){this.#c.gasData.budget=String(e)}setGasBudgetIfNotSet(e){this.#c.gasData.budget??(this.#c.gasData.budget=String(e))}setGasOwner(e){this.#c.gasData.owner=e}setGasPayment(e){this.#c.gasData.payment=e.map(e=>N(hn,e))}#c;getData(){return this.#c.snapshot()}get[wo](){return!0}get pure(){return Object.defineProperty(this,`pure`,{enumerable:!1,value:co(e=>Ge(e)?this.#d(`pure`,{$kind:`Pure`,Pure:{bytes:e.toBase64()}}):this.#d(`pure`,Gt(Sn,e)?N(Sn,e):e instanceof Uint8Array?oa.Pure(e):{$kind:`UnresolvedPure`,UnresolvedPure:{value:e}}))}),this.pure}constructor(){this.object=so(e=>{if(typeof e==`function`)return this.object(this.add(e));if(typeof e==`object`&&Gt(P,e))return e;let t=En(e),n=this.#c.inputs.find(e=>t===En(e));return n?.Object?.SharedObject&&typeof e==`object`&&e.Object?.SharedObject&&(n.Object.SharedObject.mutable=n.Object.SharedObject.mutable||e.Object.SharedObject.mutable),n?{$kind:`Input`,Input:this.#c.inputs.indexOf(n),type:`object`}:this.#d(`object`,typeof e==`string`?{$kind:`UnresolvedObject`,UnresolvedObject:{objectId:D(e)}}:e)}),this.#c=new ra,this.#t=[],this.#e=[]}get gas(){return{$kind:`GasCoin`,GasCoin:!0}}coin({type:e,balance:t,useGasCoin:n}){return this.add(ya({type:e,balance:t,useGasCoin:n}))}balance({type:e,balance:t,useGasCoin:n}){return this.add(ba({type:e,balance:t,useGasCoin:n}))}objectRef(...e){return this.object(oa.ObjectRef(...e))}receivingRef(...e){return this.object(oa.ReceivingRef(...e))}sharedObjectRef(...e){return this.object(oa.SharedObjectRef(...e))}#l(){let t=new e;return t.#c=this.#c,t.#e=this.#e,t.#t=this.#t,t.#n=this.#n,t.#o=this.#o,t.#a=new Set(this.#a),t.#s=this.#s,this.#r.push(t.#r),this.#i.push(t.#i),t}add(e){if(typeof e==`function`){if(this.#s.has(e))return this.#s.get(e);let t=this.#l(),n=e(t);if(!(n&&typeof n==`object`&&`then`in n))return this.#a=t.#a,this.#s.set(e,n),n;let r=this.#u({$kind:`$Intent`,$Intent:{name:`AsyncTransactionThunk`,inputs:{},data:{resultIndex:this.#c.commands.length,result:null}}});this.#o.add(Promise.resolve(n).then(e=>{r.$Intent.data.result=e}));let i=Co(()=>r.$Intent.data.resultIndex);return this.#s.set(e,i),i}else this.#u(e);return Co(this.#c.commands.length-1)}#u(e){let t=this.#c.commands.length;return this.#i.push(e),this.#a.add(t),this.#c.commands.push(e),this.#c.mapCommandArguments(t,e=>{if(e.$kind===`Result`&&!this.#a.has(e.Result))throw Error(`Result { Result: ${e.Result} } is not available to use in the current transaction`);if(e.$kind===`NestedResult`&&!this.#a.has(e.NestedResult[0]))throw Error(`Result { NestedResult: [${e.NestedResult[0]}, ${e.NestedResult[1]}] } is not available to use in the current transaction`);if(e.$kind===`Input`&&e.Input>=this.#c.inputs.length)throw Error(`Input { Input: ${e.Input} } references an input that does not exist in the current transaction`);return e}),e}#d(e,t){return this.#r.push(t),this.#c.addInput(e,t)}#f(e){return Ge(e)?this.pure(e):this.#p(e)}#p(e){if(typeof e==`function`){let t=this.add(e);return typeof t==`function`?this.#p(t):N(P,t)}return N(P,e)}splitCoins(e,t){let n=ia.SplitCoins(typeof e==`string`?this.object(e):this.#p(e),t.map(e=>typeof e==`number`||typeof e==`bigint`||typeof e==`string`?this.pure.u64(e):this.#f(e)));return this.#u(n),Co(this.#c.commands.length-1,t.length)}mergeCoins(e,t){return this.add(ia.MergeCoins(this.object(e),t.map(e=>this.object(e))))}publish({modules:e,dependencies:t}){return this.add(ia.Publish({modules:e,dependencies:t}))}upgrade({modules:e,dependencies:t,package:n,ticket:r}){return this.add(ia.Upgrade({modules:e,dependencies:t,package:n,ticket:this.object(r)}))}moveCall({arguments:e,...t}){return this.add(ia.MoveCall({...t,arguments:e?.map(e=>this.#f(e))}))}transferObjects(e,t){return this.add(ia.TransferObjects(e.map(e=>this.object(e)),typeof t==`string`?this.pure.address(t):this.#f(t)))}makeMoveVec({type:e,elements:t}){return this.add(ia.MakeMoveVec({type:e,elements:t.map(e=>this.object(e))}))}withdrawal({amount:e,type:t}){let n={$kind:`FundsWithdrawal`,FundsWithdrawal:{reservation:{$kind:`MaxAmountU64`,MaxAmountU64:String(e)},typeArg:{$kind:`Balance`,Balance:t??`0x2::sui::SUI`},withdrawFrom:{$kind:`Sender`,Sender:!0}}};return this.#d(`object`,n)}serialize(){return JSON.stringify(Yr(this.#c.snapshot()))}async toJSON(e={}){await this.prepareForSerialization(e);let t=this.isFullyResolved();return JSON.stringify(N(Aa,t?{...this.#c.snapshot(),digest:this.#c.getDigest()}:this.#c.snapshot()),(e,t)=>typeof t==`bigint`?t.toString():t,2)}async sign(e){let{signer:t,...n}=e,r=await this.build(n);return t.signTransaction(r)}isPreparedForSerialization(e={}){return!(this.#o.size>0||this.#c.commands.some(t=>t.$Intent&&!e.supportedIntents?.includes(t.$Intent.name)))}isFullyResolved(){return!(!this.isPreparedForSerialization()||!this.#c.sender||to(this.#c,{}))}async build(e={}){return await this.prepareForSerialization(e),await this.#m(e),this.#c.build({onlyTransactionKind:e.onlyTransactionKind})}async getDigest(e={}){return await this.prepareForSerialization(e),await this.#m(e),this.#c.getDigest()}async#m(e){if(!e.onlyTransactionKind&&!this.#c.sender)throw Error(`Missing transaction sender`);await this.#h([...this.#t,no],e)}async#h(e,t){try{let n=r=>{if(r>=e.length)return()=>{};let i=e[r];return async()=>{let e=n(r+1),a=!1,o=!1;if(await i(this.#c,t,async()=>{if(a)throw Error(`next() was call multiple times in TransactionPlugin ${r}`);a=!0,await e(),o=!0}),!a)throw Error(`next() was not called in TransactionPlugin ${r}`);if(!o)throw Error(`next() was not awaited in TransactionPlugin ${r}`)}};await n(0)()}finally{this.#r=this.#c.inputs.slice(),this.#i=this.#c.commands.slice(),this.#a=new Set(this.#i.map((e,t)=>t))}}async#g(){for(;this.#o.size>0;){let e=Promise.all(this.#o);this.#o.clear(),this.#o.add(e),await e,this.#o.delete(e)}}#_(){let e=this.#c.commands,t=this.#c.inputs,n=this.#i.flat(1/0),r=this.#r.flat(1/0);if(n.length!==e.length)throw Error(`Unexpected number of commands found in transaction data`);if(r.length!==t.length)throw Error(`Unexpected number of inputs found in transaction data`);let i=n.filter(e=>e.$Intent?.name!==`AsyncTransactionThunk`);this.#c.commands=i,this.#c.inputs=r,this.#i=i,this.#r=r,this.#a=new Set(i.map((e,t)=>t));function a(t){let n=e[t];if(n.$Intent?.name===`AsyncTransactionThunk`){let e=n.$Intent.data.result;if(e==null)throw Error(`AsyncTransactionThunk has not been resolved`);return a(e.Result)}let r=i.indexOf(n);if(r===-1)throw Error(`Unable to find original index for command`);return r}this.#c.mapArguments(e=>{if(e.$kind===`Input`){let n=r.indexOf(t[e.Input]);if(n===-1)throw Error(`Input has not been resolved`);return{...e,Input:n}}else if(e.$kind===`Result`){let t=a(e.Result);return{...e,Result:t}}else if(e.$kind===`NestedResult`){let t=a(e.NestedResult[0]);return{...e,NestedResult:[t,e.NestedResult[1]]}}return e});for(let[t,n]of e.entries())if(n.$Intent?.name===`AsyncTransactionThunk`)try{n.$Intent.data.resultIndex=a(t)}catch{}}async prepareForSerialization(e){await this.#g(),this.#_();let t=new Set;for(let e of this.#c.commands)e.$Intent&&t.add(e.$Intent.name);let n=[...this.#e];for(let r of t)if(!e.supportedIntents?.includes(r)){if(!this.#n.has(r))throw Error(`Missing intent resolver for ${r}`);n.push(this.#n.get(r))}n.push(So()),await this.#h(n,e)}},Do=0,Oo=[];function ko(){return Do+=1,()=>{if(--Do,Do===0){let e=Oo;Oo=[];for(let t of e)t()}}}function Ao(e){let t=ko(),n=e().finally(t);return n.t=!0,n}var jo=[],Mo=0,No=4,Po=globalThis.nanostoresGlobal||={epoch:0},Fo=e=>{let t=[],n={get(){return n.lc||n.listen(()=>{})(),n.value},init:e,lc:0,listen(e){return n.lc=t.push(e),()=>{for(let t=Mo+No;t<jo.length;)jo[t]===e?jo.splice(t,No):t+=No;let r=t.indexOf(e);~r&&(t.splice(r,1),--n.lc||n.off())}},notify(e,r){Po.epoch++;let i=!jo.length;for(let i of t)jo.push(i,n.value,e,r);if(i){for(Mo=0;Mo<jo.length;Mo+=No)jo[Mo](jo[Mo+1],jo[Mo+2],jo[Mo+3]);jo.length=0}},off(){},set(e){let t=n.value;t!==e&&(n.value=e,n.notify(t))},subscribe(e){let t=n.listen(e);return e(n.value),t},value:e};return n},Io=e=>e,Lo=5,Ro=6,zo=10,Bo=(e,t,n,r)=>(e.events=e.events||{},e.events[n+zo]||(e.events[n+zo]=r(t=>{e.events[n].reduceRight((e,t)=>(t(e),e),{shared:{},...t})})),e.events[n]=e.events[n]||[],e.events[n].push(t),()=>{let r=e.events[n],i=r.indexOf(t);r.splice(i,1),r.length||(delete e.events[n],e.events[n+zo](),delete e.events[n+zo])}),Vo=1e3,Ho=(e,t)=>Bo(e,n=>{let r=t(n);r&&e.events[Ro].push(r)},Lo,t=>{let n=e.listen;e.listen=(...r)=>(!e.lc&&!e.active&&(e.active=!0,t()),n(...r));let r=e.off;return e.events[Ro]=[],e.off=()=>{r(),setTimeout(()=>{if(e.active&&!e.lc){e.active=!1;for(let t of e.events[Ro])t();e.events[Ro]=[]}},Vo)},()=>{e.listen=n,e.off=r}}),Uo=(e,t,n)=>{Array.isArray(e)||(e=[e]);let r,i,a=()=>{if(i===Po.epoch)return;i=Po.epoch;let n=e.map(e=>e.get());if(!r||n.some((e,t)=>e!==r[t])){r=n;let e=t(...n);e&&e.then&&e.t?e.then(e=>{r===n&&o.set(e)}):(o.set(e),i=Po.epoch)}},o=Fo(void 0),s=o.get;o.get=()=>(a(),s());let c,l=n?()=>{clearTimeout(c),c=setTimeout(a)}:a;return Ho(o,()=>{let t=e.map(e=>e.listen(l));return a(),()=>{for(let e of t)e()}}),o},Wo=(e,t)=>Uo(e,t),Go=(e={})=>{let t=Fo(e);return t.setKey=function(e,n){let r=t.value;n===void 0&&e in t.value?(t.value={...t.value},delete t.value[e],t.notify(r,e)):t.value[e]!==n&&(t.value={...t.value,[e]:n},t.notify(r,e))},t},Ko=3834e3,qo=3834001,Jo=616e4,Yo=6160001,Xo=6160002;function Zo(e){return Array.isArray(e)?`%5B`+e.map(Zo).join(`%2C%20`)+`%5D`:typeof e==`bigint`?`${e}n`:encodeURIComponent(String(e!=null&&Object.getPrototypeOf(e)===null?{...e}:e))}function Qo([e,t]){return`${e}=${Zo(t)}`}function $o(e){let t=Object.entries(e).map(Qo).join(`&`);return btoa(t)}var es;(function(e){e[e.EscapeSequence=0]=`EscapeSequence`,e[e.Text=1]=`Text`,e[e.Variable=2]=`Variable`})(es||={});function ts(e,t={}){{let n=`Wallet Standard error #${e}; Decode this error by running \`npx @wallet-standard/errors decode -- ${e}`;return Object.keys(t).length&&(n+=` '${$o(t)}'`),`${n}\``}}var ns=class extends Error{constructor(...[e,t]){let n,r;if(t){let{cause:e,...i}=t;e&&(r={cause:e}),Object.keys(i).length>0&&(n=i)}let i=ts(e,n);super(i,r),this.context={__code:e,...n},this.name=`WalletStandardError`}};function rs(...e){`captureStackTrace`in Error&&typeof Error.captureStackTrace==`function`&&Error.captureStackTrace(...e)}var is=new WeakMap;function as(e,t){is.set(e,t)}function os(e){let t=cs(e),n=t.accounts.find(({address:t})=>t===e.address);if(!n){let n=new ns(qo,{address:e.address,walletName:t.name});throw rs(n,os),n}return n}var ss=os;function cs(e){let t=is.get(e);if(!t){let e=new ns(Ko);throw rs(e,cs),e}return t}var ls=cs;function us(e,t){let n=new Set(e),r=new Set(t);if(n.size!==r.size)return!0;for(let e of n)if(!r.has(e))return!0;return!1}function ds(e,t){if(e.length!==t.length)return!0;for(let n=0;n<e.length;n+=1)if(e[n]!==t[n])return!0;return!1}var fs=new WeakMap;function ps(e,t){let n=fs.get(t);if(n)try{cs(n)!==e&&(n=void 0)}catch{n=void 0}let r=!n,i=n??{},a=!n;function o(){a||=(i={...i},!0)}return(r||us(i.chains,t.chains))&&(o(),i.chains=Object.freeze([...t.chains])),(r||us(i.features,t.features))&&(o(),i.features=Object.freeze([...t.features])),(r||i.address!==t.address||i.icon!==t.icon||i.label!==t.label||ds(i.publicKey,t.publicKey))&&(o(),i.address=t.address,i.icon=t.icon,i.label=t.label,i.publicKey=t.publicKey),a&&(fs.set(t,i),as(i,e)),Object.freeze(i)}var ms=ps,hs=new WeakMap;function gs(e){let t=hs.get(e),n=!t,r=t??{},i=!t;function a(){i||=(r={...r},!0)}let o={_cache:[],*[Symbol.iterator](){this._cache.length&&(yield*this._cache);for(let t of e.accounts.slice(this._cache.length)){let n=ps(e,t);this._cache.push(n),yield n}},some(t){if(this._cache.some(t))return!0;for(let n of e.accounts.slice(this._cache.length)){let r=ps(e,n);if(this._cache.push(r),t(r))return!0}return!1},get length(){return e.accounts.length}};return(n||r.accounts.length!==e.accounts.length||o.some(e=>!r.accounts.includes(e)))&&(a(),r.accounts=Object.freeze(Array.from(o))),(n||us(r.features,Object.keys(e.features)))&&(a(),r.features=Object.freeze(Object.keys(e.features))),(n||us(r.chains,e.chains))&&(a(),r.chains=Object.freeze([...e.chains])),(n||r.icon!==e.icon||r.name!==e.name||r.version!==e.version)&&(a(),r.icon=e.icon,r.name=e.name,r.version=e.version),i&&(hs.set(e,r),as(r,e)),Object.freeze(r)}var _s=gs;function vs(e,t){return e.address===t.address?cs(e)===cs(t):!1}function ys(e,t){return cs(t)===cs(e)}function bs(e,t){let n=cs(e);if(!(t in n.features)){let e=new ns(Xo,{featureName:t,supportedChains:[...n.chains],supportedFeatures:Object.keys(n.features),walletName:n.name});throw rs(e,bs),e}return n.features[t]}function xs(e,t){if(!e.features.includes(t)){let n=new ns(Yo,{address:e.address,featureName:t,supportedChains:[...e.chains],supportedFeatures:[...e.features]});throw rs(n,xs),n}return bs(e,t)}var Ss=`sui:signTransactionBlock`,Cs=`sui:signTransaction`,ws=`sui:signAndExecuteTransactionBlock`,Ts=`sui:signAndExecuteTransaction`,Es=`sui:signPersonalMessage`,Ds=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},Os=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},ks,As=void 0,js=new Set;function Ms(e){Ls=void 0,js.add(e)}function Ns(e){Ls=void 0,js.delete(e)}var Ps={};function Fs(){if(As||(As=Object.freeze({register:Is,get:Rs,on:zs}),typeof window>`u`))return As;let e=Object.freeze({register:Is});try{window.addEventListener(`wallet-standard:register-wallet`,({detail:t})=>t(e))}catch(e){console.error(`wallet-standard:register-wallet event listener could not be added
|
|
2
|
+
`,e)}try{window.dispatchEvent(new Vs(e))}catch(e){console.error(`wallet-standard:app-ready event could not be dispatched
|
|
3
|
+
`,e)}return As}function Is(...e){return e=e.filter(e=>!js.has(e)),e.length?(e.forEach(e=>Ms(e)),Ps.register?.forEach(t=>Bs(()=>t(...e))),function(){e.forEach(e=>Ns(e)),Ps.unregister?.forEach(t=>Bs(()=>t(...e)))}):()=>{}}var Ls;function Rs(){return Ls||=[...js],Ls}function zs(e,t){return Ps[e]?.push(t)||(Ps[e]=[t]),function(){Ps[e]=Ps[e]?.filter(e=>t!==e)}}function Bs(e){try{e()}catch(e){console.error(e)}}var Vs=class extends Event{get detail(){return Ds(this,ks,`f`)}get type(){return`wallet-standard:app-ready`}constructor(e){super(`wallet-standard:app-ready`,{bubbles:!1,cancelable:!1,composed:!1}),ks.set(this,void 0),Os(this,ks,e,`f`)}preventDefault(){throw Error(`preventDefault cannot be called`)}stopImmediatePropagation(){throw Error(`stopImmediatePropagation cannot be called`)}stopPropagation(){throw Error(`stopPropagation cannot be called`)}};ks=new WeakMap;var Hs=`standard:connect`,Us=`standard:disconnect`,Ws=`standard:events`,Gs=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},Ks=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},qs,Js,Ys,Xs,Zs,Qs,$s=class e{get address(){return Gs(this,qs,`f`)}get publicKey(){return Gs(this,Js,`f`).slice()}get chains(){return Gs(this,Ys,`f`).slice()}get features(){return Gs(this,Xs,`f`).slice()}get label(){return Gs(this,Zs,`f`)}get icon(){return Gs(this,Qs,`f`)}constructor(t){qs.set(this,void 0),Js.set(this,void 0),Ys.set(this,void 0),Xs.set(this,void 0),Zs.set(this,void 0),Qs.set(this,void 0),new.target===e&&Object.freeze(this),Ks(this,qs,t.address,`f`),Ks(this,Js,t.publicKey.slice(),`f`),Ks(this,Ys,t.chains.slice(),`f`),Ks(this,Xs,t.features.slice(),`f`),Ks(this,Zs,t.label,`f`),Ks(this,Qs,t.icon,`f`)}};qs=new WeakMap,Js=new WeakMap,Ys=new WeakMap,Xs=new WeakMap,Zs=new WeakMap,Qs=new WeakMap;var ec=[`sui:devnet`,`sui:testnet`,`sui:localnet`,`sui:mainnet`],tc=class e{#e;#t;constructor({prefix:e,cache:t}={}){this.#e=e??[],this.#t=t??new Map}read(e,t){let n=[this.#e,...e].join(`:`);if(this.#t.has(n))return this.#t.get(n);let r=t();return this.#t.set(n,r),typeof r==`object`&&r&&`then`in r?Promise.resolve(r).then(e=>(this.#t.set(n,e),e)).catch(e=>{throw this.#t.delete(n),e}):r}readSync(e,t){let n=[this.#e,...e].join(`:`);if(this.#t.has(n))return this.#t.get(n);let r=t();return this.#t.set(n,r),r}clear(e){let t=[...this.#e,...e??[]].join(`:`);if(!t){this.#t.clear();return}for(let e of this.#t.keys())e.startsWith(t)&&this.#t.delete(e)}scope(t){return new e({prefix:[...this.#e,...Array.isArray(t)?t:[t]],cache:this.#t})}},nc=class{constructor({network:e,base:t,cache:n=t?.cache??new tc}){this.network=e,this.base=t??this,this.cache=n}$extend(...e){let t=Object.fromEntries(e.map(e=>[e.name,e.register(this)])),n=new Map;return new Proxy(this,{get(e,r,i){if(typeof r==`string`&&r in t)return t[r];let a=Reflect.get(e,r,i);return typeof a==`function`?r===`$extend`?a.bind(i):(n.has(r)||n.set(r,a.bind(e)),n.get(r)):a}})}},rc={mainnet:`https://mainnet.mvr.mystenlabs.com`,testnet:`https://testnet.mvr.mystenlabs.com`},ic=class extends nc{constructor(e){super(e),this.core=this,this.mvr=new po({cache:this.cache.scope(`core.mvr`),url:e.mvr?.url??rc[this.network],pageSize:e.mvr?.pageSize,overrides:e.mvr?.overrides})}async getObject(e){let{objectId:t}=e,{objects:[n]}=await this.getObjects({objectIds:[t],signal:e.signal,include:e.include});if(n instanceof Error)throw n;return{object:n}}async getDynamicField(e){let t=An.parseFromStr((await this.core.mvr.resolveType({type:e.name.type})).type),n=Na(e.parentId,t,e.name.bcs),{objects:[r]}=await this.getObjects({objectIds:[n],signal:e.signal,include:{previousTransaction:!0,content:!0}});if(r instanceof Error)throw r;let i=gt(r.type),a=await r.content,o=i.typeParams[0],s=typeof o!=`string`&&o.module===`dynamic_object_field`&&o.name===`Wrapper`,c=a.slice(32+e.name.bcs.length),l=typeof i.typeParams[1]==`string`?i.typeParams[1]:_t(i.typeParams[1]);return{dynamicField:{$kind:s?`DynamicObject`:`DynamicField`,fieldId:r.objectId,digest:r.digest,version:r.version,type:r.type,previousTransaction:r.previousTransaction,name:{type:typeof o==`string`?o:_t(o),bcs:e.name.bcs},value:{type:l,bcs:c},childId:s?I.Address.parse(c):void 0}}}async getDynamicObjectField(e){let t=`0x2::dynamic_object_field::Wrapper<${(await this.core.mvr.resolveType({type:e.name.type})).type}>`,{dynamicField:n}=await this.getDynamicField({parentId:e.parentId,name:{type:t,bcs:e.name.bcs},signal:e.signal}),{object:r}=await this.getObject({objectId:n.childId,signal:e.signal,include:e.include});return{object:r}}async waitForTransaction(e){let{signal:t,timeout:n=60*1e3,pollSchedule:r,include:i}=e,a=`result`in e&&e.result?(e.result.Transaction??e.result.FailedTransaction).digest:e.digest,o=t?AbortSignal.any([AbortSignal.timeout(n),t]):AbortSignal.timeout(n),s=new Promise((e,t)=>{o.addEventListener(`abort`,()=>t(o.reason))});s.catch(()=>{});let c=r??[0,300,600,1500,3500],l=Date.now(),u=0,d=c.length>0?c[c.length-1]-(c[c.length-2]??0):2e3;for(;;){if(u<c.length){let e=l+c[u]-Date.now();u++,e>0&&await Promise.race([new Promise(t=>setTimeout(t,e)),s])}else await Promise.race([new Promise(e=>setTimeout(e,d)),s]);o.throwIfAborted();try{return await this.getTransaction({digest:a,include:i,signal:o})}catch{}}}async signAndExecuteTransaction({transaction:e,signer:t,additionalSignatures:n=[],...r}){let i;e instanceof Uint8Array?i=e:(e.setSenderIfNotSet(t.toSuiAddress()),i=await e.build({client:this}));let{signature:a}=await t.signTransaction(i);return this.executeTransaction({transaction:i,signatures:[a,...n],...r})}},ac=new Intl.PluralRules(`en-US`,{type:`ordinal`}),oc=new Map([[`one`,`st`],[`two`,`nd`],[`few`,`rd`],[`other`,`th`]]);function sc(e){return`${e}${oc.get(ac.select(e))}`}function cc(e){let{command:t,location:n,abortCode:r,cleverError:i}=e,a=[];if(t==null?a.push(`MoveAbort`):a.push(`MoveAbort in ${sc(t+1)} command`),i?.constantName){let e=i.value?`'${i.constantName}': ${i.value}`:`'${i.constantName}'`;a.push(e)}else a.push(`abort code: ${r}`);if(n?.package&&n?.module){let e=[`in '${[n.package.startsWith(`0x`)?n.package:`0x${n.package}`,n.module,n.functionName].filter(Boolean).join(`::`)}'`];i?.lineNumber==null?n.instruction!=null&&e.push(`(instruction ${n.instruction})`):e.push(`(line ${i.lineNumber})`),a.push(e.join(` `))}return a.join(`, `)}var lc=I.struct(`MinimalEffectsWithError`,{status:kr}),uc=I.enum(`MinimalTransactionEffectsWithError`,{V1:lc,V2:lc}),dc=I.enum(`MinimalExecutionStatusNoError`,{Success:null,Failed:null}),fc=I.struct(`MinimalEffectsNoError`,{status:dc}),pc=I.enum(`MinimalTransactionEffectsNoError`,{V1:fc,V2:fc});function mc(e,t){return t!=null&&typeof t!=`boolean`?`${e}(${JSON.stringify(t,(e,t)=>typeof t==`bigint`?t.toString():t)})`:e}function hc(e){let t=e.error,n=e.command==null?void 0:Number(e.command);switch(t.$kind){case`MoveAbort`:{let[e,r]=t.MoveAbort,i={package:e.module.address,module:e.module.name,function:e.function,functionName:e.functionName??void 0,instruction:e.instruction};return{$kind:`MoveAbort`,message:cc({command:n,location:i,abortCode:String(r)}),command:n,MoveAbort:{abortCode:String(r),location:i}}}case`MoveObjectTooBig`:return{$kind:`SizeError`,message:mc(`MoveObjectTooBig`,t.MoveObjectTooBig),command:n,SizeError:{name:`ObjectTooBig`,size:Number(t.MoveObjectTooBig.objectSize),maxSize:Number(t.MoveObjectTooBig.maxObjectSize)}};case`MovePackageTooBig`:return{$kind:`SizeError`,message:mc(`MovePackageTooBig`,t.MovePackageTooBig),command:n,SizeError:{name:`PackageTooBig`,size:Number(t.MovePackageTooBig.objectSize),maxSize:Number(t.MovePackageTooBig.maxObjectSize)}};case`EffectsTooLarge`:return{$kind:`SizeError`,message:mc(`EffectsTooLarge`,t.EffectsTooLarge),command:n,SizeError:{name:`EffectsTooLarge`,size:Number(t.EffectsTooLarge.currentSize),maxSize:Number(t.EffectsTooLarge.maxSize)}};case`WrittenObjectsTooLarge`:return{$kind:`SizeError`,message:mc(`WrittenObjectsTooLarge`,t.WrittenObjectsTooLarge),command:n,SizeError:{name:`WrittenObjectsTooLarge`,size:Number(t.WrittenObjectsTooLarge.currentSize),maxSize:Number(t.WrittenObjectsTooLarge.maxSize)}};case`MoveVectorElemTooBig`:return{$kind:`SizeError`,message:mc(`MoveVectorElemTooBig`,t.MoveVectorElemTooBig),command:n,SizeError:{name:`MoveVectorElemTooBig`,size:Number(t.MoveVectorElemTooBig.valueSize),maxSize:Number(t.MoveVectorElemTooBig.maxScaledSize)}};case`MoveRawValueTooBig`:return{$kind:`SizeError`,message:mc(`MoveRawValueTooBig`,t.MoveRawValueTooBig),command:n,SizeError:{name:`MoveRawValueTooBig`,size:Number(t.MoveRawValueTooBig.valueSize),maxSize:Number(t.MoveRawValueTooBig.maxScaledSize)}};case`CommandArgumentError`:return{$kind:`CommandArgumentError`,message:mc(`CommandArgumentError`,t.CommandArgumentError),command:n,CommandArgumentError:{argument:t.CommandArgumentError.argIdx,name:t.CommandArgumentError.kind.$kind}};case`TypeArgumentError`:return{$kind:`TypeArgumentError`,message:mc(`TypeArgumentError`,t.TypeArgumentError),command:n,TypeArgumentError:{typeArgument:t.TypeArgumentError.argumentIdx,name:t.TypeArgumentError.kind.$kind}};case`PackageUpgradeError`:{let e=t.PackageUpgradeError.upgradeError;return{$kind:`PackageUpgradeError`,message:mc(`PackageUpgradeError`,t.PackageUpgradeError),command:n,PackageUpgradeError:{name:e.$kind,packageId:e.$kind===`UnableToFetchPackage`?e.UnableToFetchPackage.packageId:void 0,digest:e.$kind===`DigestDoesNotMatch`?T(e.DigestDoesNotMatch.digest):void 0}}}case`ExecutionCancelledDueToSharedObjectCongestion`:return{$kind:`CongestedObjects`,message:mc(`ExecutionCancelledDueToSharedObjectCongestion`,t.ExecutionCancelledDueToSharedObjectCongestion),command:n,CongestedObjects:{name:`ExecutionCanceledDueToConsensusObjectCongestion`,objects:t.ExecutionCancelledDueToSharedObjectCongestion.congested_objects}};case`AddressDeniedForCoin`:return{$kind:`CoinDenyListError`,message:mc(`AddressDeniedForCoin`,t.AddressDeniedForCoin),command:n,CoinDenyListError:{name:`AddressDeniedForCoin`,address:t.AddressDeniedForCoin.address,coinType:t.AddressDeniedForCoin.coinType}};case`CoinTypeGlobalPause`:return{$kind:`CoinDenyListError`,message:mc(`CoinTypeGlobalPause`,t.CoinTypeGlobalPause),command:n,CoinDenyListError:{name:`CoinTypeGlobalPause`,coinType:t.CoinTypeGlobalPause.coinType}};case`CircularObjectOwnership`:return{$kind:`ObjectIdError`,message:mc(`CircularObjectOwnership`,t.CircularObjectOwnership),command:n,ObjectIdError:{name:`CircularObjectOwnership`,objectId:t.CircularObjectOwnership.object}};case`InvalidGasObject`:return{$kind:`ObjectIdError`,message:`InvalidGasObject`,command:n,ObjectIdError:{name:`InvalidGasObject`,objectId:``}};case`InputObjectDeleted`:return{$kind:`ObjectIdError`,message:`InputObjectDeleted`,command:n,ObjectIdError:{name:`InputObjectDeleted`,objectId:``}};case`InvalidTransferObject`:return{$kind:`ObjectIdError`,message:`InvalidTransferObject`,command:n,ObjectIdError:{name:`InvalidTransferObject`,objectId:``}};case`NonExclusiveWriteInputObjectModified`:return{$kind:`Unknown`,message:mc(`NonExclusiveWriteInputObjectModified`,t.NonExclusiveWriteInputObjectModified),command:n,Unknown:null};case`InsufficientGas`:case`InvariantViolation`:case`FeatureNotYetSupported`:case`InsufficientCoinBalance`:case`CoinBalanceOverflow`:case`PublishErrorNonZeroAddress`:case`SuiMoveVerificationError`:case`MovePrimitiveRuntimeError`:case`VMVerificationOrDeserializationError`:case`VMInvariantViolation`:case`FunctionNotFound`:case`ArityMismatch`:case`TypeArityMismatch`:case`NonEntryFunctionInvoked`:case`UnusedValueWithoutDrop`:case`InvalidPublicFunctionReturnType`:case`PublishUpgradeMissingDependency`:case`PublishUpgradeDependencyDowngrade`:case`CertificateDenied`:case`SuiMoveVerificationTimedout`:case`SharedObjectOperationNotAllowed`:case`ExecutionCancelledDueToRandomnessUnavailable`:case`InvalidLinkage`:case`InsufficientBalanceForWithdraw`:return{$kind:`Unknown`,message:t.$kind,command:n,Unknown:null};default:return{$kind:`Unknown`,message:`Unknown error`,command:n,Unknown:null}}}function gc(e,t=!1){return(t?ra.fromKindBytes(e):ra.fromBytes(e)).snapshot()}function _c(e){let t=null;try{t=uc.parse(e)}catch{let t=pc.parse(e);return(t.V1??t.V2).status.$kind===`Success`?{success:!0,error:null}:{success:!1,error:{$kind:`Unknown`,message:`ExecutionFailed`,Unknown:null}}}let n=(t.V1??t.V2).status;return n.$kind===`Success`?{success:!0,error:null}:{success:!1,error:hc(n.Failure)}}function vc(e){let t=I.TransactionEffects.parse(e);switch(t.$kind){case`V1`:return yc({bytes:e,effects:t.V1});case`V2`:return bc({bytes:e,effects:t.V2});default:throw Error(`Unknown transaction effects version: ${t.$kind}`)}}function yc(e){throw Error(`V1 effects are not supported yet`)}function bc({bytes:e,effects:t}){let n=t.changedObjects.map(([e,n])=>({objectId:e,inputState:n.inputState.$kind===`Exist`?`Exists`:`DoesNotExist`,inputVersion:n.inputState.Exist?.[0][0]??null,inputDigest:n.inputState.Exist?.[0][1]??null,inputOwner:n.inputState.Exist?.[1]??null,outputState:n.outputState.$kind===`NotExist`?`DoesNotExist`:n.outputState.$kind,outputVersion:n.outputState.$kind===`PackageWrite`?n.outputState.PackageWrite?.[0]:n.outputState.$kind===`ObjectWrite`?t.lamportVersion:null,outputDigest:n.outputState.$kind===`PackageWrite`?n.outputState.PackageWrite?.[1]:n.outputState.$kind===`ObjectWrite`?n.outputState.ObjectWrite?.[0]??null:null,outputOwner:n.outputState.$kind===`ObjectWrite`?n.outputState.ObjectWrite[1]:null,idOperation:n.idOperation.$kind}));return{bcs:e,version:2,status:t.status.$kind===`Success`?{success:!0,error:null}:{success:!1,error:hc(t.status.Failure)},gasUsed:t.gasUsed,transactionDigest:t.transactionDigest,gasObject:t.gasObjectIndex===null?null:n[t.gasObjectIndex]??null,eventsDigest:t.eventsDigest,dependencies:t.dependencies,lamportVersion:t.lamportVersion,changedObjects:n,unchangedConsensusObjects:t.unchangedConsensusObjects.map(([e,t])=>({kind:t.$kind,objectId:e,version:t.$kind===`ReadOnlyRoot`?t.ReadOnlyRoot[0]:t[t.$kind],digest:t.$kind===`ReadOnlyRoot`?t.ReadOnlyRoot[1]:null})),auxiliaryDataDigest:t.auxDataDigest}}new TextEncoder;var xc=new TextDecoder;function Sc(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64(e);let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}function Cc(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64(typeof e==`string`?e:xc.decode(e),{alphabet:`base64url`});let t=e;t instanceof Uint8Array&&(t=xc.decode(t)),t=t.replace(/-/g,`+`).replace(/_/g,`/`);try{return Sc(t)}catch{throw TypeError(`The input to be decoded is not correctly encoded.`)}}var wc=class extends Error{static code=`ERR_JOSE_GENERIC`;code=`ERR_JOSE_GENERIC`;constructor(e,t){super(e,t),this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}},Tc=class extends wc{static code=`ERR_JWT_INVALID`;code=`ERR_JWT_INVALID`},Ec=e=>typeof e==`object`&&!!e;function Dc(e){if(!Ec(e)||Object.prototype.toString.call(e)!==`[object Object]`)return!1;if(Object.getPrototypeOf(e)===null)return!0;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function Oc(e){if(typeof e!=`string`)throw new Tc(`JWTs must use Compact JWS serialization, JWT must be a string`);let{1:t,length:n}=e.split(`.`);if(n===5)throw new Tc(`Only JWTs using Compact JWS serialization can be decoded`);if(n!==3)throw new Tc(`Invalid JWT`);if(!t)throw new Tc(`JWTs must contain a payload`);let r;try{r=Cc(t)}catch{throw new Tc(`Failed to base64url decode the payload`)}let i;try{i=JSON.parse(xc.decode(r))}catch{throw new Tc(`Failed to parse the decoded payload as JSON`)}if(!Dc(i))throw new Tc(`Invalid JWT Claims Set`);return i}var kc=j({exp:Xt(),iat:Xt(),iss:M(),aud:M(),payload:j({accounts:O(j({address:M(),publicKey:M(),label:Zt(M())}))})});function Ac(e){return N(kc,Oc(e))}var jc=j({id:on(M(),Vt()),source:k(`web-wallet-channel`),payload:an(`type`,[j({type:k(`reject`),reason:Zt(M("`reason` must be a string"))}),j({type:k(`resolve`),data:an(`type`,[j({type:k(`connect`),session:M("`session` is required")}),j({type:k(`sign-transaction`),bytes:M(),signature:M()}),j({type:k(`sign-and-execute-transaction`),bytes:M(),signature:M(),digest:M(),effects:M()}),j({type:k(`sign-personal-message`),bytes:M(),signature:M()})])})]),version:k(`1`)});function Mc(){return{version:`1`,originUrl:window.location.href,userAgent:navigator.userAgent,screenResolution:`${window.screen.width}x${window.screen.height}`,language:navigator.language,platform:navigator.platform,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,timestamp:Date.now()}}var Nc=class{#e;#t=`1`;#n;#r;#i;#a;#o;#s;#c;#l;#u=null;#d=!1;constructor({appName:e,hostOrigin:t,hostPathname:n=`dapp-request`,extraRequestOptions:r,popupWindow:i}){let a=i??window.open(`about:blank`,`_blank`);if(!a)throw Error(`Failed to open new window`);this.#n=crypto.randomUUID(),this.#e=a,this.#r=t,this.#i=n,this.#a=e;let{promise:o,resolve:s,reject:c}=we();this.#s=o,this.#c=s,this.#l=c,this.#o=r,this.#u=setInterval(()=>{try{this.#e.closed&&(this.#p(),c(Error(`User closed the wallet window`)))}catch{}},1e3)}send({type:e,...t}){if(this.#e.closed)throw Error(`User closed the wallet window`);if(this.#d)throw Error(`send() can only be called once`);this.#d=!0,window.addEventListener(`message`,this.#f);let n={version:this.#t,requestId:this.#n,appUrl:window.location.href.split(`#`)[0],appName:this.#a,payload:{type:e,...t},metadata:Mc(),extraRequestOptions:this.#o},r=encodeURIComponent(btoa(JSON.stringify(n)));return this.#e.location.assign(`${this.#r}/${this.#i}#${r}`),this.#s}close(){this.#p(),this.#e.close()}#f=e=>{if(e.origin!==this.#r)return;let{success:t,output:n}=sn(jc,e.data);!t||n.id!==this.#n||(this.#p(),n.payload.type===`reject`?this.#l(Error(n.payload.reason||`User rejected the request`)):n.payload.type===`resolve`&&this.#c(n.payload.data))};#p(){this.#u&&=(clearInterval(this.#u),null),window.removeEventListener(`message`,this.#f)}},Pc=`https://my.slush.app`,Fc=`slush:session`,Ic=`data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIHZpZXdCb3g9IjAgMCA0OCA0OCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAgMjRDMCAxMC43NDUyIDEwLjc0NTIgMCAyNCAwQzM3LjI1NDggMCA0OCAxMC43NDUyIDQ4IDI0QzQ4IDM3LjI1NDggMzcuMjU0OCA0OCAyNCA0OEMxMC43NDUyIDQ4IDAgMzcuMjU0OCAwIDI0WiIgZmlsbD0iIzBDMEExRiIvPgo8cGF0aCBkPSJNMTMuMTM1OCAzMi4xMDg1QzE0LjE3MDEgMzUuOTY4MyAxOC4wMzMxIDM5LjQ2MjQgMjYuMDI1NSAzNy4zMjA4QzMzLjY1MTUgMzUuMjc3NCAzOC40MzA5IDI5LjAwNCAzNy4xOTE2IDI0LjM3ODlDMzYuNzYzNiAyMi43ODE3IDM1LjQ3NDYgMjEuNzAwNiAzMy40ODcyIDIxLjg3NjVMMTUuNzE2NSAyMy4zNTcyQzE0LjU5NzMgMjMuNDQzIDE0LjA4NDIgMjMuMjU5NiAxMy43ODgxIDIyLjU1NDNDMTMuNTAxIDIxLjg4MjMgMTMuNjY0NiAyMS4xNjA5IDE1LjAxNjMgMjAuNDc3N0wyOC41NDAxIDEzLjUzNzRDMjkuNTc2NyAxMy4wMSAzMC4yNjcxIDEyLjc4OTMgMzAuODk4IDEzLjAxMjZDMzEuMjkzNCAxMy4xNTYzIDMxLjU1MzggMTMuNzI4NCAzMS4zMTQ3IDE0LjQzNDRMMzAuNDM3OCAxNy4wMjMyQzI5LjM2MTcgMjAuMjAwMiAzMS42NjUzIDIwLjkzODIgMzIuOTY0MSAyMC41OTAyQzM0LjkyODkgMjAuMDYzNyAzNS4zOTExIDE4LjE5MjMgMzQuNzU4MSAxNS44Mjk5QzMzLjE1MzMgOS44NDA1NCAyNi43OTkgOC45MDQxMSAyMS4wMzc4IDEwLjQ0NzhDMTUuMTc2NyAxMi4wMTgzIDEwLjA5NiAxNi43Njc2IDExLjY0NzQgMjIuNTU3M0MxMi4wMTI5IDIzLjkyMTYgMTMuMjY4NyAyNS4wMTE2IDE0LjcyMzIgMjQuOTc4NUwxNi45NDM4IDI0Ljk3MzFDMTcuNDAwNCAyNC45NjI1IDE3LjIzNiAyNSAxOC4xMTcgMjQuOTI3MUMxOC45OTggMjQuODU0MSAyMS4zNTA5IDI0LjU2NDYgMjEuMzUwOSAyNC41NjQ2TDMyLjg5NjIgMjMuMjU4TDMzLjE5MzcgMjMuMjE0OEMzMy44Njg5IDIzLjA5OTcgMzQuMzc5MiAyMy4yNzUgMzQuODEwNiAyNC4wMTgzQzM1LjQ1NjMgMjUuMTMwNCAzNC40NzEyIDI1Ljk2OTEgMzMuMjkyIDI2Ljk3MzFDMzMuMjYwNSAyNyAzMy4yMjg4IDI3LjAyNyAzMy4xOTcgMjcuMDU0MUwyMy4wNDgyIDM1LjgwMDVDMjEuMzA4NyAzNy4zMDA4IDIwLjA4NjcgMzYuNzM2NyAxOS42NTg4IDM1LjEzOTVMMTguMTQzMSAyOS40ODI5QzE3Ljc2ODcgMjguMDg1NCAxNi40MDQxIDI2Ljk4ODkgMTQuODA1NiAyNy40MTcyQzEyLjgwNzUgMjcuOTUyNiAxMi42NDU1IDMwLjI3ODQgMTMuMTM1OCAzMi4xMDg1WiIgZmlsbD0iI0ZCRkFGRiIvPgo8L3N2Zz4K`,Lc=`com.mystenlabs.suiwallet`,Rc=`https://api.slush.app/api/wallet/metadata`,zc={id:`com.mystenlabs.suiwallet.web`,walletName:`Slush`,description:`Trade and earn on Sui.`,icon:Ic,enabled:!0},Bc=j({id:M(`Wallet ID is required`),walletName:M(`Wallet name is required`),icon:M(`Icon must be a valid wallet icon format`),enabled:qt(`Enabled is required`)});function Vc(e){localStorage.setItem(Fc,e)}function Hc(){let e=localStorage.getItem(Fc);if(!e)throw Error(`No session found`);return e}var Uc=[`sui:signTransaction`,`sui:signAndExecuteTransaction`,`sui:signPersonalMessage`,`sui:signTransactionBlock`,`sui:signAndExecuteTransactionBlock`];function Wc(e){let{payload:t}=Ac(e);return t.accounts.map(e=>new $s({address:e.address,chains:ec,features:Uc,publicKey:w(e.publicKey)}))}var Gc=class{#e;#t;#n;#r;#i;#a;#o;get name(){return this.#i}get id(){return this.#e}get icon(){return this.#a}get version(){return`1.0.0`}get chains(){return ec}get accounts(){return this.#n}get features(){return{"standard:connect":{version:`1.0.0`,connect:this.#p},"standard:disconnect":{version:`1.0.0`,disconnect:this.#h},"standard:events":{version:`1.0.0`,on:this.#d},"sui:signTransactionBlock":{version:`1.0.0`,signTransactionBlock:this.#s},"sui:signTransaction":{version:`2.0.0`,signTransaction:this.#c},"sui:signPersonalMessage":{version:`1.1.0`,signPersonalMessage:this.#u},"sui:signAndExecuteTransaction":{version:`2.0.0`,signAndExecuteTransaction:this.#l}}}constructor({name:e,origin:t,metadata:n}){this.#e=n.id,this.#n=this.#m(),this.#t=Re(),this.#r=t||Pc,this.#o=e,this.#i=n.walletName,this.#a=n.icon}#s=async({transactionBlock:e,account:t,chain:n})=>{let r=await e.toJSON(),i=await this.#g().send({type:`sign-transaction`,transaction:r,address:t.address,chain:n,session:Hc()});return{transactionBlockBytes:i.bytes,signature:i.signature}};#c=async({transaction:e,account:t,chain:n})=>{let r=this.#g(),i=await e.toJSON(),a=await r.send({type:`sign-transaction`,transaction:i,address:t.address,chain:n,session:Hc()});return{bytes:a.bytes,signature:a.signature}};#l=async({transaction:e,account:t,chain:n})=>{let r=this.#g(),i=await e.toJSON(),a=await r.send({type:`sign-and-execute-transaction`,transaction:i,address:t.address,chain:n,session:Hc()});return{bytes:a.bytes,signature:a.signature,digest:a.digest,effects:a.effects}};#u=async({message:e,account:t,chain:n})=>{let r=await this.#g().send({type:`sign-personal-message`,message:T(e),address:t.address,chain:n??t.chains[0],session:Hc()});return{bytes:r.bytes,signature:r.signature}};#d=(e,t)=>(this.#t.on(e,t),()=>this.#t.off(e,t));#f(e){this.#n=e,this.#t.emit(`change`,{accounts:this.accounts})}#p=async e=>{if(e?.silent)return{accounts:this.accounts};let t=await this.#g().send({type:`connect`});return Vc(t.session),this.#f(Wc(t.session)),{accounts:this.accounts}};#m(){try{return Wc(Hc())}catch{return[]}}#h=async()=>{localStorage.removeItem(Fc),this.#f([])};#g(){return new Nc({appName:this.#o,hostOrigin:this.#r})}updateMetadata(e){this.#e=e.id,this.#i=e.walletName,this.#a=e.icon}};async function Kc(e){let t=await fetch(e);if(!t.ok)throw Error(`Failed to fetch wallet metadata`);return N(Bc,await t.json())}function qc(e,{origin:t,metadataApiUrl:n=Rc}={}){let r=Fs(),i=null;if(r.on(`register`,e=>{e.id===Lc&&i?.()}),r.get().find(e=>e.id===Lc))return;let a=new Gc({name:e,origin:t,metadata:zc});return i=r.register(a),Kc(n).then(e=>{if(!e.enabled){console.log(`Slush wallet is not currently enabled.`),i?.();return}a.updateMetadata(e)}).catch(e=>{console.error(`Error fetching metadata`,e)}),{wallet:a,unregister:i}}var Jc={ED25519:0,Secp256k1:1,Secp256r1:2,MultiSig:3,ZkLogin:5,Passkey:6},Yc={ED25519:32,Secp256k1:33,Secp256r1:33,Passkey:33},Xc={0:`ED25519`,1:`Secp256k1`,2:`Secp256r1`,3:`MultiSig`,5:`ZkLogin`,6:`Passkey`};function Zc(e,t){return I.IntentMessage(I.bytes(t.length)).serialize({intent:{scope:{[e]:!0},version:{V0:!0},appId:{Sui:!0}},value:t}).toBytes()}function Qc(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}var $c=class{equals(e){return Qc(this.toRawBytes(),e.toRawBytes())}toBase64(){return T(this.toRawBytes())}toString(){throw Error("`toString` is not implemented on public keys. Use `toBase64()` or `toRawBytes()` instead.")}toSuiPublicKey(){return T(this.toSuiBytes())}verifyWithIntent(e,t,n){let r=ea(Zc(n,e),{dkLen:32});return this.verify(r,t)}verifyPersonalMessage(e,t){return this.verifyWithIntent(I.byteVector().serialize(e).toBytes(),t,`PersonalMessage`)}verifyTransaction(e,t){return this.verifyWithIntent(e,t,`TransactionData`)}verifyAddress(e){return this.toSuiAddress()===e}toSuiBytes(){let e=this.toRawBytes(),t=new Uint8Array(e.length+1);return t.set([this.flag()]),t.set(e,1),t}toSuiAddress(){return D(hi(ea(this.toSuiBytes(),{dkLen:32})).slice(0,64))}};function el(e){let t=w(e),n=Xc[t[0]];switch(n){case`ED25519`:case`Secp256k1`:case`Secp256r1`:let r=Yc[n],i=t.slice(1,t.length-r);return{serializedSignature:e,signatureScheme:n,signature:i,publicKey:t.slice(1+i.length),bytes:t};default:throw Error(`Unsupported signature scheme`)}}var tl=Mi(`0x428a2f98d728ae22.0x7137449123ef65cd.0xb5c0fbcfec4d3b2f.0xe9b5dba58189dbbc.0x3956c25bf348b538.0x59f111f1b605d019.0x923f82a4af194f9b.0xab1c5ed5da6d8118.0xd807aa98a3030242.0x12835b0145706fbe.0x243185be4ee4b28c.0x550c7dc3d5ffb4e2.0x72be5d74f27b896f.0x80deb1fe3b1696b1.0x9bdc06a725c71235.0xc19bf174cf692694.0xe49b69c19ef14ad2.0xefbe4786384f25e3.0x0fc19dc68b8cd5b5.0x240ca1cc77ac9c65.0x2de92c6f592b0275.0x4a7484aa6ea6e483.0x5cb0a9dcbd41fbd4.0x76f988da831153b5.0x983e5152ee66dfab.0xa831c66d2db43210.0xb00327c898fb213f.0xbf597fc7beef0ee4.0xc6e00bf33da88fc2.0xd5a79147930aa725.0x06ca6351e003826f.0x142929670a0e6e70.0x27b70a8546d22ffc.0x2e1b21385c26c926.0x4d2c6dfc5ac42aed.0x53380d139d95b3df.0x650a73548baf63de.0x766a0abb3c77b2a8.0x81c2c92e47edaee6.0x92722c851482353b.0xa2bfe8a14cf10364.0xa81a664bbc423001.0xc24b8b70d0f89791.0xc76c51a30654be30.0xd192e819d6ef5218.0xd69906245565a910.0xf40e35855771202a.0x106aa07032bbd1b8.0x19a4c116b8d2d0c8.0x1e376c085141ab53.0x2748774cdf8eeb99.0x34b0bcb5e19b48a8.0x391c0cb3c5c95a63.0x4ed8aa4ae3418acb.0x5b9cca4f7763e373.0x682e6ff3d6b2b8a3.0x748f82ee5defb2fc.0x78a5636f43172f60.0x84c87814a1f0ab72.0x8cc702081a6439ec.0x90befffa23631e28.0xa4506cebde82bde9.0xbef9a3f7b2c67915.0xc67178f2e372532b.0xca273eceea26619c.0xd186b8c721c0c207.0xeada7dd6cde0eb1e.0xf57d4f7fee6ed178.0x06f067aa72176fba.0x0a637dc5a2c898a6.0x113f9804bef90dae.0x1b710b35131c471b.0x28db77f523047d84.0x32caab7b40c72493.0x3c9ebe0a15c9bebc.0x431d67c49c100d4c.0x4cc5d4becb3e42b6.0x597f299cfc657e2a.0x5fcb6fab3ad6faec.0x6c44198c4a475817`.split(`.`).map(e=>BigInt(e))),nl=tl[0],rl=tl[1],il=new Uint32Array(80),al=new Uint32Array(80),ol=class extends Di{constructor(e){super(128,e,16,!1)}get(){let{Ah:e,Al:t,Bh:n,Bl:r,Ch:i,Cl:a,Dh:o,Dl:s,Eh:c,El:l,Fh:u,Fl:d,Gh:f,Gl:p,Hh:m,Hl:h}=this;return[e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h]}set(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){this.Ah=e|0,this.Al=t|0,this.Bh=n|0,this.Bl=r|0,this.Ch=i|0,this.Cl=a|0,this.Dh=o|0,this.Dl=s|0,this.Eh=c|0,this.El=l|0,this.Fh=u|0,this.Fl=d|0,this.Gh=f|0,this.Gl=p|0,this.Hh=m|0,this.Hl=h|0}process(e,t){for(let n=0;n<16;n++,t+=4)il[n]=e.getUint32(t),al[n]=e.getUint32(t+=4);for(let e=16;e<80;e++){let t=il[e-15]|0,n=al[e-15]|0,r=Fi(t,n,1)^Fi(t,n,8)^Ni(t,n,7),i=Ii(t,n,1)^Ii(t,n,8)^Pi(t,n,7),a=il[e-2]|0,o=al[e-2]|0,s=Fi(a,o,19)^Li(a,o,61)^Ni(a,o,6),c=Wi(i,Ii(a,o,19)^Ri(a,o,61)^Pi(a,o,6),al[e-7],al[e-16]);il[e]=Gi(c,r,s,il[e-7],il[e-16])|0,al[e]=c|0}let{Ah:n,Al:r,Bh:i,Bl:a,Ch:o,Cl:s,Dh:c,Dl:l,Eh:u,El:d,Fh:f,Fl:p,Gh:m,Gl:h,Hh:g,Hl:_}=this;for(let e=0;e<80;e++){let t=Fi(u,d,14)^Fi(u,d,18)^Li(u,d,41),v=Ii(u,d,14)^Ii(u,d,18)^Ri(u,d,41),ee=u&f^~u&m,y=d&p^~d&h,b=Ki(_,v,y,rl[e],al[e]),x=qi(b,g,t,ee,nl[e],il[e]),S=b|0,C=Fi(n,r,28)^Li(n,r,34)^Li(n,r,39),te=Ii(n,r,28)^Ri(n,r,34)^Ri(n,r,39),ne=n&i^n&o^i&o,re=r&a^r&s^a&s;g=m|0,_=h|0,m=f|0,h=p|0,f=u|0,p=d|0,{h:u,l:d}=Vi(c|0,l|0,x|0,S|0),c=o|0,l=s|0,o=i|0,s=a|0,i=n|0,a=r|0;let ie=Hi(S,te,re);n=Ui(ie,x,C,ne),r=ie|0}({h:n,l:r}=Vi(this.Ah|0,this.Al|0,n|0,r|0)),{h:i,l:a}=Vi(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:s}=Vi(this.Ch|0,this.Cl|0,o|0,s|0),{h:c,l}=Vi(this.Dh|0,this.Dl|0,c|0,l|0),{h:u,l:d}=Vi(this.Eh|0,this.El|0,u|0,d|0),{h:f,l:p}=Vi(this.Fh|0,this.Fl|0,f|0,p|0),{h:m,l:h}=Vi(this.Gh|0,this.Gl|0,m|0,h|0),{h:g,l:_}=Vi(this.Hh|0,this.Hl|0,g|0,_|0),this.set(n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_)}roundClean(){oi(il,al)}destroy(){this.destroyed=!0,oi(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},sl=class extends ol{Ah=Oi[0]|0;Al=Oi[1]|0;Bh=Oi[2]|0;Bl=Oi[3]|0;Ch=Oi[4]|0;Cl=Oi[5]|0;Dh=Oi[6]|0;Dl=Oi[7]|0;Eh=Oi[8]|0;El=Oi[9]|0;Fh=Oi[10]|0;Fl=Oi[11]|0;Gh=Oi[12]|0;Gl=Oi[13]|0;Hh=Oi[14]|0;Hl=Oi[15]|0;constructor(){super(64)}},cl=Ci(()=>new sl,Ti(3)),R=(e,t,n)=>ti(e,t,n),ll=ei,ul=hi,z=(...e)=>xi(...e),dl=e=>vi(e),fl=$r,B=e=>wi(e),pl=BigInt(0),ml=BigInt(1);function hl(e,t=``){if(typeof e!=`boolean`){let n=t&&`"${t}" `;throw TypeError(n+`expected boolean, got type=`+typeof e)}return e}function gl(e){if(typeof e==`bigint`){if(!El(e))throw RangeError(`positive bigint expected, got `+e)}else ll(e);return e}function _l(e,t=``){if(typeof e!=`number`){let n=t&&`"${t}" `;throw TypeError(n+`expected number, got type=`+typeof e)}if(!Number.isSafeInteger(e)){let n=t&&`"${t}" `;throw RangeError(n+`expected safe integer, got `+e)}}function vl(e){if(typeof e!=`string`)throw TypeError(`hex string expected, got `+typeof e);return e===``?pl:BigInt(`0x`+e)}function yl(e){return vl(hi(e))}function bl(e){return vl(hi(wl(ti(e)).reverse()))}function xl(e,t){if(ei(t),t===0)throw RangeError(`zero length`);e=gl(e);let n=e.toString(16);if(n.length>t*2)throw RangeError(`number too large`);return vi(n.padStart(t*2,`0`))}function Sl(e,t){return xl(e,t).reverse()}function Cl(e,t){if(e=R(e),t=R(t),e.length!==t.length)return!1;let n=0;for(let r=0;r<e.length;r++)n|=e[r]^t[r];return n===0}function wl(e){return Uint8Array.from(R(e))}function Tl(e){if(typeof e!=`string`)throw TypeError(`ascii string expected, got `+typeof e);return Uint8Array.from(e,(t,n)=>{let r=t.charCodeAt(0);if(t.length!==1||r>127)throw RangeError(`string contains non-ASCII character "${e[n]}" with code ${r} at position ${n}`);return r})}var El=e=>typeof e==`bigint`&&pl<=e;function Dl(e,t,n){return El(e)&&El(t)&&El(n)&&t<=e&&e<n}function Ol(e,t,n,r){if(!Dl(t,n,r))throw RangeError(`expected valid `+e+`: `+n+` <= n < `+r+`, got `+t)}function kl(e){if(e<pl)throw Error(`expected non-negative bigint, got `+e);let t;for(t=0;e>pl;e>>=ml,t+=1);return t}var Al=e=>(ml<<BigInt(e))-ml;function jl(e,t={},n={}){if(Object.prototype.toString.call(e)!==`[object Object]`)throw TypeError(`expected valid options object`);function r(t,n,r){if(!r&&n!==`function`&&!Object.hasOwn(e,t))throw TypeError(`param "${t}" is invalid: expected own property`);let i=e[t];if(r&&i===void 0)return;let a=typeof i;if(a!==n||i===null)throw TypeError(`param "${t}" is invalid: expected ${n}, got ${a}`)}let i=(e,t)=>Object.entries(e).forEach(([e,n])=>r(e,n,t));i(t,!1),i(n,!0)}var Ml=()=>{throw Error(`not implemented`)},Nl=BigInt(0),V=BigInt(1),Pl=BigInt(2),Fl=BigInt(3),Il=BigInt(4),Ll=BigInt(5),Rl=BigInt(7),zl=BigInt(8),Bl=BigInt(9),Vl=BigInt(16);function H(e,t){if(t<=Nl)throw Error(`mod: expected positive modulus, got `+t);let n=e%t;return n>=Nl?n:t+n}function Hl(e,t,n){if(t<Nl)throw Error(`pow2: expected non-negative exponent, got `+t);let r=e;for(;t-- >Nl;)r*=r,r%=n;return r}function Ul(e,t){if(e===Nl)throw Error(`invert: expected non-zero number`);if(t<=Nl)throw Error(`invert: expected positive modulus, got `+t);let n=H(e,t),r=t,i=Nl,a=V,o=V,s=Nl;for(;n!==Nl;){let e=r/n,t=r-n*e,c=i-o*e,l=a-s*e;r=n,n=t,i=o,a=s,o=c,s=l}if(r!==V)throw Error(`invert: does not exist`);return H(i,t)}function Wl(e,t,n){let r=e;if(!r.eql(r.sqr(t),n))throw Error(`Cannot find square root`)}function Gl(e,t){let n=e,r=(n.ORDER+V)/Il,i=n.pow(t,r);return Wl(n,i,t),i}function Kl(e,t){let n=e,r=(n.ORDER-Ll)/zl,i=n.mul(t,Pl),a=n.pow(i,r),o=n.mul(t,a),s=n.mul(n.mul(o,Pl),a),c=n.mul(o,n.sub(s,n.ONE));return Wl(n,c,t),c}function ql(e){let t=au(e),n=Jl(e),r=n(t,t.neg(t.ONE)),i=n(t,r),a=n(t,t.neg(r)),o=(e+Rl)/Vl;return((e,t)=>{let n=e,s=n.pow(t,o),c=n.mul(s,r),l=n.mul(s,i),u=n.mul(s,a),d=n.eql(n.sqr(c),t),f=n.eql(n.sqr(l),t);s=n.cmov(s,c,d),c=n.cmov(u,l,f);let p=n.eql(n.sqr(c),t),m=n.cmov(s,c,p);return Wl(n,m,t),m})}function Jl(e){if(e<Fl)throw Error(`sqrt is not defined for small field`);let t=e-V,n=0;for(;t%Pl===Nl;)t/=Pl,n++;let r=Pl,i=au(e);for(;tu(i,r)===1;)if(r++>1e3)throw Error(`Cannot find square root: probably non-prime P`);if(n===1)return Gl;let a=i.pow(r,t),o=(t+V)/Pl;return function(e,r){let i=e;if(i.is0(r))return r;if(tu(i,r)!==1)throw Error(`Cannot find square root`);let s=n,c=i.mul(i.ONE,a),l=i.pow(r,t),u=i.pow(r,o);for(;!i.eql(l,i.ONE);){if(i.is0(l))return i.ZERO;let e=1,t=i.sqr(l);for(;!i.eql(t,i.ONE);)if(e++,t=i.sqr(t),e===s)throw Error(`Cannot find square root`);let n=V<<BigInt(s-e-1),r=i.pow(c,n);s=e,c=i.sqr(r),l=i.mul(l,c),u=i.mul(u,r)}return u}}function Yl(e){return e%Il===Fl?Gl:e%zl===Ll?Kl:e%Vl===Bl?ql(e):Jl(e)}var Xl=(e,t)=>(H(e,t)&V)===V,Zl=[`create`,`isValid`,`is0`,`neg`,`inv`,`sqrt`,`sqr`,`eql`,`add`,`sub`,`mul`,`pow`,`div`,`addN`,`subN`,`mulN`,`sqrN`];function Ql(e){if(jl(e,Zl.reduce((e,t)=>(e[t]=`function`,e),{ORDER:`bigint`,BYTES:`number`,BITS:`number`})),_l(e.BYTES,`BYTES`),_l(e.BITS,`BITS`),e.BYTES<1||e.BITS<1)throw Error(`invalid field: expected BYTES/BITS > 0`);if(e.ORDER<=V)throw Error(`invalid field: expected ORDER > 1, got `+e.ORDER);return e}function $l(e,t,n){let r=e;if(n<Nl)throw Error(`invalid exponent, negatives unsupported`);if(n===Nl)return r.ONE;if(n===V)return t;let i=r.ONE,a=t;for(;n>Nl;)n&V&&(i=r.mul(i,a)),a=r.sqr(a),n>>=V;return i}function eu(e,t,n=!1){let r=e,i=Array(t.length).fill(n?r.ZERO:void 0),a=t.reduce((e,t,n)=>r.is0(t)?e:(i[n]=e,r.mul(e,t)),r.ONE),o=r.inv(a);return t.reduceRight((e,t,n)=>r.is0(t)?e:(i[n]=r.mul(e,i[n]),r.mul(e,t)),o),i}function tu(e,t){let n=e,r=(n.ORDER-V)/Pl,i=n.pow(t,r),a=n.eql(i,n.ONE),o=n.eql(i,n.ZERO),s=n.eql(i,n.neg(n.ONE));if(!a&&!o&&!s)throw Error(`invalid Legendre symbol result`);return a?1:o?0:-1}function nu(e,t){if(t!==void 0&&ll(t),e<=Nl)throw Error(`invalid n length: expected positive n, got `+e);if(t!==void 0&&t<1)throw Error(`invalid n length: expected positive bit length, got `+t);let n=kl(e);if(t!==void 0&&t<n)throw Error(`invalid n length: expected bit length (${n}) >= n.length (${t})`);let r=t===void 0?n:t;return{nBitLength:r,nByteLength:Math.ceil(r/8)}}var ru=new WeakMap,iu=class{ORDER;BITS;BYTES;isLE;ZERO=Nl;ONE=V;_lengths;_mod;constructor(e,t={}){if(e<=V)throw Error(`invalid field: expected ORDER > 1, got `+e);let n;this.isLE=!1,typeof t==`object`&&t&&(typeof t.BITS==`number`&&(n=t.BITS),typeof t.sqrt==`function`&&Object.defineProperty(this,`sqrt`,{value:t.sqrt,enumerable:!0}),typeof t.isLE==`boolean`&&(this.isLE=t.isLE),t.allowedLengths&&(this._lengths=Object.freeze(t.allowedLengths.slice())),typeof t.modFromBytes==`boolean`&&(this._mod=t.modFromBytes));let{nBitLength:r,nByteLength:i}=nu(e,n);if(i>2048)throw Error(`invalid field: expected ORDER of <= 2048 bytes`);this.ORDER=e,this.BITS=r,this.BYTES=i,Object.freeze(this)}create(e){return H(e,this.ORDER)}isValid(e){if(typeof e!=`bigint`)throw TypeError(`invalid field element: expected bigint, got `+typeof e);return Nl<=e&&e<this.ORDER}is0(e){return e===Nl}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}isOdd(e){return(e&V)===V}neg(e){return H(-e,this.ORDER)}eql(e,t){return e===t}sqr(e){return H(e*e,this.ORDER)}add(e,t){return H(e+t,this.ORDER)}sub(e,t){return H(e-t,this.ORDER)}mul(e,t){return H(e*t,this.ORDER)}pow(e,t){return $l(this,e,t)}div(e,t){return H(e*Ul(t,this.ORDER),this.ORDER)}sqrN(e){return e*e}addN(e,t){return e+t}subN(e,t){return e-t}mulN(e,t){return e*t}inv(e){return Ul(e,this.ORDER)}sqrt(e){let t=ru.get(this);return t||ru.set(this,t=Yl(this.ORDER)),t(this,e)}toBytes(e){return this.isLE?Sl(e,this.BYTES):xl(e,this.BYTES)}fromBytes(e,t=!1){R(e);let{_lengths:n,BYTES:r,isLE:i,ORDER:a,_mod:o}=this;if(n){if(e.length<1||!n.includes(e.length)||e.length>r)throw Error(`Field.fromBytes: expected `+n+` bytes, got `+e.length);let t=new Uint8Array(r);t.set(e,i?0:t.length-e.length),e=t}if(e.length!==r)throw Error(`Field.fromBytes: expected `+r+` bytes, got `+e.length);let s=i?bl(e):yl(e);if(o&&(s=H(s,a)),!t&&!this.isValid(s))throw Error(`invalid field element: outside of range 0..ORDER`);return s}invertBatch(e){return eu(this,e)}cmov(e,t,n){return hl(n,`condition`),n?t:e}};Object.freeze(iu.prototype);function au(e,t={}){return new iu(e,t)}function ou(e,t){let n=e;if(!n.isOdd)throw Error(`Field doesn't have isOdd`);let r=n.sqrt(t);return n.isOdd(r)?n.neg(r):r}function su(e){if(typeof e!=`bigint`)throw Error(`field order must be bigint`);if(e<=V)throw Error(`field order must be greater than 1`);let t=kl(e-V);return Math.ceil(t/8)}function cu(e){let t=su(e);return t+Math.ceil(t/2)}function lu(e,t,n=!1){R(e);let r=e.length,i=su(t),a=Math.max(cu(t),16);if(r<a||r>1024)throw Error(`expected `+a+`-1024 bytes of input, got `+r);let o=H(n?bl(e):yl(e),t-V)+V;return n?Sl(o,i):xl(o,i)}var uu=BigInt(0),du=BigInt(1);function fu(e){let t=e;if(typeof t!=`function`)throw TypeError(`Point must be a constructor`);jl({Fp:t.Fp,Fn:t.Fn,fromAffine:t.fromAffine,fromBytes:t.fromBytes,fromHex:t.fromHex},{Fp:`object`,Fn:`object`,fromAffine:`function`,fromBytes:`function`,fromHex:`function`}),Ql(t.Fp),Ql(t.Fn)}function pu(e,t){let n=t.negate();return e?n:t}function mu(e,t){let n=eu(e.Fp,t.map(e=>e.Z));return t.map((t,r)=>e.fromAffine(t.toAffine(n[r])))}function hu(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error(`invalid window size, expected [1..`+t+`], got W=`+e)}function gu(e,t){hu(e,t);let n=Math.ceil(t/e)+1,r=2**(e-1),i=2**e;return{windows:n,windowSize:r,mask:Al(e),maxNumber:i,shiftBy:BigInt(e)}}function _u(e,t,n){let{windowSize:r,mask:i,maxNumber:a,shiftBy:o}=n,s=Number(e&i),c=e>>o;s>r&&(s-=a,c+=du);let l=t*r,u=l+Math.abs(s)-1,d=s===0,f=s<0,p=t%2!=0;return{nextN:c,offset:u,isZero:d,isNeg:f,isNegF:p,offsetF:l}}function vu(e,t){if(!Array.isArray(e))throw Error(`array expected`);e.forEach((e,n)=>{if(!(e instanceof t))throw Error(`invalid point at index `+n)})}function yu(e,t){if(!Array.isArray(e))throw Error(`array of scalars expected`);e.forEach((e,n)=>{if(!t.isValid(e))throw Error(`invalid scalar at index `+n)})}var bu=new WeakMap,xu=new WeakMap;function Su(e){return xu.get(e)||1}function Cu(e){if(e!==uu)throw Error(`invalid wNAF`)}var wu=class{BASE;ZERO;Fn;bits;constructor(e,t){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=t}_unsafeLadder(e,t,n=this.ZERO){let r=e;for(;t>uu;)t&du&&(n=n.add(r)),r=r.double(),t>>=du;return n}precomputeWindow(e,t){let{windows:n,windowSize:r}=gu(t,this.bits),i=[],a=e,o=a;for(let e=0;e<n;e++){o=a,i.push(o);for(let e=1;e<r;e++)o=o.add(a),i.push(o);a=o.double()}return i}wNAF(e,t,n){if(!this.Fn.isValid(n))throw Error(`invalid scalar`);let r=this.ZERO,i=this.BASE,a=gu(e,this.bits);for(let e=0;e<a.windows;e++){let{nextN:o,offset:s,isZero:c,isNeg:l,isNegF:u,offsetF:d}=_u(n,e,a);n=o,c?i=i.add(pu(u,t[d])):r=r.add(pu(l,t[s]))}return Cu(n),{p:r,f:i}}wNAFUnsafe(e,t,n,r=this.ZERO){let i=gu(e,this.bits);for(let e=0;e<i.windows&&n!==uu;e++){let{nextN:a,offset:o,isZero:s,isNeg:c}=_u(n,e,i);if(n=a,!s){let e=t[o];r=r.add(c?e.negate():e)}}return Cu(n),r}getPrecomputes(e,t,n){let r=bu.get(t);return r||(r=this.precomputeWindow(t,e),e!==1&&(typeof n==`function`&&(r=n(r)),bu.set(t,r))),r}cached(e,t,n){let r=Su(e);return this.wNAF(r,this.getPrecomputes(r,e,n),t)}unsafe(e,t,n,r){let i=Su(e);return i===1?this._unsafeLadder(e,t,r):this.wNAFUnsafe(i,this.getPrecomputes(i,e,n),t,r)}createCache(e,t){hu(t,this.bits),xu.set(e,t),bu.delete(e)}hasCache(e){return Su(e)!==1}};function Tu(e,t,n){let r=e.Fn;vu(t,e),yu(n,r);let i=t.length,a=n.length;if(i!==a)throw Error(`arrays of points and scalars must have equal length`);let o=e.ZERO,s=kl(BigInt(i)),c=1;s>12?c=s-3:s>4?c=s-2:s>0&&(c=2);let l=Al(c),u=Array(Number(l)+1).fill(o),d=Math.floor((r.BITS-1)/c)*c,f=o;for(let e=d;e>=0;e-=c){u.fill(o);for(let r=0;r<a;r++){let i=n[r],a=Number(i>>BigInt(e)&l);u[a]=u[a].add(t[r])}let r=o;for(let e=u.length-1,t=o;e>0;e--)t=t.add(u[e]),r=r.add(t);if(f=f.add(r),e!==0)for(let e=0;e<c;e++)f=f.double()}return f}function Eu(e,t,n){if(t){if(t.ORDER!==e)throw Error(`Field.ORDER must match order: Fp == p, Fn == n`);return Ql(t),t}else return au(e,{isLE:n})}function Du(e,t,n={},r){if(r===void 0&&(r=e===`edwards`),!t||typeof t!=`object`)throw Error(`expected valid ${e} CURVE object`);for(let e of[`p`,`n`,`h`]){let n=t[e];if(!(typeof n==`bigint`&&n>uu))throw Error(`CURVE.${e} must be positive bigint`)}let i=Eu(t.p,n.Fp,r),a=Eu(t.n,n.Fn,r),o=[`Gx`,`Gy`,`a`,e===`weierstrass`?`b`:`d`];for(let e of o)if(!i.isValid(t[e]))throw Error(`CURVE.${e} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:i,Fn:a}}function Ou(e,t){return function(n){let r=e(n);return{secretKey:r,publicKey:t(r)}}}var ku=BigInt(0),Au=BigInt(1),ju=BigInt(2),Mu=BigInt(8);function Nu(e,t,n,r){let i=e.sqr(n),a=e.sqr(r),o=e.add(e.mul(t.a,i),a),s=e.add(e.ONE,e.mul(t.d,e.mul(i,a)));return e.eql(o,s)}function Pu(e,t={}){let n=t,r=Du(`edwards`,e,n,n.FpFnLE),{Fp:i,Fn:a}=r,o=r.CURVE,{h:s}=o;jl(n,{},{uvRatio:`function`});let c=ju<<BigInt(a.BYTES*8)-Au,l=e=>i.create(e),u=n.uvRatio===void 0?(e,t)=>{try{return{isValid:!0,value:i.sqrt(i.div(e,t))}}catch{return{isValid:!1,value:ku}}}:n.uvRatio;if(!Nu(i,o,o.Gx,o.Gy))throw Error(`bad curve params: generator point`);function d(e,t,n=!1){let r=n?Au:ku;return Ol(`coordinate `+e,t,r,c),t}function f(e){if(!(e instanceof p))throw Error(`EdwardsPoint expected`)}class p{static BASE=new p(o.Gx,o.Gy,Au,l(o.Gx*o.Gy));static ZERO=new p(ku,Au,Au,ku);static Fp=i;static Fn=a;X;Y;Z;T;constructor(e,t,n,r){this.X=d(`x`,e),this.Y=d(`y`,t),this.Z=d(`z`,n,!0),this.T=d(`t`,r),Object.freeze(this)}static CURVE(){return o}static fromAffine(e){if(e instanceof p)throw Error(`extended point not allowed`);let{x:t,y:n}=e||{};return d(`x`,t),d(`y`,n),new p(t,n,Au,l(t*n))}static fromBytes(e,t=!1){let n=i.BYTES,{a:r,d:a}=o;e=wl(R(e,n,`point`)),hl(t,`zip215`);let s=wl(e),d=e[n-1];s[n-1]=d&-129;let f=bl(s);Ol(`point.y`,f,ku,t?c:i.ORDER);let m=l(f*f),{isValid:h,value:g}=u(l(m-Au),l(a*m-r));if(!h)throw Error(`bad point: invalid y coordinate`);let _=(g&Au)===Au,v=(d&128)!=0;if(!t&&g===ku&&v)throw Error(`bad point: x=0 and x_0=1`);return v!==_&&(g=l(-g)),p.fromAffine({x:g,y:f})}static fromHex(e,t=!1){return p.fromBytes(dl(e),t)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(e=8,t=!0){return m.createCache(this,e),t||this.multiply(ju),this}assertValidity(){let e=this,{a:t,d:n}=o;if(e.is0())throw Error(`bad point: ZERO`);let{X:r,Y:i,Z:a,T:s}=e,c=l(r*r),u=l(i*i),d=l(a*a),f=l(d*d);if(l(d*l(l(c*t)+u))!==l(f+l(n*l(c*u))))throw Error(`bad point: equation left != right (1)`);if(l(r*i)!==l(a*s))throw Error(`bad point: equation left != right (2)`)}equals(e){f(e);let{X:t,Y:n,Z:r}=this,{X:i,Y:a,Z:o}=e,s=l(t*o),c=l(i*r),u=l(n*o),d=l(a*r);return s===c&&u===d}is0(){return this.equals(p.ZERO)}negate(){return new p(l(-this.X),this.Y,this.Z,l(-this.T))}double(){let{a:e}=o,{X:t,Y:n,Z:r}=this,i=l(t*t),a=l(n*n),s=l(ju*l(r*r)),c=l(e*i),u=t+n,d=l(l(u*u)-i-a),f=c+a,m=f-s,h=c-a,g=l(d*m),_=l(f*h),v=l(d*h);return new p(g,_,l(m*f),v)}add(e){f(e);let{a:t,d:n}=o,{X:r,Y:i,Z:a,T:s}=this,{X:c,Y:u,Z:d,T:m}=e,h=l(r*c),g=l(i*u),_=l(s*n*m),v=l(a*d),ee=l((r+i)*(c+u)-h-g),y=v-_,b=v+_,x=l(g-t*h),S=l(ee*y),C=l(b*x),te=l(ee*x);return new p(S,C,l(y*b),te)}subtract(e){return f(e),this.add(e.negate())}multiply(e){if(!a.isValidNot0(e))throw RangeError(`invalid scalar: expected 1 <= sc < curve.n`);let{p:t,f:n}=m.cached(this,e,e=>mu(p,e));return mu(p,[t,n])[0]}multiplyUnsafe(e){if(!a.isValid(e))throw RangeError(`invalid scalar: expected 0 <= sc < curve.n`);return e===ku?p.ZERO:this.is0()||e===Au?this:m.unsafe(this,e,e=>mu(p,e))}isSmallOrder(){return this.clearCofactor().is0()}isTorsionFree(){return m.unsafe(this,o.n).is0()}toAffine(e){let t=this,n=e,{X:r,Y:a,Z:o}=t,s=t.is0();n??=s?Mu:i.inv(o);let c=l(r*n),u=l(a*n),d=i.mul(o,n);if(s)return{x:ku,y:Au};if(d!==Au)throw Error(`invZ was invalid`);return{x:c,y:u}}clearCofactor(){return s===Au?this:this.multiplyUnsafe(s)}toBytes(){let{x:e,y:t}=this.toAffine(),n=i.toBytes(t);return n[n.length-1]|=e&Au?128:0,n}toHex(){return ul(this.toBytes())}toString(){return`<Point ${this.is0()?`ZERO`:this.toHex()}>`}}let m=new wu(p,a.BITS);return a.BITS>=8&&p.BASE.precompute(8),Object.freeze(p.prototype),Object.freeze(p),p}var Fu=class{static BASE;static ZERO;static Fp;static Fn;ep;constructor(e){this.ep=e}static fromBytes(e){Ml()}static fromHex(e){Ml()}get x(){return this.toAffine().x}get y(){return this.toAffine().y}clearCofactor(){return this}assertValidity(){this.ep.assertValidity()}toAffine(e){return this.ep.toAffine(e)}toHex(){return ul(this.toBytes())}toString(){return this.toHex()}isTorsionFree(){return!0}isSmallOrder(){return!1}add(e){return this.assertSame(e),this.init(this.ep.add(e.ep))}subtract(e){return this.assertSame(e),this.init(this.ep.subtract(e.ep))}multiply(e){return this.init(this.ep.multiply(e))}multiplyUnsafe(e){return this.init(this.ep.multiplyUnsafe(e))}double(){return this.init(this.ep.double())}negate(){return this.init(this.ep.negate())}precompute(e,t){return this.ep.precompute(e,t),this}};function Iu(e,t,n={}){if(typeof t!=`function`)throw Error(`"hash" function param is required`);let r=t,i=n;jl(i,{},{adjustScalarBytes:`function`,randomBytes:`function`,domain:`function`,prehash:`function`,zip215:`boolean`,mapToCurve:`function`});let{prehash:a}=i,{BASE:o,Fp:s,Fn:c}=e,l=r.outputLen,u=2*s.BYTES;if(l!==void 0&&(_l(l,`hash.outputLen`),l!==u))throw Error(`hash.outputLen must be ${u}, got ${l}`);let d=i.randomBytes===void 0?B:i.randomBytes,f=i.adjustScalarBytes===void 0?e=>e:i.adjustScalarBytes,p=i.domain===void 0?(e,t,n)=>{if(hl(n,`phflag`),t.length||n)throw Error(`Contexts/pre-hash are not supported`);return e}:i.domain;function m(e){return c.create(bl(e))}function h(e){let t=S.secretKey;R(e,S.secretKey,`secretKey`);let n=R(r(e),2*t,`hashedSecretKey`),i=f(n.slice(0,t));return{head:i,prefix:n.slice(t,2*t),scalar:m(i)}}function g(e){let{head:t,prefix:n,scalar:r}=h(e),i=o.multiply(r);return{head:t,prefix:n,scalar:r,point:i,pointBytes:i.toBytes()}}function _(e){return g(e).pointBytes}function v(e=Uint8Array.of(),...t){return m(r(p(z(...t),R(e,void 0,`context`),!!a)))}function ee(e,t,n={}){e=R(e,void 0,`message`),a&&(e=a(e));let{prefix:r,scalar:i,pointBytes:s}=g(t),l=v(n.context,r,e),u=o.multiply(l).toBytes(),d=v(n.context,u,s,e),f=c.create(l+d*i);if(!c.isValid(f))throw Error(`sign failed: invalid s`);return R(z(u,c.toBytes(f)),S.signature,`result`)}let y={zip215:i.zip215};function b(t,n,r,i=y){let{context:s}=i,c=i.zip215===void 0?!!y.zip215:i.zip215,l=S.signature;t=R(t,l,`signature`),n=R(n,void 0,`message`),r=R(r,S.publicKey,`publicKey`),c!==void 0&&hl(c,`zip215`),a&&(n=a(n));let u=l/2,d=t.subarray(0,u),f=bl(t.subarray(u,l)),p,m,h;try{p=e.fromBytes(r,c),m=e.fromBytes(d,c),h=o.multiplyUnsafe(f)}catch{return!1}if(!c&&p.isSmallOrder())return!1;let g=v(s,d,r,n);return m.add(p.multiplyUnsafe(g)).subtract(h).clearCofactor().is0()}let x=s.BYTES,S={secretKey:x,publicKey:x,signature:2*x,seed:x};function C(e){return e=e===void 0?d(S.seed):e,R(e,S.seed,`seed`)}function te(e){return fl(e)&&e.length===S.secretKey}function ne(t,n){try{return!!e.fromBytes(t,n===void 0?y.zip215:n)}catch{return!1}}let re={getExtendedPublicKey:g,randomSecretKey:C,isValidSecretKey:te,isValidPublicKey:ne,toMontgomery(t){let{y:n}=e.fromBytes(t),r=S.publicKey,i=r===32;if(!i&&r!==57)throw Error(`only defined for 25519 and 448`);let a=i?s.div(Au+n,Au-n):s.div(n-Au,n+Au);return s.toBytes(a)},toMontgomerySecret(e){let t=S.secretKey;return R(e,t),f(r(e.subarray(0,t))).subarray(0,t)}};return Object.freeze(S),Object.freeze(re),Object.freeze({keygen:Ou(C,_),getPublicKey:_,sign:ee,verify:b,utils:re,Point:e,lengths:S})}function Lu(e){if(!Number.isSafeInteger(e)||e<0||e>4294967295)throw Error(`wrong u32 integer:`+e);return e}function Ru(e){if(Lu(e),e<=1)return 1;if(e>2147483648)throw Error(`nextPowerOfTwo overflow: result does not fit u32`);return 1<<zu(e-1)+1>>>0}function zu(e){return Lu(e),31-Math.clz32(e)}function Bu(e,t,n,r,i){let a=e,o=n||((e,t)=>Array(e).fill(t??a.ZERO)),s=e=>{if(Array.isArray(e))return!0;if(!ArrayBuffer.isView(e))return!1;let t=e;return typeof t.length==`number`&&typeof t.slice==`function`&&typeof t[Symbol.iterator]==`function`},c=(...e)=>{if(!e.length)return 0;for(let t of e)if(!s(t))throw Error(`poly: not polynomial: `+t);let t=e[0].length;for(let n=1;n<e.length;n++)if(e[n].length!==t)throw Error(`poly: mismatched lengths ${t} vs ${e[n].length}`);if(i!==void 0&&t!==i)throw Error(`poly: expected fixed length ${i}, got ${t}`);return t};function l(e,n,r=!1){let i=zu(n),o=r?t.brp(i):t.roots(i);for(let t=0;t<n;t++)if(a.eql(e,o[t]))return t;return-1}return{roots:t,create:o,length:i,extend:(e,t)=>{c(e);let n=o(t,a.ZERO);for(let r=0;r<Math.min(e.length,t);r++)n[r]=e[r];return n},degree:e=>{c(e);for(let t=e.length-1;t>=0;t--)if(!a.is0(e[t]))return t;return-1},add:(e,t)=>{let n=c(e,t),r=o(n);for(let i=0;i<n;i++)r[i]=a.add(e[i],t[i]);return r},sub:(e,t)=>{let n=c(e,t),r=o(n);for(let i=0;i<n;i++)r[i]=a.sub(e[i],t[i]);return r},dot:(e,t)=>{let n=c(e,t),r=o(n);for(let i=0;i<n;i++)r[i]=a.mul(e[i],t[i]);return r},mul:(e,t)=>{if(s(t)){let n=c(e,t);if(r){let n=r.direct(e,!1,!0),i=r.direct(t,!1,!0);for(let e=0;e<n.length;e++)n[e]=a.mul(n[e],i[e]);return r.inverse(n,!0,!1)}else{let r=o(n);for(let i=0;i<n;i++)for(let o=0;o<n;o++){let s=(i+o)%n;r[s]=a.add(r[s],a.mul(e[i],t[o]))}return r}}else{let n=o(c(e));for(let r=0;r<n.length;r++)n[r]=a.mul(e[r],t);return n}},convolve(e,t){let n=Ru(e.length+t.length-1);return this.mul(this.extend(e,n),this.extend(t,n))},shift(e,t){let n=o(c(e));n[0]=e[0];for(let r=1,i=a.ONE;r<e.length;r++)i=a.mul(i,t),n[r]=a.mul(e[r],i);return n},clone:e=>{c(e);let t=o(e.length);for(let n=0;n<e.length;n++)t[n]=e[n];return t},eval:(e,t)=>{c(e,t);let n=a.ZERO;for(let r=0;r<e.length;r++)n=a.add(n,a.mul(e[r],t[r]));return n},monomial:{basis:(e,t)=>{let n=o(t),r=a.ONE;for(let i=0;i<t;i++)n[i]=r,r=a.mul(r,e);return n},eval:(e,t)=>{c(e);let n=a.ZERO;for(let r=e.length-1;r>=0;r--)n=a.add(a.mul(n,t),e[r]);return n}},lagrange:{basis:(e,n,r=!1,i)=>{let s=zu(n),c=i||(r?t.brp(s):t.roots(s)),u=o(n),d=l(e,n,r);if(d!==-1)return u[d]=a.ONE,u;let f=a.pow(e,BigInt(n)),p=a.mul(a.sub(f,a.ONE),a.inv(BigInt(n))),m=o(n);for(let t=0;t<n;t++)m[t]=a.sub(e,c[t]);let h=a.invertBatch(m);for(let e=0;e<n;e++)u[e]=a.mul(p,a.mul(c[e],h[e]));return u},eval(e,t,n=!1){c(e);let r=l(t,e.length,n);if(r!==-1)return e[r];let i=this.basis(t,e.length,n),o=a.ZERO;for(let t=0;t<e.length;t++)a.is0(e[t])||(o=a.add(o,a.mul(e[t],i[t])));return o}},vanishing(e){c(e);let t=o(e.length+1,a.ZERO);t[0]=a.ONE;for(let n of e){let e=a.neg(n);for(let n=t.length-1;n>0;n--)t[n]=a.add(a.mul(t[n],e),t[n-1]);t[0]=a.mul(t[0],e)}return t}}}var Vu=yl;function Hu(e,t){if(_l(e),_l(t),t<0||t>4)throw Error(`invalid I2OSP length: `+t);if(e<0||e>2**(8*t)-1)throw Error(`invalid I2OSP input: `+e);let n=Array.from({length:t}).fill(0);for(let r=t-1;r>=0;r--)n[r]=e&255,e>>>=8;return new Uint8Array(n)}function Uu(e,t){let n=new Uint8Array(e.length);for(let r=0;r<e.length;r++)n[r]=e[r]^t[r];return n}function Wu(e){if(!fl(e)&&typeof e!=`string`)throw Error(`DST must be Uint8Array or ascii string`);let t=typeof e==`string`?Tl(e):e;if(t.length===0)throw Error(`DST must be non-empty`);return t}function Gu(e,t,n,r){R(e),_l(n),t=Wu(t),t.length>255&&(t=r(z(Tl(`H2C-OVERSIZE-DST-`),t)));let{outputLen:i,blockLen:a}=r,o=Math.ceil(n/i);if(n>65535||o>255)throw Error(`expand_message_xmd: invalid lenInBytes`);let s=z(t,Hu(t.length,1)),c=new Uint8Array(a),l=Hu(n,2),u=Array(o),d=r(z(c,e,l,Hu(0,1),s));u[0]=r(z(d,Hu(1,1),s));for(let e=1;e<o;e++)u[e]=r(z(Uu(d,u[e-1]),Hu(e+1,1),s));return z(...u).slice(0,n)}function Ku(e,t,n,r,i){if(R(e),_l(n),t=Wu(t),t.length>255){let e=Math.ceil(2*r/8);t=i.create({dkLen:e}).update(Tl(`H2C-OVERSIZE-DST-`)).update(t).digest()}if(n>65535||t.length>255)throw Error(`expand_message_xof: invalid lenInBytes`);return i.create({dkLen:n}).update(e).update(Hu(n,2)).update(t).update(Hu(t.length,1)).digest()}function qu(e,t,n){jl(n,{p:`bigint`,m:`number`,k:`number`,hash:`function`});let{p:r,k:i,m:a,hash:o,expand:s,DST:c}=n;if(_l(o.outputLen,`valid hash`),R(e),_l(t),t<1)throw Error(`hash_to_field: expected count >= 1`);if(a<1)throw Error(`hash_to_field: expected m >= 1`);let l=r.toString(2).length,u=Math.ceil((l+i)/8),d=t*a*u,f;if(s===`xmd`)f=Gu(e,c,d,o);else if(s===`xof`)f=Ku(e,c,d,i,o);else if(s===`_internal_pass`)f=e;else throw Error(`expand must be "xmd" or "xof"`);let p=Array(t);for(let e=0;e<t;e++){let t=Array(a);for(let n=0;n<a;n++){let i=u*(n+e*a);t[n]=H(Vu(f.subarray(i,i+u)),r)}p[e]=t}return p}var Ju=`HashToScalar-`;function Yu(e,t,n){if(typeof t!=`function`)throw Error(`mapToCurve() must be defined`);let r=e=>Object.freeze({...e,DST:fl(e.DST)?wl(e.DST):e.DST,...e.encodeDST===void 0?{}:{encodeDST:fl(e.encodeDST)?wl(e.encodeDST):e.encodeDST}}),i=r(n);function a(n){return e.fromAffine(t(n))}function o(t){let n=t.clearCofactor();return n.equals(e.ZERO)?e.ZERO:(n.assertValidity(),n)}return Object.freeze({get defaults(){return r(i)},Point:e,hashToCurve(e,t){let n=qu(e,2,Object.assign({},i,t)),r=a(n[0]),s=a(n[1]);return o(r.add(s))},encodeToCurve(e,t){let n=i.encodeDST?{DST:i.encodeDST}:{};return o(a(qu(e,1,Object.assign({},i,n,t))[0]))},mapToCurve(e){if(i.m===1){if(typeof e!=`bigint`)throw Error(`expected bigint (m=1)`);return o(a([e]))}if(!Array.isArray(e))throw Error(`expected array of bigints`);for(let t of e)if(typeof t!=`bigint`)throw Error(`expected array of bigints`);return o(a(e))},hashToScalar(t,n){let r=e.Fn.ORDER;return qu(t,1,Object.assign({},i,{p:r,m:1,DST:Ju},n))[0][0]}})}var Xu=e=>{if(!Number.isSafeInteger(e.min)||!Number.isSafeInteger(e.max)||e.min<2||e.max<2||e.min>e.max)throw Error(`Wrong signers info: min=`+e.min+` max=`+e.max)},Zu=(e,t)=>{if(t<e.min||t>e.max)throw Error(`Wrong number of commitments=`+t)},Qu=class extends Error{cheaters;constructor(e,t){super(e),this.cheaters=t}};function $u(e){jl(e,{name:`string`,hash:`function`},{hashToScalar:`function`,validatePoint:`function`,parsePublicKey:`function`,adjustScalar:`function`,adjustPoint:`function`,challenge:`function`,adjustNonces:`function`,adjustSecret:`function`,adjustPublic:`function`,adjustGroupCommitmentShare:`function`,adjustDKG:`function`}),fu(e.Point);let{Point:t}=e,n=e.Fn===void 0?t.Fn:e.Fn,r=e.hash,i=e.hashToScalar===void 0?(e,t={DST:new Uint8Array})=>{let i=r(z(t.DST,e));return n.create(n.isLE?bl(i):yl(i))}:e.hashToScalar,a=yi(e.H1===void 0?e.name+`rho`:e.H1),o=yi(e.H2===void 0?e.name+`chal`:e.H2),s=yi(e.H3===void 0?e.name+`nonce`:e.H3),c=yi(e.H4===void 0?e.name+`msg`:e.H4),l=yi(e.H5===void 0?e.name+`com`:e.H5),u=yi(e.HDKG===void 0?e.name+`dkg`:e.HDKG),d=yi(e.HID===void 0?e.name+`id`:e.HID),f=e=>i(e,{DST:a}),p=e=>i(e,{DST:o}),m=e=>i(e,{DST:s}),h=e=>r(z(c,e)),g=e=>r(z(l,e)),_=e=>i(e,{DST:u}),v=e=>i(e,{DST:d}),ee=(e=B)=>{let t=lu(e(cu(n.ORDER)),n.ORDER,n.isLE);return n.isLE?bl(t):yl(t)},y=e=>e.toBytes(),b=n=>{let r=t.fromBytes(n);return e.validatePoint&&e.validatePoint(r),r},x=(e,r)=>({identifier:e,hiding:y(t.BASE.multiply(n.fromBytes(r.hiding))),binding:y(t.BASE.multiply(n.fromBytes(r.binding)))}),S=e.adjustPoint===void 0?e=>e:e.adjustPoint,C=e=>{if(!n.isValid(e)||n.is0(e))throw Error(`Invalid identifier `+e);return e},te=e=>ul(n.toBytes(C(e))),ne=e=>{let t=C(n.fromBytes(dl(e)));if(te(t)!==e)throw Error(`expected canonical identifier hex`);return t},re={encode:(t,r)=>{let i=z(y(t),n.toBytes(r));return e.adjustTx&&(i=e.adjustTx.encode(i)),i},decode:t=>(e.adjustTx&&(t=e.adjustTx.decode(t)),{R:b(t.subarray(0,-n.BYTES)),z:n.fromBytes(t.subarray(-n.BYTES))})},ie=(n=B)=>{let r=ee(n);e.adjustScalar&&(r=e.adjustScalar(r));let i=t.BASE.multiply(r);return{scalar:r,point:i}},ae=`roots are unavailable in FROST polynomial mode`,oe=Bu(n,{info:{G:n.ZERO,oddFactor:n.ZERO,powerOfTwo:0},roots(){throw Error(ae)},brp(){throw Error(ae)},inverse(){throw Error(ae)},omega(){throw Error(ae)},clear(){}}),se=(e,n)=>Tu(t,e,n),ce=(e,t)=>{if(!t.length)throw Error(`empty coefficients`);return oe.monomial.eval(t,e)},le=(e,t)=>{let r=`invalid parameters`;if(!e.some(e=>n.eql(e,t)))throw Error(r);let i=new Set(e);if(i.size!==e.length||!i.has(t))throw Error(r);let a=n.ONE,o=n.ONE;for(let r of e)n.eql(r,t)||(a=n.mul(a,r),o=n.mul(o,n.sub(r,t)));return n.div(a,o)},ue=(e,t)=>se(t,oe.monomial.basis(e,t.length)),de=(e,r,i,a=B)=>{Xu(e);let o=r===void 0?ee(a):n.fromBytes(r);if(!i){i=[];for(let t=0;t<e.min-1;t++)i.push(ee(a))}if(i.length!==e.min-1)throw Error(`wrong coefficients length`);let s=[o,...i];return{coefficients:s,commitment:s.map(e=>t.BASE.multiply(e)),secret:o}},fe={challenge:(e,t,r)=>_(z(n.toBytes(e),y(t),y(r))),compute(e,t,r,i=B){if(t.length<1)throw Error(`coefficients should have at least one element`);let{point:a,scalar:o}=ie(i),s=r[0],c=this.challenge(e,s,a),l=n.add(o,n.mul(t[0],c));return re.encode(a,l)},validate(e,n,r){if(n.length<1)throw Error(`commitment should have at least one element`);let{R:i,z:a}=re.decode(r),o=b(n[0]),s=this.challenge(e,o,i);if(!i.equals(t.BASE.multiply(a).subtract(o.multiply(s))))throw Error(`invalid proof of knowledge`)}},pe={challenge:(t,n,r)=>e.challenge?e.challenge(t,n,r):p(z(y(t),y(n),r)),sign(e,r,i=B){let{point:a,scalar:o}=ie(i),s=t.BASE.multiply(r),c=this.challenge(a,s,e);return[a,n.add(o,n.mul(c,r))]},verify(n,r,i,a){e.adjustPoint&&(a=e.adjustPoint(a)),e.adjustPoint&&(r=e.adjustPoint(r));let o=this.challenge(r,a,n),s=t.BASE.multiply(i),c=a.multiply(o),l=s.subtract(c).subtract(r);return l.clearCofactor&&(l=l.clearCofactor()),t.ZERO.equals(l)}},me=(e,n,r)=>{if(!t.BASE.multiply(r).equals(ue(e,n)))throw Error(`invalid secret share`)},he={fromNumber(e){if(!Number.isSafeInteger(e))throw Error(`expected safe interger`);return te(BigInt(e))},derive(e){if(typeof e!=`string`)throw Error(`wrong identifier string: `+e);return te(v(yi(e)))}},ge=(e,t=B)=>m(z(t(32),n.toBytes(e))),_e=(e,r,i)=>{let a=r.map(e=>[e.identifier,ne(e.identifier),b(e.hiding),b(e.binding)]);a.sort((e,t)=>e[1]<t[1]?-1:+(e[1]>t[1]));let o=[];for(let[e,t,r,i]of a)o.push(n.toBytes(t),y(r),y(i));let s=g(z(...o)),c=z(y(e),h(i),s),l={};for(let[e,t]of a)l[e]=f(z(c,n.toBytes(t)));let u=[],d=[];for(let[e,r,i,o]of a){if(t.ZERO.equals(i)||t.ZERO.equals(o))throw Error(`infinity commitment`);u.push(i,o),d.push(n.ONE,l[e])}let p=se(u,d);return{identifiers:a.map(e=>e[1]),groupCommitment:p,bindingFactors:l}},ve=(e,t,n,r)=>{let i=S(b(e)),a=ne(r),{identifiers:o,groupCommitment:s,bindingFactors:c}=_e(i,t,n),l=c[r];return{lambda:le(o,a),challenge:pe.challenge(s,i,n),bindingFactor:l,groupCommitment:s}};Object.freeze(he);let ye={Identifier:he,DKG:Object.freeze({round1:(e,t,n,r=B)=>{Xu(t);let i=ne(e),{coefficients:a,commitment:o}=de(t,n,void 0,r),s=fe.compute(i,a,o,r),c=o.map(y);return{public:{identifier:te(i),commitment:c,proofOfKnowledge:s},secret:{identifier:i,coefficients:a,commitment:o.map(y),signers:{min:t.min,max:t.max},step:1}}},round2:(e,t)=>{if(t.length!==e.signers.max-1)throw Error(`wrong number of round1 packages`);if(!e.coefficients||e.step===3)throw Error(`round3 package used in round2`);let r={};for(let i of t){if(i.commitment.length!==e.signers.min)throw Error(`wrong number of commitments`);let t=ne(i.identifier);if(t===e.identifier)throw Error(`duplicate id=`+te(t));fe.validate(t,i.commitment,i.proofOfKnowledge);for(let e of i.commitment)b(e);if(r[i.identifier])throw Error(`Duplicate id=`+t);let a=n.toBytes(ce(t,e.coefficients));r[i.identifier]={identifier:te(e.identifier),signingShare:a}}return e.step=2,r},round3:(r,i,a)=>{if(i.length!==r.signers.max-1)throw Error(`wrong length of round1 packages`);if(!r.coefficients||r.step!==2)throw Error(`round2 package used in round3`);if(a.length!==i.length)throw Error(`wrong length of round2 packages`);let o={};for(let e of i){if(!e.identifier||!e.commitment)throw Error(`wrong round1 share`);o[e.identifier]={...e}}for(let e of a){if(!e.identifier||!e.signingShare)throw Error(`wrong round2 share`);if(!o[e.identifier])throw Error(`round1 share for `+e.identifier+` is missing`);o[e.identifier].signingShare=e.signingShare}if(Object.keys(o).length!==i.length)throw Error(`mismatch identifiers between rounds`);let s=n.ZERO;if(r.commitment.length!==r.signers.min)throw Error(`wrong commitments length`);let c=r.commitment.map(b),l=ce(r.identifier,r.coefficients);me(r.identifier,c,l);let u=c.map(y),d={[te(r.identifier)]:u};for(let e in o){let t=o[e];if(!t.signingShare||!t.commitment)throw Error(`mismatch identifiers`);let i=ne(e),a=n.fromBytes(t.signingShare),c=t.commitment.map(b);me(r.identifier,c,a),s=n.add(s,a);let l=te(i);if(d[l])throw Error(`duplicated id=`+l);d[l]=t.commitment}s=n.add(s,l);let f=Array(r.signers.min).fill(t.ZERO);for(let e in d){let t=d[e];if(t.length!==r.signers.min)throw Error(`wrong commitments length`);for(let e=0;e<t.length;e++)f[e]=f[e].add(b(t[e]))}let p=f.map(y),m={};for(let e in d)m[e]=y(ue(ne(e),f));let h={public:{signers:{min:r.signers.min,max:r.signers.max},commitments:p,verifyingShares:Object.fromEntries(Object.entries(m).map(([e,t])=>[e,t.slice()]))},secret:{identifier:te(r.identifier),signingShare:n.toBytes(s)}};e.adjustDKG&&(h=e.adjustDKG(h));for(let e=0;e<r.coefficients.length;e++)r.coefficients[e]-=r.coefficients[e];return delete r.coefficients,r.step=3,h},clean(e){if(e.identifier-=e.identifier,e.coefficients)for(let t=0;t<e.coefficients.length;t++)e.coefficients[t]-=e.coefficients[t];e.step=3}}),trustedDealer(e,r,i,a=B){if(Xu(e),r===void 0){r=[];for(let t=1;t<=e.max;t++)r.push(he.fromNumber(t))}else if(!Array.isArray(r)||r.length!==e.max)throw Error(`identifiers should be array of `+e.max);let o={};for(let e of r){let t=ne(e);if(e in o)throw Error(`duplicated id=`+e);o[e]=t}let s=de(e,i,void 0,a),c=s.commitment.map(y),l={},u={};for(let e of r){let r=ce(o[e],s.coefficients);u[e]=y(t.BASE.multiply(r)),l[e]={identifier:e,signingShare:n.toBytes(r)}}return{public:{signers:{min:e.min,max:e.max},commitments:c,verifyingShares:u},secretShares:l}},validateSecret(e,t){me(ne(e.identifier),t.commitments.map(b),n.fromBytes(e.signingShare))},commit(e,t=B){let r=n.fromBytes(e.signingShare),i=ge(r,t),a=ge(r,t),o={hiding:n.toBytes(i),binding:n.toBytes(a)};return{nonces:o,commitments:x(e.identifier,o)}},signShare(r,i,a,o,s){Zu(i.signers,o.length);let c=n.fromBytes(a.hiding),l=n.fromBytes(a.binding);if(n.is0(c)||n.is0(l))throw Error(`signing nonces already used`);let u={identifier:r.identifier,hiding:y(t.BASE.multiply(c)),binding:y(t.BASE.multiply(l))},d=o.find(e=>e.identifier===r.identifier);if(!d)throw Error(`missing signer commitment`);if(ul(d.hiding)!==ul(u.hiding)||ul(d.binding)!==ul(u.binding))throw Error(`incorrect signer commitment`);e.adjustSecret&&(r=e.adjustSecret(r,i)),e.adjustPublic&&(i=e.adjustPublic(i));let f=n.fromBytes(r.signingShare),{lambda:p,challenge:m,bindingFactor:h,groupCommitment:g}=ve(i.commitments[0],o,s,r.identifier),_=e.adjustNonces?e.adjustNonces(g,a):a,v=e.adjustNonces?n.fromBytes(_.hiding):c,ee=e.adjustNonces?n.fromBytes(_.binding):l,b=n.mul(n.mul(p,f),m),x=n.mul(ee,h),S=n.toBytes(n.add(n.add(v,x),b));return a.hiding.fill(0),a.binding.fill(0),S},verifyShare(r,i,a,o,s){e.adjustPublic&&(r=e.adjustPublic(r));let c=i.find(e=>e.identifier===o);if(!c)throw Error(`cannot find identifier commitment`);let l=b(r.verifyingShares[o]),u=b(c.hiding),d=b(c.binding),{lambda:f,challenge:p,bindingFactor:m,groupCommitment:h}=ve(r.commitments[0],i,a,o),g=u.add(d.multiply(m));e.adjustGroupCommitmentShare&&(g=e.adjustGroupCommitmentShare(h,g));let _=t.BASE.multiply(n.fromBytes(s)),v=g.add(l.multiply(n.mul(p,f)));return _.equals(v)},aggregate(t,r,i,a){e.adjustPublic&&(t=e.adjustPublic(t));try{Zu(t.signers,r.length)}catch{throw new Qu(`aggregation failed`,[])}let o=r.map(e=>e.identifier);if(o.length!==Object.keys(a).length)throw new Qu(`aggregation failed`,[]);for(let e of o)if(!(e in a)||!(e in t.verifyingShares))throw new Qu(`aggregation failed`,[]);let s=b(t.commitments[0]),{groupCommitment:c}=_e(s,r,i),l=n.ZERO;for(let e of o)l=n.add(l,n.fromBytes(a[e]));if(!pe.verify(i,c,l,s)){let e=[];for(let n of o)this.verifyShare(t,r,i,n,a[n])||e.push(n);throw new Qu(`aggregation failed`,e)}return re.encode(c,l)},sign(t,r){let i=n.fromBytes(r);e.adjustScalar&&(i=e.adjustScalar(i));let[a,o]=pe.sign(t,i);return re.encode(a,o)},verify(t,n,r){let i=e.parsePublicKey?e.parsePublicKey(r):b(r),{R:a,z:o}=re.decode(t);return pe.verify(n,a,o,i)},combineSecret(e,t){if(Xu(t),!Array.isArray(e)||e.length<t.min)throw Error(`wrong secret shares array`);let r=[],i={};for(let t of e){let e=ne(t.identifier),a=te(e);if(i[a])throw Error(`duplicated id=`+a);i[a]=!0,r.push([e,n.fromBytes(t.signingShare)])}let a=r.map(([e])=>e),o=n.ZERO;for(let[e,t]of r)o=n.add(o,n.mul(t,le(a,e)));return n.toBytes(o)},utils:Object.freeze({Fn:n,randomScalar:(e=B)=>n.toBytes(ie(e).scalar),generateSecretPolynomial:(e,t,n,r)=>{let i=de(e,t,n,r);return{...i,commitment:i.commitment.map(y)}}})};return Object.freeze(ye)}var ed=Tl(Ju);function td(e){jl(e,{name:`string`,hash:`function`,hashToScalar:`function`,hashToGroup:`function`}),fu(e.Point);let{name:t,Point:n,hash:r}=e,{Fn:i}=n,a=(t,n)=>e.hashToGroup(t,{DST:z(Tl(`HashToGroup-`),n)}),o=(t,n)=>e.hashToScalar(t,{DST:z(ed,n)}),s=(e=B)=>{let t=lu(e(cu(i.ORDER)),i.ORDER,i.isLE);return i.isLE?bl(t):yl(t)},c=(e,t)=>Tu(n,e,t),l=e=>z(Tl(`OPRFV1-`),new Uint8Array([e]),Tl(`-`+t)),u=l(0),d=l(1),f=l(2);function p(...e){let t=[];for(let n of e)typeof n==`number`?t.push(xl(n,2)):typeof n==`string`?t.push(Tl(n)):(R(n),t.push(xl(n.length,2),n));return z(...t)}let m=(e,t)=>{if(R(t,void 0,e),t.length>65535)throw Error(`"${e}" expected Uint8Array of length <= 65535, got length=${t.length}`);return t},h=(...e)=>r(p(...e,`Finalize`));function g(e,t,n,i){let a=r(p(e.toBytes(),z(Tl(`Seed-`),i))),s=[];for(let e=0;e<t.length;e++){let r=t[e].toBytes(),c=n[e].toBytes(),l=o(p(a,e,r,c,`Composite`),i);s.push(l)}return s}function _(e,t,n,r){let i=g(e,t,n,r);return{M:c(t,i),Z:c(n,i)}}function v(e,t,n,r,i){let a=c(n,g(t,n,r,i));return{M:a,Z:a.multiply(e)}}function ee(e,t,n,r,i,a){let[s,c,l,u,d]=[e,t,n,r,i].map(e=>e.toBytes());return o(p(s,c,l,u,d,`Challenge`),a)}function y(e,t,r,a,o,c){let{M:l,Z:u}=v(t,r,a,o,e),d=s(c),f=ee(r,l,u,n.BASE.multiply(d),l.multiply(d),e);return z(...[f,i.sub(d,i.mul(f,t))].map(e=>i.toBytes(e)))}function b(e,t,r,a,o){R(o,2*i.BYTES);let{M:s,Z:c}=_(t,r,a,e),[l,u]=[o.subarray(0,i.BYTES),o.subarray(i.BYTES)].map(e=>i.fromBytes(e)),d=ee(t,s,c,n.BASE.multiply(u).add(t.multiply(l)),s.multiply(u).add(c.multiply(l)),e);if(!i.eql(l,d))throw Error(`proof verification failed`)}function x(){let e=s(),t=n.BASE.multiply(e);return{secretKey:i.toBytes(e),publicKey:t.toBytes()}}function S(t,r,a){R(r,32,`seed`),a=m(`keyInfo`,a);let o=z(Tl(`DeriveKeyPair`),t),s=z(r,p(a),Uint8Array.of(0));for(let t=0;t<=255;t++){s[s.length-1]=t;let r=e.hashToScalar(s,{DST:o});if(!i.is0(r))return{secretKey:i.toBytes(r),publicKey:n.BASE.multiply(r).toBytes()}}throw Error(`Cannot derive key`)}let C=(e,t)=>{let r=n.fromBytes(t);if(r.equals(n.ZERO))throw Error(e+` point at infinity`);return r};function te(e,t,r=B){t=m(`input`,t);let o=s(r),c=a(t,e);if(c.equals(n.ZERO))throw Error(`Input point at infinity`);let l=c.multiply(o);return{blind:i.toBytes(o),blinded:l.toBytes()}}function ne(e,t,r){r=m(`input`,r);let o=i.fromBytes(t),s=a(r,e);if(s.equals(n.ZERO))throw Error(`Input point at infinity`);let c=s.multiply(o).toBytes();return h(r,c)}let re=Object.freeze({generateKeyPair:x,deriveKeyPair:(e,t)=>S(u,e,t),blind:(e,t=B)=>te(u,e,t),blindEvaluate(e,t){let n=i.fromBytes(e);return C(`blinded`,t).multiply(n).toBytes()},finalize(e,t,n){e=m(`input`,e);let r=i.fromBytes(t),a=C(`evaluated`,n).multiply(i.inv(r)).toBytes();return h(e,a)},evaluate:(e,t)=>ne(u,e,t)}),ie={name:t,oprf:re,voprf:Object.freeze({generateKeyPair:x,deriveKeyPair:(e,t)=>S(d,e,t),blind:(e,t=B)=>te(d,e,t),blindEvaluateBatch(e,t,n,r=B){if(!Array.isArray(n))throw Error(`expected array`);let a=i.fromBytes(e),o=C(`public key`,t),s=n.map(e=>C(`blinded`,e)),c=s.map(e=>e.multiply(a)),l=y(d,a,o,s,c,r);return{evaluated:c.map(e=>e.toBytes()),proof:l}},blindEvaluate(e,t,n,r=B){let i=this.blindEvaluateBatch(e,t,[n],r);return{evaluated:i.evaluated[0],proof:i.proof}},finalizeBatch(e,t,n){if(!Array.isArray(e))throw Error(`expected array`);return b(d,C(`public key`,t),e.map(e=>C(`blinded`,e.blinded)),e.map(e=>C(`evaluated`,e.evaluated)),n),e.map(e=>re.finalize(e.input,e.blind,e.evaluated))},finalize(e,t,n,r,i,a){return this.finalizeBatch([{input:e,blind:t,evaluated:n,blinded:r}],i,a)[0]},evaluate:(e,t)=>ne(d,e,t)}),poprf:e=>{e=m(`info`,e);let t=o(p(`Info`,e),f),r=n.BASE.multiply(t);return Object.freeze({generateKeyPair:x,deriveKeyPair:(e,t)=>S(f,e,t),blind(e,t,o=B){e=m(`input`,e);let c=C(`public key`,t),l=r.add(c);if(l.equals(n.ZERO))throw Error(`tweakedKey point at infinity`);let u=s(o),d=a(e,f);if(d.equals(n.ZERO))throw Error(`Input point at infinity`);let p=d.multiply(u);return{blind:i.toBytes(u),blinded:p.toBytes(),tweakedKey:l.toBytes()}},blindEvaluateBatch(e,r,a=B){if(!Array.isArray(r))throw Error(`expected array`);let o=i.fromBytes(e),s=i.add(o,t),c=i.inv(s),l=r.map(e=>C(`blinded`,e)),u=l.map(e=>e.multiply(c)),d=y(f,s,n.BASE.multiply(s),u,l,a);return{evaluated:u.map(e=>e.toBytes()),proof:d}},blindEvaluate(e,t,n=B){let r=this.blindEvaluateBatch(e,[t],n);return{evaluated:r.evaluated[0],proof:r.proof}},finalizeBatch(t,n,r){if(!Array.isArray(t))throw Error(`expected array`);let a=t.map(e=>m(`input`,e.input)),o=t.map(e=>C(`evaluated`,e.evaluated));return b(f,C(`tweakedKey`,r),o,t.map(e=>C(`blinded`,e.blinded)),n),t.map((t,n)=>{let r=i.fromBytes(t.blind),s=o[n].multiply(i.inv(r)).toBytes();return h(a[n],e,s)})},finalize(e,t,n,r,i,a){return this.finalizeBatch([{input:e,blind:t,evaluated:n,blinded:r}],i,a)[0]},evaluate(r,o){o=m(`input`,o);let s=i.fromBytes(r),c=a(o,f);if(c.equals(n.ZERO))throw Error(`Input point at infinity`);let l=i.add(s,t),u=i.inv(l),d=c.multiply(u).toBytes();return h(o,e,d)}})},__tests:Object.freeze({Fn:i})};return Object.freeze(ie)}var nd=BigInt(0),rd=BigInt(1),id=BigInt(2),ad=BigInt(3),od=BigInt(5),sd=BigInt(8),cd=BigInt(`0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed`),ld={p:cd,n:BigInt(`0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed`),h:sd,a:BigInt(`0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec`),d:BigInt(`0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3`),Gx:BigInt(`0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a`),Gy:BigInt(`0x6666666666666666666666666666666666666666666666666666666666666658`)};function ud(e){let t=BigInt(10),n=BigInt(20),r=BigInt(40),i=BigInt(80),a=cd,o=e*e%a*e%a,s=Hl(Hl(o,id,a)*o%a,rd,a)*e%a,c=Hl(s,od,a)*s%a,l=Hl(c,t,a)*c%a,u=Hl(l,n,a)*l%a,d=Hl(u,r,a)*u%a;return{pow_p_5_8:Hl(Hl(Hl(Hl(d,i,a)*d%a,i,a)*d%a,t,a)*c%a,id,a)*e%a,b2:o}}function dd(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var fd=BigInt(`19681161376707505956807079304988542015446066515923890162744021073123829784752`);function pd(e,t){let n=cd,r=H(t*t*t,n),i=ud(e*H(r*r*t,n)).pow_p_5_8,a=H(e*r*i,n),o=H(t*a*a,n),s=a,c=H(a*fd,n),l=o===e,u=o===H(-e,n),d=o===H(-e*fd,n);return l&&(a=s),(u||d)&&(a=c),Xl(a,n)&&(a=H(-a,n)),{isValid:l||u,value:a}}var md=Pu(ld,{uvRatio:pd}),U=md.Fp,hd=md.Fn;function gd(e){return Iu(md,cl,Object.assign({adjustScalarBytes:dd,zip215:!0},e))}var _d=gd({});$u({name:`FROST-ED25519-SHA512-v1`,Point:md,validatePoint:e=>{if(e.assertValidity(),!e.isTorsionFree())throw Error(`bad point: not torsion-free`)},hash:cl,H2:``});var vd=(cd+ad)/sd,yd=U.pow(id,vd),bd=U.sqrt(U.neg(U.ONE));function xd(e){let t=(cd-od)/sd,n=BigInt(486662),r=U.sqr(e);r=U.mul(r,id);let i=U.add(r,U.ONE),a=U.neg(n),o=U.sqr(i),s=U.mul(o,i),c=U.mul(r,n);c=U.mul(c,a),c=U.add(c,o),c=U.mul(c,a);let l=U.sqr(s);o=U.sqr(l),l=U.mul(l,s),l=U.mul(l,c),o=U.mul(o,l);let u=U.pow(o,t);u=U.mul(u,l);let d=U.mul(u,bd);o=U.sqr(u),o=U.mul(o,s);let f=U.eql(o,c),p=U.cmov(d,u,f),m=U.mul(a,r),h=U.mul(u,e);h=U.mul(h,yd);let g=U.mul(h,bd),_=U.mul(c,r);o=U.sqr(h),o=U.mul(o,s);let v=U.eql(o,_),ee=U.cmov(g,h,v);o=U.sqr(p),o=U.mul(o,s);let y=U.eql(o,c),b=U.cmov(m,a,y),x=U.cmov(ee,p,y),S=U.isOdd(x);return x=U.cmov(x,U.neg(x),y!==S),{xMn:b,xMd:i,yMn:x,yMd:rd}}var Sd=ou(U,U.neg(BigInt(486664)));function Cd(e){let{xMn:t,xMd:n,yMn:r,yMd:i}=xd(e),a=U.mul(t,i);a=U.mul(a,Sd);let o=U.mul(n,r),s=U.sub(t,n),c=U.add(t,n),l=U.mul(o,c),u=U.eql(l,U.ZERO);a=U.cmov(a,U.ZERO,u),o=U.cmov(o,U.ONE,u),s=U.cmov(s,U.ONE,u),c=U.cmov(c,U.ONE,u);let[d,f]=eu(U,[o,c],!0);return{x:U.mul(a,d),y:U.mul(s,f)}}Yu(md,e=>Cd(e[0]),{DST:`edwards25519_XMD:SHA-512_ELL2_RO_`,encodeDST:`edwards25519_XMD:SHA-512_ELL2_NU_`,p:cd,m:1,k:128,expand:`xmd`,hash:cl});var wd=fd,Td=BigInt(`25063068953384623474111414158702152701244531502492656460079210482610430750235`),Ed=BigInt(`54469307008909316920995813868745141605393597292927456921205312896311721017578`),Dd=BigInt(`1159843021668779879193775521855586647937357759715417654439879720876111806838`),Od=BigInt(`40440834346308536858101042469323190826248399146238708352240133220865137265952`),kd=e=>pd(rd,e),Ad=BigInt(`0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff`),jd=e=>U.create(bl(e)&Ad);function Md(e){let{d:t}=ld,n=cd,r=e=>U.create(e),i=r(wd*e*e),a=r((i+rd)*Dd),o=BigInt(-1),s=r((o-t*i)*r(i+t)),{isValid:c,value:l}=pd(a,s),u=r(l*e);Xl(u,n)||(u=r(-u)),c||(l=u),c||(o=i);let d=r(o*(i-rd)*Od-s),f=l*l,p=r((l+l)*s),m=r(d*Td),h=r(rd-f),g=r(rd+f);return new md(r(p*g),r(h*m),r(m*g),r(p*h))}var Nd=class e extends Fu{static BASE=new e(md.BASE);static ZERO=new e(md.ZERO);static Fp=U;static Fn=hd;constructor(e){super(e)}static fromAffine(t){return new e(md.fromAffine(t))}assertSame(t){if(!(t instanceof e))throw Error(`RistrettoPoint expected`)}init(t){return new e(t)}static fromBytes(t){ti(t,32);let{a:n,d:r}=ld,i=cd,a=e=>U.create(e),o=jd(t);if(!Cl(U.toBytes(o),t)||Xl(o,i))throw Error(`invalid ristretto255 encoding 1`);let s=a(o*o),c=a(rd+n*s),l=a(rd-n*s),u=a(c*c),d=a(l*l),f=a(n*r*u-d),{isValid:p,value:m}=kd(a(f*d)),h=a(m*l),g=a(m*h*f),_=a((o+o)*h);Xl(_,i)&&(_=a(-_));let v=a(c*g),ee=a(_*v);if(!p||Xl(ee,i)||v===nd)throw Error(`invalid ristretto255 encoding 2`);return new e(new md(_,v,rd,ee))}static fromHex(t){return e.fromBytes(vi(t))}toBytes(){let{X:e,Y:t,Z:n,T:r}=this.ep,i=cd,a=e=>U.create(e),o=a(a(n+t)*a(n-t)),s=a(e*t),{value:c}=kd(a(o*a(s*s))),l=a(c*o),u=a(c*s),d=a(l*u*r),f;if(Xl(r*d,i)){let n=a(t*wd),r=a(e*wd);e=n,t=r,f=a(l*Ed)}else f=u;Xl(e*d,i)&&(t=a(-t));let p=a((n-t)*f);return Xl(p,i)&&(p=a(-p)),U.toBytes(p)}equals(e){this.assertSame(e);let{X:t,Y:n}=this.ep,{X:r,Y:i}=e.ep,a=e=>U.create(e),o=a(t*i)===a(n*r),s=a(n*i)===a(t*r);return o||s}is0(){return this.equals(e.ZERO)}};Object.freeze(Nd.BASE),Object.freeze(Nd.ZERO),Object.freeze(Nd.prototype),Object.freeze(Nd);var Pd=Object.freeze({Point:Nd,hashToCurve(e,t){let n=Gu(e,t?.DST===void 0?`ristretto255_XMD:SHA-512_R255MAP_RO_`:t.DST,64,cl);return Pd.deriveToCurve(n)},hashToScalar(e,t={DST:Ju}){let n=Gu(e,t.DST,64,cl);return hd.create(bl(n))},deriveToCurve(e){ti(e,64);let t=Md(jd(e.subarray(0,32))),n=Md(jd(e.subarray(32,64)));return new Nd(t.add(n))}});td({name:`ristretto255-SHA512`,Point:Nd,hash:cl,hashToGroup:Pd.hashToCurve,hashToScalar:Pd.hashToScalar}),$u({name:`FROST-RISTRETTO255-SHA512-v1`,Point:Nd,validatePoint:e=>{e.assertValidity()},hash:cl});var Fd=32,Id=class extends $c{static{this.SIZE=Fd}constructor(e){if(super(),typeof e==`string`?this.data=w(e):e instanceof Uint8Array?this.data=e:this.data=Uint8Array.from(e),this.data.length!==Fd)throw Error(`Invalid public key input. Expected ${Fd} bytes, got ${this.data.length}`)}equals(e){return super.equals(e)}toRawBytes(){return this.data}flag(){return Jc.ED25519}async verify(e,t){let n;if(typeof t==`string`){let e=el(t);if(e.signatureScheme!==`ED25519`)throw Error(`Invalid signature scheme`);if(!Qc(this.toRawBytes(),e.publicKey))throw Error(`Signature does not match public key`);n=e.signature}else n=t;return _d.verify(n,e,this.toRawBytes())}},Ld=class{oHash;iHash;blockLen;outputLen;canXOF=!1;finished=!1;destroyed=!1;constructor(e,t){if(ni(e),ti(t,void 0,`key`),this.iHash=e.create(),typeof this.iHash.update!=`function`)throw Error(`Expected instance of class which extends utils.Hash`);this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let n=this.blockLen,r=new Uint8Array(n);r.set(t.length>n?e.create().update(t).digest():t);for(let e=0;e<r.length;e++)r[e]^=54;this.iHash.update(r),this.oHash=e.create();for(let e=0;e<r.length;e++)r[e]^=106;this.oHash.update(r),oi(r)}update(e){return ri(this),this.iHash.update(e),this}digestInto(e){ri(this),ii(e,this),this.finished=!0;let t=e.subarray(0,this.outputLen);this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||=Object.create(Object.getPrototypeOf(this),{});let{oHash:t,iHash:n,finished:r,destroyed:i,blockLen:a,outputLen:o}=this;return e=e,e.finished=r,e.destroyed=i,e.blockLen=a,e.outputLen=o,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Rd=(()=>{let e=((e,t,n)=>new Ld(e,t).update(n).digest());return e.create=(e,t)=>new Ld(e,t),e})();function zd(e,t,n,r){ni(e);let{c:i,dkLen:a,asyncTick:o}=Si({dkLen:32,asyncTick:10},r);if(ei(i,`c`),ei(a,`dkLen`),ei(o,`asyncTick`),i<1)throw Error(`iterations (c) must be >= 1`);if(a<1)throw Error(`"dkLen" must be >= 1`);if(a>(2**32-1)*e.outputLen)throw Error(`derived key too long`);let s=bi(t,`password`),c=bi(n,`salt`),l=new Uint8Array(a),u=Rd.create(e,s);return{c:i,dkLen:a,asyncTick:o,DK:l,PRF:u,PRFSalt:u._cloneInto().update(c)}}function Bd(e,t,n,r,i){return e.destroy(),t.destroy(),r&&r.destroy(),oi(i),n}function Vd(e,t,n,r){let{c:i,dkLen:a,DK:o,PRF:s,PRFSalt:c}=zd(e,t,n,r),l,u=new Uint8Array(4),d=si(u),f=new Uint8Array(s.outputLen);for(let e=1,t=0;t<a;e++,t+=s.outputLen){let n=o.subarray(t,t+s.outputLen);d.setInt32(0,e,!1),(l=c._cloneInto(l)).update(u).digestInto(f),n.set(f.subarray(0,n.length));for(let e=1;e<i;e++){s._cloneInto(l).update(f).digestInto(f);for(let e=0;e<n.length;e++)n[e]^=f[e]}}return Bd(s,c,o,l,f)}function Hd(e){if(typeof e!=`string`)throw TypeError(`invalid mnemonic type: `+typeof e);return e.normalize(`NFKD`)}function Ud(e){let t=Hd(e),n=t.split(` `);if(![12,15,18,21,24].includes(n.length))throw Error(`Invalid mnemonic`);return{nfkd:t,words:n}}var Wd=e=>Hd(`mnemonic`+e);function Gd(e,t=``){return Vd(cl,Ud(e).nfkd,Wd(t),{c:2048,dkLen:64})}function Kd(e){return!!RegExp(`^m\\/44'\\/784'\\/[0-9]+'\\/[0-9]+'\\/[0-9]+'+$`).test(e)}function qd(e){return Gd(e,``)}function Jd(e){return Se(qd(e))}function Yd({signature:e,signatureScheme:t,publicKey:n}){if(!n)throw Error("`publicKey` is required");let r=n.toRawBytes(),i=new Uint8Array(1+e.length+r.length);return i.set([Jc[t]]),i.set(e,1),i.set(r,1+e.length),T(i)}var Xd=`suiprivkey`,Zd=class{async signWithIntent(e,t){let n=ea(Zc(t,e),{dkLen:32});return{signature:Yd({signature:await this.sign(n),signatureScheme:this.getKeyScheme(),publicKey:this.getPublicKey()}),bytes:T(e)}}async signTransaction(e){return this.signWithIntent(e,`TransactionData`)}async signPersonalMessage(e){let{signature:t}=await this.signWithIntent(E.byteVector().serialize(e).toBytes(),`PersonalMessage`);return{bytes:T(e),signature:t}}async signAndExecuteTransaction({transaction:e,client:t}){e.setSenderIfNotSet(this.toSuiAddress());let n=await e.build({client:t}),{signature:r}=await this.signTransaction(n);return t.core.executeTransaction({transaction:n,signatures:[r],include:{transaction:!0,effects:!0}})}toSuiAddress(){return this.getPublicKey().toSuiAddress()}},Qd=class extends Zd{};function $d(e){let{prefix:t,words:n}=_e.decode(e);if(t!==`suiprivkey`)throw Error(`invalid private key prefix`);let r=new Uint8Array(_e.fromWords(n)),i=r.slice(1);return{scheme:Xc[r[0]],secretKey:i}}function ef(e,t){if(e.length!==32)throw Error(`Invalid bytes length`);let n=Jc[t],r=new Uint8Array(e.length+1);return r.set([n]),r.set(e,1),_e.encode(Xd,_e.toWords(r))}var tf=`ed25519 seed`,nf=2147483648,rf=RegExp(`^m(\\/[0-9]+')+$`),af=e=>e.replace(`'`,``),of=e=>{let t=Rd.create(cl,new TextEncoder().encode(tf)).update(xe(e)).digest();return{key:t.slice(0,32),chainCode:t.slice(32)}},sf=({key:e,chainCode:t},n)=>{let r=new ArrayBuffer(4);new DataView(r).setUint32(0,n);let i=new Uint8Array(1+e.length+r.byteLength);i.set(new Uint8Array(1).fill(0)),i.set(e,1),i.set(new Uint8Array(r,0,r.byteLength),e.length+1);let a=Rd.create(cl,t).update(i).digest();return{key:a.slice(0,32),chainCode:a.slice(32)}},cf=e=>rf.test(e)?!e.split(`/`).slice(1).map(af).some(isNaN):!1,lf=(e,t,n=nf)=>{if(!cf(e))throw Error(`Invalid derivation path`);let{key:r,chainCode:i}=of(t);return e.split(`/`).slice(1).map(af).map(e=>parseInt(e,10)).reduce((e,t)=>sf(e,t+n),{key:r,chainCode:i})},uf=`m/44'/784'/0'/0'/0'`,df=class e extends Qd{constructor(e){if(super(),e)this.keypair={publicKey:e.publicKey,secretKey:e.secretKey.slice(0,32)};else{let e=_d.utils.randomSecretKey();this.keypair={publicKey:_d.getPublicKey(e),secretKey:e}}}getKeyScheme(){return`ED25519`}static generate(){let t=_d.utils.randomSecretKey();return new e({publicKey:_d.getPublicKey(t),secretKey:t})}static fromSecretKey(t,n){if(typeof t==`string`){let e=$d(t);if(e.scheme!==`ED25519`)throw Error(`Expected a ED25519 keypair, got ${e.scheme}`);return this.fromSecretKey(e.secretKey,n)}let r=t.length;if(r!==32)throw Error(`Wrong secretKey size. Expected 32 bytes, got ${r}.`);let i={publicKey:_d.getPublicKey(t),secretKey:t};if(!n||!n.skipValidation){let e=new TextEncoder().encode(`sui validation`),n=_d.sign(e,t);if(!_d.verify(n,e,i.publicKey))throw Error(`provided secretKey is invalid`)}return new e(i)}getPublicKey(){return new Id(this.keypair.publicKey)}getSecretKey(){return ef(this.keypair.secretKey.slice(0,32),this.getKeyScheme())}async sign(e){return _d.sign(e,this.keypair.secretKey)}static deriveKeypair(t,n){if(n??=uf,!Kd(n))throw Error(`Invalid derivation path`);let{key:r}=lf(n,Jd(t));return e.fromSecretKey(r)}static deriveKeypairFromSeed(t,n){if(n??=uf,!Kd(n))throw Error(`Invalid derivation path`);let r=typeof t==`string`?t:Se(t),{key:i}=lf(n,r);return e.fromSecretKey(i)}},ff=class extends Error{},pf=class extends ff{},mf=class extends ff{},hf=class extends ff{},gf=class extends ff{},_f=class extends ff{};function vf(e){return`sui:${e}`}function yf(e,t){if(e.length===0)throw new ff(`You must specify at least one Sui network for your application.`);let n=new Map;function r(e){if(n.has(e))return n.get(e);let r=t(e);return n.set(e,r),r}return{networkConfig:Object.freeze(n),getClient:r}}var bf=[Hs,Ws],xf=[Cs,Ss];function Sf(e){let t=ls(e);return t.id??t.name}function Cf({account:e,featureName:t,chain:n}){if(!e.chains.includes(n)){let r=new ns(Jo,{chain:n,featureName:t,supportedChains:[...e.chains],supportedFeatures:[...e.features],address:e.address});throw new mf(`The account ${r.context.address} does not support the chain "${r.context.chain}".`,{cause:r})}try{return xs(e,t)}catch(n){throw new hf(`The account ${e.address} does not support the feature "${t}".`,{cause:n})}}function wf(...e){try{return Cf(...e)}catch(e){if(e instanceof hf)return null;throw e}}function Tf({defaultNetwork:e,getClient:t}){let n=Go({status:`disconnected`,currentAccount:null}),r=Fo(e),i=Fo([]),a=Wo([i,r],(e,t)=>e.filter(e=>{let n=e.chains.some(e=>vf(t)===e),r=bf.every(t=>e.features.includes(t)),i=xf.some(t=>e.features.includes(t));return n&&r&&i}));return{$currentNetwork:r,$registeredWallets:i,$compatibleWallets:a,$baseConnection:n,$currentClient:Wo(r,t),$connection:Wo([n,a],(e,t)=>{switch(e.status){case`connected`:{let n=t.find(t=>ys(e.currentAccount,t));return n?{wallet:n,account:e.currentAccount,status:e.status,supportedIntents:e.supportedIntents,isConnected:!0,isConnecting:!1,isReconnecting:!1,isDisconnected:!1}:{wallet:null,account:null,status:`disconnected`,supportedIntents:[],isConnected:!1,isConnecting:!1,isReconnecting:!1,isDisconnected:!0}}case`connecting`:return{wallet:null,account:e.currentAccount,status:e.status,supportedIntents:[],isConnected:!1,isConnecting:!0,isReconnecting:!1,isDisconnected:!1};case`reconnecting`:{let n=t.find(t=>ys(e.currentAccount,t));return n?{wallet:n,account:e.currentAccount,status:e.status,supportedIntents:e.supportedIntents,isConnected:!1,isConnecting:!1,isReconnecting:!0,isDisconnected:!1}:{wallet:null,account:null,status:`disconnected`,supportedIntents:[],isConnected:!1,isConnecting:!1,isReconnecting:!1,isDisconnected:!0}}case`disconnected`:return{wallet:null,account:e.currentAccount,status:e.status,supportedIntents:[],isConnected:!1,isConnecting:!1,isReconnecting:!1,isDisconnected:!0};default:throw Error(`Encountered unknown connection status: ${e}`)}})}}function Ef({$registeredWallets:e}){Ho(e,()=>{let t=Fs(),n=new Map,r=()=>{let n=t.get(),r=[];for(let e of n)try{r.push(_s(e))}catch{console.warn(`[dapp-kit] Skipping wallet "${e.name}" because it does not comply with the Wallet Standard.`)}e.set(r)},i=e=>{let t=e.features[Ws].on(`change`,()=>{r()});n.set(e,t)},a=t.on(`register`,(...e)=>{e.filter(Df).forEach(i),r()}),o=t.on(`unregister`,(...e)=>{e.filter(Df).forEach(e=>{let t=n.get(e);t&&(n.delete(e),t())}),r()});return t.get().filter(Df).forEach(i),r(),()=>{a(),o(),n.forEach(e=>e()),n.clear()}})}function Df(e){return Ws in e.features}var Of=`mysten-dapp-kit:selected-wallet-and-address`;function kf(){return Mf()?localStorage:Af()}function Af(){let e=new Map;return{getItem(t){return e.get(t)??null},setItem(t,n){e.set(t,n)},removeItem(t){e.delete(t)}}}function jf(e,t,n,r){let i=Sf(n).replace(`:`,`_`),a=r.join(`,`),o=[i,n.address,a].join(`:`);e.setItem(t,o)}function Mf(){try{let e=`__storage_test__`;return localStorage.setItem(e,`test`),localStorage.removeItem(e),!0}catch{return!1}}function Nf({$baseConnection:e},t,{storage:n,storageKey:r}){return async function({wallet:i,account:a,...o}){return await Ao(async()=>{let s=e.get().status===`connected`;try{e.setKey(`status`,s?`reconnecting`:`connecting`);let{accounts:c,supportedIntents:l}=await Pf(i,t,o);if(!s&&c.length===0)throw new gf(`No accounts were authorized.`);if(a&&!ys(a,i))throw new _f(`No account with address ${a.address} is authorized for ${i.name}.`);let u=a??c[0],d=l??[];return e.set({status:`connected`,currentAccount:u,supportedIntents:d}),jf(n,r,u,d),{accounts:c}}catch(t){throw e.setKey(`status`,s?`connected`:`disconnected`),t}})}}async function Pf(e,t,n){let{connect:r}=bs(e,Hs),i=await r(n),a=ls(e),o=t.map(vf),s=i.supportedIntents??await Ff(e);return{accounts:i.accounts.filter(e=>e.chains.some(e=>o.includes(e))).map(ms.bind(null,a)),supportedIntents:s}}async function Ff(e){return e.features.includes(`sui:getCapabilities`)?(await bs(e,`sui:getCapabilities`)?.getCapabilities())?.supportedIntents??[]:[]}function If({networks:e,stores:{$baseConnection:t,$compatibleWallets:n},storage:r,storageKey:i}){Ho(n,()=>n.subscribe(async(n,a)=>{if(!n||a&&a.length>n.length||t.get().status!==`disconnected`)return;let o=await Ao(()=>Lf({networks:e,storage:r,storageKey:i,wallets:n}));o&&t.set({status:`connected`,currentAccount:o.account,supportedIntents:o.supportedIntents})}))}async function Lf({networks:e,storage:t,storageKey:n,wallets:r}){let i=await t.getItem(n);if(!i)return null;let[a,o,s]=i.split(`:`);if(!a||!o)return null;let c=r.find(e=>Sf(e)===a);if(!c)return null;let l=c.accounts.find(e=>e.address===o);if(l)return{account:l,supportedIntents:(s?s.split(`,`):null)??await Ff(c)};let{accounts:u,supportedIntents:d}=await Pf(c,e,{silent:!0}),f=u.find(e=>e.address===o);return f?{account:f,supportedIntents:d}:null}function Rf({$compatibleWallets:e,$baseConnection:t}){Ho(e,()=>e.listen(async e=>{let n=t.get();if(n.status!==`connected`)return;let r=zf(n.currentAccount,e);r?t.setKey(`currentAccount`,r):t.set({status:`disconnected`,currentAccount:null})}))}function zf(e,t){for(let n of t){for(let t of n.accounts)if(vs(e,t))return t;if(ys(e,n)&&n.accounts[0])return n.accounts[0]}return null}function Bf({$currentNetwork:e}){return function(t){e.set(t)}}function Vf({$baseConnection:e,$connection:t},{storage:n,storageKey:r}){return async function(...i){return await Ao(async()=>{let{wallet:a}=t.get();if(!a)throw new pf(`No wallet is connected.`);try{let{disconnect:e}=bs(a,Us);await e(...i)}catch(e){console.warn(`Failed to disconnect the current wallet from the application.`,e)}finally{n.removeItem(r),e.set({status:`disconnected`,currentAccount:null})}})}}function Hf({$baseConnection:e,$connection:t},{storage:n,storageKey:r}){return function({account:i}){let a=t.get();if(!a.wallet)throw new pf(`No wallet is connected.`);if(!ys(i,a.wallet))throw new _f(`No account with address ${i.address} is connected to ${a.wallet.name}.`);e.setKey(`currentAccount`,i),jf(n,r,i,a.supportedIntents)}}function Uf({$connection:e,$currentNetwork:t}){return async function({...n}){let{account:r}=e.get();if(!r)throw new pf(`No wallet is connected.`);let i=vf(t.get());return await Cf({account:r,chain:i,featureName:Es}).signPersonalMessage({...n,account:ss(r),chain:i})}}function Wf(e,t,n,r){let i=_c(r),a=null;try{a=vc(r)}catch{console.warn(`Parsing transaction effects failed, you may need to update the SDK to pickup the latest bcs types`)}let o={digest:e,signatures:[t],epoch:null,status:i,effects:a,transaction:gc(n),balanceChanges:void 0,events:void 0,objectTypes:void 0,bcs:n};return i.success?{$kind:`Transaction`,Transaction:o}:{$kind:`FailedTransaction`,FailedTransaction:o}}function Gf({$connection:e,$currentClient:t}){return async function({transaction:n,...r}){let{account:i,supportedIntents:a}=e.get();if(!i)throw new pf(`No wallet is connected.`);let o=ss(i),s=t.get(),c=vf(s.network),l={toJSON:async()=>typeof n==`string`?n:(n.setSenderIfNotSet(i.address),await n.toJSON({client:s,supportedIntents:a}))},u=wf({account:i,chain:c,featureName:Ts});if(u){let e=await u.signAndExecuteTransaction({...r,account:o,transaction:l,chain:c}),t=w(e.bytes),n=w(e.effects);return Wf(e.digest,e.signature,t,n)}let d=wf({account:i,chain:c,featureName:ws});if(d){let e=Eo.from(await l.toJSON()),{digest:t,rawEffects:n,rawTransaction:r}=await d.signAndExecuteTransactionBlock({account:i,chain:c,transactionBlock:e,options:{showRawEffects:!0,showRawInput:!0}}),[{txSignatures:[a],intentMessage:{value:o}}]=I.SenderSignedData.parse(w(r));return Wf(t,a,I.TransactionData.serialize(o).toBytes(),new Uint8Array(n))}throw new hf(`The account ${i.address} does not support signing and executing transactions.`)}}function Kf({$connection:e,$currentClient:t}){return async function({transaction:n,...r}){let{account:i,supportedIntents:a}=e.get();if(!i)throw new pf(`No wallet is connected.`);let o=ss(i),s=t.get(),c=vf(s.network),l={toJSON:async()=>typeof n==`string`?n:(n.setSenderIfNotSet(i.address),await n.toJSON({client:s,supportedIntents:a}))},u=wf({account:i,chain:c,featureName:Cs});if(u)return await u.signTransaction({...r,transaction:l,account:o,chain:c});let d=wf({account:i,chain:c,featureName:Ss});if(d){let e=Eo.from(await l.toJSON()),{transactionBlockBytes:t,signature:n}=await d.signTransactionBlock({transactionBlock:e,account:o,chain:c});return{bytes:t,signature:n}}throw new hf(`The account ${i.address} does not support signing transactions.`)}}function qf(e){return{id:`slush-web-wallet-initializer`,async initialize(){let t=await qc(e?.appName||Jf(),{origin:e?.origin,metadataApiUrl:e?.metadataApiUrl});if(!t)throw Error(`Registration un-successful.`);return{unregister:t.unregister}}}}function Jf(){return document.querySelector(`meta[name="application-name"]`)?.content||document.title}var Yf=new Map;async function Xf(e,t){Yf.forEach(e=>e()),Yf.clear();let n=[...new Map(e.map(e=>[e.id,e])).values()].map(async e=>({initializer:e,result:await e.initialize(t)})),r=await Promise.allSettled(n);for(let e of r)if(e.status===`fulfilled`){let{initializer:t,result:n}=e.value;Yf.set(t.id,n.unregister)}else console.warn(`Skipping wallet initializer: "${e.reason}".`)}function Zf(){return{id:`unsafe-burner-initalizer`,async initialize({networks:e,getClient:t}){let n=new Qf({clients:e.map(t)});return{unregister:Fs().register(n)}}}}var Qf=class{#e;#t=new df;#n;constructor({clients:e}){this.#e=e.reduce((e,t)=>{let n=vf(t.network);return e[n]=t,e},{}),this.#n=new $s({address:this.#t.getPublicKey().toSuiAddress(),publicKey:this.#t.getPublicKey().toSuiBytes(),chains:this.chains,features:[Cs,Ts,Es]}),console.warn(`Your application is currently using the unsafe burner wallet. Make sure that this wallet is disabled in production.`)}get version(){return`1.0.0`}get name(){return`Unsafe Burner Wallet`}get icon(){return`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAJrElEQVR42tWbe2xT1x3H7UxAyD3XrdrSbGXlUbKWsq5rWdVuVOMRSEqSOmnVRZMmJqZNYv1nf3R/jWmVmVrtRRM/YwPd1nVTNcrE3pQCoikrIRAC4VVNY0hlD9ZOo1uCfe3ra9979v0dcy3s5Pper76Oh/STE+495/4+5/c85zqe2f7HAx5vKsS+monJj/CdHi/f4/HWW4f6AwdblmXjTM0NyS+movKtw9v+j6C5gKhyTMTTpA2x15Qwy+Pz75motOGdgKep8WF5ATgVZIt5NeO2wMqD0hfVGNPh3oYaYflsjG0l63PeyLCDnqbsLpZIhaRNFI+Ox+Le5KB0RybK8gDmJOkI07U4i/FhT1NDQl8Me5rUIfaDfELOJ0NsFa/SJQHm1WLsHcDqRWiy9BCL8s0N5t6UWWFVvxplejYm60hC91cNjPtzCTZsAptCVoeLP8PDDQJNCSodap6H+LtE8ZcdkvVkkD38vwDn4/Jvy4EhBhZSvRaUHiTXn31gJJxkUPoClBKKFizM+inhVA2cYIdM4HJouPvoe9s9H+KzDhyGK6KkmIqitBhww2C11rjQL2L4kgUwFxk8yPyzauUA3Pk/353XnA6zKbKCaQ2UlMvJF6W5uF5F8yHfZWZpC9HRmBziaEpm1bpY9XvhxuWJRldC7Mt03WlZwpjnkZUNa2DMG2EaPj9MGd2l2mofd0hQ7ZSopsXckHxVCUp32fXGdD0ZktrgFUmMqwhcWFjp87RArsD+9bn585IRaSHAKgBL3SZwOTRc8BKg7yYoskp5OJDiiPmF2Sj7ox0siYJ7lJA04EqvzZ9B1xSVt6PlW0IxZgUMJdZYAJuWngLQt9IRuZXmoTEkmci8ZtTXTViUKyasA9FRun5d8z6bfw0gYWm9mmCXxZatQgxfC7I2NVpRYQOxKWppLs4mcgn5NcibgL1K40xYp8CYY5TXEpjcb3LAJ0OZyyg3+2nySm6fjEtzkEz+7VBx3RTb+60z9dma7pkvwO2QQL5HzTtAdpKF7euw/HuzfrosBHy+ZsBimzbQshjWTVMDgez53B5MbjcGbr1ZjdUJOM5O0SLXzJ2R+uOA1dMAVoLsm5zb73JSId8t8Aa1LsAJdoTCrCaw6e3NC2DdFMUXWRg173mysJNOSUNskUJ1cOlXa2LhcbgmSszXYSn9hl3KSxTDjrZ2cbbfbWDyumsh9m3e7zCG7a3ETt+gtI7fx6lEOanZKDVvuA2cjYmt5xNOd2Louz3IQ12UZ2Zo3lkb9cDlvSs6m4Vk5Yqlabs0B97wT7PUuCXQz0Bnt9QxMPTW4iwBtmUlY8hFsHJPlzcQ1xuG75CVK1kXofCUGnU9fg1aVD7kfE9MoabtYkcAvIUYS2op3Hc3TTrDQzIAeojugTVLFolWDR6wFPtY0R66n6HltwjCIawnE2ymresk9NtN+pfUUi0mX6RJLfrh9zMRaRPOqubSA8W2MNzC0mHpK7j2ruuw5mYkxl5+2+HGQeg4yNYg7vNg+xMxFsuRMuiTsRJZG3cysAl4D9n4aC4un8L9qUyVvbCyYwFXX1nGUxFf1cCiEQqy75O+TpMwYKNKSPQUqhLyyWLsRbESLctx0YnixgfphRWA8pOPc+N4F9d+eV9V4OlCX/As5w5g+wtGhJGukp5go2R3D7EW9rSDcnGL56YgJHj+8GcFND/Vy41jj/H0jxc6HU/AA2QlR01UlH3D7CmITQnJq4lVWBi1yl8XYEh278c5H++F+Iui7r7bYR8tH/gbqoJN7fVODUhLYVVxzmYCEyOxFg7RUVa0egCHZZ55eRHnp/tKgMna6s/bbMdTxZgMzl9CCcmq7k690OzDfaeSN4QcsREjsQpgXHwyWyfg9K5WE7hc6JqTWjyihObfygOFOkv6i5K5TZx8LsL1sVS4NL8ItiB7sgAcEKcWHfUCVhK3kUVnBNbfXIs4l5xAv5sJs234eTUy93L0Au2otQOw5ORMyfQ6WwexFupVSHowG6uThXfebmlhWojMS3fazmMeGxEI6S2SUti6RAo2vKohVuH3qUG5FWm/PjH8kzutgSH5g58xrVwzIbZkxHf7OFjFC+wrMDXcpOqOKX/g01U/XPvVJyxdWsiJblqYmnZoWbDxAcR56X5WPuh4ewcL5PY9JBRUYjc7fzjG6Uc3mHBWbg23X1BLaFHOSnrw4bWiNAXSEWcWRntIignXTP/oDsfKZX66mMbZAPfhviU1AyYmJLYAMZa/QXjUSeIiixpj3UUFtd884KytjN7EjdGNNMbWwtlf3FvbQ4OQtIoYSzbxqVDLXMTxP8jnnbiyKcaJLvueGLD6kXW2sKZov1tpn7hwXf3ZUvq0K2FXOM7Op/Xgb6PhxsWIErYGVuK3WGXWkkwMMZVCVl5kWtax5A6usgemvnx4DelUcYcFC0eIbcbXKzggeyBjeXIhkftaKknJKLtnuSg7KmKQsrH+1nqbmLWY6w/tBGy/8xrruR5SM99LLIjfT/4ZbNZnQEPssIVb21rKTGRIPDagNoLdFMKgcuLc/TF6Bulk6c7ovg4TU+XvS6FNw1tDfVqH9MOPmBDui0hcK6wz744FlDjNe0m3aVldJYagtI6YbF+3ZGPsQHlN1vbeh8lJofqJ+uo9Zi4wXZxKFiXKGxbHT7pNq71oNg4Qi6MviE0FpRVqjGXILYoJ4tCjdYU1rWeMdPLc/ochj3B9pGNGL4NupGPRlUl35KMVxFLNO6ZnxYlBsUPqoMkbUqAb6VhMVKQ7MVT1dYdrL8hzEAcjpmvjHKphgaFb0ZVJZw7dwVD9q5fkgPTRbBxnzmGfgRLQsMCkG+moQdcp6GzzZsL2MGyllvBNGWM9RqMCk26kI7aBK526csVShZTfzid6FEzeiNAGP92jpCPQEbrW7EW5MbZxAz/fN9lg0IbQaaxrQ83/VoKPb/HqJx67Hw+43CDQBPsX0gm6ufXNvH4vP9rZapzx7+Nn+oxZAjfo2caZ3n350c5W6FSEdQ86sNarj3c/jRV+H42AXsdGRBfPPIlnb/mUtxzWXfALn/PmRze2Gud6E/xsXwYtnlsWN8Tc5/oyxjn/jvyJrlY82xLUfWuPr/TqxzuXQZkIP9M7CXiyuP4B4WmsTnNhzinjrD+WO9bRhmdZWLXe4EKRtV5tpN3Hx3s2G+d79/MJf4qff0LnE72kfFEs4ITQvWLMab8C131dP9n9Je1Yx000Nz2jAf+UJwCBchc3NvGR1Qx71XXY2Ww1Jvx7YalzAPkX9rp5E5Z+pv+ja8bE43uN491b9dHO9Xx4lUxziLn21Nai/wXWM6t9vkvtrwAAAABJRU5ErkJggg==`}get chains(){return Object.keys(this.#e)}get accounts(){return[this.#n]}get features(){return{[Hs]:{version:`1.0.0`,connect:this.#i},[Ws]:{version:`1.0.0`,on:this.#r},[Es]:{version:`1.1.0`,signPersonalMessage:this.#a},[Cs]:{version:`2.0.0`,signTransaction:this.#o},[Ts]:{version:`2.0.0`,signAndExecuteTransaction:this.#s}}}#r=()=>()=>{};#i=async()=>({accounts:this.accounts});#a=async e=>await this.#t.signPersonalMessage(e.message);#o=async({transaction:e,signal:t,chain:n})=>{t?.throwIfAborted();let r=this.#e[n];if(!r)throw Error(`Invalid chain "${n}" specified.`);let i=await Eo.from(await e.toJSON()).build({client:r});return await this.#t.signTransaction(i)};#s=async({transaction:e,signal:t,chain:n})=>{t?.throwIfAborted();let r=this.#e[n];if(!r)throw Error(`Invalid chain "${n}" specified.`);let i=Eo.from(await e.toJSON()),a=await i.build({client:r}),o=await this.#t.signAndExecuteTransaction({transaction:i,client:r}),s=o.Transaction??o.FailedTransaction;return{bytes:T(a),signature:s.signatures[0],digest:s.digest,effects:T(s.effects.bcs)}}};function $f({autoConnect:e=!0,networks:t,createClient:n,defaultNetwork:r=t[0],enableBurnerWallet:i=!1,slushWalletConfig:a,storage:o=kf(),storageKey:s=Of,walletInitializers:c=[]}){let l=yf(t,n),u=Tf({defaultNetwork:r,getClient:l.getClient});function d(e){return e?l.getClient(e):u.$currentClient.get()}return o||=Af(),Ef(u),Rf(u),e&&If({networks:t,stores:u,storageKey:s,storage:o}),Xf([...c,...i?[Zf()]:[],...a===null?[]:[qf(a)]],{networks:t,getClient:d}),{networks:t,getClient:d,signTransaction:Kf(u),signAndExecuteTransaction:Gf(u),signPersonalMessage:Uf(u),connectWallet:Nf(u,t,{storage:o,storageKey:s}),disconnectWallet:Vf(u,{storage:o,storageKey:s}),switchAccount:Hf(u,{storage:o,storageKey:s}),switchNetwork:Bf(u),stores:{$wallets:u.$compatibleWallets,$connection:u.$connection,$currentNetwork:Io(u.$currentNetwork),$currentClient:u.$currentClient}}}function ep(e){let t=typeof e;if(t==`object`){if(Array.isArray(e))return`array`;if(e===null)return`null`}return t}function tp(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var np=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`.split(``),rp=[];for(let e=0;e<np.length;e++)rp[np[e].charCodeAt(0)]=e;rp[45]=np.indexOf(`+`),rp[95]=np.indexOf(`/`);function ip(e){let t=e.length*3/4;e[e.length-2]==`=`?t-=2:e[e.length-1]==`=`&&--t;let n=new Uint8Array(t),r=0,i=0,a,o=0;for(let t=0;t<e.length;t++){if(a=rp[e.charCodeAt(t)],a===void 0)switch(e[t]){case`=`:i=0;case`
|
|
4
|
+
`:case`\r`:case` `:case` `:continue;default:throw Error(`invalid base64 string.`)}switch(i){case 0:o=a,i=1;break;case 1:n[r++]=o<<2|(a&48)>>4,o=a,i=2;break;case 2:n[r++]=(o&15)<<4|(a&60)>>2,o=a,i=3;break;case 3:n[r++]=(o&3)<<6|a,i=0;break}}if(i==1)throw Error(`invalid base64 string.`);return n.subarray(0,r)}function ap(e){let t=``,n=0,r,i=0;for(let a=0;a<e.length;a++)switch(r=e[a],n){case 0:t+=np[r>>2],i=(r&3)<<4,n=1;break;case 1:t+=np[i|r>>4],i=(r&15)<<2,n=2;break;case 2:t+=np[i|r>>6],t+=np[r&63],n=0;break}return n&&(t+=np[i],t+=`=`,n==1&&(t+=`=`)),t}var op;(function(e){e.symbol=Symbol.for(`protobuf-ts/unknown`),e.onRead=(n,r,i,a,o)=>{(t(r)?r[e.symbol]:r[e.symbol]=[]).push({no:i,wireType:a,data:o})},e.onWrite=(t,n,r)=>{for(let{no:t,wireType:i,data:a}of e.list(n))r.tag(t,i).raw(a)},e.list=(n,r)=>{if(t(n)){let t=n[e.symbol];return r?t.filter(e=>e.no==r):t}return[]},e.last=(t,n)=>e.list(t,n).slice(-1)[0];let t=t=>t&&Array.isArray(t[e.symbol])})(op||={});function sp(e,t){return Object.assign(Object.assign({},e),t)}var W;(function(e){e[e.Varint=0]=`Varint`,e[e.Bit64=1]=`Bit64`,e[e.LengthDelimited=2]=`LengthDelimited`,e[e.StartGroup=3]=`StartGroup`,e[e.EndGroup=4]=`EndGroup`,e[e.Bit32=5]=`Bit32`})(W||={});function cp(){let e=0,t=0;for(let n=0;n<28;n+=7){let r=this.buf[this.pos++];if(e|=(r&127)<<n,!(r&128))return this.assertBounds(),[e,t]}let n=this.buf[this.pos++];if(e|=(n&15)<<28,t=(n&112)>>4,!(n&128))return this.assertBounds(),[e,t];for(let n=3;n<=31;n+=7){let r=this.buf[this.pos++];if(t|=(r&127)<<n,!(r&128))return this.assertBounds(),[e,t]}throw Error(`invalid varint`)}function lp(e,t,n){for(let r=0;r<28;r+=7){let i=e>>>r,a=!(!(i>>>7)&&t==0),o=(a?i|128:i)&255;if(n.push(o),!a)return}let r=e>>>28&15|(t&7)<<4,i=!!(t>>3);if(n.push((i?r|128:r)&255),i){for(let e=3;e<31;e+=7){let r=t>>>e,i=!!(r>>>7),a=(i?r|128:r)&255;if(n.push(a),!i)return}n.push(t>>>31&1)}}var up=65536*65536;function dp(e){let t=e[0]==`-`;t&&(e=e.slice(1));let n=1e6,r=0,i=0;function a(t,a){let o=Number(e.slice(t,a));i*=n,r=r*n+o,r>=up&&(i+=r/up|0,r%=up)}return a(-24,-18),a(-18,-12),a(-12,-6),a(-6),[t,r,i]}function fp(e,t){if(t>>>0<=2097151)return``+(up*t+(e>>>0));let n=e&16777215,r=(e>>>24|t<<8)>>>0&16777215,i=t>>16&65535,a=n+r*6777216+i*6710656,o=r+i*8147497,s=i*2,c=1e7;a>=c&&(o+=Math.floor(a/c),a%=c),o>=c&&(s+=Math.floor(o/c),o%=c);function l(e,t){let n=e?String(e):``;return t?`0000000`.slice(n.length)+n:n}return l(s,0)+l(o,s)+l(a,1)}function pp(e,t){if(e>=0){for(;e>127;)t.push(e&127|128),e>>>=7;t.push(e)}else{for(let n=0;n<9;n++)t.push(e&127|128),e>>=7;t.push(1)}}function mp(){let e=this.buf[this.pos++],t=e&127;if(!(e&128)||(e=this.buf[this.pos++],t|=(e&127)<<7,!(e&128))||(e=this.buf[this.pos++],t|=(e&127)<<14,!(e&128))||(e=this.buf[this.pos++],t|=(e&127)<<21,!(e&128)))return this.assertBounds(),t;e=this.buf[this.pos++],t|=(e&15)<<28;for(let t=5;e&128&&t<10;t++)e=this.buf[this.pos++];if(e&128)throw Error(`invalid varint`);return this.assertBounds(),t>>>0}var G;function hp(){let e=new DataView(new ArrayBuffer(8));G=globalThis.BigInt!==void 0&&typeof e.getBigInt64==`function`&&typeof e.getBigUint64==`function`&&typeof e.setBigInt64==`function`&&typeof e.setBigUint64==`function`?{MIN:BigInt(`-9223372036854775808`),MAX:BigInt(`9223372036854775807`),UMIN:BigInt(`0`),UMAX:BigInt(`18446744073709551615`),C:BigInt,V:e}:void 0}hp();function gp(e){if(!e)throw Error(`BigInt unavailable, see https://github.com/timostamm/protobuf-ts/blob/v1.0.8/MANUAL.md#bigint-support`)}var _p=/^-?[0-9]+$/,vp=4294967296,yp=2147483648,bp=class{constructor(e,t){this.lo=e|0,this.hi=t|0}isZero(){return this.lo==0&&this.hi==0}toNumber(){let e=this.hi*vp+(this.lo>>>0);if(!Number.isSafeInteger(e))throw Error(`cannot convert to safe number`);return e}},xp=class e extends bp{static from(t){if(G)switch(typeof t){case`string`:if(t==`0`)return this.ZERO;if(t==``)throw Error(`string is no integer`);t=G.C(t);case`number`:if(t===0)return this.ZERO;t=G.C(t);case`bigint`:if(!t)return this.ZERO;if(t<G.UMIN)throw Error(`signed value for ulong`);if(t>G.UMAX)throw Error(`ulong too large`);return G.V.setBigUint64(0,t,!0),new e(G.V.getInt32(0,!0),G.V.getInt32(4,!0))}else switch(typeof t){case`string`:if(t==`0`)return this.ZERO;if(t=t.trim(),!_p.test(t))throw Error(`string is no integer`);let[n,r,i]=dp(t);if(n)throw Error(`signed value for ulong`);return new e(r,i);case`number`:if(t==0)return this.ZERO;if(!Number.isSafeInteger(t))throw Error(`number is no integer`);if(t<0)throw Error(`signed value for ulong`);return new e(t,t/vp)}throw Error(`unknown value `+typeof t)}toString(){return G?this.toBigInt().toString():fp(this.lo,this.hi)}toBigInt(){return gp(G),G.V.setInt32(0,this.lo,!0),G.V.setInt32(4,this.hi,!0),G.V.getBigUint64(0,!0)}};xp.ZERO=new xp(0,0);var K=class e extends bp{static from(t){if(G)switch(typeof t){case`string`:if(t==`0`)return this.ZERO;if(t==``)throw Error(`string is no integer`);t=G.C(t);case`number`:if(t===0)return this.ZERO;t=G.C(t);case`bigint`:if(!t)return this.ZERO;if(t<G.MIN)throw Error(`signed long too small`);if(t>G.MAX)throw Error(`signed long too large`);return G.V.setBigInt64(0,t,!0),new e(G.V.getInt32(0,!0),G.V.getInt32(4,!0))}else switch(typeof t){case`string`:if(t==`0`)return this.ZERO;if(t=t.trim(),!_p.test(t))throw Error(`string is no integer`);let[n,r,i]=dp(t);if(n){if(i>yp||i==yp&&r!=0)throw Error(`signed long too small`)}else if(i>=yp)throw Error(`signed long too large`);let a=new e(r,i);return n?a.negate():a;case`number`:if(t==0)return this.ZERO;if(!Number.isSafeInteger(t))throw Error(`number is no integer`);return t>0?new e(t,t/vp):new e(-t,-t/vp).negate()}throw Error(`unknown value `+typeof t)}isNegative(){return(this.hi&yp)!==0}negate(){let t=~this.hi,n=this.lo;return n?n=~n+1:t+=1,new e(n,t)}toString(){if(G)return this.toBigInt().toString();if(this.isNegative()){let e=this.negate();return`-`+fp(e.lo,e.hi)}return fp(this.lo,this.hi)}toBigInt(){return gp(G),G.V.setInt32(0,this.lo,!0),G.V.setInt32(4,this.hi,!0),G.V.getBigInt64(0,!0)}};K.ZERO=new K(0,0);var Sp={readUnknownField:!0,readerFactory:e=>new wp(e)};function Cp(e){return e?Object.assign(Object.assign({},Sp),e):Sp}var wp=class{constructor(e,t){this.varint64=cp,this.uint32=mp,this.buf=e,this.len=e.length,this.pos=0,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength),this.textDecoder=t??new TextDecoder(`utf-8`,{fatal:!0,ignoreBOM:!0})}tag(){let e=this.uint32(),t=e>>>3,n=e&7;if(t<=0||n<0||n>5)throw Error(`illegal tag: field no `+t+` wire type `+n);return[t,n]}skip(e){let t=this.pos;switch(e){case W.Varint:for(;this.buf[this.pos++]&128;);break;case W.Bit64:this.pos+=4;case W.Bit32:this.pos+=4;break;case W.LengthDelimited:let t=this.uint32();this.pos+=t;break;case W.StartGroup:let n;for(;(n=this.tag()[1])!==W.EndGroup;)this.skip(n);break;default:throw Error(`cant skip wire type `+e)}return this.assertBounds(),this.buf.subarray(t,this.pos)}assertBounds(){if(this.pos>this.len)throw RangeError(`premature EOF`)}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)}int64(){return new K(...this.varint64())}uint64(){return new xp(...this.varint64())}sint64(){let[e,t]=this.varint64(),n=-(e&1);return e=(e>>>1|(t&1)<<31)^n,t=t>>>1^n,new K(e,t)}bool(){let[e,t]=this.varint64();return e!==0||t!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return new xp(this.sfixed32(),this.sfixed32())}sfixed64(){return new K(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let e=this.uint32(),t=this.pos;return this.pos+=e,this.assertBounds(),this.buf.subarray(t,t+e)}string(){return this.textDecoder.decode(this.bytes())}};function q(e,t){if(!e)throw Error(t)}function Tp(e,t){throw Error(t??`Unexpected object: `+e)}var Ep=34028234663852886e22,Dp=-34028234663852886e22,Op=4294967295,kp=2147483647,Ap=-2147483648;function jp(e){if(typeof e!=`number`)throw Error(`invalid int 32: `+typeof e);if(!Number.isInteger(e)||e>kp||e<Ap)throw Error(`invalid int 32: `+e)}function Mp(e){if(typeof e!=`number`)throw Error(`invalid uint 32: `+typeof e);if(!Number.isInteger(e)||e>Op||e<0)throw Error(`invalid uint 32: `+e)}function Np(e){if(typeof e!=`number`)throw Error(`invalid float 32: `+typeof e);if(Number.isFinite(e)&&(e>Ep||e<Dp))throw Error(`invalid float 32: `+e)}var Pp={writeUnknownFields:!0,writerFactory:()=>new Ip};function Fp(e){return e?Object.assign(Object.assign({},Pp),e):Pp}var Ip=class{constructor(e){this.stack=[],this.textEncoder=e??new TextEncoder,this.chunks=[],this.buf=[]}finish(){this.chunks.push(new Uint8Array(this.buf));let e=0;for(let t=0;t<this.chunks.length;t++)e+=this.chunks[t].length;let t=new Uint8Array(e),n=0;for(let e=0;e<this.chunks.length;e++)t.set(this.chunks[e],n),n+=this.chunks[e].length;return this.chunks=[],t}fork(){return this.stack.push({chunks:this.chunks,buf:this.buf}),this.chunks=[],this.buf=[],this}join(){let e=this.finish(),t=this.stack.pop();if(!t)throw Error(`invalid state, fork stack empty`);return this.chunks=t.chunks,this.buf=t.buf,this.uint32(e.byteLength),this.raw(e)}tag(e,t){return this.uint32((e<<3|t)>>>0)}raw(e){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(e),this}uint32(e){for(Mp(e);e>127;)this.buf.push(e&127|128),e>>>=7;return this.buf.push(e),this}int32(e){return jp(e),pp(e,this.buf),this}bool(e){return this.buf.push(+!!e),this}bytes(e){return this.uint32(e.byteLength),this.raw(e)}string(e){let t=this.textEncoder.encode(e);return this.uint32(t.byteLength),this.raw(t)}float(e){Np(e);let t=new Uint8Array(4);return new DataView(t.buffer).setFloat32(0,e,!0),this.raw(t)}double(e){let t=new Uint8Array(8);return new DataView(t.buffer).setFloat64(0,e,!0),this.raw(t)}fixed32(e){Mp(e);let t=new Uint8Array(4);return new DataView(t.buffer).setUint32(0,e,!0),this.raw(t)}sfixed32(e){jp(e);let t=new Uint8Array(4);return new DataView(t.buffer).setInt32(0,e,!0),this.raw(t)}sint32(e){return jp(e),e=(e<<1^e>>31)>>>0,pp(e,this.buf),this}sfixed64(e){let t=new Uint8Array(8),n=new DataView(t.buffer),r=K.from(e);return n.setInt32(0,r.lo,!0),n.setInt32(4,r.hi,!0),this.raw(t)}fixed64(e){let t=new Uint8Array(8),n=new DataView(t.buffer),r=xp.from(e);return n.setInt32(0,r.lo,!0),n.setInt32(4,r.hi,!0),this.raw(t)}int64(e){let t=K.from(e);return lp(t.lo,t.hi,this.buf),this}sint64(e){let t=K.from(e),n=t.hi>>31;return lp(t.lo<<1^n,(t.hi<<1|t.lo>>>31)^n,this.buf),this}uint64(e){let t=xp.from(e);return lp(t.lo,t.hi,this.buf),this}},Lp={emitDefaultValues:!1,enumAsInteger:!1,useProtoFieldName:!1,prettySpaces:0},Rp={ignoreUnknownFields:!1};function zp(e){return e?Object.assign(Object.assign({},Rp),e):Rp}function Bp(e){return e?Object.assign(Object.assign({},Lp),e):Lp}function Vp(e,t){let n=Object.assign(Object.assign({},e),t);return n.typeRegistry=[...e?.typeRegistry??[],...t?.typeRegistry??[]],n}var Hp=Symbol.for(`protobuf-ts/message-type`);function Up(e){let t=!1,n=[];for(let r=0;r<e.length;r++){let i=e.charAt(r);i==`_`?t=!0:/\d/.test(i)?(n.push(i),t=!0):t?(n.push(i.toUpperCase()),t=!1):r==0?n.push(i.toLowerCase()):n.push(i)}return n.join(``)}var J;(function(e){e[e.DOUBLE=1]=`DOUBLE`,e[e.FLOAT=2]=`FLOAT`,e[e.INT64=3]=`INT64`,e[e.UINT64=4]=`UINT64`,e[e.INT32=5]=`INT32`,e[e.FIXED64=6]=`FIXED64`,e[e.FIXED32=7]=`FIXED32`,e[e.BOOL=8]=`BOOL`,e[e.STRING=9]=`STRING`,e[e.BYTES=12]=`BYTES`,e[e.UINT32=13]=`UINT32`,e[e.SFIXED32=15]=`SFIXED32`,e[e.SFIXED64=16]=`SFIXED64`,e[e.SINT32=17]=`SINT32`,e[e.SINT64=18]=`SINT64`})(J||={});var Wp;(function(e){e[e.BIGINT=0]=`BIGINT`,e[e.STRING=1]=`STRING`,e[e.NUMBER=2]=`NUMBER`})(Wp||={});var Gp;(function(e){e[e.NO=0]=`NO`,e[e.PACKED=1]=`PACKED`,e[e.UNPACKED=2]=`UNPACKED`})(Gp||={});function Kp(e){return e.localName=e.localName??Up(e.name),e.jsonName=e.jsonName??Up(e.name),e.repeat=e.repeat??Gp.NO,e.opt=e.opt??(e.repeat||e.oneof?!1:e.kind==`message`),e}function qp(e){if(typeof e!=`object`||!e||!e.hasOwnProperty(`oneofKind`))return!1;switch(typeof e.oneofKind){case`string`:return e[e.oneofKind]===void 0?!1:Object.keys(e).length==2;case`undefined`:return Object.keys(e).length==1;default:return!1}}var Jp=class{constructor(e){this.fields=e.fields??[]}prepare(){if(this.data)return;let e=[],t=[],n=[];for(let r of this.fields)if(r.oneof)n.includes(r.oneof)||(n.push(r.oneof),e.push(r.oneof),t.push(r.oneof));else switch(t.push(r.localName),r.kind){case`scalar`:case`enum`:(!r.opt||r.repeat)&&e.push(r.localName);break;case`message`:r.repeat&&e.push(r.localName);break;case`map`:e.push(r.localName);break}this.data={req:e,known:t,oneofs:Object.values(n)}}is(e,t,n=!1){if(t<0)return!0;if(typeof e!=`object`||!e)return!1;this.prepare();let r=Object.keys(e),i=this.data;if(r.length<i.req.length||i.req.some(e=>!r.includes(e))||!n&&r.some(e=>!i.known.includes(e)))return!1;if(t<1)return!0;for(let r of i.oneofs){let i=e[r];if(!qp(i))return!1;if(i.oneofKind===void 0)continue;let a=this.fields.find(e=>e.localName===i.oneofKind);if(!a||!this.field(i[i.oneofKind],a,n,t))return!1}for(let r of this.fields)if(r.oneof===void 0&&!this.field(e[r.localName],r,n,t))return!1;return!0}field(e,t,n,r){let i=t.repeat;switch(t.kind){case`scalar`:return e===void 0?t.opt:i?this.scalars(e,t.T,r,t.L):this.scalar(e,t.T,t.L);case`enum`:return e===void 0?t.opt:i?this.scalars(e,J.INT32,r):this.scalar(e,J.INT32);case`message`:return e===void 0?!0:i?this.messages(e,t.T(),n,r):this.message(e,t.T(),n,r);case`map`:if(typeof e!=`object`||!e)return!1;if(r<2)return!0;if(!this.mapKeys(e,t.K,r))return!1;switch(t.V.kind){case`scalar`:return this.scalars(Object.values(e),t.V.T,r,t.V.L);case`enum`:return this.scalars(Object.values(e),J.INT32,r);case`message`:return this.messages(Object.values(e),t.V.T(),n,r)}break}return!0}message(e,t,n,r){return n?t.isAssignable(e,r):t.is(e,r)}messages(e,t,n,r){if(!Array.isArray(e))return!1;if(r<2)return!0;if(n){for(let n=0;n<e.length&&n<r;n++)if(!t.isAssignable(e[n],r-1))return!1}else for(let n=0;n<e.length&&n<r;n++)if(!t.is(e[n],r-1))return!1;return!0}scalar(e,t,n){let r=typeof e;switch(t){case J.UINT64:case J.FIXED64:case J.INT64:case J.SFIXED64:case J.SINT64:switch(n){case Wp.BIGINT:return r==`bigint`;case Wp.NUMBER:return r==`number`&&!isNaN(e);default:return r==`string`}case J.BOOL:return r==`boolean`;case J.STRING:return r==`string`;case J.BYTES:return e instanceof Uint8Array;case J.DOUBLE:case J.FLOAT:return r==`number`&&!isNaN(e);default:return r==`number`&&Number.isInteger(e)}}scalars(e,t,n,r){if(!Array.isArray(e))return!1;if(n<2)return!0;if(Array.isArray(e)){for(let i=0;i<e.length&&i<n;i++)if(!this.scalar(e[i],t,r))return!1}return!0}mapKeys(e,t,n){let r=Object.keys(e);switch(t){case J.INT32:case J.FIXED32:case J.SFIXED32:case J.SINT32:case J.UINT32:return this.scalars(r.slice(0,n).map(e=>parseInt(e)),t,n);case J.BOOL:return this.scalars(r.slice(0,n).map(e=>e==`true`?!0:e==`false`?!1:e),t,n);default:return this.scalars(r,t,n,Wp.STRING)}}};function Yp(e,t){switch(t){case Wp.BIGINT:return e.toBigInt();case Wp.NUMBER:return e.toNumber();default:return e.toString()}}var Xp=class{constructor(e){this.info=e}prepare(){if(this.fMap===void 0){this.fMap={};let e=this.info.fields??[];for(let t of e)this.fMap[t.name]=t,this.fMap[t.jsonName]=t,this.fMap[t.localName]=t}}assert(e,t,n){if(!e){let e=ep(n);throw(e==`number`||e==`boolean`)&&(e=n.toString()),Error(`Cannot parse JSON ${e} for ${this.info.typeName}#${t}`)}}read(e,t,n){this.prepare();let r=[];for(let[i,a]of Object.entries(e)){let e=this.fMap[i];if(!e){if(!n.ignoreUnknownFields)throw Error(`Found unknown field while reading ${this.info.typeName} from JSON format. JSON key: ${i}`);continue}let o=e.localName,s;if(e.oneof){if(a===null&&(e.kind!==`enum`||e.T()[0]!==`google.protobuf.NullValue`))continue;if(r.includes(e.oneof))throw Error(`Multiple members of the oneof group "${e.oneof}" of ${this.info.typeName} are present in JSON.`);r.push(e.oneof),s=t[e.oneof]={oneofKind:o}}else s=t;if(e.kind==`map`){if(a===null)continue;this.assert(tp(a),e.name,a);let t=s[o];for(let[r,i]of Object.entries(a)){this.assert(i!==null,e.name+` map value`,null);let a;switch(e.V.kind){case`message`:a=e.V.T().internalJsonRead(i,n);break;case`enum`:if(a=this.enum(e.V.T(),i,e.name,n.ignoreUnknownFields),a===!1)continue;break;case`scalar`:a=this.scalar(i,e.V.T,e.V.L,e.name);break}this.assert(a!==void 0,e.name+` map value`,i);let o=r;e.K==J.BOOL&&(o=o==`true`?!0:o==`false`?!1:o),o=this.scalar(o,e.K,Wp.STRING,e.name).toString(),t[o]=a}}else if(e.repeat){if(a===null)continue;this.assert(Array.isArray(a),e.name,a);let t=s[o];for(let r of a){this.assert(r!==null,e.name,null);let i;switch(e.kind){case`message`:i=e.T().internalJsonRead(r,n);break;case`enum`:if(i=this.enum(e.T(),r,e.name,n.ignoreUnknownFields),i===!1)continue;break;case`scalar`:i=this.scalar(r,e.T,e.L,e.name);break}this.assert(i!==void 0,e.name,a),t.push(i)}}else switch(e.kind){case`message`:if(a===null&&e.T().typeName!=`google.protobuf.Value`){this.assert(e.oneof===void 0,e.name+` (oneof member)`,null);continue}s[o]=e.T().internalJsonRead(a,n,s[o]);break;case`enum`:if(a===null)continue;let t=this.enum(e.T(),a,e.name,n.ignoreUnknownFields);if(t===!1)continue;s[o]=t;break;case`scalar`:if(a===null)continue;s[o]=this.scalar(a,e.T,e.L,e.name);break}}}enum(e,t,n,r){if(e[0]==`google.protobuf.NullValue`&&q(t===null||t===`NULL_VALUE`,`Unable to parse field ${this.info.typeName}#${n}, enum ${e[0]} only accepts null.`),t===null)return 0;switch(typeof t){case`number`:return q(Number.isInteger(t),`Unable to parse field ${this.info.typeName}#${n}, enum can only be integral number, got ${t}.`),t;case`string`:let i=t;e[2]&&t.substring(0,e[2].length)===e[2]&&(i=t.substring(e[2].length));let a=e[1][i];return a===void 0&&r?!1:(q(typeof a==`number`,`Unable to parse field ${this.info.typeName}#${n}, enum ${e[0]} has no value for "${t}".`),a)}q(!1,`Unable to parse field ${this.info.typeName}#${n}, cannot parse enum value from ${typeof t}".`)}scalar(e,t,n,r){let i;try{switch(t){case J.DOUBLE:case J.FLOAT:if(e===null)return 0;if(e===`NaN`)return NaN;if(e===`Infinity`)return 1/0;if(e===`-Infinity`)return-1/0;if(e===``){i=`empty string`;break}if(typeof e==`string`&&e.trim().length!==e.length){i=`extra whitespace`;break}if(typeof e!=`string`&&typeof e!=`number`)break;let r=Number(e);if(Number.isNaN(r)){i=`not a number`;break}if(!Number.isFinite(r)){i=`too large or small`;break}return t==J.FLOAT&&Np(r),r;case J.INT32:case J.FIXED32:case J.SFIXED32:case J.SINT32:case J.UINT32:if(e===null)return 0;let a;if(typeof e==`number`?a=e:e===``?i=`empty string`:typeof e==`string`&&(e.trim().length===e.length?a=Number(e):i=`extra whitespace`),a===void 0)break;return t==J.UINT32?Mp(a):jp(a),a;case J.INT64:case J.SFIXED64:case J.SINT64:if(e===null)return Yp(K.ZERO,n);if(typeof e!=`number`&&typeof e!=`string`)break;return Yp(K.from(e),n);case J.FIXED64:case J.UINT64:if(e===null)return Yp(xp.ZERO,n);if(typeof e!=`number`&&typeof e!=`string`)break;return Yp(xp.from(e),n);case J.BOOL:if(e===null)return!1;if(typeof e!=`boolean`)break;return e;case J.STRING:if(e===null)return``;if(typeof e!=`string`){i=`extra whitespace`;break}return e;case J.BYTES:if(e===null||e===``)return new Uint8Array;if(typeof e!=`string`)break;return ip(e)}}catch(e){i=e.message}this.assert(!1,r+(i?` - `+i:``),e)}},Zp=class{constructor(e){this.fields=e.fields??[]}write(e,t){let n={},r=e;for(let e of this.fields){if(!e.oneof){let i=this.field(e,r[e.localName],t);i!==void 0&&(n[t.useProtoFieldName?e.name:e.jsonName]=i);continue}let i=r[e.oneof];if(i.oneofKind!==e.localName)continue;let a=e.kind==`scalar`||e.kind==`enum`?Object.assign(Object.assign({},t),{emitDefaultValues:!0}):t,o=this.field(e,i[e.localName],a);q(o!==void 0),n[t.useProtoFieldName?e.name:e.jsonName]=o}return n}field(e,t,n){let r;if(e.kind==`map`){q(typeof t==`object`&&!!t);let i={};switch(e.V.kind){case`scalar`:for(let[n,r]of Object.entries(t)){let t=this.scalar(e.V.T,r,e.name,!1,!0);q(t!==void 0),i[n.toString()]=t}break;case`message`:let r=e.V.T();for(let[a,o]of Object.entries(t)){let t=this.message(r,o,e.name,n);q(t!==void 0),i[a.toString()]=t}break;case`enum`:let a=e.V.T();for(let[r,o]of Object.entries(t)){q(o===void 0||typeof o==`number`);let t=this.enum(a,o,e.name,!1,!0,n.enumAsInteger);q(t!==void 0),i[r.toString()]=t}break}(n.emitDefaultValues||Object.keys(i).length>0)&&(r=i)}else if(e.repeat){q(Array.isArray(t));let i=[];switch(e.kind){case`scalar`:for(let n=0;n<t.length;n++){let r=this.scalar(e.T,t[n],e.name,e.opt,!0);q(r!==void 0),i.push(r)}break;case`enum`:let r=e.T();for(let a=0;a<t.length;a++){q(t[a]===void 0||typeof t[a]==`number`);let o=this.enum(r,t[a],e.name,e.opt,!0,n.enumAsInteger);q(o!==void 0),i.push(o)}break;case`message`:let a=e.T();for(let r=0;r<t.length;r++){let o=this.message(a,t[r],e.name,n);q(o!==void 0),i.push(o)}break}(n.emitDefaultValues||i.length>0||n.emitDefaultValues)&&(r=i)}else switch(e.kind){case`scalar`:r=this.scalar(e.T,t,e.name,e.opt,n.emitDefaultValues);break;case`enum`:r=this.enum(e.T(),t,e.name,e.opt,n.emitDefaultValues,n.enumAsInteger);break;case`message`:r=this.message(e.T(),t,e.name,n);break}return r}enum(e,t,n,r,i,a){if(e[0]==`google.protobuf.NullValue`)return!i&&!r?void 0:null;if(t===void 0){q(r);return}if(!(t===0&&!i&&!r))return q(typeof t==`number`),q(Number.isInteger(t)),a||!e[1].hasOwnProperty(t)?t:e[2]?e[2]+e[1][t]:e[1][t]}message(e,t,n,r){return t===void 0?r.emitDefaultValues?null:void 0:e.internalJsonWrite(t,r)}scalar(e,t,n,r,i){if(t===void 0){q(r);return}let a=i||r;switch(e){case J.INT32:case J.SFIXED32:case J.SINT32:return t===0?a?0:void 0:(jp(t),t);case J.FIXED32:case J.UINT32:return t===0?a?0:void 0:(Mp(t),t);case J.FLOAT:Np(t);case J.DOUBLE:return t===0?a?0:void 0:(q(typeof t==`number`),Number.isNaN(t)?`NaN`:t===1/0?`Infinity`:t===-1/0?`-Infinity`:t);case J.STRING:return t===``?a?``:void 0:(q(typeof t==`string`),t);case J.BOOL:return t===!1?a?!1:void 0:(q(typeof t==`boolean`),t);case J.UINT64:case J.FIXED64:q(typeof t==`number`||typeof t==`string`||typeof t==`bigint`);let e=xp.from(t);return e.isZero()&&!a?void 0:e.toString();case J.INT64:case J.SFIXED64:case J.SINT64:q(typeof t==`number`||typeof t==`string`||typeof t==`bigint`);let n=K.from(t);return n.isZero()&&!a?void 0:n.toString();case J.BYTES:return q(t instanceof Uint8Array),t.byteLength?ap(t):a?``:void 0}}};function Qp(e,t=Wp.STRING){switch(e){case J.BOOL:return!1;case J.UINT64:case J.FIXED64:return Yp(xp.ZERO,t);case J.INT64:case J.SFIXED64:case J.SINT64:return Yp(K.ZERO,t);case J.DOUBLE:case J.FLOAT:return 0;case J.BYTES:return new Uint8Array;case J.STRING:return``;default:return 0}}var $p=class{constructor(e){this.info=e}prepare(){if(!this.fieldNoToField){let e=this.info.fields??[];this.fieldNoToField=new Map(e.map(e=>[e.no,e]))}}read(e,t,n,r){this.prepare();let i=r===void 0?e.len:e.pos+r;for(;e.pos<i;){let[r,i]=e.tag(),a=this.fieldNoToField.get(r);if(!a){let a=n.readUnknownField;if(a==`throw`)throw Error(`Unknown field ${r} (wire type ${i}) for ${this.info.typeName}`);let o=e.skip(i);a!==!1&&(a===!0?op.onRead:a)(this.info.typeName,t,r,i,o);continue}let o=t,s=a.repeat,c=a.localName;switch(a.oneof&&(o=o[a.oneof],o.oneofKind!==c&&(o=t[a.oneof]={oneofKind:c})),a.kind){case`scalar`:case`enum`:let t=a.kind==`enum`?J.INT32:a.T,r=a.kind==`scalar`?a.L:void 0;if(s){let n=o[c];if(i==W.LengthDelimited&&t!=J.STRING&&t!=J.BYTES){let i=e.uint32()+e.pos;for(;e.pos<i;)n.push(this.scalar(e,t,r))}else n.push(this.scalar(e,t,r))}else o[c]=this.scalar(e,t,r);break;case`message`:if(s){let t=o[c],r=a.T().internalBinaryRead(e,e.uint32(),n);t.push(r)}else o[c]=a.T().internalBinaryRead(e,e.uint32(),n,o[c]);break;case`map`:let[l,u]=this.mapEntry(a,e,n);o[c][l]=u;break}}}mapEntry(e,t,n){let r=t.uint32(),i=t.pos+r,a,o;for(;t.pos<i;){let[r,i]=t.tag();switch(r){case 1:a=e.K==J.BOOL?t.bool().toString():this.scalar(t,e.K,Wp.STRING);break;case 2:switch(e.V.kind){case`scalar`:o=this.scalar(t,e.V.T,e.V.L);break;case`enum`:o=t.int32();break;case`message`:o=e.V.T().internalBinaryRead(t,t.uint32(),n);break}break;default:throw Error(`Unknown field ${r} (wire type ${i}) in map entry for ${this.info.typeName}#${e.name}`)}}if(a===void 0){let t=Qp(e.K);a=e.K==J.BOOL?t.toString():t}if(o===void 0)switch(e.V.kind){case`scalar`:o=Qp(e.V.T,e.V.L);break;case`enum`:o=0;break;case`message`:o=e.V.T().create();break}return[a,o]}scalar(e,t,n){switch(t){case J.INT32:return e.int32();case J.STRING:return e.string();case J.BOOL:return e.bool();case J.DOUBLE:return e.double();case J.FLOAT:return e.float();case J.INT64:return Yp(e.int64(),n);case J.UINT64:return Yp(e.uint64(),n);case J.FIXED64:return Yp(e.fixed64(),n);case J.FIXED32:return e.fixed32();case J.BYTES:return e.bytes();case J.UINT32:return e.uint32();case J.SFIXED32:return e.sfixed32();case J.SFIXED64:return Yp(e.sfixed64(),n);case J.SINT32:return e.sint32();case J.SINT64:return Yp(e.sint64(),n)}}},em=class{constructor(e){this.info=e}prepare(){if(!this.fields){let e=this.info.fields?this.info.fields.concat():[];this.fields=e.sort((e,t)=>e.no-t.no)}}write(e,t,n){this.prepare();for(let r of this.fields){let i,a,o=r.repeat,s=r.localName;if(r.oneof){let t=e[r.oneof];if(t.oneofKind!==s)continue;i=t[s],a=!0}else i=e[s],a=!1;switch(r.kind){case`scalar`:case`enum`:let e=r.kind==`enum`?J.INT32:r.T;if(o)if(q(Array.isArray(i)),o==Gp.PACKED)this.packed(t,e,r.no,i);else for(let n of i)this.scalar(t,e,r.no,n,!0);else i===void 0?q(r.opt):this.scalar(t,e,r.no,i,a||r.opt);break;case`message`:if(o){q(Array.isArray(i));for(let e of i)this.message(t,n,r.T(),r.no,e)}else this.message(t,n,r.T(),r.no,i);break;case`map`:q(typeof i==`object`&&!!i);for(let[e,a]of Object.entries(i))this.mapEntry(t,n,r,e,a);break}}let r=n.writeUnknownFields;r!==!1&&(r===!0?op.onWrite:r)(this.info.typeName,e,t)}mapEntry(e,t,n,r,i){e.tag(n.no,W.LengthDelimited),e.fork();let a=r;switch(n.K){case J.INT32:case J.FIXED32:case J.UINT32:case J.SFIXED32:case J.SINT32:a=Number.parseInt(r);break;case J.BOOL:q(r==`true`||r==`false`),a=r==`true`;break}switch(this.scalar(e,n.K,1,a,!0),n.V.kind){case`scalar`:this.scalar(e,n.V.T,2,i,!0);break;case`enum`:this.scalar(e,J.INT32,2,i,!0);break;case`message`:this.message(e,t,n.V.T(),2,i);break}e.join()}message(e,t,n,r,i){i!==void 0&&(n.internalBinaryWrite(i,e.tag(r,W.LengthDelimited).fork(),t),e.join())}scalar(e,t,n,r,i){let[a,o,s]=this.scalarInfo(t,r);(!s||i)&&(e.tag(n,a),e[o](r))}packed(e,t,n,r){if(!r.length)return;q(t!==J.BYTES&&t!==J.STRING),e.tag(n,W.LengthDelimited),e.fork();let[,i]=this.scalarInfo(t);for(let t=0;t<r.length;t++)e[i](r[t]);e.join()}scalarInfo(e,t){let n=W.Varint,r,i=t===void 0,a=t===0;switch(e){case J.INT32:r=`int32`;break;case J.STRING:a=i||!t.length,n=W.LengthDelimited,r=`string`;break;case J.BOOL:a=t===!1,r=`bool`;break;case J.UINT32:r=`uint32`;break;case J.DOUBLE:n=W.Bit64,r=`double`;break;case J.FLOAT:n=W.Bit32,r=`float`;break;case J.INT64:a=i||K.from(t).isZero(),r=`int64`;break;case J.UINT64:a=i||xp.from(t).isZero(),r=`uint64`;break;case J.FIXED64:a=i||xp.from(t).isZero(),n=W.Bit64,r=`fixed64`;break;case J.BYTES:a=i||!t.byteLength,n=W.LengthDelimited,r=`bytes`;break;case J.FIXED32:n=W.Bit32,r=`fixed32`;break;case J.SFIXED32:n=W.Bit32,r=`sfixed32`;break;case J.SFIXED64:a=i||K.from(t).isZero(),n=W.Bit64,r=`sfixed64`;break;case J.SINT32:r=`sint32`;break;case J.SINT64:a=i||K.from(t).isZero(),r=`sint64`;break}return[n,r,i||a]}};function tm(e){let t=e.messagePrototype?Object.create(e.messagePrototype):Object.defineProperty({},Hp,{value:e});for(let n of e.fields){let e=n.localName;if(!n.opt)if(n.oneof)t[n.oneof]={oneofKind:void 0};else if(n.repeat)t[e]=[];else switch(n.kind){case`scalar`:t[e]=Qp(n.T,n.L);break;case`enum`:t[e]=0;break;case`map`:t[e]={};break}}return t}function nm(e,t,n){let r,i=n,a;for(let n of e.fields){let e=n.localName;if(n.oneof){let o=i[n.oneof];if(o?.oneofKind==null)continue;if(r=o[e],a=t[n.oneof],a.oneofKind=o.oneofKind,r==null){delete a[e];continue}}else if(r=i[e],a=t,r==null)continue;switch(n.repeat&&(a[e].length=r.length),n.kind){case`scalar`:case`enum`:if(n.repeat)for(let t=0;t<r.length;t++)a[e][t]=r[t];else a[e]=r;break;case`message`:let t=n.T();if(n.repeat)for(let n=0;n<r.length;n++)a[e][n]=t.create(r[n]);else a[e]===void 0?a[e]=t.create(r):t.mergePartial(a[e],r);break;case`map`:switch(n.V.kind){case`scalar`:case`enum`:Object.assign(a[e],r);break;case`message`:let t=n.V.T();for(let n of Object.keys(r))a[e][n]=t.create(r[n]);break}break}}}function rm(e,t,n){if(t===n)return!0;if(!t||!n)return!1;for(let r of e.fields){let e=r.localName,i=r.oneof?t[r.oneof][e]:t[e],a=r.oneof?n[r.oneof][e]:n[e];switch(r.kind){case`enum`:case`scalar`:let e=r.kind==`enum`?J.INT32:r.T;if(!(r.repeat?om(e,i,a):am(e,i,a)))return!1;break;case`map`:if(!(r.V.kind==`message`?sm(r.V.T(),im(i),im(a)):om(r.V.kind==`enum`?J.INT32:r.V.T,im(i),im(a))))return!1;break;case`message`:let t=r.T();if(!(r.repeat?sm(t,i,a):t.equals(i,a)))return!1;break}}return!0}var im=Object.values;function am(e,t,n){if(t===n)return!0;if(e!==J.BYTES)return!1;let r=t,i=n;if(r.length!==i.length)return!1;for(let e=0;e<r.length;e++)if(r[e]!=i[e])return!1;return!0}function om(e,t,n){if(t.length!==n.length)return!1;for(let r=0;r<t.length;r++)if(!am(e,t[r],n[r]))return!1;return!0}function sm(e,t,n){if(t.length!==n.length)return!1;for(let r=0;r<t.length;r++)if(!e.equals(t[r],n[r]))return!1;return!0}var cm=Object.getOwnPropertyDescriptors(Object.getPrototypeOf({})),lm=cm[Hp]={},Y=class{constructor(e,t,n){this.defaultCheckDepth=16,this.typeName=e,this.fields=t.map(Kp),this.options=n??{},lm.value=this,this.messagePrototype=Object.create(null,cm),this.refTypeCheck=new Jp(this),this.refJsonReader=new Xp(this),this.refJsonWriter=new Zp(this),this.refBinReader=new $p(this),this.refBinWriter=new em(this)}create(e){let t=tm(this);return e!==void 0&&nm(this,t,e),t}clone(e){let t=this.create();return nm(this,t,e),t}equals(e,t){return rm(this,e,t)}is(e,t=this.defaultCheckDepth){return this.refTypeCheck.is(e,t,!1)}isAssignable(e,t=this.defaultCheckDepth){return this.refTypeCheck.is(e,t,!0)}mergePartial(e,t){nm(this,e,t)}fromBinary(e,t){let n=Cp(t);return this.internalBinaryRead(n.readerFactory(e),e.byteLength,n)}fromJson(e,t){return this.internalJsonRead(e,zp(t))}fromJsonString(e,t){let n=JSON.parse(e);return this.fromJson(n,t)}toJson(e,t){return this.internalJsonWrite(e,Bp(t))}toJsonString(e,t){let n=this.toJson(e,t);return JSON.stringify(n,null,t?.prettySpaces??0)}toBinary(e,t){let n=Fp(t);return this.internalBinaryWrite(e,n.writerFactory(),n).finish()}internalJsonRead(e,t,n){if(typeof e==`object`&&e&&!Array.isArray(e)){let r=n??this.create();return this.refJsonReader.read(e,r,t),r}throw Error(`Unable to parse message ${this.typeName} from JSON ${ep(e)}.`)}internalJsonWrite(e,t){return this.refJsonWriter.write(e,t)}internalBinaryWrite(e,t,n){return this.refBinWriter.write(e,t,n),t}internalBinaryRead(e,t,n,r){let i=r??this.create();return this.refBinReader.read(e,i,n,t),i}},um=function(e){return e[e.NULL_VALUE=0]=`NULL_VALUE`,e}({}),dm=new class extends Y{constructor(){super(`google.protobuf.Struct`,[{no:1,name:`fields`,kind:`map`,K:9,V:{kind:`message`,T:()=>fm}}])}internalJsonWrite(e,t){let n={};for(let[t,r]of Object.entries(e.fields))n[t]=fm.toJson(r);return n}internalJsonRead(e,t,n){if(!tp(e))throw new globalThis.Error(`Unable to parse message `+this.typeName+` from JSON `+ep(e)+`.`);n||=this.create();for(let[t,r]of globalThis.Object.entries(e))n.fields[t]=fm.fromJson(r);return n}},fm=new class extends Y{constructor(){super(`google.protobuf.Value`,[{no:1,name:`null_value`,kind:`enum`,oneof:`kind`,T:()=>[`google.protobuf.NullValue`,um]},{no:2,name:`number_value`,kind:`scalar`,oneof:`kind`,T:1},{no:3,name:`string_value`,kind:`scalar`,oneof:`kind`,T:9},{no:4,name:`bool_value`,kind:`scalar`,oneof:`kind`,T:8},{no:5,name:`struct_value`,kind:`message`,oneof:`kind`,T:()=>dm},{no:6,name:`list_value`,kind:`message`,oneof:`kind`,T:()=>pm}])}internalJsonWrite(e,t){if(e.kind.oneofKind===void 0)throw new globalThis.Error;switch(e.kind.oneofKind){case void 0:throw new globalThis.Error;case`boolValue`:return e.kind.boolValue;case`nullValue`:return null;case`numberValue`:let t=e.kind.numberValue;if(typeof t==`number`&&!Number.isFinite(t))throw new globalThis.Error;return t;case`stringValue`:return e.kind.stringValue;case`listValue`:let n=this.fields.find(e=>e.no===6);if(n?.kind!==`message`)throw new globalThis.Error;return n.T().toJson(e.kind.listValue);case`structValue`:let r=this.fields.find(e=>e.no===5);if(r?.kind!==`message`)throw new globalThis.Error;return r.T().toJson(e.kind.structValue)}}internalJsonRead(e,t,n){switch(n||=this.create(),typeof e){case`number`:n.kind={oneofKind:`numberValue`,numberValue:e};break;case`string`:n.kind={oneofKind:`stringValue`,stringValue:e};break;case`boolean`:n.kind={oneofKind:`boolValue`,boolValue:e};break;case`object`:e===null?n.kind={oneofKind:`nullValue`,nullValue:um.NULL_VALUE}:globalThis.Array.isArray(e)?n.kind={oneofKind:`listValue`,listValue:pm.fromJson(e)}:n.kind={oneofKind:`structValue`,structValue:dm.fromJson(e)};break;default:throw new globalThis.Error(`Unable to parse `+this.typeName+` from JSON `+ep(e))}return n}},pm=new class extends Y{constructor(){super(`google.protobuf.ListValue`,[{no:1,name:`values`,kind:`message`,repeat:2,T:()=>fm}])}internalJsonWrite(e,t){return e.values.map(e=>fm.toJson(e))}internalJsonRead(e,t,n){if(!globalThis.Array.isArray(e))throw new globalThis.Error(`Unable to parse `+this.typeName+` from JSON `+ep(e));n||=this.create();let r=e.map(e=>fm.fromJson(e));return n.values.push(...r),n}},mm=function(e){return e[e.DATATYPE_KIND_UNKNOWN=0]=`DATATYPE_KIND_UNKNOWN`,e[e.STRUCT=1]=`STRUCT`,e[e.ENUM=2]=`ENUM`,e}({}),hm=function(e){return e[e.TYPE_UNKNOWN=0]=`TYPE_UNKNOWN`,e[e.ADDRESS=1]=`ADDRESS`,e[e.BOOL=2]=`BOOL`,e[e.U8=3]=`U8`,e[e.U16=4]=`U16`,e[e.U32=5]=`U32`,e[e.U64=6]=`U64`,e[e.U128=7]=`U128`,e[e.U256=8]=`U256`,e[e.VECTOR=9]=`VECTOR`,e[e.DATATYPE=10]=`DATATYPE`,e[e.TYPE_PARAMETER=11]=`TYPE_PARAMETER`,e}({}),gm=function(e){return e[e.VISIBILITY_UNKNOWN=0]=`VISIBILITY_UNKNOWN`,e[e.PRIVATE=1]=`PRIVATE`,e[e.PUBLIC=2]=`PUBLIC`,e[e.FRIEND=3]=`FRIEND`,e}({}),_m=function(e){return e[e.REFERENCE_UNKNOWN=0]=`REFERENCE_UNKNOWN`,e[e.IMMUTABLE=1]=`IMMUTABLE`,e[e.MUTABLE=2]=`MUTABLE`,e}({}),vm=function(e){return e[e.ABILITY_UNKNOWN=0]=`ABILITY_UNKNOWN`,e[e.COPY=1]=`COPY`,e[e.DROP=2]=`DROP`,e[e.STORE=3]=`STORE`,e[e.KEY=4]=`KEY`,e}({}),ym=new class extends Y{constructor(){super(`sui.rpc.v2.Package`,[{no:1,name:`storage_id`,kind:`scalar`,opt:!0,T:9},{no:2,name:`original_id`,kind:`scalar`,opt:!0,T:9},{no:3,name:`version`,kind:`scalar`,opt:!0,T:4,L:0},{no:4,name:`modules`,kind:`message`,repeat:2,T:()=>bm},{no:5,name:`type_origins`,kind:`message`,repeat:2,T:()=>Om},{no:6,name:`linkage`,kind:`message`,repeat:2,T:()=>km}])}},bm=new class extends Y{constructor(){super(`sui.rpc.v2.Module`,[{no:1,name:`name`,kind:`scalar`,opt:!0,T:9},{no:2,name:`contents`,kind:`scalar`,opt:!0,T:12},{no:3,name:`datatypes`,kind:`message`,repeat:2,T:()=>xm},{no:4,name:`functions`,kind:`message`,repeat:2,T:()=>Em}])}},xm=new class extends Y{constructor(){super(`sui.rpc.v2.DatatypeDescriptor`,[{no:1,name:`type_name`,kind:`scalar`,opt:!0,T:9},{no:2,name:`defining_id`,kind:`scalar`,opt:!0,T:9},{no:3,name:`module`,kind:`scalar`,opt:!0,T:9},{no:4,name:`name`,kind:`scalar`,opt:!0,T:9},{no:5,name:`abilities`,kind:`enum`,repeat:1,T:()=>[`sui.rpc.v2.Ability`,vm]},{no:6,name:`type_parameters`,kind:`message`,repeat:2,T:()=>Sm},{no:7,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.DatatypeDescriptor.DatatypeKind`,mm]},{no:8,name:`fields`,kind:`message`,repeat:2,T:()=>Cm},{no:9,name:`variants`,kind:`message`,repeat:2,T:()=>wm}])}},Sm=new class extends Y{constructor(){super(`sui.rpc.v2.TypeParameter`,[{no:1,name:`constraints`,kind:`enum`,repeat:1,T:()=>[`sui.rpc.v2.Ability`,vm]},{no:2,name:`is_phantom`,kind:`scalar`,opt:!0,T:8}])}},Cm=new class extends Y{constructor(){super(`sui.rpc.v2.FieldDescriptor`,[{no:1,name:`name`,kind:`scalar`,opt:!0,T:9},{no:2,name:`position`,kind:`scalar`,opt:!0,T:13},{no:3,name:`type`,kind:`message`,T:()=>Tm}])}},wm=new class extends Y{constructor(){super(`sui.rpc.v2.VariantDescriptor`,[{no:1,name:`name`,kind:`scalar`,opt:!0,T:9},{no:2,name:`position`,kind:`scalar`,opt:!0,T:13},{no:3,name:`fields`,kind:`message`,repeat:2,T:()=>Cm}])}},Tm=new class extends Y{constructor(){super(`sui.rpc.v2.OpenSignatureBody`,[{no:1,name:`type`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.OpenSignatureBody.Type`,hm]},{no:2,name:`type_name`,kind:`scalar`,opt:!0,T:9},{no:3,name:`type_parameter_instantiation`,kind:`message`,repeat:2,T:()=>Tm},{no:4,name:`type_parameter`,kind:`scalar`,opt:!0,T:13}])}},Em=new class extends Y{constructor(){super(`sui.rpc.v2.FunctionDescriptor`,[{no:1,name:`name`,kind:`scalar`,opt:!0,T:9},{no:5,name:`visibility`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.FunctionDescriptor.Visibility`,gm]},{no:6,name:`is_entry`,kind:`scalar`,opt:!0,T:8},{no:7,name:`type_parameters`,kind:`message`,repeat:2,T:()=>Sm},{no:8,name:`parameters`,kind:`message`,repeat:2,T:()=>Dm},{no:9,name:`returns`,kind:`message`,repeat:2,T:()=>Dm}])}},Dm=new class extends Y{constructor(){super(`sui.rpc.v2.OpenSignature`,[{no:1,name:`reference`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.OpenSignature.Reference`,_m]},{no:2,name:`body`,kind:`message`,T:()=>Tm}])}},Om=new class extends Y{constructor(){super(`sui.rpc.v2.TypeOrigin`,[{no:1,name:`module_name`,kind:`scalar`,opt:!0,T:9},{no:2,name:`datatype_name`,kind:`scalar`,opt:!0,T:9},{no:3,name:`package_id`,kind:`scalar`,opt:!0,T:9}])}},km=new class extends Y{constructor(){super(`sui.rpc.v2.Linkage`,[{no:1,name:`original_id`,kind:`scalar`,opt:!0,T:9},{no:2,name:`upgraded_id`,kind:`scalar`,opt:!0,T:9},{no:3,name:`upgraded_version`,kind:`scalar`,opt:!0,T:4,L:0}])}},Am=function(e){return e[e.OWNER_KIND_UNKNOWN=0]=`OWNER_KIND_UNKNOWN`,e[e.ADDRESS=1]=`ADDRESS`,e[e.OBJECT=2]=`OBJECT`,e[e.SHARED=3]=`SHARED`,e[e.IMMUTABLE=4]=`IMMUTABLE`,e[e.CONSENSUS_ADDRESS=5]=`CONSENSUS_ADDRESS`,e}({}),jm=new class extends Y{constructor(){super(`sui.rpc.v2.Owner`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.Owner.OwnerKind`,Am]},{no:2,name:`address`,kind:`scalar`,opt:!0,T:9},{no:3,name:`version`,kind:`scalar`,opt:!0,T:4,L:0}])}},Mm=function(e){return e[e.ARGUMENT_KIND_UNKNOWN=0]=`ARGUMENT_KIND_UNKNOWN`,e[e.GAS=1]=`GAS`,e[e.INPUT=2]=`INPUT`,e[e.RESULT=3]=`RESULT`,e}({}),Nm=new class extends Y{constructor(){super(`sui.rpc.v2.Argument`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.Argument.ArgumentKind`,Mm]},{no:2,name:`input`,kind:`scalar`,opt:!0,T:13},{no:3,name:`result`,kind:`scalar`,opt:!0,T:13},{no:4,name:`subresult`,kind:`scalar`,opt:!0,T:13}])}},Pm=function(e){return e[e.INPUT_KIND_UNKNOWN=0]=`INPUT_KIND_UNKNOWN`,e[e.PURE=1]=`PURE`,e[e.IMMUTABLE_OR_OWNED=2]=`IMMUTABLE_OR_OWNED`,e[e.SHARED=3]=`SHARED`,e[e.RECEIVING=4]=`RECEIVING`,e[e.FUNDS_WITHDRAWAL=5]=`FUNDS_WITHDRAWAL`,e}({}),Fm=function(e){return e[e.MUTABILITY_UNKNOWN=0]=`MUTABILITY_UNKNOWN`,e[e.IMMUTABLE=1]=`IMMUTABLE`,e[e.MUTABLE=2]=`MUTABLE`,e[e.NON_EXCLUSIVE_WRITE=3]=`NON_EXCLUSIVE_WRITE`,e}({}),Im=function(e){return e[e.SOURCE_UNKNOWN=0]=`SOURCE_UNKNOWN`,e[e.SENDER=1]=`SENDER`,e[e.SPONSOR=2]=`SPONSOR`,e}({}),Lm=new class extends Y{constructor(){super(`sui.rpc.v2.Input`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.Input.InputKind`,Pm]},{no:2,name:`pure`,kind:`scalar`,opt:!0,T:12},{no:3,name:`object_id`,kind:`scalar`,opt:!0,T:9},{no:4,name:`version`,kind:`scalar`,opt:!0,T:4,L:0},{no:5,name:`digest`,kind:`scalar`,opt:!0,T:9},{no:6,name:`mutable`,kind:`scalar`,opt:!0,T:8},{no:7,name:`mutability`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.Input.Mutability`,Fm]},{no:8,name:`funds_withdrawal`,kind:`message`,T:()=>Rm},{no:1e3,name:`literal`,kind:`message`,T:()=>fm}])}},Rm=new class extends Y{constructor(){super(`sui.rpc.v2.FundsWithdrawal`,[{no:1,name:`amount`,kind:`scalar`,opt:!0,T:4,L:0},{no:2,name:`coin_type`,kind:`scalar`,opt:!0,T:9},{no:3,name:`source`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.FundsWithdrawal.Source`,Im]}])}},zm=new class extends Y{constructor(){super(`google.protobuf.Duration`,[{no:1,name:`seconds`,kind:`scalar`,T:3,L:0},{no:2,name:`nanos`,kind:`scalar`,T:5}])}internalJsonWrite(e,t){let n=K.from(e.seconds).toNumber();if(n>315576e6||n<-315576e6)throw Error(`Duration value out of range.`);let r=e.seconds.toString();if(n===0&&e.nanos<0&&(r=`-`+r),e.nanos!==0){let t=Math.abs(e.nanos).toString();t=`0`.repeat(9-t.length)+t,t.substring(3)===`000000`?t=t.substring(0,3):t.substring(6)===`000`&&(t=t.substring(0,6)),r+=`.`+t}return r+`s`}internalJsonRead(e,t,n){if(typeof e!=`string`)throw Error(`Unable to parse Duration from JSON `+ep(e)+`. Expected string.`);let r=e.match(/^(-?)([0-9]+)(?:\.([0-9]+))?s/);if(r===null)throw Error(`Unable to parse Duration from JSON string. Invalid format.`);n||=this.create();let[,i,a,o]=r,s=K.from(i+a);if(s.toNumber()>315576e6||s.toNumber()<-315576e6)throw Error(`Unable to parse Duration from JSON string. Value out of range.`);if(n.seconds=s.toBigInt(),typeof o==`string`){let e=i+o+`0`.repeat(9-o.length);n.nanos=parseInt(e)}return n}},Bm=new class extends Y{constructor(){super(`sui.rpc.v2.JwkId`,[{no:1,name:`iss`,kind:`scalar`,opt:!0,T:9},{no:2,name:`kid`,kind:`scalar`,opt:!0,T:9}])}},Vm=new class extends Y{constructor(){super(`sui.rpc.v2.Jwk`,[{no:1,name:`kty`,kind:`scalar`,opt:!0,T:9},{no:2,name:`e`,kind:`scalar`,opt:!0,T:9},{no:3,name:`n`,kind:`scalar`,opt:!0,T:9},{no:4,name:`alg`,kind:`scalar`,opt:!0,T:9}])}},Hm=new class extends Y{constructor(){super(`sui.rpc.v2.Bcs`,[{no:1,name:`name`,kind:`scalar`,opt:!0,T:9},{no:2,name:`value`,kind:`scalar`,opt:!0,T:12}])}},Um=new class extends Y{constructor(){super(`sui.rpc.v2.Object`,[{no:1,name:`bcs`,kind:`message`,T:()=>Hm},{no:2,name:`object_id`,kind:`scalar`,opt:!0,T:9},{no:3,name:`version`,kind:`scalar`,opt:!0,T:4,L:0},{no:4,name:`digest`,kind:`scalar`,opt:!0,T:9},{no:5,name:`owner`,kind:`message`,T:()=>jm},{no:6,name:`object_type`,kind:`scalar`,opt:!0,T:9},{no:7,name:`has_public_transfer`,kind:`scalar`,opt:!0,T:8},{no:8,name:`contents`,kind:`message`,T:()=>Hm},{no:9,name:`package`,kind:`message`,T:()=>ym},{no:10,name:`previous_transaction`,kind:`scalar`,opt:!0,T:9},{no:11,name:`storage_rebate`,kind:`scalar`,opt:!0,T:4,L:0},{no:100,name:`json`,kind:`message`,T:()=>fm},{no:101,name:`balance`,kind:`scalar`,opt:!0,T:4,L:0},{no:102,name:`display`,kind:`message`,T:()=>Gm}])}},Wm=new class extends Y{constructor(){super(`sui.rpc.v2.ObjectSet`,[{no:1,name:`objects`,kind:`message`,repeat:2,T:()=>Um}])}},Gm=new class extends Y{constructor(){super(`sui.rpc.v2.Display`,[{no:1,name:`output`,kind:`message`,T:()=>fm},{no:2,name:`errors`,kind:`message`,T:()=>fm}])}},Km=new class extends Y{constructor(){super(`google.protobuf.Timestamp`,[{no:1,name:`seconds`,kind:`scalar`,T:3,L:0},{no:2,name:`nanos`,kind:`scalar`,T:5}])}now(){let e=this.create(),t=Date.now();return e.seconds=K.from(Math.floor(t/1e3)).toBigInt(),e.nanos=t%1e3*1e6,e}toDate(e){return new Date(K.from(e.seconds).toNumber()*1e3+Math.ceil(e.nanos/1e6))}fromDate(e){let t=this.create(),n=e.getTime();return t.seconds=K.from(Math.floor(n/1e3)).toBigInt(),t.nanos=(n%1e3+(n<0&&n%1e3!=0?1e3:0))*1e6,t}internalJsonWrite(e,t){let n=K.from(e.seconds).toNumber()*1e3;if(n<Date.parse(`0001-01-01T00:00:00Z`)||n>Date.parse(`9999-12-31T23:59:59Z`))throw Error(`Unable to encode Timestamp to JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.`);if(e.nanos<0)throw Error(`Unable to encode invalid Timestamp to JSON. Nanos must not be negative.`);let r=`Z`;if(e.nanos>0){let t=(e.nanos+1e9).toString().substring(1);r=t.substring(3)===`000000`?`.`+t.substring(0,3)+`Z`:t.substring(6)===`000`?`.`+t.substring(0,6)+`Z`:`.`+t+`Z`}return new Date(n).toISOString().replace(`.000Z`,r)}internalJsonRead(e,t,n){if(typeof e!=`string`)throw Error(`Unable to parse Timestamp from JSON `+ep(e)+`.`);let r=e.match(/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(?:Z|\.([0-9]{3,9})Z|([+-][0-9][0-9]:[0-9][0-9]))$/);if(!r)throw Error(`Unable to parse Timestamp from JSON. Invalid format.`);let i=Date.parse(r[1]+`-`+r[2]+`-`+r[3]+`T`+r[4]+`:`+r[5]+`:`+r[6]+(r[8]?r[8]:`Z`));if(Number.isNaN(i))throw Error(`Unable to parse Timestamp from JSON. Invalid value.`);if(i<Date.parse(`0001-01-01T00:00:00Z`)||i>Date.parse(`9999-12-31T23:59:59Z`))throw new globalThis.Error(`Unable to parse Timestamp from JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.`);return n||=this.create(),n.seconds=K.from(i/1e3).toBigInt(),n.nanos=0,r[7]&&(n.nanos=parseInt(`1`+r[7]+`0`.repeat(9-r[7].length))-1e9),n}},qm=new class extends Y{constructor(){super(`sui.rpc.v2.ObjectReference`,[{no:1,name:`object_id`,kind:`scalar`,opt:!0,T:9},{no:2,name:`version`,kind:`scalar`,opt:!0,T:4,L:0},{no:3,name:`digest`,kind:`scalar`,opt:!0,T:9}])}},Jm=function(e){return e[e.TRANSACTION_EXPIRATION_KIND_UNKNOWN=0]=`TRANSACTION_EXPIRATION_KIND_UNKNOWN`,e[e.NONE=1]=`NONE`,e[e.EPOCH=2]=`EPOCH`,e[e.VALID_DURING=3]=`VALID_DURING`,e}({}),Ym=function(e){return e[e.KIND_UNKNOWN=0]=`KIND_UNKNOWN`,e[e.PROGRAMMABLE_TRANSACTION=1]=`PROGRAMMABLE_TRANSACTION`,e[e.CHANGE_EPOCH=2]=`CHANGE_EPOCH`,e[e.GENESIS=3]=`GENESIS`,e[e.CONSENSUS_COMMIT_PROLOGUE_V1=4]=`CONSENSUS_COMMIT_PROLOGUE_V1`,e[e.AUTHENTICATOR_STATE_UPDATE=5]=`AUTHENTICATOR_STATE_UPDATE`,e[e.END_OF_EPOCH=6]=`END_OF_EPOCH`,e[e.RANDOMNESS_STATE_UPDATE=7]=`RANDOMNESS_STATE_UPDATE`,e[e.CONSENSUS_COMMIT_PROLOGUE_V2=8]=`CONSENSUS_COMMIT_PROLOGUE_V2`,e[e.CONSENSUS_COMMIT_PROLOGUE_V3=9]=`CONSENSUS_COMMIT_PROLOGUE_V3`,e[e.CONSENSUS_COMMIT_PROLOGUE_V4=10]=`CONSENSUS_COMMIT_PROLOGUE_V4`,e[e.PROGRAMMABLE_SYSTEM_TRANSACTION=11]=`PROGRAMMABLE_SYSTEM_TRANSACTION`,e}({}),Xm=function(e){return e[e.KIND_UNKNOWN=0]=`KIND_UNKNOWN`,e[e.CHANGE_EPOCH=1]=`CHANGE_EPOCH`,e[e.AUTHENTICATOR_STATE_CREATE=2]=`AUTHENTICATOR_STATE_CREATE`,e[e.AUTHENTICATOR_STATE_EXPIRE=3]=`AUTHENTICATOR_STATE_EXPIRE`,e[e.RANDOMNESS_STATE_CREATE=4]=`RANDOMNESS_STATE_CREATE`,e[e.DENY_LIST_STATE_CREATE=5]=`DENY_LIST_STATE_CREATE`,e[e.BRIDGE_STATE_CREATE=6]=`BRIDGE_STATE_CREATE`,e[e.BRIDGE_COMMITTEE_INIT=7]=`BRIDGE_COMMITTEE_INIT`,e[e.STORE_EXECUTION_TIME_OBSERVATIONS=8]=`STORE_EXECUTION_TIME_OBSERVATIONS`,e[e.ACCUMULATOR_ROOT_CREATE=9]=`ACCUMULATOR_ROOT_CREATE`,e[e.COIN_REGISTRY_CREATE=10]=`COIN_REGISTRY_CREATE`,e[e.DISPLAY_REGISTRY_CREATE=11]=`DISPLAY_REGISTRY_CREATE`,e[e.ADDRESS_ALIAS_STATE_CREATE=12]=`ADDRESS_ALIAS_STATE_CREATE`,e[e.WRITE_ACCUMULATOR_STORAGE_COST=13]=`WRITE_ACCUMULATOR_STORAGE_COST`,e}({}),Zm=function(e){return e[e.EXECUTION_TIME_OBSERVATION_KIND_UNKNOWN=0]=`EXECUTION_TIME_OBSERVATION_KIND_UNKNOWN`,e[e.MOVE_ENTRY_POINT=1]=`MOVE_ENTRY_POINT`,e[e.TRANSFER_OBJECTS=2]=`TRANSFER_OBJECTS`,e[e.SPLIT_COINS=3]=`SPLIT_COINS`,e[e.MERGE_COINS=4]=`MERGE_COINS`,e[e.PUBLISH=5]=`PUBLISH`,e[e.MAKE_MOVE_VECTOR=6]=`MAKE_MOVE_VECTOR`,e[e.UPGRADE=7]=`UPGRADE`,e}({}),Qm=new class extends Y{constructor(){super(`sui.rpc.v2.Transaction`,[{no:1,name:`bcs`,kind:`message`,T:()=>Hm},{no:2,name:`digest`,kind:`scalar`,opt:!0,T:9},{no:3,name:`version`,kind:`scalar`,opt:!0,T:5},{no:4,name:`kind`,kind:`message`,T:()=>th},{no:5,name:`sender`,kind:`scalar`,opt:!0,T:9},{no:6,name:`gas_payment`,kind:`message`,T:()=>$m},{no:7,name:`expiration`,kind:`message`,T:()=>eh}])}},$m=new class extends Y{constructor(){super(`sui.rpc.v2.GasPayment`,[{no:1,name:`objects`,kind:`message`,repeat:2,T:()=>qm},{no:2,name:`owner`,kind:`scalar`,opt:!0,T:9},{no:3,name:`price`,kind:`scalar`,opt:!0,T:4,L:0},{no:4,name:`budget`,kind:`scalar`,opt:!0,T:4,L:0}])}},eh=new class extends Y{constructor(){super(`sui.rpc.v2.TransactionExpiration`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.TransactionExpiration.TransactionExpirationKind`,Jm]},{no:2,name:`epoch`,kind:`scalar`,opt:!0,T:4,L:0},{no:3,name:`min_epoch`,kind:`scalar`,opt:!0,T:4,L:0},{no:4,name:`min_timestamp`,kind:`message`,T:()=>Km},{no:5,name:`max_timestamp`,kind:`message`,T:()=>Km},{no:6,name:`chain`,kind:`scalar`,opt:!0,T:9},{no:7,name:`nonce`,kind:`scalar`,opt:!0,T:13}])}},th=new class extends Y{constructor(){super(`sui.rpc.v2.TransactionKind`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.TransactionKind.Kind`,Ym]},{no:2,name:`programmable_transaction`,kind:`message`,oneof:`data`,T:()=>nh},{no:3,name:`change_epoch`,kind:`message`,oneof:`data`,T:()=>fh},{no:4,name:`genesis`,kind:`message`,oneof:`data`,T:()=>mh},{no:5,name:`consensus_commit_prologue`,kind:`message`,oneof:`data`,T:()=>hh},{no:6,name:`authenticator_state_update`,kind:`message`,oneof:`data`,T:()=>yh},{no:7,name:`end_of_epoch`,kind:`message`,oneof:`data`,T:()=>xh},{no:8,name:`randomness_state_update`,kind:`message`,oneof:`data`,T:()=>dh}])}},nh=new class extends Y{constructor(){super(`sui.rpc.v2.ProgrammableTransaction`,[{no:1,name:`inputs`,kind:`message`,repeat:2,T:()=>Lm},{no:2,name:`commands`,kind:`message`,repeat:2,T:()=>rh}])}},rh=new class extends Y{constructor(){super(`sui.rpc.v2.Command`,[{no:1,name:`move_call`,kind:`message`,oneof:`command`,T:()=>ih},{no:2,name:`transfer_objects`,kind:`message`,oneof:`command`,T:()=>ah},{no:3,name:`split_coins`,kind:`message`,oneof:`command`,T:()=>oh},{no:4,name:`merge_coins`,kind:`message`,oneof:`command`,T:()=>sh},{no:5,name:`publish`,kind:`message`,oneof:`command`,T:()=>ch},{no:6,name:`make_move_vector`,kind:`message`,oneof:`command`,T:()=>lh},{no:7,name:`upgrade`,kind:`message`,oneof:`command`,T:()=>uh}])}},ih=new class extends Y{constructor(){super(`sui.rpc.v2.MoveCall`,[{no:1,name:`package`,kind:`scalar`,opt:!0,T:9},{no:2,name:`module`,kind:`scalar`,opt:!0,T:9},{no:3,name:`function`,kind:`scalar`,opt:!0,T:9},{no:4,name:`type_arguments`,kind:`scalar`,repeat:2,T:9},{no:5,name:`arguments`,kind:`message`,repeat:2,T:()=>Nm}])}},ah=new class extends Y{constructor(){super(`sui.rpc.v2.TransferObjects`,[{no:1,name:`objects`,kind:`message`,repeat:2,T:()=>Nm},{no:2,name:`address`,kind:`message`,T:()=>Nm}])}},oh=new class extends Y{constructor(){super(`sui.rpc.v2.SplitCoins`,[{no:1,name:`coin`,kind:`message`,T:()=>Nm},{no:2,name:`amounts`,kind:`message`,repeat:2,T:()=>Nm}])}},sh=new class extends Y{constructor(){super(`sui.rpc.v2.MergeCoins`,[{no:1,name:`coin`,kind:`message`,T:()=>Nm},{no:2,name:`coins_to_merge`,kind:`message`,repeat:2,T:()=>Nm}])}},ch=new class extends Y{constructor(){super(`sui.rpc.v2.Publish`,[{no:1,name:`modules`,kind:`scalar`,repeat:2,T:12},{no:2,name:`dependencies`,kind:`scalar`,repeat:2,T:9}])}},lh=new class extends Y{constructor(){super(`sui.rpc.v2.MakeMoveVector`,[{no:1,name:`element_type`,kind:`scalar`,opt:!0,T:9},{no:2,name:`elements`,kind:`message`,repeat:2,T:()=>Nm}])}},uh=new class extends Y{constructor(){super(`sui.rpc.v2.Upgrade`,[{no:1,name:`modules`,kind:`scalar`,repeat:2,T:12},{no:2,name:`dependencies`,kind:`scalar`,repeat:2,T:9},{no:3,name:`package`,kind:`scalar`,opt:!0,T:9},{no:4,name:`ticket`,kind:`message`,T:()=>Nm}])}},dh=new class extends Y{constructor(){super(`sui.rpc.v2.RandomnessStateUpdate`,[{no:1,name:`epoch`,kind:`scalar`,opt:!0,T:4,L:0},{no:2,name:`randomness_round`,kind:`scalar`,opt:!0,T:4,L:0},{no:3,name:`random_bytes`,kind:`scalar`,opt:!0,T:12},{no:4,name:`randomness_object_initial_shared_version`,kind:`scalar`,opt:!0,T:4,L:0}])}},fh=new class extends Y{constructor(){super(`sui.rpc.v2.ChangeEpoch`,[{no:1,name:`epoch`,kind:`scalar`,opt:!0,T:4,L:0},{no:2,name:`protocol_version`,kind:`scalar`,opt:!0,T:4,L:0},{no:3,name:`storage_charge`,kind:`scalar`,opt:!0,T:4,L:0},{no:4,name:`computation_charge`,kind:`scalar`,opt:!0,T:4,L:0},{no:5,name:`storage_rebate`,kind:`scalar`,opt:!0,T:4,L:0},{no:6,name:`non_refundable_storage_fee`,kind:`scalar`,opt:!0,T:4,L:0},{no:7,name:`epoch_start_timestamp`,kind:`message`,T:()=>Km},{no:8,name:`system_packages`,kind:`message`,repeat:2,T:()=>ph}])}},ph=new class extends Y{constructor(){super(`sui.rpc.v2.SystemPackage`,[{no:1,name:`version`,kind:`scalar`,opt:!0,T:4,L:0},{no:2,name:`modules`,kind:`scalar`,repeat:2,T:12},{no:3,name:`dependencies`,kind:`scalar`,repeat:2,T:9}])}},mh=new class extends Y{constructor(){super(`sui.rpc.v2.GenesisTransaction`,[{no:1,name:`objects`,kind:`message`,repeat:2,T:()=>Um}])}},hh=new class extends Y{constructor(){super(`sui.rpc.v2.ConsensusCommitPrologue`,[{no:1,name:`epoch`,kind:`scalar`,opt:!0,T:4,L:0},{no:2,name:`round`,kind:`scalar`,opt:!0,T:4,L:0},{no:3,name:`commit_timestamp`,kind:`message`,T:()=>Km},{no:4,name:`consensus_commit_digest`,kind:`scalar`,opt:!0,T:9},{no:5,name:`sub_dag_index`,kind:`scalar`,opt:!0,T:4,L:0},{no:6,name:`consensus_determined_version_assignments`,kind:`message`,T:()=>vh},{no:7,name:`additional_state_digest`,kind:`scalar`,opt:!0,T:9}])}},gh=new class extends Y{constructor(){super(`sui.rpc.v2.VersionAssignment`,[{no:1,name:`object_id`,kind:`scalar`,opt:!0,T:9},{no:2,name:`start_version`,kind:`scalar`,opt:!0,T:4,L:0},{no:3,name:`version`,kind:`scalar`,opt:!0,T:4,L:0}])}},_h=new class extends Y{constructor(){super(`sui.rpc.v2.CanceledTransaction`,[{no:1,name:`digest`,kind:`scalar`,opt:!0,T:9},{no:2,name:`version_assignments`,kind:`message`,repeat:2,T:()=>gh}])}},vh=new class extends Y{constructor(){super(`sui.rpc.v2.ConsensusDeterminedVersionAssignments`,[{no:1,name:`version`,kind:`scalar`,opt:!0,T:5},{no:3,name:`canceled_transactions`,kind:`message`,repeat:2,T:()=>_h}])}},yh=new class extends Y{constructor(){super(`sui.rpc.v2.AuthenticatorStateUpdate`,[{no:1,name:`epoch`,kind:`scalar`,opt:!0,T:4,L:0},{no:2,name:`round`,kind:`scalar`,opt:!0,T:4,L:0},{no:3,name:`new_active_jwks`,kind:`message`,repeat:2,T:()=>bh},{no:4,name:`authenticator_object_initial_shared_version`,kind:`scalar`,opt:!0,T:4,L:0}])}},bh=new class extends Y{constructor(){super(`sui.rpc.v2.ActiveJwk`,[{no:1,name:`id`,kind:`message`,T:()=>Bm},{no:2,name:`jwk`,kind:`message`,T:()=>Vm},{no:3,name:`epoch`,kind:`scalar`,opt:!0,T:4,L:0}])}},xh=new class extends Y{constructor(){super(`sui.rpc.v2.EndOfEpochTransaction`,[{no:1,name:`transactions`,kind:`message`,repeat:2,T:()=>Sh}])}},Sh=new class extends Y{constructor(){super(`sui.rpc.v2.EndOfEpochTransactionKind`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.EndOfEpochTransactionKind.Kind`,Xm]},{no:2,name:`change_epoch`,kind:`message`,oneof:`data`,T:()=>fh},{no:3,name:`authenticator_state_expire`,kind:`message`,oneof:`data`,T:()=>Ch},{no:4,name:`execution_time_observations`,kind:`message`,oneof:`data`,T:()=>wh},{no:5,name:`bridge_chain_id`,kind:`scalar`,oneof:`data`,T:9},{no:6,name:`bridge_object_version`,kind:`scalar`,oneof:`data`,T:4,L:0},{no:7,name:`storage_cost`,kind:`scalar`,oneof:`data`,T:4,L:0}])}},Ch=new class extends Y{constructor(){super(`sui.rpc.v2.AuthenticatorStateExpire`,[{no:1,name:`min_epoch`,kind:`scalar`,opt:!0,T:4,L:0},{no:2,name:`authenticator_object_initial_shared_version`,kind:`scalar`,opt:!0,T:4,L:0}])}},wh=new class extends Y{constructor(){super(`sui.rpc.v2.ExecutionTimeObservations`,[{no:1,name:`version`,kind:`scalar`,opt:!0,T:5},{no:2,name:`observations`,kind:`message`,repeat:2,T:()=>Th}])}},Th=new class extends Y{constructor(){super(`sui.rpc.v2.ExecutionTimeObservation`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.ExecutionTimeObservation.ExecutionTimeObservationKind`,Zm]},{no:2,name:`move_entry_point`,kind:`message`,T:()=>ih},{no:3,name:`validator_observations`,kind:`message`,repeat:2,T:()=>Eh}])}},Eh=new class extends Y{constructor(){super(`sui.rpc.v2.ValidatorExecutionTimeObservation`,[{no:1,name:`validator`,kind:`scalar`,opt:!0,T:12},{no:2,name:`duration`,kind:`message`,T:()=>zm}])}};function Dh(e){switch(e.$kind){case`Pure`:return{kind:Pm.PURE,pure:w(e.Pure.bytes)};case`Object`:if(e.Object.$kind===`ImmOrOwnedObject`)return{kind:Pm.IMMUTABLE_OR_OWNED,objectId:e.Object.ImmOrOwnedObject.objectId,version:BigInt(e.Object.ImmOrOwnedObject.version),digest:e.Object.ImmOrOwnedObject.digest};if(e.Object.$kind===`SharedObject`)return{kind:Pm.SHARED,objectId:e.Object.SharedObject.objectId,version:BigInt(e.Object.SharedObject.initialSharedVersion),mutable:e.Object.SharedObject.mutable};if(e.Object.$kind===`Receiving`)return{kind:Pm.RECEIVING,objectId:e.Object.Receiving.objectId,version:BigInt(e.Object.Receiving.version),digest:e.Object.Receiving.digest};throw Error(`Unknown Object kind: ${JSON.stringify(e.Object)}`);case`UnresolvedObject`:let t=e.UnresolvedObject;return{objectId:t.objectId,version:t.version?BigInt(t.version):t.initialSharedVersion?BigInt(t.initialSharedVersion):void 0,digest:t.digest??void 0,mutable:t.mutable??void 0};case`UnresolvedPure`:throw Error(`UnresolvedPure arguments must be resolved before converting to gRPC format`);case`FundsWithdrawal`:{let t=e.FundsWithdrawal;return{kind:Pm.FUNDS_WITHDRAWAL,fundsWithdrawal:{amount:t.reservation.$kind===`MaxAmountU64`?BigInt(t.reservation.MaxAmountU64):void 0,coinType:t.typeArg.$kind===`Balance`?t.typeArg.Balance:void 0,source:t.withdrawFrom.$kind===`Sponsor`?Im.SPONSOR:Im.SENDER}}}default:throw Error(`Unknown CallArg kind: ${JSON.stringify(e)}`)}}function Oh(e){if(`GasCoin`in e)return{kind:Mm.GAS};if(`Input`in e)return{kind:Mm.INPUT,input:e.Input};if(`Result`in e)return{kind:Mm.RESULT,result:e.Result};if(`NestedResult`in e)return{kind:Mm.RESULT,result:e.NestedResult[0],subresult:e.NestedResult[1]};throw Error(`Unknown Argument: ${JSON.stringify(e)}`)}function kh(e){switch(e.$kind){case`MoveCall`:return{command:{oneofKind:`moveCall`,moveCall:{package:e.MoveCall.package,module:e.MoveCall.module,function:e.MoveCall.function,typeArguments:e.MoveCall.typeArguments,arguments:e.MoveCall.arguments.map(Oh)}}};case`TransferObjects`:return{command:{oneofKind:`transferObjects`,transferObjects:{objects:e.TransferObjects.objects.map(Oh),address:Oh(e.TransferObjects.address)}}};case`SplitCoins`:return{command:{oneofKind:`splitCoins`,splitCoins:{coin:Oh(e.SplitCoins.coin),amounts:e.SplitCoins.amounts.map(Oh)}}};case`MergeCoins`:return{command:{oneofKind:`mergeCoins`,mergeCoins:{coin:Oh(e.MergeCoins.destination),coinsToMerge:e.MergeCoins.sources.map(Oh)}}};case`Publish`:return{command:{oneofKind:`publish`,publish:{modules:e.Publish.modules.map(e=>w(e)),dependencies:e.Publish.dependencies}}};case`MakeMoveVec`:return{command:{oneofKind:`makeMoveVector`,makeMoveVector:{elementType:e.MakeMoveVec.type??void 0,elements:e.MakeMoveVec.elements.map(Oh)}}};case`Upgrade`:return{command:{oneofKind:`upgrade`,upgrade:{modules:e.Upgrade.modules.map(e=>w(e)),dependencies:e.Upgrade.dependencies,package:e.Upgrade.package,ticket:Oh(e.Upgrade.ticket)}}};default:throw Error(`Unknown Command kind: ${JSON.stringify(e)}`)}}function Ah(e){let t={version:1,kind:{data:{oneofKind:`programmableTransaction`,programmableTransaction:{inputs:e.inputs.map(Dh),commands:e.commands.map(kh)}}}};e.sender&&(t.sender=e.sender);let n=e.gasData.owner??e.sender;if(t.gasPayment={objects:e.gasData.payment?e.gasData.payment.map(e=>({objectId:e.objectId,version:BigInt(e.version),digest:e.digest})):[],price:e.gasData.price?BigInt(e.gasData.price):void 0,budget:e.gasData.budget?BigInt(e.gasData.budget):void 0},n&&(t.gasPayment.owner=n),e.expiration){if(`None`in e.expiration)t.expiration={kind:Jm.NONE};else if(e.expiration.$kind===`Epoch`)t.expiration={kind:Jm.EPOCH,epoch:BigInt(e.expiration.Epoch)};else if(e.expiration.$kind===`ValidDuring`){let n=e.expiration.ValidDuring;t.expiration={kind:Jm.VALID_DURING,minEpoch:n.minEpoch==null?void 0:BigInt(n.minEpoch),epoch:n.maxEpoch==null?void 0:BigInt(n.maxEpoch),chain:n.chain,nonce:n.nonce}}}return t}function jh(e,t,n){let r=Ih(t);n?.onlyTransactionKind?e.applyResolvedData({...r,gasData:{budget:null,owner:null,payment:null,price:null},expiration:null}):e.applyResolvedData(r)}function Mh(e){let t=e.getData();return t.sender||=`0x0000000000000000000000000000000000000000000000000000000000000000`,Ah(t)}function Nh(e){switch(e.kind){case Pm.PURE:return{$kind:`Pure`,Pure:{bytes:T(e.pure)}};case Pm.IMMUTABLE_OR_OWNED:return{$kind:`Object`,Object:{$kind:`ImmOrOwnedObject`,ImmOrOwnedObject:{objectId:e.objectId,version:e.version.toString(),digest:e.digest}}};case Pm.SHARED:return{$kind:`Object`,Object:{$kind:`SharedObject`,SharedObject:{objectId:e.objectId,initialSharedVersion:e.version.toString(),mutable:e.mutable??!1}}};case Pm.RECEIVING:return{$kind:`Object`,Object:{$kind:`Receiving`,Receiving:{objectId:e.objectId,version:e.version.toString(),digest:e.digest}}};case Pm.FUNDS_WITHDRAWAL:return{$kind:`FundsWithdrawal`,FundsWithdrawal:{reservation:{$kind:`MaxAmountU64`,MaxAmountU64:e.fundsWithdrawal?.amount?.toString()??`0`},typeArg:{$kind:`Balance`,Balance:e.fundsWithdrawal?.coinType??`0x2::sui::SUI`},withdrawFrom:e.fundsWithdrawal?.source===Im.SPONSOR?{$kind:`Sponsor`,Sponsor:!0}:{$kind:`Sender`,Sender:!0}}};default:throw Error(`Unknown Input kind: ${JSON.stringify(e)}`)}}function Ph(e){switch(e.kind){case Mm.GAS:return{$kind:`GasCoin`,GasCoin:!0};case Mm.INPUT:return{$kind:`Input`,Input:e.input};case Mm.RESULT:return e.subresult==null?{$kind:`Result`,Result:e.result}:{$kind:`NestedResult`,NestedResult:[e.result,e.subresult]};default:throw Error(`Unknown Argument kind: ${JSON.stringify(e)}`)}}function Fh(e){let t=e.command;if(!t)throw Error(`Command is missing`);switch(t.oneofKind){case`moveCall`:return{$kind:`MoveCall`,MoveCall:{package:t.moveCall.package,module:t.moveCall.module,function:t.moveCall.function,typeArguments:t.moveCall.typeArguments??[],arguments:t.moveCall.arguments.map(Ph)}};case`transferObjects`:return{$kind:`TransferObjects`,TransferObjects:{objects:t.transferObjects.objects.map(Ph),address:Ph(t.transferObjects.address)}};case`splitCoins`:return{$kind:`SplitCoins`,SplitCoins:{coin:Ph(t.splitCoins.coin),amounts:t.splitCoins.amounts.map(Ph)}};case`mergeCoins`:return{$kind:`MergeCoins`,MergeCoins:{destination:Ph(t.mergeCoins.coin),sources:t.mergeCoins.coinsToMerge.map(Ph)}};case`publish`:return{$kind:`Publish`,Publish:{modules:t.publish.modules.map(e=>T(e)),dependencies:t.publish.dependencies??[]}};case`makeMoveVector`:return{$kind:`MakeMoveVec`,MakeMoveVec:{type:t.makeMoveVector.elementType??null,elements:t.makeMoveVector.elements.map(Ph)}};case`upgrade`:return{$kind:`Upgrade`,Upgrade:{modules:t.upgrade.modules.map(e=>T(e)),dependencies:t.upgrade.dependencies??[],package:t.upgrade.package,ticket:Ph(t.upgrade.ticket)}};default:throw Error(`Unknown Command kind: ${JSON.stringify(t)}`)}}function Ih(e){let t=e.kind?.data;if(t?.oneofKind!==`programmableTransaction`)throw Error(`Only programmable transactions are supported`);let n=t.programmableTransaction.inputs.map(Nh),r=t.programmableTransaction.commands.map(Fh),i=null;if(e.expiration)switch(e.expiration.kind){case Jm.NONE:i={$kind:`None`,None:!0};break;case Jm.EPOCH:i={$kind:`Epoch`,Epoch:e.expiration.epoch.toString()};break;case Jm.VALID_DURING:i={$kind:`ValidDuring`,ValidDuring:{minEpoch:e.expiration.minEpoch?.toString()??null,maxEpoch:e.expiration.epoch?.toString()??null,minTimestamp:null,maxTimestamp:null,chain:e.expiration.chain??``,nonce:e.expiration.nonce??0}};break}return{version:2,sender:e.sender??null,expiration:i,gasData:{budget:e.gasPayment?.budget?.toString()??null,owner:e.gasPayment?.owner??null,payment:e.gasPayment?.objects?.map(e=>({objectId:e.objectId,version:e.version.toString(),digest:e.digest}))??null,price:e.gasPayment?.price?.toString()??null},inputs:n,commands:r}}var Lh=function(e){return e[e.EXECUTION_ERROR_KIND_UNKNOWN=0]=`EXECUTION_ERROR_KIND_UNKNOWN`,e[e.INSUFFICIENT_GAS=1]=`INSUFFICIENT_GAS`,e[e.INVALID_GAS_OBJECT=2]=`INVALID_GAS_OBJECT`,e[e.INVARIANT_VIOLATION=3]=`INVARIANT_VIOLATION`,e[e.FEATURE_NOT_YET_SUPPORTED=4]=`FEATURE_NOT_YET_SUPPORTED`,e[e.OBJECT_TOO_BIG=5]=`OBJECT_TOO_BIG`,e[e.PACKAGE_TOO_BIG=6]=`PACKAGE_TOO_BIG`,e[e.CIRCULAR_OBJECT_OWNERSHIP=7]=`CIRCULAR_OBJECT_OWNERSHIP`,e[e.INSUFFICIENT_COIN_BALANCE=8]=`INSUFFICIENT_COIN_BALANCE`,e[e.COIN_BALANCE_OVERFLOW=9]=`COIN_BALANCE_OVERFLOW`,e[e.PUBLISH_ERROR_NON_ZERO_ADDRESS=10]=`PUBLISH_ERROR_NON_ZERO_ADDRESS`,e[e.SUI_MOVE_VERIFICATION_ERROR=11]=`SUI_MOVE_VERIFICATION_ERROR`,e[e.MOVE_PRIMITIVE_RUNTIME_ERROR=12]=`MOVE_PRIMITIVE_RUNTIME_ERROR`,e[e.MOVE_ABORT=13]=`MOVE_ABORT`,e[e.VM_VERIFICATION_OR_DESERIALIZATION_ERROR=14]=`VM_VERIFICATION_OR_DESERIALIZATION_ERROR`,e[e.VM_INVARIANT_VIOLATION=15]=`VM_INVARIANT_VIOLATION`,e[e.FUNCTION_NOT_FOUND=16]=`FUNCTION_NOT_FOUND`,e[e.ARITY_MISMATCH=17]=`ARITY_MISMATCH`,e[e.TYPE_ARITY_MISMATCH=18]=`TYPE_ARITY_MISMATCH`,e[e.NON_ENTRY_FUNCTION_INVOKED=19]=`NON_ENTRY_FUNCTION_INVOKED`,e[e.COMMAND_ARGUMENT_ERROR=20]=`COMMAND_ARGUMENT_ERROR`,e[e.TYPE_ARGUMENT_ERROR=21]=`TYPE_ARGUMENT_ERROR`,e[e.UNUSED_VALUE_WITHOUT_DROP=22]=`UNUSED_VALUE_WITHOUT_DROP`,e[e.INVALID_PUBLIC_FUNCTION_RETURN_TYPE=23]=`INVALID_PUBLIC_FUNCTION_RETURN_TYPE`,e[e.INVALID_TRANSFER_OBJECT=24]=`INVALID_TRANSFER_OBJECT`,e[e.EFFECTS_TOO_LARGE=25]=`EFFECTS_TOO_LARGE`,e[e.PUBLISH_UPGRADE_MISSING_DEPENDENCY=26]=`PUBLISH_UPGRADE_MISSING_DEPENDENCY`,e[e.PUBLISH_UPGRADE_DEPENDENCY_DOWNGRADE=27]=`PUBLISH_UPGRADE_DEPENDENCY_DOWNGRADE`,e[e.PACKAGE_UPGRADE_ERROR=28]=`PACKAGE_UPGRADE_ERROR`,e[e.WRITTEN_OBJECTS_TOO_LARGE=29]=`WRITTEN_OBJECTS_TOO_LARGE`,e[e.CERTIFICATE_DENIED=30]=`CERTIFICATE_DENIED`,e[e.SUI_MOVE_VERIFICATION_TIMEDOUT=31]=`SUI_MOVE_VERIFICATION_TIMEDOUT`,e[e.CONSENSUS_OBJECT_OPERATION_NOT_ALLOWED=32]=`CONSENSUS_OBJECT_OPERATION_NOT_ALLOWED`,e[e.INPUT_OBJECT_DELETED=33]=`INPUT_OBJECT_DELETED`,e[e.EXECUTION_CANCELED_DUE_TO_CONSENSUS_OBJECT_CONGESTION=34]=`EXECUTION_CANCELED_DUE_TO_CONSENSUS_OBJECT_CONGESTION`,e[e.ADDRESS_DENIED_FOR_COIN=35]=`ADDRESS_DENIED_FOR_COIN`,e[e.COIN_TYPE_GLOBAL_PAUSE=36]=`COIN_TYPE_GLOBAL_PAUSE`,e[e.EXECUTION_CANCELED_DUE_TO_RANDOMNESS_UNAVAILABLE=37]=`EXECUTION_CANCELED_DUE_TO_RANDOMNESS_UNAVAILABLE`,e[e.MOVE_VECTOR_ELEM_TOO_BIG=38]=`MOVE_VECTOR_ELEM_TOO_BIG`,e[e.MOVE_RAW_VALUE_TOO_BIG=39]=`MOVE_RAW_VALUE_TOO_BIG`,e[e.INVALID_LINKAGE=40]=`INVALID_LINKAGE`,e[e.INSUFFICIENT_FUNDS_FOR_WITHDRAW=41]=`INSUFFICIENT_FUNDS_FOR_WITHDRAW`,e[e.NON_EXCLUSIVE_WRITE_INPUT_OBJECT_MODIFIED=42]=`NON_EXCLUSIVE_WRITE_INPUT_OBJECT_MODIFIED`,e}({}),Rh=function(e){return e[e.COMMAND_ARGUMENT_ERROR_KIND_UNKNOWN=0]=`COMMAND_ARGUMENT_ERROR_KIND_UNKNOWN`,e[e.TYPE_MISMATCH=1]=`TYPE_MISMATCH`,e[e.INVALID_BCS_BYTES=2]=`INVALID_BCS_BYTES`,e[e.INVALID_USAGE_OF_PURE_ARGUMENT=3]=`INVALID_USAGE_OF_PURE_ARGUMENT`,e[e.INVALID_ARGUMENT_TO_PRIVATE_ENTRY_FUNCTION=4]=`INVALID_ARGUMENT_TO_PRIVATE_ENTRY_FUNCTION`,e[e.INDEX_OUT_OF_BOUNDS=5]=`INDEX_OUT_OF_BOUNDS`,e[e.SECONDARY_INDEX_OUT_OF_BOUNDS=6]=`SECONDARY_INDEX_OUT_OF_BOUNDS`,e[e.INVALID_RESULT_ARITY=7]=`INVALID_RESULT_ARITY`,e[e.INVALID_GAS_COIN_USAGE=8]=`INVALID_GAS_COIN_USAGE`,e[e.INVALID_VALUE_USAGE=9]=`INVALID_VALUE_USAGE`,e[e.INVALID_OBJECT_BY_VALUE=10]=`INVALID_OBJECT_BY_VALUE`,e[e.INVALID_OBJECT_BY_MUT_REF=11]=`INVALID_OBJECT_BY_MUT_REF`,e[e.CONSENSUS_OBJECT_OPERATION_NOT_ALLOWED=12]=`CONSENSUS_OBJECT_OPERATION_NOT_ALLOWED`,e[e.INVALID_ARGUMENT_ARITY=13]=`INVALID_ARGUMENT_ARITY`,e[e.INVALID_TRANSFER_OBJECT=14]=`INVALID_TRANSFER_OBJECT`,e[e.INVALID_MAKE_MOVE_VEC_NON_OBJECT_ARGUMENT=15]=`INVALID_MAKE_MOVE_VEC_NON_OBJECT_ARGUMENT`,e[e.ARGUMENT_WITHOUT_VALUE=16]=`ARGUMENT_WITHOUT_VALUE`,e[e.CANNOT_MOVE_BORROWED_VALUE=17]=`CANNOT_MOVE_BORROWED_VALUE`,e[e.CANNOT_WRITE_TO_EXTENDED_REFERENCE=18]=`CANNOT_WRITE_TO_EXTENDED_REFERENCE`,e[e.INVALID_REFERENCE_ARGUMENT=19]=`INVALID_REFERENCE_ARGUMENT`,e}({}),zh=function(e){return e[e.PACKAGE_UPGRADE_ERROR_KIND_UNKNOWN=0]=`PACKAGE_UPGRADE_ERROR_KIND_UNKNOWN`,e[e.UNABLE_TO_FETCH_PACKAGE=1]=`UNABLE_TO_FETCH_PACKAGE`,e[e.NOT_A_PACKAGE=2]=`NOT_A_PACKAGE`,e[e.INCOMPATIBLE_UPGRADE=3]=`INCOMPATIBLE_UPGRADE`,e[e.DIGEST_DOES_NOT_MATCH=4]=`DIGEST_DOES_NOT_MATCH`,e[e.UNKNOWN_UPGRADE_POLICY=5]=`UNKNOWN_UPGRADE_POLICY`,e[e.PACKAGE_ID_DOES_NOT_MATCH=6]=`PACKAGE_ID_DOES_NOT_MATCH`,e}({}),Bh=function(e){return e[e.TYPE_ARGUMENT_ERROR_KIND_UNKNOWN=0]=`TYPE_ARGUMENT_ERROR_KIND_UNKNOWN`,e[e.TYPE_NOT_FOUND=1]=`TYPE_NOT_FOUND`,e[e.CONSTRAINT_NOT_SATISFIED=2]=`CONSTRAINT_NOT_SATISFIED`,e}({}),Vh=new class extends Y{constructor(){super(`sui.rpc.v2.ExecutionStatus`,[{no:1,name:`success`,kind:`scalar`,opt:!0,T:8},{no:2,name:`error`,kind:`message`,T:()=>Hh}])}},Hh=new class extends Y{constructor(){super(`sui.rpc.v2.ExecutionError`,[{no:1,name:`description`,kind:`scalar`,opt:!0,T:9},{no:2,name:`command`,kind:`scalar`,opt:!0,T:4,L:0},{no:3,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.ExecutionError.ExecutionErrorKind`,Lh]},{no:4,name:`abort`,kind:`message`,oneof:`errorDetails`,T:()=>Uh},{no:5,name:`size_error`,kind:`message`,oneof:`errorDetails`,T:()=>Kh},{no:6,name:`command_argument_error`,kind:`message`,oneof:`errorDetails`,T:()=>Xh},{no:7,name:`type_argument_error`,kind:`message`,oneof:`errorDetails`,T:()=>Qh},{no:8,name:`package_upgrade_error`,kind:`message`,oneof:`errorDetails`,T:()=>Zh},{no:9,name:`index_error`,kind:`message`,oneof:`errorDetails`,T:()=>qh},{no:10,name:`object_id`,kind:`scalar`,oneof:`errorDetails`,T:9},{no:11,name:`coin_deny_list_error`,kind:`message`,oneof:`errorDetails`,T:()=>Jh},{no:12,name:`congested_objects`,kind:`message`,oneof:`errorDetails`,T:()=>Yh}])}},Uh=new class extends Y{constructor(){super(`sui.rpc.v2.MoveAbort`,[{no:1,name:`abort_code`,kind:`scalar`,opt:!0,T:4,L:0},{no:2,name:`location`,kind:`message`,T:()=>Wh},{no:3,name:`clever_error`,kind:`message`,T:()=>Gh}])}},Wh=new class extends Y{constructor(){super(`sui.rpc.v2.MoveLocation`,[{no:1,name:`package`,kind:`scalar`,opt:!0,T:9},{no:2,name:`module`,kind:`scalar`,opt:!0,T:9},{no:3,name:`function`,kind:`scalar`,opt:!0,T:13},{no:4,name:`instruction`,kind:`scalar`,opt:!0,T:13},{no:5,name:`function_name`,kind:`scalar`,opt:!0,T:9}])}},Gh=new class extends Y{constructor(){super(`sui.rpc.v2.CleverError`,[{no:1,name:`error_code`,kind:`scalar`,opt:!0,T:4,L:0},{no:2,name:`line_number`,kind:`scalar`,opt:!0,T:4,L:0},{no:3,name:`constant_name`,kind:`scalar`,opt:!0,T:9},{no:4,name:`constant_type`,kind:`scalar`,opt:!0,T:9},{no:5,name:`rendered`,kind:`scalar`,oneof:`value`,T:9},{no:6,name:`raw`,kind:`scalar`,oneof:`value`,T:12}])}},Kh=new class extends Y{constructor(){super(`sui.rpc.v2.SizeError`,[{no:1,name:`size`,kind:`scalar`,opt:!0,T:4,L:0},{no:2,name:`max_size`,kind:`scalar`,opt:!0,T:4,L:0}])}},qh=new class extends Y{constructor(){super(`sui.rpc.v2.IndexError`,[{no:1,name:`index`,kind:`scalar`,opt:!0,T:13},{no:2,name:`subresult`,kind:`scalar`,opt:!0,T:13}])}},Jh=new class extends Y{constructor(){super(`sui.rpc.v2.CoinDenyListError`,[{no:1,name:`address`,kind:`scalar`,opt:!0,T:9},{no:2,name:`coin_type`,kind:`scalar`,opt:!0,T:9}])}},Yh=new class extends Y{constructor(){super(`sui.rpc.v2.CongestedObjects`,[{no:1,name:`objects`,kind:`scalar`,repeat:2,T:9}])}},Xh=new class extends Y{constructor(){super(`sui.rpc.v2.CommandArgumentError`,[{no:1,name:`argument`,kind:`scalar`,opt:!0,T:13},{no:2,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.CommandArgumentError.CommandArgumentErrorKind`,Rh]},{no:3,name:`index_error`,kind:`message`,T:()=>qh}])}},Zh=new class extends Y{constructor(){super(`sui.rpc.v2.PackageUpgradeError`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.PackageUpgradeError.PackageUpgradeErrorKind`,zh]},{no:2,name:`package_id`,kind:`scalar`,opt:!0,T:9},{no:3,name:`digest`,kind:`scalar`,opt:!0,T:9},{no:4,name:`policy`,kind:`scalar`,opt:!0,T:13},{no:5,name:`ticket_id`,kind:`scalar`,opt:!0,T:9}])}},Qh=new class extends Y{constructor(){super(`sui.rpc.v2.TypeArgumentError`,[{no:1,name:`type_argument`,kind:`scalar`,opt:!0,T:13},{no:2,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.TypeArgumentError.TypeArgumentErrorKind`,Bh]}])}},$h=new class extends Y{constructor(){super(`sui.rpc.v2.GasCostSummary`,[{no:1,name:`computation_cost`,kind:`scalar`,opt:!0,T:4,L:0},{no:2,name:`storage_cost`,kind:`scalar`,opt:!0,T:4,L:0},{no:3,name:`storage_rebate`,kind:`scalar`,opt:!0,T:4,L:0},{no:4,name:`non_refundable_storage_fee`,kind:`scalar`,opt:!0,T:4,L:0}])}},eg=function(e){return e[e.UNKNOWN=0]=`UNKNOWN`,e[e.DOES_NOT_EXIST=1]=`DOES_NOT_EXIST`,e[e.EXISTS=2]=`EXISTS`,e}({}),tg=function(e){return e[e.UNKNOWN=0]=`UNKNOWN`,e[e.DOES_NOT_EXIST=1]=`DOES_NOT_EXIST`,e[e.OBJECT_WRITE=2]=`OBJECT_WRITE`,e[e.PACKAGE_WRITE=3]=`PACKAGE_WRITE`,e[e.ACCUMULATOR_WRITE=4]=`ACCUMULATOR_WRITE`,e}({}),ng=function(e){return e[e.ID_OPERATION_UNKNOWN=0]=`ID_OPERATION_UNKNOWN`,e[e.NONE=1]=`NONE`,e[e.CREATED=2]=`CREATED`,e[e.DELETED=3]=`DELETED`,e}({}),rg=function(e){return e[e.ACCUMULATOR_OPERATION_UNKNOWN=0]=`ACCUMULATOR_OPERATION_UNKNOWN`,e[e.MERGE=1]=`MERGE`,e[e.SPLIT=2]=`SPLIT`,e}({}),ig=function(e){return e[e.ACCUMULATOR_VALUE_UNKNOWN=0]=`ACCUMULATOR_VALUE_UNKNOWN`,e[e.INTEGER=1]=`INTEGER`,e[e.INTEGER_TUPLE=2]=`INTEGER_TUPLE`,e[e.EVENT_DIGEST=3]=`EVENT_DIGEST`,e}({}),ag=function(e){return e[e.UNCHANGED_CONSENSUS_OBJECT_KIND_UNKNOWN=0]=`UNCHANGED_CONSENSUS_OBJECT_KIND_UNKNOWN`,e[e.READ_ONLY_ROOT=1]=`READ_ONLY_ROOT`,e[e.MUTATE_CONSENSUS_STREAM_ENDED=2]=`MUTATE_CONSENSUS_STREAM_ENDED`,e[e.READ_CONSENSUS_STREAM_ENDED=3]=`READ_CONSENSUS_STREAM_ENDED`,e[e.CANCELED=4]=`CANCELED`,e[e.PER_EPOCH_CONFIG=5]=`PER_EPOCH_CONFIG`,e}({}),og=new class extends Y{constructor(){super(`sui.rpc.v2.TransactionEffects`,[{no:1,name:`bcs`,kind:`message`,T:()=>Hm},{no:2,name:`digest`,kind:`scalar`,opt:!0,T:9},{no:3,name:`version`,kind:`scalar`,opt:!0,T:5},{no:4,name:`status`,kind:`message`,T:()=>Vh},{no:5,name:`epoch`,kind:`scalar`,opt:!0,T:4,L:0},{no:6,name:`gas_used`,kind:`message`,T:()=>$h},{no:7,name:`transaction_digest`,kind:`scalar`,opt:!0,T:9},{no:8,name:`gas_object`,kind:`message`,T:()=>sg},{no:9,name:`events_digest`,kind:`scalar`,opt:!0,T:9},{no:10,name:`dependencies`,kind:`scalar`,repeat:2,T:9},{no:11,name:`lamport_version`,kind:`scalar`,opt:!0,T:4,L:0},{no:12,name:`changed_objects`,kind:`message`,repeat:2,T:()=>sg},{no:13,name:`unchanged_consensus_objects`,kind:`message`,repeat:2,T:()=>ug},{no:14,name:`auxiliary_data_digest`,kind:`scalar`,opt:!0,T:9},{no:15,name:`unchanged_loaded_runtime_objects`,kind:`message`,repeat:2,T:()=>qm}])}},sg=new class extends Y{constructor(){super(`sui.rpc.v2.ChangedObject`,[{no:1,name:`object_id`,kind:`scalar`,opt:!0,T:9},{no:2,name:`input_state`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.ChangedObject.InputObjectState`,eg,`INPUT_OBJECT_STATE_`]},{no:3,name:`input_version`,kind:`scalar`,opt:!0,T:4,L:0},{no:4,name:`input_digest`,kind:`scalar`,opt:!0,T:9},{no:5,name:`input_owner`,kind:`message`,T:()=>jm},{no:6,name:`output_state`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.ChangedObject.OutputObjectState`,tg,`OUTPUT_OBJECT_STATE_`]},{no:7,name:`output_version`,kind:`scalar`,opt:!0,T:4,L:0},{no:8,name:`output_digest`,kind:`scalar`,opt:!0,T:9},{no:9,name:`output_owner`,kind:`message`,T:()=>jm},{no:12,name:`accumulator_write`,kind:`message`,T:()=>lg},{no:10,name:`id_operation`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.ChangedObject.IdOperation`,ng]},{no:11,name:`object_type`,kind:`scalar`,opt:!0,T:9}])}},cg=new class extends Y{constructor(){super(`sui.rpc.v2.EventDigestEntry`,[{no:1,name:`event_index`,kind:`scalar`,opt:!0,T:4,L:0},{no:2,name:`digest`,kind:`scalar`,opt:!0,T:9}])}},lg=new class extends Y{constructor(){super(`sui.rpc.v2.AccumulatorWrite`,[{no:1,name:`address`,kind:`scalar`,opt:!0,T:9},{no:2,name:`accumulator_type`,kind:`scalar`,opt:!0,T:9},{no:3,name:`operation`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.AccumulatorWrite.AccumulatorOperation`,rg]},{no:4,name:`value_kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.AccumulatorWrite.AccumulatorValue`,ig]},{no:5,name:`integer_value`,kind:`scalar`,opt:!0,T:4,L:0},{no:6,name:`integer_tuple`,kind:`scalar`,repeat:1,T:4,L:0},{no:7,name:`event_digest_value`,kind:`message`,repeat:2,T:()=>cg}])}},ug=new class extends Y{constructor(){super(`sui.rpc.v2.UnchangedConsensusObject`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.UnchangedConsensusObject.UnchangedConsensusObjectKind`,ag]},{no:2,name:`object_id`,kind:`scalar`,opt:!0,T:9},{no:3,name:`version`,kind:`scalar`,opt:!0,T:4,L:0},{no:4,name:`digest`,kind:`scalar`,opt:!0,T:9},{no:5,name:`object_type`,kind:`scalar`,opt:!0,T:9}])}},dg=function(e){return e[e.ED25519=0]=`ED25519`,e[e.SECP256K1=1]=`SECP256K1`,e[e.SECP256R1=2]=`SECP256R1`,e[e.MULTISIG=3]=`MULTISIG`,e[e.BLS12381=4]=`BLS12381`,e[e.ZKLOGIN=5]=`ZKLOGIN`,e[e.PASSKEY=6]=`PASSKEY`,e}({}),fg=new class extends Y{constructor(){super(`sui.rpc.v2.UserSignature`,[{no:1,name:`bcs`,kind:`message`,T:()=>Hm},{no:2,name:`scheme`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.SignatureScheme`,dg]},{no:3,name:`simple`,kind:`message`,oneof:`signature`,T:()=>pg},{no:4,name:`multisig`,kind:`message`,oneof:`signature`,T:()=>vg},{no:5,name:`zklogin`,kind:`message`,oneof:`signature`,T:()=>bg},{no:6,name:`passkey`,kind:`message`,oneof:`signature`,T:()=>Eg}])}},pg=new class extends Y{constructor(){super(`sui.rpc.v2.SimpleSignature`,[{no:1,name:`scheme`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.SignatureScheme`,dg]},{no:2,name:`signature`,kind:`scalar`,opt:!0,T:12},{no:3,name:`public_key`,kind:`scalar`,opt:!0,T:12}])}},mg=new class extends Y{constructor(){super(`sui.rpc.v2.ZkLoginPublicIdentifier`,[{no:1,name:`iss`,kind:`scalar`,opt:!0,T:9},{no:2,name:`address_seed`,kind:`scalar`,opt:!0,T:9}])}},hg=new class extends Y{constructor(){super(`sui.rpc.v2.MultisigMemberPublicKey`,[{no:1,name:`scheme`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.SignatureScheme`,dg]},{no:2,name:`public_key`,kind:`scalar`,opt:!0,T:12},{no:3,name:`zklogin`,kind:`message`,T:()=>mg}])}},gg=new class extends Y{constructor(){super(`sui.rpc.v2.MultisigMember`,[{no:1,name:`public_key`,kind:`message`,T:()=>hg},{no:2,name:`weight`,kind:`scalar`,opt:!0,T:13}])}},_g=new class extends Y{constructor(){super(`sui.rpc.v2.MultisigCommittee`,[{no:1,name:`members`,kind:`message`,repeat:2,T:()=>gg},{no:2,name:`threshold`,kind:`scalar`,opt:!0,T:13}])}},vg=new class extends Y{constructor(){super(`sui.rpc.v2.MultisigAggregatedSignature`,[{no:1,name:`signatures`,kind:`message`,repeat:2,T:()=>yg},{no:2,name:`bitmap`,kind:`scalar`,opt:!0,T:13},{no:3,name:`legacy_bitmap`,kind:`scalar`,opt:!0,T:12},{no:4,name:`committee`,kind:`message`,T:()=>_g}])}},yg=new class extends Y{constructor(){super(`sui.rpc.v2.MultisigMemberSignature`,[{no:1,name:`scheme`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.SignatureScheme`,dg]},{no:2,name:`signature`,kind:`scalar`,opt:!0,T:12},{no:3,name:`zklogin`,kind:`message`,T:()=>bg},{no:4,name:`passkey`,kind:`message`,T:()=>Eg}])}},bg=new class extends Y{constructor(){super(`sui.rpc.v2.ZkLoginAuthenticator`,[{no:1,name:`inputs`,kind:`message`,T:()=>xg},{no:2,name:`max_epoch`,kind:`scalar`,opt:!0,T:4,L:0},{no:3,name:`signature`,kind:`message`,T:()=>pg},{no:4,name:`public_identifier`,kind:`message`,T:()=>mg},{no:5,name:`jwk_id`,kind:`message`,T:()=>Bm}])}},xg=new class extends Y{constructor(){super(`sui.rpc.v2.ZkLoginInputs`,[{no:1,name:`proof_points`,kind:`message`,T:()=>Sg},{no:2,name:`iss_base64_details`,kind:`message`,T:()=>Cg},{no:3,name:`header_base64`,kind:`scalar`,opt:!0,T:9},{no:4,name:`address_seed`,kind:`scalar`,opt:!0,T:9}])}},Sg=new class extends Y{constructor(){super(`sui.rpc.v2.ZkLoginProof`,[{no:1,name:`a`,kind:`message`,T:()=>wg},{no:2,name:`b`,kind:`message`,T:()=>Tg},{no:3,name:`c`,kind:`message`,T:()=>wg}])}},Cg=new class extends Y{constructor(){super(`sui.rpc.v2.ZkLoginClaim`,[{no:1,name:`value`,kind:`scalar`,opt:!0,T:9},{no:2,name:`index_mod_4`,kind:`scalar`,opt:!0,T:13}])}},wg=new class extends Y{constructor(){super(`sui.rpc.v2.CircomG1`,[{no:1,name:`e0`,kind:`scalar`,opt:!0,T:9},{no:2,name:`e1`,kind:`scalar`,opt:!0,T:9},{no:3,name:`e2`,kind:`scalar`,opt:!0,T:9}])}},Tg=new class extends Y{constructor(){super(`sui.rpc.v2.CircomG2`,[{no:1,name:`e00`,kind:`scalar`,opt:!0,T:9},{no:2,name:`e01`,kind:`scalar`,opt:!0,T:9},{no:3,name:`e10`,kind:`scalar`,opt:!0,T:9},{no:4,name:`e11`,kind:`scalar`,opt:!0,T:9},{no:5,name:`e20`,kind:`scalar`,opt:!0,T:9},{no:6,name:`e21`,kind:`scalar`,opt:!0,T:9}])}},Eg=new class extends Y{constructor(){super(`sui.rpc.v2.PasskeyAuthenticator`,[{no:1,name:`authenticator_data`,kind:`scalar`,opt:!0,T:12},{no:2,name:`client_data_json`,kind:`scalar`,opt:!0,T:9},{no:3,name:`signature`,kind:`message`,T:()=>pg}])}},Dg=new class extends Y{constructor(){super(`sui.rpc.v2.ValidatorCommittee`,[{no:1,name:`epoch`,kind:`scalar`,opt:!0,T:4,L:0},{no:2,name:`members`,kind:`message`,repeat:2,T:()=>Og}])}},Og=new class extends Y{constructor(){super(`sui.rpc.v2.ValidatorCommitteeMember`,[{no:1,name:`public_key`,kind:`scalar`,opt:!0,T:12},{no:2,name:`weight`,kind:`scalar`,opt:!0,T:4,L:0}])}},kg=new class extends Y{constructor(){super(`sui.rpc.v2.ValidatorAggregatedSignature`,[{no:1,name:`epoch`,kind:`scalar`,opt:!0,T:4,L:0},{no:2,name:`signature`,kind:`scalar`,opt:!0,T:12},{no:3,name:`bitmap`,kind:`scalar`,opt:!0,T:12}])}},Ag=new class extends Y{constructor(){super(`sui.rpc.v2.BalanceChange`,[{no:1,name:`address`,kind:`scalar`,opt:!0,T:9},{no:2,name:`coin_type`,kind:`scalar`,opt:!0,T:9},{no:3,name:`amount`,kind:`scalar`,opt:!0,T:9}])}},jg=new class extends Y{constructor(){super(`sui.rpc.v2.TransactionEvents`,[{no:1,name:`bcs`,kind:`message`,T:()=>Hm},{no:2,name:`digest`,kind:`scalar`,opt:!0,T:9},{no:3,name:`events`,kind:`message`,repeat:2,T:()=>Mg}])}},Mg=new class extends Y{constructor(){super(`sui.rpc.v2.Event`,[{no:1,name:`package_id`,kind:`scalar`,opt:!0,T:9},{no:2,name:`module`,kind:`scalar`,opt:!0,T:9},{no:3,name:`sender`,kind:`scalar`,opt:!0,T:9},{no:4,name:`event_type`,kind:`scalar`,opt:!0,T:9},{no:5,name:`contents`,kind:`message`,T:()=>Hm},{no:6,name:`json`,kind:`message`,T:()=>fm}])}},Ng=new class extends Y{constructor(){super(`sui.rpc.v2.ExecutedTransaction`,[{no:1,name:`digest`,kind:`scalar`,opt:!0,T:9},{no:2,name:`transaction`,kind:`message`,T:()=>Qm},{no:3,name:`signatures`,kind:`message`,repeat:2,T:()=>fg},{no:4,name:`effects`,kind:`message`,T:()=>og},{no:5,name:`events`,kind:`message`,T:()=>jg},{no:6,name:`checkpoint`,kind:`scalar`,opt:!0,T:4,L:0},{no:7,name:`timestamp`,kind:`message`,T:()=>Km},{no:8,name:`balance_changes`,kind:`message`,repeat:2,T:()=>Ag},{no:9,name:`objects`,kind:`message`,T:()=>Wm}])}},Pg=new class extends Y{constructor(){super(`google.protobuf.FieldMask`,[{no:1,name:`paths`,kind:`scalar`,repeat:2,T:9}])}internalJsonWrite(e,t){let n=/[A-Z]|(_([.0-9_]|$))/g;return e.paths.map(e=>{if(n.test(e))throw Error(`Unable to encode FieldMask to JSON. lowerCamelCase of path name "`+e+`" is irreversible.`);return Up(e)}).join(`,`)}internalJsonRead(e,t,n){if(typeof e!=`string`)throw Error(`Unable to parse FieldMask from JSON `+ep(e)+`. Expected string.`);return n||=this.create(),e===``||(n.paths=e.split(`,`).map(e=>{if(e.includes(`_`))throw Error(`Unable to parse FieldMask from JSON. Path names must be lowerCamelCase.`);return e.replace(/[A-Z]/g,e=>`_`+e.toLowerCase())})),n}};function Fg(e,t){let n=e;return n.service=t,n.localName=n.localName??Up(n.name),n.serverStreaming=!!n.serverStreaming,n.clientStreaming=!!n.clientStreaming,n.options=n.options??{},n.idempotency=n.idempotency??void 0,n}var Ig=class{constructor(e,t,n){this.typeName=e,this.methods=t.map(e=>Fg(e,this)),this.options=n??{}}},X=class extends Error{constructor(e,t=`UNKNOWN`,n){super(e),this.name=`RpcError`,Object.setPrototypeOf(this,new.target.prototype),this.code=t,this.meta=n??{}}toString(){let e=[this.name+`: `+this.message];this.code&&(e.push(``),e.push(`Code: `+this.code)),this.serviceName&&this.methodName&&e.push(`Method: `+this.serviceName+`/`+this.methodName);let t=Object.entries(this.meta);if(t.length){e.push(``),e.push(`Meta:`);for(let[n,r]of t)e.push(` ${n}: ${r}`)}return e.join(`
|
|
5
|
+
`)}};function Lg(e,t){if(!t)return e;let n={};Rg(e,n),Rg(t,n);for(let r of Object.keys(t)){let i=t[r];switch(r){case`jsonOptions`:n.jsonOptions=Vp(e.jsonOptions,n.jsonOptions);break;case`binaryOptions`:n.binaryOptions=sp(e.binaryOptions,n.binaryOptions);break;case`meta`:n.meta={},Rg(e.meta,n.meta),Rg(t.meta,n.meta);break;case`interceptors`:n.interceptors=e.interceptors?e.interceptors.concat(i):i.concat();break}}return n}function Rg(e,t){if(!e)return;let n=t;for(let[t,r]of Object.entries(e))r instanceof Date?n[t]=new Date(r.getTime()):Array.isArray(r)?n[t]=r.concat():n[t]=r}var zg;(function(e){e[e.PENDING=0]=`PENDING`,e[e.REJECTED=1]=`REJECTED`,e[e.RESOLVED=2]=`RESOLVED`})(zg||={});var Bg=class{constructor(e=!0){this._state=zg.PENDING,this._promise=new Promise((e,t)=>{this._resolve=e,this._reject=t}),e&&this._promise.catch(e=>{})}get state(){return this._state}get promise(){return this._promise}resolve(e){if(this.state!==zg.PENDING)throw Error(`cannot resolve ${zg[this.state].toLowerCase()}`);this._resolve(e),this._state=zg.RESOLVED}reject(e){if(this.state!==zg.PENDING)throw Error(`cannot reject ${zg[this.state].toLowerCase()}`);this._reject(e),this._state=zg.REJECTED}resolvePending(e){this._state===zg.PENDING&&this.resolve(e)}rejectPending(e){this._state===zg.PENDING&&this.reject(e)}},Vg=class{constructor(){this._lis={nxt:[],msg:[],err:[],cmp:[]},this._closed=!1,this._itState={q:[]}}onNext(e){return this.addLis(e,this._lis.nxt)}onMessage(e){return this.addLis(e,this._lis.msg)}onError(e){return this.addLis(e,this._lis.err)}onComplete(e){return this.addLis(e,this._lis.cmp)}addLis(e,t){return t.push(e),()=>{let n=t.indexOf(e);n>=0&&t.splice(n,1)}}clearLis(){for(let e of Object.values(this._lis))e.splice(0,e.length)}get closed(){return this._closed!==!1}notifyNext(e,t,n){q(+!!e+ +!!t+ +!!n<=1,`only one emission at a time`),e&&this.notifyMessage(e),t&&this.notifyError(t),n&&this.notifyComplete()}notifyMessage(e){q(!this.closed,`stream is closed`),this.pushIt({value:e,done:!1}),this._lis.msg.forEach(t=>t(e)),this._lis.nxt.forEach(t=>t(e,void 0,!1))}notifyError(e){q(!this.closed,`stream is closed`),this._closed=e,this.pushIt(e),this._lis.err.forEach(t=>t(e)),this._lis.nxt.forEach(t=>t(void 0,e,!1)),this.clearLis()}notifyComplete(){q(!this.closed,`stream is closed`),this._closed=!0,this.pushIt({value:null,done:!0}),this._lis.cmp.forEach(e=>e()),this._lis.nxt.forEach(e=>e(void 0,void 0,!0)),this.clearLis()}[Symbol.asyncIterator](){return this._closed===!0?this.pushIt({value:null,done:!0}):this._closed!==!1&&this.pushIt(this._closed),{next:()=>{let e=this._itState;q(e,`bad state`),q(!e.p,`iterator contract broken`);let t=e.q.shift();return t?`value`in t?Promise.resolve(t):Promise.reject(t):(e.p=new Bg,e.p.promise)}}}pushIt(e){let t=this._itState;if(t.p){let n=t.p;q(n.state==zg.PENDING,`iterator contract broken`),`value`in e?n.resolve(e):n.reject(e),delete t.p}else t.q.push(e)}},Hg=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},Ug=class{constructor(e,t,n,r,i,a,o){this.method=e,this.requestHeaders=t,this.request=n,this.headers=r,this.response=i,this.status=a,this.trailers=o}then(e,t){return this.promiseFinished().then(t=>e?Promise.resolve(e(t)):t,e=>t?Promise.resolve(t(e)):Promise.reject(e))}promiseFinished(){return Hg(this,void 0,void 0,function*(){let[e,t,n,r]=yield Promise.all([this.headers,this.response,this.status,this.trailers]);return{method:this.method,requestHeaders:this.requestHeaders,request:this.request,headers:e,response:t,status:n,trailers:r}})}},Wg=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},Gg=class{constructor(e,t,n,r,i,a,o){this.method=e,this.requestHeaders=t,this.request=n,this.headers=r,this.responses=i,this.status=a,this.trailers=o}then(e,t){return this.promiseFinished().then(t=>e?Promise.resolve(e(t)):t,e=>t?Promise.resolve(t(e)):Promise.reject(e))}promiseFinished(){return Wg(this,void 0,void 0,function*(){let[e,t,n]=yield Promise.all([this.headers,this.status,this.trailers]);return{method:this.method,requestHeaders:this.requestHeaders,request:this.request,headers:e,status:t,trailers:n}})}};function Z(e,t,n,r,i){if(e==`unary`){let e=(e,n,r)=>t.unary(e,n,r);for(let t of(r.interceptors??[]).filter(e=>e.interceptUnary).reverse()){let n=e;e=(e,r,i)=>t.interceptUnary(n,e,r,i)}return e(n,i,r)}if(e==`serverStreaming`){let e=(e,n,r)=>t.serverStreaming(e,n,r);for(let t of(r.interceptors??[]).filter(e=>e.interceptServerStreaming).reverse()){let n=e;e=(e,r,i)=>t.interceptServerStreaming(n,e,r,i)}return e(n,i,r)}if(e==`clientStreaming`){let e=(e,n)=>t.clientStreaming(e,n);for(let t of(r.interceptors??[]).filter(e=>e.interceptClientStreaming).reverse()){let n=e;e=(e,r)=>t.interceptClientStreaming(n,e,r)}return e(n,r)}if(e==`duplex`){let e=(e,n)=>t.duplex(e,n);for(let t of(r.interceptors??[]).filter(e=>e.interceptDuplex).reverse()){let n=e;e=(e,r)=>t.interceptDuplex(n,e,r)}return e(n,r)}Tp(e)}var Kg=function(e){return e[e.ENABLED=0]=`ENABLED`,e[e.DISABLED=1]=`DISABLED`,e}({}),qg=new class extends Y{constructor(){super(`sui.rpc.v2.ExecuteTransactionRequest`,[{no:1,name:`transaction`,kind:`message`,T:()=>Qm},{no:2,name:`signatures`,kind:`message`,repeat:2,T:()=>fg},{no:3,name:`read_mask`,kind:`message`,T:()=>Pg}])}},Jg=new class extends Y{constructor(){super(`sui.rpc.v2.ExecuteTransactionResponse`,[{no:1,name:`transaction`,kind:`message`,T:()=>Ng}])}},Yg=new class extends Y{constructor(){super(`sui.rpc.v2.SimulateTransactionRequest`,[{no:1,name:`transaction`,kind:`message`,T:()=>Qm},{no:2,name:`read_mask`,kind:`message`,T:()=>Pg},{no:3,name:`checks`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.SimulateTransactionRequest.TransactionChecks`,Kg]},{no:4,name:`do_gas_selection`,kind:`scalar`,opt:!0,T:8}])}},Xg=new class extends Y{constructor(){super(`sui.rpc.v2.SimulateTransactionResponse`,[{no:1,name:`transaction`,kind:`message`,T:()=>Ng},{no:2,name:`command_outputs`,kind:`message`,repeat:2,T:()=>Zg},{no:3,name:`suggested_gas_price`,kind:`scalar`,opt:!0,T:4,L:0}])}},Zg=new class extends Y{constructor(){super(`sui.rpc.v2.CommandResult`,[{no:1,name:`return_values`,kind:`message`,repeat:2,T:()=>Qg},{no:2,name:`mutated_by_ref`,kind:`message`,repeat:2,T:()=>Qg}])}},Qg=new class extends Y{constructor(){super(`sui.rpc.v2.CommandOutput`,[{no:1,name:`argument`,kind:`message`,T:()=>Nm},{no:2,name:`value`,kind:`message`,T:()=>Hm},{no:3,name:`json`,kind:`message`,T:()=>fm}])}},$g=new Ig(`sui.rpc.v2.TransactionExecutionService`,[{name:`ExecuteTransaction`,options:{},I:qg,O:Jg},{name:`SimulateTransaction`,options:{},I:Yg,O:Xg}]),e_=class extends ic{#e;constructor({client:e,...t}){super(t),this.#e=e}async getObjects(e){let t=Ce(e.objectIds,50),n=[],r=[`owner`,`object_type`,`digest`,`version`,`object_id`];e.include?.content&&r.push(`contents`),e.include?.previousTransaction&&r.push(`previous_transaction`),e.include?.objectBcs&&r.push(`bcs`),e.include?.json&&r.push(`json`),e.include?.display&&r.push(`display`);for(let i of t){let t=await this.#e.ledgerService.batchGetObjects({requests:i.map(e=>({objectId:e})),readMask:{paths:r}});n.push(...t.response.objects.map(t=>{if(t.result.oneofKind===`error`)return Error(t.result.error.message);if(t.result.oneofKind!==`object`)return Error(`Unexpected result type`);let n=t.result.object.contents?.value??void 0,r=t.result.object.bcs?.value??void 0,i=t.result.object.objectType,a=i&&i.includes(`::`)?_t(i):i??``,o=e.include?.json?t.result.object.json?fm.toJson(t.result.object.json):null:void 0,s=t_(e.include?.display,t.result.object.display);return{objectId:t.result.object.objectId,version:t.result.object.version?.toString(),digest:t.result.object.digest,content:n,owner:n_(t.result.object.owner),type:a,previousTransaction:t.result.object.previousTransaction??void 0,objectBcs:r,json:o,display:s}}))}return{objects:n}}async listOwnedObjects(e){let t=[`owner`,`object_type`,`digest`,`version`,`object_id`];e.include?.content&&t.push(`contents`),e.include?.previousTransaction&&t.push(`previous_transaction`),e.include?.objectBcs&&t.push(`bcs`),e.include?.json&&t.push(`json`),e.include?.display&&t.push(`display`);let n=await this.#e.stateService.listOwnedObjects({owner:e.owner,objectType:e.type?(await this.mvr.resolveType({type:e.type})).type:void 0,pageToken:e.cursor?w(e.cursor):void 0,pageSize:e.limit,readMask:{paths:t}});return{objects:n.response.objects.map(t=>({objectId:t.objectId,version:t.version?.toString(),digest:t.digest,content:t.contents?.value,owner:n_(t.owner),type:t.objectType,previousTransaction:t.previousTransaction??void 0,objectBcs:t.bcs?.value,json:e.include?.json?t.json?fm.toJson(t.json):null:void 0,display:t_(e.include?.display,t.display)})),cursor:n.response.nextPageToken?T(n.response.nextPageToken):null,hasNextPage:n.response.nextPageToken!==void 0}}async listCoins(e){let t=[`owner`,`object_type`,`digest`,`version`,`object_id`,`balance`],n=e.coinType??ua,r=await this.#e.stateService.listOwnedObjects({owner:e.owner,objectType:`0x2::coin::Coin<${(await this.mvr.resolveType({type:n})).type}>`,pageToken:e.cursor?w(e.cursor):void 0,readMask:{paths:t}});return{objects:r.response.objects.map(e=>({objectId:e.objectId,version:e.version?.toString(),digest:e.digest,owner:n_(e.owner),type:e.objectType,balance:e.balance?.toString()})),cursor:r.response.nextPageToken?T(r.response.nextPageToken):null,hasNextPage:r.response.nextPageToken!==void 0}}async getBalance(e){let t=e.coinType??ua,n=await this.#e.stateService.getBalance({owner:e.owner,coinType:(await this.mvr.resolveType({type:t})).type});return{balance:{balance:n.response.balance?.balance?.toString()??`0`,coinType:n.response.balance?.coinType??t,coinBalance:n.response.balance?.coinBalance?.toString()??`0`,addressBalance:n.response.balance?.addressBalance?.toString()??`0`}}}async getCoinMetadata(e){let t=(await this.mvr.resolveType({type:e.coinType})).type,n;try{({response:n}=await this.#e.stateService.getCoinInfo({coinType:t}))}catch{return{coinMetadata:null}}return n.metadata?{coinMetadata:{id:n.metadata.id??null,decimals:n.metadata.decimals??0,name:n.metadata.name??``,symbol:n.metadata.symbol??``,description:n.metadata.description??``,iconUrl:n.metadata.iconUrl??null}}:{coinMetadata:null}}async listBalances(e){let t=await this.#e.stateService.listBalances({owner:e.owner,pageToken:e.cursor?w(e.cursor):void 0,pageSize:e.limit});return{hasNextPage:!!t.response.nextPageToken,cursor:t.response.nextPageToken?T(t.response.nextPageToken):null,balances:t.response.balances.map(e=>({balance:e.balance?.toString()??`0`,coinType:e.coinType,coinBalance:e.coinBalance?.toString()??`0`,addressBalance:e.addressBalance?.toString()??`0`}))}}async getTransaction(e){let t=[`digest`,`transaction.digest`,`signatures`,`effects.status`];e.include?.transaction&&t.push(`transaction.sender`,`transaction.gas_payment`,`transaction.expiration`,`transaction.kind`),e.include?.bcs&&t.push(`transaction.bcs`),e.include?.balanceChanges&&t.push(`balance_changes`),e.include?.effects&&t.push(`effects`),e.include?.events&&t.push(`events`),e.include?.objectTypes&&(t.push(`effects.changed_objects.object_type`),t.push(`effects.changed_objects.object_id`));let{response:n}=await this.#e.ledgerService.getTransaction({digest:e.digest,readMask:{paths:t}});if(!n.transaction)throw Error(`Transaction ${e.digest} not found`);return d_(n.transaction,e.include)}async executeTransaction(e){let t=[`digest`,`transaction.digest`,`signatures`,`effects.status`];e.include?.transaction&&t.push(`transaction.sender`,`transaction.gas_payment`,`transaction.expiration`,`transaction.kind`),e.include?.bcs&&t.push(`transaction.bcs`),e.include?.balanceChanges&&t.push(`balance_changes`),e.include?.effects&&t.push(`effects`),e.include?.events&&t.push(`events`),e.include?.objectTypes&&(t.push(`effects.changed_objects.object_type`),t.push(`effects.changed_objects.object_id`));let{response:n}=await this.#e.transactionExecutionService.executeTransaction({transaction:{bcs:{value:e.transaction}},signatures:e.signatures.map(e=>({bcs:{value:w(e)},signature:{oneofKind:void 0}})),readMask:{paths:t}});return d_(n.transaction,e.include)}async simulateTransaction(e){let t=[`transaction.digest`,`transaction.transaction.digest`,`transaction.signatures`,`transaction.effects.status`];e.include?.transaction&&t.push(`transaction.transaction.sender`,`transaction.transaction.gas_payment`,`transaction.transaction.expiration`,`transaction.transaction.kind`),e.include?.bcs&&t.push(`transaction.transaction.bcs`),e.include?.balanceChanges&&t.push(`transaction.balance_changes`),e.include?.effects&&t.push(`transaction.effects`),e.include?.events&&t.push(`transaction.events`),e.include?.objectTypes&&(t.push(`transaction.effects.changed_objects.object_type`),t.push(`transaction.effects.changed_objects.object_id`)),e.include?.commandResults&&t.push(`command_outputs`),e.transaction instanceof Uint8Array||await e.transaction.prepareForSerialization({client:this});let{response:n}=await this.#e.transactionExecutionService.simulateTransaction({transaction:e.transaction instanceof Uint8Array?{bcs:{value:e.transaction}}:Mh(e.transaction),readMask:{paths:t},doGasSelection:!1,checks:e.checksEnabled===!1?Kg.DISABLED:Kg.ENABLED}),r=d_(n.transaction,e.include),i=e.include?.commandResults&&n.commandOutputs?n.commandOutputs.map(e=>({returnValues:(e.returnValues??[]).map(e=>({bcs:e.value?.value??null})),mutatedReferences:(e.mutatedByRef??[]).map(e=>({bcs:e.value?.value??null}))})):void 0;return r.$kind===`Transaction`?{$kind:`Transaction`,Transaction:r.Transaction,commandResults:i}:{$kind:`FailedTransaction`,FailedTransaction:r.FailedTransaction,commandResults:i}}async getReferenceGasPrice(){return{referenceGasPrice:(await this.#e.ledgerService.getEpoch({readMask:{paths:[`reference_gas_price`]}})).response.epoch?.referenceGasPrice?.toString()??``}}async getProtocolConfig(){let e=(await this.#e.ledgerService.getEpoch({readMask:{paths:[`protocol_config`]}})).response.epoch?.protocolConfig;if(!e)throw Error(`Protocol config not found in response`);let t={...e.featureFlags},n={};if(e.attributes)for(let[t,r]of Object.entries(e.attributes))n[t]=r??null;return{protocolConfig:{protocolVersion:e.protocolVersion?.toString()??null,featureFlags:t,attributes:n}}}async getCurrentSystemState(){let e=(await this.#e.ledgerService.getEpoch({readMask:{paths:[`system_state.version`,`system_state.epoch`,`system_state.protocol_version`,`system_state.reference_gas_price`,`system_state.epoch_start_timestamp_ms`,`system_state.safe_mode`,`system_state.safe_mode_storage_rewards`,`system_state.safe_mode_computation_rewards`,`system_state.safe_mode_storage_rebates`,`system_state.safe_mode_non_refundable_storage_fee`,`system_state.parameters`,`system_state.storage_fund`,`system_state.stake_subsidy`]}})).response.epoch,t=e?.systemState;if(!t)throw Error(`System state not found in response`);let n=e?.start?.seconds?Number(e.start.seconds)*1e3+Math.floor((e.start.nanos||0)/1e6):t.epochStartTimestampMs?Number(t.epochStartTimestampMs):null;return{systemState:{systemStateVersion:t.version?.toString()??null,epoch:t.epoch?.toString()??null,protocolVersion:t.protocolVersion?.toString()??null,referenceGasPrice:t.referenceGasPrice?.toString()??null,epochStartTimestampMs:n.toString(),safeMode:t.safeMode??!1,safeModeStorageRewards:t.safeModeStorageRewards?.toString()??null,safeModeComputationRewards:t.safeModeComputationRewards?.toString()??null,safeModeStorageRebates:t.safeModeStorageRebates?.toString()??null,safeModeNonRefundableStorageFee:t.safeModeNonRefundableStorageFee?.toString()??null,parameters:{epochDurationMs:t.parameters?.epochDurationMs?.toString()??null,stakeSubsidyStartEpoch:t.parameters?.stakeSubsidyStartEpoch?.toString()??null,maxValidatorCount:t.parameters?.maxValidatorCount?.toString()??null,minValidatorJoiningStake:t.parameters?.minValidatorJoiningStake?.toString()??null,validatorLowStakeThreshold:t.parameters?.validatorLowStakeThreshold?.toString()??null,validatorLowStakeGracePeriod:t.parameters?.validatorLowStakeGracePeriod?.toString()??null},storageFund:{totalObjectStorageRebates:t.storageFund?.totalObjectStorageRebates?.toString()??null,nonRefundableBalance:t.storageFund?.nonRefundableBalance?.toString()??null},stakeSubsidy:{balance:t.stakeSubsidy?.balance?.toString()??null,distributionCounter:t.stakeSubsidy?.distributionCounter?.toString()??null,currentDistributionAmount:t.stakeSubsidy?.currentDistributionAmount?.toString()??null,stakeSubsidyPeriodLength:t.stakeSubsidy?.stakeSubsidyPeriodLength?.toString()??null,stakeSubsidyDecreaseRate:t.stakeSubsidy?.stakeSubsidyDecreaseRate??null}}}}async listDynamicFields(e){return this.#e.listDynamicFields(e)}async verifyZkLoginSignature(e){let t=w(e.bytes),n=e.intentScope===`PersonalMessage`?I.byteVector().serialize(t).toBytes():t,{response:r}=await this.#e.signatureVerificationService.verifySignature({message:{name:e.intentScope,value:n},signature:{bcs:{value:w(e.signature)},signature:{oneofKind:void 0}},address:e.address,jwks:[]});return{success:r.isValid??!1,errors:r.reason?[r.reason]:[]}}async defaultNameServiceName(e){return{data:{name:(await this.#e.nameService.reverseLookupName({address:e.address})).response.record?.name??null}}}async getMoveFunction(e){let t=(await this.mvr.resolvePackage({package:e.packageId})).package,{response:n}=await this.#e.movePackageService.getFunction({packageId:t,moduleName:e.moduleName,name:e.name}),r=`unknown`;switch(n.function?.visibility){case gm.PUBLIC:r=`public`;break;case gm.PRIVATE:r=`private`;break;case gm.FRIEND:r=`friend`;break}return{function:{packageId:D(t),moduleName:e.moduleName,name:n.function?.name,visibility:r,isEntry:n.function?.isEntry??!1,typeParameters:n.function?.typeParameters?.map(({constraints:e})=>({isPhantom:!1,constraints:e.map(e=>{switch(e){case vm.COPY:return`copy`;case vm.DROP:return`drop`;case vm.STORE:return`store`;case vm.KEY:return`key`;default:return`unknown`}})??[]}))??[],parameters:n.function?.parameters?.map(e=>f_(e))??[],returns:n.function?.returns?.map(e=>f_(e))??[]}}}async getChainIdentifier(e){return this.cache.read([`chainIdentifier`],async()=>{let{response:e}=await this.#e.ledgerService.getServiceInfo({});if(!e.chainId)throw Error(`Chain identifier not found in service info`);return{chainIdentifier:e.chainId}})}resolveTransactionPlugin(){let e=this.#e;return async function(t,n,r){let i=t.snapshot();i.sender||=`0x0000000000000000000000000000000000000000000000000000000000000000`;let a=Ah(i),o;try{o=(await e.transactionExecutionService.simulateTransaction({transaction:a,doGasSelection:!n.onlyTransactionKind&&(i.gasData.budget==null||i.gasData.payment==null),readMask:{paths:[`transaction.transaction.sender`,`transaction.transaction.gas_payment`,`transaction.transaction.expiration`,`transaction.transaction.kind`,`transaction.effects.status`]}})).response}catch(e){throw e instanceof Error&&e.message?new Ma(decodeURIComponent(e.message),{cause:e}):e}if(!n.onlyTransactionKind&&o.transaction?.effects?.status&&!o.transaction.effects.status.success){let e=o.transaction.effects.status.error?r_(o.transaction.effects.status.error):void 0;throw new Ma(`Transaction resolution failed: ${e?.message??`Transaction failed`}`,{executionError:e})}if(!o.transaction?.transaction)throw Error(`simulateTransaction did not return resolved transaction data`);return jh(t,o.transaction.transaction,n),await r()}}};function t_(e,t){if(e)return t===void 0?null:{output:t.output===void 0?null:fm.toJson(t.output),errors:t.errors===void 0?null:fm.toJson(t.errors)}}function n_(e){if(!e)return null;if(e.kind===Am.IMMUTABLE)return{$kind:`Immutable`,Immutable:!0};if(e.kind===Am.ADDRESS)return{AddressOwner:e.address,$kind:`AddressOwner`};if(e.kind===Am.OBJECT)return{$kind:`ObjectOwner`,ObjectOwner:e.address};if(e.kind===Am.SHARED)return{$kind:`Shared`,Shared:{initialSharedVersion:e.version?.toString()}};if(e.kind===Am.CONSENSUS_ADDRESS)return{$kind:`ConsensusAddressOwner`,ConsensusAddressOwner:{startVersion:e.version?.toString(),owner:e.address}};throw Error(`Unknown owner kind ${JSON.stringify(e,(e,t)=>typeof t==`bigint`?t.toString():t)}`)}function r_(e){let t=e.description??`Unknown error`,n=e.command==null?void 0:Number(e.command),r=e.errorDetails;switch(r?.oneofKind){case`abort`:{let e=r.abort,t=e.cleverError;return{$kind:`MoveAbort`,message:cc({command:n,location:e.location,abortCode:String(e.abortCode??0n),cleverError:t?{lineNumber:t.lineNumber==null?void 0:Number(t.lineNumber),constantName:t.constantName,value:t.value?.oneofKind===`rendered`?t.value.rendered:void 0}:void 0}),command:n,MoveAbort:i_(e)}}case`sizeError`:return{$kind:`SizeError`,message:t,command:n,SizeError:{name:a_(e.kind),size:Number(r.sizeError.size??0n),maxSize:Number(r.sizeError.maxSize??0n)}};case`commandArgumentError`:return{$kind:`CommandArgumentError`,message:t,command:n,CommandArgumentError:{argument:r.commandArgumentError.argument??0,name:a_(r.commandArgumentError.kind)}};case`typeArgumentError`:return{$kind:`TypeArgumentError`,message:t,command:n,TypeArgumentError:{typeArgument:r.typeArgumentError.typeArgument??0,name:a_(r.typeArgumentError.kind)}};case`packageUpgradeError`:return{$kind:`PackageUpgradeError`,message:t,command:n,PackageUpgradeError:{name:a_(r.packageUpgradeError.kind),packageId:r.packageUpgradeError.packageId,digest:r.packageUpgradeError.digest}};case`indexError`:return{$kind:`IndexError`,message:t,command:n,IndexError:{index:r.indexError.index,subresult:r.indexError.subresult}};case`coinDenyListError`:return{$kind:`CoinDenyListError`,message:t,command:n,CoinDenyListError:{name:a_(e.kind),coinType:r.coinDenyListError.coinType,address:r.coinDenyListError.address}};case`congestedObjects`:return{$kind:`CongestedObjects`,message:t,command:n,CongestedObjects:{name:a_(e.kind),objects:r.congestedObjects.objects}};case`objectId`:return{$kind:`ObjectIdError`,message:t,command:n,ObjectIdError:{name:a_(e.kind),objectId:r.objectId}};default:return{$kind:`Unknown`,message:t,command:n,Unknown:null}}}function i_(e){return{abortCode:String(e.abortCode??0n),location:{...e.location},cleverError:e.cleverError?{errorCode:e.cleverError.errorCode==null?void 0:Number(e.cleverError.errorCode),lineNumber:e.cleverError.lineNumber==null?void 0:Number(e.cleverError.lineNumber),constantName:e.cleverError.constantName,constantType:e.cleverError.constantType,value:e.cleverError.value?.oneofKind===`rendered`?e.cleverError.value.rendered:e.cleverError.value?.oneofKind===`raw`?T(e.cleverError.value.raw):void 0}:void 0}}function a_(e){if(e==null)return`Unknown`;let t=Rh[e];return!t||t.endsWith(`_UNKNOWN`)?`Unknown`:t.split(`_`).map(e=>e.charAt(0)+e.slice(1).toLowerCase()).join(``)}function o_(e){if(e==null)return null;switch(e){case ng.CREATED:return`Created`;case ng.DELETED:return`Deleted`;case ng.NONE:case ng.ID_OPERATION_UNKNOWN:return`None`;default:return`Unknown`}}function s_(e){if(e==null)return null;switch(e){case eg.EXISTS:return`Exists`;case eg.DOES_NOT_EXIST:return`DoesNotExist`;case eg.UNKNOWN:return`Unknown`;default:return`Unknown`}}function c_(e){if(e==null)return null;switch(e){case tg.OBJECT_WRITE:return`ObjectWrite`;case tg.PACKAGE_WRITE:return`PackageWrite`;case tg.DOES_NOT_EXIST:return`DoesNotExist`;case tg.ACCUMULATOR_WRITE:return`AccumulatorWriteV1`;case tg.UNKNOWN:return`Unknown`;default:return`Unknown`}}function l_(e){if(e==null)return null;switch(e){case ag.UNCHANGED_CONSENSUS_OBJECT_KIND_UNKNOWN:return`Unknown`;case ag.READ_ONLY_ROOT:return`ReadOnlyRoot`;case ag.MUTATE_CONSENSUS_STREAM_ENDED:return`MutateConsensusStreamEnded`;case ag.READ_CONSENSUS_STREAM_ENDED:return`ReadConsensusStreamEnded`;case ag.CANCELED:return`Cancelled`;case ag.PER_EPOCH_CONFIG:return`PerEpochConfig`;default:return`Unknown`}}function u_({effects:e}){if(!e)return null;let t=e.changedObjects.map(e=>({objectId:e.objectId,inputState:s_(e.inputState),inputVersion:e.inputVersion?.toString()??null,inputDigest:e.inputDigest??null,inputOwner:n_(e.inputOwner),outputState:c_(e.outputState),outputVersion:e.outputVersion?.toString()??null,outputDigest:e.outputDigest??null,outputOwner:n_(e.outputOwner),idOperation:o_(e.idOperation)}));return{bcs:e.bcs?.value,version:2,status:e.status?.success?{success:!0,error:null}:{success:!1,error:r_(e.status.error)},gasUsed:{computationCost:e.gasUsed?.computationCost?.toString(),storageCost:e.gasUsed?.storageCost?.toString(),storageRebate:e.gasUsed?.storageRebate?.toString(),nonRefundableStorageFee:e.gasUsed?.nonRefundableStorageFee?.toString()},transactionDigest:e.transactionDigest,gasObject:{objectId:e.gasObject?.objectId,inputState:s_(e.gasObject?.inputState),inputVersion:e.gasObject?.inputVersion?.toString()??null,inputDigest:e.gasObject?.inputDigest??null,inputOwner:n_(e.gasObject?.inputOwner),outputState:c_(e.gasObject?.outputState),outputVersion:e.gasObject?.outputVersion?.toString()??null,outputDigest:e.gasObject?.outputDigest??null,outputOwner:n_(e.gasObject?.outputOwner),idOperation:o_(e.gasObject?.idOperation)},eventsDigest:e.eventsDigest??null,dependencies:e.dependencies,lamportVersion:e.lamportVersion?.toString()??null,changedObjects:t,unchangedConsensusObjects:e.unchangedConsensusObjects.map(e=>({kind:l_(e.kind),objectId:e.objectId,version:e.version?.toString()??null,digest:e.digest??null})),auxiliaryDataDigest:e.auxiliaryDataDigest??null}}function d_(e,t){let n={};t?.objectTypes&&e.effects?.changedObjects?.forEach(e=>{e.objectId&&e.objectType&&(n[e.objectId]=e.objectType)});let r;if(t?.transaction){let t=e.transaction;if(!t)throw Error(`Transaction data is required but missing from gRPC response`);let n=Ih(t);r={gasData:n.gasData,sender:n.sender,expiration:n.expiration,commands:n.commands,inputs:n.inputs,version:n.version}}let i=t?.bcs?e.transaction?.bcs?.value:void 0,a=t?.effects?u_({effects:e.effects}):void 0,o=e.effects?.status?.success?{success:!0,error:null}:{success:!1,error:e.effects?.status?.error?r_(e.effects.status.error):{$kind:`Unknown`,message:`Transaction failed`,Unknown:null}},s={digest:e.digest,epoch:e.effects?.epoch?.toString()??null,status:o,effects:a,objectTypes:t?.objectTypes?n:void 0,transaction:r,bcs:i,signatures:e.signatures?.map(e=>T(e.bcs?.value))??[],balanceChanges:t?.balanceChanges?e.balanceChanges?.map(e=>({coinType:e.coinType,address:e.address,amount:e.amount}))??[]:void 0,events:t?.events?e.events?.events.map(e=>({packageId:D(e.packageId),module:e.module,sender:D(e.sender),eventType:e.eventType,bcs:e.contents?.value??new Uint8Array,json:e.json?fm.toJson(e.json):null}))??[]:void 0};return o.success?{$kind:`Transaction`,Transaction:s}:{$kind:`FailedTransaction`,FailedTransaction:s}}function f_(e){let t=null;return e.reference===_m.IMMUTABLE?t=`immutable`:e.reference===_m.MUTABLE&&(t=`mutable`),{reference:t,body:p_(e.body)}}function p_(e){switch(e.type){case hm.TYPE_UNKNOWN:return{$kind:`unknown`};case hm.ADDRESS:return{$kind:`address`};case hm.BOOL:return{$kind:`bool`};case hm.U8:return{$kind:`u8`};case hm.U16:return{$kind:`u16`};case hm.U32:return{$kind:`u32`};case hm.U64:return{$kind:`u64`};case hm.U128:return{$kind:`u128`};case hm.U256:return{$kind:`u256`};case hm.VECTOR:return{$kind:`vector`,vector:p_(e.typeParameterInstantiation[0])};case hm.DATATYPE:return{$kind:`datatype`,datatype:{typeName:e.typeName,typeParameters:e.typeParameterInstantiation.map(e=>p_(e))}};case hm.TYPE_PARAMETER:return{$kind:`typeParameter`,index:e.typeParameter};default:return{$kind:`unknown`}}}var m_=class{constructor(e){this._transport=e,this.typeName=$g.typeName,this.methods=$g.methods,this.options=$g.options}executeTransaction(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return Z(`unary`,this._transport,n,r,e)}simulateTransaction(e,t){let n=this.methods[1],r=this._transport.mergeOptions(t);return Z(`unary`,this._transport,n,r,e)}},h_=new class extends Y{constructor(){super(`sui.rpc.v2.ProtocolConfig`,[{no:1,name:`protocol_version`,kind:`scalar`,opt:!0,T:4,L:0},{no:2,name:`feature_flags`,kind:`map`,K:9,V:{kind:`scalar`,T:8}},{no:3,name:`attributes`,kind:`map`,K:9,V:{kind:`scalar`,T:9}}])}},g_=new class extends Y{constructor(){super(`sui.rpc.v2.SystemState`,[{no:1,name:`version`,kind:`scalar`,opt:!0,T:4,L:0},{no:2,name:`epoch`,kind:`scalar`,opt:!0,T:4,L:0},{no:3,name:`protocol_version`,kind:`scalar`,opt:!0,T:4,L:0},{no:4,name:`validators`,kind:`message`,T:()=>S_},{no:5,name:`storage_fund`,kind:`message`,T:()=>x_},{no:6,name:`parameters`,kind:`message`,T:()=>v_},{no:7,name:`reference_gas_price`,kind:`scalar`,opt:!0,T:4,L:0},{no:8,name:`validator_report_records`,kind:`message`,repeat:2,T:()=>__},{no:9,name:`stake_subsidy`,kind:`message`,T:()=>b_},{no:10,name:`safe_mode`,kind:`scalar`,opt:!0,T:8},{no:11,name:`safe_mode_storage_rewards`,kind:`scalar`,opt:!0,T:4,L:0},{no:12,name:`safe_mode_computation_rewards`,kind:`scalar`,opt:!0,T:4,L:0},{no:13,name:`safe_mode_storage_rebates`,kind:`scalar`,opt:!0,T:4,L:0},{no:14,name:`safe_mode_non_refundable_storage_fee`,kind:`scalar`,opt:!0,T:4,L:0},{no:15,name:`epoch_start_timestamp_ms`,kind:`scalar`,opt:!0,T:4,L:0},{no:16,name:`extra_fields`,kind:`message`,T:()=>y_}])}},__=new class extends Y{constructor(){super(`sui.rpc.v2.ValidatorReportRecord`,[{no:1,name:`reported`,kind:`scalar`,opt:!0,T:9},{no:2,name:`reporters`,kind:`scalar`,repeat:2,T:9}])}},v_=new class extends Y{constructor(){super(`sui.rpc.v2.SystemParameters`,[{no:1,name:`epoch_duration_ms`,kind:`scalar`,opt:!0,T:4,L:0},{no:2,name:`stake_subsidy_start_epoch`,kind:`scalar`,opt:!0,T:4,L:0},{no:3,name:`min_validator_count`,kind:`scalar`,opt:!0,T:4,L:0},{no:4,name:`max_validator_count`,kind:`scalar`,opt:!0,T:4,L:0},{no:5,name:`min_validator_joining_stake`,kind:`scalar`,opt:!0,T:4,L:0},{no:6,name:`validator_low_stake_threshold`,kind:`scalar`,opt:!0,T:4,L:0},{no:7,name:`validator_very_low_stake_threshold`,kind:`scalar`,opt:!0,T:4,L:0},{no:8,name:`validator_low_stake_grace_period`,kind:`scalar`,opt:!0,T:4,L:0},{no:9,name:`extra_fields`,kind:`message`,T:()=>y_}])}},y_=new class extends Y{constructor(){super(`sui.rpc.v2.MoveTable`,[{no:1,name:`id`,kind:`scalar`,opt:!0,T:9},{no:2,name:`size`,kind:`scalar`,opt:!0,T:4,L:0}])}},b_=new class extends Y{constructor(){super(`sui.rpc.v2.StakeSubsidy`,[{no:1,name:`balance`,kind:`scalar`,opt:!0,T:4,L:0},{no:2,name:`distribution_counter`,kind:`scalar`,opt:!0,T:4,L:0},{no:3,name:`current_distribution_amount`,kind:`scalar`,opt:!0,T:4,L:0},{no:4,name:`stake_subsidy_period_length`,kind:`scalar`,opt:!0,T:4,L:0},{no:5,name:`stake_subsidy_decrease_rate`,kind:`scalar`,opt:!0,T:13},{no:6,name:`extra_fields`,kind:`message`,T:()=>y_}])}},x_=new class extends Y{constructor(){super(`sui.rpc.v2.StorageFund`,[{no:1,name:`total_object_storage_rebates`,kind:`scalar`,opt:!0,T:4,L:0},{no:2,name:`non_refundable_balance`,kind:`scalar`,opt:!0,T:4,L:0}])}},S_=new class extends Y{constructor(){super(`sui.rpc.v2.ValidatorSet`,[{no:1,name:`total_stake`,kind:`scalar`,opt:!0,T:4,L:0},{no:2,name:`active_validators`,kind:`message`,repeat:2,T:()=>C_},{no:3,name:`pending_active_validators`,kind:`message`,T:()=>y_},{no:4,name:`pending_removals`,kind:`scalar`,repeat:1,T:4,L:0},{no:5,name:`staking_pool_mappings`,kind:`message`,T:()=>y_},{no:6,name:`inactive_validators`,kind:`message`,T:()=>y_},{no:7,name:`validator_candidates`,kind:`message`,T:()=>y_},{no:8,name:`at_risk_validators`,kind:`map`,K:9,V:{kind:`scalar`,T:4,L:0}},{no:9,name:`extra_fields`,kind:`message`,T:()=>y_}])}},C_=new class extends Y{constructor(){super(`sui.rpc.v2.Validator`,[{no:1,name:`name`,kind:`scalar`,opt:!0,T:9},{no:2,name:`address`,kind:`scalar`,opt:!0,T:9},{no:3,name:`description`,kind:`scalar`,opt:!0,T:9},{no:4,name:`image_url`,kind:`scalar`,opt:!0,T:9},{no:5,name:`project_url`,kind:`scalar`,opt:!0,T:9},{no:7,name:`protocol_public_key`,kind:`scalar`,opt:!0,T:12},{no:8,name:`proof_of_possession`,kind:`scalar`,opt:!0,T:12},{no:10,name:`network_public_key`,kind:`scalar`,opt:!0,T:12},{no:12,name:`worker_public_key`,kind:`scalar`,opt:!0,T:12},{no:13,name:`network_address`,kind:`scalar`,opt:!0,T:9},{no:14,name:`p2p_address`,kind:`scalar`,jsonName:`p2pAddress`,opt:!0,T:9},{no:15,name:`primary_address`,kind:`scalar`,opt:!0,T:9},{no:16,name:`worker_address`,kind:`scalar`,opt:!0,T:9},{no:18,name:`next_epoch_protocol_public_key`,kind:`scalar`,opt:!0,T:12},{no:19,name:`next_epoch_proof_of_possession`,kind:`scalar`,opt:!0,T:12},{no:21,name:`next_epoch_network_public_key`,kind:`scalar`,opt:!0,T:12},{no:23,name:`next_epoch_worker_public_key`,kind:`scalar`,opt:!0,T:12},{no:24,name:`next_epoch_network_address`,kind:`scalar`,opt:!0,T:9},{no:25,name:`next_epoch_p2p_address`,kind:`scalar`,jsonName:`nextEpochP2pAddress`,opt:!0,T:9},{no:26,name:`next_epoch_primary_address`,kind:`scalar`,opt:!0,T:9},{no:27,name:`next_epoch_worker_address`,kind:`scalar`,opt:!0,T:9},{no:28,name:`metadata_extra_fields`,kind:`message`,T:()=>y_},{no:29,name:`voting_power`,kind:`scalar`,opt:!0,T:4,L:0},{no:30,name:`operation_cap_id`,kind:`scalar`,opt:!0,T:9},{no:31,name:`gas_price`,kind:`scalar`,opt:!0,T:4,L:0},{no:32,name:`staking_pool`,kind:`message`,T:()=>w_},{no:33,name:`commission_rate`,kind:`scalar`,opt:!0,T:4,L:0},{no:34,name:`next_epoch_stake`,kind:`scalar`,opt:!0,T:4,L:0},{no:35,name:`next_epoch_gas_price`,kind:`scalar`,opt:!0,T:4,L:0},{no:36,name:`next_epoch_commission_rate`,kind:`scalar`,opt:!0,T:4,L:0},{no:37,name:`extra_fields`,kind:`message`,T:()=>y_}])}},w_=new class extends Y{constructor(){super(`sui.rpc.v2.StakingPool`,[{no:1,name:`id`,kind:`scalar`,opt:!0,T:9},{no:2,name:`activation_epoch`,kind:`scalar`,opt:!0,T:4,L:0},{no:3,name:`deactivation_epoch`,kind:`scalar`,opt:!0,T:4,L:0},{no:4,name:`sui_balance`,kind:`scalar`,opt:!0,T:4,L:0},{no:5,name:`rewards_pool`,kind:`scalar`,opt:!0,T:4,L:0},{no:6,name:`pool_token_balance`,kind:`scalar`,opt:!0,T:4,L:0},{no:7,name:`exchange_rates`,kind:`message`,T:()=>y_},{no:8,name:`pending_stake`,kind:`scalar`,opt:!0,T:4,L:0},{no:9,name:`pending_total_sui_withdraw`,kind:`scalar`,opt:!0,T:4,L:0},{no:10,name:`pending_pool_token_withdraw`,kind:`scalar`,opt:!0,T:4,L:0},{no:11,name:`extra_fields`,kind:`message`,T:()=>y_}])}},T_=new class extends Y{constructor(){super(`sui.rpc.v2.Epoch`,[{no:1,name:`epoch`,kind:`scalar`,opt:!0,T:4,L:0},{no:2,name:`committee`,kind:`message`,T:()=>Dg},{no:3,name:`system_state`,kind:`message`,T:()=>g_},{no:4,name:`first_checkpoint`,kind:`scalar`,opt:!0,T:4,L:0},{no:5,name:`last_checkpoint`,kind:`scalar`,opt:!0,T:4,L:0},{no:6,name:`start`,kind:`message`,T:()=>Km},{no:7,name:`end`,kind:`message`,T:()=>Km},{no:8,name:`reference_gas_price`,kind:`scalar`,opt:!0,T:4,L:0},{no:9,name:`protocol_config`,kind:`message`,T:()=>h_}])}},E_=new class extends Y{constructor(){super(`sui.rpc.v2.CheckpointContents`,[{no:1,name:`bcs`,kind:`message`,T:()=>Hm},{no:2,name:`digest`,kind:`scalar`,opt:!0,T:9},{no:3,name:`version`,kind:`scalar`,opt:!0,T:5},{no:4,name:`transactions`,kind:`message`,repeat:2,T:()=>D_}])}},D_=new class extends Y{constructor(){super(`sui.rpc.v2.CheckpointedTransactionInfo`,[{no:1,name:`transaction`,kind:`scalar`,opt:!0,T:9},{no:2,name:`effects`,kind:`scalar`,opt:!0,T:9},{no:3,name:`signatures`,kind:`message`,repeat:2,T:()=>fg},{no:4,name:`address_aliases_versions`,kind:`message`,repeat:2,T:()=>O_}])}},O_=new class extends Y{constructor(){super(`sui.rpc.v2.AddressAliasesVersion`,[{no:1,name:`version`,kind:`scalar`,opt:!0,T:4,L:0}])}},k_=function(e){return e[e.CHECKPOINT_COMMITMENT_KIND_UNKNOWN=0]=`CHECKPOINT_COMMITMENT_KIND_UNKNOWN`,e[e.ECMH_LIVE_OBJECT_SET=1]=`ECMH_LIVE_OBJECT_SET`,e[e.CHECKPOINT_ARTIFACTS=2]=`CHECKPOINT_ARTIFACTS`,e}({}),A_=new class extends Y{constructor(){super(`sui.rpc.v2.CheckpointSummary`,[{no:1,name:`bcs`,kind:`message`,T:()=>Hm},{no:2,name:`digest`,kind:`scalar`,opt:!0,T:9},{no:3,name:`epoch`,kind:`scalar`,opt:!0,T:4,L:0},{no:4,name:`sequence_number`,kind:`scalar`,opt:!0,T:4,L:0},{no:5,name:`total_network_transactions`,kind:`scalar`,opt:!0,T:4,L:0},{no:6,name:`content_digest`,kind:`scalar`,opt:!0,T:9},{no:7,name:`previous_digest`,kind:`scalar`,opt:!0,T:9},{no:8,name:`epoch_rolling_gas_cost_summary`,kind:`message`,T:()=>$h},{no:9,name:`timestamp`,kind:`message`,T:()=>Km},{no:10,name:`commitments`,kind:`message`,repeat:2,T:()=>M_},{no:11,name:`end_of_epoch_data`,kind:`message`,T:()=>j_},{no:12,name:`version_specific_data`,kind:`scalar`,opt:!0,T:12}])}},j_=new class extends Y{constructor(){super(`sui.rpc.v2.EndOfEpochData`,[{no:1,name:`next_epoch_committee`,kind:`message`,repeat:2,T:()=>Og},{no:2,name:`next_epoch_protocol_version`,kind:`scalar`,opt:!0,T:4,L:0},{no:3,name:`epoch_commitments`,kind:`message`,repeat:2,T:()=>M_}])}},M_=new class extends Y{constructor(){super(`sui.rpc.v2.CheckpointCommitment`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.CheckpointCommitment.CheckpointCommitmentKind`,k_]},{no:2,name:`digest`,kind:`scalar`,opt:!0,T:9}])}},N_=new class extends Y{constructor(){super(`sui.rpc.v2.Checkpoint`,[{no:1,name:`sequence_number`,kind:`scalar`,opt:!0,T:4,L:0},{no:2,name:`digest`,kind:`scalar`,opt:!0,T:9},{no:3,name:`summary`,kind:`message`,T:()=>A_},{no:4,name:`signature`,kind:`message`,T:()=>kg},{no:5,name:`contents`,kind:`message`,T:()=>E_},{no:6,name:`transactions`,kind:`message`,repeat:2,T:()=>Ng},{no:7,name:`objects`,kind:`message`,T:()=>Wm}])}},P_=new class extends Y{constructor(){super(`google.protobuf.Any`,[{no:1,name:`type_url`,kind:`scalar`,T:9},{no:2,name:`value`,kind:`scalar`,T:12}])}pack(e,t){return{typeUrl:this.typeNameToUrl(t.typeName),value:t.toBinary(e)}}unpack(e,t,n){if(!this.contains(e,t))throw Error(`Cannot unpack google.protobuf.Any with typeUrl '`+e.typeUrl+`' as `+t.typeName+`.`);return t.fromBinary(e.value,n)}contains(e,t){return e.typeUrl.length?(typeof t==`string`?t:t.typeName)===this.typeUrlToName(e.typeUrl):!1}internalJsonWrite(e,t){if(e.typeUrl===``)return{};let n=this.typeUrlToName(e.typeUrl),r=Bp(t),i=r.typeRegistry?.find(e=>e.typeName===n);if(!i)throw new globalThis.Error(`Unable to convert google.protobuf.Any with typeUrl '`+e.typeUrl+`' to JSON. The specified type `+n+` is not available in the type registry.`);let a=i.fromBinary(e.value,{readUnknownField:!1}),o=i.internalJsonWrite(a,r);return(n.startsWith(`google.protobuf.`)||!tp(o))&&(o={value:o}),o[`@type`]=e.typeUrl,o}internalJsonRead(e,t,n){if(!tp(e))throw new globalThis.Error(`Unable to parse google.protobuf.Any from JSON `+ep(e)+`.`);if(typeof e[`@type`]!=`string`||e[`@type`]==``)return this.create();let r=this.typeUrlToName(e[`@type`]),i=t?.typeRegistry?.find(e=>e.typeName==r);if(!i)throw new globalThis.Error(`Unable to parse google.protobuf.Any from JSON. The specified type `+r+` is not available in the type registry.`);let a;if(r.startsWith(`google.protobuf.`)&&e.hasOwnProperty(`value`))a=i.fromJson(e.value,t);else{let n=Object.assign({},e);delete n[`@type`],a=i.fromJson(n,t)}return n===void 0&&(n=this.create()),n.typeUrl=e[`@type`],n.value=i.toBinary(a),n}typeNameToUrl(e){if(!e.length)throw Error(`invalid type name: `+e);return`type.googleapis.com/`+e}typeUrlToName(e){if(!e.length)throw Error(`invalid type url: `+e);let t=e.lastIndexOf(`/`),n=t>0?e.substring(t+1):e;if(!n.length)throw Error(`invalid type url: `+e);return n}},F_=new class extends Y{constructor(){super(`google.rpc.Status`,[{no:1,name:`code`,kind:`scalar`,T:5},{no:2,name:`message`,kind:`scalar`,T:9},{no:3,name:`details`,kind:`message`,repeat:2,T:()=>P_}])}},I_=new class extends Y{constructor(){super(`sui.rpc.v2.GetServiceInfoRequest`,[])}},L_=new class extends Y{constructor(){super(`sui.rpc.v2.GetServiceInfoResponse`,[{no:1,name:`chain_id`,kind:`scalar`,opt:!0,T:9},{no:2,name:`chain`,kind:`scalar`,opt:!0,T:9},{no:3,name:`epoch`,kind:`scalar`,opt:!0,T:4,L:0},{no:4,name:`checkpoint_height`,kind:`scalar`,opt:!0,T:4,L:0},{no:5,name:`timestamp`,kind:`message`,T:()=>Km},{no:6,name:`lowest_available_checkpoint`,kind:`scalar`,opt:!0,T:4,L:0},{no:7,name:`lowest_available_checkpoint_objects`,kind:`scalar`,opt:!0,T:4,L:0},{no:8,name:`server`,kind:`scalar`,opt:!0,T:9}])}},R_=new class extends Y{constructor(){super(`sui.rpc.v2.GetObjectRequest`,[{no:1,name:`object_id`,kind:`scalar`,opt:!0,T:9},{no:2,name:`version`,kind:`scalar`,opt:!0,T:4,L:0},{no:3,name:`read_mask`,kind:`message`,T:()=>Pg}])}},z_=new class extends Y{constructor(){super(`sui.rpc.v2.GetObjectResponse`,[{no:1,name:`object`,kind:`message`,T:()=>Um}])}},B_=new class extends Y{constructor(){super(`sui.rpc.v2.BatchGetObjectsRequest`,[{no:1,name:`requests`,kind:`message`,repeat:2,T:()=>R_},{no:2,name:`read_mask`,kind:`message`,T:()=>Pg}])}},V_=new class extends Y{constructor(){super(`sui.rpc.v2.BatchGetObjectsResponse`,[{no:1,name:`objects`,kind:`message`,repeat:2,T:()=>H_}])}},H_=new class extends Y{constructor(){super(`sui.rpc.v2.GetObjectResult`,[{no:1,name:`object`,kind:`message`,oneof:`result`,T:()=>Um},{no:2,name:`error`,kind:`message`,oneof:`result`,T:()=>F_}])}},U_=new class extends Y{constructor(){super(`sui.rpc.v2.GetTransactionRequest`,[{no:1,name:`digest`,kind:`scalar`,opt:!0,T:9},{no:2,name:`read_mask`,kind:`message`,T:()=>Pg}])}},W_=new class extends Y{constructor(){super(`sui.rpc.v2.GetTransactionResponse`,[{no:1,name:`transaction`,kind:`message`,T:()=>Ng}])}},G_=new class extends Y{constructor(){super(`sui.rpc.v2.BatchGetTransactionsRequest`,[{no:1,name:`digests`,kind:`scalar`,repeat:2,T:9},{no:2,name:`read_mask`,kind:`message`,T:()=>Pg}])}},K_=new class extends Y{constructor(){super(`sui.rpc.v2.BatchGetTransactionsResponse`,[{no:1,name:`transactions`,kind:`message`,repeat:2,T:()=>q_}])}},q_=new class extends Y{constructor(){super(`sui.rpc.v2.GetTransactionResult`,[{no:1,name:`transaction`,kind:`message`,oneof:`result`,T:()=>Ng},{no:2,name:`error`,kind:`message`,oneof:`result`,T:()=>F_}])}},J_=new class extends Y{constructor(){super(`sui.rpc.v2.GetCheckpointRequest`,[{no:1,name:`sequence_number`,kind:`scalar`,oneof:`checkpointId`,T:4,L:0},{no:2,name:`digest`,kind:`scalar`,oneof:`checkpointId`,T:9},{no:3,name:`read_mask`,kind:`message`,T:()=>Pg}])}},Y_=new class extends Y{constructor(){super(`sui.rpc.v2.GetCheckpointResponse`,[{no:1,name:`checkpoint`,kind:`message`,T:()=>N_}])}},X_=new class extends Y{constructor(){super(`sui.rpc.v2.GetEpochRequest`,[{no:1,name:`epoch`,kind:`scalar`,opt:!0,T:4,L:0},{no:2,name:`read_mask`,kind:`message`,T:()=>Pg}])}},Z_=new class extends Y{constructor(){super(`sui.rpc.v2.GetEpochResponse`,[{no:1,name:`epoch`,kind:`message`,T:()=>T_}])}},Q_=new Ig(`sui.rpc.v2.LedgerService`,[{name:`GetServiceInfo`,options:{},I:I_,O:L_},{name:`GetObject`,options:{},I:R_,O:z_},{name:`BatchGetObjects`,options:{},I:B_,O:V_},{name:`GetTransaction`,options:{},I:U_,O:W_},{name:`BatchGetTransactions`,options:{},I:G_,O:K_},{name:`GetCheckpoint`,options:{},I:J_,O:Y_},{name:`GetEpoch`,options:{},I:X_,O:Z_}]),$_=class{constructor(e){this._transport=e,this.typeName=Q_.typeName,this.methods=Q_.methods,this.options=Q_.options}getServiceInfo(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return Z(`unary`,this._transport,n,r,e)}getObject(e,t){let n=this.methods[1],r=this._transport.mergeOptions(t);return Z(`unary`,this._transport,n,r,e)}batchGetObjects(e,t){let n=this.methods[2],r=this._transport.mergeOptions(t);return Z(`unary`,this._transport,n,r,e)}getTransaction(e,t){let n=this.methods[3],r=this._transport.mergeOptions(t);return Z(`unary`,this._transport,n,r,e)}batchGetTransactions(e,t){let n=this.methods[4],r=this._transport.mergeOptions(t);return Z(`unary`,this._transport,n,r,e)}getCheckpoint(e,t){let n=this.methods[5],r=this._transport.mergeOptions(t);return Z(`unary`,this._transport,n,r,e)}getEpoch(e,t){let n=this.methods[6],r=this._transport.mergeOptions(t);return Z(`unary`,this._transport,n,r,e)}},ev=new class extends Y{constructor(){super(`sui.rpc.v2.GetPackageRequest`,[{no:1,name:`package_id`,kind:`scalar`,opt:!0,T:9}])}},tv=new class extends Y{constructor(){super(`sui.rpc.v2.GetPackageResponse`,[{no:1,name:`package`,kind:`message`,T:()=>ym}])}},nv=new class extends Y{constructor(){super(`sui.rpc.v2.GetDatatypeRequest`,[{no:1,name:`package_id`,kind:`scalar`,opt:!0,T:9},{no:2,name:`module_name`,kind:`scalar`,opt:!0,T:9},{no:3,name:`name`,kind:`scalar`,opt:!0,T:9}])}},rv=new class extends Y{constructor(){super(`sui.rpc.v2.GetDatatypeResponse`,[{no:1,name:`datatype`,kind:`message`,T:()=>xm}])}},iv=new class extends Y{constructor(){super(`sui.rpc.v2.GetFunctionRequest`,[{no:1,name:`package_id`,kind:`scalar`,opt:!0,T:9},{no:2,name:`module_name`,kind:`scalar`,opt:!0,T:9},{no:3,name:`name`,kind:`scalar`,opt:!0,T:9}])}},av=new class extends Y{constructor(){super(`sui.rpc.v2.GetFunctionResponse`,[{no:1,name:`function`,kind:`message`,T:()=>Em}])}},ov=new class extends Y{constructor(){super(`sui.rpc.v2.ListPackageVersionsRequest`,[{no:1,name:`package_id`,kind:`scalar`,opt:!0,T:9},{no:2,name:`page_size`,kind:`scalar`,opt:!0,T:13},{no:3,name:`page_token`,kind:`scalar`,opt:!0,T:12}])}},sv=new class extends Y{constructor(){super(`sui.rpc.v2.ListPackageVersionsResponse`,[{no:1,name:`versions`,kind:`message`,repeat:2,T:()=>cv},{no:2,name:`next_page_token`,kind:`scalar`,opt:!0,T:12}])}},cv=new class extends Y{constructor(){super(`sui.rpc.v2.PackageVersion`,[{no:1,name:`package_id`,kind:`scalar`,opt:!0,T:9},{no:2,name:`version`,kind:`scalar`,opt:!0,T:4,L:0}])}},lv=new Ig(`sui.rpc.v2.MovePackageService`,[{name:`GetPackage`,options:{},I:ev,O:tv},{name:`GetDatatype`,options:{},I:nv,O:rv},{name:`GetFunction`,options:{},I:iv,O:av},{name:`ListPackageVersions`,options:{},I:ov,O:sv}]),uv=class{constructor(e){this._transport=e,this.typeName=lv.typeName,this.methods=lv.methods,this.options=lv.options}getPackage(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return Z(`unary`,this._transport,n,r,e)}getDatatype(e,t){let n=this.methods[1],r=this._transport.mergeOptions(t);return Z(`unary`,this._transport,n,r,e)}getFunction(e,t){let n=this.methods[2],r=this._transport.mergeOptions(t);return Z(`unary`,this._transport,n,r,e)}listPackageVersions(e,t){let n=this.methods[3],r=this._transport.mergeOptions(t);return Z(`unary`,this._transport,n,r,e)}},dv=new Ig(`sui.rpc.v2.SignatureVerificationService`,[{name:`VerifySignature`,options:{},I:new class extends Y{constructor(){super(`sui.rpc.v2.VerifySignatureRequest`,[{no:1,name:`message`,kind:`message`,T:()=>Hm},{no:2,name:`signature`,kind:`message`,T:()=>fg},{no:3,name:`address`,kind:`scalar`,opt:!0,T:9},{no:4,name:`jwks`,kind:`message`,repeat:2,T:()=>bh}])}},O:new class extends Y{constructor(){super(`sui.rpc.v2.VerifySignatureResponse`,[{no:1,name:`is_valid`,kind:`scalar`,opt:!0,T:8},{no:2,name:`reason`,kind:`scalar`,opt:!0,T:9}])}}}]),fv=class{constructor(e){this._transport=e,this.typeName=dv.typeName,this.methods=dv.methods,this.options=dv.options}verifySignature(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return Z(`unary`,this._transport,n,r,e)}},pv=function(e){return e[e.METADATA_CAP_STATE_UNKNOWN=0]=`METADATA_CAP_STATE_UNKNOWN`,e[e.CLAIMED=1]=`CLAIMED`,e[e.UNCLAIMED=2]=`UNCLAIMED`,e[e.DELETED=3]=`DELETED`,e}({}),mv=function(e){return e[e.SUPPLY_STATE_UNKNOWN=0]=`SUPPLY_STATE_UNKNOWN`,e[e.FIXED=1]=`FIXED`,e[e.BURN_ONLY=2]=`BURN_ONLY`,e}({}),hv=function(e){return e[e.COIN_REGULATED_STATE_UNKNOWN=0]=`COIN_REGULATED_STATE_UNKNOWN`,e[e.REGULATED=1]=`REGULATED`,e[e.UNREGULATED=2]=`UNREGULATED`,e}({}),gv=function(e){return e[e.DYNAMIC_FIELD_KIND_UNKNOWN=0]=`DYNAMIC_FIELD_KIND_UNKNOWN`,e[e.FIELD=1]=`FIELD`,e[e.OBJECT=2]=`OBJECT`,e}({}),_v=new class extends Y{constructor(){super(`sui.rpc.v2.GetCoinInfoRequest`,[{no:1,name:`coin_type`,kind:`scalar`,opt:!0,T:9}])}},vv=new class extends Y{constructor(){super(`sui.rpc.v2.GetCoinInfoResponse`,[{no:1,name:`coin_type`,kind:`scalar`,opt:!0,T:9},{no:2,name:`metadata`,kind:`message`,T:()=>yv},{no:3,name:`treasury`,kind:`message`,T:()=>bv},{no:4,name:`regulated_metadata`,kind:`message`,T:()=>xv}])}},yv=new class extends Y{constructor(){super(`sui.rpc.v2.CoinMetadata`,[{no:1,name:`id`,kind:`scalar`,opt:!0,T:9},{no:2,name:`decimals`,kind:`scalar`,opt:!0,T:13},{no:3,name:`name`,kind:`scalar`,opt:!0,T:9},{no:4,name:`symbol`,kind:`scalar`,opt:!0,T:9},{no:5,name:`description`,kind:`scalar`,opt:!0,T:9},{no:6,name:`icon_url`,kind:`scalar`,opt:!0,T:9},{no:7,name:`metadata_cap_id`,kind:`scalar`,opt:!0,T:9},{no:8,name:`metadata_cap_state`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.CoinMetadata.MetadataCapState`,pv]}])}},bv=new class extends Y{constructor(){super(`sui.rpc.v2.CoinTreasury`,[{no:1,name:`id`,kind:`scalar`,opt:!0,T:9},{no:2,name:`total_supply`,kind:`scalar`,opt:!0,T:4,L:0},{no:3,name:`supply_state`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.CoinTreasury.SupplyState`,mv]}])}},xv=new class extends Y{constructor(){super(`sui.rpc.v2.RegulatedCoinMetadata`,[{no:1,name:`id`,kind:`scalar`,opt:!0,T:9},{no:2,name:`coin_metadata_object`,kind:`scalar`,opt:!0,T:9},{no:3,name:`deny_cap_object`,kind:`scalar`,opt:!0,T:9},{no:4,name:`allow_global_pause`,kind:`scalar`,opt:!0,T:8},{no:5,name:`variant`,kind:`scalar`,opt:!0,T:13},{no:6,name:`coin_regulated_state`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.RegulatedCoinMetadata.CoinRegulatedState`,hv]}])}},Sv=new class extends Y{constructor(){super(`sui.rpc.v2.GetBalanceRequest`,[{no:1,name:`owner`,kind:`scalar`,opt:!0,T:9},{no:2,name:`coin_type`,kind:`scalar`,opt:!0,T:9}])}},Cv=new class extends Y{constructor(){super(`sui.rpc.v2.GetBalanceResponse`,[{no:1,name:`balance`,kind:`message`,T:()=>Ev}])}},wv=new class extends Y{constructor(){super(`sui.rpc.v2.ListBalancesRequest`,[{no:1,name:`owner`,kind:`scalar`,opt:!0,T:9},{no:2,name:`page_size`,kind:`scalar`,opt:!0,T:13},{no:3,name:`page_token`,kind:`scalar`,opt:!0,T:12}])}},Tv=new class extends Y{constructor(){super(`sui.rpc.v2.ListBalancesResponse`,[{no:1,name:`balances`,kind:`message`,repeat:2,T:()=>Ev},{no:2,name:`next_page_token`,kind:`scalar`,opt:!0,T:12}])}},Ev=new class extends Y{constructor(){super(`sui.rpc.v2.Balance`,[{no:1,name:`coin_type`,kind:`scalar`,opt:!0,T:9},{no:3,name:`balance`,kind:`scalar`,opt:!0,T:4,L:0},{no:4,name:`address_balance`,kind:`scalar`,opt:!0,T:4,L:0},{no:5,name:`coin_balance`,kind:`scalar`,opt:!0,T:4,L:0}])}},Dv=new class extends Y{constructor(){super(`sui.rpc.v2.ListDynamicFieldsRequest`,[{no:1,name:`parent`,kind:`scalar`,opt:!0,T:9},{no:2,name:`page_size`,kind:`scalar`,opt:!0,T:13},{no:3,name:`page_token`,kind:`scalar`,opt:!0,T:12},{no:4,name:`read_mask`,kind:`message`,T:()=>Pg}])}},Ov=new class extends Y{constructor(){super(`sui.rpc.v2.ListDynamicFieldsResponse`,[{no:1,name:`dynamic_fields`,kind:`message`,repeat:2,T:()=>kv},{no:2,name:`next_page_token`,kind:`scalar`,opt:!0,T:12}])}},kv=new class extends Y{constructor(){super(`sui.rpc.v2.DynamicField`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.DynamicField.DynamicFieldKind`,gv]},{no:2,name:`parent`,kind:`scalar`,opt:!0,T:9},{no:3,name:`field_id`,kind:`scalar`,opt:!0,T:9},{no:4,name:`field_object`,kind:`message`,T:()=>Um},{no:5,name:`name`,kind:`message`,T:()=>Hm},{no:6,name:`value`,kind:`message`,T:()=>Hm},{no:7,name:`value_type`,kind:`scalar`,opt:!0,T:9},{no:8,name:`child_id`,kind:`scalar`,opt:!0,T:9},{no:9,name:`child_object`,kind:`message`,T:()=>Um}])}},Av=new class extends Y{constructor(){super(`sui.rpc.v2.ListOwnedObjectsRequest`,[{no:1,name:`owner`,kind:`scalar`,opt:!0,T:9},{no:2,name:`page_size`,kind:`scalar`,opt:!0,T:13},{no:3,name:`page_token`,kind:`scalar`,opt:!0,T:12},{no:4,name:`read_mask`,kind:`message`,T:()=>Pg},{no:5,name:`object_type`,kind:`scalar`,opt:!0,T:9}])}},jv=new class extends Y{constructor(){super(`sui.rpc.v2.ListOwnedObjectsResponse`,[{no:1,name:`objects`,kind:`message`,repeat:2,T:()=>Um},{no:2,name:`next_page_token`,kind:`scalar`,opt:!0,T:12}])}},Mv=new Ig(`sui.rpc.v2.StateService`,[{name:`ListDynamicFields`,options:{},I:Dv,O:Ov},{name:`ListOwnedObjects`,options:{},I:Av,O:jv},{name:`GetCoinInfo`,options:{},I:_v,O:vv},{name:`GetBalance`,options:{},I:Sv,O:Cv},{name:`ListBalances`,options:{},I:wv,O:Tv}]),Nv=class{constructor(e){this._transport=e,this.typeName=Mv.typeName,this.methods=Mv.methods,this.options=Mv.options}listDynamicFields(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return Z(`unary`,this._transport,n,r,e)}listOwnedObjects(e,t){let n=this.methods[1],r=this._transport.mergeOptions(t);return Z(`unary`,this._transport,n,r,e)}getCoinInfo(e,t){let n=this.methods[2],r=this._transport.mergeOptions(t);return Z(`unary`,this._transport,n,r,e)}getBalance(e,t){let n=this.methods[3],r=this._transport.mergeOptions(t);return Z(`unary`,this._transport,n,r,e)}listBalances(e,t){let n=this.methods[4],r=this._transport.mergeOptions(t);return Z(`unary`,this._transport,n,r,e)}},Pv=new Ig(`sui.rpc.v2.SubscriptionService`,[{name:`SubscribeCheckpoints`,serverStreaming:!0,options:{},I:new class extends Y{constructor(){super(`sui.rpc.v2.SubscribeCheckpointsRequest`,[{no:1,name:`read_mask`,kind:`message`,T:()=>Pg}])}},O:new class extends Y{constructor(){super(`sui.rpc.v2.SubscribeCheckpointsResponse`,[{no:1,name:`cursor`,kind:`scalar`,opt:!0,T:4,L:0},{no:2,name:`checkpoint`,kind:`message`,T:()=>N_}])}}}]),Fv=class{constructor(e){this._transport=e,this.typeName=Pv.typeName,this.methods=Pv.methods,this.options=Pv.options}subscribeCheckpoints(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return Z(`serverStreaming`,this._transport,n,r,e)}},Iv=new class extends Y{constructor(){super(`sui.rpc.v2.LookupNameRequest`,[{no:1,name:`name`,kind:`scalar`,opt:!0,T:9}])}},Lv=new class extends Y{constructor(){super(`sui.rpc.v2.LookupNameResponse`,[{no:1,name:`record`,kind:`message`,T:()=>Bv}])}},Rv=new class extends Y{constructor(){super(`sui.rpc.v2.ReverseLookupNameRequest`,[{no:1,name:`address`,kind:`scalar`,opt:!0,T:9}])}},zv=new class extends Y{constructor(){super(`sui.rpc.v2.ReverseLookupNameResponse`,[{no:1,name:`record`,kind:`message`,T:()=>Bv}])}},Bv=new class extends Y{constructor(){super(`sui.rpc.v2.NameRecord`,[{no:1,name:`id`,kind:`scalar`,opt:!0,T:9},{no:2,name:`name`,kind:`scalar`,opt:!0,T:9},{no:3,name:`registration_nft_id`,kind:`scalar`,opt:!0,T:9},{no:4,name:`expiration_timestamp`,kind:`message`,T:()=>Km},{no:5,name:`target_address`,kind:`scalar`,opt:!0,T:9},{no:6,name:`data`,kind:`map`,K:9,V:{kind:`scalar`,T:9}}])}},Vv=new Ig(`sui.rpc.v2.NameService`,[{name:`LookupName`,options:{},I:Iv,O:Lv},{name:`ReverseLookupName`,options:{},I:Rv,O:zv}]),Hv=class{constructor(e){this._transport=e,this.typeName=Vv.typeName,this.methods=Vv.methods,this.options=Vv.options}lookupName(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return Z(`unary`,this._transport,n,r,e)}reverseLookupName(e,t){let n=this.methods[1],r=this._transport.mergeOptions(t);return Z(`unary`,this._transport,n,r,e)}},Uv=new class extends Y{constructor(){super(`sui.forking.v1alpha.AdvanceClockRequest`,[{no:1,name:`duration_ms`,kind:`scalar`,opt:!0,T:4,L:0}])}},Wv=new class extends Y{constructor(){super(`sui.forking.v1alpha.AdvanceClockResponse`,[{no:1,name:`timestamp_ms`,kind:`scalar`,T:4,L:0},{no:2,name:`tx_digest`,kind:`scalar`,T:9}])}},Gv=new class extends Y{constructor(){super(`sui.forking.v1alpha.AdvanceCheckpointRequest`,[])}},Kv=new class extends Y{constructor(){super(`sui.forking.v1alpha.AdvanceCheckpointResponse`,[{no:1,name:`checkpoint_sequence_number`,kind:`scalar`,T:4,L:0},{no:2,name:`timestamp_ms`,kind:`scalar`,T:4,L:0}])}},qv=new class extends Y{constructor(){super(`sui.forking.v1alpha.GetStatusRequest`,[])}},Jv=new class extends Y{constructor(){super(`sui.forking.v1alpha.GetStatusResponse`,[{no:1,name:`epoch`,kind:`scalar`,T:4,L:0},{no:2,name:`checkpoint_sequence_number`,kind:`scalar`,T:4,L:0},{no:3,name:`timestamp_ms`,kind:`scalar`,T:4,L:0},{no:4,name:`forked_at_checkpoint`,kind:`scalar`,T:4,L:0}])}},Yv=new Ig(`sui.forking.v1alpha.ForkingService`,[{name:`AdvanceClock`,options:{},I:Uv,O:Wv},{name:`AdvanceCheckpoint`,options:{},I:Gv,O:Kv},{name:`GetStatus`,options:{},I:qv,O:Jv}]),Xv=class{constructor(e){this._transport=e,this.typeName=Yv.typeName,this.methods=Yv.methods,this.options=Yv.options}advanceClock(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return Z(`unary`,this._transport,n,r,e)}advanceCheckpoint(e,t){let n=this.methods[1],r=this._transport.mergeOptions(t);return Z(`unary`,this._transport,n,r,e)}getStatus(e,t){let n=this.methods[2],r=this._transport.mergeOptions(t);return Z(`unary`,this._transport,n,r,e)}},Q;(function(e){e[e.OK=0]=`OK`,e[e.CANCELLED=1]=`CANCELLED`,e[e.UNKNOWN=2]=`UNKNOWN`,e[e.INVALID_ARGUMENT=3]=`INVALID_ARGUMENT`,e[e.DEADLINE_EXCEEDED=4]=`DEADLINE_EXCEEDED`,e[e.NOT_FOUND=5]=`NOT_FOUND`,e[e.ALREADY_EXISTS=6]=`ALREADY_EXISTS`,e[e.PERMISSION_DENIED=7]=`PERMISSION_DENIED`,e[e.UNAUTHENTICATED=16]=`UNAUTHENTICATED`,e[e.RESOURCE_EXHAUSTED=8]=`RESOURCE_EXHAUSTED`,e[e.FAILED_PRECONDITION=9]=`FAILED_PRECONDITION`,e[e.ABORTED=10]=`ABORTED`,e[e.OUT_OF_RANGE=11]=`OUT_OF_RANGE`,e[e.UNIMPLEMENTED=12]=`UNIMPLEMENTED`,e[e.INTERNAL=13]=`INTERNAL`,e[e.UNAVAILABLE=14]=`UNAVAILABLE`,e[e.DATA_LOSS=15]=`DATA_LOSS`})(Q||={});var Zv=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})};function Qv(e,t,n,r,i){if(r)for(let[t,n]of Object.entries(r))if(typeof n==`string`)e.append(t,n);else for(let r of n)e.append(t,r);if(e.set(`Content-Type`,t===`text`?`application/grpc-web-text`:`application/grpc-web+proto`),t==`text`&&e.set(`Accept`,`application/grpc-web-text`),e.set(`X-Grpc-Web`,`1`),i&&e.set(`X-User-Agent`,i),typeof n==`number`){if(n<=0)throw new X(`timeout ${n} ms exceeded`,Q[Q.DEADLINE_EXCEEDED]);e.set(`grpc-timeout`,`${n}m`)}else if(n){let t=n.getTime(),r=Date.now();if(t<=r)throw new X(`deadline ${n} exceeded`,Q[Q.DEADLINE_EXCEEDED]);e.set(`grpc-timeout`,`${t-r}m`)}return e}function $v(e,t){let n=new Uint8Array(5+e.length);n[0]=ny.DATA;for(let t=e.length,r=4;r>0;r--)n[r]=t%256,t>>>=8;return n.set(e,5),t===`binary`?n:ap(n)}function ey(e,t,n){if(arguments.length===1){let t=e,n;try{n=t.type}catch{}switch(n){case`error`:case`opaque`:case`opaqueredirect`:throw new X(`fetch response type ${t.type}`,Q[Q.UNKNOWN])}return ey(uy(t.headers),t.status,t.statusText)}let r=e,i=t>=200&&t<300,a=cy(r),[o,s]=sy(r);return(o===void 0||o===Q.OK)&&!i&&(o=dy(t),s=n),[o,s,a]}function ty(e){let t=ly(e),[n,r]=sy(t),i=cy(t);return[n??Q.OK,r,i]}var ny;(function(e){e[e.DATA=0]=`DATA`,e[e.TRAILER=128]=`TRAILER`})(ny||={});function ry(e,t,n){return Zv(this,void 0,void 0,function*(){let r,i=``,a=new Uint8Array,o=oy(t);if(iy(e)){let t=e.getReader();r={next:()=>t.read()}}else r=e[Symbol.asyncIterator]();for(;;){let e=yield r.next();if(e.value!==void 0){if(o===`text`){for(let t=0;t<e.value.length;t++)i+=String.fromCharCode(e.value[t]);let t=i.length-i.length%4;if(t===0)continue;a=ay(a,ip(i.substring(0,t))),i=i.substring(t)}else a=ay(a,e.value);for(;a.length>=5&&a[0]===ny.DATA;){let e=0;for(let t=1;t<5;t++)e=(e<<8)+a[t];if(a.length-5>=e)n(ny.DATA,a.subarray(5,5+e)),a=a.subarray(5+e);else break}}if(e.done){if(a.length===0)break;if(a[0]!==ny.TRAILER||a.length<5)throw new X(`premature EOF`,Q[Q.DATA_LOSS]);n(ny.TRAILER,a.subarray(5));break}}})}var iy=e=>typeof e.getReader==`function`;function ay(e,t){let n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n}function oy(e){switch(e){case`application/grpc-web-text`:case`application/grpc-web-text+proto`:return`text`;case`application/grpc-web`:case`application/grpc-web+proto`:return`binary`;case void 0:case null:throw new X(`missing response content type`,Q[Q.INTERNAL]);default:throw new X(`unexpected response content type: `+e,Q[Q.INTERNAL])}}function sy(e){let t,n,r=e[`grpc-message`];if(r!==void 0){if(Array.isArray(r))return[Q.INTERNAL,`invalid grpc-web message`];n=r}let i=e[`grpc-status`];return i!==void 0&&(Array.isArray(i)||(t=parseInt(i,10),Q[t]===void 0))?[Q.INTERNAL,`invalid grpc-web status`]:[t,n]}function cy(e){let t={};for(let[n,r]of Object.entries(e))switch(n){case`grpc-message`:case`grpc-status`:case`content-type`:break;default:t[n]=r}return t}function ly(e){let t={};for(let n of String.fromCharCode.apply(String,e).trim().split(`\r
|
|
6
|
+
`)){if(n==``)continue;let[e,...r]=n.split(`:`),i=r.join(`:`).trim();e=e.trim();let a=t[e];typeof a==`string`?t[e]=[a,i]:Array.isArray(a)?a.push(i):t[e]=i}return t}function uy(e){let t={};return e.forEach((e,n)=>{let r=t[n];typeof r==`string`?t[n]=[r,e]:Array.isArray(r)?r.push(e):t[n]=e}),t}function dy(e){switch(e){case 200:return Q.OK;case 400:return Q.INVALID_ARGUMENT;case 401:return Q.UNAUTHENTICATED;case 403:return Q.PERMISSION_DENIED;case 404:return Q.NOT_FOUND;case 409:return Q.ABORTED;case 412:return Q.FAILED_PRECONDITION;case 429:return Q.RESOURCE_EXHAUSTED;case 499:return Q.CANCELLED;case 500:return Q.UNKNOWN;case 501:return Q.UNIMPLEMENTED;case 503:return Q.UNAVAILABLE;case 504:return Q.DEADLINE_EXCEEDED;default:return Q.UNKNOWN}}var fy=class{constructor(e){this.defaultOptions=e}mergeOptions(e){return Lg(this.defaultOptions,e)}makeUrl(e,t){let n=t.baseUrl;return n.endsWith(`/`)&&(n=n.substring(0,n.length-1)),`${n}/${e.service.typeName}/${e.name}`}clientStreaming(e){let t=new X(`Client streaming is not supported by grpc-web`,Q[Q.UNIMPLEMENTED]);throw t.methodName=e.name,t.serviceName=e.service.typeName,t}duplex(e){let t=new X(`Duplex streaming is not supported by grpc-web`,Q[Q.UNIMPLEMENTED]);throw t.methodName=e.name,t.serviceName=e.service.typeName,t}serverStreaming(e,t,n){let r=n,i=r.format??`text`,a=r.fetch??globalThis.fetch,o=r.fetchInit??{},s=this.makeUrl(e,r),c=e.I.toBinary(t,r.binaryOptions),l=new Bg,u=new Vg,d=!0,f,p=new Bg,m,h=new Bg;return a(s,Object.assign(Object.assign({},o),{method:`POST`,headers:Qv(new globalThis.Headers,i,r.timeout,r.meta),body:$v(c,i),signal:n.abort??null})).then(e=>{let[t,n,r]=ey(e);if(l.resolve(r),t!=null&&t!==Q.OK)throw new X(n??Q[t],Q[t],r);return t!=null&&(f={code:Q[t],detail:n??Q[t]}),e}).then(t=>{if(!t.body)throw new X(`missing response body`,Q[Q.INTERNAL]);return ry(t.body,t.headers.get(`content-type`),(t,n)=>{switch(t){case ny.DATA:u.notifyMessage(e.O.fromBinary(n,r.binaryOptions)),d=!1;break;case ny.TRAILER:let t,i;[t,i,m]=ty(n),f={code:Q[t],detail:i??Q[t]};break}})}).then(()=>{if(!m&&!d)throw new X(`missing trailers`,Q[Q.DATA_LOSS]);if(!f)throw new X(`missing status`,Q[Q.INTERNAL]);if(f.code!==`OK`)throw new X(f.detail,f.code,m);u.notifyComplete(),p.resolve(f),h.resolve(m||{})}).catch(t=>{let n;n=t instanceof X?t:t instanceof Error&&t.name===`AbortError`?new X(t.message,Q[Q.CANCELLED]):new X(t instanceof Error?t.message:``+t,Q[Q.INTERNAL]),n.methodName=e.name,n.serviceName=e.service.typeName,l.rejectPending(n),u.notifyError(n),p.rejectPending(n),h.rejectPending(n)}),new Gg(e,r.meta??{},t,l.promise,u,p.promise,h.promise)}unary(e,t,n){let r=n,i=r.format??`text`,a=r.fetch??globalThis.fetch,o=r.fetchInit??{},s=this.makeUrl(e,r),c=e.I.toBinary(t,r.binaryOptions),l=new Bg,u,d=new Bg,f,p=new Bg,m,h=new Bg;return a(s,Object.assign(Object.assign({},o),{method:`POST`,headers:Qv(new globalThis.Headers,i,r.timeout,r.meta),body:$v(c,i),signal:n.abort??null})).then(e=>{let[t,n,r]=ey(e);if(l.resolve(r),t!=null&&t!==Q.OK)throw new X(n??Q[t],Q[t],r);return t!=null&&(f={code:Q[t],detail:n??Q[t]}),e}).then(t=>{if(!t.body)throw new X(`missing response body`,Q[Q.INTERNAL]);return ry(t.body,t.headers.get(`content-type`),(t,n)=>{switch(t){case ny.DATA:if(u)throw new X(`unary call received 2nd message`,Q[Q.DATA_LOSS]);u=e.O.fromBinary(n,r.binaryOptions);break;case ny.TRAILER:let t,i;[t,i,m]=ty(n),f={code:Q[t],detail:i??Q[t]};break}})}).then(()=>{if(!m&&u)throw new X(`missing trailers`,Q[Q.DATA_LOSS]);if(!f)throw new X(`missing status`,Q[Q.INTERNAL]);if(!u&&f.code===`OK`)throw new X(`expected error status`,Q[Q.DATA_LOSS]);if(!u||(d.resolve(u),f.code!==`OK`))throw new X(f.detail,f.code,m);p.resolve(f),h.resolve(m||{})}).catch(t=>{let n;n=t instanceof X?t:t instanceof Error&&t.name===`AbortError`?new X(t.message,Q[Q.CANCELLED]):new X(t instanceof Error?t.message:``+t,Q[Q.INTERNAL]),n.methodName=e.name,n.serviceName=e.service.typeName,l.rejectPending(n),d.rejectPending(n),p.rejectPending(n),h.rejectPending(n)}),new Ug(e,r.meta??{},t,l.promise,d.promise,p.promise,h.promise)}},py=Symbol.for(`@mysten/SuiGrpcClient`),my=class extends nc{get mvr(){return this.core.mvr}get[py](){return!0}constructor(e){super({network:e.network});let t=e.transport??new fy({baseUrl:e.baseUrl,fetchInit:e.fetchInit});this.transactionExecutionService=new m_(t),this.ledgerService=new $_(t),this.stateService=new Nv(t),this.subscriptionService=new Fv(t),this.movePackageService=new uv(t),this.signatureVerificationService=new fv(t),this.nameService=new Hv(t),this.forkingService=new Xv(t),this.core=new e_({client:this,base:this,network:e.network,mvr:e.mvr})}getObjects(e){return this.core.getObjects(e)}getObject(e){return this.core.getObject(e)}listCoins(e){return this.core.listCoins(e)}listOwnedObjects(e){return this.core.listOwnedObjects(e)}getBalance(e){return this.core.getBalance(e)}listBalances(e){return this.core.listBalances(e)}getCoinMetadata(e){return this.core.getCoinMetadata(e)}getTransaction(e){return this.core.getTransaction(e)}executeTransaction(e){return this.core.executeTransaction(e)}signAndExecuteTransaction(e){return this.core.signAndExecuteTransaction(e)}waitForTransaction(e){return this.core.waitForTransaction(e)}simulateTransaction(e){return this.core.simulateTransaction(e)}getReferenceGasPrice(){return this.core.getReferenceGasPrice()}async listDynamicFields(e){let t=e.include?.value??!1,n=[`field_id`,`name`,`value_type`,`kind`,`child_id`];t&&n.push(`value`);let r=await this.stateService.listDynamicFields({parent:e.parentId,pageToken:e.cursor?w(e.cursor):void 0,pageSize:e.limit,readMask:{paths:n}});return{dynamicFields:r.response.dynamicFields.map(e=>{let n=e.kind===gv.OBJECT,r=n?`0x2::dynamic_field::Field<0x2::dynamic_object_field::Wrapper<${e.name?.name}>,0x2::object::ID>`:`0x2::dynamic_field::Field<${e.name?.name},${e.valueType}>`;return{$kind:n?`DynamicObject`:`DynamicField`,fieldId:e.fieldId,name:{type:e.name?.name,bcs:e.name?.value},valueType:e.valueType,type:_t(r),childId:e.childId,value:t?{type:e.valueType,bcs:e.value?.value??new Uint8Array}:void 0}}),cursor:r.response.nextPageToken?T(r.response.nextPageToken):null,hasNextPage:r.response.nextPageToken!==void 0}}getDynamicField(e){return this.core.getDynamicField(e)}getMoveFunction(e){return this.core.getMoveFunction(e)}resolveTransactionPlugin(){return this.core.resolveTransactionPlugin()}verifyZkLoginSignature(e){return this.core.verifyZkLoginSignature(e)}defaultNameServiceName(e){return this.core.defaultNameServiceName(e)}},hy=[`idle`,`busy`,`awaiting_approval`,`locked`,`error`],gy=[`unprovisioned`,`provisioning`,`provisioned`,`locked`,`error`],_y=/^[A-Za-z0-9_.-]{1,128}$/,vy=/^[A-Za-z0-9_.-]{1,79}$/,yy=/^session_[0-9a-f]{1,128}$/,by=/^[\x20-\x7E]{1,64}$/,xy=/^[0-9]{4}$/,Sy=/[^\x20-\x7E]/g;function Cy(e){return typeof e==`string`&&hy.includes(e)}function wy(e){return typeof e==`string`&&gy.includes(e)}function Ty(e){return typeof e==`string`&&_y.test(e)}function Ey(e){return typeof e==`string`&&vy.test(e)}function Dy(e){return typeof e==`string`&&yy.test(e)}function Oy(e){return typeof e==`string`&&by.test(e)}function ky(e,t){if(typeof e!=`string`)return``;let n=e.replace(Sy,``);return n.length>t?n.slice(0,t):n}var $=class extends Error{code;constructor(e,t){super(t),this.name=`ProtocolError`,this.code=e}},Ay=3e4,jy=3e4,My=5e3,Ny=Ay,Py=5*Ay+jy+My,Fy=Ny,Iy=Ny,Ly=Py,Ry=Py,zy=Py,By=115200,Vy=12346,Hy=4097,Uy=64*1024,Wy=4096,Gy=Uy,Ky=`sign_transaction`,qy=`sign_personal_message`,Jy=[`mainnet`,`testnet`,`devnet`,`localnet`],Yy=/^0x[0-9a-f]{64}$/,Xy=/^[A-Za-z0-9+/]{43}=$/,Zy=/^[A-Za-z0-9+/]{130}==$/,Qy=`m/44'/784'/0'/0'/0'`,$y=/^sha256:[0-9a-f]{64}$/,eb=/^[a-z][a-z0-9_.:/-]{0,31}$/,tb={user_rejected:`The signing request was rejected on the device.`,user_timed_out:`The signing request timed out on the device.`,policy_rejected:`The signing request was rejected by device policy.`,signing_failed:`The device could not produce a signature.`},nb=[`entropy`,`mnemonic`,`phrase`,`prefixes`,`privateKey`,`private_key`,`privateMaterial`,`private_material`,`recoveryPhrase`,`recovery_phrase`,`rootEntropy`,`root_entropy`,`rootMaterial`,`root_material`,`secret`,`seed`,`signingKey`,`signing_key`,`words`],rb=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,ib=new Set(nb.map(e=>e.toLowerCase()));function ab(){return`req_${vb(gb(12))}`}function ob(e,t,n=Uy){let r=(e+t).split(`
|
|
7
|
+
`),i=r.pop()??``,a=r;for(let e of a)if(_b(e)>n)throw new $(`protocol_error`,`Protocol response line exceeds maximum length.`);if(_b(i)>n)throw new $(`protocol_error`,`Protocol response line exceeds maximum length.`);return{buffer:i,lines:a}}function sb(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function cb(e,t){if(!sb(e))throw new $(`invalid_params`,`${t} must be an object.`);return e}function lb(e,t,n){if(!ub(e,t))throw new $(`protocol_error`,`${n} contains unsupported fields.`)}function ub(e,t){return Object.keys(e).every(e=>t.includes(e))}function db(e){if(Array.isArray(e))return e.some(e=>db(e));if(!sb(e))return!1;for(let[t,n]of Object.entries(e))if(ib.has(t.toLowerCase())||db(n))return!0;return!1}function fb(e,t){if(db(e))throw new $(`protocol_error`,`${t} must not include secret material.`)}function pb(e,t,n,r=`invalid_params`){if(typeof e!=`string`)throw new $(r,`${n} must be base64.`);if(e.length===0||e.length>t||e.length%4!=0||!rb.test(e)||!yb(e))throw new $(r,`${n} must be canonical base64.`);return e}function mb(e){if(e.length===0||e.length%4!=0||!rb.test(e))return null;let t=e.endsWith(`==`)?2:+!!e.endsWith(`=`),n=new Uint8Array(e.length/4*3-t),r=0;for(let t=0;t<e.length;t+=4){let i=bb(e.charCodeAt(t)),a=bb(e.charCodeAt(t+1)),o=e.charCodeAt(t+2)===61,s=e.charCodeAt(t+3)===61,c=o?0:bb(e.charCodeAt(t+2)),l=s?0:bb(e.charCodeAt(t+3));if(i<0||a<0||c<0||l<0)return null;let u=t+4===e.length;if((o||s)&&!u||o&&!s||o&&a&15||!o&&s&&c&3)return null;let d=i<<18|a<<12|c<<6|l;r<n.length&&(n[r++]=d>>16&255),r<n.length&&(n[r++]=d>>8&255),r<n.length&&(n[r++]=d&255)}return n}function hb(e,t){if(!Yy.test(e)||!Xy.test(t))return!1;let n=xb(t);return n!==null&&e===n}function gb(e){let t=new Uint8Array(e),n=globalThis.crypto;if(n?.getRandomValues===void 0)throw Error(`Secure random source is unavailable.`);return n.getRandomValues(t),t}function _b(e){return new TextEncoder().encode(e).length}function vb(e){return Array.from(e,e=>e.toString(16).padStart(2,`0`)).join(``)}function yb(e){return e.endsWith(`==`)?(bb(e.charCodeAt(e.length-3))&15)==0:e.endsWith(`=`)?(bb(e.charCodeAt(e.length-2))&3)==0:!0}function bb(e){return e>=65&&e<=90?e-65:e>=97&&e<=122?e-71:e>=48&&e<=57?e+4:e===43?62:e===47?63:-1}function xb(e){let t=mb(e);if(t===null||t.length!==32)return null;let n=new Uint8Array(33);return n[0]=0,n.set(t,1),`0x${vb(Mb(n))}`}var Sb=(1n<<64n)-1n,Cb=128,wb=32,Tb=[7640891576956012808n,13503953896175478587n,4354685564936845355n,11912009170470909681n,5840696475078001361n,11170449401992604703n,2270897969802886507n,6620516959819538809n],Eb=[[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],[14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3],[11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4],[7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8],[9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13],[2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9],[12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11],[13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10],[6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5],[10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0]];function Db(...e){return e.reduce((e,t)=>e+t&Sb,0n)}function Ob(e,t){return(e>>BigInt(t)|e<<BigInt(64-t))&Sb}function kb(e,t){let n=0n;for(let r=0;r<8;++r)n|=BigInt(e[t+r]??0)<<BigInt(r*8);return n}function Ab(e,t,n){for(let r=0;r<8;++r)e[t+r]=Number(n>>BigInt(r*8)&255n)}function jb(e,t,n,r){let i=Array.from({length:16},(e,n)=>kb(t,n*8)),a=[...e,...Tb];a[12]^=n&Sb,a[13]^=n>>64n,r&&(a[14]^=Sb);let o=(e,t,n,r,o,s)=>{a[e]=Db(a[e],a[t],i[o]),a[r]=Ob(a[r]^a[e],32),a[n]=Db(a[n],a[r]),a[t]=Ob(a[t]^a[n],24),a[e]=Db(a[e],a[t],i[s]),a[r]=Ob(a[r]^a[e],16),a[n]=Db(a[n],a[r]),a[t]=Ob(a[t]^a[n],63)};for(let e=0;e<12;++e){let t=Eb[e%Eb.length];o(0,4,8,12,t[0],t[1]),o(1,5,9,13,t[2],t[3]),o(2,6,10,14,t[4],t[5]),o(3,7,11,15,t[6],t[7]),o(0,5,10,15,t[8],t[9]),o(1,6,11,12,t[10],t[11]),o(2,7,8,13,t[12],t[13]),o(3,4,9,14,t[14],t[15])}for(let t=0;t<e.length;++t)e[t]=(e[t]^a[t]^a[t+8])&Sb}function Mb(e){let t=[...Tb];t[0]^=16842752n^BigInt(wb);let n=0,r=0n;for(;n+Cb<e.length;)r+=BigInt(Cb),jb(t,e.subarray(n,n+Cb),r,!1),n+=Cb;let i=new Uint8Array(Cb),a=e.subarray(n);i.set(a),r+=BigInt(a.length),jb(t,i,r,!0);let o=new Uint8Array(wb);for(let e=0;e<wb/8;++e)Ab(o,e*8,t[e]);return o}var Nb=$y,Pb=/^(0|[1-9][0-9]{0,19})$/,Fb=[`reject`,`sign`],Ib=[`eq`,`in`,`lte`],Lb=/^[a-z][a-z0-9_.:/-]{0,31}$/,Rb=/^[a-z0-9_.:/-]+$/,zb=/^[a-z0-9_]+\.[a-z0-9_]+$/,Bb=/^[a-z][a-z0-9_]{0,31}$/,Vb=eb,Hb=[`confirmation`,`terminal`],Ub=[`signed`,`user_rejected`,`user_timed_out`,`policy_rejected`,`signing_failed`],Wb=[`applied`,`rejected`,`timed_out`,`storage_error`],Gb=[`reject`,`sign`],Kb=[`applied`,`rejected`,`timed_out`,`invalid_policy`,`ui_error`,`storage_error`,`consistency_error`],qb=/^[a-z][a-z0-9_.-]{0,31}$/,Jb=/^[a-z][a-z0-9_.-]{0,63}$/;function Yb(e,t=ab()){if(cx(t),!Oy(e))throw new $(`invalid_client_name`,`clientName must be 1-64 printable ASCII characters.`);return{id:t,version:1,type:`connect`,params:{clientName:e}}}function Xb(e,t=ab()){return cx(t),lx(e),{id:t,version:1,type:`disconnect`,sessionId:e}}function Zb(e,t=ab()){return cx(t),lx(e),{id:t,version:1,type:`get_capabilities`,sessionId:e}}function Qb(e,t=ab()){return cx(t),lx(e),{id:t,version:1,type:`get_accounts`,sessionId:e}}function $b(e,t,n,r,i=ab()){cx(i);let a=fx(Ky,t,n);lx(e);let o=ux(r),s={id:i,version:1,type:Ky,sessionId:e,chain:a.chain,method:a.method,params:o};return hx(s,`sign_transaction`),s}function ex(e,t,n,r,i=ab()){cx(i);let a=fx(qy,t,n);lx(e);let o=dx(r),s={id:i,version:1,type:qy,sessionId:e,chain:a.chain,method:a.method,params:o};return hx(s,`sign_personal_message`),s}function tx(e){try{return JSON.parse(e)}catch{throw new $(`invalid_json`,`Invalid JSON response.`)}}function nx(e,t){let n=tx(e);if(!sb(n))throw new $(`protocol_error`,`Protocol response must be an object.`);if(n.version!==1)throw new $(`incompatible_version`,`Unsupported protocol response version.`);if(t!==void 0&&n.id!==t)throw new $(`protocol_error`,`Protocol response id does not match request id.`);if(n.type===`error`)return gx(n);if(n.type===`connect_result`)return _x(n);if(n.type===`disconnect_result`)return vx(n);if(n.type===`capabilities`)return yx(n);if(n.type===`accounts`)return bx(n);if(n.type===`sign_result`)return Ex(n);throw new $(`protocol_error`,`Provider protocol response type is unsupported.`)}function rx(e){if(e.type===`error`)throw new $(e.error.code,e.error.message);if(e.type!==`connect_result`)throw new $(`protocol_error`,`Protocol response type is not connect_result.`);return e}function ix(e){if(e.type===`error`)throw new $(e.error.code,e.error.message);if(e.type!==`disconnect_result`)throw new $(`protocol_error`,`Protocol response type is not disconnect_result.`);return e}function ax(e){if(e.type===`error`)throw new $(e.error.code,e.error.message);if(e.type!==`capabilities`)throw new $(`protocol_error`,`Protocol response type is not capabilities.`);return e}function ox(e){if(e.type===`error`)throw new $(e.error.code,e.error.message);if(e.type!==`accounts`)throw new $(`protocol_error`,`Protocol response type is not accounts.`);return e}function sx(e){if(e.type===`error`)throw new $(e.error.code,e.error.message);if(e.type!==`sign_result`)throw new $(`protocol_error`,`Protocol response type is not sign_result.`);return e}function cx(e){if(!Ey(e))throw new $(`invalid_request_id`,`Invalid request id.`)}function lx(e){if(!Dy(e))throw new $(`invalid_session`,`Invalid sessionId.`)}function ux(e,t=`sign_transaction`){let n=px(e,t,[`network`,`txBytes`]);return{network:mx(n.network),txBytes:pb(n.txBytes,Wy,`sui/sign_transaction txBytes`)}}function dx(e,t=`sign_personal_message`){let n=px(e,t,[`network`,`message`]);return{network:mx(n.network),message:pb(n.message,Wy,`sui/sign_personal_message message`)}}function fx(e,t,n){if(typeof t!=`string`||!qb.test(t)||typeof n!=`string`||!Jb.test(n))throw new $(`invalid_params`,`Signing route identifiers are invalid.`);if(t!==`sui`)throw new $(`unsupported_chain`,`Signing chain is unsupported.`);switch(e){case Ky:if(n===`sign_transaction`)return{operation:e,chain:`sui`,method:Ky,route:`sui_sign_transaction`};break;case qy:if(n===`sign_personal_message`)return{operation:e,chain:`sui`,method:qy,route:`sui_sign_personal_message`};break}throw new $(`unsupported_method`,`Signing method is unsupported.`)}function px(e,t,n){let r=cb(e,`${t} params`);if(db(r))throw new $(`invalid_params`,`${t} params must not include secret material.`);return lb(r,n,`${t} params`),r}function mx(e){if(!Jy.includes(e))throw new $(`invalid_params`,`sui signing network is unsupported.`);return e}function hx(e,t){if(_b(JSON.stringify(e))>4096)throw new $(`invalid_params`,`${t} request is too large for the runtime.`)}function gx(e){if(!ub(e,[`id`,`version`,`type`,`error`]))throw new $(`protocol_error`,`Protocol error response contains unsupported fields.`);if(e.id!==void 0&&typeof e.id!=`string`)throw new $(`protocol_error`,`Protocol error response id is malformed.`);let t=cb(e.error,`Protocol error response error`);if(typeof t.code!=`string`||typeof t.message!=`string`)throw new $(`protocol_error`,`Protocol error response is malformed.`);return lb(t,[`code`,`message`],`Protocol error response error`),{id:e.id,version:1,type:`error`,error:{code:t.code,message:t.message}}}function _x(e){if(typeof e.id!=`string`)throw new $(`protocol_error`,`Connect response id is malformed.`);if(e.status===`approved`){lb(e,[`id`,`version`,`type`,`status`,`sessionId`,`sessionTtlMs`,`device`],`Connect approved response`);let t=Ox(e.device,`Connect response device object`);if(!Dy(e.sessionId))throw new $(`protocol_error`,`Connect response sessionId is malformed.`);if(typeof e.sessionTtlMs!=`number`||!Number.isInteger(e.sessionTtlMs)||e.sessionTtlMs<=0||e.sessionTtlMs>4294967295)throw new $(`protocol_error`,`Connect response sessionTtlMs is malformed.`);return{id:e.id,version:1,type:`connect_result`,status:`approved`,sessionId:e.sessionId,sessionTtlMs:e.sessionTtlMs,device:t}}if(e.status===`rejected`){lb(e,[`id`,`version`,`type`,`status`,`error`],`Connect rejected response`);let t=cb(e.error,`Connect rejected response error`);if(typeof t.code!=`string`||typeof t.message!=`string`)throw new $(`protocol_error`,`Connect rejected response error object is malformed.`);return lb(t,[`code`,`message`],`Connect rejected response error`),{id:e.id,version:1,type:`connect_result`,status:`rejected`,error:{code:t.code,message:t.message}}}throw new $(`protocol_error`,`Connect response status is unsupported.`)}function vx(e){if(lb(e,[`id`,`version`,`type`,`status`],`Disconnect response`),typeof e.id!=`string`||e.status!==`disconnected`)throw new $(`protocol_error`,`Disconnect response is malformed.`);return{id:e.id,version:1,type:`disconnect_result`,status:`disconnected`}}function yx(e){if(typeof e.id!=`string`)throw new $(`protocol_error`,`Capabilities response id is malformed.`);if(fb(e,`Capabilities response`),lb(e,[`id`,`version`,`type`,`chains`,`signing`],`Capabilities response`),!Array.isArray(e.chains)||e.chains.length!==1)throw new $(`protocol_error`,`Capabilities response chains are malformed.`);let t=Cx(e.signing);return{id:e.id,version:1,type:`capabilities`,chains:e.chains.map(e=>xx(e)),...t===void 0?{}:{signing:t}}}function bx(e){if(typeof e.id!=`string`)throw new $(`protocol_error`,`Accounts response id is malformed.`);if(fb(e,`Accounts response`),lb(e,[`id`,`version`,`type`,`accounts`],`Accounts response`),!Array.isArray(e.accounts)||e.accounts.length!==1)throw new $(`protocol_error`,`Accounts response accounts are malformed.`);return{id:e.id,version:1,type:`accounts`,accounts:e.accounts.map(e=>Tx(e))}}function xx(e){let t=cb(e,`Capability chain entry`);if(fb(t,`Capability chain entry`),lb(t,[`id`,`accounts`,`methods`],`Capability chain entry`),t.id!==`sui`)throw new $(`protocol_error`,`Capability chain is unsupported.`);if(!Array.isArray(t.accounts)||t.accounts.length!==1)throw new $(`protocol_error`,`Capability accounts are malformed.`);if(!Array.isArray(t.methods)||t.methods.length!==0)throw new $(`protocol_error`,`Capability method is unsupported.`);return{id:`sui`,accounts:t.accounts.map(e=>Sx(e)),methods:[]}}function Sx(e){let t=cb(e,`Capability account entry`);if(fb(t,`Capability account entry`),lb(t,[`keyScheme`,`derivationPath`],`Capability account entry`),t.keyScheme!==`ed25519`||t.derivationPath!==`m/44'/784'/0'/0'/0'`)throw new $(`protocol_error`,`Capability account entry is unsupported.`);return{keyScheme:`ed25519`,derivationPath:Qy}}function Cx(e){if(e===void 0)return;let t=cb(e,`Signing capabilities`);if(lb(t,[`authorization`,`methods`],`Signing capabilities`),t.authorization!==`user`&&t.authorization!==`policy`)throw new $(`protocol_error`,`Signing authorization is unsupported.`);if(!Array.isArray(t.methods)||t.methods.length===0||t.methods.length>2)throw new $(`protocol_error`,`Signing capabilities are malformed.`);let n=t.methods.map(e=>wx(e)),r=new Set(n.map(e=>e.method));if(r.size!==n.length)throw new $(`protocol_error`,`Signing capability is duplicated.`);if(t.authorization===`policy`){if(n.length!==1||!r.has(`sign_transaction`))throw new $(`protocol_error`,`Signing capability is unsupported.`)}else if(n.length!==2||!r.has(`sign_transaction`)||!r.has(`sign_personal_message`))throw new $(`protocol_error`,`Signing capability is unsupported.`);return{authorization:t.authorization,methods:n}}function wx(e){let t=cb(e,`Signing capability entry`);if(fb(t,`Signing capability entry`),lb(t,[`chain`,`method`],`Signing capability entry`),t.chain!==`sui`||t.method!==`sign_transaction`&&t.method!==`sign_personal_message`)throw new $(`protocol_error`,`Signing capability is unsupported.`);return{chain:`sui`,method:t.method}}function Tx(e){let t=cb(e,`Account entry`);if(fb(t,`Account entry`),lb(t,[`chain`,`address`,`publicKey`,`keyScheme`,`derivationPath`],`Account entry`),t.chain!==`sui`||typeof t.address!=`string`||!Yy.test(t.address)||typeof t.publicKey!=`string`||!Xy.test(t.publicKey)||!hb(t.address,t.publicKey)||t.keyScheme!==`ed25519`||t.derivationPath!==`m/44'/784'/0'/0'/0'`)throw new $(`protocol_error`,`Account entry is unsupported.`);return{chain:`sui`,address:t.address,publicKey:t.publicKey,keyScheme:`ed25519`,derivationPath:Qy}}function Ex(e){if(typeof e.id!=`string`||typeof e.status!=`string`)throw new $(`protocol_error`,`Sign result response is malformed.`);if(fb(e,`Sign result response`),e.status===`signed`){if(lb(e,[`id`,`version`,`type`,`authorization`,`status`,`chain`,`method`,`signature`,`messageBytes`],`Sign result response`),e.authorization!==`user`&&e.authorization!==`policy`||e.chain!==`sui`||typeof e.signature!=`string`||!Zy.test(e.signature))throw new $(`protocol_error`,`Sign result response is malformed.`);if(e.method===`sign_transaction`){if(e.messageBytes!==void 0)throw new $(`protocol_error`,`Sign result response is malformed.`);return{id:e.id,version:1,type:`sign_result`,authorization:e.authorization,status:`signed`,chain:`sui`,method:Ky,signature:e.signature}}if(e.method===`sign_personal_message`){if(e.authorization!==`user`)throw new $(`protocol_error`,`Sign result response is malformed.`);let t=pb(e.messageBytes,Gy,`sui/sign_personal_message messageBytes`,`protocol_error`);return{id:e.id,version:1,type:`sign_result`,authorization:`user`,status:`signed`,chain:`sui`,method:qy,signature:e.signature,messageBytes:t}}throw new $(`protocol_error`,`Sign result response is malformed.`)}if(e.status===`user_rejected`||e.status===`user_timed_out`){if(lb(e,[`id`,`version`,`type`,`authorization`,`status`,`error`],`Sign result response`),e.authorization!==`user`)throw new $(`protocol_error`,`Sign result response is malformed.`);let t=e.status,n=Dx(e.error,t);return{id:e.id,version:1,type:`sign_result`,authorization:`user`,status:t,error:n}}if(e.status===`policy_rejected`){if(lb(e,[`id`,`version`,`type`,`authorization`,`status`,`policyHash`,`ruleRef`,`error`],`Sign result response`),e.authorization!==`policy`||typeof e.policyHash!=`string`||!$y.test(e.policyHash)||typeof e.ruleRef!=`string`||!eb.test(e.ruleRef))throw new $(`protocol_error`,`Sign result response is malformed.`);let t=Dx(e.error,`policy_rejected`);return{id:e.id,version:1,type:`sign_result`,authorization:`policy`,status:`policy_rejected`,policyHash:e.policyHash,ruleRef:e.ruleRef,error:t}}if(e.status===`signing_failed`){if(lb(e,[`id`,`version`,`type`,`authorization`,`status`,`error`],`Sign result response`),e.authorization!==`user`&&e.authorization!==`policy`)throw new $(`protocol_error`,`Sign result response is malformed.`);let t=Dx(e.error,`signing_failed`);return{id:e.id,version:1,type:`sign_result`,authorization:e.authorization,status:`signing_failed`,error:t}}throw new $(`protocol_error`,`Sign result response is malformed.`)}function Dx(e,t){let n=cb(e,`Sign result error`);if(lb(n,[`code`,`message`],`Sign result error`),n.code!==t||n.message!==tb[t])throw new $(`protocol_error`,`Sign result response error is not canonical.`);return{code:t,message:tb[t]}}function Ox(e,t){let n=cb(e,t);if(lb(n,[`deviceId`,`state`,`firmwareName`,`hardware`,`firmwareVersion`],t),!Ty(n.deviceId)||!Cy(n.state))throw new $(`protocol_error`,`${t} is malformed.`);return{deviceId:n.deviceId,state:n.state,firmwareName:ky(n.firmwareName,64),hardware:ky(n.hardware,64),firmwareVersion:ky(n.firmwareVersion,32)}}function kx(e,t){return Nx(t),Px(e),{id:t,version:1,type:`get_result`,sessionId:e}}function Ax(e,t){return Nx(t),Px(e),{id:t,version:1,type:`ack_result`,sessionId:e}}function jx(e){if(lb(e,[`id`,`version`,`type`,`status`],`Ack result response`),typeof e.id!=`string`||e.version!==1||e.type!==`ack_result`||e.status!==`acked`)throw new $(`protocol_error`,`Ack result response is malformed.`);return{id:e.id,version:1,type:`ack_result`,status:`acked`}}function Mx(e){if(!sb(e))throw new $(`protocol_error`,`Protocol response is not an object.`);if(e.type===`error`){let t=e.error;throw!sb(t)||typeof t.code!=`string`||typeof t.message!=`string`?new $(`protocol_error`,`Protocol error response is malformed.`):new $(t.code,t.message)}return jx(e)}function Nx(e){if(!Ey(e))throw new $(`invalid_request_id`,`Invalid request id.`)}function Px(e){if(!Dy(e))throw new $(`invalid_session`,`Invalid sessionId.`)}function Fx(e){return`${JSON.stringify(e)}\n`}function Ix(e){try{return JSON.parse(e)}catch{throw new $(`invalid_json`,`Invalid JSON response.`)}}function Lx(e,t){let n=Ix(e);if(!sb(n))throw new $(`protocol_error`,`Protocol response must be an object.`);if(n.version!==1)throw new $(`incompatible_version`,`Unsupported protocol response version.`);if(t!==void 0&&n.id!==t)throw new $(`protocol_error`,`Protocol response id does not match request id.`);if(zx(n.type))return Rx(e,t);if(n.type===`ack_result`)return jx(n);if(n.type===`status`){if(!ub(n,[`id`,`version`,`type`,`device`,`provisioning`]))throw new $(`protocol_error`,`Status response contains unsupported fields.`);dS(n.device,`Status response device object`),fS(n.provisioning,`Status response provisioning object`);let e=Bx(n.device);if(e===null)throw new $(`protocol_error`,`Status response device object is malformed.`);let t=Vx(n.provisioning);if(t===null)throw new $(`protocol_error`,`Status response provisioning object is malformed.`);if(typeof n.id!=`string`)throw new $(`protocol_error`,`Status response id is malformed.`);return{id:n.id,version:1,type:`status`,device:e,provisioning:t}}if(n.type===`identify_device_result`){if(!ub(n,[`id`,`version`,`type`,`status`,`code`,`device`]))throw new $(`protocol_error`,`Identify response contains unsupported fields.`);dS(n.device,`Identify response device object`);let e=Bx(n.device);if(e===null)throw new $(`protocol_error`,`Identify response device object is malformed.`);if(typeof n.id!=`string`||n.status!==`displayed`||!uS(n.code))throw new $(`protocol_error`,`Identify response is malformed.`);return{id:n.id,version:1,type:`identify_device_result`,status:`displayed`,code:n.code,device:e}}if(n.type===`policy`){if(typeof n.id!=`string`)throw new $(`protocol_error`,`Policy response id is malformed.`);if(db(n))throw new $(`protocol_error`,`Policy response must not include secret material.`);if(!ub(n,[`id`,`version`,`type`,`policy`]))throw new $(`protocol_error`,`Policy response contains unsupported fields.`);let e=sS(n.policy);if(e===null)throw new $(`protocol_error`,`Policy response policy object is malformed.`);return{id:n.id,version:1,type:`policy`,policy:e}}if(n.type===`approval_history`){if(typeof n.id!=`string`)throw new $(`protocol_error`,`Approval history response id is malformed.`);if(db(n))throw new $(`protocol_error`,`Approval history response must not include secret material.`);if(!ub(n,[`id`,`version`,`type`,`records`,`hasMore`]))throw new $(`protocol_error`,`Approval history response contains unsupported fields.`);if(!Array.isArray(n.records)||n.records.length>4)throw new $(`protocol_error`,`Approval history response records are malformed.`);if(typeof n.hasMore!=`boolean`)throw new $(`protocol_error`,`Approval history response hasMore is malformed.`);return{id:n.id,version:1,type:`approval_history`,records:n.records.map(e=>lS(e)),hasMore:n.hasMore}}if(n.type===`policy_propose_result`){if(typeof n.id!=`string`)throw new $(`protocol_error`,`policy_propose_result id is malformed.`);if(db(n))throw new $(`protocol_error`,`policy_propose_result must not include secret material.`);if(!ub(n,[`id`,`version`,`type`,`status`,`reasonCode`,`policy`]))throw new $(`protocol_error`,`policy_propose_result contains unsupported fields.`);if(!Kb.includes(n.status)||typeof n.reasonCode!=`string`||!Bb.test(n.reasonCode))throw new $(`protocol_error`,`policy_propose_result is malformed.`);let e=cS(n.policy);if(n.status===`invalid_policy`){if(e!==void 0)throw new $(`protocol_error`,`Invalid policy result must not include policy metadata.`)}else if(e===void 0)throw new $(`protocol_error`,`policy_propose_result policy metadata is malformed.`);return{id:n.id,version:1,type:`policy_propose_result`,status:n.status,reasonCode:n.reasonCode,...e===void 0?{}:{policy:e}}}throw new $(`protocol_error`,`Protocol response type is unsupported.`)}function Rx(e,t){return nx(e,t)}function zx(e){return e===`error`||e===`connect_result`||e===`disconnect_result`||e===`capabilities`||e===`accounts`||e===`sign_result`}function Bx(e){return!sb(e)||!Ty(e.deviceId)||!Cy(e.state)?null:{deviceId:e.deviceId,state:e.state,firmwareName:ky(e.firmwareName,64),hardware:ky(e.hardware,64),firmwareVersion:ky(e.firmwareVersion,32)}}function Vx(e){return!sb(e)||!wy(e.state)?null:{state:e.state}}function Hx(e){return typeof e==`string`&&qb.test(e)}function Ux(e){return typeof e==`string`&&Jb.test(e)}function Wx(e){return typeof e!=`string`||!Pb.test(e)?!1:e.length<Gx.length||e.length===Gx.length&&e<=Gx}var Gx=`18446744073709551615`;function Kx(e,t){return typeof e==`string`&&e.length>0&&e.length<=t}function qx(e,t){return Kx(e,t)&&Rb.test(e)}var Jx={"common.chain":{type:`string`,allowEq:!0,allowIn:!0,allowLte:!1},"common.method":{type:`string`,allowEq:!0,allowIn:!0,allowLte:!1},"common.intent":{type:`string`,allowEq:!0,allowIn:!0,allowLte:!1}},Yx={"sui.command_shape":{type:`string`,allowEq:!0,allowIn:!0,allowLte:!1},"sui.sender_address":{type:`string`,allowEq:!0,allowIn:!0,allowLte:!1},"sui.gas_owner_address":{type:`string`,allowEq:!0,allowIn:!0,allowLte:!1},"sui.command_count":{type:`u64_decimal`,allowEq:!0,allowIn:!1,allowLte:!0},"sui.command0_kind":{type:`string`,allowEq:!0,allowIn:!0,allowLte:!1},"sui.command1_kind":{type:`string`,allowEq:!0,allowIn:!0,allowLte:!1},"sui.recipient_address":{type:`string`,allowEq:!0,allowIn:!0,allowLte:!1},"sui.coin_type":{type:`string`,allowEq:!0,allowIn:!0,allowLte:!1},"sui.amount_raw":{type:`u64_decimal`,allowEq:!0,allowIn:!1,allowLte:!0},"sui.gas_budget":{type:`u64_decimal`,allowEq:!0,allowIn:!1,allowLte:!0},"sui.gas_price":{type:`u64_decimal`,allowEq:!0,allowIn:!1,allowLte:!0}};function Xx(e){return e.chain===`sui`&&e.method===`sign_transaction`}function Zx(e,t){return Xx(e)?Jx[t]??Yx[t]??null:null}function Qx(e,t){switch(t){case`eq`:return e.allowEq;case`in`:return e.allowIn;case`lte`:return e.allowLte}}function $x(e,t){let n=Zx(e,t.field);return n===null||!Qx(n,t.op)?!1:t.op===`in`?t.values===void 0||t.value!==void 0?!1:n.type!==`u64_decimal`||t.values.every(e=>Wx(e)):t.value===void 0||t.values!==void 0?!1:n.type!==`u64_decimal`||Wx(t.value)}function eS(e,t,n){return e.field===t&&e.op===`eq`&&e.value===n}function tS(e,t){return e.field===t&&e.op===`lte`&&e.value!==void 0&&Wx(e.value)}function nS(e,t,n){return eS(e,t,n)&&e.value!==void 0&&Wx(e.value)}function rS(e){return e.field===`sui.recipient_address`?e.op===`eq`?e.value!==void 0&&e.value.length>0:e.op===`in`&&e.values!==void 0&&e.values.length===1:!1}function iS(e){if(e.action!==`sign`)return!0;if(e.chain!==`sui`||e.method!==`sign_transaction`||e.criteria.length===0)return!1;let t=!1,n=!1,r=!1,i=!1,a=!1,o=!1,s=!1,c=!1,l=!1,u=!1;for(let d of e.criteria)t||=eS(d,`common.intent`,`single_asset_transfer`),n||=eS(d,`sui.command_shape`,`restricted_transfer`),r||=eS(d,`sui.coin_type`,`0x2::sui::SUI`),i||=nS(d,`sui.command_count`,`2`),a||=eS(d,`sui.command0_kind`,`split_coins`),o||=eS(d,`sui.command1_kind`,`transfer_objects`),s||=rS(d),c||=tS(d,`sui.amount_raw`),l||=tS(d,`sui.gas_budget`),u||=tS(d,`sui.gas_price`);return t&&n&&r&&i&&a&&o&&s&&c&&l&&u}function aS(e){if(!sb(e))return null;if(db(e))throw new $(`protocol_error`,`Policy criterion must not include secret material.`);if(!Kx(e.field,48)||!zb.test(e.field)||typeof e.op!=`string`||!Ib.includes(e.op))return null;let t=e.op;if(t===`in`){if(!ub(e,[`field`,`op`,`values`]))throw new $(`protocol_error`,`Policy criterion contains unsupported fields.`);return!Array.isArray(e.values)||e.values.length===0||e.values.length>16||!e.values.every(e=>Kx(e,96))?null:{field:e.field,op:t,values:[...e.values]}}if(!ub(e,[`field`,`op`,`value`]))throw new $(`protocol_error`,`Policy criterion contains unsupported fields.`);return Kx(e.value,96)?{field:e.field,op:t,value:e.value}:null}function oS(e){if(!sb(e))return null;if(db(e))throw new $(`protocol_error`,`Policy rule must not include secret material.`);if(!ub(e,[`id`,`chain`,`method`,`action`,`criteria`]))throw new $(`protocol_error`,`Policy rule contains unsupported fields.`);if(!Kx(e.id,32)||!Lb.test(e.id)||!qx(e.chain,32)||!qx(e.method,64)||typeof e.action!=`string`||!Fb.includes(e.action)||!Array.isArray(e.criteria)||e.criteria.length>12)return null;let t=e.criteria.map(e=>aS(e));if(t.some(e=>e===null))return null;let n={id:e.id,chain:e.chain,method:e.method,action:e.action,criteria:t};return!Xx(n)||!n.criteria.every(e=>$x(n,e))||!iS(n)?null:n}function sS(e){if(!sb(e))return null;if(db(e))throw new $(`protocol_error`,`Policy document must not include secret material.`);if(!ub(e,[`schema`,`policyId`,`defaultAction`,`ruleCount`,`rules`]))throw new $(`protocol_error`,`Policy document contains unsupported fields.`);if(e.schema!==`agentq.policy.v0`||typeof e.policyId!=`string`||!Nb.test(e.policyId)||e.defaultAction!==`reject`||typeof e.ruleCount!=`number`||!Number.isInteger(e.ruleCount)||e.ruleCount<0||e.ruleCount>16||!Array.isArray(e.rules)||e.rules.length!==e.ruleCount)return null;let t=e.rules.map(e=>oS(e));return t.some(e=>e===null)||t.filter(e=>e?.action===`sign`).length>1?null:{schema:e.schema,policyId:e.policyId,defaultAction:e.defaultAction,ruleCount:e.ruleCount,rules:t}}function cS(e){if(e!==void 0){if(!sb(e))throw new $(`protocol_error`,`policy_propose_result policy metadata is malformed.`);if(db(e))throw new $(`protocol_error`,`policy_propose_result policy metadata must not include secret material.`);if(!ub(e,[`policyHash`,`ruleCount`,`highestAction`]))throw new $(`protocol_error`,`policy_propose_result policy metadata contains unsupported fields.`);if(typeof e.policyHash!=`string`||!Nb.test(e.policyHash)||typeof e.ruleCount!=`number`||!Number.isInteger(e.ruleCount)||e.ruleCount<0||e.ruleCount>16||!Gb.includes(e.highestAction))throw new $(`protocol_error`,`policy_propose_result policy metadata is malformed.`);return{policyHash:e.policyHash,ruleCount:e.ruleCount,highestAction:e.highestAction}}}function lS(e){if(!sb(e))throw new $(`protocol_error`,`Approval history record is malformed.`);if(db(e))throw new $(`protocol_error`,`Approval history record must not include secret material.`);if(!ub(e,[`seq`,`uptimeMs`,`timeSource`,`eventKind`,`confirmationKind`,`authorization`,`chain`,`method`,`reasonCode`,`payloadDigest`,`policyHash`,`ruleRef`,`result`,`ruleCount`,`highestAction`,`recordKind`,`terminalResult`]))throw new $(`protocol_error`,`Approval history record contains unsupported fields.`);if(typeof e.seq!=`string`||!Wx(e.seq)||typeof e.uptimeMs!=`string`||!Wx(e.uptimeMs)||e.timeSource!==`uptime`||typeof e.reasonCode!=`string`||!Bb.test(e.reasonCode))throw new $(`protocol_error`,`Approval history record is malformed.`);if(e.eventKind===`policy_update`){if(e.confirmationKind!==void 0||e.chain!==void 0||e.method!==void 0||e.payloadDigest!==void 0||e.ruleRef!==void 0||e.recordKind!==void 0||e.terminalResult!==void 0||!Wb.includes(e.result)||typeof e.policyHash!=`string`||!Nb.test(e.policyHash)||typeof e.ruleCount!=`number`||!Number.isInteger(e.ruleCount)||e.ruleCount<0||e.ruleCount>16||!Gb.includes(e.highestAction))throw new $(`protocol_error`,`Approval history policy update record is malformed.`);return{seq:e.seq,uptimeMs:e.uptimeMs,timeSource:`uptime`,eventKind:`policy_update`,reasonCode:e.reasonCode,result:e.result,policyHash:e.policyHash,ruleCount:e.ruleCount,highestAction:e.highestAction}}if(e.eventKind===`signing`){if(e.result!==void 0||e.ruleCount!==void 0||e.highestAction!==void 0||!Hb.includes(e.recordKind)||e.authorization!==`user`&&e.authorization!==`policy`||!Hx(e.chain)||!Ux(e.method)||typeof e.payloadDigest!=`string`||!Nb.test(e.payloadDigest))throw new $(`protocol_error`,`Approval history signing record is malformed.`);if(e.recordKind===`confirmation`){if(e.terminalResult!==void 0)throw new $(`protocol_error`,`Approval history signing record is malformed.`);if(e.authorization===`user`){if(e.confirmationKind!==`local_pin`&&e.confirmationKind!==`physical_confirm`||e.policyHash!==void 0||e.ruleRef!==void 0)throw new $(`protocol_error`,`Approval history signing record is malformed.`);return{seq:e.seq,uptimeMs:e.uptimeMs,timeSource:`uptime`,eventKind:`signing`,reasonCode:e.reasonCode,recordKind:`confirmation`,authorization:`user`,confirmationKind:e.confirmationKind,chain:e.chain,method:e.method,payloadDigest:e.payloadDigest}}if(e.confirmationKind!==`policy`||typeof e.policyHash!=`string`||!Nb.test(e.policyHash)||typeof e.ruleRef!=`string`||!Vb.test(e.ruleRef))throw new $(`protocol_error`,`Approval history signing policy metadata is malformed.`);return{seq:e.seq,uptimeMs:e.uptimeMs,timeSource:`uptime`,eventKind:`signing`,reasonCode:e.reasonCode,recordKind:`confirmation`,authorization:`policy`,confirmationKind:`policy`,chain:e.chain,method:e.method,payloadDigest:e.payloadDigest,policyHash:e.policyHash,ruleRef:e.ruleRef}}if(e.confirmationKind!==void 0||!Ub.includes(e.terminalResult))throw new $(`protocol_error`,`Approval history signing record is malformed.`);let t=e.terminalResult;if(e.authorization===`policy`){if(![`signed`,`policy_rejected`,`signing_failed`].includes(t)||typeof e.policyHash!=`string`||!Nb.test(e.policyHash)||typeof e.ruleRef!=`string`||!Vb.test(e.ruleRef))throw new $(`protocol_error`,`Approval history signing policy metadata is malformed.`)}else if(![`signed`,`user_rejected`,`user_timed_out`,`signing_failed`].includes(t)||e.policyHash!==void 0||e.ruleRef!==void 0)throw new $(`protocol_error`,`Approval history signing policy metadata is malformed.`);return{seq:e.seq,uptimeMs:e.uptimeMs,timeSource:`uptime`,eventKind:`signing`,reasonCode:e.reasonCode,recordKind:`terminal`,authorization:e.authorization,terminalResult:t,chain:e.chain,method:e.method,payloadDigest:e.payloadDigest,...e.authorization===`policy`?{policyHash:e.policyHash,ruleRef:e.ruleRef}:{}}}throw new $(`protocol_error`,`Approval history record is malformed.`)}function uS(e){return typeof e==`string`&&xy.test(e)}function dS(e,t){if(!sb(e)||!ub(e,[`deviceId`,`state`,`firmwareName`,`hardware`,`firmwareVersion`]))throw new $(`protocol_error`,`${t} contains unsupported fields.`)}function fS(e,t){if(!sb(e)||!ub(e,[`state`]))throw new $(`protocol_error`,`${t} contains unsupported fields.`)}var pS=`Agent-Q Sui dapp`,mS=1500,hS=Symbol(`agent-q.providerRequestMayHaveReachedFirmware`),gS=new Set([`timeout`,`transport_closed`,`protocol_error`,`invalid_json`]),_S=class extends Error{code;constructor(e,t){super(t),this.name=`AgentQSuiBrowserProviderError`,this.code=e}},vS=class{#e;#t;#n;#r=null;#i=1;#a=new WeakMap;#o=null;#s=Promise.resolve();#c=0;#l=null;constructor(e={}){this.#n=null,this.#e=SS(),this.#t=e.clientName??pS,this.#h()}async connectDevice(e={}){if(this.#r!==null&&zS(e.deviceId,this.#r.deviceId)){let e=this.#D(this.#r);try{return await this.#g(Zb(this.#r.sessionId),ax),this.#N(this.#r)}catch(t){if(this.#j(t,e)===null)throw t}}let t;try{t=await this.#w(Yb(e.clientName??this.#t),rx,zy)}catch(e){throw BS(e)&&this.#m(`session_ended`),e}if(t.status===`rejected`)throw new _S(t.error.code,t.error.message);if(e.deviceId!==void 0&&t.device.deviceId!==e.deviceId){try{await this.#w(Xb(t.sessionId),ix,Iy)}catch{}finally{this.#m(`device_mismatch`)}throw new _S(`device_mismatch`,`Connected Agent-Q device did not match the requested deviceId.`)}return this.#r={deviceId:t.device.deviceId,sessionId:t.sessionId,sessionTtlMs:t.sessionTtlMs,connectedAt:new Date().toISOString(),device:t.device,epoch:this.#i++},this.#o=null,this.#N(this.#r)}async disconnectDevice(e={}){let t=this.#E(e.deviceId);if(t===null)return this.#A(e.deviceId);try{await this.#g(Xb(t.sessionId),ix)}catch(e){if(BS(e))return{source:`session_ended`,deviceId:t.deviceId,reason:VS(e)??`session_ended`};throw e}finally{this.#m(`explicit_disconnect`)}return{source:`disconnected`,deviceId:t.deviceId,reason:`firmware_confirmed`}}async getCapabilities(e={}){let t=this.#E(e.deviceId);if(t===null)return this.#A(e.deviceId);let n=this.#D(t);try{let e=await this.#g(Zb(t.sessionId),ax);return{source:`live`,deviceId:t.deviceId,capabilities:e.chains,...e.signing===void 0?{}:{signing:e.signing}}}catch(e){let t=this.#j(e,n);if(t!==null)return t;throw e}}async getAccounts(e={}){let t=this.#E(e.deviceId);if(t===null)return this.#A(e.deviceId);let n=this.#D(t);try{let e=await this.#g(Qb(t.sessionId),ox);return{source:`live`,deviceId:t.deviceId,accounts:e.accounts}}catch(e){let t=this.#j(e,n);if(t!==null)return t;throw e}}async signTransaction(e){let t=this.#E(e.deviceId);if(t===null)return this.#A(e.deviceId);let n=this.#D(t),r=$b(t.sessionId,e.chain,e.method,{network:e.network,txBytes:e.txBytes},e.requestId);try{let e=await this.#_(r,t);if(e.status===`session_invalidated`)return this.#k(n,`session_ended`),{source:`session_ended`,deviceId:t.deviceId,reason:`invalid_session`};let i=HS(t.deviceId,e.response);return e.sessionInvalidatedByAck&&this.#k(n,`session_ended`),i}catch(e){let t=this.#M(e,n);if(t!==null)return t;throw e}}async signPersonalMessage(e){let t=this.#E(e.deviceId);if(t===null)return this.#A(e.deviceId);let n=this.#D(t),r=ex(t.sessionId,e.chain,e.method,{network:e.network,message:e.message},e.requestId);try{let e=await this.#_(r,t);if(e.status===`session_invalidated`)return this.#k(n,`session_ended`),{source:`session_ended`,deviceId:t.deviceId,reason:`invalid_session`};let i=HS(t.deviceId,e.response);return e.sessionInvalidatedByAck&&this.#k(n,`session_ended`),i}catch(e){let t=this.#M(e,n);if(t!==null)return t;throw e}}async#u(e){if(this.#n!==null)return await this.#p(this.#n,e),this.#n;let t=await this.#e();return await this.#p(t,e),this.#n=t,t}#d(){let e=this.#f();if(e!==null){if(e.port.readable===null){e.release();return}jS(e.port.close(),`port.close`).then(t=>{t?e.release():e.abandon(`port.close cleanup did not complete`)})}}#f(){let e=this.#n;if(this.#n=null,e===null)return null;let t,n={promise:new Promise(e=>{t=e}),release:()=>{this.#a.get(e)===n&&this.#a.delete(e),t()},abandon:e=>{n.abandonedReason=e,t()}};return this.#a.set(e,n),{port:e,release:n.release,abandon:n.abandon}}async#p(e,t){let n=this.#a.get(e);if(n===void 0)return;if(n.abandonedReason!==void 0)throw new _S(`transport_closed`,`The selected Web Serial port was abandoned after timed-out cleanup: ${n.abandonedReason}.`);let r=null;try{await Promise.race([n.promise,new Promise((e,n)=>{r=setTimeout(()=>{n(new _S(`transport_closed`,`The selected Web Serial port is still cleaning up from a timed-out request.`))},Math.max(0,t-Date.now()))})])}finally{r!==null&&clearTimeout(r)}if(n.abandonedReason!==void 0)throw new _S(`transport_closed`,`The selected Web Serial port was abandoned after timed-out cleanup: ${n.abandonedReason}.`)}#m(e=`transport_reset`){let t=this.#r,n=this.#c;this.#c+=1,this.#o={generation:n,reason:e,deviceId:t?.deviceId,sessionId:t?.sessionId,sessionEpoch:t?.epoch},this.#r=null,this.#d()}#h(){let e=xS();if(e===null||typeof e.addEventListener!=`function`)return;let t=e=>{this.#n!==null&&e.target!==void 0&&e.target!==this.#n||this.#n===null&&this.#r===null||(console.warn(`[agent-q] Web Serial device disconnected; clearing cached port and session.`),this.#m(`physical_disconnect`))};this.#l=t,e.addEventListener(`disconnect`,t)}dispose(){let e=xS();this.#l!==null&&e!==null&&typeof e.removeEventListener==`function`&&e.removeEventListener(`disconnect`,this.#l),this.#l=null,this.#m(`dispose`)}async#g(e,t){return this.#w(e,t,LS(e))}#_(e,t){let n=this.#c,r=Date.now()+wS(e);return this.#T(async()=>{this.#C(n);let i=await this.#u(r);this.#C(n);try{let a=await FS(i,e,e=>sx(e),TS(r,LS(e)),()=>this.#f());return this.#x(n,t,i),{status:`result`,response:a,sessionInvalidatedByAck:!1}}catch(i){if(!AS(i)||!this.#b(n,t))throw i;try{let i=await this.#u(r),a=await this.#v(i,e.sessionId,e.id,r);if(a.status===`session_invalidated`)return{status:`session_invalidated`};if(a.status===`recovered`)return a.ack!==`invalid_session`&&this.#x(n,t,i),{status:`result`,response:a.response,sessionInvalidatedByAck:a.ack===`invalid_session`}}catch{}throw i}})}async#v(e,t,n,r){let i;try{i=await FS(e,kx(t,n),e=>sx(e),TS(r,Fy),()=>this.#f())}catch(e){return VS(e)===`invalid_session`?{status:`session_invalidated`}:{status:`not_recovered`}}let a=await this.#y(e,t,n,r);return{status:`recovered`,response:i,ack:a}}async#y(e,t,n,r){try{return await FS(e,Ax(t,n),Mx,TS(r,Fy),()=>this.#f()),`acked`}catch(e){return VS(e)===`invalid_session`?`invalid_session`:`failed`}}#b(e,t){return this.#c===e||this.#S(e,t,`physical_disconnect`)}#x(e,t,n){this.#c===e||!this.#S(e,t,`physical_disconnect`)||(this.#r=t,this.#n=n,this.#o=null)}#S(e,t,n){let r=this.#o;return r!==null&&r.generation===e&&r.reason===n&&r.deviceId===t.deviceId&&r.sessionId===t.sessionId&&r.sessionEpoch===t.epoch}#C(e){if(this.#c!==e)throw new _S(`transport_closed`,`The device transport was torn down before this request could run.`)}#w(e,t,n){let r=this.#c,i=Date.now()+n;return this.#T(async()=>{this.#C(r);let a=await this.#u(i);return this.#C(r),FS(a,e,e=>t(e),TS(i,n),()=>this.#f())})}#T(e){let t=this.#s.then(e,e);return this.#s=t.then(CS,CS),t}#E(e){return this.#r===null||!zS(e,this.#r.deviceId)?null:this.#r}#D(e){return{deviceId:e.deviceId,sessionId:e.sessionId,epoch:e.epoch,generation:this.#c}}#O(e){return this.#r!==null&&this.#r.deviceId===e.deviceId&&this.#r.sessionId===e.sessionId&&this.#r.epoch===e.epoch}#k(e,t){return this.#O(e)?(this.#m(t),!0):!1}#A(e){return yS()?{source:`not_connected`,deviceId:e??this.#r?.deviceId??`browser`,reason:`not_connected`}:{source:`unavailable`,deviceId:e??`browser`,reason:`unsupported_transport`}}#j(e,t){if(!BS(e))return null;let n=VS(e);return(n===`invalid_session`||this.#c===t.generation)&&this.#k(t,`session_ended`),{source:`session_ended`,deviceId:t.deviceId,reason:n??`session_ended`}}#M(e,t){return VS(e)===`invalid_session`?(this.#k(t,`session_ended`),{source:`session_ended`,deviceId:t.deviceId,reason:`invalid_session`}):null}#N(e){return{source:`connected`,deviceId:e.deviceId,sessionTtlMs:e.sessionTtlMs,connectedAt:e.connectedAt,device:e.device}}};function yS(){return xS()!==null}function bS(e={}){return new vS(e)}function xS(){return globalThis.navigator?.serial??null}function SS(){return async()=>{let e=xS();if(e===null)throw new _S(`unsupported_transport`,`Web Serial is not available in this browser.`);return e.requestPort({filters:[{usbVendorId:Vy,usbProductId:Hy}]})}}function CS(){}function wS(e){return LS(e)+Fy*2}function TS(e,t){let n=e-Date.now();if(n<=0)throw ES(new _S(`timeout`,`The device request expired before it reached Firmware.`));return Math.min(t,n)}function ES(e){return OS(e,!1)}function DS(e){return OS(e,!0)}function OS(e,t){if(typeof e==`object`&&e||typeof e==`function`)try{Object.defineProperty(e,hS,{value:t,configurable:!0})}catch{}return e}function kS(e){return!!(e!==null&&(typeof e==`object`||typeof e==`function`)&&e[hS])}function AS(e){if(!kS(e))return!1;let t=VS(e);return t!==null&&gS.has(t)}async function jS(e,t){if(e===void 0)return!0;let n=null,r=e.then(()=>!0,()=>!1),i=new Promise(e=>{n=setTimeout(()=>{console.warn(`[agent-q] Web Serial cleanup '${t}' did not complete within ${mS}ms; abandoning it.`),e(!1)},mS)});try{return await Promise.race([r,i])}finally{n!==null&&clearTimeout(n)}}function MS(e,t,n){if(e.canceled)throw ES(new _S(`timeout`,n));let r=t-Date.now();if(r<=0)throw e.canceled=!0,OS(new _S(`timeout`,n),e.writeReachability===`started`);return r}async function NS(e,t,n,r){let i=MS(t,n,`The device request expired while opening the Web Serial port.`),a=e.open({baudRate:By}),o=null;a.then(()=>{t.canceled&&jS(e.close(),`late port.open close-only cleanup`).then(e=>{e?t.stalePortLease?.release():t.stalePortLease?.abandon(`late port.open cleanup did not complete`)})},()=>{t.canceled&&t.stalePortLease?.release()});let s=new Promise((e,n)=>{o=setTimeout(()=>{t.canceled=!0,t.abandoned=!0,t.stalePortLease=r()??void 0,n(ES(new _S(`timeout`,`The device request expired while opening the Web Serial port.`)))},i)});try{await Promise.race([a,s])}catch(e){throw ES(e)}finally{o!==null&&clearTimeout(o)}}async function PS(e,t,n,r,i){MS(n,r,`The device request expired before it reached Firmware.`),n.writeReachability=`started`;let a=e.write(new TextEncoder().encode(Fx(t))),o=null;a.catch(()=>void 0);let s=new Promise((e,t)=>{o=setTimeout(()=>{n.canceled=!0,n.abandoned=!0,n.stalePortLease=i()??void 0,t(DS(new _S(`timeout`,`Timed out writing to Firmware.`)))},Math.max(0,r-Date.now()))});try{await Promise.race([a,s])}catch(e){throw DS(e)}finally{o!==null&&clearTimeout(o)}}async function FS(e,t,n,r,i){let a=Date.now()+Math.max(0,r),o={canceled:!1,abandoned:!1,writeReachability:`not_started`};(e.readable===null||e.writable===null)&&await NS(e,o,a,i);let s=null,c=null,l=null,u=!1;try{if(e.readable===null||e.writable===null)throw ES(new _S(`transport_closed`,`Web Serial port is not readable or writable.`));s=e.readable.getReader(),c=e.writable.getWriter(),await PS(c,t,o,a,i),c.releaseLock(),c=null;let d=IS(s,t.id,n);d.catch(()=>void 0);let f=new Promise((e,n)=>{l=setTimeout(()=>{o.canceled=!0,o.abandoned=!0,o.stalePortLease=i()??void 0,console.warn(`[agent-q] No Firmware response for '${t.type}' within ${r}ms; treating link as lost.`),n(DS(new _S(`timeout`,`Timed out waiting for Firmware response.`)))},Math.max(0,a-Date.now()))}),p=await Promise.race([d,f]);return u=!0,p}catch(e){throw OS(e,o.writeReachability===`started`)}finally{if(l!==null&&clearTimeout(l),c!==null)try{c.releaseLock()}catch{}if(s!==null){u||await jS(s.cancel(),`reader.cancel`);try{s.releaseLock()}catch{}}u||(o.stalePortLease??=i()??void 0,await jS(e.close(),`port.close`)?o.stalePortLease?.release():o.stalePortLease?.abandon(`port.close cleanup did not complete`))}}async function IS(e,t,n){let r=new TextDecoder,i=``;for(;;){let{value:a,done:o}=await e.read();if(o)throw new _S(`transport_closed`,`The device connection was closed.`);let s;try{let e=ob(i,r.decode(a,{stream:!0}));i=e.buffer,s=e.lines}catch(e){throw e instanceof $?new _S(e.code,e.message):e}for(let e of s){let r=e.trim();if(r.length===0||!r.startsWith(`{`))continue;let i=RS(r,t,n);if(i!==void 0)return i}}}function LS(e){switch(e.type){case`connect`:return zy;case`disconnect`:return Iy;case`sign_transaction`:return Ly;case`sign_personal_message`:return Ry;case`get_capabilities`:case`get_accounts`:return Fy}throw new _S(`internal_error`,`Provider request deadline is not defined.`)}function RS(e,t,n){let r;try{r=Ix(e)}catch{return}if(US(r)){if(r.id!==t){if(r.id===void 0&&r.type===`error`){let t=Lx(e);if(t.type===`error`)throw new _S(t.error.code,t.error.message)}return}try{return n(Lx(e,t))}catch(e){throw e instanceof $?new _S(e.code,e.message):e}}}function zS(e,t){return e===void 0||e===t}function BS(e){let t=VS(e);return t===`invalid_session`||t===`transport_closed`||t===`timeout`}function VS(e){return e instanceof $||e instanceof _S?e.code:null}function HS(e,t){return t.status===`signed`?{source:`live`,deviceId:e,status:`signed`,authorization:t.authorization,chain:t.chain,method:t.method,signature:t.signature,...t.method===`sign_personal_message`?{messageBytes:t.messageBytes}:{}}:t.status===`policy_rejected`?{source:`live`,deviceId:e,status:`policy_rejected`,authorization:`policy`,error:t.error}:{source:`live`,deviceId:e,status:t.status,authorization:t.authorization,error:t.error}}function US(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var WS=`data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MzAgNTIwIiBmb250LWZhbWlseT0iSW50ZXIsIHNhbnMtc2VyaWYiPjxwYXRoIGQ9Ik0yMTYuOSAyOS40QzIxMS40IDMwLjMgMjA1LjggMzEuNyAyMDAuMCAzMy40QzE5NC4zIDM1LjIgMTg4LjQgMzcuNSAxODIuNCA0MC4wQzE3Ni4zIDQyLjUgMTY5LjkgNDUuNCAxNjMuOCA0OC4yQzE1Ny42IDUxLjEgMTUxLjYgNTQuMSAxNDUuNSA1Ny4xQzEzOS40IDYwLjAgMTMzLjMgNjMuMSAxMjcuMiA2Ni4xQzEyMS4xIDY5LjEgMTE1LjAgNzIuMSAxMDguOSA3NS4xQzEwMi45IDc4LjIgOTYuOCA4MS4yIDkwLjggODQuNEM4NC44IDg3LjYgNzguNyA5MC43IDcyLjkgOTQuM0M2Ny4yIDk3LjkgNjEuNCAxMDEuNSA1Ni4zIDEwNS44QzUxLjIgMTEwLjEgNDYuMyAxMTQuOCA0Mi4zIDEyMC4wQzM4LjMgMTI1LjIgMzQuOSAxMzEuMCAzMi4zIDEzNy4xQzI5LjYgMTQzLjIgMjcuOCAxNDkuOCAyNi40IDE1Ni41QzI1LjAgMTYzLjMgMjQuNCAxNzAuNCAyMy45IDE3Ny41QzIzLjMgMTg0LjYgMjMuMyAxOTEuOSAyMy4xIDE5OS4xQzIzLjAgMjA2LjQgMjMuMCAyMTMuOCAyMy4wIDIyMS4xQzIzLjAgMjI4LjQgMjMuMCAyMzUuOCAyMy4wIDI0My4xQzIzLjAgMjUwLjQgMjMuMCAyNTcuOCAyMy4wIDI2NS4xQzIzLjAgMjcyLjQgMjMuMCAyNzkuOCAyMy4wIDI4Ny4xQzIzLjAgMjk0LjQgMjMuMCAzMDEuOCAyMy4wIDMwOS4xQzIzLjAgMzE2LjQgMjMuMCAzMjMuOCAyMy4yIDMzMS4wQzIzLjQgMzM4LjIgMjMuNiAzNDUuNSAyNC4zIDM1Mi41QzI1LjAgMzU5LjYgMjUuOSAzNjYuNiAyNy40IDM3My4zQzI4LjkgMzgwLjAgMzAuOSAzODYuNiAzMy41IDM5Mi43QzM2LjIgMzk4LjkgMzkuNCA0MDQuOSA0My4yIDQxMC40QzQ3LjAgNDE1LjggNTEuNSA0MjEuMCA1Ni40IDQyNS41QzYxLjMgNDMwLjAgNjYuOCA0MzQuMCA3Mi41IDQzNy40Qzc4LjMgNDQwLjkgODQuNSA0NDMuNiA5MC43IDQ0Ni4xQzk3LjAgNDQ4LjYgMTAzLjYgNDUwLjUgMTEwLjIgNDUyLjNDMTE2LjcgNDU0LjIgMTIzLjQgNDU1LjggMTMwLjEgNDU3LjRDMTM2LjcgNDU5LjAgMTQzLjUgNDYwLjUgMTUwLjEgNDYyLjFDMTU2LjggNDYzLjYgMTYzLjUgNDY1LjIgMTcwLjIgNDY2LjhDMTc2LjkgNDY4LjMgMTgzLjYgNDY5LjkgMTkwLjMgNDcxLjRDMTk2LjkgNDczLjAgMjAzLjYgNDc0LjYgMjEwLjMgNDc2LjFDMjE3LjAgNDc3LjcgMjIzLjcgNDc5LjMgMjMwLjQgNDgwLjhDMjM3LjEgNDgyLjMgMjQzLjggNDgzLjkgMjUwLjUgNDg1LjRDMjU3LjIgNDg2LjggMjY0LjAgNDg4LjQgMjcwLjggNDg5LjVDMjc3LjYgNDkwLjcgMjg0LjQgNDkxLjkgMjkxLjMgNDkyLjVDMjk4LjEgNDkzLjEgMzA1LjAgNDkzLjQgMzExLjggNDkzLjBDMzE4LjUgNDkyLjYgMzI1LjMgNDkxLjcgMzMxLjggNDkwLjBDMzM4LjMgNDg4LjQgMzQ0LjcgNDg2LjAgMzUwLjggNDgzLjRDMzU3LjAgNDgwLjcgMzYzLjAgNDc3LjMgMzY4LjkgNDczLjhDMzc0LjggNDcwLjQgMzgwLjYgNDY2LjYgMzg2LjQgNDYyLjlDMzkyLjEgNDU5LjEgMzk3LjkgNDU1LjMgNDAzLjYgNDUxLjVDNDA5LjQgNDQ3LjcgNDE1LjIgNDQzLjkgNDIwLjkgNDQwLjBDNDI2LjYgNDM2LjIgNDMyLjQgNDMyLjQgNDM4LjEgNDI4LjRDNDQzLjcgNDI0LjQgNDQ5LjUgNDIwLjQgNDU0LjggNDE2LjFDNDYwLjEgNDExLjggNDY1LjUgNDA3LjMgNDcwLjEgNDAyLjRDNDc0LjggMzk3LjUgNDc5LjIgMzkyLjMgNDgyLjkgMzg2LjdDNDg2LjYgMzgxLjEgNDg5LjcgMzc1LjEgNDkyLjIgMzY4LjlDNDk0LjcgMzYyLjcgNDk2LjUgMzU2LjEgNDk3LjkgMzQ5LjRDNDk5LjQgMzQyLjYgNTAwLjEgMzM1LjYgNTAwLjggMzI4LjVDNTAxLjQgMzIxLjUgNTAxLjYgMzE0LjIgNTAxLjggMzA2LjlDNTAyLjAgMjk5LjcgNTAyLjAgMjkyLjQgNTAyLjAgMjg1LjBDNTAyLjAgMjc3LjcgNTAyLjAgMjcwLjQgNTAyLjAgMjYzLjBDNTAyLjAgMjU1LjcgNTAyLjAgMjQ4LjQgNTAyLjAgMjQxLjBDNTAyLjAgMjMzLjcgNTAyLjAgMjI2LjQgNTAyLjAgMjE5LjBDNTAyLjAgMjExLjcgNTAyLjAgMjA0LjQgNTAyLjAgMTk3LjBDNTAyLjAgMTg5LjcgNTAyLjEgMTgyLjMgNTAxLjkgMTc1LjFDNTAxLjcgMTY3LjggNTAxLjYgMTYwLjUgNTAxLjAgMTUzLjRDNTAwLjQgMTQ2LjQgNDk5LjcgMTM5LjMgNDk4LjIgMTMyLjZDNDk2LjggMTI1LjkgNDk0LjkgMTE5LjMgNDkyLjIgMTEzLjFDNDg5LjYgMTA2LjkgNDg2LjMgMTAxLjAgNDgyLjQgOTUuNkM0NzguNCA5MC4zIDQ3My44IDg1LjMgNDY4LjcgODEuMUM0NjMuNiA3Ni44IDQ1Ny45IDczLjIgNDUyLjAgNzAuMUM0NDYuMSA2Ny4wIDQzOS43IDY0LjYgNDMzLjMgNjIuNUM0MjYuOCA2MC40IDQyMC4xIDU4LjkgNDEzLjQgNTcuNEM0MDYuNyA1NS45IDM5OS45IDU0LjcgMzkzLjEgNTMuNEMzODYuMyA1Mi4xIDM3OS40IDUxLjAgMzcyLjUgNDkuOEMzNjUuNyA0OC42IDM1OC45IDQ3LjQgMzUyLjAgNDYuMkMzNDUuMiA0NS4xIDMzOC4zIDQzLjkgMzMxLjUgNDIuOEMzMjQuNiA0MS42IDMxNy44IDQwLjQgMzEwLjkgMzkuMkMzMDQuMSAzOC4wIDI5Ny4yIDM2LjkgMjkwLjQgMzUuN0MyODMuNSAzNC42IDI3Ni40IDMzLjMgMjY5LjggMzIuM0MyNjMuMiAzMS4zIDI1Ni44IDMwLjIgMjUwLjYgMjkuNkMyNDQuNCAyOC45IDIzOC41IDI4LjQgMjMyLjggMjguM0MyMjcuMiAyOC4zIDIyMi40IDI4LjYgMjE2LjkgMjkuNFoiIGZpbGw9IiNGQUZBRkEiIHN0cm9rZT0iIzNGM0YzRiIgc3Ryb2tlLXdpZHRoPSI4IiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz48cGF0aCBkPSJNNzQuNSAxNjQuOEM3MC4wIDE2NS44IDY1LjggMTY3LjYgNjEuOSAxNzAuNUM1OC4wIDE3My40IDUzLjcgMTc3LjYgNTAuOSAxODIuMUM0OC4xIDE4Ni43IDQ2LjMgMTkyLjIgNDUuMCAxOTcuOEM0My43IDIwMy4zIDQzLjYgMjA5LjQgNDMuMyAyMTUuNEM0Mi45IDIyMS40IDQzLjAgMjI3LjUgNDMuMCAyMzMuNkM0My4wIDIzOS43IDQzLjAgMjQ1LjggNDMuMCAyNTEuOUM0My4wIDI1OC4wIDQzLjAgMjY0LjEgNDMuMCAyNzAuMkM0My4wIDI3Ni4zIDQzLjAgMjgyLjQgNDMuMCAyODguNUM0My4wIDI5NC42IDQzLjAgMzAwLjcgNDMuMCAzMDYuOEM0My4wIDMxMi45IDQzLjAgMzE5LjAgNDMuMCAzMjUuMUM0My4wIDMzMS4yIDQyLjggMzM3LjQgNDMuMCAzNDMuNUM0My4yIDM0OS41IDQzLjMgMzU1LjUgNDQuMCAzNjEuM0M0NC44IDM2Ny4xIDQ1LjYgMzcyLjkgNDcuNCAzNzguM0M0OS4yIDM4My42IDUxLjcgMzg4LjkgNTQuOCAzOTMuNUM1OC4wIDM5OC4xIDYxLjkgNDAyLjQgNjYuMiA0MDUuOEM3MC42IDQwOS4zIDc1LjggNDEyLjAgODAuOSA0MTQuNEM4Ni4wIDQxNi43IDkxLjYgNDE4LjMgOTcuMCA0MTkuOUMxMDIuNSA0MjEuNSAxMDguMiA0MjIuNiAxMTMuOCA0MjMuOUMxMTkuNCA0MjUuMiAxMjUuMCA0MjYuNSAxMzAuNiA0MjcuN0MxMzYuMiA0MjkuMCAxNDEuOSA0MzAuMiAxNDcuNSA0MzEuNUMxNTMuMSA0MzIuNyAxNTguNyA0MzMuOSAxNjQuMyA0MzUuMkMxNjkuOSA0MzYuNSAxNzUuNSA0MzcuOSAxODEuMSA0MzkuMkMxODYuNyA0NDAuNSAxOTIuMyA0NDEuNyAxOTguMCA0NDIuOUMyMDMuNiA0NDQuMiAyMDkuMiA0NDUuNCAyMTQuOCA0NDYuN0MyMjAuNSA0NDcuOSAyMjYuMSA0NDkuMiAyMzEuNyA0NTAuM0MyMzcuNCA0NTEuNCAyNDMuMCA0NTIuOCAyNDguNiA0NTMuNEMyNTQuMiA0NTMuOSAyNjAuMSA0NTQuNSAyNjUuNSA0NTMuN0MyNzAuOSA0NTMuMCAyNzYuNCA0NTEuNCAyODEuMSA0NDguOUMyODUuNyA0NDYuNCAyOTAuMCA0NDIuNyAyOTMuMiA0MzguNUMyOTYuNCA0MzQuMiAyOTguNyA0MjguOSAzMDAuNCA0MjMuNUMzMDIuMSA0MTguMiAzMDIuNyA0MTIuMyAzMDMuMyA0MDYuNEMzMDMuOSA0MDAuNSAzMDMuOSAzOTQuNCAzMDQuMCAzODguNEMzMDQuMSAzODIuMyAzMDQuMCAzNzYuMiAzMDQuMCAzNzAuMUMzMDQuMCAzNjQuMCAzMDQuMCAzNTcuOSAzMDQuMCAzNTEuOEMzMDQuMCAzNDUuNyAzMDQuMCAzMzkuNSAzMDQuMCAzMzMuNEMzMDQuMCAzMjcuMyAzMDQuMCAzMjEuMiAzMDQuMCAzMTUuMUMzMDQuMCAzMDkuMCAzMDQuMCAzMDIuOSAzMDQuMCAyOTYuOEMzMDQuMCAyOTAuNyAzMDQuMCAyODQuNiAzMDQuMCAyNzguNUMzMDMuOSAyNzIuNCAzMDQuMSAyNjYuMyAzMDMuNiAyNjAuM0MzMDMuMiAyNTQuNCAzMDIuNiAyNDguNiAzMDEuMiAyNDMuMEMyOTkuOSAyMzcuNSAyOTguMSAyMzIuMCAyOTUuNSAyMjcuMUMyOTIuOCAyMjIuMiAyODkuMiAyMTcuNiAyODUuMyAyMTMuOEMyODEuMyAyMDkuOSAyNzYuNiAyMDYuNiAyNzEuNyAyMDMuOUMyNjYuOSAyMDEuMyAyNjEuMyAxOTkuNCAyNTUuOSAxOTcuN0MyNTAuNSAxOTYuMCAyNDQuOCAxOTQuOCAyMzkuMiAxOTMuNkMyMzMuNiAxOTIuMyAyMjcuOSAxOTEuNCAyMjIuMiAxOTAuMkMyMTYuNiAxODkuMCAyMTAuOSAxODcuOCAyMDUuMyAxODYuNkMxOTkuNiAxODUuNCAxOTMuOSAxODQuNCAxODguMyAxODMuMkMxODIuNiAxODIuMSAxNzcuMCAxODAuOSAxNzEuMyAxNzkuN0MxNjUuNiAxNzguNiAxNjAuMCAxNzcuNSAxNTQuMyAxNzYuNEMxNDguNiAxNzUuMiAxNDMuMCAxNzQuMSAxMzcuMyAxNzMuMEMxMzEuNiAxNzEuOCAxMjYuMCAxNzAuNyAxMjAuMyAxNjkuNkMxMTQuNiAxNjguNSAxMDguNCAxNjcuNCAxMDMuMSAxNjYuNUM5Ny45IDE2NS42IDkzLjQgMTY0LjQgODguNiAxNjQuMUM4My45IDE2My44IDc5LjAgMTYzLjcgNzQuNSAxNjQuOFoiIGZpbGw9IiM1MjUyNTIiLz48cGF0aCBkPSJNMTM4LjggMzQwLjZDMTM3LjMgMzQxLjUgMTM2LjEgMzQzLjEgMTM1LjkgMzQ0LjhDMTM1LjcgMzQ2LjQgMTM2LjQgMzQ4LjkgMTM3LjYgMzUwLjVDMTM4LjcgMzUyLjIgMTQwLjggMzUzLjggMTQyLjggMzU0LjlDMTQ0LjggMzU2LjEgMTQ3LjMgMzU2LjYgMTQ5LjYgMzU3LjJDMTUyLjAgMzU3LjggMTU0LjQgMzU4LjEgMTU2LjkgMzU4LjVDMTU5LjMgMzU4LjkgMTYxLjcgMzU5LjMgMTY0LjEgMzU5LjhDMTY2LjUgMzYwLjMgMTY4LjcgMzYxLjEgMTcxLjEgMzYxLjdDMTczLjQgMzYyLjMgMTc1LjggMzYyLjkgMTc4LjEgMzYzLjRDMTgwLjUgMzYzLjggMTgzLjAgMzY0LjIgMTg1LjQgMzY0LjZDMTg3LjggMzY1LjEgMTkwLjMgMzY1LjggMTkyLjYgMzY1LjlDMTk0LjkgMzY2LjEgMTk3LjUgMzY2LjAgMTk5LjMgMzY1LjRDMjAxLjIgMzY0LjggMjAzLjAgMzYzLjkgMjAzLjkgMzYyLjVDMjA0LjggMzYxLjEgMjA1LjEgMzU4LjYgMjA0LjcgMzU2LjlDMjA0LjMgMzU1LjIgMjAyLjggMzUzLjUgMjAxLjIgMzUyLjNDMTk5LjYgMzUxLjAgMTk3LjMgMzUwLjEgMTk1LjAgMzQ5LjRDMTkyLjggMzQ4LjYgMTkwLjMgMzQ4LjQgMTg3LjkgMzQ3LjlDMTg1LjUgMzQ3LjMgMTgzLjIgMzQ2LjggMTgwLjggMzQ2LjJDMTc4LjUgMzQ1LjYgMTc2LjIgMzQ0LjkgMTczLjggMzQ0LjRDMTcxLjQgMzQzLjggMTY5LjAgMzQzLjUgMTY2LjYgMzQzLjFDMTY0LjIgMzQyLjYgMTYxLjggMzQyLjIgMTU5LjQgMzQxLjhDMTU3LjAgMzQxLjMgMTU0LjUgMzQwLjkgMTUyLjEgMzQwLjRDMTQ5LjcgMzQwLjAgMTQ3LjIgMzM5LjEgMTQ1LjAgMzM5LjJDMTQyLjcgMzM5LjIgMTQwLjMgMzM5LjYgMTM4LjggMzQwLjZaIiBmaWxsPSIjRjBGMEYwIi8+PHBhdGggZD0iTTIxMC44IDI5Ny42QzIwOS42IDI5OC43IDIwOC44IDMwMC40IDIwOC44IDMwMi4xQzIwOC44IDMwMy45IDIwOS43IDMwNi4zIDIxMS4wIDMwNy45QzIxMi4yIDMwOS42IDIxNC4xIDMxMS4wIDIxNi4xIDMxMi4wQzIxOC4xIDMxMy4wIDIyMC43IDMxMy40IDIyMy4xIDMxMy45QzIyNS41IDMxNC40IDIyNy45IDMxNC43IDIzMC4zIDMxNS4yQzIzMi43IDMxNS42IDIzNS4yIDMxNi4xIDIzNy42IDMxNi41QzIzOS45IDMxNi44IDI0Mi41IDMxNy41IDI0NC42IDMxNy4zQzI0Ni43IDMxNy4xIDI0OC44IDMxNi4zIDI1MC4xIDMxNS4yQzI1MS4zIDMxNC4wIDI1Mi4zIDMxMi4wIDI1Mi4yIDMxMC4zQzI1Mi4xIDMwOC42IDI1MS4xIDMwNi41IDI0OS43IDMwNS4wQzI0OC40IDMwMy41IDI0Ni4yIDMwMi4zIDI0NC4yIDMwMS4zQzI0Mi4xIDMwMC4zIDIzOS42IDI5OS44IDIzNy4zIDI5OS4xQzIzNS4wIDI5OC40IDIzMi43IDI5Ny44IDIzMC4zIDI5Ny4zQzIyNy45IDI5Ni44IDIyNS40IDI5Ni4zIDIyMy4xIDI5Ni4wQzIyMC43IDI5NS43IDIxOC4xIDI5NS4xIDIxNi4xIDI5NS4zQzIxNC4wIDI5NS42IDIxMi4wIDI5Ni40IDIxMC44IDI5Ny42WiIgZmlsbD0iI0YwRjBGMCIvPjxwYXRoIGQ9Ik05Mi44IDI3Mi43QzkxLjUgMjczLjcgOTAuNyAyNzUuMyA5MC41IDI3Ny4wQzkwLjMgMjc4LjcgOTAuNyAyODEuMSA5MS43IDI4Mi44QzkyLjggMjg0LjUgOTQuNyAyODYuMSA5Ni42IDI4Ny4yQzk4LjUgMjg4LjMgMTAxLjAgMjg4LjkgMTAzLjMgMjg5LjVDMTA1LjYgMjkwLjEgMTA4LjEgMjkwLjQgMTEwLjUgMjkwLjhDMTEyLjkgMjkxLjMgMTE1LjQgMjkxLjggMTE3LjggMjkyLjFDMTIwLjIgMjkyLjQgMTIyLjggMjkzLjAgMTI1LjAgMjkyLjhDMTI3LjEgMjkyLjcgMTI5LjMgMjkyLjEgMTMwLjcgMjkxLjBDMTMyLjEgMjg5LjkgMTMzLjIgMjg4LjAgMTMzLjMgMjg2LjNDMTMzLjQgMjg0LjYgMTMyLjUgMjgyLjQgMTMxLjMgMjgwLjhDMTMwLjEgMjc5LjIgMTI4LjAgMjc3LjkgMTI2LjAgMjc2LjlDMTI0LjAgMjc1LjggMTIxLjUgMjc1LjIgMTE5LjIgMjc0LjZDMTE2LjkgMjczLjkgMTE0LjUgMjczLjQgMTEyLjEgMjcyLjlDMTA5LjcgMjcyLjUgMTA3LjIgMjcyLjAgMTA0LjkgMjcxLjdDMTAyLjYgMjcxLjMgMTAwLjMgMjcwLjggOTguMyAyNzAuOUM5Ni4zIDI3MS4xIDk0LjEgMjcxLjcgOTIuOCAyNzIuN1oiIGZpbGw9IiNGMEYwRjAiLz48cGF0aCBkPSJNNDI3LjcgMjU3LjVDNDI2LjYgMjU3LjcgNDI1LjcgMjU4LjAgNDI0LjYgMjU4LjVDNDIzLjYgMjU5LjAgNDIyLjQgMjU5LjcgNDIxLjQgMjYwLjRDNDIwLjMgMjYxLjAgNDE5LjIgMjYxLjcgNDE4LjMgMjYyLjVDNDE3LjMgMjYzLjMgNDE2LjQgMjY0LjIgNDE1LjUgMjY1LjFDNDE0LjYgMjY2LjAgNDEzLjcgMjY2LjggNDEyLjggMjY3LjhDNDEyLjAgMjY4LjcgNDExLjMgMjY5LjggNDEwLjUgMjcwLjhDNDA5LjcgMjcxLjggNDA4LjkgMjcyLjggNDA4LjIgMjczLjhDNDA3LjQgMjc0LjkgNDA2LjkgMjc2LjAgNDA2LjMgMjc3LjFDNDA1LjcgMjc4LjIgNDA1LjEgMjc5LjIgNDA0LjUgMjgwLjRDNDA0LjAgMjgxLjUgNDAzLjYgMjgyLjYgNDAzLjIgMjgzLjhDNDAyLjggMjg1LjAgNDAyLjQgMjg2LjEgNDAyLjAgMjg3LjNDNDAxLjYgMjg4LjUgNDAxLjMgMjg5LjcgNDAxLjAgMjkwLjlDNDAwLjcgMjkyLjEgNDAwLjMgMjkzLjMgNDAwLjAgMjk0LjVDMzk5LjcgMjk1LjcgMzk5LjMgMjk2LjggMzk5LjAgMjk4LjFDMzk4LjcgMjk5LjMgMzk4LjUgMzAwLjUgMzk4LjMgMzAxLjhDMzk4LjEgMzAzLjAgMzk3LjkgMzA0LjMgMzk3LjggMzA1LjZDMzk3LjggMzA2LjggMzk3LjggMzA4LjEgMzk3LjggMzA5LjNDMzk3LjggMzEwLjUgMzk3LjggMzExLjggMzk3LjggMzEzLjBDMzk3LjkgMzE0LjMgMzk3LjkgMzE1LjUgMzk4LjAgMzE2LjhDMzk4LjEgMzE4LjEgMzk4LjIgMzE5LjQgMzk4LjMgMzIwLjdDMzk4LjUgMzIxLjkgMzk4LjcgMzIzLjIgMzk5LjAgMzI0LjRDMzk5LjMgMzI1LjYgMzk5LjcgMzI2LjggNDAwLjEgMzI3LjlDNDAwLjYgMzI5LjEgNDAxLjAgMzMwLjIgNDAxLjYgMzMxLjNDNDAyLjMgMzMyLjQgNDAzLjAgMzMzLjQgNDAzLjggMzM0LjNDNDA0LjYgMzM1LjIgNDA1LjYgMzM2LjEgNDA2LjYgMzM2LjhDNDA3LjYgMzM3LjUgNDA4LjcgMzM4LjEgNDA5LjggMzM4LjZDNDExLjAgMzM5LjEgNDEyLjIgMzM5LjQgNDEzLjQgMzM5LjZDNDE0LjYgMzM5LjggNDE1LjkgMzM5LjggNDE3LjEgMzM5LjdDNDE4LjQgMzM5LjYgNDE5LjcgMzM5LjQgNDIwLjkgMzM5LjBDNDIyLjEgMzM4LjcgNDIzLjMgMzM4LjQgNDI0LjMgMzM3LjhDNDI1LjQgMzM3LjIgNDI2LjQgMzM2LjUgNDI3LjEgMzM1LjdDNDI3LjcgMzM0LjkgNDI4LjIgMzMzLjYgNDI4LjMgMzMyLjhDNDI4LjQgMzMxLjkgNDI4LjEgMzMwLjkgNDI3LjYgMzMwLjNDNDI3LjEgMzI5LjggNDI2LjIgMzI5LjQgNDI1LjMgMzI5LjRDNDI0LjQgMzI5LjMgNDIzLjIgMzI5LjggNDIyLjEgMzMwLjBDNDIwLjkgMzMwLjIgNDE5LjYgMzMwLjUgNDE4LjQgMzMwLjVDNDE3LjIgMzMwLjUgNDE2LjAgMzMwLjQgNDE0LjkgMzMwLjBDNDEzLjcgMzI5LjcgNDEyLjYgMzI5LjAgNDExLjYgMzI4LjNDNDEwLjYgMzI3LjUgNDA5LjggMzI2LjUgNDA5LjEgMzI1LjVDNDA4LjMgMzI0LjUgNDA3LjcgMzIzLjQgNDA3LjIgMzIyLjNDNDA2LjcgMzIxLjIgNDA2LjMgMzIwLjAgNDA1LjkgMzE4LjhDNDA1LjYgMzE3LjYgNDA1LjIgMzE2LjQgNDA0LjkgMzE1LjJDNDA0LjcgMzE0LjAgNDA0LjQgMzEyLjcgNDA0LjMgMzExLjVDNDA0LjIgMzEwLjIgNDA0LjMgMzA5LjAgNDA0LjMgMzA3LjdDNDA0LjQgMzA2LjUgNDA0LjUgMzA1LjIgNDA0LjcgMzAzLjlDNDA0LjggMzAyLjYgNDA1LjEgMzAxLjQgNDA1LjMgMzAwLjJDNDA1LjYgMjk4LjkgNDA1LjcgMjk3LjcgNDA2LjAgMjk2LjRDNDA2LjMgMjk1LjIgNDA2LjcgMjk0LjAgNDA3LjAgMjkyLjlDNDA3LjMgMjkxLjcgNDA3LjcgMjkwLjUgNDA4LjEgMjg5LjNDNDA4LjUgMjg4LjEgNDA4LjkgMjg3LjAgNDA5LjQgMjg1LjlDNDA5LjkgMjg0LjcgNDEwLjQgMjgzLjYgNDExLjAgMjgyLjVDNDExLjYgMjgxLjQgNDEyLjIgMjgwLjMgNDEyLjkgMjc5LjNDNDEzLjYgMjc4LjIgNDE0LjMgMjc3LjIgNDE1LjEgMjc2LjJDNDE1LjkgMjc1LjIgNDE2LjggMjc0LjIgNDE3LjcgMjczLjNDNDE4LjYgMjcyLjQgNDE5LjYgMjcxLjUgNDIwLjYgMjcwLjdDNDIxLjYgMjY5LjkgNDIyLjcgMjY5LjIgNDIzLjggMjY4LjZDNDI0LjkgMjY4LjAgNDI2LjAgMjY3LjQgNDI3LjIgMjY3LjFDNDI4LjMgMjY2LjggNDI5LjUgMjY2LjcgNDMwLjcgMjY2LjdDNDMxLjkgMjY2LjYgNDMzLjEgMjY2LjcgNDM0LjMgMjY3LjBDNDM1LjQgMjY3LjMgNDM2LjYgMjY3LjkgNDM3LjYgMjY4LjZDNDM4LjYgMjY5LjIgNDM5LjUgMjcwLjAgNDQwLjIgMjcxLjBDNDQxLjAgMjcxLjkgNDQxLjcgMjczLjAgNDQyLjMgMjc0LjFDNDQyLjkgMjc1LjIgNDQzLjMgMjc2LjMgNDQzLjcgMjc3LjVDNDQ0LjEgMjc4LjcgNDQ0LjQgMjc5LjkgNDQ0LjcgMjgxLjFDNDQ0LjkgMjgyLjMgNDQ0LjkgMjgzLjcgNDQ1LjAgMjg1LjBDNDQ1LjAgMjg2LjMgNDQ1LjAgMjg3LjYgNDQ1LjAgMjg5LjBDNDQ1LjAgMjkwLjMgNDQ0LjkgMjkxLjYgNDQ0LjggMjkyLjlDNDQ0LjcgMjk0LjIgNDQ0LjYgMjk1LjUgNDQ0LjQgMjk2LjdDNDQ0LjMgMjk4LjAgNDQ0LjAgMjk5LjIgNDQzLjggMzAwLjVDNDQzLjUgMzAxLjcgNDQzLjMgMzAyLjkgNDQzLjAgMzA0LjFDNDQyLjcgMzA1LjMgNDQyLjQgMzA2LjYgNDQxLjkgMzA3LjdDNDQxLjUgMzA4LjggNDQxLjAgMzEwLjIgNDQwLjQgMzExLjBDNDM5LjkgMzExLjcgNDM5LjMgMzEyLjEgNDM4LjUgMzEyLjJDNDM3LjggMzEyLjIgNDM2LjkgMzExLjggNDM2LjAgMzExLjVDNDM1LjEgMzExLjEgNDM0LjAgMzEwLjMgNDMzLjAgMzEwLjJDNDMyLjEgMzEwLjEgNDMxLjAgMzEwLjQgNDMwLjMgMzExLjBDNDI5LjYgMzExLjYgNDI4LjkgMzEyLjcgNDI4LjcgMzEzLjhDNDI4LjUgMzE0LjggNDI4LjYgMzE2LjEgNDI5LjAgMzE3LjJDNDI5LjMgMzE4LjMgNDMwLjAgMzE5LjQgNDMwLjggMzIwLjRDNDMxLjUgMzIxLjUgNDMyLjUgMzIyLjQgNDMzLjQgMzIzLjRDNDM0LjIgMzI0LjMgNDM1LjEgMzI1LjMgNDM2LjAgMzI2LjNDNDM2LjggMzI3LjMgNDM3LjcgMzI4LjIgNDM4LjUgMzI5LjJDNDM5LjQgMzMwLjIgNDQwLjAgMzMxLjQgNDQwLjkgMzMyLjFDNDQxLjggMzMyLjkgNDQzLjAgMzMzLjcgNDQzLjkgMzM0LjBDNDQ0LjkgMzM0LjIgNDQ1LjggMzM0LjIgNDQ2LjcgMzMzLjhDNDQ3LjUgMzMzLjQgNDQ4LjQgMzMyLjQgNDQ4LjkgMzMxLjRDNDQ5LjMgMzMwLjQgNDQ5LjQgMzI5LjEgNDQ5LjMgMzI4LjBDNDQ5LjIgMzI2LjkgNDQ4LjYgMzI1LjcgNDQ4LjEgMzI0LjdDNDQ3LjUgMzIzLjYgNDQ2LjQgMzIyLjcgNDQ1LjggMzIxLjdDNDQ1LjIgMzIwLjcgNDQ0LjcgMzE5LjcgNDQ0LjYgMzE4LjdDNDQ0LjUgMzE3LjcgNDQ0LjYgMzE2LjcgNDQ1LjAgMzE1LjZDNDQ1LjMgMzE0LjUgNDQ2LjEgMzEzLjQgNDQ2LjYgMzEyLjNDNDQ3LjEgMzExLjEgNDQ3LjUgMzEwLjAgNDQ3LjkgMzA4LjhDNDQ4LjMgMzA3LjYgNDQ4LjcgMzA2LjUgNDQ5LjAgMzA1LjNDNDQ5LjMgMzA0LjEgNDQ5LjcgMzAyLjkgNDUwLjAgMzAxLjdDNDUwLjMgMzAwLjQgNDUwLjUgMjk5LjIgNDUwLjYgMjk3LjlDNDUwLjggMjk2LjcgNDUwLjkgMjk1LjQgNDUxLjAgMjk0LjFDNDUxLjEgMjkyLjggNDUxLjIgMjkxLjUgNDUxLjMgMjkwLjJDNDUxLjQgMjg4LjkgNDUxLjYgMjg3LjYgNDUxLjcgMjg2LjRDNDUxLjcgMjg1LjEgNDUxLjcgMjgzLjkgNDUxLjcgMjgyLjZDNDUxLjYgMjgxLjQgNDUxLjUgMjgwLjAgNDUxLjMgMjc4LjhDNDUxLjIgMjc3LjUgNDUwLjkgMjc2LjMgNDUwLjcgMjc1LjFDNDUwLjQgMjczLjggNDUwLjMgMjcyLjUgNDQ5LjkgMjcxLjRDNDQ5LjYgMjcwLjIgNDQ5LjAgMjY5LjEgNDQ4LjUgMjY4LjBDNDQ4LjAgMjY2LjggNDQ3LjQgMjY1LjcgNDQ2LjcgMjY0LjdDNDQ2LjAgMjYzLjcgNDQ1LjIgMjYyLjcgNDQ0LjMgMjYxLjhDNDQzLjQgMjYwLjkgNDQyLjUgMjYwLjAgNDQxLjUgMjU5LjNDNDQwLjUgMjU4LjYgNDM5LjMgMjU4LjEgNDM4LjIgMjU3LjhDNDM3LjAgMjU3LjQgNDM1LjYgMjU3LjIgNDM0LjQgMjU3LjFDNDMzLjIgMjU3LjAgNDMyLjEgMjU2LjkgNDMxLjAgMjU3LjBDNDI5LjkgMjU3LjEgNDI4LjcgMjU3LjIgNDI3LjcgMjU3LjVaIiBmaWxsPSIjM0YzRjNGIiBvcGFjaXR5PSIwLjg1Ii8+PHBhdGggZD0iTTQzNy44IDE4Ny43QzQzNi44IDE4Ny45IDQzNS44IDE4OC4zIDQzNC44IDE4OC44QzQzMy43IDE4OS40IDQzMi42IDE5MC4xIDQzMS41IDE5MC43QzQzMC41IDE5MS4zIDQyOS4zIDE5MS44IDQyOC4yIDE5Mi40QzQyNy4yIDE5My4wIDQyNi4xIDE5My42IDQyNS4wIDE5NC4yQzQyMy45IDE5NC44IDQyMi44IDE5NS40IDQyMS43IDE5Ni4wQzQyMC43IDE5Ni42IDQxOS42IDE5Ny4zIDQxOC41IDE5Ny45QzQxNy40IDE5OC41IDQxNi4zIDE5OS4wIDQxNS4yIDE5OS42QzQxNC4xIDIwMC4yIDQxMy4wIDIwMC44IDQxMi4wIDIwMS40QzQxMC45IDIwMi4wIDQwOS44IDIwMi41IDQwOC43IDIwMy4xQzQwNy42IDIwMy43IDQwNi40IDIwNC4zIDQwNS41IDIwNS4wQzQwNC41IDIwNS43IDQwMy41IDIwNi41IDQwMi44IDIwNy4zQzQwMi4xIDIwOC4yIDQwMS41IDIwOS4yIDQwMS4zIDIxMC4yQzQwMS4yIDIxMS4xIDQwMS41IDIxMi4zIDQwMS45IDIxMi45QzQwMi40IDIxMy41IDQwMy4yIDIxMy44IDQwNC4xIDIxMy44QzQwNS4wIDIxMy45IDQwNi4yIDIxMy41IDQwNy4zIDIxMy4xQzQwOC40IDIxMi43IDQwOS41IDIxMi4wIDQxMC42IDIxMS41QzQxMS43IDIxMC45IDQxMi44IDIxMC40IDQxMy45IDIwOS44QzQxNS4wIDIwOS4yIDQxNi4xIDIwOC42IDQxNy4xIDIwOC4wQzQxOC4yIDIwNy4zIDQxOS4zIDIwNi43IDQyMC40IDIwNi4xQzQyMS40IDIwNS41IDQyMi41IDIwNC44IDQyMy42IDIwNC4yQzQyNC43IDIwMy42IDQyNS44IDIwMy4xIDQyNi45IDIwMi41QzQyOC4wIDIwMS45IDQyOS4wIDIwMS4zIDQzMC4xIDIwMC43QzQzMS4yIDIwMC4xIDQzMi40IDE5OS42IDQzMy40IDE5OS4wQzQzNC41IDE5OC40IDQzNS42IDE5Ny44IDQzNi43IDE5Ny4xQzQzNy43IDE5Ni41IDQzOC44IDE5NS45IDQzOS42IDE5NS4xQzQ0MC40IDE5NC4zIDQ0MS4zIDE5My4yIDQ0MS43IDE5Mi4zQzQ0Mi4xIDE5MS40IDQ0Mi4xIDE5MC40IDQ0MS45IDE4OS42QzQ0MS43IDE4OC44IDQ0MS4yIDE4OC4wIDQ0MC41IDE4Ny43QzQzOS44IDE4Ny40IDQzOC43IDE4Ny41IDQzNy44IDE4Ny43WiIgZmlsbD0iIzNGM0YzRiIgb3BhY2l0eT0iMC44NSIvPjwvc3ZnPg==`,GS=`m/44'/784'/0'/0'/0'`,KS=/^0x[0-9a-fA-F]{64}$/,qS=/^[A-Za-z0-9_.-]{1,128}$/,JS=32,YS=97,XS={not_connected:`Agent-Q Sui wallet is not connected.`,session_ended:`Agent-Q Sui wallet session ended before signing completed.`,user_rejected:`The signing request was rejected on the device.`,user_timed_out:`The signing request timed out on the device.`,policy_rejected:`The signing request was rejected by device policy.`,signing_failed:`The device could not produce a signature.`},ZS=`Agent-Q signTransaction did not return a signed result.`,QS=`Agent-Q signPersonalMessage did not return a signed result.`,$S={"sui:mainnet":`mainnet`,"sui:testnet":`testnet`,"sui:devnet":`devnet`,"sui:localnet":`localnet`},eC={mainnet:`sui:mainnet`,testnet:`sui:testnet`,devnet:`sui:devnet`,localnet:`sui:localnet`};function tC(e){return typeof e==`string`&&ec.includes(e)}function nC(e){if(!tC(e))throw Error(`Agent-Q Sui wallet does not support chain "${e}".`);return $S[e]}function rC(e){if(e!==`mainnet`&&e!==`testnet`&&e!==`devnet`&&e!==`localnet`)throw Error(`Agent-Q Sui wallet initializer received an unsupported network "${String(e)}".`);return eC[e]}function iC(e){if(!Array.isArray(e)||e.length===0)throw Error(`Agent-Q Sui wallet initializer requires at least one Sui network.`);return[...new Set(e.map(rC))]}function aC(e){let t=`Agent-Q Sui wallet could not read supported signing methods.`;if(lC(e,[`source`,`deviceId`,`capabilities`,`signing`],t),e.source!==`live`||typeof e.deviceId!=`string`||!qS.test(e.deviceId)||!Array.isArray(e.capabilities)||e.capabilities.length!==1)throw Error(t);return fC(e.capabilities[0]),pC(e.signing)}function oC(e){if(!Array.isArray(e)||e.length===0)throw Error(`Agent-Q Sui wallet requires at least one Sui chain.`);let t=[];for(let n of e){if(!tC(n))throw Error(`Agent-Q Sui wallet received an unsupported chain "${String(n)}".`);t.includes(n)||t.push(n)}return t}function sC(e){return uC(e,JS)}function cC(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function lC(e,t,n){if(!cC(e))throw Error(n);let r=new Set(t);for(let t of Object.keys(e))if(!r.has(t))throw Error(n);for(let r of t)if(!Object.prototype.hasOwnProperty.call(e,r))throw Error(n)}function uC(e,t){if(typeof e!=`string`||e.length===0)throw Error(`invalid_base64`);let n;try{n=w(e)}catch{throw Error(`invalid_base64`)}if(n.length!==t||T(n)!==e)throw Error(`invalid_base64`);return n}function dC(e){let t=`Agent-Q Sui wallet could not read supported signing methods.`;if(lC(e,[`keyScheme`,`derivationPath`],t),e.keyScheme!==`ed25519`||e.derivationPath!==GS)throw Error(t)}function fC(e){let t=`Agent-Q Sui wallet could not read supported signing methods.`;if(lC(e,[`id`,`accounts`,`methods`],t),e.id!==`sui`||!Array.isArray(e.accounts)||e.accounts.length!==1||!Array.isArray(e.methods)||e.methods.length!==0)throw Error(t);dC(e.accounts[0])}function pC(e){let t=`Agent-Q Sui wallet could not read supported signing methods.`;if(lC(e,[`authorization`,`methods`],t),e.authorization!==`user`&&e.authorization!==`policy`||!Array.isArray(e.methods))throw Error(t);let n=new Set;for(let r of e.methods){lC(r,[`chain`,`method`],t);let e=r.method;if(r.chain!==`sui`||e!==`sign_transaction`&&e!==`sign_personal_message`||n.has(e))throw Error(t);n.add(e)}if(e.authorization===`policy`){if(n.size!==1||!n.has(`sign_transaction`))throw Error(t);return[Cs]}if(n.size!==2||!n.has(`sign_transaction`)||!n.has(`sign_personal_message`))throw Error(t);return[Cs,Es]}function mC(e){let t=`Agent-Q Sui wallet could not read a connected Sui account.`;if(lC(e,[`chain`,`address`,`publicKey`,`keyScheme`,`derivationPath`],t),e.chain!==`sui`||typeof e.address!=`string`||!KS.test(e.address)||typeof e.publicKey!=`string`||e.keyScheme!==`ed25519`||e.derivationPath!==GS)throw Error(t);let n;try{n=uC(e.publicKey,JS)}catch{throw Error(t)}let r=e.publicKey,i=e.address.toLowerCase();if(new Id(n).toSuiAddress()!==i)throw Error(t);return{chain:`sui`,address:i,publicKey:r,keyScheme:`ed25519`,derivationPath:GS}}function hC(e){let t=`Agent-Q Sui wallet could not read a connected Sui account.`;if(!cC(e)||e.source!==`live`||!Array.isArray(e.accounts))throw Error(t);let n=new Set([`source`,`deviceId`,`accounts`]);for(let r of Object.keys(e))if(!n.has(r))throw Error(t);if(Object.prototype.hasOwnProperty.call(e,`deviceId`)&&typeof e.deviceId!=`string`)throw Error(t);return e.accounts.map(mC)}function gC(e){if(lC(e,[`source`,`deviceId`,`status`,`authorization`,`chain`,`method`,`signature`],ZS),e.source!==`live`||typeof e.deviceId!=`string`||e.status!==`signed`||e.authorization!==`user`&&e.authorization!==`policy`||e.chain!==`sui`||e.method!==`sign_transaction`||typeof e.signature!=`string`)throw vC(`unknown`);try{uC(e.signature,YS)}catch{throw vC(`missing_signature`)}return e.signature}function _C(e,t){let n=QS;if(lC(e,[`source`,`deviceId`,`status`,`authorization`,`chain`,`method`,`signature`,`messageBytes`],n),e.source!==`live`||typeof e.deviceId!=`string`||e.status!==`signed`||e.authorization!==`user`||e.chain!==`sui`||e.method!==`sign_personal_message`||e.messageBytes!==t||typeof e.signature!=`string`)throw vC(`unknown`,n);try{uC(e.signature,YS)}catch{throw vC(`missing_signature`,n)}return e.signature}function vC(e,t=ZS){return Error(XS[e]??t)}var yC=class{version=`1.0.0`;id;name;icon;#e;#t;#n;#r;#i=new Set;#a=[];constructor(e){this.#e=e.provider,this.#t=e.getClient,this.#n={deviceId:e.deviceId,purpose:e.purpose},this.#r=oC(e.chains??ec),this.id=e.id??`stelis:agent-q:sui`,this.name=e.name??`Agent-Q`,this.icon=e.icon??WS}get chains(){return this.#r}get accounts(){return this.#a}get features(){return{[Hs]:{version:`1.0.0`,connect:this.#o},[Us]:{version:`1.0.0`,disconnect:this.#s},[Ws]:{version:`1.0.0`,on:this.#c},[Cs]:{version:`2.0.0`,signTransaction:this.#l},[Es]:{version:`1.1.0`,signPersonalMessage:this.#u}}}#o=async(e={})=>{if(e.silent&&this.#a.length===0)return{accounts:[]};if(this.#a.length===0){let e=!1;try{await this.#e.connectDevice(this.#n),e=!0;let t=hC(await this.#e.getAccounts(this.#n)),n=aC(await this.#e.getCapabilities(this.#n)),r=t.filter(e=>e.chain===`sui`).map(e=>new $s({address:e.address,publicKey:sC(e.publicKey),chains:this.#r,features:[...n]}));if(r.length===0)throw Error(`Agent-Q Sui wallet could not read a connected Sui account.`);this.#a=r,this.#m({accounts:this.#a})}catch(t){if(this.#a=[],e)try{await this.#e.disconnectDevice(this.#n)}catch{}throw t}}return{accounts:this.#a}};#s=async()=>{await this.#e.disconnectDevice(this.#n),this.#a=[],this.#m({accounts:this.#a})};#c=(e,t)=>e===`change`?(this.#i.add(t),()=>{this.#i.delete(t)}):()=>{};#l=async({transaction:e,account:t,chain:n,signal:r})=>{r?.throwIfAborted();let i=this.#f(t,n,Cs),a=nC(n),o=Eo.from(await e.toJSON());o.setSenderIfNotSet(i.address);let s=await o.build({client:this.#t(a)});r?.throwIfAborted();let c=T(s),l=await this.#e.signTransaction({...this.#n,chain:`sui`,method:`sign_transaction`,network:a,txBytes:c});if(l.source!==`live`)throw this.#p(),vC(l.source);if(l.status!==`signed`)throw vC(l.status??`unknown`);return{bytes:c,signature:gC(l)}};#u=async({message:e,account:t,chain:n})=>{let r=this.#d(t,n);this.#f(t,r,Es);let i=nC(r),a=T(e),o=await this.#e.signPersonalMessage({...this.#n,chain:`sui`,method:`sign_personal_message`,network:i,message:a});if(o.source!==`live`)throw this.#p(),vC(o.source,QS);if(o.status!==`signed`)throw vC(o.status??`unknown`,QS);return{bytes:a,signature:_C(o,a)}};#d(e,t){if(t!==void 0){if(!tC(t))throw Error(`Agent-Q Sui wallet account does not support the requested signing feature.`);return t}for(let t of e.chains)if(tC(t)&&this.#r.includes(t))return t;throw Error(`Agent-Q Sui wallet account does not support the requested signing feature.`)}#f(e,t,n){if(!tC(t))throw Error(`Agent-Q Sui wallet account does not support the requested signing feature.`);let r=this.#a.find(t=>t.address===e.address);if(!r)throw Error(`Agent-Q Sui wallet account is not connected.`);if(!r.chains.includes(t)||!r.features.includes(n))throw Error(`Agent-Q Sui wallet account does not support the requested signing feature.`);return r}#p(){this.#a.length!==0&&(this.#a=[],this.#m({accounts:this.#a}))}#m(e){for(let t of this.#i)t(e)}};function bC(e){return new yC(e)}function xC(e){let t=bC(e);return{wallet:t,unregister:Fs().register(t)}}function SC(e){return{id:e.id??`stelis:agent-q:sui`,initialize({networks:t,getClient:n}){return xC({...e,chains:iC(t),getClient:e=>n(e)})}}}function CC(){return $f({networks:[`mainnet`],defaultNetwork:`mainnet`,autoConnect:!0,slushWalletConfig:null,walletInitializers:[SC({provider:bS()})],createClient:()=>wC})}var wC=new my({network:`mainnet`,baseUrl:`https://fullnode.mainnet.sui.io:443`}),TC=`mysten-dapp-kit:selected-wallet-and-address`;function EC(){try{return window.localStorage.getItem(TC)!==null}catch{return!1}}var DC=`sui:mainnet`,OC=4001e3;function kC(e,t={}){return e?e.chains.includes(`sui:mainnet`)?{status:`connected`,account:e.address,chain:DC,...t}:{status:`failed`,failureReason:`unsupported_chain`,failureDetail:MC(`Account is not authorized for ${DC}`),...t}:{status:`failed`,failureReason:`no_accounts_authorized`,...t}}function AC(){return{status:`failed`,failureReason:`no_compatible_wallet`}}function jC(e,t={}){return NC(e)?{status:`rejected`,failureReason:`user_rejected`,failureDetail:MC(e instanceof Error?e.message:void 0),...t}:{status:`failed`,failureReason:`wallet_provider_error`,failureDetail:MC(e instanceof Error?e.message:String(e)),...t}}function MC(e){if(!e)return;let t=e.replace(/[\u0000-\u001f\u007f]+/g,` `).replace(/\s+/g,` `).trim();return t?t.slice(0,500):void 0}function NC(e){return!(e instanceof Error)||e.name!==`WalletStandardError`?!1:e.context?.__code===OC}export{CC as a,Sf as c,jC as i,Eo as l,kC as n,EC as o,AC as r,wC as s,NC as t};
|