@rhinestone/sdk 2.0.0-beta.0 → 2.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/README.md +1 -1
  2. package/dist/src/accounts/json-rpc/providers.d.ts.map +1 -1
  3. package/dist/src/accounts/json-rpc/providers.js +3 -2
  4. package/dist/src/errors/index.d.ts +3 -3
  5. package/dist/src/errors/index.d.ts.map +1 -1
  6. package/dist/src/errors/index.js +6 -4
  7. package/dist/src/execution/compact.d.ts +1 -144
  8. package/dist/src/execution/compact.d.ts.map +1 -1
  9. package/dist/src/execution/compact.js +1 -109
  10. package/dist/src/execution/error.d.ts +10 -1
  11. package/dist/src/execution/error.d.ts.map +1 -1
  12. package/dist/src/execution/error.js +9 -1
  13. package/dist/src/execution/index.d.ts +3 -4
  14. package/dist/src/execution/index.d.ts.map +1 -1
  15. package/dist/src/execution/index.js +21 -17
  16. package/dist/src/execution/permit2.d.ts +1 -137
  17. package/dist/src/execution/permit2.d.ts.map +1 -1
  18. package/dist/src/execution/permit2.js +2 -231
  19. package/dist/src/execution/utils.d.ts +28 -12
  20. package/dist/src/execution/utils.d.ts.map +1 -1
  21. package/dist/src/execution/utils.js +167 -117
  22. package/dist/src/index.d.ts +9 -8
  23. package/dist/src/index.d.ts.map +1 -1
  24. package/dist/src/index.js +8 -8
  25. package/dist/src/modules/validators/smart-sessions.d.ts.map +1 -1
  26. package/dist/src/modules/validators/smart-sessions.js +3 -5
  27. package/dist/src/orchestrator/caip2.d.ts +7 -0
  28. package/dist/src/orchestrator/caip2.d.ts.map +1 -0
  29. package/dist/src/orchestrator/caip2.js +17 -0
  30. package/dist/src/orchestrator/client.d.ts +11 -11
  31. package/dist/src/orchestrator/client.d.ts.map +1 -1
  32. package/dist/src/orchestrator/client.js +193 -295
  33. package/dist/src/orchestrator/consts.d.ts +2 -2
  34. package/dist/src/orchestrator/consts.d.ts.map +1 -1
  35. package/dist/src/orchestrator/consts.js +2 -2
  36. package/dist/src/orchestrator/error.d.ts +72 -217
  37. package/dist/src/orchestrator/error.d.ts.map +1 -1
  38. package/dist/src/orchestrator/error.js +117 -195
  39. package/dist/src/orchestrator/index.d.ts +4 -4
  40. package/dist/src/orchestrator/index.d.ts.map +1 -1
  41. package/dist/src/orchestrator/index.js +2 -2
  42. package/dist/src/orchestrator/types.d.ts +97 -232
  43. package/dist/src/orchestrator/types.d.ts.map +1 -1
  44. package/dist/src/types.d.ts +2 -4
  45. package/dist/src/types.d.ts.map +1 -1
  46. package/package.json +1 -1
  47. package/dist/src/execution/singleChainOps.d.ts +0 -41
  48. package/dist/src/execution/singleChainOps.d.ts.map +0 -1
  49. package/dist/src/execution/singleChainOps.js +0 -42
  50. package/dist/src/execution/types.d.ts +0 -36
  51. package/dist/src/execution/types.d.ts.map +0 -1
  52. package/dist/src/execution/types.js +0 -1
@@ -1,143 +1,7 @@
1
1
  import { type Address, type Chain } from 'viem';
2
- import type { IntentOpElement } from '../orchestrator/types.js';
3
2
  import type { RhinestoneConfig } from '../types.js';
