@t2000/sdk 9.12.0 → 9.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { EventEmitter } from 'eventemitter3';
2
2
  import { SuiGrpcClient } from '@mysten/sui/grpc';
3
3
  import { Ed25519Keypair } from '@mysten/sui/keypairs/ed25519';
4
- import { V as T2000Error, aX as T2000Options, a0 as TransactionSigner, t as PayOptions, u as PayResult, aY as SwapResult, aZ as SwapQuoteResult, T as SupportedAsset, z as SendResult, B as BalanceResponse, $ as TransactionRecord, f as DepositInfo, a_ as PaymentRequest, a9 as ZkLoginProof, a$ as SuiCoreClient, r as OverlayFeeConfig, b0 as SponsoredCoinMergeCache, U as SwapRouteResult, b1 as SendableAsset } from './job-BCRKTThm.cjs';
5
- export { A as A2A_ESCROW_FEE_CONFIG_ID, a as A2A_ESCROW_PACKAGE_ID, b2 as CETUS_USDC_SUI_POOL, C as CLOCK_ID, b as COIN_REGISTRY, c as ClassifyBalanceChange, d as ClassifyResult, e as CoinMeta, b3 as CoinPage, b4 as DEFAULT_GRPC_URL, D as DEFAULT_NETWORK, E as ETH_TYPE, g as ExtractedTransfer, b5 as GASLESS_MIN_STABLE_AMOUNT, b6 as GASLESS_STABLE_TYPES, G as GAS_RESERVE_MIN, I as IKA_TYPE, J as JOB_STATES, h as Job, i as JobState, j as JobTerms, k as JobVerification, K as KNOWN_TARGETS, l as KeypairSigner, L as LABEL_PATTERNS, m as LOFI_TYPE, M as MANIFEST_TYPE, n as MAX_DELIVER_HORIZON_MS, o as MAX_JOB_USDC, p as MAX_REVIEW_WINDOW_MS, q as MIST_PER_SUI, N as NAVX_TYPE, b7 as OPERATION_ASSETS, O as OVERLAY_FEE_RATE, b8 as Operation, P as PREFLIGHT_MAX_AMOUNT, s as PREFLIGHT_OK, v as PreflightResult, b9 as SENDABLE_ASSETS, S as STABLE_ASSETS, w as SUI_DECIMALS, x as SUI_TYPE, y as SUPPORTED_ASSETS, ba as SelectAndSplitResult, bb as SerializedCetusRoute, bc as SerializedCetusRoutePath, bd as SerializedRouterDataV3, F as SimulationResult, H as StableAsset, Q as SuiHolding, R as SuiRpcTxBlock, W as T2000ErrorCode, X as T2000ErrorData, Y as T2000_OVERLAY_FEE_WALLET, Z as TOKEN_MAP, _ as TransactionLeg, a1 as TxDirection, a2 as USDC_DECIMALS, a3 as USDC_TYPE, a4 as USDE_TYPE, a5 as USDSUI_TYPE, a6 as USDT_TYPE, a7 as WAL_TYPE, a8 as WBTC_TYPE, aa as ZkLoginSigner, be as addSendToTx, bf as addSwapToTx, bg as assertAllowedAsset, ab as buildCreateJobTx, ac as buildDeliverJobTx, ad as buildRefundJobTx, ae as buildRejectJobTx, af as buildReleaseJobTx, ag as buildSendTx, ah as buildSwapTx, ai as checkPositiveAmount, aj as checkSuiAddress, ak as classifyAction, al as classifyLabel, am as classifyTransaction, bh as deserializeCetusRoute, an as executeTx, ao as extractAllUserLegs, ap as extractTransferDetails, aq as extractTxCommands, ar as extractTxSender, as as fallbackLabel, bi as fetchAllCoins, at as findSwapRoute, au as formatAssetAmount, av as formatSui, aw as formatUsd, bj as getCoinMeta, ax as getDecimals, ay as getDecimalsForCoinType, az as getJob, bk as getSuiClient, bl as getSuiGrpcClient, bm as isAllowedAsset, bn as isCetusRouteFresh, bo as isInRegistry, aA as jobActionsFor, aB as mapMoveAbortCode, aC as mapWalletError, aD as mistToSui, bp as normalizeAsset, bq as normalizeCoinType, aE as parseMppSuiChallenge, aF as parseSuiRpcTx, aG as payWithMpp, aH as preflightCreateJob, aI as preflightFail, aJ as preflightPay, aK as preflightSend, aL as preflightSwap, br as queryHistory, bs as queryTransaction, aM as rawToStable, aN as rawToUsdc, aO as refineLendingLabel, aP as resolveSymbol, aQ as resolveTokenType, bt as selectAndSplitCoin, bu as selectSuiCoin, bv as serializeCetusRoute, bw as simulateTransaction, aR as stableToRaw, aS as suiToMist, bx as throwIfSimulationFailed, aT as truncateAddress, aU as usdcToRaw, aV as validateAddress, by as verifyCetusRouteCoinMatch, aW as verifyJobForSeller } from './job-BCRKTThm.cjs';
4
+ import { X as T2000Error, b1 as T2000Options, a2 as TransactionSigner, v as PayOptions, w as PayResult, b2 as SwapResult, b3 as SwapQuoteResult, V as SupportedAsset, H as SendResult, B as BalanceResponse, a1 as TransactionRecord, g as DepositInfo, b4 as PaymentRequest, ab as ZkLoginProof, b5 as SuiCoreClient, t as OverlayFeeConfig, b6 as SponsoredCoinMergeCache, W as SwapRouteResult, b7 as SendableAsset } from './commerce-DhJDA4Sq.cjs';
5
+ export { A as A2A_ESCROW_FEE_CONFIG_ID, a as A2A_ESCROW_PACKAGE_ID, b8 as CETUS_USDC_SUI_POOL, C as CLOCK_ID, b as COIN_REGISTRY, c as ClassifyBalanceChange, d as ClassifyResult, e as CoinMeta, b9 as CoinPage, D as DEFAULT_COMMERCE_API_BASE, ba as DEFAULT_GRPC_URL, f as DEFAULT_NETWORK, E as ETH_TYPE, h as ExtractedTransfer, bb as GASLESS_MIN_STABLE_AMOUNT, bc as GASLESS_STABLE_TYPES, G as GAS_RESERVE_MIN, I as IKA_TYPE, J as JOB_STATES, i as Job, j as JobState, k as JobTerms, l as JobVerification, K as KNOWN_TARGETS, m as KeypairSigner, L as LABEL_PATTERNS, n as LOFI_TYPE, M as MANIFEST_TYPE, o as MAX_DELIVER_HORIZON_MS, p as MAX_JOB_USDC, q as MAX_REVIEW_WINDOW_MS, r as MIST_PER_SUI, N as NAVX_TYPE, bd as OPERATION_ASSETS, O as OVERLAY_FEE_RATE, s as OfferingListing, be as Operation, P as PREFLIGHT_MAX_AMOUNT, u as PREFLIGHT_OK, x as PreflightResult, bf as SENDABLE_ASSETS, S as STABLE_ASSETS, y as SUI_DECIMALS, z as SUI_TYPE, F as SUPPORTED_ASSETS, bg as SelectAndSplitResult, bh as SerializedCetusRoute, bi as SerializedCetusRoutePath, bj as SerializedRouterDataV3, Q as SimulationResult, R as StableAsset, T as SuiHolding, U as SuiRpcTxBlock, Y as T2000ErrorCode, Z as T2000ErrorData, _ as T2000_OVERLAY_FEE_WALLET, $ as TOKEN_MAP, a0 as TransactionLeg, a3 as TxDirection, a4 as USDC_DECIMALS, a5 as USDC_TYPE, a6 as USDE_TYPE, a7 as USDSUI_TYPE, a8 as USDT_TYPE, a9 as WAL_TYPE, aa as WBTC_TYPE, ac as ZkLoginSigner, bk as addSendToTx, bl as addSwapToTx, bm as assertAllowedAsset, ad as buildCreateJobTx, ae as buildDeliverJobTx, af as buildRefundJobTx, ag as buildRejectJobTx, ah as buildReleaseJobTx, ai as buildSendTx, aj as buildSwapTx, ak as checkPositiveAmount, al as checkSuiAddress, am as classifyAction, an as classifyLabel, ao as classifyTransaction, bn as deserializeCetusRoute, ap as executeTx, aq as extractAllUserLegs, ar as extractTransferDetails, as as extractTxCommands, at as extractTxSender, au as fallbackLabel, bo as fetchAllCoins, av as fetchOffering, aw as findSwapRoute, ax as formatAssetAmount, ay as formatSui, az as formatUsd, bp as getCoinMeta, aA as getDecimals, aB as getDecimalsForCoinType, aC as getJob, aD as getJobSpec, bq as getSuiClient, br as getSuiGrpcClient, bs as isAllowedAsset, bt as isCetusRouteFresh, bu as isInRegistry, aE as jobActionsFor, aF as listOfferings, aG as mapMoveAbortCode, aH as mapWalletError, aI as mistToSui, bv as normalizeAsset, bw as normalizeCoinType, aJ as parseMppSuiChallenge, aK as parseSuiRpcTx, aL as payWithMpp, aM as preflightCreateJob, aN as preflightFail, aO as preflightPay, aP as preflightSend, aQ as preflightSwap, aR as putJobSpec, bx as queryHistory, by as queryTransaction, aS as rawToStable, aT as rawToUsdc, aU as refineLendingLabel, aV as resolveSymbol, aW as resolveTokenType, bz as selectAndSplitCoin, bA as selectSuiCoin, bB as serializeCetusRoute, bC as simulateTransaction, aX as stableToRaw, aY as suiToMist, bD as throwIfSimulationFailed, aZ as truncateAddress, a_ as usdcToRaw, a$ as validateAddress, bE as verifyCetusRouteCoinMatch, b0 as verifyJobForSeller } from './commerce-DhJDA4Sq.cjs';
6
6
  import { TransactionObjectArgument, Transaction } from '@mysten/sui/transactions';
