@bananapus/nana-sdk-core 2.18.0 → 2.20.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/jbcenter.d.ts +10 -1
- package/dist/cjs/jbcenter.d.ts.map +1 -1
- package/dist/cjs/jbcenter.js +15 -13
- package/dist/cjs/jbcenter.js.map +1 -1
- package/dist/cjs/review/contractWrite.d.ts +8 -2
- package/dist/cjs/review/contractWrite.d.ts.map +1 -1
- package/dist/cjs/review/contractWrite.js +6 -3
- package/dist/cjs/review/contractWrite.js.map +1 -1
- package/dist/cjs/review/relayr.d.ts +77 -5
- package/dist/cjs/review/relayr.d.ts.map +1 -1
- package/dist/cjs/review/relayr.js +131 -39
- package/dist/cjs/review/relayr.js.map +1 -1
- package/dist/cjs/safe.d.ts +17 -2
- package/dist/cjs/safe.d.ts.map +1 -1
- package/dist/cjs/safe.js +26 -6
- package/dist/cjs/safe.js.map +1 -1
- package/dist/cjs/safeService.d.ts +21 -1
- package/dist/cjs/safeService.d.ts.map +1 -1
- package/dist/cjs/safeService.js +57 -27
- package/dist/cjs/safeService.js.map +1 -1
- package/dist/cjs/untrusted.d.ts +8 -0
- package/dist/cjs/untrusted.d.ts.map +1 -1
- package/dist/cjs/untrusted.js +41 -0
- package/dist/cjs/untrusted.js.map +1 -1
- package/dist/cjs/v6/deploymentAbi.d.ts +4 -0
- package/dist/cjs/v6/deploymentAbi.d.ts.map +1 -0
- package/dist/cjs/v6/deploymentAbi.js +15 -0
- package/dist/cjs/v6/deploymentAbi.js.map +1 -0
- package/dist/cjs/v6/deploymentDiagnostics.d.ts +45 -0
- package/dist/cjs/v6/deploymentDiagnostics.d.ts.map +1 -0
- package/dist/cjs/v6/deploymentDiagnostics.js +525 -0
- package/dist/cjs/v6/deploymentDiagnostics.js.map +1 -0
- package/dist/cjs/v6/distributions.d.ts +18 -10
- package/dist/cjs/v6/distributions.d.ts.map +1 -1
- package/dist/cjs/v6/distributions.js +25 -11
- package/dist/cjs/v6/distributions.js.map +1 -1
- package/dist/cjs/v6/index.d.ts +3 -0
- package/dist/cjs/v6/index.d.ts.map +1 -1
- package/dist/cjs/v6/index.js +3 -0
- package/dist/cjs/v6/index.js.map +1 -1
- package/dist/cjs/v6/nft.d.ts +15 -0
- package/dist/cjs/v6/nft.d.ts.map +1 -1
- package/dist/cjs/v6/nft.js +49 -29
- package/dist/cjs/v6/nft.js.map +1 -1
- package/dist/cjs/v6/omnichain.d.ts +3 -2
- package/dist/cjs/v6/omnichain.d.ts.map +1 -1
- package/dist/cjs/v6/omnichain.js +9 -4
- package/dist/cjs/v6/omnichain.js.map +1 -1
- package/dist/cjs/v6/revnet721.d.ts +42 -0
- package/dist/cjs/v6/revnet721.d.ts.map +1 -0
- package/dist/cjs/v6/revnet721.js +74 -0
- package/dist/cjs/v6/revnet721.js.map +1 -0
- package/dist/cjs/v6/revnets.d.ts +11 -3
- package/dist/cjs/v6/revnets.d.ts.map +1 -1
- package/dist/cjs/v6/revnets.js +36 -7
- package/dist/cjs/v6/revnets.js.map +1 -1
- package/dist/esm/jbcenter.d.ts +10 -1
- package/dist/esm/jbcenter.d.ts.map +1 -1
- package/dist/esm/jbcenter.js +15 -13
- package/dist/esm/jbcenter.js.map +1 -1
- package/dist/esm/review/contractWrite.d.ts +8 -2
- package/dist/esm/review/contractWrite.d.ts.map +1 -1
- package/dist/esm/review/contractWrite.js +6 -3
- package/dist/esm/review/contractWrite.js.map +1 -1
- package/dist/esm/review/relayr.d.ts +77 -5
- package/dist/esm/review/relayr.d.ts.map +1 -1
- package/dist/esm/review/relayr.js +126 -38
- package/dist/esm/review/relayr.js.map +1 -1
- package/dist/esm/safe.d.ts +17 -2
- package/dist/esm/safe.d.ts.map +1 -1
- package/dist/esm/safe.js +25 -5
- package/dist/esm/safe.js.map +1 -1
- package/dist/esm/safeService.d.ts +21 -1
- package/dist/esm/safeService.d.ts.map +1 -1
- package/dist/esm/safeService.js +57 -27
- package/dist/esm/safeService.js.map +1 -1
- package/dist/esm/untrusted.d.ts +8 -0
- package/dist/esm/untrusted.d.ts.map +1 -1
- package/dist/esm/untrusted.js +40 -0
- package/dist/esm/untrusted.js.map +1 -1
- package/dist/esm/v6/deploymentAbi.d.ts +4 -0
- package/dist/esm/v6/deploymentAbi.d.ts.map +1 -0
- package/dist/esm/v6/deploymentAbi.js +12 -0
- package/dist/esm/v6/deploymentAbi.js.map +1 -0
- package/dist/esm/v6/deploymentDiagnostics.d.ts +45 -0
- package/dist/esm/v6/deploymentDiagnostics.d.ts.map +1 -0
- package/dist/esm/v6/deploymentDiagnostics.js +521 -0
- package/dist/esm/v6/deploymentDiagnostics.js.map +1 -0
- package/dist/esm/v6/distributions.d.ts +18 -10
- package/dist/esm/v6/distributions.d.ts.map +1 -1
- package/dist/esm/v6/distributions.js +25 -11
- package/dist/esm/v6/distributions.js.map +1 -1
- package/dist/esm/v6/index.d.ts +3 -0
- package/dist/esm/v6/index.d.ts.map +1 -1
- package/dist/esm/v6/index.js +3 -0
- package/dist/esm/v6/index.js.map +1 -1
- package/dist/esm/v6/nft.d.ts +15 -0
- package/dist/esm/v6/nft.d.ts.map +1 -1
- package/dist/esm/v6/nft.js +48 -29
- package/dist/esm/v6/nft.js.map +1 -1
- package/dist/esm/v6/omnichain.d.ts +3 -2
- package/dist/esm/v6/omnichain.d.ts.map +1 -1
- package/dist/esm/v6/omnichain.js +9 -4
- package/dist/esm/v6/omnichain.js.map +1 -1
- package/dist/esm/v6/revnet721.d.ts +42 -0
- package/dist/esm/v6/revnet721.d.ts.map +1 -0
- package/dist/esm/v6/revnet721.js +70 -0
- package/dist/esm/v6/revnet721.js.map +1 -0
- package/dist/esm/v6/revnets.d.ts +11 -3
- package/dist/esm/v6/revnets.d.ts.map +1 -1
- package/dist/esm/v6/revnets.js +36 -7
- package/dist/esm/v6/revnets.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contractWrite.js","sourceRoot":"","sources":["../../../src/review/contractWrite.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KACE,IAAI,KAAK,GAAG,CAAC,EACb,KAAK,GAAG,CAAC,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EACnD,KAAK,IAAI,CAAC,EACV,CAAC;QACD,MAAM,IAAI,GAAG,OAA8D,CAAC;QAC5E,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,0BAA0B,EAAE,CAAC;YACnE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC;IACvB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;
|
|
1
|
+
{"version":3,"file":"contractWrite.js","sourceRoot":"","sources":["../../../src/review/contractWrite.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KACE,IAAI,KAAK,GAAG,CAAC,EACb,KAAK,GAAG,CAAC,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EACnD,KAAK,IAAI,CAAC,EACV,CAAC;QACD,MAAM,IAAI,GAAG,OAA8D,CAAC;QAC5E,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,0BAA0B,EAAE,CAAC;YACnE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC;IACvB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAkCD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAI/C,EACA,OAAO,EACP,eAAe,EACf,MAAM,EACN,WAAW,EACX,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,oBAAoB,EACpB,eAAe,EACf,KAAK,EACL,OAAO,EACP,mBAAmB,GAAG,8CAA8C,EACpE,KAAK,GACqD;IAC1D,KAAK,EAAE,EAAE,CAAC;IACV,IAAI,CAAC,eAAe;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACjE,qBAAqB,CAAC,cAAc,EAAE,EAAE,eAAe,EAAE,mBAAmB,CAAC,CAAC;IAE9E,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC;IACpB,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;IAEtB,OAAO,EAAE,CAAC,YAAY,CAAC,CAAC;IACxB,MAAM,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,qBAAqB,CAAC,cAAc,EAAE,EAAE,eAAe,EAAE,mBAAmB,CAAC,CAAC;IAC9E,MAAM,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC;IAC1B,qBAAqB,CAAC,cAAc,EAAE,EAAE,eAAe,EAAE,mBAAmB,CAAC,CAAC;IAE9E,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1C,qBAAqB,CAAC,cAAc,EAAE,EAAE,eAAe,EAAE,mBAAmB,CAAC,CAAC;IAE9E,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,WAAW,EAAE,CAAC;QACpB,IAAI,CAAC;YACH,qBAAqB,CACnB,cAAc,EAAE,EAChB,eAAe,EACf,mBAAmB,CACpB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,qEAAqE;YACrE,kDAAkD;YAClD,MAAM,oBAAoB,EAAE,EAAE,CAAC;YAC/B,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;IACrB,IAAI,CAAC;QACH,OAAO,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,0EAA0E;QAC1E,0EAA0E;QAC1E,IAAI,yBAAyB,CAAC,KAAK,CAAC;YAAE,MAAM,eAAe,EAAE,EAAE,CAAC;QAChE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAC5B,OAA4B,EAC5B,QAAiB,EACjB,OAAe;IAEf,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC"}
|
|
@@ -124,6 +124,17 @@ export type RelayrQuote = {
|
|
|
124
124
|
/** Each posted transaction with its quoted ID, in posted order. */
|
|
125
125
|
expectedTransactions: RelayrTransactionBinding[];
|
|
126
126
|
};
|
|
127
|
+
/**
|
|
128
|
+
* Relayr's record of one bundle as {@link readRelayrBundle} returns it: the
|
|
129
|
+
* bundle it names is the one asked for, and the rest is Relayr's word.
|
|
130
|
+
*/
|
|
131
|
+
export type RelayrBundle = {
|
|
132
|
+
bundle_uuid: string;
|
|
133
|
+
/** `true` once Relayr has a payment for the bundle. */
|
|
134
|
+
payment_received?: unknown;
|
|
135
|
+
/** Relayr's record of each transaction, as {@link RelayrTransactionRecord}. */
|
|
136
|
+
transactions?: unknown;
|
|
137
|
+
};
|
|
127
138
|
export type RelayrProgressSummary = {
|
|
128
139
|
confirmed: number;
|
|
129
140
|
failed: number;
|
|
@@ -203,6 +214,29 @@ export declare class RelayrDestinationRevertedError extends RelayrProofError {
|
|
|
203
214
|
readonly name = "RelayrDestinationRevertedError";
|
|
204
215
|
constructor(message: string, hash: Hex, chainId: number);
|
|
205
216
|
}
|
|
217
|
+
/**
|
|
218
|
+
* Why {@link requireRelayrPaymentRetry} will not clear a quote to be paid
|
|
219
|
+
* again, or {@link requireRelayrBundleUnpaid} a bundle to be released:
|
|
220
|
+
*
|
|
221
|
+
* - `invalid`: no payment was named, or the payment, its sender, a hash or the
|
|
222
|
+
* bundle ID is malformed;
|
|
223
|
+
* - `expired`: the quote's deadline is 15 seconds away or less;
|
|
224
|
+
* - `paid`: a payment succeeded onchain, or Relayr reports one;
|
|
225
|
+
* - `running`: Relayr reports a call of the bundle running or run;
|
|
226
|
+
* - `unknown`: a payment or the bundle could not be read, or Relayr has not
|
|
227
|
+
* said whether the bundle is paid.
|
|
228
|
+
*/
|
|
229
|
+
export type RelayrPaymentRetryRefusal = "invalid" | "expired" | "paid" | "running" | "unknown";
|
|
230
|
+
/**
|
|
231
|
+
* A refusal to pay a Relayr quote again, with its `reason`. Never pay on one:
|
|
232
|
+
* `paid` and `running` mean the bundle is funded, `unknown` may clear on a
|
|
233
|
+
* later check, and `expired` needs a new quote.
|
|
234
|
+
*/
|
|
235
|
+
export declare class RelayrPaymentRetryError extends Error {
|
|
236
|
+
readonly reason: RelayrPaymentRetryRefusal;
|
|
237
|
+
readonly name = "RelayrPaymentRetryError";
|
|
238
|
+
constructor(message: string, reason: RelayrPaymentRetryRefusal);
|
|
239
|
+
}
|
|
206
240
|
/** Relayr runs bundles on Ethereum, Optimism, Base and Arbitrum, and on their Sepolia testnets. */
|
|
207
241
|
export declare function relayrSupportsChain(chainId: number): boolean;
|
|
208
242
|
/**
|
|
@@ -223,6 +257,16 @@ export declare function relayrPaymentChains(chainIds: readonly number[]): number
|
|
|
223
257
|
* well-formed and the destinations share one network family.
|
|
224
258
|
*/
|
|
225
259
|
export declare function relayrBundleRequest(entries: readonly RelayrEntry[]): RelayrBundleRequest;
|
|
260
|
+
/**
|
|
261
|
+
* Relayr's `GET /v1/bundle/{uuid}` for exactly `bundleUuid`, read with `fetch`
|
|
262
|
+
* (the global one by default) within 15 seconds and never from an HTTP cache:
|
|
263
|
+
* a stale answer could say a paid bundle is unpaid. Throws, with the failure
|
|
264
|
+
* as its cause, when the read fails or the answer names another bundle.
|
|
265
|
+
* {@link requireRelayrBundleUnpaid} reads whether the bundle is unpaid.
|
|
266
|
+
*/
|
|
267
|
+
export declare function readRelayrBundle(bundleUuid: string, { fetch: fetchBundle, }?: {
|
|
268
|
+
fetch?: typeof globalThis.fetch;
|
|
269
|
+
}): Promise<RelayrBundle>;
|
|
226
270
|
/**
|
|
227
271
|
* Authenticate Relayr's response to posting `request` (from
|
|
228
272
|
* {@link relayrBundleRequest}). Relayr lists transaction IDs out of request
|
|
@@ -236,11 +280,18 @@ export declare function relayrBundleRequest(entries: readonly RelayrEntry[]): Re
|
|
|
236
280
|
export declare function bindRelayrQuote(response: Response, request: RelayrBundleRequest, { fetch: fetchBundle, }?: {
|
|
237
281
|
fetch?: typeof globalThis.fetch;
|
|
238
282
|
}): Promise<RelayrQuote>;
|
|
283
|
+
/**
|
|
284
|
+
* Whether a quote whose payment deadline is `deadline` (unix seconds) is dead
|
|
285
|
+
* at `nowSeconds`, by default the clock: its deadline is 15 seconds away or
|
|
286
|
+
* less, too close for a payment to land before it.
|
|
287
|
+
*/
|
|
288
|
+
export declare function quoteExpired(deadline: bigint, nowSeconds?: number): boolean;
|
|
239
289
|
/**
|
|
240
290
|
* Authenticate one of Relayr's payment options against its bundle: a chain in
|
|
241
291
|
* the destinations' network family, Relayr's payment contract and native
|
|
242
|
-
* token, calldata that pays for
|
|
243
|
-
* deadline, and a deadline more than 15
|
|
292
|
+
* token (in lower case or with their EIP-55 checksum), calldata that pays for
|
|
293
|
+
* exactly `bundleUuid` with the quoted deadline, and a deadline more than 15
|
|
294
|
+
* seconds away. Throws otherwise.
|
|
244
295
|
*/
|
|
245
296
|
export declare function relayrPaymentDetails(payment: RelayrPayment, { bundleUuid, destinationChainIds, nowSeconds, }: {
|
|
246
297
|
bundleUuid: string;
|
|
@@ -250,7 +301,10 @@ export declare function relayrPaymentDetails(payment: RelayrPayment, { bundleUui
|
|
|
250
301
|
/**
|
|
251
302
|
* The payment options to offer: each passes {@link relayrPaymentDetails} for
|
|
252
303
|
* the quote's bundle and destinations, one per chain (Relayr's first), copied
|
|
253
|
-
* so the quote's owner cannot change one under a later review.
|
|
304
|
+
* so the quote's owner cannot change one under a later review. A chain with
|
|
305
|
+
* any option whose contract or token is not an address as viem's strict check
|
|
306
|
+
* reads one (in lower case, or with a valid EIP-55 checksum) gets no option:
|
|
307
|
+
* Relayr's answer for that chain is corrupted.
|
|
254
308
|
*/
|
|
255
309
|
export declare function relayrPaymentOptions(quote: Pick<RelayrQuote, "bundle_uuid" | "payment_info">, destinationChainIds: readonly number[], nowSeconds?: number): RelayrPayment[];
|
|
256
310
|
/**
|
|
@@ -330,8 +384,11 @@ export declare function verifyRelayrPayment(client: RelayrProofClient, { hash, f
|
|
|
330
384
|
* The payment contract keeps no state and Relayr keeps every payment it
|
|
331
385
|
* receives, so anything else rules a new payment out, and an empty list never
|
|
332
386
|
* clears one. A payment still in flight from elsewhere is not visible yet.
|
|
333
|
-
* Throws in every other case, including when an answer is unavailable
|
|
334
|
-
*
|
|
387
|
+
* Throws in every other case, including when an answer is unavailable, and
|
|
388
|
+
* refuses a malformed request before reading anything. Each refusal is a
|
|
389
|
+
* {@link RelayrPaymentRetryError} naming its `reason`, except a hash that is
|
|
390
|
+
* another transaction, which stays a {@link RelayrProofError}. Never pay on an
|
|
391
|
+
* error.
|
|
335
392
|
*/
|
|
336
393
|
export declare function requireRelayrPaymentRetry(client: RelayrProofClient, { hashes, from, payment, }: {
|
|
337
394
|
hashes: readonly Hex[];
|
|
@@ -341,6 +398,21 @@ export declare function requireRelayrPaymentRetry(client: RelayrProofClient, { h
|
|
|
341
398
|
fetch?: typeof globalThis.fetch;
|
|
342
399
|
nowSeconds?: number;
|
|
343
400
|
}): Promise<void>;
|
|
401
|
+
/**
|
|
402
|
+
* Throws a {@link RelayrPaymentRetryError} unless Relayr's bundle
|
|
403
|
+
* `bundleUuid`, read as {@link readRelayrBundle} reads it (with `fetch`, never
|
|
404
|
+
* from an HTTP cache, and only an answer naming this bundle), reports no
|
|
405
|
+
* payment received (`payment_received: false`) and at least one call, every
|
|
406
|
+
* one still pending with no destination hash. Relayr runs only paid bundles,
|
|
407
|
+
* so the refusal is `paid` when Relayr reports a payment, `running` when a
|
|
408
|
+
* call is running or run, `unknown` when the bundle cannot be read or Relayr
|
|
409
|
+
* has not said, and `invalid` for a malformed bundle ID. Confirm a bundle with
|
|
410
|
+
* it before releasing its quote; {@link requireRelayrPaymentRetry} runs it
|
|
411
|
+
* before clearing a quote to be paid again.
|
|
412
|
+
*/
|
|
413
|
+
export declare function requireRelayrBundleUnpaid(bundleUuid: string, { fetch: fetchBundle, }?: {
|
|
414
|
+
fetch?: typeof globalThis.fetch;
|
|
415
|
+
}): Promise<void>;
|
|
344
416
|
/**
|
|
345
417
|
* Prove one destination from the chain: the transaction at `hash` is exactly
|
|
346
418
|
* `entry` (chain, target, calldata, value), canonically included, and
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relayr.d.ts","sourceRoot":"","sources":["../../../src/review/relayr.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,OAAO,EACZ,KAAK,GAAG,EACR,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACxB,MAAM,MAAM,CAAC;AAed,yBAAyB;AACzB,eAAO,MAAM,UAAU,iCAAiC,CAAC;AAEzD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EACe,OAAO,CAAC;AAE1D;;;GAGG;AACH,eAAO,MAAM,uBAAuB,eAAe,CAAC;AAEpD,wDAAwD;AACxD,eAAO,MAAM,wBAAwB,EACqC,GAAG,CAAC;AAE9E,4EAA4E;AAC5E,eAAO,MAAM,mBAAmB,EACkB,OAAO,CAAC;AAE1D,oDAAoD;AACpD,eAAO,MAAM,kBAAkB,UAAW,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,iCAAiC,QAAe,CAAC;AAE9D,uDAAuD;AACvD,eAAO,MAAM,qBAAqB;;;;;;;;;;;EAQxB,CAAC;AAEX,2DAA2D;AAC3D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;CAUxB,CAAC;
|
|
1
|
+
{"version":3,"file":"relayr.d.ts","sourceRoot":"","sources":["../../../src/review/relayr.ts"],"names":[],"mappings":"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"}
|
|
@@ -69,6 +69,7 @@ const NO_PROOF = "This saved Relayr bundle lacks exact destination proof. Keep i
|
|
|
69
69
|
const NOT_IDENTIFIED = "Relayr has not identified every exact destination transaction. Keep checking the original bundle; do not pay again.";
|
|
70
70
|
const EXPIRED = "This Relayr quote expired. Review the action again for a new quote.";
|
|
71
71
|
const UNKNOWN_PAYMENT = "Relayr has not said whether this bundle is paid. Do not pay again yet; check it later.";
|
|
72
|
+
const UNVERIFIABLE = "Only an authenticated Relayr payment with its transaction hash can be verified.";
|
|
72
73
|
/**
|
|
73
74
|
* The chain or Relayr contradicts the expected transaction: this evidence can
|
|
74
75
|
* never prove it. Keep the action pending and never pay for it again.
|
|
@@ -108,9 +109,20 @@ export class RelayrDestinationRevertedError extends RelayrProofError {
|
|
|
108
109
|
this.name = "RelayrDestinationRevertedError";
|
|
109
110
|
}
|
|
110
111
|
}
|
|
111
|
-
/**
|
|
112
|
-
|
|
113
|
-
|
|
112
|
+
/**
|
|
113
|
+
* A refusal to pay a Relayr quote again, with its `reason`. Never pay on one:
|
|
114
|
+
* `paid` and `running` mean the bundle is funded, `unknown` may clear on a
|
|
115
|
+
* later check, and `expired` needs a new quote.
|
|
116
|
+
*/
|
|
117
|
+
export class RelayrPaymentRetryError extends Error {
|
|
118
|
+
constructor(message, reason) {
|
|
119
|
+
super(message);
|
|
120
|
+
this.reason = reason;
|
|
121
|
+
this.name = "RelayrPaymentRetryError";
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/** `error` with `cause` set like a native error cause, but on ES2021 and never enumerable: an RPC error's URL can carry a key. */
|
|
125
|
+
function withCause(error, cause) {
|
|
114
126
|
Object.defineProperty(error, "cause", {
|
|
115
127
|
value: cause,
|
|
116
128
|
writable: true,
|
|
@@ -119,12 +131,26 @@ function errorWithCause(message, cause) {
|
|
|
119
131
|
});
|
|
120
132
|
return error;
|
|
121
133
|
}
|
|
134
|
+
function errorWithCause(message, cause) {
|
|
135
|
+
return withCause(new Error(message), cause);
|
|
136
|
+
}
|
|
122
137
|
function isAddressLike(value) {
|
|
123
138
|
return typeof value === "string" && isAddress(value, { strict: false });
|
|
124
139
|
}
|
|
125
140
|
function sameAddress(value, address) {
|
|
126
141
|
return isAddressLike(value) && value.toLowerCase() === address.toLowerCase();
|
|
127
142
|
}
|
|
143
|
+
/**
|
|
144
|
+
* An address as viem's strict check reads one: in lower case, or with a valid
|
|
145
|
+
* EIP-55 checksum. Any other mixed case is a corrupted address.
|
|
146
|
+
*/
|
|
147
|
+
function isStrictAddress(value) {
|
|
148
|
+
return typeof value === "string" && isAddress(value);
|
|
149
|
+
}
|
|
150
|
+
/** {@link sameAddress}, spelled as {@link isStrictAddress} requires. */
|
|
151
|
+
function sameStrictAddress(value, address) {
|
|
152
|
+
return (isStrictAddress(value) && value.toLowerCase() === address.toLowerCase());
|
|
153
|
+
}
|
|
128
154
|
function uuidOf(value) {
|
|
129
155
|
if (typeof value !== "string")
|
|
130
156
|
return null;
|
|
@@ -218,8 +244,9 @@ export function relayrBundleRequest(entries) {
|
|
|
218
244
|
return { transactions, virtual_nonce_mode: "ChainIndependent" };
|
|
219
245
|
}
|
|
220
246
|
/**
|
|
221
|
-
* Relayr's `GET /v1/bundle/{uuid}` for exactly this bundle, or
|
|
222
|
-
*
|
|
247
|
+
* Relayr's `GET /v1/bundle/{uuid}` for exactly this bundle, or throws
|
|
248
|
+
* `unavailable()`, with the failure as its cause when there is one. Never from
|
|
249
|
+
* a cache: a stale answer could say a paid bundle is unpaid.
|
|
223
250
|
*/
|
|
224
251
|
async function readBundle(fetchBundle, bundleUuid, unavailable) {
|
|
225
252
|
let bundle;
|
|
@@ -233,13 +260,27 @@ async function readBundle(fetchBundle, bundleUuid, unavailable) {
|
|
|
233
260
|
bundle = await response.json();
|
|
234
261
|
}
|
|
235
262
|
catch (cause) {
|
|
236
|
-
throw
|
|
263
|
+
throw withCause(unavailable(), cause);
|
|
237
264
|
}
|
|
238
265
|
if (!bundle || uuidOf(bundle.bundle_uuid) !== bundleUuid) {
|
|
239
|
-
throw
|
|
266
|
+
throw unavailable();
|
|
240
267
|
}
|
|
241
268
|
return bundle;
|
|
242
269
|
}
|
|
270
|
+
/**
|
|
271
|
+
* Relayr's `GET /v1/bundle/{uuid}` for exactly `bundleUuid`, read with `fetch`
|
|
272
|
+
* (the global one by default) within 15 seconds and never from an HTTP cache:
|
|
273
|
+
* a stale answer could say a paid bundle is unpaid. Throws, with the failure
|
|
274
|
+
* as its cause, when the read fails or the answer names another bundle.
|
|
275
|
+
* {@link requireRelayrBundleUnpaid} reads whether the bundle is unpaid.
|
|
276
|
+
*/
|
|
277
|
+
export async function readRelayrBundle(bundleUuid, { fetch: fetchBundle = globalThis.fetch, } = {}) {
|
|
278
|
+
const uuid = uuidOf(bundleUuid);
|
|
279
|
+
if (!uuid) {
|
|
280
|
+
throw new Error(`Invalid Relayr bundle ID: ${String(bundleUuid)}.`);
|
|
281
|
+
}
|
|
282
|
+
return readBundle(fetchBundle, uuid, () => new Error(`Could not read Relayr bundle ${uuid}. Check it again later.`));
|
|
283
|
+
}
|
|
243
284
|
/**
|
|
244
285
|
* Authenticate Relayr's response to posting `request` (from
|
|
245
286
|
* {@link relayrBundleRequest}). Relayr lists transaction IDs out of request
|
|
@@ -293,7 +334,7 @@ export async function bindRelayrQuote(response, request, { fetch: fetchBundle =
|
|
|
293
334
|
: [];
|
|
294
335
|
if (records.length !== transactions.length ||
|
|
295
336
|
records.some((record) => idOf(record) === null || !record.request)) {
|
|
296
|
-
const bundle = await readBundle(fetchBundle, bundleUuid, UNRETURNED);
|
|
337
|
+
const bundle = await readBundle(fetchBundle, bundleUuid, () => new Error(UNRETURNED));
|
|
297
338
|
if (!Array.isArray(bundle.transactions))
|
|
298
339
|
throw new Error(UNRETURNED);
|
|
299
340
|
records = bundle.transactions;
|
|
@@ -348,8 +389,12 @@ function deadlineSeconds(value) {
|
|
|
348
389
|
function calldataDeadline(calldata) {
|
|
349
390
|
return BigInt(`0x${calldata.slice(74)}`);
|
|
350
391
|
}
|
|
351
|
-
/**
|
|
352
|
-
|
|
392
|
+
/**
|
|
393
|
+
* Whether a quote whose payment deadline is `deadline` (unix seconds) is dead
|
|
394
|
+
* at `nowSeconds`, by default the clock: its deadline is 15 seconds away or
|
|
395
|
+
* less, too close for a payment to land before it.
|
|
396
|
+
*/
|
|
397
|
+
export function quoteExpired(deadline, nowSeconds = Date.now() / 1_000) {
|
|
353
398
|
return deadline <= BigInt(Math.floor(nowSeconds)) + 15n;
|
|
354
399
|
}
|
|
355
400
|
/** Payment calldata: the selector, the bundle UUID as a right-padded bytes16 word, and a uint40 deadline word. */
|
|
@@ -364,8 +409,9 @@ function paymentCalldataFor(calldata, bundleUuid) {
|
|
|
364
409
|
/**
|
|
365
410
|
* Authenticate one of Relayr's payment options against its bundle: a chain in
|
|
366
411
|
* the destinations' network family, Relayr's payment contract and native
|
|
367
|
-
* token, calldata that pays for
|
|
368
|
-
* deadline, and a deadline more than 15
|
|
412
|
+
* token (in lower case or with their EIP-55 checksum), calldata that pays for
|
|
413
|
+
* exactly `bundleUuid` with the quoted deadline, and a deadline more than 15
|
|
414
|
+
* seconds away. Throws otherwise.
|
|
369
415
|
*/
|
|
370
416
|
export function relayrPaymentDetails(payment, { bundleUuid, destinationChainIds, nowSeconds = Date.now() / 1_000, }) {
|
|
371
417
|
const chainId = payment?.chain;
|
|
@@ -375,10 +421,10 @@ export function relayrPaymentDetails(payment, { bundleUuid, destinationChainIds,
|
|
|
375
421
|
if (!relayrPaymentChains(destinationChainIds).includes(chainId)) {
|
|
376
422
|
throw new Error("Choose a supported Relayr funding chain in the same network family as these destinations.");
|
|
377
423
|
}
|
|
378
|
-
if (!
|
|
424
|
+
if (!sameStrictAddress(payment.target, RELAYR_PAYMENT_ADDRESS)) {
|
|
379
425
|
throw new Error("Relayr returned an unrecognized payment contract.");
|
|
380
426
|
}
|
|
381
|
-
if (!
|
|
427
|
+
if (!sameStrictAddress(payment.token, RELAYR_NATIVE_TOKEN)) {
|
|
382
428
|
throw new Error("Relayr returned an unsupported payment token.");
|
|
383
429
|
}
|
|
384
430
|
const amount = uint256(payment.amount);
|
|
@@ -420,14 +466,21 @@ export function relayrPaymentDetails(payment, { bundleUuid, destinationChainIds,
|
|
|
420
466
|
/**
|
|
421
467
|
* The payment options to offer: each passes {@link relayrPaymentDetails} for
|
|
422
468
|
* the quote's bundle and destinations, one per chain (Relayr's first), copied
|
|
423
|
-
* so the quote's owner cannot change one under a later review.
|
|
469
|
+
* so the quote's owner cannot change one under a later review. A chain with
|
|
470
|
+
* any option whose contract or token is not an address as viem's strict check
|
|
471
|
+
* reads one (in lower case, or with a valid EIP-55 checksum) gets no option:
|
|
472
|
+
* Relayr's answer for that chain is corrupted.
|
|
424
473
|
*/
|
|
425
474
|
export function relayrPaymentOptions(quote, destinationChainIds, nowSeconds) {
|
|
475
|
+
const payments = Array.isArray(quote.payment_info)
|
|
476
|
+
? quote.payment_info
|
|
477
|
+
: [];
|
|
478
|
+
const corrupted = new Set(payments
|
|
479
|
+
.filter((payment) => !isStrictAddress(payment?.target) || !isStrictAddress(payment?.token))
|
|
480
|
+
.map((payment) => payment?.chain));
|
|
426
481
|
const chains = new Set();
|
|
427
482
|
const options = [];
|
|
428
|
-
for (const payment of
|
|
429
|
-
? quote.payment_info
|
|
430
|
-
: []) {
|
|
483
|
+
for (const payment of payments) {
|
|
431
484
|
let chainId;
|
|
432
485
|
try {
|
|
433
486
|
({ chainId } = relayrPaymentDetails(payment, {
|
|
@@ -439,7 +492,7 @@ export function relayrPaymentOptions(quote, destinationChainIds, nowSeconds) {
|
|
|
439
492
|
catch {
|
|
440
493
|
continue;
|
|
441
494
|
}
|
|
442
|
-
if (chains.has(chainId))
|
|
495
|
+
if (chains.has(chainId) || corrupted.has(chainId))
|
|
443
496
|
continue;
|
|
444
497
|
chains.add(chainId);
|
|
445
498
|
options.push({ ...payment });
|
|
@@ -669,6 +722,16 @@ function readReviewedPayment(payment) {
|
|
|
669
722
|
deadline: calldataDeadline(payment.calldata),
|
|
670
723
|
};
|
|
671
724
|
}
|
|
725
|
+
/**
|
|
726
|
+
* The reviewed payment's parts when it is an authenticated Relayr payment,
|
|
727
|
+
* `from` is an address and every hash a transaction hash; else null.
|
|
728
|
+
*/
|
|
729
|
+
function verifiablePayment(hashes, from, payment) {
|
|
730
|
+
const reviewed = readReviewedPayment(payment);
|
|
731
|
+
return reviewed && isAddressLike(from) && hashes.every(isBytes32)
|
|
732
|
+
? reviewed
|
|
733
|
+
: null;
|
|
734
|
+
}
|
|
672
735
|
/**
|
|
673
736
|
* Prove a Relayr payment from the chain: the transaction at `hash` is exactly
|
|
674
737
|
* `payment` sent by `from` (chain, payment contract, calldata, value),
|
|
@@ -683,13 +746,9 @@ function readReviewedPayment(payment) {
|
|
|
683
746
|
* again. Any other error means the proof is unavailable for now.
|
|
684
747
|
*/
|
|
685
748
|
export async function verifyRelayrPayment(client, { hash, from, payment, }) {
|
|
686
|
-
const reviewed =
|
|
687
|
-
if (
|
|
688
|
-
|
|
689
|
-
!isAddressLike(from) ||
|
|
690
|
-
!reviewed) {
|
|
691
|
-
throw new Error("Only an authenticated Relayr payment with its transaction hash can be verified.");
|
|
692
|
-
}
|
|
749
|
+
const reviewed = verifiablePayment([hash], from, payment);
|
|
750
|
+
if (!reviewed)
|
|
751
|
+
throw new Error(UNVERIFIABLE);
|
|
693
752
|
const receipt = await proveTransaction(client, {
|
|
694
753
|
hash,
|
|
695
754
|
chainId: reviewed.chainId,
|
|
@@ -725,16 +784,21 @@ export async function verifyRelayrPayment(client, { hash, from, payment, }) {
|
|
|
725
784
|
* The payment contract keeps no state and Relayr keeps every payment it
|
|
726
785
|
* receives, so anything else rules a new payment out, and an empty list never
|
|
727
786
|
* clears one. A payment still in flight from elsewhere is not visible yet.
|
|
728
|
-
* Throws in every other case, including when an answer is unavailable
|
|
729
|
-
*
|
|
787
|
+
* Throws in every other case, including when an answer is unavailable, and
|
|
788
|
+
* refuses a malformed request before reading anything. Each refusal is a
|
|
789
|
+
* {@link RelayrPaymentRetryError} naming its `reason`, except a hash that is
|
|
790
|
+
* another transaction, which stays a {@link RelayrProofError}. Never pay on an
|
|
791
|
+
* error.
|
|
730
792
|
*/
|
|
731
793
|
export async function requireRelayrPaymentRetry(client, { hashes, from, payment, }, { fetch: fetchBundle = globalThis.fetch, nowSeconds = Date.now() / 1_000, } = {}) {
|
|
732
794
|
if (!Array.isArray(hashes) || !hashes.length) {
|
|
733
|
-
throw new
|
|
795
|
+
throw new RelayrPaymentRetryError("Name every payment this session sent for the quote before paying it again.", "invalid");
|
|
734
796
|
}
|
|
735
|
-
const reviewed =
|
|
736
|
-
if (reviewed
|
|
737
|
-
throw new
|
|
797
|
+
const reviewed = verifiablePayment(hashes, from, payment);
|
|
798
|
+
if (!reviewed)
|
|
799
|
+
throw new RelayrPaymentRetryError(UNVERIFIABLE, "invalid");
|
|
800
|
+
if (quoteExpired(reviewed.deadline, nowSeconds)) {
|
|
801
|
+
throw new RelayrPaymentRetryError(EXPIRED, "expired");
|
|
738
802
|
}
|
|
739
803
|
for (const hash of hashes) {
|
|
740
804
|
try {
|
|
@@ -743,22 +807,46 @@ export async function requireRelayrPaymentRetry(client, { hashes, from, payment,
|
|
|
743
807
|
catch (error) {
|
|
744
808
|
if (error instanceof RelayrPaymentRevertedError)
|
|
745
809
|
continue;
|
|
746
|
-
|
|
810
|
+
if (error instanceof RelayrProofError)
|
|
811
|
+
throw error;
|
|
812
|
+
throw withCause(new RelayrPaymentRetryError(error.message, "unknown"), error);
|
|
747
813
|
}
|
|
748
|
-
throw new
|
|
814
|
+
throw new RelayrPaymentRetryError("This Relayr payment succeeded onchain, so its bundle is paid. Do not pay again.", "paid");
|
|
749
815
|
}
|
|
750
|
-
|
|
816
|
+
await requireRelayrBundleUnpaid(reviewed.bundleUuid, { fetch: fetchBundle });
|
|
817
|
+
}
|
|
818
|
+
/**
|
|
819
|
+
* Throws a {@link RelayrPaymentRetryError} unless Relayr's bundle
|
|
820
|
+
* `bundleUuid`, read as {@link readRelayrBundle} reads it (with `fetch`, never
|
|
821
|
+
* from an HTTP cache, and only an answer naming this bundle), reports no
|
|
822
|
+
* payment received (`payment_received: false`) and at least one call, every
|
|
823
|
+
* one still pending with no destination hash. Relayr runs only paid bundles,
|
|
824
|
+
* so the refusal is `paid` when Relayr reports a payment, `running` when a
|
|
825
|
+
* call is running or run, `unknown` when the bundle cannot be read or Relayr
|
|
826
|
+
* has not said, and `invalid` for a malformed bundle ID. Confirm a bundle with
|
|
827
|
+
* it before releasing its quote; {@link requireRelayrPaymentRetry} runs it
|
|
828
|
+
* before clearing a quote to be paid again.
|
|
829
|
+
*/
|
|
830
|
+
export async function requireRelayrBundleUnpaid(bundleUuid, { fetch: fetchBundle = globalThis.fetch, } = {}) {
|
|
831
|
+
const uuid = uuidOf(bundleUuid);
|
|
832
|
+
if (!uuid) {
|
|
833
|
+
throw new RelayrPaymentRetryError(`Invalid Relayr bundle ID: ${String(bundleUuid)}.`, "invalid");
|
|
834
|
+
}
|
|
835
|
+
requireUnpaidBundle(await readBundle(fetchBundle, uuid, () => new RelayrPaymentRetryError(UNKNOWN_PAYMENT, "unknown")));
|
|
836
|
+
}
|
|
837
|
+
/** {@link requireRelayrBundleUnpaid}'s check of a bundle already read. */
|
|
838
|
+
function requireUnpaidBundle({ payment_received, transactions, }) {
|
|
751
839
|
if (payment_received === true) {
|
|
752
|
-
throw new
|
|
840
|
+
throw new RelayrPaymentRetryError("Relayr already reports a payment for this bundle. Do not pay again.", "paid");
|
|
753
841
|
}
|
|
754
842
|
if (payment_received !== false ||
|
|
755
843
|
!Array.isArray(transactions) ||
|
|
756
844
|
!transactions.length) {
|
|
757
|
-
throw new
|
|
845
|
+
throw new RelayrPaymentRetryError(UNKNOWN_PAYMENT, "unknown");
|
|
758
846
|
}
|
|
759
847
|
if (transactions.some((record) => relayrDestinationHash(record) !== null ||
|
|
760
848
|
!relayrStateIsPending(record?.status?.state))) {
|
|
761
|
-
throw new
|
|
849
|
+
throw new RelayrPaymentRetryError("Relayr reports a transaction of this bundle as running or run. Do not pay again.", "running");
|
|
762
850
|
}
|
|
763
851
|
}
|
|
764
852
|
function destinationWords(hash, chainId) {
|
|
@@ -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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"}
|