@charterlabs/rhinestone-sdk 0.1.0 → 0.1.2

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 (194) hide show
  1. package/README.md +74 -181
  2. package/dist/src/accounts/error.d.ts +69 -0
  3. package/dist/src/accounts/error.d.ts.map +1 -0
  4. package/dist/src/accounts/error.js +109 -0
  5. package/dist/{accounts → src/accounts}/index.d.ts +14 -21
  6. package/dist/src/accounts/index.d.ts.map +1 -0
  7. package/dist/src/accounts/index.js +469 -0
  8. package/dist/src/accounts/index.test.d.ts +2 -0
  9. package/dist/src/accounts/index.test.d.ts.map +1 -0
  10. package/dist/src/accounts/index.test.js +36 -0
  11. package/dist/{accounts → src/accounts}/kernel.d.ts +7 -9
  12. package/dist/src/accounts/kernel.d.ts.map +1 -0
  13. package/dist/{accounts → src/accounts}/kernel.js +0 -8
  14. package/dist/src/accounts/kernel.test.d.ts +2 -0
  15. package/dist/src/accounts/kernel.test.d.ts.map +1 -0
  16. package/dist/src/accounts/kernel.test.js +105 -0
  17. package/dist/{accounts → src/accounts}/nexus.d.ts +14 -13
  18. package/dist/src/accounts/nexus.d.ts.map +1 -0
  19. package/dist/{accounts → src/accounts}/nexus.js +92 -88
  20. package/dist/src/accounts/nexus.test.d.ts +2 -0
  21. package/dist/src/accounts/nexus.test.d.ts.map +1 -0
  22. package/dist/src/accounts/nexus.test.js +87 -0
  23. package/dist/{accounts → src/accounts}/safe.d.ts +4 -6
  24. package/dist/src/accounts/safe.d.ts.map +1 -0
  25. package/dist/{accounts → src/accounts}/safe.js +20 -29
  26. package/dist/src/accounts/safe.test.d.ts +2 -0
  27. package/dist/src/accounts/safe.test.d.ts.map +1 -0
  28. package/dist/src/accounts/safe.test.js +87 -0
  29. package/dist/src/accounts/startale.d.ts +20 -0
  30. package/dist/src/accounts/startale.d.ts.map +1 -0
  31. package/dist/src/accounts/startale.js +100 -0
  32. package/dist/src/accounts/startale.test.d.ts +2 -0
  33. package/dist/src/accounts/startale.test.d.ts.map +1 -0
  34. package/dist/src/accounts/startale.test.js +99 -0
  35. package/dist/{accounts → src/accounts}/utils.d.ts +4 -3
  36. package/dist/src/accounts/utils.d.ts.map +1 -0
  37. package/dist/{accounts → src/accounts}/utils.js +44 -0
  38. package/dist/src/accounts/utils.test.d.ts +2 -0
  39. package/dist/src/accounts/utils.test.d.ts.map +1 -0
  40. package/dist/src/accounts/utils.test.js +49 -0
  41. package/dist/src/actions/index.d.ts +39 -0
  42. package/dist/src/actions/index.d.ts.map +1 -0
  43. package/dist/{actions → src/actions}/index.js +108 -15
  44. package/dist/src/actions/index.test.d.ts +2 -0
  45. package/dist/src/actions/index.test.d.ts.map +1 -0
  46. package/dist/src/actions/index.test.js +302 -0
  47. package/dist/{actions → src/actions}/smart-session.d.ts +2 -2
  48. package/dist/src/actions/smart-session.d.ts.map +1 -0
  49. package/dist/src/execution/compact.d.ts +8 -0
  50. package/dist/src/execution/compact.d.ts.map +1 -0
  51. package/dist/src/execution/compact.js +105 -0
  52. package/dist/src/execution/error.d.ts +54 -0
  53. package/dist/src/execution/error.d.ts.map +1 -0
  54. package/dist/src/execution/error.js +78 -0
  55. package/dist/{execution → src/execution}/index.d.ts +7 -6
  56. package/dist/src/execution/index.d.ts.map +1 -0
  57. package/dist/src/execution/index.js +150 -0
  58. package/dist/src/execution/smart-session.d.ts +15 -0
  59. package/dist/src/execution/smart-session.d.ts.map +1 -0
  60. package/dist/{execution → src/execution}/smart-session.js +16 -77
  61. package/dist/src/execution/smart-session.test.d.ts +2 -0
  62. package/dist/src/execution/smart-session.test.d.ts.map +1 -0
  63. package/dist/src/execution/smart-session.test.js +34 -0
  64. package/dist/src/execution/utils.d.ts +45 -0
  65. package/dist/src/execution/utils.d.ts.map +1 -0
  66. package/dist/src/execution/utils.js +433 -0
  67. package/dist/src/index.d.ts +41 -0
  68. package/dist/src/index.d.ts.map +1 -0
  69. package/dist/src/index.js +154 -0
  70. package/dist/src/modules/abi/smart-sessions.d.ts.map +1 -0
  71. package/dist/src/modules/common.d.ts.map +1 -0
  72. package/dist/{modules → src/modules}/index.d.ts +3 -11
  73. package/dist/src/modules/index.d.ts.map +1 -0
  74. package/dist/{modules → src/modules}/index.js +3 -45
  75. package/dist/src/modules/index.test.d.ts +2 -0
  76. package/dist/src/modules/index.test.d.ts.map +1 -0
  77. package/dist/src/modules/index.test.js +107 -0
  78. package/dist/src/modules/omni-account.d.ts +7 -0
  79. package/dist/src/modules/omni-account.d.ts.map +1 -0
  80. package/dist/src/modules/omni-account.js +11 -0
  81. package/dist/src/modules/read.d.ts +9 -0
  82. package/dist/src/modules/read.d.ts.map +1 -0
  83. package/dist/{modules → src/modules}/read.js +6 -37
  84. package/dist/{modules → src/modules}/validators/core.d.ts +6 -7
  85. package/dist/src/modules/validators/core.d.ts.map +1 -0
  86. package/dist/{modules → src/modules}/validators/core.js +83 -8
  87. package/dist/src/modules/validators/core.test.d.ts +2 -0
  88. package/dist/src/modules/validators/core.test.d.ts.map +1 -0
  89. package/dist/src/modules/validators/core.test.js +108 -0
  90. package/dist/src/modules/validators/index.d.ts +4 -0
  91. package/dist/src/modules/validators/index.d.ts.map +1 -0
  92. package/dist/{modules → src/modules}/validators/index.js +1 -3
  93. package/dist/{modules → src/modules}/validators/smart-sessions.d.ts +4 -15
  94. package/dist/src/modules/validators/smart-sessions.d.ts.map +1 -0
  95. package/dist/{modules → src/modules}/validators/smart-sessions.js +7 -61
  96. package/dist/src/modules/validators/smart-sessions.test.d.ts +2 -0
  97. package/dist/src/modules/validators/smart-sessions.test.d.ts.map +1 -0
  98. package/dist/src/modules/validators/smart-sessions.test.js +226 -0
  99. package/dist/src/orchestrator/client.d.ts +21 -0
  100. package/dist/src/orchestrator/client.d.ts.map +1 -0
  101. package/dist/src/orchestrator/client.js +284 -0
  102. package/dist/src/orchestrator/consts.d.ts +5 -0
  103. package/dist/src/orchestrator/consts.d.ts.map +1 -0
  104. package/dist/src/orchestrator/consts.js +9 -0
  105. package/dist/src/orchestrator/error.d.ts +96 -0
  106. package/dist/src/orchestrator/error.d.ts.map +1 -0
  107. package/dist/src/orchestrator/error.js +132 -0
  108. package/dist/src/orchestrator/index.d.ts +11 -0
  109. package/dist/src/orchestrator/index.d.ts.map +1 -0
  110. package/dist/src/orchestrator/index.js +42 -0
  111. package/dist/src/orchestrator/registry.d.ts +39 -0
  112. package/dist/src/orchestrator/registry.d.ts.map +1 -0
  113. package/dist/src/orchestrator/registry.js +121 -0
  114. package/dist/src/orchestrator/registry.json +365 -0
  115. package/dist/src/orchestrator/registry.test.d.ts +2 -0
  116. package/dist/src/orchestrator/registry.test.d.ts.map +1 -0
  117. package/dist/src/orchestrator/registry.test.js +137 -0
  118. package/dist/src/orchestrator/types.d.ts +275 -0
  119. package/dist/src/orchestrator/types.d.ts.map +1 -0
  120. package/dist/src/orchestrator/types.js +19 -0
  121. package/dist/src/orchestrator/utils.d.ts +5 -0
  122. package/dist/src/orchestrator/utils.d.ts.map +1 -0
  123. package/dist/src/orchestrator/utils.js +126 -0
  124. package/dist/{types.d.ts → src/types.d.ts} +42 -21
  125. package/dist/src/types.d.ts.map +1 -0
  126. package/dist/test/consts.d.ts +10 -0
  127. package/dist/test/consts.d.ts.map +1 -0
  128. package/dist/test/consts.js +22 -0
  129. package/package.json +11 -20
  130. package/dist/accounts/index.d.ts.map +0 -1
  131. package/dist/accounts/index.js +0 -419
  132. package/dist/accounts/kernel.d.ts.map +0 -1
  133. package/dist/accounts/nexus.d.ts.map +0 -1
  134. package/dist/accounts/safe.d.ts.map +0 -1
  135. package/dist/accounts/utils.d.ts.map +0 -1
  136. package/dist/actions/index.d.ts +0 -29
  137. package/dist/actions/index.d.ts.map +0 -1
  138. package/dist/actions/registry.d.ts +0 -7
  139. package/dist/actions/registry.d.ts.map +0 -1
  140. package/dist/actions/registry.js +0 -7
  141. package/dist/actions/smart-session.d.ts.map +0 -1
  142. package/dist/execution/index.d.ts.map +0 -1
  143. package/dist/execution/index.js +0 -149
  144. package/dist/execution/smart-session.d.ts +0 -23
  145. package/dist/execution/smart-session.d.ts.map +0 -1
  146. package/dist/execution/utils.d.ts +0 -68
  147. package/dist/execution/utils.d.ts.map +0 -1
  148. package/dist/execution/utils.js +0 -482
  149. package/dist/index.d.ts +0 -38
  150. package/dist/index.d.ts.map +0 -1
  151. package/dist/index.js +0 -119
  152. package/dist/modules/abi/smart-sessions.d.ts.map +0 -1
  153. package/dist/modules/common.d.ts.map +0 -1
  154. package/dist/modules/index.d.ts.map +0 -1
  155. package/dist/modules/omni-account.d.ts +0 -9
  156. package/dist/modules/omni-account.d.ts.map +0 -1
  157. package/dist/modules/omni-account.js +0 -15
  158. package/dist/modules/read.d.ts +0 -10
  159. package/dist/modules/read.d.ts.map +0 -1
  160. package/dist/modules/registry.d.ts +0 -9
  161. package/dist/modules/registry.d.ts.map +0 -1
  162. package/dist/modules/registry.js +0 -60
  163. package/dist/modules/validators/core.d.ts.map +0 -1
  164. package/dist/modules/validators/index.d.ts +0 -4
  165. package/dist/modules/validators/index.d.ts.map +0 -1
  166. package/dist/modules/validators/smart-sessions.d.ts.map +0 -1
  167. package/dist/orchestrator/client.d.ts +0 -29
  168. package/dist/orchestrator/client.d.ts.map +0 -1
  169. package/dist/orchestrator/client.js +0 -250
  170. package/dist/orchestrator/consts.d.ts +0 -5
  171. package/dist/orchestrator/consts.d.ts.map +0 -1
  172. package/dist/orchestrator/consts.js +0 -9
  173. package/dist/orchestrator/error.d.ts +0 -18
  174. package/dist/orchestrator/error.d.ts.map +0 -1
  175. package/dist/orchestrator/error.js +0 -33
  176. package/dist/orchestrator/index.d.ts +0 -11
  177. package/dist/orchestrator/index.d.ts.map +0 -1
  178. package/dist/orchestrator/index.js +0 -40
  179. package/dist/orchestrator/registry.d.ts +0 -20
  180. package/dist/orchestrator/registry.d.ts.map +0 -1
  181. package/dist/orchestrator/registry.js +0 -444
  182. package/dist/orchestrator/types.d.ts +0 -242
  183. package/dist/orchestrator/types.d.ts.map +0 -1
  184. package/dist/orchestrator/types.js +0 -19
  185. package/dist/orchestrator/utils.d.ts +0 -29
  186. package/dist/orchestrator/utils.d.ts.map +0 -1
  187. package/dist/orchestrator/utils.js +0 -319
  188. package/dist/types.d.ts.map +0 -1
  189. /package/dist/{actions → src/actions}/smart-session.js +0 -0
  190. /package/dist/{modules → src/modules}/abi/smart-sessions.d.ts +0 -0
  191. /package/dist/{modules → src/modules}/abi/smart-sessions.js +0 -0
  192. /package/dist/{modules → src/modules}/common.d.ts +0 -0
  193. /package/dist/{modules → src/modules}/common.js +0 -0
  194. /package/dist/{types.js → src/types.js} +0 -0
