@t2000/sdk 9.7.1 → 9.9.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.
@@ -1,4 +1,4 @@
1
- export { A as A2A_ESCROW_PACKAGE_ID, B as BalanceResponse, C as CLOCK_ID, a as COIN_REGISTRY, b as ClassifyBalanceChange, c as ClassifyResult, d as CoinMeta, D as DEFAULT_NETWORK, e as DepositInfo, E as ETH_TYPE, f as ExtractedTransfer, G as GAS_RESERVE_MIN, I as IKA_TYPE, J as JOB_STATES, g as Job, h as JobState, i as JobTerms, j as JobVerification, K as KNOWN_TARGETS, k as KeypairSigner, L as LABEL_PATTERNS, l as LOFI_TYPE, M as MANIFEST_TYPE, m as MAX_JOB_USDC, n as MIST_PER_SUI, N as NAVX_TYPE, O as OVERLAY_FEE_RATE, o as OverlayFeeConfig, P as PREFLIGHT_MAX_AMOUNT, p as PREFLIGHT_OK, q as PayOptions, r as PayResult, s as PreflightResult, S as STABLE_ASSETS, t as SUI_DECIMALS, u as SUI_TYPE, v as SUPPORTED_ASSETS, w as SendResult, x as SimulationResult, y as StableAsset, z as SuiHolding, F as SuiRpcTxBlock, H as SupportedAsset, Q as SwapRouteResult, T as T2000Error, R as T2000ErrorCode, U as T2000ErrorData, V as T2000_OVERLAY_FEE_WALLET, W as TOKEN_MAP, X as TransactionLeg, Y as TransactionRecord, Z as TransactionSigner, _ as TxDirection, $ as USDC_DECIMALS, a0 as USDC_TYPE, a1 as USDE_TYPE, a2 as USDSUI_TYPE, a3 as USDT_TYPE, a4 as WAL_TYPE, a5 as WBTC_TYPE, a6 as ZkLoginProof, a7 as ZkLoginSigner, a8 as buildCreateJobTx, a9 as buildDeliverJobTx, aa as buildRefundJobTx, ab as buildRejectJobTx, ac as buildReleaseJobTx, ad as buildSendTx, ae as buildSwapTx, af as checkPositiveAmount, ag as checkSuiAddress, ah as classifyAction, ai as classifyLabel, aj as classifyTransaction, ak as executeTx, al as extractAllUserLegs, am as extractTransferDetails, an as extractTxCommands, ao as extractTxSender, ap as fallbackLabel, aq as findSwapRoute, ar as formatAssetAmount, as as formatSui, at as formatUsd, au as getDecimals, av as getDecimalsForCoinType, aw as getJob, ax as jobActionsFor, ay as mapMoveAbortCode, az as mapWalletError, aA as mistToSui, aB as parseMppSuiChallenge, aC as parseSuiRpcTx, aD as payWithMpp, aE as preflightCreateJob, aF as preflightFail, aG as preflightPay, aH as preflightSend, aI as preflightSwap, aJ as rawToStable, aK as rawToUsdc, aL as refineLendingLabel, aM as resolveSymbol, aN as resolveTokenType, aO as stableToRaw, aP as suiToMist, aQ as truncateAddress, aR as usdcToRaw, aS as validateAddress, aT as verifyJobForSeller } from './job-CSq0DRsC.cjs';
1
+ export { A as A2A_ESCROW_FEE_CONFIG_ID, a as A2A_ESCROW_PACKAGE_ID, B as BalanceResponse, C as CLOCK_ID, b as COIN_REGISTRY, c as ClassifyBalanceChange, d as ClassifyResult, e as CoinMeta, D as DEFAULT_NETWORK, f as DepositInfo, E as ETH_TYPE, g as ExtractedTransfer, 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, O as OVERLAY_FEE_RATE, r as OverlayFeeConfig, P as PREFLIGHT_MAX_AMOUNT, s as PREFLIGHT_OK, t as PayOptions, u as PayResult, v as PreflightResult, S as STABLE_ASSETS, w as SUI_DECIMALS, x as SUI_TYPE, y as SUPPORTED_ASSETS, z as SendResult, F as SimulationResult, H as StableAsset, Q as SuiHolding, R as SuiRpcTxBlock, T as SupportedAsset, U as SwapRouteResult, V as T2000Error, W as T2000ErrorCode, X as T2000ErrorData, Y as T2000_OVERLAY_FEE_WALLET, Z as TOKEN_MAP, _ as TransactionLeg, $ as TransactionRecord, a0 as TransactionSigner, 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, a9 as ZkLoginProof, aa as ZkLoginSigner, 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, an as executeTx, ao as extractAllUserLegs, ap as extractTransferDetails, aq as extractTxCommands, ar as extractTxSender, as as fallbackLabel, at as findSwapRoute, au as formatAssetAmount, av as formatSui, aw as formatUsd, ax as getDecimals, ay as getDecimalsForCoinType, az as getJob, aA as jobActionsFor, aB as mapMoveAbortCode, aC as mapWalletError, aD as mistToSui, aE as parseMppSuiChallenge, aF as parseSuiRpcTx, aG as payWithMpp, aH as preflightCreateJob, aI as preflightFail, aJ as preflightPay, aK as preflightSend, aL as preflightSwap, aM as rawToStable, aN as rawToUsdc, aO as refineLendingLabel, aP as resolveSymbol, aQ as resolveTokenType, aR as stableToRaw, aS as suiToMist, aT as truncateAddress, aU as usdcToRaw, aV as validateAddress, aW as verifyJobForSeller } from './job-DXi8e8eA.cjs';
2
2
  import '@mysten/sui/keypairs/ed25519';
