@bananapus/nana-sdk-core 2.22.0 → 2.24.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/cjs/review/relayr.d.ts +129 -0
- package/dist/cjs/review/relayr.d.ts.map +1 -1
- package/dist/cjs/review/relayr.js +361 -17
- package/dist/cjs/review/relayr.js.map +1 -1
- package/dist/cjs/review/safeRelayr.d.ts +128 -0
- package/dist/cjs/review/safeRelayr.d.ts.map +1 -0
- package/dist/cjs/review/safeRelayr.js +645 -0
- package/dist/cjs/review/safeRelayr.js.map +1 -0
- package/dist/esm/review/relayr.d.ts +129 -0
- package/dist/esm/review/relayr.d.ts.map +1 -1
- package/dist/esm/review/relayr.js +351 -16
- package/dist/esm/review/relayr.js.map +1 -1
- package/dist/esm/review/safeRelayr.d.ts +128 -0
- package/dist/esm/review/safeRelayr.d.ts.map +1 -0
- package/dist/esm/review/safeRelayr.js +635 -0
- package/dist/esm/review/safeRelayr.js.map +1 -0
- package/package.json +6 -1
|
@@ -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
|
-
|
|
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
|
|
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(
|
|
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) =>
|
|
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
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
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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"}
|