@@ -0,0 +1,275 @@
1
+ import type { Address, Hex } from 'viem';
2
+ import type { UserOperationReceipt } from 'viem/account-abstraction';
3
+ import type { arbitrum, arbitrumSepolia, base, baseSepolia, mainnet, optimism, optimismSepolia, polygon, sepolia, soneium, zksync } from 'viem/chains';
4
+ type SupportedTestnet = typeof sepolia.id | typeof baseSepolia.id | typeof arbitrumSepolia.id | typeof optimismSepolia.id;
5
+ type SupportedMainnet = typeof mainnet.id | typeof base.id | typeof arbitrum.id | typeof optimism.id | typeof polygon.id | typeof zksync.id | typeof soneium.id;
6
+ type SupportedOPStackMainnet = typeof optimism.id | typeof base.id | typeof soneium.id;
7
+ type SupportedOPStackTestnet = typeof optimismSepolia.id | typeof baseSepolia.id;
8
+ type SupportedChain = SupportedMainnet | SupportedTestnet;
9
+ type SupportedTokenSymbol = 'ETH' | 'WETH' | 'USDC' | 'USDT';
10
+ type SupportedToken = SupportedTokenSymbol | Address;
11
+ type SmartAccountType = 'GENERIC' | 'ERC7579';
12
+ type AccountStatus = 'NOT_DEPLOYED' | SmartAccountType;
13
+ declare const INTENT_STATUS_PENDING = "PENDING";
14
+ declare const INTENT_STATUS_FAILED = "FAILED";
15
+ declare const INTENT_STATUS_EXPIRED = "EXPIRED";
16
+ declare const INTENT_STATUS_PARTIALLY_COMPLETED = "PARTIALLY_COMPLETED";
17
+ declare const INTENT_STATUS_COMPLETED = "COMPLETED";
18
+ declare const INTENT_STATUS_FILLED = "FILLED";
19
+ declare const INTENT_STATUS_PRECONFIRMED = "PRECONFIRMED";
20
+ declare const INTENT_STATUS_UNKNOWN = "UNKNOWN";
21
+ type IntentStatus = typeof INTENT_STATUS_PENDING | typeof INTENT_STATUS_EXPIRED | typeof INTENT_STATUS_PARTIALLY_COMPLETED | typeof INTENT_STATUS_COMPLETED | typeof INTENT_STATUS_FILLED | typeof INTENT_STATUS_PRECONFIRMED | typeof INTENT_STATUS_FAILED | typeof INTENT_STATUS_UNKNOWN;
22
+ type AccountAccessListLegacy = {
23
+ chainId: number;
24
+ tokenAddress: Address;
25
+ }[];
26
+ type MappedChainTokenAccessList = {
27
+ chainTokens?: {
28
+ [chainId in SupportedChain]?: SupportedToken[];
29
+ };
30
+ };
31
+ type UnmappedChainTokenAccessList = {
32
+ chainIds?: SupportedChain[];
33
+ tokens?: SupportedToken[];
34
+ };
35
+ type AccountAccessList = AccountAccessListLegacy | MappedChainTokenAccessList | UnmappedChainTokenAccessList;
36
+ type ClaimStatus = 'PENDING' | 'EXPIRED' | 'CLAIMED';
37
+ interface Claim {
38
+ depositId: bigint;
39
+ chainId: number;
40
+ status: ClaimStatus;
41
+ claimTimestamp?: number;
42
+ claimTransactionHash?: Hex;
43
+ }
44
+ interface Execution {
45
+ to: Address;
46
+ value: bigint;
47
+ data: Hex;
48
+ }
49
+ type SettlementLayer = 'SAME_CHAIN' | 'ACROSS' | 'ECO';
50
+ interface IntentOptions {
51
+ topupCompact: boolean;
52
+ sponsorSettings?: SponsorSettings;
53
+ settlementLayers?: SettlementLayer[];
54
+ }
55
+ interface SponsorSettings {
56
+ gasSponsored: boolean;
57
+ bridgeFeesSponsored: boolean;
58
+ swapFeesSponsored: boolean;
59
+ }
60
+ interface PortfolioToken {
61
+ symbol: string;
62
+ decimals: number;
63
+ balances: {
64
+ locked: bigint;
65
+ unlocked: bigint;
66
+ };
67
+ chains: [
68
+ {
69
+ chain: number;
70
+ address: Address;
71
+ locked: bigint;
72
+ unlocked: bigint;
73
+ }
74
+ ];
75
+ }
76
+ type Portfolio = PortfolioToken[];
77
+ interface IntentInput {
78
+ account: {
79
+ address: Address;
80
+ accountType: SmartAccountType;
81
+ setupOps: {
82
+ to: Address;
83
+ data: Hex;
84
+ }[];
85
+ delegations?: Record<number, {
86
+ contract: Address;
87
+ }>;
88
+ };
89
+ destinationChainId: number;
90
+ destinationExecutions: Execution[];
91
+ destinationGasUnits?: bigint;
92
+ tokenTransfers: {
93
+ tokenAddress: Address;
94
+ amount?: bigint;
95
+ }[];
96
+ accountAccessList?: AccountAccessList;
97
+ options?: IntentOptions;
98
+ }
99
+ type SettlementSystem = 'SAME_CHAIN' | 'ACROSS';
100
+ interface IntentCost {
101
+ hasFulfilledAll: boolean;
102
+ tokensReceived: [
103
+ {
104
+ tokenAddress: Address;
105
+ hasFulfilled: boolean;
106
+ amountSpent: bigint;
107
+ destinationAmount: bigint;
108
+ fee: bigint;
109
+ }
110
+ ];
111
+ tokensSpent: {
112
+ [chainId: number]: {
113
+ [tokenAddress: Address]: {
114
+ locked: string;
115
+ unlocked: string;
116
+ };
117
+ };
118
+ };
119
+ }
120
+ interface IntentOpElement {
121
+ arbiter: Address;
122
+ chainId: string;
123
+ idsAndAmounts: [[string, string]];
124
+ beforeFill: boolean;
125
+ smartAccountStatus: SmartAccountType;
126
+ mandate: {
127
+ recipient: Address;
128
+ tokenOut: [[string, string]];
129
+ destinationChainId: string;
130
+ fillDeadline: string;
131
+ destinationOps: Execution[];
132
+ preClaimOps: Execution[];
133
+ qualifier: {
134
+ settlementSystem: SettlementSystem;
135
+ encodedVal: Hex;
136
+ };
137
+ };
138
+ }
139
+ interface IntentOp {
140
+ sponsor: Address;
141
+ nonce: string;
142
+ expires: string;
143
+ elements: IntentOpElement[];
144
+ serverSignature: string;
145
+ signedMetadata: {
146
+ quotes: Record<Address, unknown[]>;
147
+ tokenPrices: Record<string, number>;
148
+ opGasParams: Record<string, {
149
+ l1BaseFee: string;
150
+ l1BlobBaseFee: string;
151
+ baseFeeScalar: string;
152
+ blobFeeScalar: string;
153
+ }> & {
154
+ estimatedCalldataSize: number;
155
+ };
156
+ gasPrices: Record<string, string>;
157
+ account: AccountWithContext;
158
+ };
159
+ }
160
+ interface Account {
161
+ address: Address;
162
+ accountType: SmartAccountType;
163
+ setupOps: Pick<Execution, 'to' | 'data'>[];
164
+ delegations?: Delegations;
165
+ emissaryConfig?: EmissarySetupConfig;
166
+ }
167
+ type AccountWithContext = Omit<Account, 'delegations'> & {
168
+ accountContext: {
169
+ [chainId: number]: AccountStatus;
170
+ };
171
+ requiredDelegations?: Delegations;
172
+ };
173
+ interface Delegation {
174
+ contract: Address;
175
+ }
176
+ type Delegations = Record<number, Delegation>;
177
+ interface EmissarySetupConfig {
178
+ configId: number;
179
+ validatorAddress: Address;
180
+ emissaryAddress: Address;
181
+ emissaryConfig: EmissaryConfig;
182
+ emissaryEnable: EmissaryEnable;
183
+ }
184
+ interface EmissaryConfig {
185
+ configId: number;
186
+ allocator: Address;
187
+ scope: number;
188
+ resetPeriod: number;
189
+ validator: Address;
190
+ validatorConfig: Hex;
191
+ }
192
+ interface EmissaryEnable {
193
+ allocatorSig: Hex;
194
+ userSig: Hex;
195
+ expires: bigint;
196
+ nonce: bigint;
197
+ allChainIds: bigint[];
198
+ chainIndex: bigint;
199
+ }
200
+ interface IntentRoute {
201
+ intentOp: IntentOp;
202
+ intentCost: IntentCost;
203
+ }
204
+ interface IntentResult {
205
+ result: {
206
+ id: string;
207
+ status: IntentStatus;
208
+ };
209
+ }
210
+ type SignedIntentOp = IntentOp & {
211
+ originSignatures: Hex[];
212
+ destinationSignature: Hex;
213
+ signedAuthorizations?: readonly {
214
+ chainId: number;
215
+ address: Address;
216
+ nonce: number;
217
+ yParity: number;
218
+ r: Hex;
219
+ s: Hex;
220
+ }[];
221
+ };
222
+ interface TokenConfig {
223
+ symbol: string;
224
+ address: Address;
225
+ decimals: number;
226
+ }
227
+ export type TokenPrices = {
228
+ [key in SupportedTokenSymbol]?: number;
229
+ };
230
+ export type GasPrices = {
231
+ [key in SupportedMainnet | SupportedTestnet]?: bigint;
232
+ };
233
+ export type OPNetworkParams = {
234
+ [key in SupportedOPStackMainnet | SupportedOPStackTestnet]?: {
235
+ l1BaseFee: bigint;
236
+ l1BlobBaseFee: bigint;
237
+ baseFeeScalar: bigint;
238
+ blobFeeScalar: bigint;
239
+ };
240
+ } | {
241
+ estimatedCalldataSize: number;
242
+ };
243
+ interface IntentOpStatus {
244
+ type: 'intent';
245
+ status: IntentStatus;
246
+ fillTimestamp?: number;
247
+ fillTransactionHash?: Hex;
248
+ claims: Claim[];
249
+ }
250
+ interface UserOpStatus {
251
+ type: 'userop';
252
+ receipt: UserOperationReceipt;
253
+ }
254
+ interface PortfolioTokenChainResponse {
255
+ chainId: number;
256
+ accountStatus: AccountStatus;
257
+ tokenAddress: Address;
258
+ balance: {
259
+ locked: string;
260
+ unlocked: string;
261
+ };
262
+ }
263
+ interface PortfolioTokenResponse {
264
+ tokenName: 'ETH';
265
+ tokenDecimals: 18;
266
+ balance: {
267
+ locked: string;
268
+ unlocked: string;
269
+ };
270
+ tokenChainBalance: PortfolioTokenChainResponse[];
271
+ }
272
+ type PortfolioResponse = PortfolioTokenResponse[];
273
+ export type { TokenConfig, SupportedChain, SettlementSystem, IntentInput, IntentCost, IntentRoute, IntentOp, IntentOpElement, SignedIntentOp, IntentOpStatus, UserOpStatus, IntentResult, PortfolioTokenResponse, PortfolioResponse, Portfolio, PortfolioToken, };
274
+ export { INTENT_STATUS_PENDING, INTENT_STATUS_FAILED, INTENT_STATUS_EXPIRED, INTENT_STATUS_PARTIALLY_COMPLETED, INTENT_STATUS_COMPLETED, INTENT_STATUS_FILLED, INTENT_STATUS_PRECONFIRMED, INTENT_STATUS_UNKNOWN, };
275
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../orchestrator/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.INTENT_STATUS_UNKNOWN = exports.INTENT_STATUS_PRECONFIRMED = exports.INTENT_STATUS_FILLED = exports.INTENT_STATUS_COMPLETED = exports.INTENT_STATUS_PARTIALLY_COMPLETED = exports.INTENT_STATUS_EXPIRED = exports.INTENT_STATUS_FAILED = exports.INTENT_STATUS_PENDING = void 0;
4
+ const INTENT_STATUS_PENDING = 'PENDING';
5
+ exports.INTENT_STATUS_PENDING = INTENT_STATUS_PENDING;
6
+ const INTENT_STATUS_FAILED = 'FAILED';
7
+ exports.INTENT_STATUS_FAILED = INTENT_STATUS_FAILED;
8
+ const INTENT_STATUS_EXPIRED = 'EXPIRED';
9
+ exports.INTENT_STATUS_EXPIRED = INTENT_STATUS_EXPIRED;
10
+ const INTENT_STATUS_PARTIALLY_COMPLETED = 'PARTIALLY_COMPLETED';
11
+ exports.INTENT_STATUS_PARTIALLY_COMPLETED = INTENT_STATUS_PARTIALLY_COMPLETED;
12
+ const INTENT_STATUS_COMPLETED = 'COMPLETED';
13
+ exports.INTENT_STATUS_COMPLETED = INTENT_STATUS_COMPLETED;
14
+ const INTENT_STATUS_FILLED = 'FILLED';
15
+ exports.INTENT_STATUS_FILLED = INTENT_STATUS_FILLED;
16
+ const INTENT_STATUS_PRECONFIRMED = 'PRECONFIRMED';
17
+ exports.INTENT_STATUS_PRECONFIRMED = INTENT_STATUS_PRECONFIRMED;
18
+ const INTENT_STATUS_UNKNOWN = 'UNKNOWN';
19
+ exports.INTENT_STATUS_UNKNOWN = INTENT_STATUS_UNKNOWN;
@@ -0,0 +1,5 @@
1
+ import type { IntentOp } from './types';
2
+ declare function getIntentOpHash(intentOp: IntentOp): `0x${string}`;
3
+ declare function convertBigIntFields(obj: any): any;
4
+ export { getIntentOpHash, convertBigIntFields };
5
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../orchestrator/utils.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,SAAS,CAAA;AAWzD,iBAAS,eAAe,CAAC,QAAQ,EAAE,QAAQ,iBA4F1C;AAED,iBAAS,mBAAmB,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAwB1C;AAED,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,CAAA"}
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getIntentOpHash = getIntentOpHash;
4
+ exports.convertBigIntFields = convertBigIntFields;
5
+ const viem_1 = require("viem");
6
+ function getClaimProofer(settlementSystem) {
7
+ switch (settlementSystem) {
8
+ case 'ACROSS':
9
+ return '0x1636b30481Db91Bbc5818e65d3962838BdCd5569';
10
+ case 'SAME_CHAIN':
11
+ return viem_1.zeroAddress;
12
+ }
13
+ }
14
+ function getIntentOpHash(intentOp) {
15
+ const notarizedChainElement = intentOp.elements[0];
16
+ const settlementSystem = notarizedChainElement.mandate.qualifier.settlementSystem;
17
+ const claimProofer = getClaimProofer(settlementSystem);
18
+ return (0, viem_1.hashTypedData)({
19
+ domain: {
20
+ name: 'The Compact',
21
+ version: '1',
22
+ chainId: BigInt(notarizedChainElement.chainId),
23
+ verifyingContract: '0xAbd3388A633758D0Bae01Efb885EF1e87BD519a6',
24
+ },
25
+ types: {
26
+ MultichainCompact: [
27
+ { name: 'sponsor', type: 'address' },
28
+ { name: 'nonce', type: 'uint256' },
29
+ { name: 'expires', type: 'uint256' },
30
+ { name: 'elements', type: 'Element[]' },
31
+ ],
32
+ Element: [
33
+ { name: 'arbiter', type: 'address' },
34
+ { name: 'chainId', type: 'uint256' },
35
+ { name: 'commitments', type: 'Lock[]' },
36
+ { name: 'mandate', type: 'Mandate' },
37
+ ],
38
+ Lock: [
39
+ { name: 'lockTag', type: 'bytes12' },
40
+ { name: 'token', type: 'address' },
41
+ { name: 'amount', type: 'uint256' },
42
+ ],
43
+ Mandate: [
44
+ { name: 'target', type: 'Target' },
45
+ { name: 'originOps', type: 'Op[]' },
46
+ { name: 'destOps', type: 'Op[]' },
47
+ { name: 'q', type: 'bytes32' },
48
+ ],
49
+ Target: [
50
+ { name: 'recipient', type: 'address' },
51
+ { name: 'tokenOut', type: 'Token[]' },
52
+ { name: 'targetChain', type: 'uint256' },
53
+ { name: 'fillExpiry', type: 'uint256' },
54
+ { name: 'claimProofer', type: 'address' },
55
+ ],
56
+ Token: [
57
+ { name: 'token', type: 'address' },
58
+ { name: 'amount', type: 'uint256' },
59
+ ],
60
+ Op: [
61
+ { name: 'to', type: 'address' },
62
+ { name: 'value', type: 'uint256' },
63
+ { name: 'data', type: 'bytes' },
64
+ ],
65
+ },
66
+ primaryType: 'MultichainCompact',
67
+ message: {
68
+ sponsor: intentOp.sponsor,
69
+ nonce: BigInt(intentOp.nonce),
70
+ expires: BigInt(intentOp.expires),
71
+ elements: intentOp.elements.map((element) => ({
72
+ arbiter: element.arbiter,
73
+ chainId: BigInt(element.chainId),
74
+ commitments: element.idsAndAmounts.map((token) => ({
75
+ lockTag: (0, viem_1.slice)((0, viem_1.toHex)(BigInt(token[0])), 0, 12),
76
+ token: (0, viem_1.slice)((0, viem_1.toHex)(BigInt(token[0])), 12, 32),
77
+ amount: BigInt(token[1]),
78
+ })),
79
+ mandate: {
80
+ target: {
81
+ recipient: element.mandate.recipient,
82
+ tokenOut: element.mandate.tokenOut.map((token) => ({
83
+ token: (0, viem_1.slice)((0, viem_1.toHex)(BigInt(token[0])), 12, 32),
84
+ amount: BigInt(token[1]),
85
+ })),
86
+ targetChain: BigInt(element.mandate.destinationChainId),
87
+ fillExpiry: BigInt(element.mandate.fillDeadline),
88
+ claimProofer: claimProofer,
89
+ },
90
+ originOps: element.mandate.preClaimOps.map((op) => ({
91
+ to: op.to,
92
+ value: BigInt(op.value),
93
+ data: op.data,
94
+ })),
95
+ destOps: element.mandate.destinationOps.map((op) => ({
96
+ to: op.to,
97
+ value: BigInt(op.value),
98
+ data: op.data,
99
+ })),
100
+ q: (0, viem_1.keccak256)(element.mandate.qualifier?.encodedVal ?? '0x'),
101
+ },
102
+ })),
103
+ },
104
+ });
105
+ }
106
+ function convertBigIntFields(obj) {
107
+ if (obj === null || obj === undefined) {
108
+ return obj;
109
+ }
110
+ if (typeof obj === 'bigint') {
111
+ return obj.toString();
112
+ }
113
+ if (Array.isArray(obj)) {
114
+ return obj.map(convertBigIntFields);
115
+ }
116
+ if (typeof obj === 'object') {
117
+ const result = {};
118
+ for (const key in obj) {
119
+ if (Object.hasOwn(obj, key)) {
120
+ result[key] = convertBigIntFields(obj[key]);
121
+ }
122
+ }
123
+ return result;
124
+ }
125
+ return obj;
126
+ }
@@ -1,7 +1,7 @@
1
1
  import type { Account, Address, Chain, Hex } from 'viem';
