@rhinestone/sdk 0.7.8 → 0.7.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.
Files changed (48) hide show
  1. package/dist/cjs/modules/abi/smart-sessions.d.ts +42 -0
  2. package/dist/cjs/modules/abi/smart-sessions.d.ts.map +1 -0
  3. package/dist/cjs/modules/abi/smart-sessions.js +131 -0
  4. package/dist/cjs/modules/common.d.ts +16 -0
  5. package/dist/cjs/modules/common.d.ts.map +1 -0
  6. package/dist/cjs/modules/common.js +11 -0
  7. package/dist/cjs/modules/index.d.ts +33 -0
  8. package/dist/cjs/modules/index.d.ts.map +1 -0
  9. package/dist/cjs/modules/index.js +153 -0
  10. package/dist/cjs/modules/omni-account.d.ts +9 -0
  11. package/dist/cjs/modules/omni-account.d.ts.map +1 -0
  12. package/dist/cjs/modules/omni-account.js +15 -0
  13. package/dist/cjs/modules/validators/core.d.ts +23 -0
  14. package/dist/cjs/modules/validators/core.d.ts.map +1 -0
  15. package/dist/cjs/modules/validators/core.js +118 -0
  16. package/dist/cjs/modules/validators/index.d.ts +4 -0
  17. package/dist/cjs/modules/validators/index.d.ts.map +1 -0
  18. package/dist/cjs/modules/validators/index.js +17 -0
  19. package/dist/cjs/modules/validators/smart-sessions.d.ts +29 -0
  20. package/dist/cjs/modules/validators/smart-sessions.d.ts.map +1 -0
  21. package/dist/cjs/modules/validators/smart-sessions.js +426 -0
  22. package/dist/cjs/orchestrator/client.d.ts +29 -0
  23. package/dist/cjs/orchestrator/client.d.ts.map +1 -0
  24. package/dist/cjs/orchestrator/client.js +250 -0
  25. package/dist/cjs/orchestrator/consts.d.ts +5 -0
  26. package/dist/cjs/orchestrator/consts.d.ts.map +1 -0
  27. package/dist/cjs/orchestrator/consts.js +9 -0
  28. package/dist/cjs/orchestrator/error.d.ts +18 -0
  29. package/dist/cjs/orchestrator/error.d.ts.map +1 -0
  30. package/dist/cjs/orchestrator/error.js +33 -0
  31. package/dist/cjs/orchestrator/index.d.ts +11 -0
  32. package/dist/cjs/orchestrator/index.d.ts.map +1 -0
  33. package/dist/cjs/orchestrator/index.js +40 -0
  34. package/dist/cjs/orchestrator/registry.d.ts +17 -0
  35. package/dist/cjs/orchestrator/registry.d.ts.map +1 -0
  36. package/dist/cjs/orchestrator/registry.js +358 -0
  37. package/dist/cjs/orchestrator/types.d.ts +222 -0
  38. package/dist/cjs/orchestrator/types.d.ts.map +1 -0
  39. package/dist/cjs/orchestrator/types.js +19 -0
  40. package/dist/cjs/orchestrator/utils.d.ts +29 -0
  41. package/dist/cjs/orchestrator/utils.d.ts.map +1 -0
  42. package/dist/cjs/orchestrator/utils.js +316 -0
  43. package/dist/cjs/types.d.ts +113 -0
  44. package/dist/cjs/types.d.ts.map +1 -0
  45. package/dist/cjs/types.js +2 -0
  46. package/dist/src/execution/index.d.ts.map +1 -1
  47. package/dist/src/execution/index.js +4 -5
  48. package/package.json +6 -1
