@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.
- package/dist/browser.cjs +39 -4
- package/dist/browser.cjs.map +1 -1
- package/dist/browser.d.cts +1 -1
- package/dist/browser.d.ts +1 -1
- package/dist/browser.js +37 -5
- package/dist/browser.js.map +1 -1
- package/dist/index.cjs +39 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +37 -5
- package/dist/index.js.map +1 -1
- package/dist/{job-CSq0DRsC.d.cts → job-DXi8e8eA.d.cts} +16 -4
- package/dist/{job-CSq0DRsC.d.ts → job-DXi8e8eA.d.ts} +16 -4
- package/package.json +2 -2
package/dist/browser.cjs
CHANGED
|
@@ -556,6 +556,19 @@ async function payWithMpp(args) {
|
|
|
556
556
|
}
|
|
557
557
|
const requirements = await pickSuiExactRequirements(probe, client.network);
|
|
558
558
|
if (requirements) {
|
|
559
|
+
const { isX402EscrowRequirements } = await import('@suimpp/mpp/x402');
|
|
560
|
+
if (isX402EscrowRequirements(requirements)) {
|
|
561
|
+
const escrow = requirements.extra.escrow;
|
|
562
|
+
const price = atomicToHuman(
|
|
563
|
+
BigInt(requirements.maxAmountRequired),
|
|
564
|
+
await assetDecimals(requirements.asset)
|
|
565
|
+
);
|
|
566
|
+
throw new exports.T2000Error(
|
|
567
|
+
"ESCROW_REQUIRED",
|
|
568
|
+
`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.`,
|
|
569
|
+
{ payTo: requirements.payTo, priceUsdc: price, escrow }
|
|
570
|
+
);
|
|
571
|
+
}
|
|
559
572
|
const result = await payViaX402({ signer, client, options, reqInit, requirements });
|
|
560
573
|
await reportDirectPayment(result, options.url);
|
|
561
574
|
return result;
|
|
@@ -1318,10 +1331,23 @@ async function buildSendTx({
|
|
|
1318
1331
|
init_errors();
|
|
1319
1332
|
init_token_registry();
|
|
1320
1333
|
init_coinSelection();
|
|
1321
|
-
var A2A_ESCROW_PACKAGE_ID = process.env.A2A_ESCROW_PACKAGE_ID ?? "
|
|
1334
|
+
var A2A_ESCROW_PACKAGE_ID = process.env.A2A_ESCROW_PACKAGE_ID ?? "0x88de0d2a5f36691c0b198637350b9cedfa9ba300ed322851b184bda97859508b";
|
|
1335
|
+
var A2A_ESCROW_FEE_CONFIG_ID = process.env.A2A_ESCROW_FEE_CONFIG_ID ?? "0x2800f55a924c408ecdebfd20bafa03257f0830426720e5ad5cb26294e82f038f";
|
|
1336
|
+
var A2A_ESCROW_FEE_CONFIG_VERSION = Number(
|
|
1337
|
+
process.env.A2A_ESCROW_FEE_CONFIG_VERSION ?? 790540335
|
|
1338
|
+
);
|
|
1322
1339
|
var CLOCK_ID2 = "0x6";
|
|
1323
1340
|
var MODULE = "escrow";
|
|
1341
|
+
function feeConfigArg(tx) {
|
|
1342
|
+
return tx.sharedObjectRef({
|
|
1343
|
+
objectId: A2A_ESCROW_FEE_CONFIG_ID,
|
|
1344
|
+
initialSharedVersion: A2A_ESCROW_FEE_CONFIG_VERSION,
|
|
1345
|
+
mutable: false
|
|
1346
|
+
});
|
|
1347
|
+
}
|
|
1324
1348
|
var MAX_JOB_USDC = 50;
|
|
1349
|
+
var MAX_REVIEW_WINDOW_MS = 2592e6;
|
|
1350
|
+
var MAX_DELIVER_HORIZON_MS = 31536e6;
|
|
1325
1351
|
var JOB_STATES = [
|
|
1326
1352
|
"funded",
|
|
1327
1353
|
"delivered",
|
|
@@ -1364,8 +1390,11 @@ function preflightCreateJob(terms) {
|
|
|
1364
1390
|
if (terms.deliverByMs <= Date.now()) {
|
|
1365
1391
|
return preflightFail("INVALID_AMOUNT", "deliverByMs must be in the future.");
|
|
1366
1392
|
}
|
|
1367
|
-
if (terms.
|
|
1368
|
-
return preflightFail("INVALID_AMOUNT", "
|
|
1393
|
+
if (terms.deliverByMs > Date.now() + MAX_DELIVER_HORIZON_MS) {
|
|
1394
|
+
return preflightFail("INVALID_AMOUNT", "deliverByMs is more than 365 days out.");
|
|
1395
|
+
}
|
|
1396
|
+
if (terms.reviewWindowMs < 0 || terms.reviewWindowMs > MAX_REVIEW_WINDOW_MS) {
|
|
1397
|
+
return preflightFail("INVALID_AMOUNT", "reviewWindowMs must be 0\u201330 days.");
|
|
1369
1398
|
}
|
|
1370
1399
|
if (!Number.isInteger(terms.rejectSplitBps) || terms.rejectSplitBps < 0 || terms.rejectSplitBps > 1e4) {
|
|
1371
1400
|
return preflightFail("INVALID_AMOUNT", "rejectSplitBps must be an integer 0\u201310000.");
|
|
@@ -1403,6 +1432,7 @@ async function buildCreateJobTx({
|
|
|
1403
1432
|
tx.pure.u64(terms.deliverByMs),
|
|
1404
1433
|
tx.pure.u64(terms.reviewWindowMs),
|
|
1405
1434
|
tx.pure.u64(terms.rejectSplitBps),
|
|
1435
|
+
feeConfigArg(tx),
|
|
1406
1436
|
tx.object(CLOCK_ID2)
|
|
1407
1437
|
]
|
|
1408
1438
|
});
|
|
@@ -1413,7 +1443,7 @@ function jobCall(jobId, fn) {
|
|
|
1413
1443
|
tx.moveCall({
|
|
1414
1444
|
target: `${A2A_ESCROW_PACKAGE_ID}::${MODULE}::${fn}`,
|
|
1415
1445
|
typeArguments: [exports.USDC_TYPE],
|
|
1416
|
-
arguments: [tx.object(jobId), tx.object(CLOCK_ID2)]
|
|
1446
|
+
arguments: [tx.object(jobId), feeConfigArg(tx), tx.object(CLOCK_ID2)]
|
|
1417
1447
|
});
|
|
1418
1448
|
return tx;
|
|
1419
1449
|
}
|
|
@@ -1425,6 +1455,7 @@ function buildDeliverJobTx(jobId, deliveryHash) {
|
|
|
1425
1455
|
arguments: [
|
|
1426
1456
|
tx.object(jobId),
|
|
1427
1457
|
tx.pure.vector("u8", hexToBytes(deliveryHash)),
|
|
1458
|
+
feeConfigArg(tx),
|
|
1428
1459
|
tx.object(CLOCK_ID2)
|
|
1429
1460
|
]
|
|
1430
1461
|
});
|
|
@@ -1465,6 +1496,7 @@ async function getJob(client, jobId) {
|
|
|
1465
1496
|
seller: String(json.seller),
|
|
1466
1497
|
amountUsdc: Number(json.amount) / 10 ** USDC_DECIMALS,
|
|
1467
1498
|
escrowUsdc: Number(json.escrow) / 10 ** USDC_DECIMALS,
|
|
1499
|
+
feeBps: Number(json.fee_bps ?? 0),
|
|
1468
1500
|
specHash: bytesToHex(json.spec_hash ?? []),
|
|
1469
1501
|
deliverByMs: Number(json.deliver_by_ms),
|
|
1470
1502
|
reviewWindowMs: Number(json.review_window_ms),
|
|
@@ -1518,6 +1550,7 @@ async function verifyJobForSeller({
|
|
|
1518
1550
|
// src/browser.ts
|
|
1519
1551
|
init_token_registry();
|
|
1520
1552
|
|
|
1553
|
+
exports.A2A_ESCROW_FEE_CONFIG_ID = A2A_ESCROW_FEE_CONFIG_ID;
|
|
1521
1554
|
exports.A2A_ESCROW_PACKAGE_ID = A2A_ESCROW_PACKAGE_ID;
|
|
1522
1555
|
exports.CLOCK_ID = CLOCK_ID;
|
|
1523
1556
|
exports.DEFAULT_NETWORK = DEFAULT_NETWORK;
|
|
@@ -1526,7 +1559,9 @@ exports.JOB_STATES = JOB_STATES;
|
|
|
1526
1559
|
exports.KNOWN_TARGETS = KNOWN_TARGETS;
|
|
1527
1560
|
exports.KeypairSigner = KeypairSigner;
|
|
1528
1561
|
exports.LABEL_PATTERNS = LABEL_PATTERNS;
|
|
1562
|
+
exports.MAX_DELIVER_HORIZON_MS = MAX_DELIVER_HORIZON_MS;
|
|
1529
1563
|
exports.MAX_JOB_USDC = MAX_JOB_USDC;
|
|
1564
|
+
exports.MAX_REVIEW_WINDOW_MS = MAX_REVIEW_WINDOW_MS;
|
|
1530
1565
|
exports.MIST_PER_SUI = MIST_PER_SUI;
|
|
1531
1566
|
exports.OVERLAY_FEE_RATE = OVERLAY_FEE_RATE;
|
|
1532
1567
|
exports.PREFLIGHT_MAX_AMOUNT = PREFLIGHT_MAX_AMOUNT;
|