2
2
  import type { WebAuthnAccount } from 'viem/account-abstraction';
3
- import { EnableSessionData } from './modules/validators/smart-sessions';
4
- type AccountType = 'safe' | 'nexus' | 'kernel';
3
+ import type { EnableSessionData } from './modules/validators/smart-sessions';
4
+ type AccountType = 'safe' | 'nexus' | 'kernel' | 'startale';
5
5
  interface AccountProviderConfig {
6
6
  type: AccountType;
7
7
  }
@@ -15,15 +15,24 @@ interface WebauthnValidatorConfig {
15
15
  account: WebAuthnAccount;
16
16
  credentialIds: Hex[];
17
17
  }
18
+ interface MultiFactorValidatorConfig {
19
+ type: 'multi-factor';
20
+ validators: (OwnableValidatorConfig | WebauthnValidatorConfig)[];
21
+ threshold?: number;
22
+ }
23
+ interface ProviderConfig {
24
+ type: 'alchemy';
25
+ apiKey: string;
26
+ }
18
27
  interface BundlerConfig {
19
- type: 'pimlico';
28
+ type: 'pimlico' | 'biconomy';
20
29
  apiKey: string;
21
30
  }
22
31
  interface PaymasterConfig {
23
- type: 'pimlico';
32
+ type: 'pimlico' | 'biconomy';
24
33
  apiKey: string;
25
34
  }