@@ -0,0 +1,316 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BundleStatusEnum = void 0;
4
+ exports.getEmptyUserOp = getEmptyUserOp;
5
+ exports.getOrderBundleHash = getOrderBundleHash;
6
+ exports.convertBigIntFields = convertBigIntFields;
7
+ exports.parseCompactResponse = parseCompactResponse;
8
+ exports.parsePendingBundleEvent = parsePendingBundleEvent;
9
+ exports.hashMultichainCompactWithoutDomainSeparator = hashMultichainCompactWithoutDomainSeparator;
10
+ exports.parseUseChainBalances = parseUseChainBalances;
11
+ exports.parseOrderCost = parseOrderCost;
12
+ exports.parseInsufficientBalanceResult = parseInsufficientBalanceResult;
13
+ exports.parseOrderCostResult = parseOrderCostResult;
14
+ exports.applyInjectedExecutions = applyInjectedExecutions;
15
+ const viem_1 = require("viem");
16
+ const modules_1 = require("../modules");
17
+ const types_1 = require("./types");
18
+ const MULTICHAIN_COMPACT_TYPEHASH = '0xee54591377b86e048be6b2fbd8913598a6270aed3415776321279495bf4efae5';
19
+ const SEGMENT_TYPEHASH = '0x54ada5b33a7390e2883c985295cfa2dcd9bb46515ad10cbdfc22a7c73f9807db';
20
+ const WITNESS_TYPEHASH = '0x78e29a727cef567e7d6dddf5bf7eedf0c84af60d4a57512c586c787aae731629';
21
+ const EXECUTION_TYPEHASH = '0xa222cbaaad3b88446c3ca031429dafb24afdbda10c5dbd9882c294762857141a';
22
+ var BundleStatusEnum;
23
+ (function (BundleStatusEnum) {
24
+ BundleStatusEnum["PENDING"] = "PENDING";
25
+ BundleStatusEnum["EXPIRED"] = "EXPIRED";
26
+ BundleStatusEnum["PARTIALLY_COMPLETED"] = "PARTIALLY_COMPLETED";
27
+ BundleStatusEnum["PRECONFIRMED"] = "PRECONFIRMED";
28
+ BundleStatusEnum["COMPLETED"] = "COMPLETED";
29
+ BundleStatusEnum["FILLED"] = "FILLED";
30
+ BundleStatusEnum["FAILED"] = "FAILED";
31
+ BundleStatusEnum["UNKNOWN"] = "UNKNOWN";
32
+ })(BundleStatusEnum || (exports.BundleStatusEnum = BundleStatusEnum = {}));
33
+ function getEmptyUserOp() {
34
+ return {
35
+ sender: viem_1.zeroAddress,
36
+ nonce: 0n,
37
+ callData: '0x',
38
+ preVerificationGas: 0n,
39
+ maxFeePerGas: 0n,
40
+ maxPriorityFeePerGas: 0n,
41
+ verificationGasLimit: 0n,
42
+ callGasLimit: 0n,
43
+ signature: '0x',
44
+ };
45
+ }
46
+ function getOrderBundleHash(orderBundle) {
47
+ const notarizedChainId = Number(orderBundle.segments[0].chainId);
48
+ return hashMultiChainCompactWithDomainSeparator(orderBundle, getCompactDomainSeparator(notarizedChainId, modules_1.HOOK_ADDRESS));
49
+ }
50
+ function convertBigIntFields(obj) {
51
+ if (obj === null || obj === undefined) {
52
+ return obj;
53
+ }
54
+ if (typeof obj === 'bigint') {
55
+ return obj.toString();
56
+ }
57
+ if (Array.isArray(obj)) {
58
+ return obj.map(convertBigIntFields);
59
+ }
60
+ if (typeof obj === 'object') {
61
+ const result = {};
62
+ for (const key in obj) {
63
+ if (Object.hasOwn(obj, key)) {
64
+ result[key] = convertBigIntFields(obj[key]);
65
+ }
66
+ }
67
+ return result;
68
+ }
69
+ return obj;
70
+ }
71
+ function parseCompactResponse(response) {
72
+ return {
73
+ sponsor: response.sponsor,
74
+ nonce: BigInt(response.nonce),
75
+ expires: BigInt(response.expires),
76
+ segments: response.segments.map((segment) => {
77
+ return {
78
+ arbiter: segment.arbiter,
79
+ chainId: BigInt(segment.chainId),
80
+ idsAndAmounts: segment.idsAndAmounts.map((idsAndAmount) => {
81
+ return [BigInt(idsAndAmount[0]), BigInt(idsAndAmount[1])];
82
+ }),
83
+ witness: {
84
+ recipient: segment.witness.recipient,
85
+ tokenOut: segment.witness.tokenOut.map((tokenOut) => {
86
+ return [BigInt(tokenOut[0]), BigInt(tokenOut[1])];
87
+ }),
88
+ depositId: BigInt(segment.witness.depositId),
89
+ targetChain: BigInt(segment.witness.targetChain),
90
+ fillDeadline: segment.witness.fillDeadline,
91
+ execs: segment.witness.execs.map((exec) => {
92
+ return {
93
+ to: exec.to,
94
+ value: BigInt(exec.value),
95
+ data: exec.data,
96
+ };
97
+ }),
98
+ userOpHash: segment.witness.userOpHash,
99
+ maxFeeBps: segment.witness.maxFeeBps,
100
+ },
101
+ };
102
+ }),
103
+ };
104
+ }
105
+ function parseUseChainBalances(response) {
106
+ const result = {};
107
+ for (const chainIdStr in response) {
108
+ const chainId = Number(chainIdStr);
109
+ const chainData = response[chainIdStr];
110
+ result[chainId] = {};
111
+ for (const tokenAddress in chainData) {
112
+ const balanceStr = chainData[tokenAddress]?.balance;
113
+ result[chainId][tokenAddress] = BigInt(balanceStr);
114
+ }
115
+ }
116
+ return result;
117
+ }
118
+ function parseOrderCost(response) {
119
+ const tokensSpent = {};
120
+ for (const chainIdStr in response.tokensSpent) {
121
+ const chainId = Number(chainIdStr);
122
+ tokensSpent[chainId] = {};
123
+ const chainTokens = response.tokensSpent[chainIdStr];
124
+ for (const tokenAddress in chainTokens) {
125
+ const balanceStr = chainTokens[tokenAddress];
126
+ if (typeof balanceStr !== 'string') {
127
+ throw new Error(`Expected string balance for token ${tokenAddress} on chain ${chainId}`);
128
+ }
129
+ tokensSpent[chainId][tokenAddress] = BigInt(balanceStr);
130
+ }
131
+ }
132
+ const tokensReceived = response.tokensReceived.map((entry) => {
133
+ return {
134
+ tokenAddress: entry.tokenAddress,
135
+ hasFulfilled: entry.hasFulfilled,
136
+ amountSpent: BigInt(entry.amountSpent),
137
+ targetAmount: BigInt(entry.targetAmount),
138
+ fee: BigInt(entry.fee),
139
+ };
140
+ });
141
+ return {
142
+ hasFulfilledAll: true,
143
+ tokensSpent,
144
+ tokensReceived,
145
+ };
146
+ }
147
+ function parseInsufficientBalanceResult(response) {
148
+ if (!Array.isArray(response.tokenShortfall)) {
149
+ throw new Error('Expected tokenShortfall to be an array');
150
+ }
151
+ const tokenShortfall = response.tokenShortfall.map((entry) => {
152
+ return {
153
+ tokenAddress: entry.tokenAddress,
154
+ targetAmount: BigInt(entry.targetAmount),
155
+ amountSpent: BigInt(entry.amountSpent),
156
+ fee: BigInt(entry.fee),
157
+ tokenSymbol: entry.tokenSymbol,
158
+ tokenDecimals: entry.tokenDecimals,
159
+ };
160
+ });
161
+ const result = {
162
+ hasFulfilledAll: false,
163
+ tokenShortfall,
164
+ totalTokenShortfallInUSD: BigInt(response.totalTokenShortfallInUSD),
165
+ };
166
+ return result;
167
+ }
168
+ function parseOrderCostResult(response) {
169
+ if (typeof response.hasFulfilledAll !== 'boolean') {
170
+ throw new Error('Missing or invalid hasFulfilledAll field');
171
+ }
172
+ if (response.hasFulfilledAll) {
173
+ return parseOrderCost(response);
174
+ }
175
+ else {
176
+ return parseInsufficientBalanceResult(response);
177
+ }
178
+ }
179
+ function parsePendingBundleEvent(response) {
180
+ return {
181
+ type: response.type,
182
+ bundleId: BigInt(response.bundleId),
183
+ targetFillPayload: {
184
+ to: response.targetFillPayload.to,
185
+ data: response.targetFillPayload.data,
186
+ value: BigInt(response.targetFillPayload.value),
187
+ chainId: response.targetFillPayload.chainId,
188
+ },
189
+ acrossDepositEvents: response.acrossDepositEvents.map((event) => {
190
+ return {
191
+ message: event.message,
192
+ depositId: BigInt(event.depositId),
193
+ depositor: event.depositor,
194
+ recipient: event.recipient,
195
+ inputToken: event.inputToken,
196
+ inputAmount: BigInt(event.inputAmount),
197
+ outputToken: event.outputToken,
198
+ fillDeadline: event.fillDeadline,
199
+ outputAmount: BigInt(event.outputAmount),
200
+ quoteTimestamp: event.quoteTimestamp,
201
+ exclusiveRelayer: event.exclusiveRelayer,
202
+ destinationChainId: event.destinationChainId,
203
+ originClaimPayload: {
204
+ to: event.originClaimPayload.to,
205
+ data: event.originClaimPayload.data,
206
+ value: BigInt(event.originClaimPayload.value),
207
+ chainId: event.originClaimPayload.chainId,
208
+ },
209
+ exclusivityDeadline: event.exclusivityDeadline,
210
+ };
211
+ }),
212
+ };
213
+ }
214
+ function hashMultiChainCompactWithDomainSeparator(multiChainCompact, domainSeparator) {
215
+ return (0, viem_1.keccak256)((0, viem_1.encodePacked)(['string', 'bytes32', 'bytes32'], [
216
+ '\x19\x01',
217
+ domainSeparator,
218
+ hashMultichainCompactWithoutDomainSeparator(multiChainCompact),
219
+ ]));
220
+ }
221
+ function hashMultichainCompactWithoutDomainSeparator(multiChainCompact) {
222
+ return (0, viem_1.keccak256)((0, viem_1.encodeAbiParameters)([
223
+ { name: 'typehash', type: 'bytes32' },
224
+ { name: 'sponsor', type: 'address' },
225
+ { name: 'nonce', type: 'uint256' },
226
+ { name: 'expires', type: 'uint256' },
227
+ { name: 'segments', type: 'bytes32' },
228
+ ], [
229
+ MULTICHAIN_COMPACT_TYPEHASH,
230
+ multiChainCompact.sponsor,
231
+ multiChainCompact.nonce,
232
+ multiChainCompact.expires,
233
+ hashSegments([...multiChainCompact.segments]),
234
+ ]));
235
+ }
236
+ function hashSegments(segment) {
237
+ return (0, viem_1.keccak256)((0, viem_1.encodePacked)(['bytes32[]'], [segment.map(hashSegment)]));
238
+ }
239
+ function hashSegment(segment) {
240
+ return (0, viem_1.keccak256)((0, viem_1.encodeAbiParameters)([
241
+ { name: 'typehash', type: 'bytes32' },
242
+ { name: 'arbiter', type: 'address' },
243
+ { name: 'chainId', type: 'uint256' },
244
+ { name: 'idsAndAmounts', type: 'bytes32' },
245
+ { name: 'witness', type: 'bytes32' },
246
+ ], [
247
+ SEGMENT_TYPEHASH,
248
+ segment.arbiter,
249
+ segment.chainId,
250
+ hashIdsAndAmounts(segment.idsAndAmounts),
251
+ hashWitness(segment.witness),
252
+ ]));
253
+ }
254
+ function hashWitness(witness) {
255
+ return (0, viem_1.keccak256)((0, viem_1.encodeAbiParameters)([
256
+ { name: 'typehash', type: 'bytes32' },
257
+ { name: 'recipient', type: 'address' },
258
+ { name: 'tokenOut', type: 'bytes32' },
259
+ { name: 'depositId', type: 'uint256' },
260
+ { name: 'targetChain', type: 'uint256' },
261
+ { name: 'fillDeadline', type: 'uint32' },
262
+ { name: 'execs', type: 'bytes32' }, // Assuming XchainExec[] is complex
263
+ { name: 'userOpHash', type: 'bytes32' },
264
+ { name: 'maxFeeBps', type: 'uint32' },
265
+ ], [
266
+ WITNESS_TYPEHASH,
267
+ witness.recipient,
268
+ hashIdsAndAmounts(witness.tokenOut),
269
+ witness.depositId,
270
+ witness.targetChain,
271
+ witness.fillDeadline,
272
+ hashExecutionArray(witness.execs),
273
+ witness.userOpHash,
274
+ witness.maxFeeBps,
275
+ ]));
276
+ }
277
+ function getCompactDomainSeparator(chainId, verifyingContract) {
278
+ return (0, viem_1.domainSeparator)({
279
+ domain: getCompactDomain(chainId, verifyingContract),
280
+ });
281
+ }
282
+ function getCompactDomain(chainId, verifyingContract) {
283
+ return {
284
+ name: 'The Compact',
285
+ version: '0',
286
+ chainId: chainId,
287
+ verifyingContract: verifyingContract,
288
+ };
289
+ }
290
+ function hashIdsAndAmounts(idsAndAmounts) {
291
+ return (0, viem_1.keccak256)((0, viem_1.encodePacked)(['uint256[2][]'], [idsAndAmounts]));
292
+ }
293
+ function hashExecutionArray(executionArray) {
294
+ const hashes = executionArray.map(hashExecution);
295
+ return (0, viem_1.keccak256)((0, viem_1.encodePacked)(['bytes32[]'], [hashes]));
296
+ }
297
+ function hashExecution(execution) {
298
+ return (0, viem_1.keccak256)((0, viem_1.encodeAbiParameters)([
299
+ { name: 'typehash', type: 'bytes32' },
300
+ { name: 'target', type: 'address' },
301
+ { name: 'value', type: 'uint256' },
302
+ { name: 'callData', type: 'bytes32' },
303
+ ], [
304
+ EXECUTION_TYPEHASH,
305
+ execution.to,
306
+ execution.value,
307
+ (0, viem_1.keccak256)(execution.data),
308
+ ]));
309
+ }
310
+ function applyInjectedExecutions(orderPath) {
311
+ if (orderPath.injectedExecutions.length > 0) {
312
+ orderPath.orderBundle.segments[0].witness.execs =
313
+ orderPath.injectedExecutions.concat(orderPath.orderBundle.segments[0].witness.execs);
314
+ }
315
+ return orderPath.orderBundle;
316
+ }
@@ -0,0 +1,113 @@
1
+ import type { Account, Address, Chain, Hex } from 'viem';
2
+ import type { WebAuthnAccount } from 'viem/account-abstraction';
3
+ interface AccountProviderConfig {
4
+ type: 'safe' | 'nexus';
5
+ }
6
+ interface OwnableValidatorConfig {
7
+ type: 'ecdsa';
8
+ accounts: Account[];
9
+ threshold?: number;
10
+ }
11
+ interface WebauthnValidatorConfig {
12
+ type: 'passkey';
13
+ account: WebAuthnAccount;
14
+ }
15
+ interface BundlerConfig {
16
+ type: 'pimlico';
17
+ apiKey: string;
18
+ }
19
+ type OwnerSet = OwnableValidatorConfig | WebauthnValidatorConfig;
20
+ interface SudoPolicy {
21
+ type: 'sudo';
22
+ }
23
+ interface UniversalActionPolicy {
24
+ type: 'universal-action';
25
+ valueLimitPerUse?: bigint;
26
+ rules: [UniversalActionPolicyParamRule, ...UniversalActionPolicyParamRule[]];
27
+ }
28
+ interface UniversalActionPolicyParamRule {
29
+ condition: UniversalActionPolicyParamCondition;
30
+ calldataOffset: bigint;
31
+ usageLimit?: bigint;
32
+ referenceValue: Hex | bigint;
33
+ }
34
+ type UniversalActionPolicyParamCondition = 'equal' | 'greaterThan' | 'lessThan' | 'greaterThanOrEqual' | 'lessThanOrEqual' | 'notEqual' | 'inRange';
35
+ interface SpendingLimitsPolicy {
36
+ type: 'spending-limits';
37
+ limits: {
38
+ token: Address;
39
+ amount: bigint;
40
+ }[];
41
+ }
42
+ interface TimeFramePolicy {
43
+ type: 'time-frame';
44
+ validUntil: number;
45
+ validAfter: number;
46
+ }
47
+ interface UsageLimitPolicy {
48
+ type: 'usage-limit';
49
+ limit: bigint;
50
+ }
51
+ interface ValueLimitPolicy {
52
+ type: 'value-limit';
53
+ limit: bigint;
54
+ }
55
+ type Policy = SudoPolicy | UniversalActionPolicy | SpendingLimitsPolicy | TimeFramePolicy | UsageLimitPolicy | ValueLimitPolicy;
56
+ interface Action {
57
+ target: Address;
58
+ selector: Hex;
59
+ policies?: [Policy, ...Policy[]];
60
+ }
61
+ interface Session {
62
+ owners: OwnerSet;
63
+ policies?: [Policy, ...Policy[]];
64
+ actions?: [Action, ...Action[]];
65
+ salt?: Hex;
66
+ }
67
+ interface RhinestoneAccountConfig {
68
+ account?: AccountProviderConfig;
69
+ owners: OwnerSet;
70
+ rhinestoneApiKey: string;
71
+ deployerAccount?: Account;
72
+ sessions?: Session[];
73
+ eoa?: Account;
74
+ provider?: {
75
+ type: 'alchemy';
76
+ apiKey: string;
77
+ };
78
+ bundler?: BundlerConfig;
79
+ }
80
+ interface Call {
81
+ to: Address;
82
+ data?: Hex;
83
+ value?: bigint;
84
+ }
85
+ /**
86
+ * @deprecated Use the `Call` type instead.
87
+ */
88
+ type Execution = Call;
89
+ interface TokenRequest {
90
+ address: Address;
91
+ amount: bigint;
92
+ }
93
+ interface SessionSignerSet {
94
+ type: 'session';
95
+ session: Session;
96
+ }
97
+ type SignerSet = SessionSignerSet;
98
+ interface BaseTransaction {
99
+ calls: Call[];
100
+ tokenRequests: TokenRequest[];
101
+ gasLimit?: bigint;
102
+ signers?: SignerSet;
103
+ }
104
+ interface SameChainTransaction extends BaseTransaction {
105
+ chain: Chain;
106
+ }
107
+ interface CrossChainTransaction extends BaseTransaction {
108
+ sourceChain?: Chain;
109
+ targetChain: Chain;
110
+ }
111
+ type Transaction = SameChainTransaction | CrossChainTransaction;
112
+ export type { RhinestoneAccountConfig, AccountProviderConfig, BundlerConfig, Transaction, Call, Execution, TokenRequest, OwnerSet, SignerSet, Session, Policy, UniversalActionPolicyParamCondition, };
113
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../execution/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,KAAK,EAIV,KAAK,GAAG,EAMT,MAAM,MAAM,CAAA;AAmBb,OAAO,KAAK,EACV,YAAY,EAGb,MAAM,iBAAiB,CAAA;AAiBxB,OAAO,KAAK,EAEV,uBAAuB,EAIvB,WAAW,EACZ,MAAM,UAAU,CAAA;AASjB,KAAK,iBAAiB,GAClB;IACE,IAAI,EAAE,QAAQ,CAAA;IACd,IAAI,EAAE,GAAG,CAAA;IACT,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;CACpB,GACD;IACE,IAAI,EAAE,QAAQ,CAAA;IACd,EAAE,EAAE,MAAM,CAAA;IACV,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAEL,iBAAe,eAAe,CAC5B,MAAM,EAAE,uBAAuB,EAC/B,WAAW,EAAE,WAAW,8BAyBzB;AAwRD,iBAAe,gBAAgB,CAC7B,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,iBAAiB,EACzB,uBAAuB,EAAE,OAAO;;;;;;;;;;;;GA2CjC;AAED,iBAAe,qBAAqB,CAClC,MAAM,EAAE,uBAAuB,EAC/B,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,OAAO,EACrB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CASjB;AAED,iBAAe,YAAY,CACzB,MAAM,EAAE,uBAAuB,EAC/B,UAAU,EAAE,OAAO,yDAMpB;AASD,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,GACb,CAAA;AACD,YAAY,EAAE,iBAAiB,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../execution/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,KAAK,EAIV,KAAK,GAAG,EAMT,MAAM,MAAM,CAAA;AAmBb,OAAO,KAAK,EACV,YAAY,EAGb,MAAM,iBAAiB,CAAA;AAiBxB,OAAO,KAAK,EAEV,uBAAuB,EAIvB,WAAW,EACZ,MAAM,UAAU,CAAA;AASjB,KAAK,iBAAiB,GAClB;IACE,IAAI,EAAE,QAAQ,CAAA;IACd,IAAI,EAAE,GAAG,CAAA;IACT,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;CACpB,GACD;IACE,IAAI,EAAE,QAAQ,CAAA;IACd,EAAE,EAAE,MAAM,CAAA;IACV,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAEL,iBAAe,eAAe,CAC5B,MAAM,EAAE,uBAAuB,EAC/B,WAAW,EAAE,WAAW,8BAyBzB;AAwRD,iBAAe,gBAAgB,CAC7B,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,iBAAiB,EACzB,uBAAuB,EAAE,OAAO;;;;;;;;;;;;GAwCjC;AAED,iBAAe,qBAAqB,CAClC,MAAM,EAAE,uBAAuB,EAC/B,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,OAAO,EACrB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CASjB;AAED,iBAAe,YAAY,CACzB,MAAM,EAAE,uBAAuB,EAC/B,UAAU,EAAE,OAAO,yDAMpB;AASD,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,GACb,CAAA;AACD,YAAY,EAAE,iBAAiB,EAAE,CAAA"}
@@ -192,19 +192,18 @@ async function sendTransactionAsIntent(config, sourceChain, targetChain, calls,
192
192
  };