7
7
  import { SuinsClient } from '@mysten/suins';
8
8
  import '@mysten/sui/client';
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { EventEmitter } from 'eventemitter3';
2
2
  import { SuiGrpcClient } from '@mysten/sui/grpc';
3
3
  import { Ed25519Keypair } from '@mysten/sui/keypairs/ed25519';
4
- import { V as T2000Error, aX as T2000Options, a0 as TransactionSigner, t as PayOptions, u as PayResult, aY as SwapResult, aZ as SwapQuoteResult, T as SupportedAsset, z as SendResult, B as BalanceResponse, $ as TransactionRecord, f as DepositInfo, a_ as PaymentRequest, a9 as ZkLoginProof, a$ as SuiCoreClient, r as OverlayFeeConfig, b0 as SponsoredCoinMergeCache, U as SwapRouteResult, b1 as SendableAsset } from './job-BCRKTThm.js';
5
- export { A as A2A_ESCROW_FEE_CONFIG_ID, a as A2A_ESCROW_PACKAGE_ID, b2 as CETUS_USDC_SUI_POOL, C as CLOCK_ID, b as COIN_REGISTRY, c as ClassifyBalanceChange, d as ClassifyResult, e as CoinMeta, b3 as CoinPage, b4 as DEFAULT_GRPC_URL, D as DEFAULT_NETWORK, E as ETH_TYPE, g as ExtractedTransfer, b5 as GASLESS_MIN_STABLE_AMOUNT, b6 as GASLESS_STABLE_TYPES, G as GAS_RESERVE_MIN, I as IKA_TYPE, J as JOB_STATES, h as Job, i as JobState, j as JobTerms, k as JobVerification, K as KNOWN_TARGETS, l as KeypairSigner, L as LABEL_PATTERNS, m as LOFI_TYPE, M as MANIFEST_TYPE, n as MAX_DELIVER_HORIZON_MS, o as MAX_JOB_USDC, p as MAX_REVIEW_WINDOW_MS, q as MIST_PER_SUI, N as NAVX_TYPE, b7 as OPERATION_ASSETS, O as OVERLAY_FEE_RATE, b8 as Operation, P as PREFLIGHT_MAX_AMOUNT, s as PREFLIGHT_OK, v as PreflightResult, b9 as SENDABLE_ASSETS, S as STABLE_ASSETS, w as SUI_DECIMALS, x as SUI_TYPE, y as SUPPORTED_ASSETS, ba as SelectAndSplitResult, bb as SerializedCetusRoute, bc as SerializedCetusRoutePath, bd as SerializedRouterDataV3, F as SimulationResult, H as StableAsset, Q as SuiHolding, R as SuiRpcTxBlock, W as T2000ErrorCode, X as T2000ErrorData, Y as T2000_OVERLAY_FEE_WALLET, Z as TOKEN_MAP, _ as TransactionLeg, a1 as TxDirection, a2 as USDC_DECIMALS, a3 as USDC_TYPE, a4 as USDE_TYPE, a5 as USDSUI_TYPE, a6 as USDT_TYPE, a7 as WAL_TYPE, a8 as WBTC_TYPE, aa as ZkLoginSigner, be as addSendToTx, bf as addSwapToTx, bg as assertAllowedAsset, ab as buildCreateJobTx, ac as buildDeliverJobTx, ad as buildRefundJobTx, ae as buildRejectJobTx, af as buildReleaseJobTx, ag as buildSendTx, ah as buildSwapTx, ai as checkPositiveAmount, aj as checkSuiAddress, ak as classifyAction, al as classifyLabel, am as classifyTransaction, bh as deserializeCetusRoute, an as executeTx, ao as extractAllUserLegs, ap as extractTransferDetails, aq as extractTxCommands, ar as extractTxSender, as as fallbackLabel, bi as fetchAllCoins, at as findSwapRoute, au as formatAssetAmount, av as formatSui, aw as formatUsd, bj as getCoinMeta, ax as getDecimals, ay as getDecimalsForCoinType, az as getJob, bk as getSuiClient, bl as getSuiGrpcClient, bm as isAllowedAsset, bn as isCetusRouteFresh, bo as isInRegistry, aA as jobActionsFor, aB as mapMoveAbortCode, aC as mapWalletError, aD as mistToSui, bp as normalizeAsset, bq as normalizeCoinType, aE as parseMppSuiChallenge, aF as parseSuiRpcTx, aG as payWithMpp, aH as preflightCreateJob, aI as preflightFail, aJ as preflightPay, aK as preflightSend, aL as preflightSwap, br as queryHistory, bs as queryTransaction, aM as rawToStable, aN as rawToUsdc, aO as refineLendingLabel, aP as resolveSymbol, aQ as resolveTokenType, bt as selectAndSplitCoin, bu as selectSuiCoin, bv as serializeCetusRoute, bw as simulateTransaction, aR as stableToRaw, aS as suiToMist, bx as throwIfSimulationFailed, aT as truncateAddress, aU as usdcToRaw, aV as validateAddress, by as verifyCetusRouteCoinMatch, aW as verifyJobForSeller } from './job-BCRKTThm.js';
4
+ import { X as T2000Error, b1 as T2000Options, a2 as TransactionSigner, v as PayOptions, w as PayResult, b2 as SwapResult, b3 as SwapQuoteResult, V as SupportedAsset, H as SendResult, B as BalanceResponse, a1 as TransactionRecord, g as DepositInfo, b4 as PaymentRequest, ab as ZkLoginProof, b5 as SuiCoreClient, t as OverlayFeeConfig, b6 as SponsoredCoinMergeCache, W as SwapRouteResult, b7 as SendableAsset } from './commerce-DhJDA4Sq.js';
5
+ export { A as A2A_ESCROW_FEE_CONFIG_ID, a as A2A_ESCROW_PACKAGE_ID, b8 as CETUS_USDC_SUI_POOL, C as CLOCK_ID, b as COIN_REGISTRY, c as ClassifyBalanceChange, d as ClassifyResult, e as CoinMeta, b9 as CoinPage, D as DEFAULT_COMMERCE_API_BASE, ba as DEFAULT_GRPC_URL, f as DEFAULT_NETWORK, E as ETH_TYPE, h as ExtractedTransfer, bb as GASLESS_MIN_STABLE_AMOUNT, bc as GASLESS_STABLE_TYPES, G as GAS_RESERVE_MIN, I as IKA_TYPE, J as JOB_STATES, i as Job, j as JobState, k as JobTerms, l as JobVerification, K as KNOWN_TARGETS, m as KeypairSigner, L as LABEL_PATTERNS, n as LOFI_TYPE, M as MANIFEST_TYPE, o as MAX_DELIVER_HORIZON_MS, p as MAX_JOB_USDC, q as MAX_REVIEW_WINDOW_MS, r as MIST_PER_SUI, N as NAVX_TYPE, bd as OPERATION_ASSETS, O as OVERLAY_FEE_RATE, s as OfferingListing, be as Operation, P as PREFLIGHT_MAX_AMOUNT, u as PREFLIGHT_OK, x as PreflightResult, bf as SENDABLE_ASSETS, S as STABLE_ASSETS, y as SUI_DECIMALS, z as SUI_TYPE, F as SUPPORTED_ASSETS, bg as SelectAndSplitResult, bh as SerializedCetusRoute, bi as SerializedCetusRoutePath, bj as SerializedRouterDataV3, Q as SimulationResult, R as StableAsset, T as SuiHolding, U as SuiRpcTxBlock, Y as T2000ErrorCode, Z as T2000ErrorData, _ as T2000_OVERLAY_FEE_WALLET, $ as TOKEN_MAP, a0 as TransactionLeg, a3 as TxDirection, a4 as USDC_DECIMALS, a5 as USDC_TYPE, a6 as USDE_TYPE, a7 as USDSUI_TYPE, a8 as USDT_TYPE, a9 as WAL_TYPE, aa as WBTC_TYPE, ac as ZkLoginSigner, bk as addSendToTx, bl as addSwapToTx, bm as assertAllowedAsset, ad as buildCreateJobTx, ae as buildDeliverJobTx, af as buildRefundJobTx, ag as buildRejectJobTx, ah as buildReleaseJobTx, ai as buildSendTx, aj as buildSwapTx, ak as checkPositiveAmount, al as checkSuiAddress, am as classifyAction, an as classifyLabel, ao as classifyTransaction, bn as deserializeCetusRoute, ap as executeTx, aq as extractAllUserLegs, ar as extractTransferDetails, as as extractTxCommands, at as extractTxSender, au as fallbackLabel, bo as fetchAllCoins, av as fetchOffering, aw as findSwapRoute, ax as formatAssetAmount, ay as formatSui, az as formatUsd, bp as getCoinMeta, aA as getDecimals, aB as getDecimalsForCoinType, aC as getJob, aD as getJobSpec, bq as getSuiClient, br as getSuiGrpcClient, bs as isAllowedAsset, bt as isCetusRouteFresh, bu as isInRegistry, aE as jobActionsFor, aF as listOfferings, aG as mapMoveAbortCode, aH as mapWalletError, aI as mistToSui, bv as normalizeAsset, bw as normalizeCoinType, aJ as parseMppSuiChallenge, aK as parseSuiRpcTx, aL as payWithMpp, aM as preflightCreateJob, aN as preflightFail, aO as preflightPay, aP as preflightSend, aQ as preflightSwap, aR as putJobSpec, bx as queryHistory, by as queryTransaction, aS as rawToStable, aT as rawToUsdc, aU as refineLendingLabel, aV as resolveSymbol, aW as resolveTokenType, bz as selectAndSplitCoin, bA as selectSuiCoin, bB as serializeCetusRoute, bC as simulateTransaction, aX as stableToRaw, aY as suiToMist, bD as throwIfSimulationFailed, aZ as truncateAddress, a_ as usdcToRaw, a$ as validateAddress, bE as verifyCetusRouteCoinMatch, b0 as verifyJobForSeller } from './commerce-DhJDA4Sq.js';
6
6
  import { TransactionObjectArgument, Transaction } from '@mysten/sui/transactions';