26
- type OwnerSet = OwnableValidatorConfig | WebauthnValidatorConfig;
35
+ type OwnerSet = OwnableValidatorConfig | WebauthnValidatorConfig | MultiFactorValidatorConfig;
27
36
  interface SudoPolicy {
28
37
  type: 'sudo';
29
38
  }
@@ -80,28 +89,26 @@ interface RhinestoneAccountConfig {
80
89
  account?: AccountProviderConfig;
81
90
  owners: OwnerSet;
82
91
  rhinestoneApiKey: string;
83
- deployerAccount?: Account;
84
92
  sessions?: Session[];
85
93
  recovery?: Recovery;
86
94
  eoa?: Account;
87
- provider?: {
88
- type: 'alchemy';
89
- apiKey: string;
90
- };
95
+ provider?: ProviderConfig;
91
96
  bundler?: BundlerConfig;
92
97
  paymaster?: PaymasterConfig;
93
98
  }
94
- interface Call {
95
- to: Address;
99
+ type TokenSymbol = 'ETH' | 'WETH' | 'USDC' | 'USDT';
100
+ interface CallInput {
101
+ to: Address | TokenSymbol;
96
102
  data?: Hex;
97
103
  value?: bigint;
98
104
  }
99
- /**
100
- * @deprecated Use the `Call` type instead.
101
- */
102
- type Execution = Call;
105
+ interface Call {
106
+ to: Address;
107
+ data: Hex;
108
+ value: bigint;
109
+ }
103
110
  interface TokenRequest {
104
- address: Address;
111
+ address: Address | TokenSymbol;
105
112
  amount: bigint;
106
113
  }
107
114
  type OwnerSignerSet = {
@@ -112,6 +119,18 @@ type OwnerSignerSet = {
112
119
  type: 'owner';
113
120
  kind: 'passkey';
114
121
  account: WebAuthnAccount;
122
+ } | {
123
+ type: 'owner';
124
+ kind: 'multi-factor';
125
+ validators: ({
126
+ type: 'ecdsa';
127
+ id: number | Hex;
128
+ accounts: Account[];
129
+ } | {
130
+ type: 'passkey';
131
+ id: number | Hex;
132
+ account: WebAuthnAccount;
133
+ })[];
115
134
  };
116
135
  interface SessionSignerSet {
117
136
  type: 'session';
@@ -124,18 +143,20 @@ interface GuardiansSignerSet {
124
143
  }
125
144
  type SignerSet = OwnerSignerSet | SessionSignerSet | GuardiansSignerSet;
126
145
  interface BaseTransaction {
127
- calls: Call[];
128
- tokenRequests: TokenRequest[];
146
+ calls: CallInput[];
147
+ tokenRequests?: TokenRequest[];
129
148
  gasLimit?: bigint;
130
149
  signers?: SignerSet;
150
+ sponsored?: boolean;
151
+ eip7702InitSignature?: Hex;
131
152
  }
132
153
  interface SameChainTransaction extends BaseTransaction {
133
154
  chain: Chain;
134
155
  }
135
156
  interface CrossChainTransaction extends BaseTransaction {
136
- sourceChain?: Chain;
157
+ sourceChains?: Chain[];
137
158
  targetChain: Chain;
138
159
  }
139
160
  type Transaction = SameChainTransaction | CrossChainTransaction;
140
- export type { AccountType, RhinestoneAccountConfig, AccountProviderConfig, BundlerConfig, PaymasterConfig, Transaction, Call, Execution, TokenRequest, OwnerSet, OwnableValidatorConfig, WebauthnValidatorConfig, SignerSet, Session, Recovery, Policy, UniversalActionPolicyParamCondition, };
161
+ export type { AccountType, RhinestoneAccountConfig, AccountProviderConfig, ProviderConfig, BundlerConfig, PaymasterConfig, Transaction, TokenSymbol, CallInput, Call, TokenRequest, OwnerSet, OwnableValidatorConfig, WebauthnValidatorConfig, MultiFactorValidatorConfig, SignerSet, Session, Recovery, Policy, UniversalActionPolicyParamCondition, };
141
162
  //# 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,10 @@
1
+ import { type WebAuthnAccount } from 'viem/account-abstraction';
2
+ import { type Account } from 'viem/accounts';
3
+ declare const accountA: Account;
4
+ declare const accountB: Account;
5
+ declare const accountC: Account;
6
+ declare const accountD: Account;
7
+ declare const passkeyAccount: WebAuthnAccount;
8
+ declare const MOCK_API_KEY = "MOCK_KEY";
9
+ export { accountA, accountB, accountC, accountD, passkeyAccount, MOCK_API_KEY };
10
+ //# sourceMappingURL=consts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../../test/consts.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,KAAK,OAAO,EAAuB,MAAM,eAAe,CAAA;AAEjE,QAAA,MAAM,QAAQ,EAAE,OAEf,CAAA;AACD,QAAA,MAAM,QAAQ,EAAE,OAEf,CAAA;AACD,QAAA,MAAM,QAAQ,EAAE,OAEf,CAAA;AACD,QAAA,MAAM,QAAQ,EAAE,OAEf,CAAA;AACD,QAAA,MAAM,cAAc,EAAE,eAMpB,CAAA;AAEF,QAAA,MAAM,YAAY,aAAa,CAAA;AAE/B,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,CAAA"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MOCK_API_KEY = exports.passkeyAccount = exports.accountD = exports.accountC = exports.accountB = exports.accountA = void 0;
4
+ const account_abstraction_1 = require("viem/account-abstraction");
5
+ const accounts_1 = require("viem/accounts");
6
+ const accountA = (0, accounts_1.privateKeyToAccount)('0x2be89d993f98bbaab8b83f1a2830cb9414e19662967c7ba2a0f43d2a9125bd6d');
7
+ exports.accountA = accountA;
8
+ const accountB = (0, accounts_1.privateKeyToAccount)('0x39e2fec1a04c088f939d81de8f1abebdebf899a6cfb9968f9b663a7afba8301b');
9
+ exports.accountB = accountB;
10
+ const accountC = (0, accounts_1.privateKeyToAccount)('0xb63c74af219a3949cf95f5e3a3d20b0137425de053bb03e5cc0f46fe0d19f22f');
11
+ exports.accountC = accountC;
12
+ const accountD = (0, accounts_1.privateKeyToAccount)('0xa4aba81871b7b51fff56bfe441ea7f9a4879dd4bc8ce8c15fdb06dc92e63d1d7');
13
+ exports.accountD = accountD;
14
+ const passkeyAccount = (0, account_abstraction_1.toWebAuthnAccount)({
15
+ credential: {
16
+ id: '9IwX9n6cn-l9SzqFzfQXvDHRuTM',
17
+ publicKey: '0x580a9af0569ad3905b26a703201b358aa0904236642ebe79b22a19d00d3737637d46f725a5427ae45a9569259bf67e1e16b187d7b3ad1ed70138c4f0409677d1',
18
+ },
19
+ });
20
+ exports.passkeyAccount = passkeyAccount;
21
+ const MOCK_API_KEY = 'MOCK_KEY';
22
+ exports.MOCK_API_KEY = MOCK_API_KEY;