4
- import type { BatchPermit2Result, MultiChainPermit2Config, MultiChainPermit2Result, TokenPermissions } from './types.js';
5
- declare function getTypedData(element: IntentOpElement, nonce: bigint, expires: bigint): {
6
- readonly domain: {
7
- readonly name: "Permit2";
8
- readonly chainId: number;
9
- readonly verifyingContract: "0x000000000022D473030F116dDEE9F6B43aC78BA3";
10
- };
11
- readonly types: {
12
- readonly TokenPermissions: readonly [{
13
- readonly name: "token";
14
- readonly type: "address";
15
- }, {
16
- readonly name: "amount";
17
- readonly type: "uint256";
18
- }];
19
- readonly Token: readonly [{
20
- readonly name: "token";
21
- readonly type: "address";
22
- }, {
23
- readonly name: "amount";
24
- readonly type: "uint256";
25
- }];
26
- readonly Target: readonly [{
27
- readonly name: "recipient";
28
- readonly type: "address";
29
- }, {
30
- readonly name: "tokenOut";
31
- readonly type: "Token[]";
32
- }, {
33
- readonly name: "targetChain";
34
- readonly type: "uint256";
35
- }, {
36
- readonly name: "fillExpiry";
37
- readonly type: "uint256";
38
- }];
39
- readonly Ops: readonly [{
40
- readonly name: "to";
41
- readonly type: "address";
42
- }, {
43
- readonly name: "value";
44
- readonly type: "uint256";
45
- }, {
46
- readonly name: "data";
47
- readonly type: "bytes";
48
- }];
49
- readonly Op: readonly [{
50
- readonly name: "vt";
51
- readonly type: "bytes32";
52
- }, {
53
- readonly name: "ops";
54
- readonly type: "Ops[]";
55
- }];
56
- readonly Mandate: readonly [{
57
- readonly name: "target";
58
- readonly type: "Target";
59
- }, {
60
- readonly name: "minGas";
61
- readonly type: "uint128";
62
- }, {
63
- readonly name: "originOps";
64
- readonly type: "Op";
65
- }, {
66
- readonly name: "destOps";
67
- readonly type: "Op";
68
- }, {
69
- readonly name: "q";
70
- readonly type: "bytes32";
71
- }];
72
- readonly PermitBatchWitnessTransferFrom: readonly [{
73
- readonly name: "permitted";
74
- readonly type: "TokenPermissions[]";
75
- }, {
76
- readonly name: "spender";
77
- readonly type: "address";
78
- }, {
79
- readonly name: "nonce";
80
- readonly type: "uint256";
81
- }, {
82
- readonly name: "deadline";
83
- readonly type: "uint256";
84
- }, {
85
- readonly name: "mandate";
86
- readonly type: "Mandate";
87
- }];
88
- };
89
- readonly primaryType: "PermitBatchWitnessTransferFrom";
90
- readonly message: {
91
- readonly permitted: TokenPermissions[];
92
- readonly spender: `0x${string}`;
93
- readonly nonce: bigint;
94
- readonly deadline: bigint;
95
- readonly mandate: {
96
- readonly target: {
97
- readonly recipient: `0x${string}`;
98
- readonly tokenOut: {
99
- token: `0x${string}`;
100
- amount: bigint;
101
- }[];
102
- readonly targetChain: bigint;
103
- readonly fillExpiry: bigint;
104
- };
105
- readonly minGas: bigint;
106
- readonly originOps: import("../orchestrator/types.js").Op;
107
- readonly destOps: import("../orchestrator/types.js").Op;
108
- readonly q: `0x${string}`;
109
- };
110
- };
111
- };
112
3
  declare function checkERC20AllowanceDirect(owner: Address, spender: Address, tokenAddress: Address, publicClient: any): Promise<bigint>;
113
4
  declare function checkERC20Allowance(tokenAddress: Address, chain: Chain, config: RhinestoneConfig): Promise<bigint>;
114
- /**
115
- * Get the Permit2 contract address
116
- * @returns The Permit2 contract address
117
- */
118
5
  declare function getPermit2Address(): Address;
119
- /**
120
- * Signs permit2 calls across multiple chains using batch approach.
121
- * Collects all signatures first, then returns them all at once.
122
- *
123
- * This approach is efficient for backend signers but may be memory-intensive
124
- * for frontend applications with many chains.
125
- *
126
- * @param configs - Array of permit2 signing configurations for different chains
127
- * @returns Promise<BatchPermit2Result> - All signatures collected
128
- */
129
- declare function signPermit2Batch(configs: MultiChainPermit2Config[]): Promise<BatchPermit2Result>;
130
- /**
131
- * Signs permit2 calls across multiple chains sequentially.
132
- * Signs one by one, useful for frontend applications to avoid memory issues.
133
- *
134
- * This approach is more memory-efficient for frontend applications but slower
135
- * due to sequential processing.
136
- *
137
- * @param configs - Array of permit2 signing configurations for different chains
138
- * @param onProgress - Optional callback for progress updates
139
- * @returns Promise<BatchPermit2Result> - All signatures collected
140
- */
141
- declare function signPermit2Sequential(configs: MultiChainPermit2Config[], onProgress?: (completed: number, total: number, current: MultiChainPermit2Result) => void): Promise<BatchPermit2Result>;
142
- export { getTypedData, checkERC20Allowance, checkERC20AllowanceDirect, getPermit2Address, signPermit2Batch, signPermit2Sequential, type MultiChainPermit2Config, type MultiChainPermit2Result, type BatchPermit2Result, };
6
+ export { checkERC20Allowance, checkERC20AllowanceDirect, getPermit2Address };
143
7
  //# sourceMappingURL=permit2.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"permit2.d.ts","sourceRoot":"","sources":["../../../execution/permit2.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,KAAK,EAIX,MAAM,MAAM,CAAA;AAEb,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,KAAK,EACV,kBAAkB,EAClB,uBAAuB,EACvB,uBAAuB,EACvB,gBAAgB,EACjB,MAAM,SAAS,CAAA;AAQhB,iBAAS,YAAY,CACnB,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwFhB;AAED,iBAAe,yBAAyB,CACtC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,OAAO,EACrB,YAAY,EAAE,GAAG,GAChB,OAAO,CAAC,MAAM,CAAC,CAyBjB;AAED,iBAAe,mBAAmB,CAChC,YAAY,EAAE,OAAO,EACrB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,MAAM,CAAC,CAuBjB;AAED;;;GAGG;AACH,iBAAS,iBAAiB,IAAI,OAAO,CAEpC;AAED;;;;;;;;;GASG;AACH,iBAAe,gBAAgB,CAC7B,OAAO,EAAE,uBAAuB,EAAE,GACjC,OAAO,CAAC,kBAAkB,CAAC,CAyE7B;AAED;;;;;;;;;;GAUG;AACH,iBAAe,qBAAqB,CAClC,OAAO,EAAE,uBAAuB,EAAE,EAClC,UAAU,CAAC,EAAE,CACX,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,uBAAuB,KAC7B,IAAI,GACR,OAAO,CAAC,kBAAkB,CAAC,CA8D7B;AAED,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,yBAAyB,EACzB,iBAAiB,EAEjB,gBAAgB,EAChB,qBAAqB,EAErB,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,GACxB,CAAA"}