7
7
  import { SuinsClient } from '@mysten/suins';
8
8
  import '@mysten/sui/client';
package/dist/index.js CHANGED
@@ -1534,6 +1534,18 @@ async function buildSendTx({
1534
1534
  required: amount
1535
1535
  });
1536
1536
  }
1537
+ if (asset === "USDC" || asset === "USDsui") {
1538
+ const rawFloor = displayToRaw(GASLESS_MIN_STABLE_AMOUNT, assetInfo.decimals);
1539
+ const remainder = totalBalance - rawAmount;
1540
+ if (remainder > 0n && remainder < rawFloor) {
1541
+ const total = Number(totalBalance) / 10 ** assetInfo.decimals;
1542
+ throw new T2000Error(
1543
+ "INVALID_AMOUNT",
1544
+ `Gasless ${asset} transfers must send the entire balance or leave at least ${GASLESS_MIN_STABLE_AMOUNT} ${asset}. Sending ${amount} of ${total} leaves ${(total - amount).toFixed(assetInfo.decimals)}. Send ${total} (everything) or at most ${(total - GASLESS_MIN_STABLE_AMOUNT).toFixed(assetInfo.decimals)}.`,
1545
+ { available: total, required: amount }
1546
+ );
1547
+ }
1548
+ }
1537
1549
  if (asset === "SUI") {
1538
1550
  const [sendCoin] = tx.splitCoins(tx.gas, [rawAmount]);
1539
1551
  tx.transferObjects([sendCoin], recipient);
@@ -3360,6 +3372,81 @@ async function verifyJobForSeller({
3360
3372
  return { ok: problems.length === 0, job, problems };
3361
3373
  }
3362
3374
 
3375
+ // src/commerce.ts
3376
+ var DEFAULT_COMMERCE_API_BASE = "https://api.t2000.ai/v1";
3377
+ async function commerceFetchJson(url, init) {
3378
+ const res = await fetch(url, {
3379
+ method: init?.method ?? "GET",
3380
+ headers: init?.body ? { "Content-Type": "application/json" } : void 0,
3381
+ body: init?.body ? JSON.stringify(init.body) : void 0
3382
+ });
3383
+ const json = await res.json().catch(() => ({}));
3384
+ if (!res.ok) {
3385
+ const err = json.error;
3386
+ const msg = typeof err === "string" ? err : err?.message ?? `HTTP ${res.status}`;
3387
+ throw new Error(msg);
3388
+ }
3389
+ return json;
3390
+ }
3391
+ async function listOfferings(base, filter = {}) {
3392
+ const params = new URLSearchParams();
3393
+ if (filter.agent) params.set("agent", filter.agent);
3394
+ if (filter.query) params.set("q", filter.query);
3395
+ const qs = params.size > 0 ? `?${params.toString()}` : "";
3396
+ const json = await commerceFetchJson(`${base}/offerings${qs}`);
3397
+ const offerings = json.offerings ?? [];
3398
+ return { total: json.total ?? offerings.length, offerings };
3399
+ }
3400
+ async function fetchOffering(base, agent, slug) {
3401
+ const { offerings: rows } = await listOfferings(base, { agent });
3402
+ const match = rows.find((o) => o.slug === slug.trim().toLowerCase());
3403
+ if (!match) {
3404
+ const live = rows.filter((o) => !o.retired).map((o) => o.slug);
3405
+ throw new Error(
3406
+ `Agent ${truncateAddress(agent)} has no offering "${slug}".` + (live.length > 0 ? ` Live offerings: ${live.join(", ")}` : "")
3407
+ );
3408
+ }
3409
+ if (match.retired) {
3410
+ throw new Error(
3411
+ `Offering "${slug}" is retired \u2014 the seller no longer sells it.`
3412
+ );
3413
+ }
3414
+ return match;
3415
+ }
3416
+ async function sha256Hex(content) {
3417
+ const digest = await crypto.subtle.digest(
3418
+ "SHA-256",
3419
+ new TextEncoder().encode(content)
3420
+ );
3421
+ return Array.from(new Uint8Array(digest)).map((b) => b.toString(16).padStart(2, "0")).join("");
3422
+ }
3423
+ async function putJobSpec(base, content) {
3424
+ const json = await commerceFetchJson(`${base}/job/spec`, {
3425
+ method: "POST",
3426
+ body: { content }
3427
+ });
3428
+ const hash = json.hash;
3429
+ if (!hash) {
3430
+ throw new Error("Failed to store the job spec.");
3431
+ }
3432
+ return hash;
3433
+ }
3434
+ async function getJobSpec(base, hash) {
3435
+ const clean = hash.trim().toLowerCase().replace(/^0x/, "");
3436
+ const json = await commerceFetchJson(`${base}/job/spec/${clean}`);
3437
+ const content = json.content;
3438
+ if (content === void 0) {
3439
+ throw new Error("No spec stored for this hash.");
3440
+ }
3441
+ const actual = await sha256Hex(content);
3442
+ if (actual !== clean) {
3443
+ throw new Error(
3444
+ "Spec content does NOT match its hash \u2014 the store returned tampered data. Do not trust it."
3445
+ );
3446
+ }
3447
+ return content;
3448
+ }
3449
+
3363
3450
  // src/index.ts
3364
3451
  init_coinSelection();
3365
3452
 
@@ -3784,6 +3871,6 @@ function displayHandle(label, parentName = AUDRIC_PARENT_NAME) {
3784
3871
  // src/index.ts
3785
3872
  init_preflight();
3786
3873
 
3787
- export { A2A_ESCROW_FEE_CONFIG_ID, A2A_ESCROW_PACKAGE_ID, AGENT_ID_PARENT, AGENT_ID_PARENT_NAME, AGENT_ID_PARENT_NFT_ID, AUDRIC_PARENT, AUDRIC_PARENT_NAME, AUDRIC_PARENT_NFT_ID, CETUS_USDC_SUI_POOL, CLOCK_ID, COIN_REGISTRY, DEFAULT_API_BASE, DEFAULT_GRPC_URL, DEFAULT_NETWORK, ETH_TYPE, GASLESS_MIN_STABLE_AMOUNT, GASLESS_STABLE_TYPES, GAS_RESERVE_MIN, IKA_TYPE, InvalidAddressError, JOB_STATES, KNOWN_TARGETS, KeypairSigner, LABEL_PATTERNS, LOFI_TYPE, LimitEnforcer, LimitExceededError, MANIFEST_TYPE, MAX_DELIVER_HORIZON_MS, MAX_JOB_USDC, MAX_REVIEW_WINDOW_MS, MIST_PER_SUI, NAVX_TYPE, OPERATION_ASSETS, OVERLAY_FEE_RATE, PREFLIGHT_MAX_AMOUNT, PREFLIGHT_OK, SENDABLE_ASSETS, SPONSORED_PYTH_DEPENDENT_PROVIDERS, STABLE_ASSETS, SUINS_NAME_REGEX, SUI_ADDRESS_REGEX, SUI_ADDRESS_STRICT_REGEX, SUI_DECIMALS, SUI_TYPE, SUPPORTED_ASSETS, SuinsNotRegisteredError, SuinsRpcError, T2000, T2000Error, T2000_OVERLAY_FEE_WALLET, TOKEN_MAP, USDC_DECIMALS, USDC_TYPE, USDE_TYPE, USDSUI_TYPE, USDT_TYPE, WAL_TYPE, WBTC_TYPE, WRITE_APPENDER_REGISTRY, ZkLoginSigner, addSendToTx, addSwapToTx, approxUsdValue, assertAllowedAsset, assertLimitConfig, buildAddLeafTx, buildCreateJobTx, buildDeliverJobTx, buildRefundJobTx, buildRejectJobTx, buildReleaseJobTx, buildRevokeLeafTx, buildSendTx, buildSwapTx, chatCompletion, chatCompletionStream, checkPositiveAmount, checkSuiAddress, classifyAction, classifyLabel, classifyTransaction, clearLimits, composeTx, dailySpentToday, deriveAllowedAddressesFromPtb, deserializeCetusRoute, displayHandle, executeTx, exportPrivateKey, extractAllUserLegs, extractTransferDetails, extractTxCommands, extractTxSender, fallbackLabel, fetchAllCoins, findSwapRoute, formatAssetAmount, formatSui, formatUsd, fullHandle, generateKeypair, getAddress, getCoinMeta, getDecimals, getDecimalsForCoinType, getJob, getLimits, getSponsoredSwapProviders, getSuiClient, getSuiGrpcClient, getSwapQuote, hasLimits, isAllowedAsset, isCetusRouteFresh, isInRegistry, jobActionsFor, keypairFromPrivateKey, listModels, loadKey, looksLikeSuiNs, mapMoveAbortCode, mapWalletError, mistToSui, normalizeAddressInput, normalizeAsset, normalizeCoinType, parseMppSuiChallenge, parseSuiRpcTx, payWithMpp, preflightCreateJob, preflightFail, preflightPay, preflightSend, preflightSwap, queryBalance, queryHistory, queryTransaction, rawToStable, rawToUsdc, readLimitsFile, recordDailySpend, refineLendingLabel, resolveAddressToSuinsViaRpc, resolveSuinsViaRpc, resolveSymbol, resolveTokenType, saveBech32, saveKey, selectAndSplitCoin, selectSuiCoin, serializeCetusRoute, setLimits, simulateTransaction, stableToRaw, suiToMist, throwIfSimulationFailed, truncateAddress, usdcToRaw, validateAddress, validateLabel, verifyCetusRouteCoinMatch, verifyJobForSeller, verifyReceipt, walletExists, writeLimitsFile };
3874
+ export { A2A_ESCROW_FEE_CONFIG_ID, A2A_ESCROW_PACKAGE_ID, AGENT_ID_PARENT, AGENT_ID_PARENT_NAME, AGENT_ID_PARENT_NFT_ID, AUDRIC_PARENT, AUDRIC_PARENT_NAME, AUDRIC_PARENT_NFT_ID, CETUS_USDC_SUI_POOL, CLOCK_ID, COIN_REGISTRY, DEFAULT_API_BASE, DEFAULT_COMMERCE_API_BASE, DEFAULT_GRPC_URL, DEFAULT_NETWORK, ETH_TYPE, GASLESS_MIN_STABLE_AMOUNT, GASLESS_STABLE_TYPES, GAS_RESERVE_MIN, IKA_TYPE, InvalidAddressError, JOB_STATES, KNOWN_TARGETS, KeypairSigner, LABEL_PATTERNS, LOFI_TYPE, LimitEnforcer, LimitExceededError, MANIFEST_TYPE, MAX_DELIVER_HORIZON_MS, MAX_JOB_USDC, MAX_REVIEW_WINDOW_MS, MIST_PER_SUI, NAVX_TYPE, OPERATION_ASSETS, OVERLAY_FEE_RATE, PREFLIGHT_MAX_AMOUNT, PREFLIGHT_OK, SENDABLE_ASSETS, SPONSORED_PYTH_DEPENDENT_PROVIDERS, STABLE_ASSETS, SUINS_NAME_REGEX, SUI_ADDRESS_REGEX, SUI_ADDRESS_STRICT_REGEX, SUI_DECIMALS, SUI_TYPE, SUPPORTED_ASSETS, SuinsNotRegisteredError, SuinsRpcError, T2000, T2000Error, T2000_OVERLAY_FEE_WALLET, TOKEN_MAP, USDC_DECIMALS, USDC_TYPE, USDE_TYPE, USDSUI_TYPE, USDT_TYPE, WAL_TYPE, WBTC_TYPE, WRITE_APPENDER_REGISTRY, ZkLoginSigner, addSendToTx, addSwapToTx, approxUsdValue, assertAllowedAsset, assertLimitConfig, buildAddLeafTx, buildCreateJobTx, buildDeliverJobTx, buildRefundJobTx, buildRejectJobTx, buildReleaseJobTx, buildRevokeLeafTx, buildSendTx, buildSwapTx, chatCompletion, chatCompletionStream, checkPositiveAmount, checkSuiAddress, classifyAction, classifyLabel, classifyTransaction, clearLimits, composeTx, dailySpentToday, deriveAllowedAddressesFromPtb, deserializeCetusRoute, displayHandle, executeTx, exportPrivateKey, extractAllUserLegs, extractTransferDetails, extractTxCommands, extractTxSender, fallbackLabel, fetchAllCoins, fetchOffering, findSwapRoute, formatAssetAmount, formatSui, formatUsd, fullHandle, generateKeypair, getAddress, getCoinMeta, getDecimals, getDecimalsForCoinType, getJob, getJobSpec, getLimits, getSponsoredSwapProviders, getSuiClient, getSuiGrpcClient, getSwapQuote, hasLimits, isAllowedAsset, isCetusRouteFresh, isInRegistry, jobActionsFor, keypairFromPrivateKey, listModels, listOfferings, loadKey, looksLikeSuiNs, mapMoveAbortCode, mapWalletError, mistToSui, normalizeAddressInput, normalizeAsset, normalizeCoinType, parseMppSuiChallenge, parseSuiRpcTx, payWithMpp, preflightCreateJob, preflightFail, preflightPay, preflightSend, preflightSwap, putJobSpec, queryBalance, queryHistory, queryTransaction, rawToStable, rawToUsdc, readLimitsFile, recordDailySpend, refineLendingLabel, resolveAddressToSuinsViaRpc, resolveSuinsViaRpc, resolveSymbol, resolveTokenType, saveBech32, saveKey, selectAndSplitCoin, selectSuiCoin, serializeCetusRoute, setLimits, simulateTransaction, stableToRaw, suiToMist, throwIfSimulationFailed, truncateAddress, usdcToRaw, validateAddress, validateLabel, verifyCetusRouteCoinMatch, verifyJobForSeller, verifyReceipt, walletExists, writeLimitsFile };
3788
3875
  //# sourceMappingURL=index.js.map
3789
3876
  //# sourceMappingURL=index.js.map