193
193
  }
194
194
  async function waitForExecution(config, result, acceptsPreconfirmations) {
195
- const validStatuses = [
195
+ const validStatuses = new Set([
196
196
  BUNDLE_STATUS_FAILED,
197
197
  BUNDLE_STATUS_COMPLETED,
198
198
  BUNDLE_STATUS_FILLED,
199
- ];
199
+ ]);
200
200
  if (acceptsPreconfirmations) {
201
- validStatuses.push(BUNDLE_STATUS_PRECONFIRMED);
201
+ validStatuses.add(BUNDLE_STATUS_PRECONFIRMED);
202
202
  }
203
203
  switch (result.type) {
204
204
  case 'bundle': {
205
205
  let bundleResult = null;
206
- while (bundleResult === null ||
207
- validStatuses.includes(bundleResult.status)) {
206
+ while (bundleResult === null || !validStatuses.has(bundleResult.status)) {
208
207
  const orchestrator = getOrchestratorByChain(result.targetChain, config.rhinestoneApiKey);
209
208
  bundleResult = await orchestrator.getBundleStatus(result.id);
210
209
  await new Promise((resolve) => setTimeout(resolve, POLLING_INTERVAL));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rhinestone/sdk",
3
- "version": "0.7.8",
3
+ "version": "0.7.10",
4
4
  "description": "End-to-end chain abstraction and modularity toolkit",
5
5
  "author": {
6
6
  "name": "Rhinestone",
@@ -24,6 +24,11 @@
24
24
  "types": "./dist/src/orchestrator/index.d.ts",
25
25
  "require": "./dist/src/orchestrator/index.js",
26
26
  "import": "./dist/src/orchestrator/index.js"
27
+ },
28
+ "./dist/cjs/orchestrator": {
29
+ "types": "./dist/cjs/orchestrator/index.d.ts",
30
+ "require": "./dist/cjs/orchestrator/index.js",
31
+ "import": "./dist/cjs/orchestrator/index.js"
27
32
  }
28
33
  },
29
34
  "files": [