@bananapus/nana-sdk-core 2.16.0 → 2.18.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/constants.d.ts +1 -13
- package/dist/cjs/constants.d.ts.map +1 -1
- package/dist/cjs/constants.js +4 -22
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/generated/abi/jbBuybackHookAbi.d.ts +1187 -0
- package/dist/cjs/generated/abi/jbBuybackHookAbi.d.ts.map +1 -0
- package/dist/cjs/generated/abi/jbBuybackHookAbi.js +841 -0
- package/dist/cjs/generated/abi/jbBuybackHookAbi.js.map +1 -0
- package/dist/cjs/generated/abi/jbBuybackHookRegistryAbi.d.ts +791 -0
- package/dist/cjs/generated/abi/jbBuybackHookRegistryAbi.d.ts.map +1 -0
- package/dist/cjs/generated/abi/jbBuybackHookRegistryAbi.js +632 -0
- package/dist/cjs/generated/abi/jbBuybackHookRegistryAbi.js.map +1 -0
- package/dist/cjs/generated/abi/jbControllerAbi.d.ts +2569 -0
- package/dist/cjs/generated/abi/jbControllerAbi.d.ts.map +1 -0
- package/dist/cjs/generated/abi/jbControllerAbi.js +1906 -0
- package/dist/cjs/generated/abi/jbControllerAbi.js.map +1 -0
- package/dist/cjs/generated/abi/jbDirectoryAbi.d.ts +410 -0
- package/dist/cjs/generated/abi/jbDirectoryAbi.d.ts.map +1 -0
- package/dist/cjs/generated/abi/jbDirectoryAbi.js +365 -0
- package/dist/cjs/generated/abi/jbDirectoryAbi.js.map +1 -0
- package/dist/cjs/generated/abi/jbMultiTerminalAbi.d.ts +1863 -0
- package/dist/cjs/generated/abi/jbMultiTerminalAbi.d.ts.map +1 -0
- package/dist/cjs/generated/abi/jbMultiTerminalAbi.js +1459 -0
- package/dist/cjs/generated/abi/jbMultiTerminalAbi.js.map +1 -0
- package/dist/cjs/generated/abi/jbPermissionsAbi.d.ts +240 -0
- package/dist/cjs/generated/abi/jbPermissionsAbi.d.ts.map +1 -0
- package/dist/cjs/generated/abi/jbPermissionsAbi.js +164 -0
- package/dist/cjs/generated/abi/jbPermissionsAbi.js.map +1 -0
- package/dist/cjs/generated/abi/jbProjectsAbi.d.ts +626 -0
- package/dist/cjs/generated/abi/jbProjectsAbi.d.ts.map +1 -0
- package/dist/cjs/generated/abi/jbProjectsAbi.js +470 -0
- package/dist/cjs/generated/abi/jbProjectsAbi.js.map +1 -0
- package/dist/cjs/generated/abi/jbRouterTerminalGatewayAbi.d.ts +1503 -0
- package/dist/cjs/generated/abi/jbRouterTerminalGatewayAbi.d.ts.map +1 -0
- package/dist/cjs/generated/abi/jbRouterTerminalGatewayAbi.js +1037 -0
- package/dist/cjs/generated/abi/jbRouterTerminalGatewayAbi.js.map +1 -0
- package/dist/cjs/generated/abi/jbRouterTerminalRegistryAbi.d.ts +1119 -0
- package/dist/cjs/generated/abi/jbRouterTerminalRegistryAbi.d.ts.map +1 -0
- package/dist/cjs/generated/abi/jbRouterTerminalRegistryAbi.js +925 -0
- package/dist/cjs/generated/abi/jbRouterTerminalRegistryAbi.js.map +1 -0
- package/dist/cjs/generated/abi/jbSplitsAbi.d.ts +244 -0
- package/dist/cjs/generated/abi/jbSplitsAbi.d.ts.map +1 -0
- package/dist/cjs/generated/abi/jbSplitsAbi.js +198 -0
- package/dist/cjs/generated/abi/jbSplitsAbi.js.map +1 -0
- package/dist/cjs/generated/abi/jbTokensAbi.d.ts +602 -0
- package/dist/cjs/generated/abi/jbTokensAbi.d.ts.map +1 -0
- package/dist/cjs/generated/abi/jbTokensAbi.js +501 -0
- package/dist/cjs/generated/abi/jbTokensAbi.js.map +1 -0
- package/dist/cjs/generated/juicebox.d.ts +25405 -36537
- package/dist/cjs/generated/juicebox.d.ts.map +1 -1
- package/dist/cjs/generated/juicebox.js +14362 -22761
- package/dist/cjs/generated/juicebox.js.map +1 -1
- package/dist/cjs/pureConstants.d.ts +15 -0
- package/dist/cjs/pureConstants.d.ts.map +1 -0
- package/dist/cjs/pureConstants.js +28 -0
- package/dist/cjs/pureConstants.js.map +1 -0
- package/dist/cjs/review/decode.d.ts.map +1 -1
- package/dist/cjs/review/decode.js +35 -51
- package/dist/cjs/review/decode.js.map +1 -1
- package/dist/cjs/review/relayr.d.ts +380 -0
- package/dist/cjs/review/relayr.d.ts.map +1 -0
- package/dist/cjs/review/relayr.js +899 -0
- package/dist/cjs/review/relayr.js.map +1 -0
- package/dist/cjs/safe.d.ts +376 -8
- package/dist/cjs/safe.d.ts.map +1 -1
- package/dist/cjs/safe.js +1088 -29
- package/dist/cjs/safe.js.map +1 -1
- package/dist/cjs/safeService.d.ts +361 -1
- package/dist/cjs/safeService.d.ts.map +1 -1
- package/dist/cjs/safeService.js +844 -6
- package/dist/cjs/safeService.js.map +1 -1
- package/dist/cjs/untrusted.d.ts +8 -0
- package/dist/cjs/untrusted.d.ts.map +1 -0
- package/dist/cjs/untrusted.js +33 -0
- package/dist/cjs/untrusted.js.map +1 -0
- package/dist/cjs/v6/distributions.d.ts +90 -0
- package/dist/cjs/v6/distributions.d.ts.map +1 -0
- package/dist/cjs/v6/distributions.js +287 -0
- package/dist/cjs/v6/distributions.js.map +1 -0
- package/dist/cjs/v6/index.d.ts +1 -0
- package/dist/cjs/v6/index.d.ts.map +1 -1
- package/dist/cjs/v6/index.js +1 -0
- package/dist/cjs/v6/index.js.map +1 -1
- package/dist/cjs/v6/permissionIds.d.ts +62 -0
- package/dist/cjs/v6/permissionIds.d.ts.map +1 -0
- package/dist/cjs/v6/permissionIds.js +70 -0
- package/dist/cjs/v6/permissionIds.js.map +1 -0
- package/dist/cjs/v6/permissions.d.ts +3 -62
- package/dist/cjs/v6/permissions.d.ts.map +1 -1
- package/dist/cjs/v6/permissions.js +6 -67
- package/dist/cjs/v6/permissions.js.map +1 -1
- package/dist/cjs/v6/splits.d.ts +1 -1
- package/dist/cjs/v6/splits.d.ts.map +1 -1
- package/dist/cjs/v6/splits.js +3 -3
- package/dist/cjs/v6/splits.js.map +1 -1
- package/dist/cjs/v6/sticky.d.ts +2 -2
- package/dist/cjs/v6/sticky.d.ts.map +1 -1
- package/dist/cjs/v6/types.d.ts +1 -1
- package/dist/cjs/v6/types.d.ts.map +1 -1
- package/dist/esm/constants.d.ts +1 -13
- package/dist/esm/constants.d.ts.map +1 -1
- package/dist/esm/constants.js +1 -21
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/generated/abi/jbBuybackHookAbi.d.ts +1187 -0
- package/dist/esm/generated/abi/jbBuybackHookAbi.d.ts.map +1 -0
- package/dist/esm/generated/abi/jbBuybackHookAbi.js +838 -0
- package/dist/esm/generated/abi/jbBuybackHookAbi.js.map +1 -0
- package/dist/esm/generated/abi/jbBuybackHookRegistryAbi.d.ts +791 -0
- package/dist/esm/generated/abi/jbBuybackHookRegistryAbi.d.ts.map +1 -0
- package/dist/esm/generated/abi/jbBuybackHookRegistryAbi.js +629 -0
- package/dist/esm/generated/abi/jbBuybackHookRegistryAbi.js.map +1 -0
- package/dist/esm/generated/abi/jbControllerAbi.d.ts +2569 -0
- package/dist/esm/generated/abi/jbControllerAbi.d.ts.map +1 -0
- package/dist/esm/generated/abi/jbControllerAbi.js +1903 -0
- package/dist/esm/generated/abi/jbControllerAbi.js.map +1 -0
- package/dist/esm/generated/abi/jbDirectoryAbi.d.ts +410 -0
- package/dist/esm/generated/abi/jbDirectoryAbi.d.ts.map +1 -0
- package/dist/esm/generated/abi/jbDirectoryAbi.js +362 -0
- package/dist/esm/generated/abi/jbDirectoryAbi.js.map +1 -0
- package/dist/esm/generated/abi/jbMultiTerminalAbi.d.ts +1863 -0
- package/dist/esm/generated/abi/jbMultiTerminalAbi.d.ts.map +1 -0
- package/dist/esm/generated/abi/jbMultiTerminalAbi.js +1456 -0
- package/dist/esm/generated/abi/jbMultiTerminalAbi.js.map +1 -0
- package/dist/esm/generated/abi/jbPermissionsAbi.d.ts +240 -0
- package/dist/esm/generated/abi/jbPermissionsAbi.d.ts.map +1 -0
- package/dist/esm/generated/abi/jbPermissionsAbi.js +161 -0
- package/dist/esm/generated/abi/jbPermissionsAbi.js.map +1 -0
- package/dist/esm/generated/abi/jbProjectsAbi.d.ts +626 -0
- package/dist/esm/generated/abi/jbProjectsAbi.d.ts.map +1 -0
- package/dist/esm/generated/abi/jbProjectsAbi.js +467 -0
- package/dist/esm/generated/abi/jbProjectsAbi.js.map +1 -0
- package/dist/esm/generated/abi/jbRouterTerminalGatewayAbi.d.ts +1503 -0
- package/dist/esm/generated/abi/jbRouterTerminalGatewayAbi.d.ts.map +1 -0
- package/dist/esm/generated/abi/jbRouterTerminalGatewayAbi.js +1034 -0
- package/dist/esm/generated/abi/jbRouterTerminalGatewayAbi.js.map +1 -0
- package/dist/esm/generated/abi/jbRouterTerminalRegistryAbi.d.ts +1119 -0
- package/dist/esm/generated/abi/jbRouterTerminalRegistryAbi.d.ts.map +1 -0
- package/dist/esm/generated/abi/jbRouterTerminalRegistryAbi.js +922 -0
- package/dist/esm/generated/abi/jbRouterTerminalRegistryAbi.js.map +1 -0
- package/dist/esm/generated/abi/jbSplitsAbi.d.ts +244 -0
- package/dist/esm/generated/abi/jbSplitsAbi.d.ts.map +1 -0
- package/dist/esm/generated/abi/jbSplitsAbi.js +195 -0
- package/dist/esm/generated/abi/jbSplitsAbi.js.map +1 -0
- package/dist/esm/generated/abi/jbTokensAbi.d.ts +602 -0
- package/dist/esm/generated/abi/jbTokensAbi.d.ts.map +1 -0
- package/dist/esm/generated/abi/jbTokensAbi.js +498 -0
- package/dist/esm/generated/abi/jbTokensAbi.js.map +1 -0
- package/dist/esm/generated/juicebox.d.ts +25405 -36537
- package/dist/esm/generated/juicebox.d.ts.map +1 -1
- package/dist/esm/generated/juicebox.js +14634 -23044
- package/dist/esm/generated/juicebox.js.map +1 -1
- package/dist/esm/pureConstants.d.ts +15 -0
- package/dist/esm/pureConstants.d.ts.map +1 -0
- package/dist/esm/pureConstants.js +25 -0
- package/dist/esm/pureConstants.js.map +1 -0
- package/dist/esm/review/decode.d.ts.map +1 -1
- package/dist/esm/review/decode.js +21 -37
- package/dist/esm/review/decode.js.map +1 -1
- package/dist/esm/review/relayr.d.ts +380 -0
- package/dist/esm/review/relayr.d.ts.map +1 -0
- package/dist/esm/review/relayr.js +874 -0
- package/dist/esm/review/relayr.js.map +1 -0
- package/dist/esm/safe.d.ts +376 -8
- package/dist/esm/safe.d.ts.map +1 -1
- package/dist/esm/safe.js +1070 -29
- package/dist/esm/safe.js.map +1 -1
- package/dist/esm/safeService.d.ts +361 -1
- package/dist/esm/safeService.d.ts.map +1 -1
- package/dist/esm/safeService.js +818 -5
- package/dist/esm/safeService.js.map +1 -1
- package/dist/esm/untrusted.d.ts +8 -0
- package/dist/esm/untrusted.d.ts.map +1 -0
- package/dist/esm/untrusted.js +28 -0
- package/dist/esm/untrusted.js.map +1 -0
- package/dist/esm/v6/distributions.d.ts +90 -0
- package/dist/esm/v6/distributions.d.ts.map +1 -0
- package/dist/esm/v6/distributions.js +283 -0
- package/dist/esm/v6/distributions.js.map +1 -0
- package/dist/esm/v6/index.d.ts +1 -0
- package/dist/esm/v6/index.d.ts.map +1 -1
- package/dist/esm/v6/index.js +1 -0
- package/dist/esm/v6/index.js.map +1 -1
- package/dist/esm/v6/permissionIds.d.ts +62 -0
- package/dist/esm/v6/permissionIds.d.ts.map +1 -0
- package/dist/esm/v6/permissionIds.js +66 -0
- package/dist/esm/v6/permissionIds.js.map +1 -0
- package/dist/esm/v6/permissions.d.ts +3 -62
- package/dist/esm/v6/permissions.d.ts.map +1 -1
- package/dist/esm/v6/permissions.js +2 -64
- package/dist/esm/v6/permissions.js.map +1 -1
- package/dist/esm/v6/splits.d.ts +1 -1
- package/dist/esm/v6/splits.d.ts.map +1 -1
- package/dist/esm/v6/splits.js +1 -1
- package/dist/esm/v6/splits.js.map +1 -1
- package/dist/esm/v6/sticky.d.ts +2 -2
- package/dist/esm/v6/sticky.d.ts.map +1 -1
- package/dist/esm/v6/types.d.ts +1 -1
- package/dist/esm/v6/types.d.ts.map +1 -1
- package/package.json +6 -1
|
@@ -0,0 +1,380 @@
|
|
|
1
|
+
import { type Address, type Hex, type PublicClient, type TransactionReceipt } from "viem";
|
|
2
|
+
/** Relayr's HTTP API. */
|
|
3
|
+
export declare const RELAYR_API = "https://api.relayr.ba5ed.com";
|
|
4
|
+
/**
|
|
5
|
+
* Relayr's immutable prepaid-native payment contract. A quote is untrusted
|
|
6
|
+
* HTTP input, so paying any other target or calldata would turn the quote
|
|
7
|
+
* service into a wallet transaction oracle.
|
|
8
|
+
*/
|
|
9
|
+
export declare const RELAYR_PAYMENT_ADDRESS: Address;
|
|
10
|
+
/**
|
|
11
|
+
* The payment function's selector. Its arguments are the bundle UUID as a
|
|
12
|
+
* right-padded bytes16 word and a uint40 deadline.
|
|
13
|
+
*/
|
|
14
|
+
export declare const RELAYR_PAYMENT_SELECTOR = "0x103903a7";
|
|
15
|
+
/** keccak256 of the payment contract's runtime code. */
|
|
16
|
+
export declare const RELAYR_PAYMENT_CODE_HASH: Hex;
|
|
17
|
+
/** The token Relayr quotes for a payment in the chain's native currency. */
|
|
18
|
+
export declare const RELAYR_NATIVE_TOKEN: Address;
|
|
19
|
+
/** The gas a payment is simulated and sent with. */
|
|
20
|
+
export declare const RELAYR_PAYMENT_GAS = 150000n;
|
|
21
|
+
/**
|
|
22
|
+
* How long a signed ERC-2771 ForwardRequest stays executable: 47 hours from
|
|
23
|
+
* signing. The forwarder rejects it afterwards, even if the bundle was paid.
|
|
24
|
+
*/
|
|
25
|
+
export declare const RELAYR_FORWARDER_DEADLINE_SECONDS: number;
|
|
26
|
+
/** ERC2771Context's view on a destination contract. */
|
|
27
|
+
export declare const TRUSTED_FORWARDER_ABI: readonly [{
|
|
28
|
+
readonly type: "function";
|
|
29
|
+
readonly name: "isTrustedForwarder";
|
|
30
|
+
readonly stateMutability: "view";
|
|
31
|
+
readonly inputs: readonly [{
|
|
32
|
+
readonly name: "forwarder";
|
|
33
|
+
readonly type: "address";
|
|
34
|
+
}];
|
|
35
|
+
readonly outputs: readonly [{
|
|
36
|
+
readonly type: "bool";
|
|
37
|
+
}];
|
|
38
|
+
}];
|
|
39
|
+
/** EIP-712 types of an ERC2771Forwarder ForwardRequest. */
|
|
40
|
+
export declare const FORWARD_REQUEST_TYPES: {
|
|
41
|
+
readonly ForwardRequest: readonly [{
|
|
42
|
+
readonly name: "from";
|
|
43
|
+
readonly type: "address";
|
|
44
|
+
}, {
|
|
45
|
+
readonly name: "to";
|
|
46
|
+
readonly type: "address";
|
|
47
|
+
}, {
|
|
48
|
+
readonly name: "value";
|
|
49
|
+
readonly type: "uint256";
|
|
50
|
+
}, {
|
|
51
|
+
readonly name: "gas";
|
|
52
|
+
readonly type: "uint256";
|
|
53
|
+
}, {
|
|
54
|
+
readonly name: "nonce";
|
|
55
|
+
readonly type: "uint256";
|
|
56
|
+
}, {
|
|
57
|
+
readonly name: "deadline";
|
|
58
|
+
readonly type: "uint48";
|
|
59
|
+
}, {
|
|
60
|
+
readonly name: "data";
|
|
61
|
+
readonly type: "bytes";
|
|
62
|
+
}];
|
|
63
|
+
};
|
|
64
|
+
/** One transaction of a bundle as posted to Relayr. `value` is decimal wei. */
|
|
65
|
+
export type RelayrEntry = {
|
|
66
|
+
chain: number;
|
|
67
|
+
target: Address;
|
|
68
|
+
data: Hex;
|
|
69
|
+
value: string;
|
|
70
|
+
/** Its place among the bundle's transactions on the same chain, from 0. */
|
|
71
|
+
virtual_nonce?: number;
|
|
72
|
+
};
|
|
73
|
+
/** The body posted to `${RELAYR_API}/v1/bundle/prepaid`. */
|
|
74
|
+
export type RelayrBundleRequest = {
|
|
75
|
+
transactions: (RelayrEntry & {
|
|
76
|
+
virtual_nonce: number;
|
|
77
|
+
})[];
|
|
78
|
+
virtual_nonce_mode: "ChainIndependent";
|
|
79
|
+
};
|
|
80
|
+
/** A payment option exactly as Relayr quotes it: untrusted until {@link relayrPaymentDetails} accepts it. */
|
|
81
|
+
export type RelayrPayment = {
|
|
82
|
+
chain: number;
|
|
83
|
+
amount: string;
|
|
84
|
+
calldata: Hex;
|
|
85
|
+
target: Address;
|
|
86
|
+
token?: Address;
|
|
87
|
+
payment_deadline?: number | string;
|
|
88
|
+
};
|
|
89
|
+
/** A payment option authenticated against its bundle. */
|
|
90
|
+
export type RelayrPaymentDetails = {
|
|
91
|
+
chainId: number;
|
|
92
|
+
target: Address;
|
|
93
|
+
amount: bigint;
|
|
94
|
+
calldata: Hex;
|
|
95
|
+
bundleUuid: string;
|
|
96
|
+
deadline: bigint;
|
|
97
|
+
};
|
|
98
|
+
/** Relayr's status record for one bundle transaction: untrusted. */
|
|
99
|
+
export type RelayrTransactionRecord = {
|
|
100
|
+
chain?: number;
|
|
101
|
+
tx_uuid?: string;
|
|
102
|
+
request?: RelayrEntry;
|
|
103
|
+
status?: {
|
|
104
|
+
state?: string;
|
|
105
|
+
data?: {
|
|
106
|
+
hash?: Hex;
|
|
107
|
+
transaction?: {
|
|
108
|
+
hash?: Hex;
|
|
109
|
+
};
|
|
110
|
+
};
|
|
111
|
+
};
|
|
112
|
+
};
|
|
113
|
+
/** A posted transaction and the Relayr ID bound to it by its exact request. */
|
|
114
|
+
export type RelayrTransactionBinding = {
|
|
115
|
+
txUuid: string;
|
|
116
|
+
chain: number;
|
|
117
|
+
entry: RelayrEntry;
|
|
118
|
+
};
|
|
119
|
+
export type RelayrQuote = {
|
|
120
|
+
bundle_uuid: string;
|
|
121
|
+
payment_info: RelayrPayment[];
|
|
122
|
+
/** Relayr's record for each posted transaction, in posted order. */
|
|
123
|
+
transactions: RelayrTransactionRecord[];
|
|
124
|
+
/** Each posted transaction with its quoted ID, in posted order. */
|
|
125
|
+
expectedTransactions: RelayrTransactionBinding[];
|
|
126
|
+
};
|
|
127
|
+
export type RelayrProgressSummary = {
|
|
128
|
+
confirmed: number;
|
|
129
|
+
failed: number;
|
|
130
|
+
pending: number;
|
|
131
|
+
total: number;
|
|
132
|
+
};
|
|
133
|
+
/** The ERC-2771 request an `execute` call carries. */
|
|
134
|
+
export type RelayrForwardRequest = {
|
|
135
|
+
from: Address;
|
|
136
|
+
to: Address;
|
|
137
|
+
value: bigint;
|
|
138
|
+
gas: bigint;
|
|
139
|
+
deadline: number;
|
|
140
|
+
data: Hex;
|
|
141
|
+
signature: Hex;
|
|
142
|
+
};
|
|
143
|
+
export type RelayrVerifiedDestination = {
|
|
144
|
+
txUuid: string;
|
|
145
|
+
chainId: number;
|
|
146
|
+
receipt: TransactionReceipt;
|
|
147
|
+
};
|
|
148
|
+
/**
|
|
149
|
+
* The reads a proof makes. Typed by the fields it reads, so a PublicClient
|
|
150
|
+
* for any chain, with that chain's formatters, satisfies it.
|
|
151
|
+
*/
|
|
152
|
+
export type RelayrProofClient = {
|
|
153
|
+
getTransaction(args: {
|
|
154
|
+
hash: Hex;
|
|
155
|
+
}): Promise<{
|
|
156
|
+
hash: Hex;
|
|
157
|
+
chainId?: number;
|
|
158
|
+
from: Address;
|
|
159
|
+
to: Address | null;
|
|
160
|
+
input: Hex;
|
|
161
|
+
value: bigint;
|
|
162
|
+
blockHash: Hex | null;
|
|
163
|
+
blockNumber: bigint | null;
|
|
164
|
+
}>;
|
|
165
|
+
getTransactionReceipt(args: {
|
|
166
|
+
hash: Hex;
|
|
167
|
+
}): Promise<TransactionReceipt>;
|
|
168
|
+
getBlock(args: {
|
|
169
|
+
blockNumber: bigint;
|
|
170
|
+
}): Promise<{
|
|
171
|
+
hash: Hex | null;
|
|
172
|
+
}>;
|
|
173
|
+
};
|
|
174
|
+
/**
|
|
175
|
+
* The chain or Relayr contradicts the expected transaction: this evidence can
|
|
176
|
+
* never prove it. Keep the action pending and never pay for it again.
|
|
177
|
+
*/
|
|
178
|
+
export declare class RelayrProofError extends Error {
|
|
179
|
+
readonly name: string;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* The payment at `hash` is exactly the reviewed payment, canonically included,
|
|
183
|
+
* and reverted, so that one transaction paid nothing. It does not show that
|
|
184
|
+
* the bundle is unpaid: the payment contract keeps no state, and Relayr keeps
|
|
185
|
+
* every payment it receives for a bundle, so another payment may have funded
|
|
186
|
+
* it. Only {@link requireRelayrPaymentRetry} clears the quote to be paid
|
|
187
|
+
* again.
|
|
188
|
+
*/
|
|
189
|
+
export declare class RelayrPaymentRevertedError extends RelayrProofError {
|
|
190
|
+
readonly hash: Hex;
|
|
191
|
+
readonly chainId: number;
|
|
192
|
+
readonly name = "RelayrPaymentRevertedError";
|
|
193
|
+
constructor(message: string, hash: Hex, chainId: number);
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* The destination at `hash` is exactly the signed call, canonically included,
|
|
197
|
+
* and reverted: the call failed on its chain. Whether its authorization can
|
|
198
|
+
* still be used again (an unchanged forwarder nonce) is the caller's to check.
|
|
199
|
+
*/
|
|
200
|
+
export declare class RelayrDestinationRevertedError extends RelayrProofError {
|
|
201
|
+
readonly hash: Hex;
|
|
202
|
+
readonly chainId: number;
|
|
203
|
+
readonly name = "RelayrDestinationRevertedError";
|
|
204
|
+
constructor(message: string, hash: Hex, chainId: number);
|
|
205
|
+
}
|
|
206
|
+
/** Relayr runs bundles on Ethereum, Optimism, Base and Arbitrum, and on their Sepolia testnets. */
|
|
207
|
+
export declare function relayrSupportsChain(chainId: number): boolean;
|
|
208
|
+
/**
|
|
209
|
+
* One destination per chain, every one in a single network family: all
|
|
210
|
+
* mainnets or all testnets.
|
|
211
|
+
*/
|
|
212
|
+
export declare function relayrSupportsChains(chainIds: readonly number[]): boolean;
|
|
213
|
+
/**
|
|
214
|
+
* The chains that may fund a bundle with these destinations: their network
|
|
215
|
+
* family, so a testnet action never spends mainnet ETH. Empty when the
|
|
216
|
+
* destinations are unsupported or mix families.
|
|
217
|
+
*/
|
|
218
|
+
export declare function relayrPaymentChains(chainIds: readonly number[]): number[];
|
|
219
|
+
/**
|
|
220
|
+
* The body to post to `${RELAYR_API}/v1/bundle/prepaid`. Each chain's
|
|
221
|
+
* transactions run in order: their virtual nonces count up from 0 per chain,
|
|
222
|
+
* independently of other chains. Throws unless every transaction is
|
|
223
|
+
* well-formed and the destinations share one network family.
|
|
224
|
+
*/
|
|
225
|
+
export declare function relayrBundleRequest(entries: readonly RelayrEntry[]): RelayrBundleRequest;
|
|
226
|
+
/**
|
|
227
|
+
* Authenticate Relayr's response to posting `request` (from
|
|
228
|
+
* {@link relayrBundleRequest}). Relayr lists transaction IDs out of request
|
|
229
|
+
* order, so each posted transaction is bound to the quoted ID whose record
|
|
230
|
+
* carries its exact request; the records are read from the bundle (with
|
|
231
|
+
* `fetch`) when the response leaves them out. The records must be exactly the
|
|
232
|
+
* quoted IDs, one each, as {@link verifyRelayrDestinations} will require of
|
|
233
|
+
* Relayr's status. Throws, with nothing paid, unless every posted transaction
|
|
234
|
+
* is bound to its own ID.
|
|
235
|
+
*/
|
|
236
|
+
export declare function bindRelayrQuote(response: Response, request: RelayrBundleRequest, { fetch: fetchBundle, }?: {
|
|
237
|
+
fetch?: typeof globalThis.fetch;
|
|
238
|
+
}): Promise<RelayrQuote>;
|
|
239
|
+
/**
|
|
240
|
+
* Authenticate one of Relayr's payment options against its bundle: a chain in
|
|
241
|
+
* the destinations' network family, Relayr's payment contract and native
|
|
242
|
+
* token, calldata that pays for exactly `bundleUuid` with the quoted
|
|
243
|
+
* deadline, and a deadline more than 15 seconds away. Throws otherwise.
|
|
244
|
+
*/
|
|
245
|
+
export declare function relayrPaymentDetails(payment: RelayrPayment, { bundleUuid, destinationChainIds, nowSeconds, }: {
|
|
246
|
+
bundleUuid: string;
|
|
247
|
+
destinationChainIds: readonly number[];
|
|
248
|
+
nowSeconds?: number;
|
|
249
|
+
}): RelayrPaymentDetails;
|
|
250
|
+
/**
|
|
251
|
+
* The payment options to offer: each passes {@link relayrPaymentDetails} for
|
|
252
|
+
* 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.
|
|
254
|
+
*/
|
|
255
|
+
export declare function relayrPaymentOptions(quote: Pick<RelayrQuote, "bundle_uuid" | "payment_info">, destinationChainIds: readonly number[], nowSeconds?: number): RelayrPayment[];
|
|
256
|
+
/**
|
|
257
|
+
* Prove the payment chain runs Relayr's payment contract: the code at
|
|
258
|
+
* {@link RELAYR_PAYMENT_ADDRESS} hashes to {@link RELAYR_PAYMENT_CODE_HASH}.
|
|
259
|
+
*/
|
|
260
|
+
export declare function requireRelayrPaymentRuntime(client: Pick<PublicClient, "getCode">): Promise<void>;
|
|
261
|
+
/**
|
|
262
|
+
* Simulate the exact payment from `from` with the gas it is sent with,
|
|
263
|
+
* without CCIP-read. Relayr's contract returns nothing, so a revert or any
|
|
264
|
+
* return data refuses the payment.
|
|
265
|
+
*/
|
|
266
|
+
export declare function simulateRelayrPayment(client: Pick<PublicClient, "request">, { from, payment, }: {
|
|
267
|
+
from: Address;
|
|
268
|
+
payment: Pick<RelayrPaymentDetails, "target" | "amount" | "calldata">;
|
|
269
|
+
}): Promise<void>;
|
|
270
|
+
/** Success is `success` or `completed`, in any case. */
|
|
271
|
+
export declare function relayrStateIsSuccess(state?: string): boolean;
|
|
272
|
+
/**
|
|
273
|
+
* Only `failed`, in any case, is a failure. Relayr's other states say nothing
|
|
274
|
+
* final; receipts stay the proof either way.
|
|
275
|
+
*/
|
|
276
|
+
export declare function relayrStateIsFailed(state?: string): boolean;
|
|
277
|
+
/** Counts by Relayr's labels, with rows it has not reported yet counted as pending. */
|
|
278
|
+
export declare function relayrProgress(records: readonly RelayrTransactionRecord[], expectedCount?: number): RelayrProgressSummary;
|
|
279
|
+
/** The destination transaction hash a record reports, if it is a transaction hash. */
|
|
280
|
+
export declare function relayrDestinationHash(record: RelayrTransactionRecord): Hex | null;
|
|
281
|
+
/** A record's destination chain. Relayr's status nests it under `request`. */
|
|
282
|
+
export declare function relayrRecordChain(record: RelayrTransactionRecord): number | null;
|
|
283
|
+
/**
|
|
284
|
+
* The ERC-2771 request an entry carries: an `execute` call on its chain's
|
|
285
|
+
* canonical Juicebox V6 forwarder whose calldata re-encodes byte for byte.
|
|
286
|
+
* Null for anything else: a raw call, another forwarder, another function or
|
|
287
|
+
* a dirty encoding.
|
|
288
|
+
*/
|
|
289
|
+
export declare function relayrForwardRequest(entry: Pick<RelayrEntry, "chain" | "target" | "data">): RelayrForwardRequest | null;
|
|
290
|
+
/**
|
|
291
|
+
* A reviewed payment as {@link relayrPaymentDetails} returned it, or as a
|
|
292
|
+
* saved session restores it from JSON, with the amount as a decimal string.
|
|
293
|
+
*/
|
|
294
|
+
type ReviewedPayment = Pick<RelayrPaymentDetails, "chainId" | "target" | "calldata" | "bundleUuid"> & {
|
|
295
|
+
amount: bigint | string;
|
|
296
|
+
};
|
|
297
|
+
/**
|
|
298
|
+
* Prove a Relayr payment from the chain: the transaction at `hash` is exactly
|
|
299
|
+
* `payment` sent by `from` (chain, payment contract, calldata, value),
|
|
300
|
+
* canonically included, and successful. Pass the hash that was mined: when a
|
|
301
|
+
* wallet speeds a payment up, viem's receipt is the replacement's, so verify
|
|
302
|
+
* its `transactionHash`, not the hash the wallet first returned.
|
|
303
|
+
*
|
|
304
|
+
* Throws {@link RelayrPaymentRevertedError} when it canonically reverted. That
|
|
305
|
+
* transaction paid nothing, but the bundle may still be paid by another, so
|
|
306
|
+
* only {@link requireRelayrPaymentRetry} clears the quote to be paid again.
|
|
307
|
+
* {@link RelayrProofError} means the transaction is a different one: never pay
|
|
308
|
+
* again. Any other error means the proof is unavailable for now.
|
|
309
|
+
*/
|
|
310
|
+
export declare function verifyRelayrPayment(client: RelayrProofClient, { hash, from, payment, }: {
|
|
311
|
+
hash: Hex;
|
|
312
|
+
from: Address;
|
|
313
|
+
payment: ReviewedPayment;
|
|
314
|
+
}): Promise<TransactionReceipt>;
|
|
315
|
+
/**
|
|
316
|
+
* Clear a saved quote to be paid once more after its payments reverted.
|
|
317
|
+
* `hashes` is every payment this session sent for the quote, each as mined
|
|
318
|
+
* (see {@link verifyRelayrPayment}). A bundle ID belongs to one quote, and a
|
|
319
|
+
* quote to the session on the device that requested it, so the session's own
|
|
320
|
+
* hashes are every payment that could have funded the bundle. Resolves only
|
|
321
|
+
* when:
|
|
322
|
+
*
|
|
323
|
+
* - every one of them is exactly the reviewed payment, canonically reverted;
|
|
324
|
+
* - the quote's deadline is more than 15 seconds away (`nowSeconds`, by
|
|
325
|
+
* default the clock);
|
|
326
|
+
* - Relayr's bundle, read with `fetch` and never from a cache, reports
|
|
327
|
+
* `payment_received: false`, and every record is still pending with no
|
|
328
|
+
* destination hash. Relayr runs only paid bundles.
|
|
329
|
+
*
|
|
330
|
+
* The payment contract keeps no state and Relayr keeps every payment it
|
|
331
|
+
* receives, so anything else rules a new payment out, and an empty list never
|
|
332
|
+
* 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. Never
|
|
334
|
+
* pay on an error.
|
|
335
|
+
*/
|
|
336
|
+
export declare function requireRelayrPaymentRetry(client: RelayrProofClient, { hashes, from, payment, }: {
|
|
337
|
+
hashes: readonly Hex[];
|
|
338
|
+
from: Address;
|
|
339
|
+
payment: ReviewedPayment;
|
|
340
|
+
}, { fetch: fetchBundle, nowSeconds, }?: {
|
|
341
|
+
fetch?: typeof globalThis.fetch;
|
|
342
|
+
nowSeconds?: number;
|
|
343
|
+
}): Promise<void>;
|
|
344
|
+
/**
|
|
345
|
+
* Prove one destination from the chain: the transaction at `hash` is exactly
|
|
346
|
+
* `entry` (chain, target, calldata, value), canonically included, and
|
|
347
|
+
* successful. Throws {@link RelayrDestinationRevertedError} when it
|
|
348
|
+
* canonically reverted, {@link RelayrProofError} when it is a different
|
|
349
|
+
* transaction, and any other error while the proof is unavailable.
|
|
350
|
+
*/
|
|
351
|
+
export declare function verifyRelayrDestination(client: RelayrProofClient, { entry, hash }: {
|
|
352
|
+
entry: RelayrEntry;
|
|
353
|
+
hash: Hex;
|
|
354
|
+
}): Promise<TransactionReceipt>;
|
|
355
|
+
/**
|
|
356
|
+
* Prove every destination of a bundle from the chain. `bindings` are the
|
|
357
|
+
* quote's {@link RelayrQuote.expectedTransactions}; `records` are Relayr's
|
|
358
|
+
* status records, which only say which hash to check. Every record must carry
|
|
359
|
+
* one of the quote's IDs, once. Each binding then needs exactly one record on
|
|
360
|
+
* its chain carrying its exact request; only a record without a request is
|
|
361
|
+
* paired by its ID, since bindings saved before request binding paired IDs by
|
|
362
|
+
* position. Every hash must prove its binding onchain with
|
|
363
|
+
* {@link verifyRelayrDestination}.
|
|
364
|
+
*
|
|
365
|
+
* With `account`, every entry must also be that account's ERC-2771 request
|
|
366
|
+
* on its chain's canonical forwarder, for the entry's own value.
|
|
367
|
+
*
|
|
368
|
+
* Returns the receipts in binding order. Throws
|
|
369
|
+
* {@link RelayrDestinationRevertedError} when a destination canonically
|
|
370
|
+
* reverted, another {@link RelayrProofError} when Relayr or the chain
|
|
371
|
+
* contradicts a binding, and any other error while proof is unavailable.
|
|
372
|
+
* Never pay again on any error.
|
|
373
|
+
*/
|
|
374
|
+
export declare function verifyRelayrDestinations(clientFor: (chainId: number) => RelayrProofClient | undefined, { bindings, records, account, }: {
|
|
375
|
+
bindings: readonly RelayrTransactionBinding[];
|
|
376
|
+
records: readonly RelayrTransactionRecord[];
|
|
377
|
+
account?: Address;
|
|
378
|
+
}): Promise<RelayrVerifiedDestination[]>;
|
|
379
|
+
export {};
|
|
380
|
+
//# sourceMappingURL=relayr.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relayr.d.ts","sourceRoot":"","sources":["../../../src/review/relayr.ts"],"names":[],"mappings":"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"}
|