@rhinestone/sdk 2.0.0-beta.0 → 2.0.0-beta.10
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/README.md +43 -2
- package/dist/src/accounts/index.d.ts.map +1 -1
- package/dist/src/accounts/index.js +6 -34
- package/dist/src/accounts/json-rpc/providers.d.ts.map +1 -1
- package/dist/src/accounts/json-rpc/providers.js +3 -2
- package/dist/src/actions/smart-sessions.d.ts.map +1 -1
- package/dist/src/actions/smart-sessions.js +3 -3
- package/dist/src/errors/index.d.ts +3 -3
- package/dist/src/errors/index.d.ts.map +1 -1
- package/dist/src/errors/index.js +6 -4
- package/dist/src/execution/compact.d.ts +1 -144
- package/dist/src/execution/compact.d.ts.map +1 -1
- package/dist/src/execution/compact.js +1 -109
- package/dist/src/execution/error.d.ts +11 -2
- package/dist/src/execution/error.d.ts.map +1 -1
- package/dist/src/execution/error.js +11 -3
- package/dist/src/execution/index.d.ts +10 -11
- package/dist/src/execution/index.d.ts.map +1 -1
- package/dist/src/execution/index.js +37 -47
- package/dist/src/execution/utils.d.ts +34 -16
- package/dist/src/execution/utils.d.ts.map +1 -1
- package/dist/src/execution/utils.js +259 -144
- package/dist/src/index.d.ts +22 -16
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +18 -45
- package/dist/src/modules/index.d.ts +2 -2
- package/dist/src/modules/index.d.ts.map +1 -1
- package/dist/src/modules/index.js +2 -2
- package/dist/src/modules/read.d.ts.map +1 -1
- package/dist/src/modules/read.js +2 -4
- package/dist/src/modules/validators/index.d.ts +2 -2
- package/dist/src/modules/validators/index.d.ts.map +1 -1
- package/dist/src/modules/validators/index.js +2 -2
- package/dist/src/modules/validators/permissions.d.ts +5 -0
- package/dist/src/modules/validators/permissions.d.ts.map +1 -0
- package/dist/src/modules/validators/permissions.js +111 -0
- package/dist/src/modules/validators/policies/claim/permit2.d.ts +29 -3
- package/dist/src/modules/validators/policies/claim/permit2.d.ts.map +1 -1
- package/dist/src/modules/validators/smart-sessions.d.ts +14 -27
- package/dist/src/modules/validators/smart-sessions.d.ts.map +1 -1
- package/dist/src/modules/validators/smart-sessions.js +74 -22
- package/dist/src/orchestrator/caip2.d.ts +13 -0
- package/dist/src/orchestrator/caip2.d.ts.map +1 -0
- package/dist/src/orchestrator/caip2.js +52 -0
- package/dist/src/orchestrator/client.d.ts +12 -11
- package/dist/src/orchestrator/client.d.ts.map +1 -1
- package/dist/src/orchestrator/client.js +217 -296
- package/dist/src/orchestrator/consts.d.ts +2 -2
- package/dist/src/orchestrator/consts.d.ts.map +1 -1
- package/dist/src/orchestrator/consts.js +2 -2
- package/dist/src/orchestrator/destinations.d.ts +23 -0
- package/dist/src/orchestrator/destinations.d.ts.map +1 -0
- package/dist/src/orchestrator/destinations.js +36 -0
- package/dist/src/orchestrator/error.d.ts +72 -217
- package/dist/src/orchestrator/error.d.ts.map +1 -1
- package/dist/src/orchestrator/error.js +117 -195
- package/dist/src/orchestrator/index.d.ts +6 -5
- package/dist/src/orchestrator/index.d.ts.map +1 -1
- package/dist/src/orchestrator/index.js +4 -3
- package/dist/src/orchestrator/registry.d.ts +3 -9
- package/dist/src/orchestrator/registry.d.ts.map +1 -1
- package/dist/src/orchestrator/registry.js +11 -26
- package/dist/src/orchestrator/types.d.ts +136 -239
- package/dist/src/orchestrator/types.d.ts.map +1 -1
- package/dist/src/types.d.ts +126 -37
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/index.d.ts +2 -1
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/index.js +2 -1
- package/dist/src/utils/walletClient.d.ts.map +1 -0
- package/dist/src/{accounts → utils}/walletClient.js +1 -1
- package/package.json +2 -6
- package/dist/src/accounts/passport.d.ts +0 -9
- package/dist/src/accounts/passport.d.ts.map +0 -1
- package/dist/src/accounts/passport.js +0 -78
- package/dist/src/accounts/walletClient.d.ts.map +0 -1
- package/dist/src/actions/compact.d.ts +0 -15
- package/dist/src/actions/compact.d.ts.map +0 -1
- package/dist/src/actions/compact.js +0 -200
- package/dist/src/actions/deployment.d.ts +0 -19
- package/dist/src/actions/deployment.d.ts.map +0 -1
- package/dist/src/actions/deployment.js +0 -76
- package/dist/src/execution/permit2.d.ts +0 -143
- package/dist/src/execution/permit2.d.ts.map +0 -1
- package/dist/src/execution/permit2.js +0 -280
- package/dist/src/execution/singleChainOps.d.ts +0 -41
- package/dist/src/execution/singleChainOps.d.ts.map +0 -1
- package/dist/src/execution/singleChainOps.js +0 -42
- package/dist/src/execution/types.d.ts +0 -36
- package/dist/src/execution/types.d.ts.map +0 -1
- package/dist/src/execution/types.js +0 -1
- /package/dist/src/{accounts → utils}/walletClient.d.ts +0 -0
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { type Address, type Chain, type Hex } from 'viem';
|
|
2
2
|
import type { UserOperationReceipt } from 'viem/_types/account-abstraction';
|
|
3
3
|
import { type AuthProvider } from '../auth/provider.js';
|
|
4
|
-
import { type IntentOpStatus, type SplitIntentsInput } from '../orchestrator/index.js';
|
|
5
|
-
import type {
|
|
6
|
-
import type { CalldataInput, CallInput, RhinestoneAccountConfig, RhinestoneConfig, SignerSet, SourceAssetInput, Sponsorship, TokenRequest, TokenSymbol,
|
|
7
|
-
import { ExecutionError,
|
|
4
|
+
import { type FillTransactionHash, type IntentOpStatus, type SplitIntentsInput } from '../orchestrator/index.js';
|
|
5
|
+
import type { SettlementLayerFilter } from '../orchestrator/types.js';
|
|
6
|
+
import type { CalldataInput, CallInput, RhinestoneAccountConfig, RhinestoneConfig, SignerSet, SourceAssetInput, Sponsorship, TokenRequest, TokenSymbol, UserOperationTransaction } from '../types.js';
|
|
7
|
+
import { ExecutionError, IntentExpiredError, IntentFailedError, isExecutionError, OrderPathRequiredForIntentsError, QuoteNotInPreparedTransactionError, SessionChainRequiredError, SignerNotSupportedError } from './error.js';
|
|
8
8
|
import type { TransactionResult, UserOperationResult } from './utils.js';
|
|
9
9
|
interface TransactionStatus {
|
|
10
10
|
fill: {
|
|
11
|
-
hash
|
|
11
|
+
/** Destination fill hash — viem `Hex` for EVM, base58 / Tron-hex for non-EVM. */
|
|
12
|
+
hash: FillTransactionHash | undefined;
|
|
12
13
|
chainId: number;
|
|
13
14
|
};
|
|
14
15
|
claims: {
|
|
@@ -16,7 +17,6 @@ interface TransactionStatus {
|
|
|
16
17
|
chainId: number;
|
|
17
18
|
}[];
|
|
18
19
|
}
|
|
19
|
-
declare function sendTransaction(config: RhinestoneAccountConfig, transaction: Transaction): Promise<TransactionResult>;
|
|
20
20
|
declare function sendUserOperation(config: RhinestoneAccountConfig, transaction: UserOperationTransaction): Promise<UserOperationResult>;
|
|
21
21
|
declare function sendTransactionInternal(config: RhinestoneConfig, sourceChains: Chain[] | undefined, targetChain: Chain, options: {
|
|
22
22
|
callInputs?: CallInput[];
|
|
@@ -26,18 +26,17 @@ declare function sendTransactionInternal(config: RhinestoneConfig, sourceChains:
|
|
|
26
26
|
signers?: SignerSet;
|
|
27
27
|
sponsored?: Sponsorship;
|
|
28
28
|
eip7702InitSignature?: Hex;
|
|
29
|
-
settlementLayers?:
|
|
29
|
+
settlementLayers?: SettlementLayerFilter;
|
|
30
30
|
sourceAssets?: SourceAssetInput;
|
|
31
|
-
lockFunds?: boolean;
|
|
32
31
|
feeAsset?: Address | TokenSymbol;
|
|
33
32
|
}): Promise<TransactionResult>;
|
|
34
33
|
declare function sendUserOperationInternal(config: RhinestoneConfig, chain: Chain, callInputs: CalldataInput[], signers?: SignerSet): Promise<UserOperationResult>;
|
|
35
|
-
declare function waitForExecution(config: RhinestoneConfig, result: TransactionResult | UserOperationResult
|
|
34
|
+
declare function waitForExecution(config: RhinestoneConfig, result: TransactionResult | UserOperationResult): Promise<TransactionStatus | UserOperationReceipt>;
|
|
36
35
|
declare function getPortfolio(config: RhinestoneConfig, onTestnets: boolean): Promise<import("../orchestrator/index.js").Portfolio>;
|
|
37
|
-
declare function getIntentStatus(authProvider: AuthProvider, endpointUrl: string | undefined, intentId:
|
|
36
|
+
declare function getIntentStatus(authProvider: AuthProvider, endpointUrl: string | undefined, intentId: string, headers?: Record<string, string>): Promise<TransactionStatus & {
|
|
38
37
|
status: IntentOpStatus['status'];
|
|
39
38
|
}>;
|
|
40
39
|
declare function splitIntents(authProvider: AuthProvider, endpointUrl: string | undefined, input: SplitIntentsInput, headers?: Record<string, string>): Promise<import("../orchestrator/index.js").SplitIntentsResult>;
|
|
41
|
-
export {
|
|
40
|
+
export { sendTransactionInternal, sendUserOperation, sendUserOperationInternal, waitForExecution, getPortfolio, getIntentStatus, splitIntents, isExecutionError, ExecutionError, IntentExpiredError, IntentFailedError, OrderPathRequiredForIntentsError, QuoteNotInPreparedTransactionError, SessionChainRequiredError, SignerNotSupportedError, };
|
|
42
41
|
export type { TransactionStatus, TransactionResult, UserOperationResult };
|
|
43
42
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../execution/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAsB,KAAK,GAAG,EAAE,MAAM,MAAM,CAAA;AAC7E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AAG3E,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,kBAAkB,CAAA;AACxE,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../execution/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,37 +2,15 @@ import { createPublicClient } from 'viem';
|
|
|
2
2
|
import { deploy, getAddress } from '../accounts/index.js';
|
|
3
3
|
import { createTransport, getBundlerClient } from '../accounts/utils.js';
|
|
4
4
|
import { createAuthProvider } from '../auth/provider.js';
|
|
5
|
-
import { getOrchestrator, INTENT_STATUS_COMPLETED, INTENT_STATUS_FAILED, INTENT_STATUS_FILLED,
|
|
5
|
+
import { getOrchestrator, INTENT_STATUS_COMPLETED, INTENT_STATUS_EXPIRED, INTENT_STATUS_FAILED, INTENT_STATUS_FILLED, isRateLimited, isRetryable, } from '../orchestrator/index.js';
|
|
6
6
|
import { getChainById, getSupportedChainIds, isTestnet, } from '../orchestrator/registry.js';
|
|
7
|
-
import { ExecutionError,
|
|
7
|
+
import { ExecutionError, IntentExpiredError, IntentFailedError, isExecutionError, OrderPathRequiredForIntentsError, QuoteNotInPreparedTransactionError, SessionChainRequiredError, SignerNotSupportedError, } from './error.js';
|
|
8
8
|
import { getTargetExecutionSignature, getTokenRequests, getValidatorAccount, parseCalls, prepareTransactionAsIntent, resolveCallInputs, signAuthorizationsInternal, signIntent, submitIntentInternal, } from './utils.js';
|
|
9
9
|
const POLL_INITIAL_MS = 500;
|
|
10
10
|
const POLL_SLOW_AFTER_MS = 15000;
|
|
11
11
|
const POLL_SLOW_MS = 2000;
|
|
12
|
-
const POLL_MAX_WAIT_MS = 210000;
|
|
13
12
|
const POLL_ERROR_BACKOFF_MS = 1000;
|
|
14
13
|
const POLL_ERROR_BACKOFF_MAX_MS = 10000;
|
|
15
|
-
async function sendTransaction(config, transaction) {
|
|
16
|
-
const sourceChains = 'chain' in transaction ? [transaction.chain] : transaction.sourceChains;
|
|
17
|
-
const targetChain = 'chain' in transaction ? transaction.chain : transaction.targetChain;
|
|
18
|
-
const { calls, gasLimit, tokenRequests, recipient, signers, sponsored, eip7702InitSignature, settlementLayers, sourceAssets, feeAsset, } = transaction;
|
|
19
|
-
const isUserOpSigner = signers?.type === 'guardians';
|
|
20
|
-
if (isUserOpSigner) {
|
|
21
|
-
throw new SignerNotSupportedError();
|
|
22
|
-
}
|
|
23
|
-
return await sendTransactionInternal(config, sourceChains, targetChain, {
|
|
24
|
-
callInputs: calls,
|
|
25
|
-
gasLimit,
|
|
26
|
-
initialTokenRequests: tokenRequests,
|
|
27
|
-
recipient,
|
|
28
|
-
signers,
|
|
29
|
-
sponsored,
|
|
30
|
-
eip7702InitSignature,
|
|
31
|
-
settlementLayers,
|
|
32
|
-
sourceAssets,
|
|
33
|
-
feeAsset,
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
14
|
async function sendUserOperation(config, transaction) {
|
|
37
15
|
const accountAddress = getAddress(config);
|
|
38
16
|
const resolvedCalls = await resolveCallInputs(transaction.calls, config, transaction.chain, accountAddress);
|
|
@@ -47,7 +25,7 @@ async function sendTransactionInternal(config, sourceChains, targetChain, option
|
|
|
47
25
|
throw new SignerNotSupportedError();
|
|
48
26
|
}
|
|
49
27
|
else {
|
|
50
|
-
return await sendTransactionAsIntent(config, sourceChains, targetChain, resolvedCalls, options.gasLimit, tokenRequests, options.recipient, options.signers, options.sponsored, options.eip7702InitSignature, options.settlementLayers, options.sourceAssets, options.feeAsset
|
|
28
|
+
return await sendTransactionAsIntent(config, sourceChains, targetChain, resolvedCalls, options.gasLimit, tokenRequests, options.recipient, options.signers, options.sponsored, options.eip7702InitSignature, options.settlementLayers, options.sourceAssets, options.feeAsset);
|
|
51
29
|
}
|
|
52
30
|
}
|
|
53
31
|
async function sendUserOperationInternal(config, chain, callInputs, signers) {
|
|
@@ -73,46 +51,51 @@ async function sendUserOperationInternal(config, chain, callInputs, signers) {
|
|
|
73
51
|
chain: chain.id,
|
|
74
52
|
};
|
|
75
53
|
}
|
|
76
|
-
async function sendTransactionAsIntent(config, sourceChains, targetChain, callInputs, gasLimit, tokenRequests, recipient, signers, sponsored, eip7702InitSignature, settlementLayers, sourceAssets, feeAsset
|
|
77
|
-
const prepared = await prepareTransactionAsIntent(config, sourceChains, targetChain, callInputs, gasLimit, tokenRequests, recipient, sponsored ?? false, eip7702InitSignature, settlementLayers, sourceAssets, feeAsset,
|
|
54
|
+
async function sendTransactionAsIntent(config, sourceChains, targetChain, callInputs, gasLimit, tokenRequests, recipient, signers, sponsored, eip7702InitSignature, settlementLayers, sourceAssets, feeAsset) {
|
|
55
|
+
const prepared = await prepareTransactionAsIntent(config, sourceChains, targetChain, callInputs, gasLimit, tokenRequests, recipient, sponsored ?? false, eip7702InitSignature, settlementLayers, sourceAssets, feeAsset, undefined, undefined, signers);
|
|
78
56
|
if (!prepared) {
|
|
79
57
|
throw new OrderPathRequiredForIntentsError();
|
|
80
58
|
}
|
|
81
|
-
const {
|
|
82
|
-
const
|
|
83
|
-
const
|
|
59
|
+
const { quotes, intentInput } = prepared;
|
|
60
|
+
const quote = quotes.best;
|
|
61
|
+
const { originSignatures, destinationSignature } = await signIntent(config, quote.signData, targetChain, signers);
|
|
62
|
+
const targetExecutionSignature = await getTargetExecutionSignature(config, quote.signData, targetChain, signers);
|
|
84
63
|
const authorizations = config.eoa
|
|
85
|
-
? await signAuthorizationsInternal(config,
|
|
64
|
+
? await signAuthorizationsInternal(config, {
|
|
65
|
+
sourceChains,
|
|
66
|
+
targetChain,
|
|
67
|
+
eip7702InitSignature,
|
|
68
|
+
})
|
|
86
69
|
: [];
|
|
87
|
-
return await submitIntentInternal(config, sourceChains, targetChain,
|
|
70
|
+
return await submitIntentInternal(config, sourceChains, targetChain, quote, originSignatures, destinationSignature, targetExecutionSignature, authorizations, false, intentInput);
|
|
88
71
|
}
|
|
89
|
-
async function waitForExecution(config, result
|
|
72
|
+
async function waitForExecution(config, result) {
|
|
90
73
|
const validStatuses = new Set([
|
|
91
74
|
INTENT_STATUS_FAILED,
|
|
75
|
+
INTENT_STATUS_EXPIRED,
|
|
92
76
|
INTENT_STATUS_COMPLETED,
|
|
93
77
|
INTENT_STATUS_FILLED,
|
|
94
78
|
]);
|
|
95
|
-
if (acceptsPreconfirmations) {
|
|
96
|
-
validStatuses.add(INTENT_STATUS_PRECONFIRMED);
|
|
97
|
-
}
|
|
98
79
|
switch (result.type) {
|
|
99
80
|
case 'intent': {
|
|
100
81
|
let intentStatus = null;
|
|
101
82
|
const startTs = Date.now();
|
|
83
|
+
const deadlineMs = result.expiresAt * 1000;
|
|
102
84
|
let nextDelayMs = POLL_INITIAL_MS;
|
|
103
85
|
let errorBackoffMs = POLL_ERROR_BACKOFF_MS;
|
|
104
86
|
while (intentStatus === null || !validStatuses.has(intentStatus.status)) {
|
|
105
87
|
const now = Date.now();
|
|
106
|
-
if (now
|
|
107
|
-
throw new
|
|
88
|
+
if (now >= deadlineMs) {
|
|
89
|
+
throw new IntentExpiredError({
|
|
108
90
|
context: {
|
|
109
|
-
intentId: result.id
|
|
91
|
+
intentId: result.id,
|
|
92
|
+
expiresAt: result.expiresAt,
|
|
110
93
|
},
|
|
111
94
|
});
|
|
112
95
|
}
|
|
113
96
|
const orchestrator = getOrchestrator(config._authProvider ?? createAuthProvider(config), config.endpointUrl, config.headers);
|
|
114
97
|
try {
|
|
115
|
-
intentStatus = await orchestrator.
|
|
98
|
+
intentStatus = await orchestrator.getIntent(result.id);
|
|
116
99
|
// reset error backoff on success
|
|
117
100
|
errorBackoffMs = POLL_ERROR_BACKOFF_MS;
|
|
118
101
|
const elapsed = Date.now() - startTs;
|
|
@@ -122,7 +105,7 @@ async function waitForExecution(config, result, acceptsPreconfirmations) {
|
|
|
122
105
|
}
|
|
123
106
|
catch (err) {
|
|
124
107
|
if (isRateLimited(err)) {
|
|
125
|
-
const retryAfter = err
|
|
108
|
+
const retryAfter = err.retryAfter;
|
|
126
109
|
let retryMs = nextDelayMs;
|
|
127
110
|
if (retryAfter) {
|
|
128
111
|
const parsed = Number(retryAfter);
|
|
@@ -152,10 +135,17 @@ async function waitForExecution(config, result, acceptsPreconfirmations) {
|
|
|
152
135
|
}
|
|
153
136
|
}
|
|
154
137
|
if (intentStatus.status === INTENT_STATUS_FAILED) {
|
|
155
|
-
const intentId = result.id.toString();
|
|
156
138
|
throw new IntentFailedError({
|
|
157
139
|
context: {
|
|
158
|
-
intentId,
|
|
140
|
+
intentId: result.id,
|
|
141
|
+
},
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
if (intentStatus.status === INTENT_STATUS_EXPIRED) {
|
|
145
|
+
throw new IntentExpiredError({
|
|
146
|
+
context: {
|
|
147
|
+
intentId: result.id,
|
|
148
|
+
expiresAt: result.expiresAt,
|
|
159
149
|
},
|
|
160
150
|
});
|
|
161
151
|
}
|
|
@@ -200,7 +190,7 @@ async function getPortfolio(config, onTestnets) {
|
|
|
200
190
|
}
|
|
201
191
|
async function getIntentStatus(authProvider, endpointUrl, intentId, headers) {
|
|
202
192
|
const orchestrator = getOrchestrator(authProvider, endpointUrl, headers);
|
|
203
|
-
const internalStatus = await orchestrator.
|
|
193
|
+
const internalStatus = await orchestrator.getIntent(intentId);
|
|
204
194
|
return {
|
|
205
195
|
status: internalStatus.status,
|
|
206
196
|
fill: {
|
|
@@ -215,8 +205,8 @@ async function getIntentStatus(authProvider, endpointUrl, intentId, headers) {
|
|
|
215
205
|
}
|
|
216
206
|
async function splitIntents(authProvider, endpointUrl, input, headers) {
|
|
217
207
|
const orchestrator = getOrchestrator(authProvider, endpointUrl, headers);
|
|
218
|
-
return orchestrator.
|
|
208
|
+
return orchestrator.getSplit(input);
|
|
219
209
|
}
|
|
220
|
-
export {
|
|
210
|
+
export { sendTransactionInternal, sendUserOperation, sendUserOperationInternal, waitForExecution, getPortfolio, getIntentStatus, splitIntents,
|
|
221
211
|
// Errors
|
|
222
|
-
isExecutionError, ExecutionError,
|
|
212
|
+
isExecutionError, ExecutionError, IntentExpiredError, IntentFailedError, OrderPathRequiredForIntentsError, QuoteNotInPreparedTransactionError, SessionChainRequiredError, SignerNotSupportedError, };
|
|
@@ -1,9 +1,10 @@
|
|
|
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
|
-
import type
|
|
4
|
-
import { type
|
|
5
|
-
import { type
|
|
6
|
-
import
|
|
3
|
+
import { type ResolvedSessionSignerSet } from '../modules/validators/smart-sessions.js';
|
|
4
|
+
import { type Quote, type SignData } from '../orchestrator/index.js';
|
|
5
|
+
import { type DestinationChain, type NonEvmAddress } from '../orchestrator/destinations.js';
|
|
6
|
+
import { type AuxiliaryFunds, type OriginSignature, type SettlementLayerFilter } from '../orchestrator/types.js';
|
|
7
|
+
import type { Call, CalldataInput, CallInput, NonEvmTokenRequest, RhinestoneAccountConfig, RhinestoneConfig, Session, SessionEnableData, SessionSignerSet, SignerSet, SourceAssetInput, Sponsorship, TokenRequest, TokenSymbol, Transaction, UserOperationTransaction } from '../types.js';
|
|
7
8
|
type InternalSignerSet = Exclude<SignerSet, SessionSignerSet> | ResolvedSessionSignerSet;
|
|
8
9
|
declare function resolveSessionForChain(signers: SessionSignerSet, chainId: number): {
|
|
9
10
|
session: Session;
|
|
@@ -17,21 +18,30 @@ interface UserOperationResult {
|
|
|
17
18
|
}
|
|
18
19
|
interface TransactionResult {
|
|
19
20
|
type: 'intent';
|
|
20
|
-
id:
|
|
21
|
+
id: string;
|
|
21
22
|
sourceChains?: number[];
|
|
22
23
|
targetChain: number;
|
|
24
|
+
expiresAt: number;
|
|
25
|
+
}
|
|
26
|
+
interface PreparedQuotes {
|
|
27
|
+
best: Quote;
|
|
28
|
+
all: Quote[];
|
|
23
29
|
}
|
|
24
30
|
interface PreparedTransactionData {
|
|
25
|
-
|
|
31
|
+
quotes: PreparedQuotes;
|
|
26
32
|
intentInput: unknown;
|
|
27
33
|
transaction: Transaction;
|
|
28
34
|
}
|
|
35
|
+
interface QuoteSelection {
|
|
36
|
+
intentId: string;
|
|
37
|
+
}
|
|
29
38
|
interface PreparedUserOperationData {
|
|
30
39
|
userOperation: UserOperation;
|
|
31
40
|
hash: Hex;
|
|
32
41
|
transaction: UserOperationTransaction;
|
|
33
42
|
}
|
|
34
43
|
interface SignedTransactionData extends PreparedTransactionData {
|
|
44
|
+
quote: Quote;
|
|
35
45
|
originSignatures: OriginSignature[];
|
|
36
46
|
destinationSignature: Hex;
|
|
37
47
|
targetExecutionSignature: Hex | undefined;
|
|
@@ -42,22 +52,27 @@ interface SignedUserOperationData extends PreparedUserOperationData {
|
|
|
42
52
|
declare function prepareTransaction(config: RhinestoneConfig, transaction: Transaction): Promise<PreparedTransactionData>;
|
|
43
53
|
declare function prepareUserOperation(config: RhinestoneConfig, transaction: UserOperationTransaction): Promise<PreparedUserOperationData>;
|
|
44
54
|
declare function resolveCallInputs(inputs: CallInput[] | undefined, config: RhinestoneConfig, chain: Chain, accountAddress: Address): Promise<CalldataInput[]>;
|
|
45
|
-
declare function getTransactionMessages(
|
|
55
|
+
declare function getTransactionMessages(_config: RhinestoneConfig, preparedTransaction: PreparedTransactionData, options?: QuoteSelection): {
|
|
46
56
|
origin: TypedDataDefinition[];
|
|
47
57
|
destination: TypedDataDefinition;
|
|
58
|
+
targetExecution?: TypedDataDefinition;
|
|
48
59
|
};
|
|
49
|
-
declare function signTransaction(config: RhinestoneConfig, preparedTransaction: PreparedTransactionData): Promise<SignedTransactionData>;
|
|
50
|
-
declare function getTargetExecutionSignature(config: RhinestoneConfig,
|
|
60
|
+
declare function signTransaction(config: RhinestoneConfig, preparedTransaction: PreparedTransactionData, options?: QuoteSelection): Promise<SignedTransactionData>;
|
|
61
|
+
declare function getTargetExecutionSignature(config: RhinestoneConfig, signData: SignData, targetChain: DestinationChain, signers: SignerSet | undefined): Promise<`0x${string}` | undefined>;
|
|
51
62
|
declare function signUserOperation(config: RhinestoneConfig, preparedUserOperation: PreparedUserOperationData): Promise<SignedUserOperationData>;
|
|
52
63
|
declare function signAuthorizations(config: RhinestoneConfig, preparedTransaction: PreparedTransactionData): Promise<SignedAuthorization[]>;
|
|
53
64
|
declare function signMessage(config: RhinestoneConfig, message: SignableMessage, chain: Chain, signers: SignerSet | undefined): Promise<`0x${string}`>;
|
|
54
65
|
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
66
|
skipErc6492?: boolean;
|
|
56
67
|
}): Promise<`0x${string}`>;
|
|
57
|
-
declare function signAuthorizationsInternal(config: RhinestoneConfig,
|
|
68
|
+
declare function signAuthorizationsInternal(config: RhinestoneConfig, context: {
|
|
69
|
+
sourceChains: Chain[] | undefined;
|
|
70
|
+
targetChain: DestinationChain;
|
|
71
|
+
eip7702InitSignature: Hex | undefined;
|
|
72
|
+
}): Promise<SignedAuthorization[]>;
|
|
58
73
|
declare function submitTransaction(config: RhinestoneConfig, signedTransaction: SignedTransactionData, authorizations: SignedAuthorizationList, dryRun?: boolean): Promise<TransactionResult>;
|
|
59
74
|
declare function submitUserOperation(config: RhinestoneConfig, signedUserOperation: SignedUserOperationData): Promise<UserOperationResult>;
|
|
60
|
-
declare function getTokenRequests(targetChain:
|
|
75
|
+
declare function getTokenRequests(targetChain: DestinationChain, initialTokenRequests: (TokenRequest | NonEvmTokenRequest)[] | undefined): (TokenRequest | NonEvmTokenRequest)[];
|
|
61
76
|
declare function getIntentAccount(config: RhinestoneConfig, eip7702InitSignature: Hex | undefined, account: {
|
|
62
77
|
setupOps?: {
|
|
63
78
|
to: Address;
|
|
@@ -76,20 +91,23 @@ declare function getIntentAccount(config: RhinestoneConfig, eip7702InitSignature
|
|
|
76
91
|
};
|
|
77
92
|
} | undefined;
|
|
78
93
|
};
|
|
79
|
-
declare function prepareTransactionAsIntent(config: RhinestoneConfig, sourceChains: Chain[] | undefined, targetChain:
|
|
94
|
+
declare function prepareTransactionAsIntent(config: RhinestoneConfig, sourceChains: Chain[] | undefined, targetChain: DestinationChain, callInputs: CalldataInput[], gasLimit: bigint | undefined, tokenRequests: (TokenRequest | NonEvmTokenRequest)[], recipientInput: RhinestoneAccountConfig | Address | NonEvmAddress | undefined, sponsored: Sponsorship | undefined, eip7702InitSignature: Hex | undefined, settlementLayers: SettlementLayerFilter | undefined, sourceAssets: SourceAssetInput | undefined, feeAsset: Address | TokenSymbol | undefined, auxiliaryFunds: AuxiliaryFunds | undefined, account: {
|
|
80
95
|
setupOps?: {
|
|
81
96
|
to: Address;
|
|
82
97
|
data: Hex;
|
|
83
98
|
}[];
|
|
84
99
|
} | undefined, signers: SignerSet | undefined): Promise<{
|
|
85
|
-
|
|
100
|
+
quotes: {
|
|
101
|
+
best: Quote;
|
|
102
|
+
all: Quote[];
|
|
103
|
+
};
|
|
86
104
|
intentInput: any;
|
|
87
105
|
}>;
|
|
88
|
-
declare function signIntent(config: RhinestoneConfig,
|
|
106
|
+
declare function signIntent(config: RhinestoneConfig, signData: SignData, targetChain: DestinationChain, signers?: SignerSet, targetExecution?: boolean): Promise<{
|
|
89
107
|
originSignatures: OriginSignature[];
|
|
90
108
|
destinationSignature: `0x${string}`;
|
|
91
109
|
}>;
|
|
92
|
-
declare function submitIntentInternal(config: RhinestoneConfig, sourceChains: Chain[] | undefined, targetChain:
|
|
110
|
+
declare function submitIntentInternal(config: RhinestoneConfig, sourceChains: Chain[] | undefined, targetChain: DestinationChain, quote: Quote, originSignatures: OriginSignature[], destinationSignature: Hex, targetExecutionSignature: Hex | undefined, authorizations: SignedAuthorizationList, dryRun: boolean, intentInput?: unknown): Promise<TransactionResult>;
|
|
93
111
|
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
112
|
declare function parseCalls(calls: CalldataInput[], chainId: number): Call[];
|
|
95
113
|
declare function hashErc7739TypedDataForSolady({ domain, types, primaryType, message, verifierDomain, }: {
|
|
@@ -106,5 +124,5 @@ declare function hashErc7739TypedDataForSolady({ domain, types, primaryType, mes
|
|
|
106
124
|
};
|
|
107
125
|
}): Hex;
|
|
108
126
|
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,
|
|
127
|
+
export type { InternalSignerSet, TransactionResult, PreparedQuotes, PreparedTransactionData, PreparedUserOperationData, QuoteSelection, SignedTransactionData, SignedUserOperationData, UserOperationResult, };
|
|
110
128
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../execution/utils.ts"],"names":[],"mappings":"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"}
|