@bananapus/nana-sdk-core 2.22.0 → 2.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,7 @@
1
1
  import { ContractFunctionRevertedError, decodeFunctionData, encodeFunctionData, isAddress, keccak256, RpcError, RpcRequestError, } from "viem";
2
2
  import { erc2771ForwarderAbi, jbContractAddress, } from "../generated/juicebox.js";
3
3
  import { isBytes32, isHexBytes, uint256 } from "../untrusted.js";
4
+ import { isDefiniteWalletRejection } from "./contractWrite.js";
4
5
  import { simulateStateChangingTransaction } from "./simulation.js";
5
6
  // Relayr runs a bundle of transactions on several chains for one prepaid
6
7
  // native payment on one of them. Everything its API returns is untrusted:
@@ -59,7 +60,8 @@ const TESTNETS = [11155111, 11155420, 84532, 421614];
59
60
  const PAYMENT_CODE_MAX_BYTES = 2_048;
60
61
  const BUNDLE_READ_TIMEOUT_MS = 15_000;
61
62
  const HTTP_DETAIL_CHARACTERS = 240;
62
- const UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/u;
63
+ /** A Relayr bundle or transaction ID, in lower case. */
64
+ export const RELAYR_UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/u;
63
65
  // RFC 3339 with an explicit offset. A time without one is read in the
64
66
  // machine's timezone, which would make the same quote pass or fail by place.
65
67
  const DEADLINE_TIME = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/iu;
@@ -69,6 +71,7 @@ const NO_PROOF = "This saved Relayr bundle lacks exact destination proof. Keep i
69
71
  const NOT_IDENTIFIED = "Relayr has not identified every exact destination transaction. Keep checking the original bundle; do not pay again.";
70
72
  const EXPIRED = "This Relayr quote expired. Review the action again for a new quote.";
71
73
  const UNKNOWN_PAYMENT = "Relayr has not said whether this bundle is paid. Do not pay again yet; check it later.";
74
+ const UNNAMED = "Name every payment this session sent for the quote before paying it again.";
72
75
  const UNVERIFIABLE = "Only an authenticated Relayr payment with its transaction hash can be verified.";
73
76
  /**
74
77
  * The chain or Relayr contradicts the expected transaction: this evidence can
@@ -159,7 +162,7 @@ function uuidOf(value) {
159
162
  if (typeof value !== "string")
160
163
  return null;
161
164
  const uuid = value.toLowerCase();
162
- return UUID.test(uuid) ? uuid : null;
165
+ return RELAYR_UUID_RE.test(uuid) ? uuid : null;
163
166
  }
164
167
  function readEntry(entry) {
165
168
  if (!entry || typeof entry !== "object")
@@ -796,7 +799,7 @@ export async function verifyRelayrPayment(client, { hash, from, payment, }) {
796
799
  */