1
+ {"version":3,"file":"permit2.d.ts","sourceRoot":"","sources":["../../../execution/permit2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAsB,MAAM,MAAM,CAAA;AAEnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAIhD,iBAAe,yBAAyB,CACtC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,OAAO,EACrB,YAAY,EAAE,GAAG,GAChB,OAAO,CAAC,MAAM,CAAC,CAyBjB;AAED,iBAAe,mBAAmB,CAChC,YAAY,EAAE,OAAO,EACrB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,MAAM,CAAC,CAuBjB;AAED,iBAAS,iBAAiB,IAAI,OAAO,CAEpC;AAED,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,CAAA"}
@@ -1,93 +1,6 @@
1
- import { createPublicClient, keccak256, } from 'viem';
1
+ import { createPublicClient } from 'viem';
2
2
  import { createTransport } from '../accounts/utils.js';
3
3
  const PERMIT2_ADDRESS = '0x000000000022D473030F116dDEE9F6B43aC78BA3';
4
- function toToken(id) {
5
- return `0x${(id & ((1n << 160n) - 1n)).toString(16).padStart(40, '0')}`;
6
- }
7
- function getTypedData(element, nonce, expires) {
8
- const tokens = element.idsAndAmounts.map(([id, amount]) => [
9
- BigInt(id),
10
- BigInt(amount),
11
- ]);
12
- const tokenPermissions = tokens.reduce((permissions, [id, amountIn]) => {
13
- const token = toToken(BigInt(id));
14
- const amount = BigInt(amountIn);
15
- const permission = { token, amount };
16
- permissions.push(permission);
17
- return permissions;
18
- }, []);
19
- const spender = element.arbiter;
20
- const mandate = element.mandate;
21
- const typedData = {
22
- domain: {
23
- name: 'Permit2',
24
- chainId: Number(element.chainId),
25
- verifyingContract: PERMIT2_ADDRESS,
26
- },
27
- types: {
28
- TokenPermissions: [
29
- { name: 'token', type: 'address' },
30
- { name: 'amount', type: 'uint256' },
31
- ],
32
- Token: [
33
- { name: 'token', type: 'address' },
34
- { name: 'amount', type: 'uint256' },
35
- ],
36
- Target: [
37
- { name: 'recipient', type: 'address' },
38
- { name: 'tokenOut', type: 'Token[]' },
39
- { name: 'targetChain', type: 'uint256' },
40
- { name: 'fillExpiry', type: 'uint256' },
41
- ],
42
- Ops: [
43
- { name: 'to', type: 'address' },
44
- { name: 'value', type: 'uint256' },
45
- { name: 'data', type: 'bytes' },
46
- ],
47
- Op: [
48
- { name: 'vt', type: 'bytes32' },
49
- { name: 'ops', type: 'Ops[]' },
50
- ],
51
- Mandate: [
52
- { name: 'target', type: 'Target' },
53
- { name: 'minGas', type: 'uint128' },
54
- { name: 'originOps', type: 'Op' },
55
- { name: 'destOps', type: 'Op' },
56
- { name: 'q', type: 'bytes32' },
57
- ],
58
- PermitBatchWitnessTransferFrom: [
59
- { name: 'permitted', type: 'TokenPermissions[]' },
60
- { name: 'spender', type: 'address' },
61
- { name: 'nonce', type: 'uint256' },
62
- { name: 'deadline', type: 'uint256' },
63
- { name: 'mandate', type: 'Mandate' },
64
- ],
65
- },
66
- primaryType: 'PermitBatchWitnessTransferFrom',
67
- message: {
68
- permitted: tokenPermissions,
69
- spender: spender,
70
- nonce: nonce,
71
- deadline: expires,
72
- mandate: {
73
- target: {
74
- recipient: mandate.recipient,
75
- tokenOut: mandate.tokenOut.map((token) => ({
76
- token: toToken(BigInt(token[0])),
77
- amount: BigInt(token[1]),
78
- })),
79
- targetChain: BigInt(mandate.destinationChainId),
80
- fillExpiry: BigInt(mandate.fillDeadline),
81
- },
82
- minGas: BigInt(mandate.minGas),
83
- originOps: mandate.preClaimOps,
84
- destOps: mandate.destinationOps,
85
- q: keccak256(mandate.qualifier.encodedVal),
86
- },
87
- },
88
- };
89
- return typedData;
90
- }
91
4
  async function checkERC20AllowanceDirect(owner, spender, tokenAddress, publicClient) {
92
5
  try {
93
6
  const allowance = await publicClient.readContract({
@@ -132,149 +45,7 @@ async function checkERC20Allowance(tokenAddress, chain, config) {
132
45
  throw new Error('Failed to check ERC20 allowance');
133
46
  }
134
47
  }
135
- /**
136
- * Get the Permit2 contract address
137
- * @returns The Permit2 contract address
138
- */
139
48
  function getPermit2Address() {
140
49
  return PERMIT2_ADDRESS;
141
50
  }
142
- /**
143
- * Signs permit2 calls across multiple chains using batch approach.
144
- * Collects all signatures first, then returns them all at once.
145
- *
146
- * This approach is efficient for backend signers but may be memory-intensive
147
- * for frontend applications with many chains.
148
- *
149
- * @param configs - Array of permit2 signing configurations for different chains
150
- * @returns Promise<BatchPermit2Result> - All signatures collected
151
- */
152
- async function signPermit2Batch(configs) {
153
- const results = [];
154
- let successfulSignatures = 0;
155
- let failedSignatures = 0;
156
- // Process all signing operations in parallel
157
- const signingPromises = configs.map(async (config) => {
158
- try {
159
- // sign each element individually for this chain sequentially to preserve order
160
- if (!config.eoaAccount.signTypedData) {
161
- throw new Error('EOA account does not support typed data signing');
162
- }
163
- const originSignatures = [];
164
- for (const element of config.intentOp.elements) {
165
- const typedData = getTypedData(element, BigInt(config.intentOp.nonce), BigInt(config.intentOp.expires));
166
- const sig = await config.eoaAccount.signTypedData(typedData);
167
- originSignatures.push(sig);
168
- }
169
- const result = {
170
- chainId: config.chain.id,
171
- originSignatures,
172
- destinationSignature: originSignatures[0] ?? '0x',
173
- success: true,
174
- };
175
- successfulSignatures++;
176
- return result;
177
- }
178
- catch (error) {
179
- const result = {
180
- chainId: config.chain.id,
181
- originSignatures: [],
182
- destinationSignature: '0x',
183
- success: false,
184
- error: error instanceof Error ? error : new Error(String(error)),
185
- };
186
- failedSignatures++;
187
- return result;
188
- }
189
- });
190
- // Wait for all signing operations to complete
191
- const signingResults = await Promise.allSettled(signingPromises);
192
- for (const result of signingResults) {
193
- if (result.status === 'fulfilled') {
194
- results.push(result.value);
195
- }
196
- else {
197
- // This shouldn't happen since we catch errors in the promise
198
- failedSignatures++;
199
- results.push({
200
- chainId: 0,
201
- originSignatures: [],
202
- destinationSignature: '0x',
203
- success: false,
204
- error: result.reason,
205
- });
206
- }
207
- }
208
- return {
209
- results,
210
- totalChains: configs.length,
211
- successfulSignatures,
212
- failedSignatures,
213
- allSuccessful: failedSignatures === 0,
214
- };
215
- }
216
- /**
217
- * Signs permit2 calls across multiple chains sequentially.
218
- * Signs one by one, useful for frontend applications to avoid memory issues.
219
- *
220
- * This approach is more memory-efficient for frontend applications but slower
221
- * due to sequential processing.
222
- *
223
- * @param configs - Array of permit2 signing configurations for different chains
224
- * @param onProgress - Optional callback for progress updates
225
- * @returns Promise<BatchPermit2Result> - All signatures collected
226
- */
227
- async function signPermit2Sequential(configs, onProgress) {
228
- const results = [];
229
- let successfulSignatures = 0;
230
- let failedSignatures = 0;
231
- // Process signing operations sequentially
232
- for (let i = 0; i < configs.length; i++) {
233
- const config = configs[i];
234
- try {
235
- // sign each element for this chain sequentially to preserve order
236
- if (!config.eoaAccount.signTypedData) {
237
- throw new Error('EOA account does not support typed data signing');
238
- }
239
- const originSignatures = [];
240
- for (const element of config.intentOp.elements) {
241
- const typedData = getTypedData(element, BigInt(config.intentOp.nonce), BigInt(config.intentOp.expires));
242
- const sig = await config.eoaAccount.signTypedData(typedData);
243
- originSignatures.push(sig);
244
- }
245
- const result = {
246
- chainId: config.chain.id,
247
- originSignatures,
248
- destinationSignature: originSignatures[0] ?? '0x',
249
- success: true,
250
- };
251
- results.push(result);
252
- successfulSignatures++;
253
- // Call progress callback if provided
254
- onProgress?.(i + 1, configs.length, result);
255
- }
256
- catch (error) {
257
- const result = {
258
- chainId: config.chain.id,
259
- originSignatures: [],
260
- destinationSignature: '0x',
261
- success: false,
262
- error: error instanceof Error ? error : new Error(String(error)),
263
- };
264
- results.push(result);
265
- failedSignatures++;
266
- // Call progress callback if provided
267
- onProgress?.(i + 1, configs.length, result);
268
- }
269
- }
270
- return {
271
- results,
272
- totalChains: configs.length,
273
- successfulSignatures,
274
- failedSignatures,
275
- allSuccessful: failedSignatures === 0,
276
- };
277
- }
278
- export { getTypedData, checkERC20Allowance, checkERC20AllowanceDirect, getPermit2Address,
279
- // Multi-chain permit2 signing methods
280
- signPermit2Batch, signPermit2Sequential, };
51
+ export { checkERC20Allowance, checkERC20AllowanceDirect, getPermit2Address };
@@ -1,7 +1,7 @@
1
1
  import { type Address, type Chain, type HashTypedDataParameters, type Hex, type PublicClient, type SignableMessage, type SignedAuthorization, type SignedAuthorizationList, type TypedData, type TypedDataDefinition, type TypedDataDomain } from 'viem';
2
2
  import { type UserOperation } from 'viem/account-abstraction';
3
3
  import type { ResolvedSessionSignerSet } from '../modules/validators/smart-sessions.js';
4
- import { type IntentOp, type IntentRoute } from '../orchestrator/index.js';
4
+ import { type Quote, type SignData } from '../orchestrator/index.js';
5
5
  import { type AuxiliaryFunds, type OriginSignature, type SettlementLayer } from '../orchestrator/types.js';
6
6
  import type { Call, CalldataInput, CallInput, RhinestoneAccountConfig, RhinestoneConfig, Session, SessionEnableData, SessionSignerSet, SignerSet, SourceAssetInput, Sponsorship, TokenRequest, TokenSymbol, Transaction, UserOperationTransaction } from '../types.js';
7
7
  type InternalSignerSet = Exclude<SignerSet, SessionSignerSet> | ResolvedSessionSignerSet;
@@ -17,21 +17,29 @@ interface UserOperationResult {
17
17
  }
18
18
  interface TransactionResult {
19
19
  type: 'intent';
20
- id: bigint;
20
+ id: string;
21
21
  sourceChains?: number[];
22
22
  targetChain: number;
23
23
  }
24
+ interface PreparedQuotes {
25
+ best: Quote;
26
+ all: Quote[];
27
+ }
24
28
  interface PreparedTransactionData {
25
- intentRoute: IntentRoute;
29
+ quotes: PreparedQuotes;
26
30
  intentInput: unknown;
27
31
  transaction: Transaction;
28
32
  }
33
+ interface QuoteSelection {
34
+ intentId: string;
35
+ }
29
36
  interface PreparedUserOperationData {
30
37
  userOperation: UserOperation;
31
38
  hash: Hex;
32
39
  transaction: UserOperationTransaction;
33
40
  }
34
41
  interface SignedTransactionData extends PreparedTransactionData {
42
+ quote: Quote;
35
43
  originSignatures: OriginSignature[];
36
44
  destinationSignature: Hex;
37
45
  targetExecutionSignature: Hex | undefined;
@@ -42,19 +50,24 @@ interface SignedUserOperationData extends PreparedUserOperationData {
42
50
  declare function prepareTransaction(config: RhinestoneConfig, transaction: Transaction): Promise<PreparedTransactionData>;
43
51
  declare function prepareUserOperation(config: RhinestoneConfig, transaction: UserOperationTransaction): Promise<PreparedUserOperationData>;
44
52
  declare function resolveCallInputs(inputs: CallInput[] | undefined, config: RhinestoneConfig, chain: Chain, accountAddress: Address): Promise<CalldataInput[]>;
45
- declare function getTransactionMessages(config: RhinestoneConfig, preparedTransaction: PreparedTransactionData): {
53
+ declare function getTransactionMessages(_config: RhinestoneConfig, preparedTransaction: PreparedTransactionData, options?: QuoteSelection): {
46
54
  origin: TypedDataDefinition[];
47
55
  destination: TypedDataDefinition;
56
+ targetExecution?: TypedDataDefinition;
48
57
  };
49
- declare function signTransaction(config: RhinestoneConfig, preparedTransaction: PreparedTransactionData): Promise<SignedTransactionData>;
50
- declare function getTargetExecutionSignature(config: RhinestoneConfig, intentOp: IntentOp, targetChain: Chain, signers: SignerSet | undefined): Promise<`0x${string}` | undefined>;
58
+ declare function signTransaction(config: RhinestoneConfig, preparedTransaction: PreparedTransactionData, options?: QuoteSelection): Promise<SignedTransactionData>;
59
+ declare function getTargetExecutionSignature(config: RhinestoneConfig, signData: SignData, targetChain: Chain, signers: SignerSet | undefined): Promise<`0x${string}` | undefined>;
51
60
  declare function signUserOperation(config: RhinestoneConfig, preparedUserOperation: PreparedUserOperationData): Promise<SignedUserOperationData>;
52
61
  declare function signAuthorizations(config: RhinestoneConfig, preparedTransaction: PreparedTransactionData): Promise<SignedAuthorization[]>;
53
62
  declare function signMessage(config: RhinestoneConfig, message: SignableMessage, chain: Chain, signers: SignerSet | undefined): Promise<`0x${string}`>;
54
63
  declare function signTypedData<typedData extends TypedData | Record<string, unknown> = TypedData, primaryType extends keyof typedData | 'EIP712Domain' = keyof typedData>(config: RhinestoneConfig, parameters: HashTypedDataParameters<typedData, primaryType>, chain: Chain, signers: SignerSet | undefined, options?: {
55
64
  skipErc6492?: boolean;
56
65
  }): Promise<`0x${string}`>;
57
- declare function signAuthorizationsInternal(config: RhinestoneConfig, data: IntentRoute | UserOperation): Promise<SignedAuthorization[]>;
66
+ declare function signAuthorizationsInternal(config: RhinestoneConfig, context: {
67
+ sourceChains: Chain[] | undefined;
68
+ targetChain: Chain;
69
+ eip7702InitSignature: Hex | undefined;
70
+ }): Promise<SignedAuthorization[]>;
58
71
  declare function submitTransaction(config: RhinestoneConfig, signedTransaction: SignedTransactionData, authorizations: SignedAuthorizationList, dryRun?: boolean): Promise<TransactionResult>;
59
72
  declare function submitUserOperation(config: RhinestoneConfig, signedUserOperation: SignedUserOperationData): Promise<UserOperationResult>;
60
73
  declare function getTokenRequests(targetChain: Chain, initialTokenRequests: TokenRequest[] | undefined): TokenRequest[];
@@ -76,20 +89,23 @@ declare function getIntentAccount(config: RhinestoneConfig, eip7702InitSignature
76
89
  };
77
90
  } | undefined;
78
91
  };
79
- declare function prepareTransactionAsIntent(config: RhinestoneConfig, sourceChains: Chain[] | undefined, targetChain: Chain, callInputs: CalldataInput[], gasLimit: bigint | undefined, tokenRequests: TokenRequest[], recipientInput: RhinestoneAccountConfig | Address | undefined, sponsored: Sponsorship | undefined, eip7702InitSignature: Hex | undefined, settlementLayers: SettlementLayer[] | undefined, sourceAssets: SourceAssetInput | undefined, feeAsset: Address | TokenSymbol | undefined, lockFunds: boolean | undefined, auxiliaryFunds: AuxiliaryFunds | undefined, account: {
92
+ declare function prepareTransactionAsIntent(config: RhinestoneConfig, sourceChains: Chain[] | undefined, targetChain: Chain, callInputs: CalldataInput[], gasLimit: bigint | undefined, tokenRequests: TokenRequest[], recipientInput: RhinestoneAccountConfig | Address | undefined, sponsored: Sponsorship | undefined, eip7702InitSignature: Hex | undefined, settlementLayers: SettlementLayer[] | undefined, sourceAssets: SourceAssetInput | undefined, feeAsset: Address | TokenSymbol | undefined, auxiliaryFunds: AuxiliaryFunds | undefined, account: {
80
93
  setupOps?: {
81
94
  to: Address;
82
95
  data: Hex;
83
96
  }[];
84
97
  } | undefined, signers: SignerSet | undefined): Promise<{
85
- intentRoute: IntentRoute;
98
+ quotes: {
99
+ best: Quote;
100
+ all: Quote[];
101
+ };
86
102
  intentInput: any;
87
103
  }>;
88
- declare function signIntent(config: RhinestoneConfig, intentOp: IntentOp, targetChain: Chain, signers?: SignerSet, targetExecution?: boolean): Promise<{
104
+ declare function signIntent(config: RhinestoneConfig, signData: SignData, targetChain: Chain, signers?: SignerSet, targetExecution?: boolean): Promise<{
89
105
  originSignatures: OriginSignature[];
90
106
  destinationSignature: `0x${string}`;
91
107
  }>;
92
- declare function submitIntentInternal(config: RhinestoneConfig, sourceChains: Chain[] | undefined, targetChain: Chain, intentOp: IntentOp, originSignatures: OriginSignature[], destinationSignature: Hex, targetExecutionSignature: Hex | undefined, authorizations: SignedAuthorizationList, dryRun: boolean, intentInput?: unknown): Promise<TransactionResult>;
108
+ declare function submitIntentInternal(config: RhinestoneConfig, sourceChains: Chain[] | undefined, targetChain: Chain, quote: Quote, originSignatures: OriginSignature[], destinationSignature: Hex, targetExecutionSignature: Hex | undefined, authorizations: SignedAuthorizationList, dryRun: boolean, intentInput?: unknown): Promise<TransactionResult>;
93
109
  declare function getValidatorAccount(config: RhinestoneConfig, signers: SignerSet | undefined, publicClient: PublicClient, chain: Chain): Promise<import("viem/account-abstraction").SmartAccount<import("viem/account-abstraction").SmartAccountImplementation<import("viem").Abi, "0.7">> | null | undefined>;
94
110
  declare function parseCalls(calls: CalldataInput[], chainId: number): Call[];
95
111
  declare function hashErc7739TypedDataForSolady({ domain, types, primaryType, message, verifierDomain, }: {
@@ -106,5 +122,5 @@ declare function hashErc7739TypedDataForSolady({ domain, types, primaryType, mes
106
122
  };
107
123
  }): Hex;
108
124
  export { prepareTransaction, getTransactionMessages, signTransaction, signAuthorizations, signAuthorizationsInternal, signMessage, signTypedData, submitTransaction, prepareUserOperation, signUserOperation, submitUserOperation, signIntent, prepareTransactionAsIntent, submitIntentInternal, getValidatorAccount, parseCalls, getTokenRequests, resolveCallInputs, getIntentAccount, getTargetExecutionSignature, hashErc7739TypedDataForSolady, resolveSessionForChain, };
109
- export type { InternalSignerSet, IntentRoute, TransactionResult, PreparedTransactionData, PreparedUserOperationData, SignedTransactionData, SignedUserOperationData, UserOperationResult, };
125
+ export type { InternalSignerSet, TransactionResult, PreparedQuotes, PreparedTransactionData, PreparedUserOperationData, QuoteSelection, SignedTransactionData, SignedUserOperationData, UserOperationResult, };
110
126
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../execution/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../execution/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,KAAK,EAMV,KAAK,uBAAuB,EAC5B,KAAK,GAAG,EAOR,KAAK,YAAY,EAEjB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,SAAS,EACd,KAAK,mBAAmB,EACxB,KAAK,eAAe,EAGrB,MAAM,MAAM,CAAA;AACb,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,0BAA0B,CAAA;AA6CjC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAA;AACpF,OAAO,EAIL,KAAK,KAAK,EACV,KAAK,QAAQ,EACd,MAAM,iBAAiB,CAAA;AAMxB,OAAO,EAEL,KAAK,cAAc,EAInB,KAAK,eAAe,EACpB,KAAK,eAAe,EAIrB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,KAAK,EAEV,IAAI,EACJ,aAAa,EACb,SAAS,EAET,uBAAuB,EACvB,gBAAgB,EAChB,OAAO,EACP,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,EAET,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,WAAW,EACX,wBAAwB,EACzB,MAAM,UAAU,CAAA;AAOjB,KAAK,iBAAiB,GAClB,OAAO,CAAC,SAAS,EAAE,gBAAgB,CAAC,GACpC,wBAAwB,CAAA;AAqC5B,iBAAS,sBAAsB,CAC7B,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,MAAM,GACd;IACD,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,CAAC,EAAE,iBAAiB,CAAA;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CASA;AAED,UAAU,mBAAmB;IAC3B,IAAI,EAAE,QAAQ,CAAA;IACd,IAAI,EAAE,GAAG,CAAA;IACT,KAAK,EAAE,MAAM,CAAA;CACd;AAED,UAAU,iBAAiB;IACzB,IAAI,EAAE,QAAQ,CAAA;IACd,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,UAAU,cAAc;IACtB,IAAI,EAAE,KAAK,CAAA;IACX,GAAG,EAAE,KAAK,EAAE,CAAA;CACb;AAED,UAAU,uBAAuB;IAC/B,MAAM,EAAE,cAAc,CAAA;IACtB,WAAW,EAAE,OAAO,CAAA;IACpB,WAAW,EAAE,WAAW,CAAA;CACzB;AAED,UAAU,cAAc;IACtB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,UAAU,yBAAyB;IACjC,aAAa,EAAE,aAAa,CAAA;IAC5B,IAAI,EAAE,GAAG,CAAA;IACT,WAAW,EAAE,wBAAwB,CAAA;CACtC;AAED,UAAU,qBAAsB,SAAQ,uBAAuB;IAC7D,KAAK,EAAE,KAAK,CAAA;IACZ,gBAAgB,EAAE,eAAe,EAAE,CAAA;IACnC,oBAAoB,EAAE,GAAG,CAAA;IACzB,wBAAwB,EAAE,GAAG,GAAG,SAAS,CAAA;CAC1C;AAKD,UAAU,uBAAwB,SAAQ,yBAAyB;IACjE,SAAS,EAAE,GAAG,CAAA;CACf;AAED,iBAAe,kBAAkB,CAC/B,MAAM,EAAE,gBAAgB,EACxB,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,uBAAuB,CAAC,CAiDlC;AAED,iBAAe,oBAAoB,CACjC,MAAM,EAAE,gBAAgB,EACxB,WAAW,EAAE,wBAAwB,GACpC,OAAO,CAAC,yBAAyB,CAAC,CAgBpC;AAED,iBAAe,iBAAiB,CAC9B,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,EAC/B,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,OAAO,GACtB,OAAO,CAAC,aAAa,EAAE,CAAC,CAkB1B;AAED,iBAAS,sBAAsB,CAC7B,OAAO,EAAE,gBAAgB,EACzB,mBAAmB,EAAE,uBAAuB,EAC5C,OAAO,CAAC,EAAE,cAAc,GACvB;IACD,MAAM,EAAE,mBAAmB,EAAE,CAAA;IAC7B,WAAW,EAAE,mBAAmB,CAAA;IAChC,eAAe,CAAC,EAAE,mBAAmB,CAAA;CACtC,CAGA;AAED,iBAAe,eAAe,CAC5B,MAAM,EAAE,gBAAgB,EACxB,mBAAmB,EAAE,uBAAuB,EAC5C,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,qBAAqB,CAAC,CA8BhC;AAaD,iBAAe,2BAA2B,CACxC,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,KAAK,EAClB,OAAO,EAAE,SAAS,GAAG,SAAS,sCAqC/B;AAED,iBAAe,iBAAiB,CAC9B,MAAM,EAAE,gBAAgB,EACxB,qBAAqB,EAAE,yBAAyB,GAC/C,OAAO,CAAC,uBAAuB,CAAC,CAYlC;AAED,iBAAe,kBAAkB,CAC/B,MAAM,EAAE,gBAAgB,EACxB,mBAAmB,EAAE,uBAAuB,kCAY7C;AAED,iBAAe,WAAW,CACxB,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,SAAS,GAAG,SAAS,0BAqB/B;AAED,iBAAe,aAAa,CAC1B,SAAS,SAAS,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACjE,WAAW,SAAS,MAAM,SAAS,GAAG,cAAc,GAAG,MAAM,SAAS,EAEtE,MAAM,EAAE,gBAAgB,EACxB,UAAU,EAAE,uBAAuB,CAAC,SAAS,EAAE,WAAW,CAAC,EAC3D,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,SAAS,GAAG,SAAS,EAC9B,OAAO,CAAC,EAAE;IACR,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB,0BA0DF;AA8DD,iBAAe,0BAA0B,CACvC,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE;IACP,YAAY,EAAE,KAAK,EAAE,GAAG,SAAS,CAAA;IACjC,WAAW,EAAE,KAAK,CAAA;IAClB,oBAAoB,EAAE,GAAG,GAAG,SAAS,CAAA;CACtC,kCA2CF;AAED,iBAAe,iBAAiB,CAC9B,MAAM,EAAE,gBAAgB,EACxB,iBAAiB,EAAE,qBAAqB,EACxC,cAAc,EAAE,uBAAuB,EACvC,MAAM,GAAE,OAAe,GACtB,OAAO,CAAC,iBAAiB,CAAC,CAsB5B;AAED,iBAAe,mBAAmB,CAChC,MAAM,EAAE,gBAAgB,EACxB,mBAAmB,EAAE,uBAAuB,gCAO7C;AAsCD,iBAAS,gBAAgB,CACvB,WAAW,EAAE,KAAK,EAClB,oBAAoB,EAAE,YAAY,EAAE,GAAG,SAAS,kBASjD;AAkDD,iBAAS,gBAAgB,CACvB,MAAM,EAAE,gBAAgB,EACxB,oBAAoB,EAAE,GAAG,GAAG,SAAS,EACrC,OAAO,EACH;IACE,QAAQ,CAAC,EAAE;QACT,EAAE,EAAE,OAAO,CAAA;QACX,IAAI,EAAE,GAAG,CAAA;KACV,EAAE,CAAA;CACJ,GACD,SAAS;;;;YAJD,OAAO;cACL,GAAG;;;;;;;EAmBlB;AAED,iBAAe,0BAA0B,CACvC,MAAM,EAAE,gBAAgB,EACxB,YAAY,EAAE,KAAK,EAAE,GAAG,SAAS,EACjC,WAAW,EAAE,KAAK,EAClB,UAAU,EAAE,aAAa,EAAE,EAC3B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,aAAa,EAAE,YAAY,EAAE,EAC7B,cAAc,EAAE,uBAAuB,GAAG,OAAO,GAAG,SAAS,EAC7D,SAAS,EAAE,WAAW,GAAG,SAAS,EAClC,oBAAoB,EAAE,GAAG,GAAG,SAAS,EACrC,gBAAgB,EAAE,eAAe,EAAE,GAAG,SAAS,EAC/C,YAAY,EAAE,gBAAgB,GAAG,SAAS,EAC1C,QAAQ,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS,EAC3C,cAAc,EAAE,cAAc,GAAG,SAAS,EAC1C,OAAO,EACH;IACE,QAAQ,CAAC,EAAE;QACT,EAAE,EAAE,OAAO,CAAA;QACX,IAAI,EAAE,GAAG,CAAA;KACV,EAAE,CAAA;CACJ,GACD,SAAS,EACb,OAAO,EAAE,SAAS,GAAG,SAAS;;;;;;GA+H/B;AAED,iBAAe,UAAU,CACvB,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,KAAK,EAClB,OAAO,CAAC,EAAE,SAAS,EACnB,eAAe,CAAC,EAAE,OAAO;;;GAwE1B;AAqWD,iBAAe,oBAAoB,CACjC,MAAM,EAAE,gBAAgB,EACxB,YAAY,EAAE,KAAK,EAAE,GAAG,SAAS,EACjC,WAAW,EAAE,KAAK,EAClB,KAAK,EAAE,KAAK,EACZ,gBAAgB,EAAE,eAAe,EAAE,EACnC,oBAAoB,EAAE,GAAG,EACzB,wBAAwB,EAAE,GAAG,GAAG,SAAS,EACzC,cAAc,EAAE,uBAAuB,EACvC,MAAM,EAAE,OAAO,EACf,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,iBAAiB,CAAC,CA0C5B;AAED,iBAAe,mBAAmB,CAChC,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,SAAS,GAAG,SAAS,EAC9B,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,KAAK,yKAoBb;AAiDD,iBAAS,UAAU,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,CAMnE;AA0LD,iBAAS,6BAA6B,CAAC,EACrC,MAAM,EACN,KAAK,EACL,WAAW,EACX,OAAO,EACP,cAAc,GACf,EAAE;IACD,MAAM,EAAE,eAAe,CAAA;IACvB,KAAK,EAAE,SAAS,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,cAAc,EAAE;QACd,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,MAAM,CAAA;QACf,OAAO,EAAE,MAAM,CAAA;QACf,iBAAiB,EAAE,OAAO,CAAA;QAC1B,IAAI,EAAE,GAAG,CAAA;KACV,CAAA;CACF,GAAG,GAAG,CAoFN;AAED,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,kBAAkB,EAClB,0BAA0B,EAC1B,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,UAAU,EACV,0BAA0B,EAC1B,oBAAoB,EACpB,mBAAmB,EACnB,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,2BAA2B,EAC3B,6BAA6B,EAC7B,sBAAsB,GACvB,CAAA;AACD,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,uBAAuB,EACvB,yBAAyB,EACzB,cAAc,EACd,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,GACpB,CAAA"}