@t2000/sdk 10.38.2 → 10.40.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/browser.cjs CHANGED
@@ -1351,19 +1351,88 @@ init_coinSelection();
1351
1351
  init_errors();
1352
1352
  init_token_registry();
1353
1353
  init_coinSelection();
1354
- var MAINNET_A2A_ESCROW_LATEST_PACKAGE_ID = "0x5c90ec07da01bf885a4e65247ce98b75ab8a042cd965d30d7213856d579c4afa";
1354
+ var MAINNET_A2A_ESCROW_LATEST_PACKAGE_ID = "0x1f88ca77b1980e3d0750e83d1363c6025cd677c2f420cae51a86d4a0bddf93c5";
1355
1355
  var A2A_ESCROW_LATEST_PACKAGE_ID = process.env.A2A_ESCROW_OPENING_PACKAGE_ID ?? process.env.A2A_ESCROW_PACKAGE_ID ?? MAINNET_A2A_ESCROW_LATEST_PACKAGE_ID;
1356
+ var A2A_ESCROW_OPENING_PACKAGE_ID = A2A_ESCROW_LATEST_PACKAGE_ID;
1356
1357
  var A2A_ESCROW_PACKAGE_V7_ID = "0x4249f0b242c47c7baf0c37304365bc4bbe769bcedf11f3525e84682d59a3b23e";
1357
1358
  var A2A_ESCROW_PACKAGE_V8_ID = "0x1595b80bc05a03607f3908702c866ca63cf961025b4263b5ecbe419e07f8ff31";
1358
1359
  var A2A_ESCROW_PACKAGE_V10_ID = process.env.A2A_ESCROW_PACKAGE_V10_ID ?? "0x5c90ec07da01bf885a4e65247ce98b75ab8a042cd965d30d7213856d579c4afa";
1360
+ process.env.A2A_ESCROW_PACKAGE_V11_ID ?? "0x2a928916c859a159e6d6f4841073a31397d01336c1ea689ce74344e456463c8d";
1361
+ process.env.A2A_ESCROW_PACKAGE_V12_ID ?? "0x1f88ca77b1980e3d0750e83d1363c6025cd677c2f420cae51a86d4a0bddf93c5";
1362
+ var SHA256_HEX_RE = /^(0x)?[0-9a-fA-F]{64}$/;
1359
1363
  var OPENING_CLAIM_POLICY_ANY_ACTIVE = 0;
1360
1364
  var OPENING_CLAIM_POLICY_PROVEN = 1;
1361
1365
  var OPENING_CLAIM_POLICY_PROVEN_4STAR = 2;
1366
+ var MAX_OPEN_WINDOW_MS = 2592e6;
1367
+ function feeConfigArg(tx) {
1368
+ return tx.sharedObjectRef({
1369
+ objectId: A2A_ESCROW_FEE_CONFIG_ID,
1370
+ initialSharedVersion: A2A_ESCROW_FEE_CONFIG_VERSION,
1371
+ mutable: false
1372
+ });
1373
+ }
1362
1374
  var OPENING_CLAIM_POLICIES = [
1363
1375
  OPENING_CLAIM_POLICY_ANY_ACTIVE,
1364
1376
  OPENING_CLAIM_POLICY_PROVEN,
1365
1377
  OPENING_CLAIM_POLICY_PROVEN_4STAR
1366
1378
  ];
1379
+ var OPEN_REJECT_SPLIT_BPS = 1e4;
1380
+ function preflightCreateOpening(terms) {
1381
+ if (!Number.isFinite(terms.amountUsdc) || terms.amountUsdc <= 0) {
1382
+ return { valid: false, code: "INVALID_AMOUNT", error: "Budget must be positive." };
1383
+ }
1384
+ if (terms.amountUsdc < MIN_JOB_USDC) {
1385
+ return {
1386
+ valid: false,
1387
+ code: "INVALID_AMOUNT",
1388
+ error: `Open jobs start at ${MIN_JOB_USDC} USDC (contract-enforced minimum). Got ${terms.amountUsdc}.`
1389
+ };
1390
+ }
1391
+ if (terms.amountUsdc > MAX_JOB_USDC) {
1392
+ return {
1393
+ valid: false,
1394
+ code: "INVALID_AMOUNT",
1395
+ error: `Open jobs cap at ${MAX_JOB_USDC} USDC (v1).`
1396
+ };
1397
+ }
1398
+ if (!SHA256_HEX_RE.test(terms.specHash)) {
1399
+ return { valid: false, code: "INVALID_INPUT", error: "specHash must be a sha256 hex string." };
1400
+ }
1401
+ const now = Date.now();
1402
+ if (terms.openUntilMs <= now) {
1403
+ return { valid: false, code: "INVALID_INPUT", error: "openUntil must be in the future." };
1404
+ }
1405
+ if (terms.openUntilMs > now + MAX_OPEN_WINDOW_MS) {
1406
+ return { valid: false, code: "INVALID_INPUT", error: "Openings can stay claimable at most 30 days." };
1407
+ }
1408
+ if (terms.slaMs <= 0) {
1409
+ return { valid: false, code: "INVALID_INPUT", error: "Delivery window must be positive." };
1410
+ }
1411
+ if (terms.rejectSplitBps !== OPEN_REJECT_SPLIT_BPS) {
1412
+ return {
1413
+ valid: false,
1414
+ code: "INVALID_INPUT",
1415
+ error: "Open postings lock reject at 100% buyer / 0% seller (rejectSplitBps must be 10000, contract-enforced since v5) \u2014 reject is economically a decline, so junk delivery has no edge."
1416
+ };
1417
+ }
1418
+ const policy = terms.claimPolicy ?? OPENING_CLAIM_POLICY_ANY_ACTIVE;
1419
+ if (!OPENING_CLAIM_POLICIES.includes(policy)) {
1420
+ return {
1421
+ valid: false,
1422
+ code: "INVALID_INPUT",
1423
+ error: "claimPolicy must be 0 (Anyone), 1 (Proven) or 2 (Proven \xB7 4\u2605+) \u2014 anything else aborts on-chain."
1424
+ };
1425
+ }
1426
+ const minLevel = terms.minSellerLevel ?? 0;
1427
+ if (!Number.isInteger(minLevel) || minLevel < 0 || minLevel > 4) {
1428
+ return {
1429
+ valid: false,
1430
+ code: "INVALID_INPUT",
1431
+ error: "minSellerLevel must be 0 (no floor) or 1\u20134 (Level 1\u20134) \u2014 anything else aborts on-chain (S.1192)."
1432
+ };
1433
+ }
1434
+ return { valid: true };
1435
+ }
1367
1436
 
1368
1437
  // src/wallet/job.ts