797
800
  export async function requireRelayrPaymentRetry(client, { hashes, from, payment, }, { fetch: fetchBundle = globalThis.fetch, nowSeconds = Date.now() / 1_000, } = {}) {
798
801
  if (!Array.isArray(hashes) || !hashes.length) {
799
- throw new RelayrPaymentRetryError("Name every payment this session sent for the quote before paying it again.", "invalid");
802
+ throw new RelayrPaymentRetryError(UNNAMED, "invalid");
800
803
  }
801
804
  const reviewed = verifiablePayment(hashes, from, payment);
802
805
  if (!reviewed)
@@ -838,6 +841,11 @@ export async function requireRelayrBundleUnpaid(bundleUuid, { fetch: fetchBundle
838
841
  }
839
842
  requireUnpaidBundle(await readBundle(fetchBundle, uuid, () => new RelayrPaymentRetryError(UNKNOWN_PAYMENT, "unknown")));
840
843
  }
844
+ /** Relayr has not run the call: `pending`, in any case, with no destination hash. */
845
+ function relayrRecordPending(record) {
846
+ return (relayrDestinationHash(record) === null &&
847
+ relayrStateIsPending(record?.status?.state));
848
+ }
841
849
  /** {@link requireRelayrBundleUnpaid}'s check of a bundle already read. */
842
850
  function requireUnpaidBundle({ payment_received, transactions, }) {
843
851
  if (payment_received === true) {
@@ -848,8 +856,7 @@ function requireUnpaidBundle({ payment_received, transactions, }) {
848
856
  !transactions.length) {
849
857
  throw new RelayrPaymentRetryError(UNKNOWN_PAYMENT, "unknown");
850
858
  }
851
- if (transactions.some((record) => relayrDestinationHash(record) !== null ||
852
- !relayrStateIsPending(record?.status?.state))) {
859
+ if (transactions.some((record) => !relayrRecordPending(record))) {
853
860
  throw new RelayrPaymentRetryError("Relayr reports a transaction of this bundle as running or run. Do not pay again.", "running");
854
861
  }
855
862
  }
@@ -987,6 +994,15 @@ export async function atCanonicalFinalizedBlock(client, read) {
987
994
  return null;
988
995
  }
989
996
  }
997
+ /** `clientFor(chainId)`, or none when it has none or throws. */
998
+ function clientOn(clientFor, chainId) {
999
+ try {
1000
+ return clientFor(chainId);
1001
+ }
1002
+ catch {
1003
+ return undefined;
1004
+ }
1005
+ }
990
1006
  /**
991
1007
  * The nonce the canonical forwarder on `chainId` expects next from `signer`
992
1008
  * at the chain's finalized block, still canonical, with that block's
@@ -994,18 +1010,11 @@ export async function atCanonicalFinalizedBlock(client, read) {
994
1010
  */
995
1011
  async function finalizedForwarderNonce(clientFor, chainId, signer) {
996
1012
  const forwarder = forwarderOn(chainId);
997
- if (!forwarder || !isAddressLike(signer))
998
- return null;
999
- let client;
1000
- try {
1001
- client = clientFor(chainId);
1002
- }
1003
- catch {
1004
- return null;
1005
- }
1006
- if (!client)
1013
+ const reader = forwarder && isAddressLike(signer)
1014
+ ? clientOn(clientFor, chainId)
1015
+ : undefined;
1016
+ if (!forwarder || !reader)
1007
1017
  return null;
1008
- const reader = client;
1009
1018
  const finalized = await atCanonicalFinalizedBlock(reader, (blockNumber) => reader.readContract({
1010
1019
  address: forwarder,
1011
1020
  abi: erc2771ForwarderAbi,
@@ -1206,4 +1215,330 @@ export async function relayrSessionOutcome(verdict, { nonces, recheck, } = {}) {
1206
1215
  }
1207
1216
  return { kind: "re-sign", nonces: saved };
1208
1217
  }
1218
+ /** The payment `details` describes, as a session records it once sent under `hash`. */
1219
+ export function sentRelayrPayment(details, hash) {
1220
+ return {
1221
+ ...details,
1222
+ amount: details.amount.toString(),
1223
+ deadline: details.deadline.toString(),
1224
+ hash,
1225
+ };
1226
+ }
1227
+ /** The most payments one quote's journal keeps. No payment is sent beyond them. */
1228
+ export const MAX_RELAYR_SENT_PAYMENTS = 16;
1229
+ /**
1230
+ * A saved sent payment, read strictly, or null. Its deadline must be the one
1231
+ * its calldata pays until, which the payment's proof binds onchain.
1232
+ */
1233
+ function relayrSentPaymentSnapshot(value) {
1234
+ if (!value || typeof value !== "object")
1235
+ return null;
1236
+ const { hash, chainId, target, calldata, amount, deadline, bundleUuid } = value;
1237
+ return isBytes32(hash) &&
1238
+ typeof chainId === "number" &&
1239
+ relayrSupportsChain(chainId) &&
1240
+ isStrictAddress(target) &&
1241
+ typeof calldata === "string" &&
1242
+ /^0x[0-9a-f]{136}$/iu.test(calldata) &&
1243
+ typeof amount === "string" &&
1244
+ /^\d{1,78}$/u.test(amount) &&
1245
+ typeof deadline === "string" &&
1246
+ /^\d{1,13}$/u.test(deadline) &&
1247
+ typeof bundleUuid === "string" &&
1248
+ RELAYR_UUID_RE.test(bundleUuid) &&
1249
+ BigInt(deadline) === calldataDeadline(calldata)
1250
+ ? {
1251
+ hash,
1252
+ chainId,
1253
+ target,
1254
+ calldata: calldata,
1255
+ amount,
1256
+ deadline,
1257
+ bundleUuid,
1258
+ }
1259
+ : null;
1260
+ }
1261
+ /**
1262
+ * A saved list of sent payments, read strictly: at most
1263
+ * {@link MAX_RELAYR_SENT_PAYMENTS}, each with only a payment's own fields.
1264
+ * Null when any of it is malformed.
1265
+ */
1266
+ export function relayrSentPaymentsSnapshot(values) {
1267
+ if (!Array.isArray(values) || values.length > MAX_RELAYR_SENT_PAYMENTS) {
1268
+ return null;
1269
+ }
1270
+ const payments = values.map(relayrSentPaymentSnapshot);
1271
+ return payments.every((payment) => payment !== null)
1272
+ ? payments
1273
+ : null;
1274
+ }
1275
+ /**
1276
+ * The saved option a quote paid before is paid again with: exactly the one
1277
+ * its latest payment used, on its chain with its calldata (in any case) and
1278
+ * amount. Throws when no option is that one, and when an option on that
1279
+ * chain with that calldata whose amount can't be read comes before it.
1280
+ */
1281
+ export function relayrRetryOption(payments, options) {
1282
+ const latest = Array.isArray(payments)
1283
+ ? payments[payments.length - 1]
1284
+ : undefined;
1285
+ let option;
1286
+ if (latest && Array.isArray(options)) {
1287
+ for (const item of options) {
1288
+ if (item.chain !== latest.chainId ||
1289
+ typeof item.calldata !== "string" ||
1290
+ item.calldata.toLowerCase() !== latest.calldata.toLowerCase() ||
1291
+ typeof item.amount !== "string") {
1292
+ continue;
1293
+ }
1294
+ // An earlier twin whose amount can't be read ends the search, refused.
1295
+ const amount = uint256(item.amount);
1296
+ if (amount === null)
1297
+ break;
1298
+ if (amount === uint256(latest.amount)) {
1299
+ option = item;
1300
+ break;
1301
+ }
1302
+ }
1303
+ }
1304
+ if (!option) {
1305
+ throw new Error("This Relayr quote cannot be paid again from its saved record. Keep it pending; do not pay again.");
1306
+ }
1307
+ return option;
1308
+ }
1309
+ /**
1310
+ * Where a failed payment attempt leaves its quote: `reverted` when the
1311
+ * payment reverted onchain, or when the wallet declined to pay a quote paid
1312
+ * before, which stays on {@link requireRelayrPaymentRetry}'s rule; `unpaid`
1313
+ * when the wallet declined its first payment; null when nothing is known, and
1314
+ * the journal stays as it is. `sending` is whether the wallet held the
1315
+ * payment, and `paid` whether the quote was paid before.
1316
+ */
1317
+ export function relayrPaymentAttemptOutcome(error, { sending, paid }) {
1318
+ if (error instanceof RelayrPaymentRevertedError)
1319
+ return "reverted";
1320
+ if (sending && isDefiniteWalletRejection(error)) {
1321
+ return paid ? "reverted" : "unpaid";
1322
+ }
1323
+ return null;
1324
+ }
1325
+ /**
1326
+ * Clear a quote paid before for one more payment, with
1327
+ * {@link requireRelayrPaymentRetry}'s rule for each option its payments used.
1328
+ * `payments` is every payment the session sent for the quote, as mined; those
1329
+ * of one option (its chain, its calldata in any case, and its amount) are
1330
+ * proven together on its chain, with `clientFor`. Before reading anything it
1331
+ * refuses, as `invalid`, an empty list and anything
1332
+ * {@link relayrSentPaymentsSnapshot} refuses, and a payment of another
1333
+ * bundle; a chain without a client is `unknown`. Never pay on an error.
1334
+ */
1335
+ export async function requireRelayrRetry(clientFor, { payments, from, bundleUuid, }, options = {}) {
1336
+ if (!Array.isArray(payments) || !payments.length) {
1337
+ throw new RelayrPaymentRetryError(UNNAMED, "invalid");
1338
+ }
1339
+ const sent = relayrSentPaymentsSnapshot(payments);
1340
+ if (!sent)
1341
+ throw new RelayrPaymentRetryError(UNVERIFIABLE, "invalid");
1342
+ if (sent.some((payment) => payment.bundleUuid !== bundleUuid)) {
1343
+ throw new Error("A saved Relayr payment belongs to another bundle. Do not pay again; check the original bundle.");
1344
+ }
1345
+ const byPayment = new Map();
1346
+ for (const payment of sent) {
1347
+ const key = `${payment.chainId}:${payment.calldata.toLowerCase()}:${payment.amount}`;
1348
+ const group = byPayment.get(key) ?? { payment, hashes: [] };
1349
+ group.hashes.push(payment.hash);
1350
+ byPayment.set(key, group);
1351
+ }
1352
+ for (const { payment, hashes } of byPayment.values()) {
1353
+ const client = clientOn(clientFor, payment.chainId);
1354
+ if (!client) {
1355
+ throw new RelayrPaymentRetryError(`No RPC is available for chain ${payment.chainId}. Do not pay again yet; check it later.`, "unknown");
1356
+ }
1357
+ await requireRelayrPaymentRetry(client, { hashes, from, payment }, options);
1358
+ }
1359
+ }
1360
+ /**
1361
+ * Prove a saved session's latest payment when it resumes, on its chain with
1362
+ * `clientFor`. Resolves true once it succeeded onchain, and false while that
1363
+ * can't be proven: no payment, an `account` that is not an address, no client
1364
+ * for its chain, or a read that failed. A canonical revert runs `onReverted`
1365
+ * and is thrown, as is any other {@link RelayrProofError}; the quote then
1366
+ * waits on {@link requireRelayrPaymentRetry}'s rule.
1367
+ */
1368
+ export async function proveSavedRelayrPayment(clientFor, payments, account, onReverted) {
1369
+ const latest = Array.isArray(payments)
1370
+ ? payments[payments.length - 1]
1371
+ : undefined;
1372
+ if (!latest || !isStrictAddress(account))
1373
+ return false;
1374
+ const client = clientOn(clientFor, latest.chainId);
1375
+ if (!client)
1376
+ return false;
1377
+ try {
1378
+ await verifyRelayrPayment(client, {
1379
+ hash: latest.hash,
1380
+ from: account,
1381
+ payment: latest,
1382
+ });
1383
+ return true;
1384
+ }
1385
+ catch (error) {
1386
+ if (error instanceof RelayrPaymentRevertedError)
1387
+ onReverted();
1388
+ if (error instanceof RelayrProofError)
1389
+ throw error;
1390
+ return false;
1391
+ }
1392
+ }
1393
+ /**
1394
+ * Whether the quote a session paid can still be paid at `nowMs` (the clock by
1395
+ * default): its latest payment's deadline is more than 15 seconds away, as
1396
+ * {@link quoteExpired} reads it and {@link requireRelayrPaymentRetry}
1397
+ * requires. A deadline or a time that can't be read is closed.
1398
+ */
1399
+ export function relayrPaidQuoteOpen(payments, nowMs = Date.now()) {
1400
+ const latest = Array.isArray(payments)
1401
+ ? payments[payments.length - 1]
1402
+ : undefined;
1403
+ const deadline = latest ? uint256(latest.deadline) : null;
1404
+ return (deadline !== null &&
1405
+ Number.isFinite(nowMs) &&
1406
+ !quoteExpired(deadline, nowMs / 1_000));
1407
+ }
1408
+ /**
1409
+ * Every option of a quote that {@link relayrPaymentDetails} accepts, expired
1410
+ * or not, several on one chain included, with its details: the options a
1411
+ * session keeps, and whose deadlines a release waits out. An option nothing
1412
+ * can authenticate is never paid from, so it is left out.
1413
+ */
1414
+ export function relayrQuotedOptions(quote, destinationChainIds) {
1415
+ return (Array.isArray(quote.payment_info) ? quote.payment_info : []).flatMap((option) => {
1416
+ try {
1417
+ return [
1418
+ {
1419
+ option,
1420
+ details: relayrPaymentDetails(option, {
1421
+ bundleUuid: quote.bundle_uuid,
1422
+ destinationChainIds,
1423
+ nowSeconds: 0,
1424
+ }),
1425
+ },
1426
+ ];
1427
+ }
1428
+ catch {
1429
+ return [];
1430
+ }
1431
+ });
1432
+ }
1433
+ /** One uncached read of the bundle, or null when it can't be read, names another bundle or lists no calls. */
1434
+ async function relayrBundleIfNamed(bundleUuid, fetchBundle) {
1435
+ try {
1436
+ const { payment_received, transactions } = await readRelayrBundle(bundleUuid, { fetch: fetchBundle });
1437
+ return Array.isArray(transactions)
1438
+ ? { paymentReceived: payment_received, records: transactions }
1439
+ : null;
1440
+ }
1441
+ catch {
1442
+ return null;
1443
+ }
1444
+ }
1445
+ /**
1446
+ * Nothing can fund the quote any more: every payment it sent is proven
1447
+ * canonically reverted, and the deadline of each of those payments, and of
1448
+ * each option {@link relayrQuotedOptions} keeps, has passed at a canonical
1449
+ * finalized block on its chain. Anything unread is false.
1450
+ */
1451
+ async function relayrQuoteUnfundable(clientFor, { payments, options, bundleUuid, destinationChainIds, account, }) {
1452
+ if (!Array.isArray(payments) ||
1453
+ !payments.length ||
1454
+ !Array.isArray(options) ||
1455
+ !isStrictAddress(account)) {
1456
+ return false;
1457
+ }
1458
+ for (const payment of payments) {
1459
+ const client = clientOn(clientFor, payment.chainId);
1460
+ if (!client)
1461
+ return false;
1462
+ try {
1463
+ await verifyRelayrPayment(client, {
1464
+ hash: payment.hash,
1465
+ from: account,
1466
+ payment,
1467
+ });
1468
+ return false;
1469
+ }
1470
+ catch (error) {
1471
+ if (!(error instanceof RelayrPaymentRevertedError))
1472
+ return false;
1473
+ }
1474
+ // The proof read the calldata's deadline word; the saved one must be it.
1475
+ if (uint256(payment.deadline) !== calldataDeadline(payment.calldata)) {
1476
+ return false;
1477
+ }
1478
+ }
1479
+ const deadlines = new Map(payments.map((payment) => [
1480
+ `${payment.chainId}:${payment.deadline}`,
1481
+ payment,
1482
+ ]));
1483
+ for (const { details } of relayrQuotedOptions({ bundle_uuid: bundleUuid, payment_info: [...options] }, destinationChainIds)) {
1484
+ deadlines.set(`${details.chainId}:${details.deadline}`, {
1485
+ chainId: details.chainId,
1486
+ deadline: details.deadline.toString(),
1487
+ });
1488
+ }
1489
+ for (const { chainId, deadline } of deadlines.values()) {
1490
+ const client = clientOn(clientFor, chainId);
1491
+ if (!client || !(await relayrDeadlinePassed(client, deadline))) {
1492
+ return false;
1493
+ }
1494
+ }
1495
+ return true;
1496
+ }
1497
+ /**
1498
+ * What a quote whose own payments reverted allows (ruling R104), from one
1499
+ * uncached read of its bundle (with `fetch`, the global one by default):
1500
+ *
1501
+ * - `funded` when Relayr reports a payment, or a call running or run: another
1502
+ * payment funded it, so its destinations are proven, never paid again;
1503
+ * - `payable` while the quote of its latest payment is open at `nowMs` (the
1504
+ * clock, read after the bundle, by default), for
1505
+ * {@link requireRelayrPaymentRetry}'s rule;
1506
+ * - `released` once nothing can fund it: every payment it sent is proven
1507
+ * canonically reverted on its chain (with `clientFor`), every deadline of
1508
+ * those payments and of the options {@link relayrQuotedOptions} keeps
1509
+ * passed at a canonical finalized block, and
1510
+ * {@link requireRelayrBundleUnpaid}, reading the bundle once more, finds it
1511
+ * unpaid with every call pending. Its action then quotes its calls again.
1512
+ *
1513
+ * Throws while an expired quote's release is unproven, and, unless the
1514
+ * bundle is funded, for a payment of another bundle or a time that can't be
1515
+ * read. Resolves with the records Relayr reported, or null when the bundle
1516
+ * could not be read.
1517
+ */
1518
+ export async function revertedRelayrQuote(clientFor, quote, { fetch: fetchBundle = globalThis.fetch, nowMs, } = {}) {
1519
+ const bundle = await relayrBundleIfNamed(quote.bundleUuid, fetchBundle);
1520
+ const records = bundle?.records ?? null;
1521
+ if (bundle &&
1522
+ (bundle.paymentReceived === true ||
1523
+ bundle.records.some((record) => !relayrRecordPending(record)))) {
1524
+ return { state: "funded", records };
1525
+ }
1526
+ // The clock is read after the bundle, whose read can take a while.
1527
+ const now = nowMs ?? Date.now();
1528
+ const ownPayments = Array.isArray(quote.payments) &&
1529
+ quote.payments.every((payment) => payment?.bundleUuid === quote.bundleUuid);
1530
+ if (ownPayments && Number.isFinite(now)) {
1531
+ if (relayrPaidQuoteOpen(quote.payments, now)) {
1532
+ return { state: "payable", records };
1533
+ }
1534
+ if (bundle &&
1535
+ (await relayrQuoteUnfundable(clientFor, quote)) &&
1536
+ (await requireRelayrBundleUnpaid(quote.bundleUuid, {
1537
+ fetch: fetchBundle,
1538
+ }).then(() => true, () => false))) {
1539
+ return { state: "released", records };
1540
+ }
1541
+ }
1542
+ throw new Error("This Relayr quote expired after its payment reverted. A new quote needs its deadline final onchain and Relayr to report nothing ran; try again in a few minutes.");
1543
+ }
1209
1544
  //# sourceMappingURL=relayr.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"relayr.js","sourceRoot":"","sources":["../../../src/review/relayr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relayr.js","sourceRoot":"","sources":["../../../src/review/relayr.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bananapus/nana-sdk-core",
3
- "version": "2.22.0",
3
+ "version": "2.23.0",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "repository": {