@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 +370 -8
- package/dist/browser.d.cts +1 -1
- package/dist/browser.d.ts +1 -1
- package/dist/browser.js +356 -9
- package/dist/{commerce-D14qzqAV.d.cts → commerce-3ztE5Gg3.d.cts} +178 -8
- package/dist/{commerce-D14qzqAV.d.ts → commerce-3ztE5Gg3.d.ts} +178 -8
- package/dist/index.cjs +322 -1
- package/dist/index.d.cts +43 -4
- package/dist/index.d.ts +43 -4
- package/dist/index.js +302 -2
- package/package.json +2 -2
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 = "
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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;
|
package/dist/browser.d.cts
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,
|
|
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,
|
|
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';
|