1369
1438
  var MAINNET_A2A_ESCROW_PACKAGE_ID = "0x358a819c1c016e2cc84ef5fbea81cba90c31f7f8a62bf45cb5e5276acf198bdd";
@@ -1374,7 +1443,7 @@ var A2A_ESCROW_FEE_CONFIG_VERSION = Number(
1374
1443
  );
1375
1444
  var CLOCK_ID2 = "0x6";
1376
1445
  var MODULE = "escrow";
1377
- function feeConfigArg(tx) {
1446
+ function feeConfigArg2(tx) {
1378
1447
  return tx.sharedObjectRef({
1379
1448
  objectId: A2A_ESCROW_FEE_CONFIG_ID,
1380
1449
  initialSharedVersion: A2A_ESCROW_FEE_CONFIG_VERSION,
@@ -1475,7 +1544,7 @@ async function buildCreateJobTx({
1475
1544
  tx.pure.u64(terms.deliverByMs),
1476
1545
  tx.pure.u64(terms.reviewWindowMs),
1477
1546
  tx.pure.u64(terms.rejectSplitBps),
1478
- feeConfigArg(tx),
1547
+ feeConfigArg2(tx),
1479
1548
  tx.object(CLOCK_ID2)
1480
1549
  ]
1481
1550
  });
@@ -1483,6 +1552,29 @@ async function buildCreateJobTx({
1483
1552
  }
1484
1553
  function buildRejectJobTx(jobId, v2) {
1485
1554
  const tx = new transactions.Transaction();
1555
+ if (v2.batchId) {
1556
+ tx.moveCall({
1557
+ target: `${A2A_ESCROW_LATEST_PACKAGE_ID}::batch::${v2.buyerScoreId ? "batch_reject_agent_buyer" : "batch_reject"}`,
1558
+ typeArguments: [exports.USDC_TYPE],
1559
+ arguments: v2.buyerScoreId ? [
1560
+ tx.object(v2.batchId),
1561
+ tx.object(jobId),
1562
+ tx.object(v2.sellerScoreId),
1563
+ tx.object(v2.buyerScoreId),
1564
+ tx.object(v2.registryId),
1565
+ feeConfigArg2(tx),
1566
+ tx.object(CLOCK_ID2)
1567
+ ] : [
1568
+ tx.object(v2.batchId),
1569
+ tx.object(jobId),
1570
+ tx.object(v2.sellerScoreId),
1571
+ tx.object(v2.registryId),
1572
+ feeConfigArg2(tx),
1573
+ tx.object(CLOCK_ID2)
1574
+ ]
1575
+ });
1576
+ return tx;
1577
+ }
1486
1578
  tx.moveCall({
1487
1579
  target: `${A2A_ESCROW_LATEST_PACKAGE_ID}::reputation::${v2.buyerScoreId ? "reject_v2_agent_buyer" : "reject_v2"}`,
1488
1580
  typeArguments: [exports.USDC_TYPE],
@@ -1491,13 +1583,13 @@ function buildRejectJobTx(jobId, v2) {
1491
1583
  tx.object(v2.sellerScoreId),
1492
1584
  tx.object(v2.buyerScoreId),
1493
1585
  tx.object(v2.registryId),
1494
- feeConfigArg(tx),
1586
+ feeConfigArg2(tx),
1495
1587
  tx.object(CLOCK_ID2)
1496
1588
  ] : [
1497
1589
  tx.object(jobId),
1498
1590
  tx.object(v2.sellerScoreId),
1499
1591
  tx.object(v2.registryId),
1500
- feeConfigArg(tx),
1592
+ feeConfigArg2(tx),
1501
1593
  tx.object(CLOCK_ID2)
1502
1594
  ]
1503
1595
  });
@@ -1505,13 +1597,27 @@ function buildRejectJobTx(jobId, v2) {
1505
1597
  }
1506
1598
  function buildRefundJobTx(jobId, v2) {
1507
1599
  const tx = new transactions.Transaction();
1600
+ if (v2.batchId) {
1601
+ tx.moveCall({
1602
+ target: `${A2A_ESCROW_LATEST_PACKAGE_ID}::batch::batch_refund`,
1603
+ typeArguments: [exports.USDC_TYPE],
1604
+ arguments: [
1605
+ tx.object(v2.batchId),
1606
+ tx.object(jobId),
1607
+ tx.object(v2.sellerScoreId),
1608
+ feeConfigArg2(tx),
1609
+ tx.object(CLOCK_ID2)
1610
+ ]
1611
+ });
1612
+ return tx;
1613
+ }
1508
1614
  tx.moveCall({
1509
1615
  target: `${A2A_ESCROW_LATEST_PACKAGE_ID}::reputation::refund_v2`,
1510
1616
  typeArguments: [exports.USDC_TYPE],
1511
1617
  arguments: [
1512
1618
  tx.object(jobId),
1513
1619
  tx.object(v2.sellerScoreId),
1514
- feeConfigArg(tx),
1620
+ feeConfigArg2(tx),
1515
1621
  tx.object(CLOCK_ID2)
1516
1622
  ]
1517
1623
  });
@@ -1525,7 +1631,7 @@ function buildDeliverJobTx(jobId, deliveryHash) {
1525
1631
  arguments: [
1526
1632
  tx.object(jobId),
1527
1633
  tx.pure.vector("u8", hexToBytes(deliveryHash)),
1528
- feeConfigArg(tx),
1634
+ feeConfigArg2(tx),
1529
1635
  tx.object(CLOCK_ID2)
1530
1636
  ]
1531
1637
  });
@@ -1533,13 +1639,27 @@ function buildDeliverJobTx(jobId, deliveryHash) {
1533
1639
  }
1534
1640
  function buildReleaseJobTx(jobId, v2) {
1535
1641
  const tx = new transactions.Transaction();
1642
+ if (v2.batchId) {
1643
+ tx.moveCall({
1644
+ target: `${A2A_ESCROW_LATEST_PACKAGE_ID}::batch::batch_release`,
1645
+ typeArguments: [exports.USDC_TYPE],
1646
+ arguments: [
1647
+ tx.object(v2.batchId),
1648
+ tx.object(jobId),
1649
+ tx.object(v2.sellerScoreId),
1650
+ feeConfigArg2(tx),
1651
+ tx.object(CLOCK_ID2)
1652
+ ]
1653
+ });
1654
+ return tx;
1655
+ }
1536
1656
  tx.moveCall({
1537
1657
  target: `${A2A_ESCROW_LATEST_PACKAGE_ID}::reputation::release_v2`,
1538
1658
  typeArguments: [exports.USDC_TYPE],
1539
1659
  arguments: [
1540
1660
  tx.object(jobId),
1541
1661
  tx.object(v2.sellerScoreId),
1542
- feeConfigArg(tx),
1662
+ feeConfigArg2(tx),
1543
1663
  tx.object(CLOCK_ID2)
1544
1664
  ]
1545
1665
  });
@@ -1582,6 +1702,26 @@ async function getJob(client, jobId) {
1582
1702
  createdAtMs: Number(json.created_at_ms)
1583
1703
  };
1584
1704
  }
1705
+ var BATCH_ORIGIN_KEY_TYPE_SUFFIX = "::escrow::BatchOriginKey";
1706
+ async function getJobBatchOrigin(client, jobId) {
1707
+ let cursor = null;
1708
+ do {
1709
+ const page = await client.core.listDynamicFields({
1710
+ parentId: jobId,
1711
+ cursor: cursor ?? void 0
1712
+ });
1713
+ for (const field of page.dynamicFields) {
1714
+ if (!field.name.type.endsWith(BATCH_ORIGIN_KEY_TYPE_SUFFIX)) continue;
1715
+ const resp = await client.core.getDynamicField({
1716
+ parentId: jobId,
1717
+ name: field.name
1718
+ });
1719
+ return bcs.bcs.Address.parse(resp.dynamicField.value.bcs);
1720
+ }
1721
+ cursor = page.hasNextPage ? page.cursor : null;
1722
+ } while (cursor);
1723
+ return null;
1724
+ }
1585
1725
  function jobActionsFor(job, caller, nowMs = Date.now()) {
1586
1726
  const me = validateAddress(caller);
1587
1727
  const isBuyer = me === job.buyer;
@@ -1771,6 +1911,213 @@ function preflightClaimOpening(score, opening) {
1771
1911
  return { valid: true };
1772
1912
  }
1773
1913
 
1914
+ // src/wallet/batch.ts
1915
+ init_errors();
1916
+ init_token_registry();
1917
+ init_coinSelection();
1918
+ var MODULE3 = "batch";
1919
+ var CLOCK_ID3 = "0x6";
1920
+ var MAX_BATCH_SLOTS_DEFAULT = 250;
1921
+ var BATCH_OPENING_TYPE_MARKER = "::batch::BatchOpening<";
1922
+ var BATCH_ABORT_CODES = {
1923
+ /** At your wave cap RIGHT NOW — min(buyer ceiling, level cap) active
1924
+ * holds. Settle one to reclaim; never "lifetime". */
1925
+ EMaxClaimsReached: 12,
1926
+ /** Pre-S.1202 wave — lifetime rows never free, so new claims refuse.
1927
+ * The wave's cancel / expired-refund still work. */
1928
+ ELegacyBatch: 22,
1929
+ /** The Job passed to a batch settle door has no BatchOriginKey. */
1930
+ ENotBatchJob: 23,
1931
+ /** The attached wave is not this Job's origin batch. */
1932
+ EWrongBatch: 24,
1933
+ EWrongSellerScore: 25,
1934
+ EWrongBuyerScore: 26,
1935
+ /** Registered Agent-ID buyer must reject via the agent-buyer variant. */
1936
+ EBuyerIsAgent: 27,
1937
+ EBuyerNotAgent: 28
1938
+ };
1939
+ var REPUTATION_ABORT_CODES = {
1940
+ /** A bare v2 door (release_v2 / reject_v2 variants / refund_v2) on a
1941
+ * batch-origin Job — the client must attach the batch and settle via
1942
+ * the batch doors. */
1943
+ EUseBatchSettle: 9
1944
+ };
1945
+ var ESCROW_ABORT_CODES = {
1946
+ /** Stale package flow (FeeConfig VERSION moved) — update @t2000/*. */
1947
+ EWrongVersion: 13,
1948
+ /** Second wave-hold free on one Job (unreachable via the doors). */
1949
+ EBatchHoldReleased: 23
1950
+ };
1951
+ function preflightCreateBatchOpening(terms) {
1952
+ const single = preflightCreateOpening(terms);
1953
+ if (!single.valid) return single;
1954
+ if (!Number.isInteger(terms.slots) || terms.slots < 1 || terms.slots > MAX_BATCH_SLOTS_DEFAULT) {
1955
+ return {
1956
+ valid: false,
1957
+ code: "INVALID_INPUT",
1958
+ error: `slots must be an integer 1\u2013${MAX_BATCH_SLOTS_DEFAULT} (the live max is AdminCap-tunable on-chain).`
1959
+ };
1960
+ }
1961
+ const maxClaims = terms.maxClaimsPerAgent ?? 1;
1962
+ if (!Number.isInteger(maxClaims) || maxClaims < 1 || maxClaims > terms.slots) {
1963
+ return {
1964
+ valid: false,
1965
+ code: "INVALID_INPUT",
1966
+ error: "maxClaimsPerAgent must be an integer \u22651 and \u2264 slots."
1967
+ };
1968
+ }
1969
+ return { valid: true };
1970
+ }
1971
+ async function buildCreateBatchOpeningTx({
1972
+ client,
1973
+ buyer,
1974
+ terms
1975
+ }) {
1976
+ const pf = preflightCreateBatchOpening(terms);
1977
+ if (!pf.valid) throw new exports.T2000Error(pf.code ?? "INVALID_INPUT", pf.error ?? "Invalid batch.");
1978
+ const perSlotRaw = BigInt(Math.floor(terms.amountUsdc * 10 ** USDC_DECIMALS));
1979
+ const totalRaw = perSlotRaw * BigInt(terms.slots);
1980
+ const tx = new transactions.Transaction();
1981
+ const { coin } = await selectAndSplitCoin(
1982
+ tx,
1983
+ client,
1984
+ validateAddress(buyer),
1985
+ exports.USDC_TYPE,
1986
+ totalRaw,
1987
+ { allowSwapAll: false }
1988
+ );
1989
+ tx.moveCall({
1990
+ target: `${A2A_ESCROW_OPENING_PACKAGE_ID}::${MODULE3}::create_batch_open`,
1991
+ typeArguments: [exports.USDC_TYPE],
1992
+ arguments: [
1993
+ coin,
1994
+ tx.pure.u64(terms.slots),
1995
+ tx.pure.vector("u8", hexToBytes2(terms.specHash)),
1996
+ tx.pure.u64(terms.openUntilMs),
1997
+ tx.pure.u64(terms.slaMs),
1998
+ tx.pure.u64(terms.reviewWindowMs),
1999
+ tx.pure.u64(terms.rejectSplitBps),
2000
+ tx.pure.u8(terms.claimPolicy ?? OPENING_CLAIM_POLICY_ANY_ACTIVE),
2001
+ tx.pure.u8(terms.minSellerLevel ?? 0),
2002
+ tx.pure.u8(terms.maxClaimsPerAgent ?? 1),
2003
+ feeConfigArg(tx),
2004
+ tx.object(CLOCK_ID3)
2005
+ ]
2006
+ });
2007
+ return tx;
2008
+ }
2009
+ function buildBatchClaimTx({
2010
+ batchId,
2011
+ registryId,
2012
+ scoreId
2013
+ }) {
2014
+ if (!scoreId) {
2015
+ throw new exports.T2000Error(
2016
+ "INVALID_INPUT",
2017
+ "Claiming needs the claimer's own AgentScore id (derive with deriveAgentScoreId; create it first with buildCreateEmptyScoreTx when missing)."
2018
+ );
2019
+ }
2020
+ const tx = new transactions.Transaction();
2021
+ tx.moveCall({
2022
+ target: `${A2A_ESCROW_OPENING_PACKAGE_ID}::${MODULE3}::batch_claim`,
2023
+ typeArguments: [exports.USDC_TYPE],
2024
+ arguments: [
2025
+ tx.object(batchId),
2026
+ tx.object(registryId),
2027
+ tx.object(scoreId),
2028
+ feeConfigArg(tx),
2029
+ tx.object(CLOCK_ID3)
2030
+ ]
2031
+ });
2032
+ return tx;
2033
+ }
2034
+ function batchCall(batchId, fn) {
2035
+ const tx = new transactions.Transaction();
2036
+ tx.moveCall({
2037
+ target: `${A2A_ESCROW_OPENING_PACKAGE_ID}::${MODULE3}::${fn}`,
2038
+ typeArguments: [exports.USDC_TYPE],
2039
+ arguments: [tx.object(batchId), feeConfigArg(tx), tx.object(CLOCK_ID3)]
2040
+ });
2041
+ return tx;
2042
+ }
2043
+ function buildCancelBatchOpeningTx(batchId) {
2044
+ return batchCall(batchId, "cancel_batch_open");
2045
+ }
2046
+ function buildRefundBatchExpiredTx(batchId) {
2047
+ return batchCall(batchId, "refund_batch_expired");
2048
+ }
2049
+ function bytesToHex2(bytes) {
2050
+ return `0x${Array.from(bytes).map((b) => b.toString(16).padStart(2, "0")).join("")}`;
2051
+ }
2052
+ function hexToBytes2(hex) {
2053
+ const clean = hex.replace(/^0x/, "");
2054
+ const bytes = [];
2055
+ for (let i = 0; i < clean.length; i += 2) {
2056
+ bytes.push(Number.parseInt(clean.slice(i, i + 2), 16));
2057
+ }
2058
+ return bytes;
2059
+ }
2060
+ async function getBatchOpening(client, batchId) {
2061
+ const resp = await client.core.getObject({ objectId: batchId, include: { json: true } }).catch(() => null);
2062
+ const objType = resp?.object?.type ?? "";
2063
+ const json = resp?.object?.json;
2064
+ if (!json || !objType.includes(BATCH_OPENING_TYPE_MARKER)) {
2065
+ return null;
2066
+ }
2067
+ const table = json.claims_by_agent;
2068
+ return {
2069
+ id: batchId,
2070
+ buyer: String(json.buyer),
2071
+ amountUsdc: Number(json.amount) / 10 ** USDC_DECIMALS,
2072
+ slotsTotal: Number(json.slots_total),
2073
+ slotsRemaining: Number(json.slots_remaining),
2074
+ feeBps: Number(json.fee_bps ?? 0),
2075
+ specHash: bytesToHex2(json.spec_hash ?? []),
2076
+ openUntilMs: Number(json.open_until_ms),
2077
+ slaMs: Number(json.sla_ms),
2078
+ reviewWindowMs: Number(json.review_window_ms),
2079
+ rejectSplitBps: Number(json.reject_split_bps),
2080
+ claimPolicy: Number(json.claim_policy ?? 0),
2081
+ minSellerLevel: Number(json.min_seller_level ?? 0),
2082
+ maxClaimsPerAgent: Number(json.max_claims_per_agent ?? 1),
2083
+ claimsTableId: table?.id ? String(table.id) : null,
2084
+ createdAtMs: Number(json.created_at_ms ?? 0)
2085
+ };
2086
+ }
2087
+ async function getBatchClaimsByAgent(client, batch, agent) {
2088
+ if (!batch.claimsTableId) return 0;
2089
+ try {
2090
+ const fieldId = utils.deriveDynamicFieldID(
2091
+ batch.claimsTableId,
2092
+ "address",
2093
+ bcs.bcs.Address.serialize(validateAddress(agent)).toBytes()
2094
+ );
2095
+ const resp = await client.core.getObject({
2096
+ objectId: fieldId,
2097
+ include: { json: true }
2098
+ });
2099
+ const json = resp?.object?.json;
2100
+ return Number(json?.value ?? 0);
2101
+ } catch {
2102
+ return 0;
2103
+ }
2104
+ }
2105
+ function preflightBatchClaim(score, batch, myClaims) {
2106
+ if (batch.slotsRemaining <= 0) {
2107
+ return {
2108
+ valid: false,
2109
+ error: "No slots left on this batch \u2014 every slot is claimed. Find open waves on the board."
2110
+ };
2111
+ }
2112
+ if (myClaims >= batch.maxClaimsPerAgent) {
2113
+ return {
2114
+ valid: false,
2115
+ error: `This wave allows ${batch.maxClaimsPerAgent} slot${batch.maxClaimsPerAgent === 1 ? "" : "s"} per agent and this wallet already holds ${myClaims}. Deliver what you claimed; other waves on the board are open.`
2116
+ };
2117
+ }
2118
+ return preflightClaimOpening(score, batch);
2119
+ }
2120
+
1774
2121
  // src/commerce.ts
1775
2122
  var DEFAULT_COMMERCE_API_BASE = "https://api.t2000.ai/v1";
1776
2123
  async function commerceFetchJson(url, init) {
@@ -1863,10 +2210,14 @@ init_token_registry();
1863
2210
 
1864
2211
  exports.A2A_ESCROW_FEE_CONFIG_ID = A2A_ESCROW_FEE_CONFIG_ID;
1865
2212
  exports.A2A_ESCROW_PACKAGE_ID = A2A_ESCROW_PACKAGE_ID;
2213
+ exports.BATCH_ABORT_CODES = BATCH_ABORT_CODES;
2214
+ exports.BATCH_OPENING_TYPE_MARKER = BATCH_OPENING_TYPE_MARKER;
2215
+ exports.BATCH_ORIGIN_KEY_TYPE_SUFFIX = BATCH_ORIGIN_KEY_TYPE_SUFFIX;
1866
2216
  exports.CLOCK_ID = CLOCK_ID;
1867
2217
  exports.DEFAULT_ACTIVITY_REPORT_URL = DEFAULT_ACTIVITY_REPORT_URL;
1868
2218
  exports.DEFAULT_COMMERCE_API_BASE = DEFAULT_COMMERCE_API_BASE;
1869
2219
  exports.DEFAULT_NETWORK = DEFAULT_NETWORK;
2220
+ exports.ESCROW_ABORT_CODES = ESCROW_ABORT_CODES;
1870
2221
  exports.GAS_RESERVE_MIN = GAS_RESERVE_MIN;
1871
2222
  exports.JOB_STATES = JOB_STATES;
1872
2223
  exports.KNOWN_TARGETS = KNOWN_TARGETS;
@@ -1874,6 +2225,7 @@ exports.KeypairSigner = KeypairSigner;
1874
2225
  exports.LABEL_PATTERNS = LABEL_PATTERNS;
1875
2226
  exports.LEVEL4_MAX_NO_DELIVERY = LEVEL4_MAX_NO_DELIVERY;
1876
2227
  exports.LEVEL4_MIN_REVIEWS = LEVEL4_MIN_REVIEWS;
2228
+ exports.MAX_BATCH_SLOTS_DEFAULT = MAX_BATCH_SLOTS_DEFAULT;
1877
2229
  exports.MAX_DELIVER_HORIZON_MS = MAX_DELIVER_HORIZON_MS;
1878
2230
  exports.MAX_JOB_USDC = MAX_JOB_USDC;
1879
2231
  exports.MAX_REVIEW_WINDOW_MS = MAX_REVIEW_WINDOW_MS;
@@ -1889,6 +2241,7 @@ exports.PREFLIGHT_MAX_AMOUNT = PREFLIGHT_MAX_AMOUNT;
1889
2241
  exports.PREFLIGHT_OK = PREFLIGHT_OK;
1890
2242
  exports.PROVEN_MIN_AVG_STARS_X10 = PROVEN_MIN_AVG_STARS_X10;
1891
2243
  exports.PROVEN_MIN_REVIEWS = PROVEN_MIN_REVIEWS;
2244
+ exports.REPUTATION_ABORT_CODES = REPUTATION_ABORT_CODES;
1892
2245
  exports.REVIEW_MAX_STARS = REVIEW_MAX_STARS;
1893
2246
  exports.REVIEW_MIN_STARS = REVIEW_MIN_STARS;
1894
2247
  exports.SELLER_LEVEL_ACTIVE_CAPS = SELLER_LEVEL_ACTIVE_CAPS;
@@ -1899,8 +2252,12 @@ exports.T2000_OVERLAY_FEE_WALLET = T2000_OVERLAY_FEE_WALLET;
1899
2252
  exports.USDC_DECIMALS = USDC_DECIMALS;
1900
2253
  exports.ZkLoginSigner = ZkLoginSigner;
1901
2254
  exports.activeCapForLevel = activeCapForLevel;
2255
+ exports.buildBatchClaimTx = buildBatchClaimTx;
2256
+ exports.buildCancelBatchOpeningTx = buildCancelBatchOpeningTx;
2257
+ exports.buildCreateBatchOpeningTx = buildCreateBatchOpeningTx;
1902
2258
  exports.buildCreateJobTx = buildCreateJobTx;
1903
2259
  exports.buildDeliverJobTx = buildDeliverJobTx;
2260
+ exports.buildRefundBatchExpiredTx = buildRefundBatchExpiredTx;
1904
2261
  exports.buildRefundJobTx = buildRefundJobTx;
1905
2262
  exports.buildRejectJobTx = buildRejectJobTx;
1906
2263
  exports.buildReleaseJobTx = buildReleaseJobTx;
@@ -1929,9 +2286,12 @@ exports.formatSui = formatSui;
1929
2286
  exports.formatUsd = formatUsd;
1930
2287
  exports.fromBase64 = fromBase642;
1931
2288
  exports.getAgentScore = getAgentScore;
2289
+ exports.getBatchClaimsByAgent = getBatchClaimsByAgent;
2290
+ exports.getBatchOpening = getBatchOpening;
1932
2291
  exports.getDecimals = getDecimals;
1933
2292
  exports.getDecimalsForCoinType = getDecimalsForCoinType;
1934
2293
  exports.getJob = getJob;
2294
+ exports.getJobBatchOrigin = getJobBatchOrigin;
1935
2295
  exports.getJobSpec = getJobSpec;
1936
2296
  exports.invalidSendAssetMessage = invalidSendAssetMessage;
1937
2297
  exports.jobActionsFor = jobActionsFor;
@@ -1943,7 +2303,9 @@ exports.meetsMinSellerLevel = meetsMinSellerLevel;
1943
2303
  exports.mistToSui = mistToSui;
1944
2304
  exports.parseSuiRpcTx = parseSuiRpcTx;
1945
2305
  exports.payWithX402 = payWithX402;
2306
+ exports.preflightBatchClaim = preflightBatchClaim;
1946
2307
  exports.preflightClaimOpening = preflightClaimOpening;
2308
+ exports.preflightCreateBatchOpening = preflightCreateBatchOpening;
1947
2309
  exports.preflightCreateJob = preflightCreateJob;
1948
2310
  exports.preflightFail = preflightFail;
1949
2311
  exports.preflightPay = preflightPay;
@@ -1,4 +1,4 @@
1
- export { A as A2A_ESCROW_FEE_CONFIG_ID, a as A2A_ESCROW_PACKAGE_ID, b as ActivityReportConfig, c as AgentScore, B as BalanceResponse, C as CLOCK_ID, d as COIN_REGISTRY, e as ClassifyBalanceChange, f as ClassifyResult, g as CoinMeta, D as DEFAULT_ACTIVITY_REPORT_URL, h as DEFAULT_COMMERCE_API_BASE, i as DEFAULT_NETWORK, j as DepositInfo, E as ETH_TYPE, k as ExtractedTransfer, G as GAS_RESERVE_MIN, I as IKA_TYPE, J as JOB_STATES, l as Job, m as JobState, n as JobTerms, o as JobVerification, K as KNOWN_TARGETS, p as KeypairSigner, L as LABEL_PATTERNS, q as LEVEL4_MAX_NO_DELIVERY, r as LEVEL4_MIN_REVIEWS, s as LOFI_TYPE, M as MANIFEST_TYPE, t as MAX_DELIVER_HORIZON_MS, u as MAX_JOB_USDC, v as MAX_REVIEW_WINDOW_MS, w as MIN_JOB_USDC, x as MIST_PER_SUI, N as NAVX_TYPE, y as NO_DELIVERY_REGRESSION_FLOOR, O as OPENING_CLAIM_POLICIES, z as OPENING_CLAIM_POLICY_ANY_ACTIVE, F as OPENING_CLAIM_POLICY_PROVEN, H as OPENING_CLAIM_POLICY_PROVEN_4STAR, P as OVERLAY_FEE_RATE, Q as OverlayFeeConfig, R as PREFLIGHT_MAX_AMOUNT, S as PREFLIGHT_OK, T as PROVEN_MIN_AVG_STARS_X10, U as PROVEN_MIN_REVIEWS, V as PayOptions, W as PayResult, X as PreflightResult, Y as REVIEW_MAX_STARS, Z as REVIEW_MIN_STARS, _ as SELLER_LEVEL_ACTIVE_CAPS, $ as STABLE_ASSETS, a0 as SUI_DECIMALS, a1 as SUI_TYPE, a2 as SUPPORTED_ASSETS, a3 as SellerLevel, a4 as SendAssetClass, a5 as SendResult, a6 as ServiceListing, a7 as SimulationResult, a8 as StableAsset, a9 as SuiHolding, aa as SuiRpcTxBlock, ab as SupportedAsset, ac as SwapRouteResult, ad as T2000Error, ae as T2000ErrorCode, af as T2000ErrorData, ag as T2000_OVERLAY_FEE_WALLET, ah as TOKEN_MAP, ai as TransactionLeg, aj as TransactionRecord, ak as TransactionSigner, al as TxDirection, am as USDC_DECIMALS, an as USDC_TYPE, ao as USDE_TYPE, ap as USDSUI_TYPE, aq as USDT_TYPE, ar as WAL_TYPE, as as WBTC_TYPE, at as X402ActivityPayload, au as ZkLoginProof, av as ZkLoginSigner, aw as activeCapForLevel, ax as buildCreateJobTx, ay as buildDeliverJobTx, az as buildRefundJobTx, aA as buildRejectJobTx, aB as buildReleaseJobTx, aC as buildSendTx, aD as buildSwapTx, aE as checkPositiveAmount, aF as checkSuiAddress, aG as claimPolicyLabel, aH as claimPolicyRequirement, aI as classifyAction, aJ as classifyLabel, aK as classifySendAsset, aL as classifyTransaction, aM as deriveAgentScoreId, aN as effectiveSellerLevel, aO as executeTx, aP as extractAllUserLegs, aQ as extractTransferDetails, aR as extractTxCommands, aS as extractTxSender, aT as fallbackLabel, aU as fetchService, aV as findSwapRoute, aW as formatAssetAmount, aX as formatSui, aY as formatUsd, aZ as getAgentScore, a_ as getDecimals, a$ as getDecimalsForCoinType, b0 as getJob, b1 as getJobSpec, b2 as invalidSendAssetMessage, b3 as jobActionsFor, b4 as listServices, b5 as mapMoveAbortCode, b6 as mapWalletError, b7 as meetsClaimPolicy, b8 as meetsMinSellerLevel, b9 as mistToSui, ba as parseSuiRpcTx, bb as payWithX402, bc as preflightClaimOpening, bd as preflightCreateJob, be as preflightFail, bf as preflightPay, bg as preflightSend, bh as preflightSwap, bi as putJobSpec, bj as rawToStable, bk as rawToUsdc, bl as refineLendingLabel, bm as reportX402Activity, bn as resolveSymbol, bo as resolveTokenType, bp as sellerLevel, bq as sellerLevelLabel, br as stableToRaw, bs as suiToMist, bt as truncateAddress, bu as usdcToRaw, bv as validateAddress, bw as verifyJobForSeller } from './commerce-D14qzqAV.cjs';
1
+ export { A as A2A_ESCROW_FEE_CONFIG_ID, a as A2A_ESCROW_PACKAGE_ID, b as ActivityReportConfig, c as AgentScore, B as BATCH_ABORT_CODES, d as BATCH_OPENING_TYPE_MARKER, e as BATCH_ORIGIN_KEY_TYPE_SUFFIX, f as BalanceResponse, g as BatchOpening, h as BatchOpeningTerms, C as CLOCK_ID, i as COIN_REGISTRY, j as ClassifyBalanceChange, k as ClassifyResult, l as CoinMeta, D as DEFAULT_ACTIVITY_REPORT_URL, m as DEFAULT_COMMERCE_API_BASE, n as DEFAULT_NETWORK, o as DepositInfo, E as ESCROW_ABORT_CODES, p as ETH_TYPE, q as ExtractedTransfer, G as GAS_RESERVE_MIN, I as IKA_TYPE, J as JOB_STATES, r as Job, s as JobState, t as JobTerms, u as JobVerification, K as KNOWN_TARGETS, v as KeypairSigner, L as LABEL_PATTERNS, w as LEVEL4_MAX_NO_DELIVERY, x as LEVEL4_MIN_REVIEWS, y as LOFI_TYPE, M as MANIFEST_TYPE, z as MAX_BATCH_SLOTS_DEFAULT, F as MAX_DELIVER_HORIZON_MS, H as MAX_JOB_USDC, N as MAX_REVIEW_WINDOW_MS, O as MIN_JOB_USDC, P as MIST_PER_SUI, Q as NAVX_TYPE, R as NO_DELIVERY_REGRESSION_FLOOR, S as OPENING_CLAIM_POLICIES, T as OPENING_CLAIM_POLICY_ANY_ACTIVE, U as OPENING_CLAIM_POLICY_PROVEN, V as OPENING_CLAIM_POLICY_PROVEN_4STAR, W as OVERLAY_FEE_RATE, X as OverlayFeeConfig, Y as PREFLIGHT_MAX_AMOUNT, Z as PREFLIGHT_OK, _ as PROVEN_MIN_AVG_STARS_X10, $ as PROVEN_MIN_REVIEWS, a0 as PayOptions, a1 as PayResult, a2 as PreflightResult, a3 as REPUTATION_ABORT_CODES, a4 as REVIEW_MAX_STARS, a5 as REVIEW_MIN_STARS, a6 as SELLER_LEVEL_ACTIVE_CAPS, a7 as STABLE_ASSETS, a8 as SUI_DECIMALS, a9 as SUI_TYPE, aa as SUPPORTED_ASSETS, ab as SellerLevel, ac as SendAssetClass, ad as SendResult, ae as ServiceListing, af as SimulationResult, ag as StableAsset, ah as SuiHolding, ai as SuiRpcTxBlock, aj as SupportedAsset, ak as SwapRouteResult, al as T2000Error, am as T2000ErrorCode, an as T2000ErrorData, ao as T2000_OVERLAY_FEE_WALLET, ap as TOKEN_MAP, aq as TransactionLeg, ar as TransactionRecord, as as TransactionSigner, at as TxDirection, au as USDC_DECIMALS, av as USDC_TYPE, aw as USDE_TYPE, ax as USDSUI_TYPE, ay as USDT_TYPE, az as WAL_TYPE, aA as WBTC_TYPE, aB as X402ActivityPayload, aC as ZkLoginProof, aD as ZkLoginSigner, aE as activeCapForLevel, aF as buildBatchClaimTx, aG as buildCancelBatchOpeningTx, aH as buildCreateBatchOpeningTx, aI as buildCreateJobTx, aJ as buildDeliverJobTx, aK as buildRefundBatchExpiredTx, aL as buildRefundJobTx, aM as buildRejectJobTx, aN as buildReleaseJobTx, aO as buildSendTx, aP as buildSwapTx, aQ as checkPositiveAmount, aR as checkSuiAddress, aS as claimPolicyLabel, aT as claimPolicyRequirement, aU as classifyAction, aV as classifyLabel, aW as classifySendAsset, aX as classifyTransaction, aY as deriveAgentScoreId, aZ as effectiveSellerLevel, a_ as executeTx, a$ as extractAllUserLegs, b0 as extractTransferDetails, b1 as extractTxCommands, b2 as extractTxSender, b3 as fallbackLabel, b4 as fetchService, b5 as findSwapRoute, b6 as formatAssetAmount, b7 as formatSui, b8 as formatUsd, b9 as getAgentScore, ba as getBatchClaimsByAgent, bb as getBatchOpening, bc as getDecimals, bd as getDecimalsForCoinType, be as getJob, bf as getJobBatchOrigin, bg as getJobSpec, bh as invalidSendAssetMessage, bi as jobActionsFor, bj as listServices, bk as mapMoveAbortCode, bl as mapWalletError, bm as meetsClaimPolicy, bn as meetsMinSellerLevel, bo as mistToSui, bp as parseSuiRpcTx, bq as payWithX402, br as preflightBatchClaim, bs as preflightClaimOpening, bt as preflightCreateBatchOpening, bu as preflightCreateJob, bv as preflightFail, bw as preflightPay, bx as preflightSend, by as preflightSwap, bz as putJobSpec, bA as rawToStable, bB as rawToUsdc, bC as refineLendingLabel, bD as reportX402Activity, bE as resolveSymbol, bF as resolveTokenType, bG as sellerLevel, bH as sellerLevelLabel, bI as stableToRaw, bJ as suiToMist, bK as truncateAddress, bL as usdcToRaw, bM as validateAddress, bN as verifyJobForSeller } from './commerce-3ztE5Gg3.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_FEE_CONFIG_ID, a as A2A_ESCROW_PACKAGE_ID, b as ActivityReportConfig, c as AgentScore, B as BalanceResponse, C as CLOCK_ID, d as COIN_REGISTRY, e as ClassifyBalanceChange, f as ClassifyResult, g as CoinMeta, D as DEFAULT_ACTIVITY_REPORT_URL, h as DEFAULT_COMMERCE_API_BASE, i as DEFAULT_NETWORK, j as DepositInfo, E as ETH_TYPE, k as ExtractedTransfer, G as GAS_RESERVE_MIN, I as IKA_TYPE, J as JOB_STATES, l as Job, m as JobState, n as JobTerms, o as JobVerification, K as KNOWN_TARGETS, p as KeypairSigner, L as LABEL_PATTERNS, q as LEVEL4_MAX_NO_DELIVERY, r as LEVEL4_MIN_REVIEWS, s as LOFI_TYPE, M as MANIFEST_TYPE, t as MAX_DELIVER_HORIZON_MS, u as MAX_JOB_USDC, v as MAX_REVIEW_WINDOW_MS, w as MIN_JOB_USDC, x as MIST_PER_SUI, N as NAVX_TYPE, y as NO_DELIVERY_REGRESSION_FLOOR, O as OPENING_CLAIM_POLICIES, z as OPENING_CLAIM_POLICY_ANY_ACTIVE, F as OPENING_CLAIM_POLICY_PROVEN, H as OPENING_CLAIM_POLICY_PROVEN_4STAR, P as OVERLAY_FEE_RATE, Q as OverlayFeeConfig, R as PREFLIGHT_MAX_AMOUNT, S as PREFLIGHT_OK, T as PROVEN_MIN_AVG_STARS_X10, U as PROVEN_MIN_REVIEWS, V as PayOptions, W as PayResult, X as PreflightResult, Y as REVIEW_MAX_STARS, Z as REVIEW_MIN_STARS, _ as SELLER_LEVEL_ACTIVE_CAPS, $ as STABLE_ASSETS, a0 as SUI_DECIMALS, a1 as SUI_TYPE, a2 as SUPPORTED_ASSETS, a3 as SellerLevel, a4 as SendAssetClass, a5 as SendResult, a6 as ServiceListing, a7 as SimulationResult, a8 as StableAsset, a9 as SuiHolding, aa as SuiRpcTxBlock, ab as SupportedAsset, ac as SwapRouteResult, ad as T2000Error, ae as T2000ErrorCode, af as T2000ErrorData, ag as T2000_OVERLAY_FEE_WALLET, ah as TOKEN_MAP, ai as TransactionLeg, aj as TransactionRecord, ak as TransactionSigner, al as TxDirection, am as USDC_DECIMALS, an as USDC_TYPE, ao as USDE_TYPE, ap as USDSUI_TYPE, aq as USDT_TYPE, ar as WAL_TYPE, as as WBTC_TYPE, at as X402ActivityPayload, au as ZkLoginProof, av as ZkLoginSigner, aw as activeCapForLevel, ax as buildCreateJobTx, ay as buildDeliverJobTx, az as buildRefundJobTx, aA as buildRejectJobTx, aB as buildReleaseJobTx, aC as buildSendTx, aD as buildSwapTx, aE as checkPositiveAmount, aF as checkSuiAddress, aG as claimPolicyLabel, aH as claimPolicyRequirement, aI as classifyAction, aJ as classifyLabel, aK as classifySendAsset, aL as classifyTransaction, aM as deriveAgentScoreId, aN as effectiveSellerLevel, aO as executeTx, aP as extractAllUserLegs, aQ as extractTransferDetails, aR as extractTxCommands, aS as extractTxSender, aT as fallbackLabel, aU as fetchService, aV as findSwapRoute, aW as formatAssetAmount, aX as formatSui, aY as formatUsd, aZ as getAgentScore, a_ as getDecimals, a$ as getDecimalsForCoinType, b0 as getJob, b1 as getJobSpec, b2 as invalidSendAssetMessage, b3 as jobActionsFor, b4 as listServices, b5 as mapMoveAbortCode, b6 as mapWalletError, b7 as meetsClaimPolicy, b8 as meetsMinSellerLevel, b9 as mistToSui, ba as parseSuiRpcTx, bb as payWithX402, bc as preflightClaimOpening, bd as preflightCreateJob, be as preflightFail, bf as preflightPay, bg as preflightSend, bh as preflightSwap, bi as putJobSpec, bj as rawToStable, bk as rawToUsdc, bl as refineLendingLabel, bm as reportX402Activity, bn as resolveSymbol, bo as resolveTokenType, bp as sellerLevel, bq as sellerLevelLabel, br as stableToRaw, bs as suiToMist, bt as truncateAddress, bu as usdcToRaw, bv as validateAddress, bw as verifyJobForSeller } from './commerce-D14qzqAV.js';
1
+ export { A as A2A_ESCROW_FEE_CONFIG_ID, a as A2A_ESCROW_PACKAGE_ID, b as ActivityReportConfig, c as AgentScore, B as BATCH_ABORT_CODES, d as BATCH_OPENING_TYPE_MARKER, e as BATCH_ORIGIN_KEY_TYPE_SUFFIX, f as BalanceResponse, g as BatchOpening, h as BatchOpeningTerms, C as CLOCK_ID, i as COIN_REGISTRY, j as ClassifyBalanceChange, k as ClassifyResult, l as CoinMeta, D as DEFAULT_ACTIVITY_REPORT_URL, m as DEFAULT_COMMERCE_API_BASE, n as DEFAULT_NETWORK, o as DepositInfo, E as ESCROW_ABORT_CODES, p as ETH_TYPE, q as ExtractedTransfer, G as GAS_RESERVE_MIN, I as IKA_TYPE, J as JOB_STATES, r as Job, s as JobState, t as JobTerms, u as JobVerification, K as KNOWN_TARGETS, v as KeypairSigner, L as LABEL_PATTERNS, w as LEVEL4_MAX_NO_DELIVERY, x as LEVEL4_MIN_REVIEWS, y as LOFI_TYPE, M as MANIFEST_TYPE, z as MAX_BATCH_SLOTS_DEFAULT, F as MAX_DELIVER_HORIZON_MS, H as MAX_JOB_USDC, N as MAX_REVIEW_WINDOW_MS, O as MIN_JOB_USDC, P as MIST_PER_SUI, Q as NAVX_TYPE, R as NO_DELIVERY_REGRESSION_FLOOR, S as OPENING_CLAIM_POLICIES, T as OPENING_CLAIM_POLICY_ANY_ACTIVE, U as OPENING_CLAIM_POLICY_PROVEN, V as OPENING_CLAIM_POLICY_PROVEN_4STAR, W as OVERLAY_FEE_RATE, X as OverlayFeeConfig, Y as PREFLIGHT_MAX_AMOUNT, Z as PREFLIGHT_OK, _ as PROVEN_MIN_AVG_STARS_X10, $ as PROVEN_MIN_REVIEWS, a0 as PayOptions, a1 as PayResult, a2 as PreflightResult, a3 as REPUTATION_ABORT_CODES, a4 as REVIEW_MAX_STARS, a5 as REVIEW_MIN_STARS, a6 as SELLER_LEVEL_ACTIVE_CAPS, a7 as STABLE_ASSETS, a8 as SUI_DECIMALS, a9 as SUI_TYPE, aa as SUPPORTED_ASSETS, ab as SellerLevel, ac as SendAssetClass, ad as SendResult, ae as ServiceListing, af as SimulationResult, ag as StableAsset, ah as SuiHolding, ai as SuiRpcTxBlock, aj as SupportedAsset, ak as SwapRouteResult, al as T2000Error, am as T2000ErrorCode, an as T2000ErrorData, ao as T2000_OVERLAY_FEE_WALLET, ap as TOKEN_MAP, aq as TransactionLeg, ar as TransactionRecord, as as TransactionSigner, at as TxDirection, au as USDC_DECIMALS, av as USDC_TYPE, aw as USDE_TYPE, ax as USDSUI_TYPE, ay as USDT_TYPE, az as WAL_TYPE, aA as WBTC_TYPE, aB as X402ActivityPayload, aC as ZkLoginProof, aD as ZkLoginSigner, aE as activeCapForLevel, aF as buildBatchClaimTx, aG as buildCancelBatchOpeningTx, aH as buildCreateBatchOpeningTx, aI as buildCreateJobTx, aJ as buildDeliverJobTx, aK as buildRefundBatchExpiredTx, aL as buildRefundJobTx, aM as buildRejectJobTx, aN as buildReleaseJobTx, aO as buildSendTx, aP as buildSwapTx, aQ as checkPositiveAmount, aR as checkSuiAddress, aS as claimPolicyLabel, aT as claimPolicyRequirement, aU as classifyAction, aV as classifyLabel, aW as classifySendAsset, aX as classifyTransaction, aY as deriveAgentScoreId, aZ as effectiveSellerLevel, a_ as executeTx, a$ as extractAllUserLegs, b0 as extractTransferDetails, b1 as extractTxCommands, b2 as extractTxSender, b3 as fallbackLabel, b4 as fetchService, b5 as findSwapRoute, b6 as formatAssetAmount, b7 as formatSui, b8 as formatUsd, b9 as getAgentScore, ba as getBatchClaimsByAgent, bb as getBatchOpening, bc as getDecimals, bd as getDecimalsForCoinType, be as getJob, bf as getJobBatchOrigin, bg as getJobSpec, bh as invalidSendAssetMessage, bi as jobActionsFor, bj as listServices, bk as mapMoveAbortCode, bl as mapWalletError, bm as meetsClaimPolicy, bn as meetsMinSellerLevel, bo as mistToSui, bp as parseSuiRpcTx, bq as payWithX402, br as preflightBatchClaim, bs as preflightClaimOpening, bt as preflightCreateBatchOpening, bu as preflightCreateJob, bv as preflightFail, bw as preflightPay, bx as preflightSend, by as preflightSwap, bz as putJobSpec, bA as rawToStable, bB as rawToUsdc, bC as refineLendingLabel, bD as reportX402Activity, bE as resolveSymbol, bF as resolveTokenType, bG as sellerLevel, bH as sellerLevelLabel, bI as stableToRaw, bJ as suiToMist, bK as truncateAddress, bL as usdcToRaw, bM as validateAddress, bN as verifyJobForSeller } from './commerce-3ztE5Gg3.js';
2
2
  import '@mysten/sui/keypairs/ed25519';
3
3
  import '@mysten/sui/grpc';
4
4
  import '@mysten/sui/client';