3
3
  import '@mysten/sui/grpc';
4
4
  import '@mysten/sui/client';
package/dist/browser.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { A as A2A_ESCROW_PACKAGE_ID, B as BalanceResponse, C as CLOCK_ID, a as COIN_REGISTRY, b as ClassifyBalanceChange, c as ClassifyResult, d as CoinMeta, D as DEFAULT_NETWORK, e as DepositInfo, E as ETH_TYPE, f as ExtractedTransfer, G as GAS_RESERVE_MIN, I as IKA_TYPE, J as JOB_STATES, g as Job, h as JobState, i as JobTerms, j as JobVerification, K as KNOWN_TARGETS, k as KeypairSigner, L as LABEL_PATTERNS, l as LOFI_TYPE, M as MANIFEST_TYPE, m as MAX_JOB_USDC, n as MIST_PER_SUI, N as NAVX_TYPE, O as OVERLAY_FEE_RATE, o as OverlayFeeConfig, P as PREFLIGHT_MAX_AMOUNT, p as PREFLIGHT_OK, q as PayOptions, r as PayResult, s as PreflightResult, S as STABLE_ASSETS, t as SUI_DECIMALS, u as SUI_TYPE, v as SUPPORTED_ASSETS, w as SendResult, x as SimulationResult, y as StableAsset, z as SuiHolding, F as SuiRpcTxBlock, H as SupportedAsset, Q as SwapRouteResult, T as T2000Error, R as T2000ErrorCode, U as T2000ErrorData, V as T2000_OVERLAY_FEE_WALLET, W as TOKEN_MAP, X as TransactionLeg, Y as TransactionRecord, Z as TransactionSigner, _ as TxDirection, $ as USDC_DECIMALS, a0 as USDC_TYPE, a1 as USDE_TYPE, a2 as USDSUI_TYPE, a3 as USDT_TYPE, a4 as WAL_TYPE, a5 as WBTC_TYPE, a6 as ZkLoginProof, a7 as ZkLoginSigner, a8 as buildCreateJobTx, a9 as buildDeliverJobTx, aa as buildRefundJobTx, ab as buildRejectJobTx, ac as buildReleaseJobTx, ad as buildSendTx, ae as buildSwapTx, af as checkPositiveAmount, ag as checkSuiAddress, ah as classifyAction, ai as classifyLabel, aj as classifyTransaction, ak as executeTx, al as extractAllUserLegs, am as extractTransferDetails, an as extractTxCommands, ao as extractTxSender, ap as fallbackLabel, aq as findSwapRoute, ar as formatAssetAmount, as as formatSui, at as formatUsd, au as getDecimals, av as getDecimalsForCoinType, aw as getJob, ax as jobActionsFor, ay as mapMoveAbortCode, az as mapWalletError, aA as mistToSui, aB as parseMppSuiChallenge, aC as parseSuiRpcTx, aD as payWithMpp, aE as preflightCreateJob, aF as preflightFail, aG as preflightPay, aH as preflightSend, aI as preflightSwap, aJ as rawToStable, aK as rawToUsdc, aL as refineLendingLabel, aM as resolveSymbol, aN as resolveTokenType, aO as stableToRaw, aP as suiToMist, aQ as truncateAddress, aR as usdcToRaw, aS as validateAddress, aT as verifyJobForSeller } from './job-CSq0DRsC.js';
1
+ export { A as A2A_ESCROW_FEE_CONFIG_ID, a as A2A_ESCROW_PACKAGE_ID, B as BalanceResponse, C as CLOCK_ID, b as COIN_REGISTRY, c as ClassifyBalanceChange, d as ClassifyResult, e as CoinMeta, D as DEFAULT_NETWORK, f as DepositInfo, E as ETH_TYPE, g as ExtractedTransfer, 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, O as OVERLAY_FEE_RATE, r as OverlayFeeConfig, P as PREFLIGHT_MAX_AMOUNT, s as PREFLIGHT_OK, t as PayOptions, u as PayResult, v as PreflightResult, S as STABLE_ASSETS, w as SUI_DECIMALS, x as SUI_TYPE, y as SUPPORTED_ASSETS, z as SendResult, F as SimulationResult, H as StableAsset, Q as SuiHolding, R as SuiRpcTxBlock, T as SupportedAsset, U as SwapRouteResult, V as T2000Error, W as T2000ErrorCode, X as T2000ErrorData, Y as T2000_OVERLAY_FEE_WALLET, Z as TOKEN_MAP, _ as TransactionLeg, $ as TransactionRecord, a0 as TransactionSigner, 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, a9 as ZkLoginProof, aa as ZkLoginSigner, 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, an as executeTx, ao as extractAllUserLegs, ap as extractTransferDetails, aq as extractTxCommands, ar as extractTxSender, as as fallbackLabel, at as findSwapRoute, au as formatAssetAmount, av as formatSui, aw as formatUsd, ax as getDecimals, ay as getDecimalsForCoinType, az as getJob, aA as jobActionsFor, aB as mapMoveAbortCode, aC as mapWalletError, aD as mistToSui, aE as parseMppSuiChallenge, aF as parseSuiRpcTx, aG as payWithMpp, aH as preflightCreateJob, aI as preflightFail, aJ as preflightPay, aK as preflightSend, aL as preflightSwap, aM as rawToStable, aN as rawToUsdc, aO as refineLendingLabel, aP as resolveSymbol, aQ as resolveTokenType, aR as stableToRaw, aS as suiToMist, aT as truncateAddress, aU as usdcToRaw, aV as validateAddress, aW as verifyJobForSeller } from './job-DXi8e8eA.js';
2
2
  import '@mysten/sui/keypairs/ed25519';
