@t2000/sdk 9.6.0 → 9.7.1
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 +213 -0
- 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 +202 -1
- package/dist/browser.js.map +1 -1
- package/dist/index.cjs +216 -0
- 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 +205 -1
- package/dist/index.js.map +1 -1
- package/dist/{send-YAYf0YR3.d.cts → job-CSq0DRsC.d.cts} +107 -1
- package/dist/{send-YAYf0YR3.d.ts → job-CSq0DRsC.d.ts} +107 -1
- package/package.json +1 -1
package/dist/browser.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { 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, K as KNOWN_TARGETS,
|
|
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';
|
|
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 { 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, K as KNOWN_TARGETS,
|
|
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';
|
|
2
2
|
import '@mysten/sui/keypairs/ed25519';
|
|
3
3
|
import '@mysten/sui/grpc';
|
|
4
4
|
import '@mysten/sui/client';
|
package/dist/browser.js
CHANGED
|
@@ -1312,9 +1312,210 @@ async function buildSendTx({
|
|
|
1312
1312
|
return tx;
|
|
1313
1313
|
}
|
|
1314
1314
|
|
|
1315
|
+
// src/wallet/job.ts
|
|
1316
|
+
init_errors();
|
|
1317
|
+
init_token_registry();
|
|
1318
|
+
init_coinSelection();
|
|
1319
|
+
var A2A_ESCROW_PACKAGE_ID = process.env.A2A_ESCROW_PACKAGE_ID ?? "0x9e67c380fb7079d793d6d15ff916b24d82779d7119bfa4631863102ed485c0a0";
|
|
1320
|
+
var CLOCK_ID2 = "0x6";
|
|
1321
|
+
var MODULE = "escrow";
|
|
1322
|
+
var MAX_JOB_USDC = 50;
|
|
1323
|
+
var JOB_STATES = [
|
|
1324
|
+
"funded",
|
|
1325
|
+
"delivered",
|
|
1326
|
+
"released",
|
|
1327
|
+
"refunded",
|
|
1328
|
+
"rejected"
|
|
1329
|
+
];
|
|
1330
|
+
function hexToBytes(hex) {
|
|
1331
|
+
const clean = hex.startsWith("0x") ? hex.slice(2) : hex;
|
|
1332
|
+
if (clean.length === 0 || clean.length % 2 !== 0 || /[^0-9a-fA-F]/.test(clean)) {
|
|
1333
|
+
throw new T2000Error(
|
|
1334
|
+
"INVALID_AMOUNT",
|
|
1335
|
+
`Expected a hex hash (0x\u2026), got "${hex.slice(0, 32)}"`
|
|
1336
|
+
);
|
|
1337
|
+
}
|
|
1338
|
+
const out = [];
|
|
1339
|
+
for (let i = 0; i < clean.length; i += 2) {
|
|
1340
|
+
out.push(Number.parseInt(clean.slice(i, i + 2), 16));
|
|
1341
|
+
}
|
|
1342
|
+
return out;
|
|
1343
|
+
}
|
|
1344
|
+
function bytesToHex(bytes) {
|
|
1345
|
+
const arr = typeof bytes === "string" ? Array.from(atob(bytes), (c) => c.charCodeAt(0)) : bytes;
|
|
1346
|
+
let s = "0x";
|
|
1347
|
+
for (const b of arr) s += b.toString(16).padStart(2, "0");
|
|
1348
|
+
return s;
|
|
1349
|
+
}
|
|
1350
|
+
function preflightCreateJob(terms) {
|
|
1351
|
+
const addressCheck = checkSuiAddress(terms.seller);
|
|
1352
|
+
if (!addressCheck.valid) return addressCheck;
|
|
1353
|
+
if (!Number.isFinite(terms.amountUsdc) || terms.amountUsdc <= 0) {
|
|
1354
|
+
return preflightFail("INVALID_AMOUNT", `Amount must be positive. Got ${terms.amountUsdc}.`);
|
|
1355
|
+
}
|
|
1356
|
+
if (terms.amountUsdc > MAX_JOB_USDC) {
|
|
1357
|
+
return preflightFail(
|
|
1358
|
+
"INVALID_AMOUNT",
|
|
1359
|
+
`v1 caps escrow jobs at ${MAX_JOB_USDC} USDC (no-arbitration split only stays fair at small sizes). Got ${terms.amountUsdc}.`
|
|
1360
|
+
);
|
|
1361
|
+
}
|
|
1362
|
+
if (terms.deliverByMs <= Date.now()) {
|
|
1363
|
+
return preflightFail("INVALID_AMOUNT", "deliverByMs must be in the future.");
|
|
1364
|
+
}
|
|
1365
|
+
if (terms.reviewWindowMs < 0) {
|
|
1366
|
+
return preflightFail("INVALID_AMOUNT", "reviewWindowMs must be \u2265 0.");
|
|
1367
|
+
}
|
|
1368
|
+
if (!Number.isInteger(terms.rejectSplitBps) || terms.rejectSplitBps < 0 || terms.rejectSplitBps > 1e4) {
|
|
1369
|
+
return preflightFail("INVALID_AMOUNT", "rejectSplitBps must be an integer 0\u201310000.");
|
|
1370
|
+
}
|
|
1371
|
+
try {
|
|
1372
|
+
hexToBytes(terms.specHash);
|
|
1373
|
+
} catch (e) {
|
|
1374
|
+
return preflightFail("INVALID_AMOUNT", e.message);
|
|
1375
|
+
}
|
|
1376
|
+
return PREFLIGHT_OK;
|
|
1377
|
+
}
|
|
1378
|
+
async function buildCreateJobTx({
|
|
1379
|
+
client,
|
|
1380
|
+
buyer,
|
|
1381
|
+
terms
|
|
1382
|
+
}) {
|
|
1383
|
+
const pf = preflightCreateJob(terms);
|
|
1384
|
+
if (!pf.valid) throw new T2000Error(pf.code, pf.error);
|
|
1385
|
+
const seller = validateAddress(terms.seller);
|
|
1386
|
+
if (seller === validateAddress(buyer)) {
|
|
1387
|
+
throw new T2000Error("INVALID_ADDRESS", "Buyer and seller must be different wallets.");
|
|
1388
|
+
}
|
|
1389
|
+
const rawAmount = BigInt(Math.floor(terms.amountUsdc * 10 ** USDC_DECIMALS));
|
|
1390
|
+
const tx = new Transaction();
|
|
1391
|
+
const { coin } = await selectAndSplitCoin(tx, client, buyer, USDC_TYPE, rawAmount, {
|
|
1392
|
+
allowSwapAll: false
|
|
1393
|
+
});
|
|
1394
|
+
tx.moveCall({
|
|
1395
|
+
target: `${A2A_ESCROW_PACKAGE_ID}::${MODULE}::create`,
|
|
1396
|
+
typeArguments: [USDC_TYPE],
|
|
1397
|
+
arguments: [
|
|
1398
|
+
tx.pure.address(seller),
|
|
1399
|
+
coin,
|
|
1400
|
+
tx.pure.vector("u8", hexToBytes(terms.specHash)),
|
|
1401
|
+
tx.pure.u64(terms.deliverByMs),
|
|
1402
|
+
tx.pure.u64(terms.reviewWindowMs),
|
|
1403
|
+
tx.pure.u64(terms.rejectSplitBps),
|
|
1404
|
+
tx.object(CLOCK_ID2)
|
|
1405
|
+
]
|
|
1406
|
+
});
|
|
1407
|
+
return tx;
|
|
1408
|
+
}
|
|
1409
|
+
function jobCall(jobId, fn) {
|
|
1410
|
+
const tx = new Transaction();
|
|
1411
|
+
tx.moveCall({
|
|
1412
|
+
target: `${A2A_ESCROW_PACKAGE_ID}::${MODULE}::${fn}`,
|
|
1413
|
+
typeArguments: [USDC_TYPE],
|
|
1414
|
+
arguments: [tx.object(jobId), tx.object(CLOCK_ID2)]
|
|
1415
|
+
});
|
|
1416
|
+
return tx;
|
|
1417
|
+
}
|
|
1418
|
+
function buildDeliverJobTx(jobId, deliveryHash) {
|
|
1419
|
+
const tx = new Transaction();
|
|
1420
|
+
tx.moveCall({
|
|
1421
|
+
target: `${A2A_ESCROW_PACKAGE_ID}::${MODULE}::deliver`,
|
|
1422
|
+
typeArguments: [USDC_TYPE],
|
|
1423
|
+
arguments: [
|
|
1424
|
+
tx.object(jobId),
|
|
1425
|
+
tx.pure.vector("u8", hexToBytes(deliveryHash)),
|
|
1426
|
+
tx.object(CLOCK_ID2)
|
|
1427
|
+
]
|
|
1428
|
+
});
|
|
1429
|
+
return tx;
|
|
1430
|
+
}
|
|
1431
|
+
function buildReleaseJobTx(jobId) {
|
|
1432
|
+
return jobCall(jobId, "release");
|
|
1433
|
+
}
|
|
1434
|
+
function buildRejectJobTx(jobId) {
|
|
1435
|
+
return jobCall(jobId, "reject");
|
|
1436
|
+
}
|
|
1437
|
+
function buildRefundJobTx(jobId) {
|
|
1438
|
+
return jobCall(jobId, "refund");
|
|
1439
|
+
}
|
|
1440
|
+
async function getJob(client, jobId) {
|
|
1441
|
+
const resp = await client.core.getObject({ objectId: jobId, include: { json: true } }).catch((e) => {
|
|
1442
|
+
throw new T2000Error(
|
|
1443
|
+
"RPC_ERROR",
|
|
1444
|
+
`Job ${jobId} not found: ${e instanceof Error ? e.message : String(e)}`
|
|
1445
|
+
);
|
|
1446
|
+
});
|
|
1447
|
+
const objType = resp.object?.type ?? "";
|
|
1448
|
+
const json = resp.object?.json;
|
|
1449
|
+
if (!json || !objType.includes(`::${MODULE}::Job<`)) {
|
|
1450
|
+
throw new T2000Error("RPC_ERROR", `Object ${jobId} is not an a2a_escrow Job.`);
|
|
1451
|
+
}
|
|
1452
|
+
const stateNum = Number(json.state ?? -1);
|
|
1453
|
+
const state = JOB_STATES[stateNum];
|
|
1454
|
+
if (!state) {
|
|
1455
|
+
throw new T2000Error("RPC_ERROR", `Job ${jobId} has unknown state ${stateNum}.`);
|
|
1456
|
+
}
|
|
1457
|
+
const deliveredAtMs = Number(json.delivered_at_ms ?? 0);
|
|
1458
|
+
const deliveryBytes = json.delivery_hash ?? [];
|
|
1459
|
+
const hasDelivery = deliveredAtMs > 0;
|
|
1460
|
+
return {
|
|
1461
|
+
id: jobId,
|
|
1462
|
+
buyer: String(json.buyer),
|
|
1463
|
+
seller: String(json.seller),
|
|
1464
|
+
amountUsdc: Number(json.amount) / 10 ** USDC_DECIMALS,
|
|
1465
|
+
escrowUsdc: Number(json.escrow) / 10 ** USDC_DECIMALS,
|
|
1466
|
+
specHash: bytesToHex(json.spec_hash ?? []),
|
|
1467
|
+
deliverByMs: Number(json.deliver_by_ms),
|
|
1468
|
+
reviewWindowMs: Number(json.review_window_ms),
|
|
1469
|
+
rejectSplitBps: Number(json.reject_split_bps),
|
|
1470
|
+
state,
|
|
1471
|
+
deliveryHash: hasDelivery ? bytesToHex(deliveryBytes) : null,
|
|
1472
|
+
deliveredAtMs: hasDelivery ? deliveredAtMs : null,
|
|
1473
|
+
createdAtMs: Number(json.created_at_ms)
|
|
1474
|
+
};
|
|
1475
|
+
}
|
|
1476
|
+
function jobActionsFor(job, caller, nowMs = Date.now()) {
|
|
1477
|
+
const me = validateAddress(caller);
|
|
1478
|
+
const isBuyer = me === job.buyer;
|
|
1479
|
+
const isSeller = me === job.seller;
|
|
1480
|
+
const actions = [];
|
|
1481
|
+
if (job.state === "funded") {
|
|
1482
|
+
if (isSeller && nowMs <= job.deliverByMs) actions.push("deliver");
|
|
1483
|
+
if (isBuyer) actions.push("release");
|
|
1484
|
+
if (nowMs > job.deliverByMs) actions.push("refund");
|
|
1485
|
+
} else if (job.state === "delivered") {
|
|
1486
|
+
const windowClosesMs = (job.deliveredAtMs ?? 0) + job.reviewWindowMs;
|
|
1487
|
+
if (isBuyer && nowMs <= windowClosesMs) actions.push("release", "reject");
|
|
1488
|
+
if (nowMs > windowClosesMs) actions.push("release");
|
|
1489
|
+
}
|
|
1490
|
+
return actions;
|
|
1491
|
+
}
|
|
1492
|
+
async function verifyJobForSeller({
|
|
1493
|
+
client,
|
|
1494
|
+
jobId,
|
|
1495
|
+
seller,
|
|
1496
|
+
minAmountUsdc,
|
|
1497
|
+
minRunwayMs = 6e4
|
|
1498
|
+
}) {
|
|
1499
|
+
const job = await getJob(client, jobId);
|
|
1500
|
+
const problems = [];
|
|
1501
|
+
if (job.state !== "funded") {
|
|
1502
|
+
problems.push(`state is "${job.state}", expected "funded"`);
|
|
1503
|
+
}
|
|
1504
|
+
if (job.seller !== validateAddress(seller)) {
|
|
1505
|
+
problems.push(`job pays ${job.seller}, not this seller`);
|
|
1506
|
+
}
|
|
1507
|
+
if (job.escrowUsdc < minAmountUsdc) {
|
|
1508
|
+
problems.push(`escrow holds ${job.escrowUsdc} USDC, price is ${minAmountUsdc}`);
|
|
1509
|
+
}
|
|
1510
|
+
if (job.deliverByMs - Date.now() < minRunwayMs) {
|
|
1511
|
+
problems.push("deadline too close to accept");
|
|
1512
|
+
}
|
|
1513
|
+
return { ok: problems.length === 0, job, problems };
|
|
1514
|
+
}
|
|
1515
|
+
|
|
1315
1516
|
// src/browser.ts
|
|
1316
1517
|
init_token_registry();
|
|
1317
1518
|
|
|
1318
|
-
export { CLOCK_ID, COIN_REGISTRY, DEFAULT_NETWORK, ETH_TYPE, GAS_RESERVE_MIN, IKA_TYPE, KNOWN_TARGETS, KeypairSigner, LABEL_PATTERNS, LOFI_TYPE, MANIFEST_TYPE, 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, buildSendTx, buildSwapTx, checkPositiveAmount, checkSuiAddress, classifyAction, classifyLabel, classifyTransaction, executeTx, extractAllUserLegs, extractTransferDetails, extractTxCommands, extractTxSender, fallbackLabel, findSwapRoute, formatAssetAmount, formatSui, formatUsd, fromBase642 as fromBase64, getDecimals, getDecimalsForCoinType, mapMoveAbortCode, mapWalletError, mistToSui, parseMppSuiChallenge, parseSuiRpcTx, payWithMpp, preflightFail, preflightPay, preflightSend, preflightSwap, rawToStable, rawToUsdc, refineLendingLabel, resolveSymbol, resolveTokenType, stableToRaw, suiToMist, toBase64, truncateAddress, usdcToRaw, validateAddress };
|
|
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 };
|
|
1319
1520
|
//# sourceMappingURL=browser.js.map
|
|
1320
1521
|
//# sourceMappingURL=browser.js.map
|