3
3
  import '@mysten/sui/grpc';
4
4
  import '@mysten/sui/client';
package/dist/browser.js CHANGED
@@ -554,6 +554,19 @@ async function payWithMpp(args) {
554
554
  }
555
555
  const requirements = await pickSuiExactRequirements(probe, client.network);
556
556
  if (requirements) {
557
+ const { isX402EscrowRequirements } = await import('@suimpp/mpp/x402');
558
+ if (isX402EscrowRequirements(requirements)) {
559
+ const escrow = requirements.extra.escrow;
560
+ const price = atomicToHuman(
561
+ BigInt(requirements.maxAmountRequired),
562
+ await assetDecimals(requirements.asset)
563
+ );
564
+ throw new T2000Error(
565
+ "ESCROW_REQUIRED",
566
+ `This endpoint sells deliverable work through on-chain escrow, not an instant call. Create a job instead: t2 job create ${price} ${requirements.payTo} --spec <your-brief> \u2014 funds lock in a Job object and release on delivery. No payment was made.`,
567
+ { payTo: requirements.payTo, priceUsdc: price, escrow }
568
+ );
569
+ }
557
570
  const result = await payViaX402({ signer, client, options, reqInit, requirements });
558
571
  await reportDirectPayment(result, options.url);
559
572
  return result;
@@ -1316,10 +1329,23 @@ async function buildSendTx({
1316
1329
  init_errors();
1317
1330
  init_token_registry();
1318
1331
  init_coinSelection();
1319
- var A2A_ESCROW_PACKAGE_ID = process.env.A2A_ESCROW_PACKAGE_ID ?? "0x9e67c380fb7079d793d6d15ff916b24d82779d7119bfa4631863102ed485c0a0";
1332
+ var A2A_ESCROW_PACKAGE_ID = process.env.A2A_ESCROW_PACKAGE_ID ?? "0x88de0d2a5f36691c0b198637350b9cedfa9ba300ed322851b184bda97859508b";
1333
+ var A2A_ESCROW_FEE_CONFIG_ID = process.env.A2A_ESCROW_FEE_CONFIG_ID ?? "0x2800f55a924c408ecdebfd20bafa03257f0830426720e5ad5cb26294e82f038f";
1334
+ var A2A_ESCROW_FEE_CONFIG_VERSION = Number(
1335
+ process.env.A2A_ESCROW_FEE_CONFIG_VERSION ?? 790540335
1336
+ );
1320
1337
  var CLOCK_ID2 = "0x6";
1321
1338
  var MODULE = "escrow";
1339
+ function feeConfigArg(tx) {
1340
+ return tx.sharedObjectRef({
1341
+ objectId: A2A_ESCROW_FEE_CONFIG_ID,
1342
+ initialSharedVersion: A2A_ESCROW_FEE_CONFIG_VERSION,
1343
+ mutable: false
1344
+ });
1345
+ }
1322
1346
  var MAX_JOB_USDC = 50;
1347
+ var MAX_REVIEW_WINDOW_MS = 2592e6;
1348
+ var MAX_DELIVER_HORIZON_MS = 31536e6;
1323
1349
  var JOB_STATES = [
1324
1350
  "funded",
1325
1351
  "delivered",
@@ -1362,8 +1388,11 @@ function preflightCreateJob(terms) {
1362
1388
  if (terms.deliverByMs <= Date.now()) {
1363
1389
  return preflightFail("INVALID_AMOUNT", "deliverByMs must be in the future.");
1364
1390
  }
1365
- if (terms.reviewWindowMs < 0) {
1366
- return preflightFail("INVALID_AMOUNT", "reviewWindowMs must be \u2265 0.");
1391
+ if (terms.deliverByMs > Date.now() + MAX_DELIVER_HORIZON_MS) {
1392
+ return preflightFail("INVALID_AMOUNT", "deliverByMs is more than 365 days out.");
1393
+ }
1394
+ if (terms.reviewWindowMs < 0 || terms.reviewWindowMs > MAX_REVIEW_WINDOW_MS) {
1395
+ return preflightFail("INVALID_AMOUNT", "reviewWindowMs must be 0\u201330 days.");
1367
1396
  }
1368
1397
  if (!Number.isInteger(terms.rejectSplitBps) || terms.rejectSplitBps < 0 || terms.rejectSplitBps > 1e4) {
1369
1398
  return preflightFail("INVALID_AMOUNT", "rejectSplitBps must be an integer 0\u201310000.");
@@ -1401,6 +1430,7 @@ async function buildCreateJobTx({
1401
1430
  tx.pure.u64(terms.deliverByMs),
1402
1431
  tx.pure.u64(terms.reviewWindowMs),
1403
1432
  tx.pure.u64(terms.rejectSplitBps),
1433
+ feeConfigArg(tx),
1404
1434
  tx.object(CLOCK_ID2)
1405
1435
  ]
1406
1436
  });
@@ -1411,7 +1441,7 @@ function jobCall(jobId, fn) {
1411
1441
  tx.moveCall({
1412
1442
  target: `${A2A_ESCROW_PACKAGE_ID}::${MODULE}::${fn}`,
1413
1443
  typeArguments: [USDC_TYPE],
1414
- arguments: [tx.object(jobId), tx.object(CLOCK_ID2)]
1444
+ arguments: [tx.object(jobId), feeConfigArg(tx), tx.object(CLOCK_ID2)]
1415
1445
  });
1416
1446
  return tx;
1417
1447
  }
@@ -1423,6 +1453,7 @@ function buildDeliverJobTx(jobId, deliveryHash) {
1423
1453
  arguments: [
1424
1454
  tx.object(jobId),
1425
1455
  tx.pure.vector("u8", hexToBytes(deliveryHash)),
1456
+ feeConfigArg(tx),
1426
1457
  tx.object(CLOCK_ID2)
1427
1458
  ]
1428
1459
  });
@@ -1463,6 +1494,7 @@ async function getJob(client, jobId) {
1463
1494
  seller: String(json.seller),
1464
1495
  amountUsdc: Number(json.amount) / 10 ** USDC_DECIMALS,
1465
1496
  escrowUsdc: Number(json.escrow) / 10 ** USDC_DECIMALS,
1497
+ feeBps: Number(json.fee_bps ?? 0),
1466
1498
  specHash: bytesToHex(json.spec_hash ?? []),
1467
1499
  deliverByMs: Number(json.deliver_by_ms),
1468
1500
  reviewWindowMs: Number(json.review_window_ms),
@@ -1516,6 +1548,6 @@ async function verifyJobForSeller({
1516
1548
  // src/browser.ts
1517
1549
  init_token_registry();
1518
1550
 
1519
- export { A2A_ESCROW_PACKAGE_ID, CLOCK_ID, COIN_REGISTRY, DEFAULT_NETWORK, ETH_TYPE, GAS_RESERVE_MIN, IKA_TYPE, JOB_STATES, KNOWN_TARGETS, KeypairSigner, LABEL_PATTERNS, LOFI_TYPE, MANIFEST_TYPE, MAX_JOB_USDC, MIST_PER_SUI, NAVX_TYPE, OVERLAY_FEE_RATE, PREFLIGHT_MAX_AMOUNT, PREFLIGHT_OK, STABLE_ASSETS, SUI_DECIMALS, SUI_TYPE, SUPPORTED_ASSETS, T2000Error, T2000_OVERLAY_FEE_WALLET, TOKEN_MAP, USDC_DECIMALS, USDC_TYPE, USDE_TYPE, USDSUI_TYPE, USDT_TYPE, WAL_TYPE, WBTC_TYPE, ZkLoginSigner, buildCreateJobTx, buildDeliverJobTx, buildRefundJobTx, buildRejectJobTx, buildReleaseJobTx, buildSendTx, buildSwapTx, checkPositiveAmount, checkSuiAddress, classifyAction, classifyLabel, classifyTransaction, executeTx, extractAllUserLegs, extractTransferDetails, extractTxCommands, extractTxSender, fallbackLabel, findSwapRoute, formatAssetAmount, formatSui, formatUsd, fromBase642 as fromBase64, getDecimals, getDecimalsForCoinType, getJob, jobActionsFor, mapMoveAbortCode, mapWalletError, mistToSui, parseMppSuiChallenge, parseSuiRpcTx, payWithMpp, preflightCreateJob, preflightFail, preflightPay, preflightSend, preflightSwap, rawToStable, rawToUsdc, refineLendingLabel, resolveSymbol, resolveTokenType, stableToRaw, suiToMist, toBase64, truncateAddress, usdcToRaw, validateAddress, verifyJobForSeller };
1551
+ export { A2A_ESCROW_FEE_CONFIG_ID, A2A_ESCROW_PACKAGE_ID, CLOCK_ID, COIN_REGISTRY, DEFAULT_NETWORK, ETH_TYPE, GAS_RESERVE_MIN, IKA_TYPE, JOB_STATES, KNOWN_TARGETS, KeypairSigner, LABEL_PATTERNS, LOFI_TYPE, MANIFEST_TYPE, MAX_DELIVER_HORIZON_MS, MAX_JOB_USDC, MAX_REVIEW_WINDOW_MS, MIST_PER_SUI, NAVX_TYPE, OVERLAY_FEE_RATE, PREFLIGHT_MAX_AMOUNT, PREFLIGHT_OK, STABLE_ASSETS, SUI_DECIMALS, SUI_TYPE, SUPPORTED_ASSETS, T2000Error, T2000_OVERLAY_FEE_WALLET, TOKEN_MAP, USDC_DECIMALS, USDC_TYPE, USDE_TYPE, USDSUI_TYPE, USDT_TYPE, WAL_TYPE, WBTC_TYPE, ZkLoginSigner, buildCreateJobTx, buildDeliverJobTx, buildRefundJobTx, buildRejectJobTx, buildReleaseJobTx, buildSendTx, buildSwapTx, checkPositiveAmount, checkSuiAddress, classifyAction, classifyLabel, classifyTransaction, executeTx, extractAllUserLegs, extractTransferDetails, extractTxCommands, extractTxSender, fallbackLabel, findSwapRoute, formatAssetAmount, formatSui, formatUsd, fromBase642 as fromBase64, getDecimals, getDecimalsForCoinType, getJob, jobActionsFor, mapMoveAbortCode, mapWalletError, mistToSui, parseMppSuiChallenge, parseSuiRpcTx, payWithMpp, preflightCreateJob, preflightFail, preflightPay, preflightSend, preflightSwap, rawToStable, rawToUsdc, refineLendingLabel, resolveSymbol, resolveTokenType, stableToRaw, suiToMist, toBase64, truncateAddress, usdcToRaw, validateAddress, verifyJobForSeller };
1520
1552
  //# sourceMappingURL=browser.js.map
1521
1553
  //# sourceMappingURL=browser.js.map