@rhinestone/sdk 0.2.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/README.md +4 -4
  2. package/dist/accounts/index.d.ts +15515 -4
  3. package/dist/accounts/index.d.ts.map +1 -1
  4. package/dist/accounts/index.js +69 -10
  5. package/dist/accounts/nexus.d.ts +15542 -32
  6. package/dist/accounts/nexus.d.ts.map +1 -1
  7. package/dist/accounts/nexus.js +86 -65
  8. package/dist/accounts/safe.d.ts +3 -1
  9. package/dist/accounts/safe.d.ts.map +1 -1
  10. package/dist/accounts/safe.js +8 -2
  11. package/dist/examples/abi/weth.d.ts +214 -0
  12. package/dist/examples/abi/weth.d.ts.map +1 -0
  13. package/dist/examples/abi/weth.js +279 -0
  14. package/dist/examples/cross-chain-ss.d.ts +1 -0
  15. package/dist/examples/cross-chain-ss.d.ts.map +1 -0
  16. package/dist/{example.js → examples/cross-chain-ss.js} +59 -22
  17. package/dist/examples/giza.d.ts +1 -0
  18. package/dist/examples/giza.d.ts.map +1 -0
  19. package/dist/examples/giza.js +124 -0
  20. package/dist/examples/omni-account.d.ts +1 -0
  21. package/dist/examples/omni-account.d.ts.map +1 -0
  22. package/dist/examples/omni-account.js +169 -0
  23. package/dist/examples/smart-sessions.d.ts +1 -0
  24. package/dist/examples/smart-sessions.d.ts.map +1 -0
  25. package/dist/examples/smart-sessions.js +216 -0
  26. package/dist/execution/index.d.ts +28 -3
  27. package/dist/execution/index.d.ts.map +1 -1
  28. package/dist/execution/index.js +177 -47
  29. package/dist/execution/smart-session.d.ts +14 -0
  30. package/dist/execution/smart-session.d.ts.map +1 -0
  31. package/dist/execution/smart-session.js +83 -0
  32. package/dist/index.d.ts +17 -5
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +10 -10
  35. package/dist/modules/abi/smart-sessions.d.ts +42 -0
  36. package/dist/modules/abi/smart-sessions.d.ts.map +1 -0
  37. package/dist/modules/abi/smart-sessions.js +128 -0
  38. package/dist/modules/common.d.ts +16 -0
  39. package/dist/modules/common.d.ts.map +1 -0
  40. package/dist/modules/common.js +5 -0
  41. package/dist/modules/index.d.ts +7 -18
  42. package/dist/modules/index.d.ts.map +1 -1
  43. package/dist/modules/index.js +14 -119
  44. package/dist/modules/omni-account.d.ts +9 -0
  45. package/dist/modules/omni-account.d.ts.map +1 -0
  46. package/dist/modules/omni-account.js +7 -0
  47. package/dist/modules/validators.d.ts +31 -0
  48. package/dist/modules/validators.d.ts.map +1 -0
  49. package/dist/modules/validators.js +521 -0
  50. package/dist/orchestrator/client.d.ts +2 -5
  51. package/dist/orchestrator/client.d.ts.map +1 -1
  52. package/dist/orchestrator/consts.d.ts +3 -1
  53. package/dist/orchestrator/consts.d.ts.map +1 -1
  54. package/dist/orchestrator/consts.js +3 -1
  55. package/dist/orchestrator/index.d.ts +5 -3
  56. package/dist/orchestrator/index.d.ts.map +1 -1
  57. package/dist/orchestrator/index.js +5 -4
  58. package/dist/orchestrator/registry.d.ts +5 -0
  59. package/dist/orchestrator/registry.d.ts.map +1 -0
  60. package/dist/orchestrator/registry.js +187 -0
  61. package/dist/orchestrator/types.d.ts +39 -23
  62. package/dist/orchestrator/types.d.ts.map +1 -1
  63. package/dist/orchestrator/types.js +7 -6
  64. package/dist/orchestrator/utils.d.ts +8 -4
  65. package/dist/orchestrator/utils.d.ts.map +1 -1
  66. package/dist/orchestrator/utils.js +19 -5
  67. package/dist/types.d.ts +64 -4
  68. package/dist/types.d.ts.map +1 -1
  69. package/package.json +1 -1
  70. package/dist/example.d.ts +0 -1
  71. package/dist/example.d.ts.map +0 -1
@@ -0,0 +1,187 @@
1
+ import { zeroAddress } from 'viem';
2
+ import { base, mainnet, arbitrum, optimism, polygon, sepolia, baseSepolia, arbitrumSepolia, optimismSepolia, polygonAmoy, } from 'viem/chains';
3
+ function getWethAddress(chain) {
4
+ switch (chain.id) {
5
+ case mainnet.id: {
6
+ return '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2';
7
+ }
8
+ case sepolia.id: {
9
+ return '0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14';
10
+ }
11
+ case base.id: {
12
+ return '0x4200000000000000000000000000000000000006';
13
+ }
14
+ case baseSepolia.id: {
15
+ return '0x4200000000000000000000000000000000000006';
16
+ }
17
+ case arbitrum.id: {
18
+ return '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1';
19
+ }
20
+ case arbitrumSepolia.id: {
21
+ return '0x980B62Da83eFf3D4576C647993b0c1D7faf17c73';
22
+ }
23
+ case optimism.id: {
24
+ return '0x4200000000000000000000000000000000000006';
25
+ }
26
+ case optimismSepolia.id: {
27
+ return '0x4200000000000000000000000000000000000006';
28
+ }
29
+ case polygon.id: {
30
+ return '0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619';
31
+ }
32
+ case polygonAmoy.id: {
33
+ return '0x52eF3d68BaB452a294342DC3e5f464d7f610f72E';
34
+ }
35
+ default: {
36
+ throw new Error(`Unsupported chain ${chain.id}`);
37
+ }
38
+ }
39
+ }
40
+ function getTokenBalanceSlot(chain, tokenAddress) {
41
+ switch (chain.id) {
42
+ case mainnet.id: {
43
+ // ETH
44
+ if (tokenAddress === zeroAddress) {
45
+ return null;
46
+ }
47
+ // USDC
48
+ if (tokenAddress === '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48') {
49
+ return 9n;
50
+ }
51
+ // WETH
52
+ if (tokenAddress === '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2') {
53
+ return 3n;
54
+ }
55
+ break;
56
+ }
57
+ case sepolia.id: {
58
+ // ETH
59
+ if (tokenAddress === zeroAddress) {
60
+ return null;
61
+ }
62
+ // USDC
63
+ if (tokenAddress === '0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238') {
64
+ return 9n;
65
+ }
66
+ // WETH
67
+ if (tokenAddress === '0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14') {
68
+ return 3n;
69
+ }
70
+ break;
71
+ }
72
+ case base.id: {
73
+ // ETH
74
+ if (tokenAddress === zeroAddress) {
75
+ return null;
76
+ }
77
+ // USDC
78
+ if (tokenAddress === '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913') {
79
+ return 9n;
80
+ }
81
+ // WETH
82
+ if (tokenAddress === '0x4200000000000000000000000000000000000006') {
83
+ return 3n;
84
+ }
85
+ break;
86
+ }
87
+ case baseSepolia.id: {
88
+ // ETH
89
+ if (tokenAddress === zeroAddress) {
90
+ return null;
91
+ }
92
+ // USDC
93
+ if (tokenAddress === '0x036CbD53842c5426634e7929541eC2318f3dCF7e') {
94
+ return 9n;
95
+ }
96
+ // WETH
97
+ if (tokenAddress === '0x4200000000000000000000000000000000000006') {
98
+ return 3n;
99
+ }
100
+ break;
101
+ }
102
+ case arbitrum.id: {
103
+ // ETH
104
+ if (tokenAddress === zeroAddress) {
105
+ return null;
106
+ }
107
+ // USDC
108
+ if (tokenAddress === '0xaf88d065e77c8cC2239327C5EDb3A432268e5831') {
109
+ return 9n;
110
+ }
111
+ // WETH
112
+ if (tokenAddress === '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1') {
113
+ return 51n;
114
+ }
115
+ break;
116
+ }
117
+ case arbitrumSepolia.id: {
118
+ // ETH
119
+ if (tokenAddress === zeroAddress) {
120
+ return null;
121
+ }
122
+ // USDC
123
+ if (tokenAddress === '0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d') {
124
+ return 9n;
125
+ }
126
+ // WETH
127
+ if (tokenAddress === '0x980B62Da83eFf3D4576C647993b0c1D7faf17c73') {
128
+ return 51n;
129
+ }
130
+ break;
131
+ }
132
+ case optimism.id: {
133
+ // ETH
134
+ if (tokenAddress === zeroAddress) {
135
+ return null;
136
+ }
137
+ // USDC
138
+ if (tokenAddress === '0x0b2c639c533813f4aa9d7837caf62653d097ff85') {
139
+ return 9n;
140
+ }
141
+ // WETH
142
+ if (tokenAddress === '0x4200000000000000000000000000000000000006') {
143
+ return 3n;
144
+ }
145
+ break;
146
+ }
147
+ case optimismSepolia.id: {
148
+ // ETH
149
+ if (tokenAddress === zeroAddress) {
150
+ return null;
151
+ }
152
+ // USDC
153
+ if (tokenAddress === '0x5fd84259d66Cd46123540766Be93DFE6D43130D7') {
154
+ return 9n;
155
+ }
156
+ // WETH
157
+ if (tokenAddress === '0x4200000000000000000000000000000000000006') {
158
+ return 3n;
159
+ }
160
+ break;
161
+ }
162
+ case polygon.id: {
163
+ // USDC
164
+ if (tokenAddress === '0x3c499c542cef5e3811e1192ce70d8cc03d5c3359') {
165
+ return 9n;
166
+ }
167
+ // WETH
168
+ if (tokenAddress === '0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619') {
169
+ return 3n;
170
+ }
171
+ break;
172
+ }
173
+ case polygonAmoy.id: {
174
+ // USDC
175
+ if (tokenAddress === '0x41e94eb019c0762f9bfcf9fb1e58725bfb0e7582') {
176
+ return 9n;
177
+ }
178
+ // WETH
179
+ if (tokenAddress === '0x52eF3d68BaB452a294342DC3e5f464d7f610f72E') {
180
+ return 3n;
181
+ }
182
+ break;
183
+ }
184
+ }
185
+ throw new Error(`Unsupported token address ${tokenAddress} for chain ${chain.id}`);
186
+ }
187
+ export { getTokenBalanceSlot, getWethAddress };
@@ -3,14 +3,19 @@ import type { UserOperation } from 'viem/account-abstraction';
3
3
  import { sepolia, baseSepolia, arbitrumSepolia, optimismSepolia, polygonAmoy, mainnet, base, arbitrum, optimism, polygon } from 'viem/chains';
4
4
  type SupportedTestnet = typeof sepolia.id | typeof baseSepolia.id | typeof arbitrumSepolia.id | typeof optimismSepolia.id | typeof polygonAmoy.id;
5
5
  type SupportedMainnet = typeof mainnet.id | typeof base.id | typeof arbitrum.id | typeof optimism.id | typeof polygon.id;
6
- export type SupportedChain = SupportedMainnet | SupportedTestnet;
7
- export declare const BUNDLE_STATUS_PENDING = "PENDING";
8
- export declare const BUNDLE_STATUS_FAILED = "FAILED";
9
- export declare const BUNDLE_STATUS_EXPIRED = "EXPIRED";
10
- export declare const BUNDLE_STATUS_PARTIALLY_COMPLETED = "PARTIALLY_COMPLETED";
11
- export declare const BUNDLE_STATUS_COMPLETED = "COMPLETED";
12
- export declare const BUNDLE_STATUS_UNKNOWN = "UNKNOWN";
13
- export type BundleStatus = typeof BUNDLE_STATUS_PENDING | typeof BUNDLE_STATUS_EXPIRED | typeof BUNDLE_STATUS_PARTIALLY_COMPLETED | typeof BUNDLE_STATUS_COMPLETED | typeof BUNDLE_STATUS_FAILED | typeof BUNDLE_STATUS_UNKNOWN;
6
+ type SupportedChain = SupportedMainnet | SupportedTestnet;
7
+ type SupportedTokens = 'ETH' | 'WETH' | 'USDC';
8
+ type BundleStatus = typeof BUNDLE_STATUS_PENDING | typeof BUNDLE_STATUS_EXPIRED | typeof BUNDLE_STATUS_PARTIALLY_COMPLETED | typeof BUNDLE_STATUS_COMPLETED | typeof BUNDLE_STATUS_FAILED | typeof BUNDLE_STATUS_UNKNOWN;
9
+ export type MappedChainTokenAccessList = {
10
+ chainTokens?: {
11
+ [chainId in SupportedChain]?: SupportedTokens[];
12
+ };
13
+ };
14
+ export type UnmappedChainTokenAccessList = {
15
+ chainIds?: SupportedChain[];
16
+ tokens?: SupportedTokens[];
17
+ };
18
+ export type AccountAccessList = MappedChainTokenAccessList | UnmappedChainTokenAccessList;
14
19
  type ClaimStatus = 'PENDING' | 'EXPIRED' | 'CLAIMED';
15
20
  interface Claim {
16
21
  depositId: bigint;
@@ -19,7 +24,7 @@ interface Claim {
19
24
  claimTimestamp?: number;
20
25
  claimTransactionHash?: Hex;
21
26
  }
22
- export interface Execution {
27
+ interface Execution {
23
28
  to: Address;
24
29
  value: bigint;
25
30
  data: Hex;
@@ -36,7 +41,7 @@ type SimulationResult = {
36
41
  functionName: string;
37
42
  };
38
43
  };
39
- export type PostOrderBundleResult = ({
44
+ type PostOrderBundleResult = ({
40
45
  bundleId: bigint;
41
46
  status: typeof BUNDLE_STATUS_PENDING;
42
47
  } | {
@@ -44,7 +49,7 @@ export type PostOrderBundleResult = ({
44
49
  status: typeof BUNDLE_STATUS_FAILED;
45
50
  error: SimulationResult;
46
51
  })[];
47
- export interface BundleResult {
52
+ interface BundleResult {
48
53
  status: BundleStatus;
49
54
  fillTimestamp?: number;
50
55
  fillTransactionHash?: Hex;
@@ -76,10 +81,14 @@ interface MetaIntentBase {
76
81
  }[];
77
82
  omniLock?: boolean;
78
83
  }
79
- export type MetaIntentEmpty = MetaIntentBase & WithoutOperation;
80
- export type MetaIntentWithUserOp = MetaIntentBase & WithUserOp;
81
- export type MetaIntentWithExecutions = MetaIntentBase & WithExecutions;
82
- export type MetaIntent = MetaIntentEmpty | MetaIntentWithUserOp | MetaIntentWithExecutions;
84
+ type OrderPath = {
85
+ orderBundle: MultiChainCompact;
86
+ injectedExecutions: Execution[];
87
+ }[];
88
+ type MetaIntentEmpty = MetaIntentBase & WithoutOperation;
89
+ type MetaIntentWithUserOp = MetaIntentBase & WithUserOp;
90
+ type MetaIntentWithExecutions = MetaIntentBase & WithExecutions;
91
+ type MetaIntent = MetaIntentEmpty | MetaIntentWithUserOp | MetaIntentWithExecutions;
83
92
  type ChainExecution = Execution & {
84
93
  chainId: number;
85
94
  };
@@ -100,13 +109,13 @@ interface DepositEvent {
100
109
  exclusiveRelayer: Address;
101
110
  message: Hex;
102
111
  }
103
- export interface BundleEvent {
112
+ interface BundleEvent {
104
113
  bundleId: bigint;
105
114
  type: string;
106
115
  targetFillPayload: ChainExecution;
107
116
  acrossDepositEvents: DepositEvent[];
108
117
  }
109
- export interface Witness {
118
+ interface Witness {
110
119
  recipient: Address;
111
120
  tokenOut: [bigint, bigint][];
112
121
  depositId: bigint;
@@ -116,23 +125,23 @@ export interface Witness {
116
125
  userOpHash: Hex;
117
126
  maxFeeBps: number;
118
127
  }
119
- export interface Segment {
128
+ interface Segment {
120
129
  arbiter: Address;
121
130
  chainId: bigint;
122
131
  idsAndAmounts: [bigint, bigint][];
123
132
  witness: Witness;
124
133
  }
125
- export interface MultiChainCompact {
134
+ interface MultiChainCompact {
126
135
  sponsor: Address;
127
136
  nonce: bigint;
128
137
  expires: bigint;
129
138
  segments: Segment[];
130
139
  }
131
- export interface SignedMultiChainCompact extends MultiChainCompact {
140
+ interface SignedMultiChainCompact extends MultiChainCompact {
132
141
  originSignatures: Hex[];
133
142
  targetSignature: Hex;
134
143
  }
135
- export interface UserTokenBalance {
144
+ interface UserTokenBalance {
136
145
  tokenName: string;
137
146
  tokenDecimals: number;
138
147
  balance: bigint;
@@ -142,6 +151,13 @@ export interface UserTokenBalance {
142
151
  balance: bigint;
143
152
  }[];
144
153
  }
145
- export type TokenArrays6909 = readonly (readonly [bigint, bigint])[];
146
- export {};
154
+ type TokenArrays6909 = readonly (readonly [bigint, bigint])[];
155
+ declare const BUNDLE_STATUS_PENDING = "PENDING";
156
+ declare const BUNDLE_STATUS_FAILED = "FAILED";
157
+ declare const BUNDLE_STATUS_EXPIRED = "EXPIRED";
158
+ declare const BUNDLE_STATUS_PARTIALLY_COMPLETED = "PARTIALLY_COMPLETED";
159
+ declare const BUNDLE_STATUS_COMPLETED = "COMPLETED";
160
+ declare const BUNDLE_STATUS_UNKNOWN = "UNKNOWN";
161
+ export type { SupportedChain, BundleStatus, PostOrderBundleResult, MetaIntentEmpty, MetaIntentWithUserOp, MetaIntentWithExecutions, MetaIntent, TokenArrays6909, Execution, BundleResult, BundleEvent, Witness, Segment, MultiChainCompact, SignedMultiChainCompact, UserTokenBalance, OrderPath, };
162
+ export { BUNDLE_STATUS_PENDING, BUNDLE_STATUS_FAILED, BUNDLE_STATUS_EXPIRED, BUNDLE_STATUS_PARTIALLY_COMPLETED, BUNDLE_STATUS_COMPLETED, BUNDLE_STATUS_UNKNOWN, };
147
163
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../orchestrator/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,EACL,OAAO,EACP,WAAW,EACX,eAAe,EACf,eAAe,EACf,WAAW,EACX,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,OAAO,EACR,MAAM,aAAa,CAAA;AAEpB,KAAK,gBAAgB,GACjB,OAAO,OAAO,CAAC,EAAE,GACjB,OAAO,WAAW,CAAC,EAAE,GACrB,OAAO,eAAe,CAAC,EAAE,GACzB,OAAO,eAAe,CAAC,EAAE,GACzB,OAAO,WAAW,CAAC,EAAE,CAAA;AACzB,KAAK,gBAAgB,GACjB,OAAO,OAAO,CAAC,EAAE,GACjB,OAAO,IAAI,CAAC,EAAE,GACd,OAAO,QAAQ,CAAC,EAAE,GAClB,OAAO,QAAQ,CAAC,EAAE,GAClB,OAAO,OAAO,CAAC,EAAE,CAAA;AACrB,MAAM,MAAM,cAAc,GAAG,gBAAgB,GAAG,gBAAgB,CAAA;AAEhE,eAAO,MAAM,qBAAqB,YAAY,CAAA;AAC9C,eAAO,MAAM,oBAAoB,WAAW,CAAA;AAC5C,eAAO,MAAM,qBAAqB,YAAY,CAAA;AAC9C,eAAO,MAAM,iCAAiC,wBAAwB,CAAA;AACtE,eAAO,MAAM,uBAAuB,cAAc,CAAA;AAClD,eAAO,MAAM,qBAAqB,YAAY,CAAA;AAE9C,MAAM,MAAM,YAAY,GACpB,OAAO,qBAAqB,GAC5B,OAAO,qBAAqB,GAC5B,OAAO,iCAAiC,GACxC,OAAO,uBAAuB,GAC9B,OAAO,oBAAoB,GAC3B,OAAO,qBAAqB,CAAA;AAEhC,KAAK,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAA;AAEpD,UAAU,KAAK;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,WAAW,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,oBAAoB,CAAC,EAAE,GAAG,CAAA;CAC3B;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,OAAO,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,GAAG,CAAA;CACV;AAED,KAAK,gBAAgB,GACjB;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,GACjB;IACE,OAAO,EAAE,KAAK,CAAA;IACd,IAAI,EAAE,SAAS,CAAA;IACf,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAA;QACf,eAAe,EAAE,OAAO,CAAA;QACxB,IAAI,EAAE,GAAG,EAAE,CAAA;QACX,YAAY,EAAE,MAAM,CAAA;KACrB,CAAA;CACF,CAAA;AAEL,MAAM,MAAM,qBAAqB,GAAG,CAChC;IACE,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,OAAO,qBAAqB,CAAA;CACrC,GACD;IACE,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,OAAO,oBAAoB,CAAA;IACnC,KAAK,EAAE,gBAAgB,CAAA;CACxB,CACJ,EAAE,CAAA;AAEH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,YAAY,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,mBAAmB,CAAC,EAAE,GAAG,CAAA;IACzB,MAAM,EAAE,KAAK,EAAE,CAAA;CAChB;AAED,UAAU,aAAa;IACrB,YAAY,EAAE,OAAO,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,UAAU,UAAU;IAClB,MAAM,EAAE,aAAa,CAAA;IACrB,gBAAgB,CAAC,EAAE,KAAK,CAAA;CACzB;AAED,UAAU,cAAc;IACtB,MAAM,CAAC,EAAE,KAAK,CAAA;IACd,gBAAgB,EAAE,SAAS,EAAE,CAAA;CAC9B;AAED,UAAU,gBAAgB;IACxB,MAAM,CAAC,EAAE,KAAK,CAAA;IACd,gBAAgB,CAAC,EAAE,KAAK,CAAA;CACzB;AAED,UAAU,cAAc;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,aAAa,EAAE,CAAA;IAC/B,aAAa,EAAE,OAAO,CAAA;IACtB,iBAAiB,CAAC,EAAE;QAClB,OAAO,EAAE,MAAM,CAAA;QACf,YAAY,EAAE,OAAO,CAAA;KACtB,EAAE,CAAA;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG,gBAAgB,CAAA;AAC/D,MAAM,MAAM,oBAAoB,GAAG,cAAc,GAAG,UAAU,CAAA;AAC9D,MAAM,MAAM,wBAAwB,GAAG,cAAc,GAAG,cAAc,CAAA;AAEtE,MAAM,MAAM,UAAU,GAClB,eAAe,GACf,oBAAoB,GACpB,wBAAwB,CAAA;AAE5B,KAAK,cAAc,GAAG,SAAS,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAErD,UAAU,YAAY;IACpB,kBAAkB,EAAE,cAAc,CAAA;IAClC,UAAU,EAAE,OAAO,CAAA;IACnB,WAAW,EAAE,OAAO,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,MAAM,CAAA;IACpB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,SAAS,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,OAAO,CAAA;IAClB,gBAAgB,EAAE,OAAO,CAAA;IACzB,OAAO,EAAE,GAAG,CAAA;CACb;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,iBAAiB,EAAE,cAAc,CAAA;IACjC,mBAAmB,EAAE,YAAY,EAAE,CAAA;CACpC;AAED,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,SAAS,EAAE,CAAA;IAClB,UAAU,EAAE,GAAG,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;IACjC,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,OAAO,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,uBAAwB,SAAQ,iBAAiB;IAChE,gBAAgB,EAAE,GAAG,EAAE,CAAA;IACvB,eAAe,EAAE,GAAG,CAAA;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,iBAAiB,EAAE;QACjB,OAAO,EAAE,MAAM,CAAA;QACf,YAAY,EAAE,OAAO,CAAA;QACrB,OAAO,EAAE,MAAM,CAAA;KAChB,EAAE,CAAA;CACJ;AAED,MAAM,MAAM,eAAe,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../orchestrator/types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- export const BUNDLE_STATUS_PENDING = 'PENDING';
2
- export const BUNDLE_STATUS_FAILED = 'FAILED';
3
- export const BUNDLE_STATUS_EXPIRED = 'EXPIRED';
4
- export const BUNDLE_STATUS_PARTIALLY_COMPLETED = 'PARTIALLY_COMPLETED';
5
- export const BUNDLE_STATUS_COMPLETED = 'COMPLETED';
6
- export const BUNDLE_STATUS_UNKNOWN = 'UNKNOWN';
1
+ const BUNDLE_STATUS_PENDING = 'PENDING';
2
+ const BUNDLE_STATUS_FAILED = 'FAILED';
3
+ const BUNDLE_STATUS_EXPIRED = 'EXPIRED';
4
+ const BUNDLE_STATUS_PARTIALLY_COMPLETED = 'PARTIALLY_COMPLETED';
5
+ const BUNDLE_STATUS_COMPLETED = 'COMPLETED';
6
+ const BUNDLE_STATUS_UNKNOWN = 'UNKNOWN';
7
+ export { BUNDLE_STATUS_PENDING, BUNDLE_STATUS_FAILED, BUNDLE_STATUS_EXPIRED, BUNDLE_STATUS_PARTIALLY_COMPLETED, BUNDLE_STATUS_COMPLETED, BUNDLE_STATUS_UNKNOWN, };
@@ -1,7 +1,11 @@
1
1
  import { Hex } from 'viem';
2
+ import { UserOperation } from 'viem/account-abstraction';
2
3
  import { BundleEvent, MultiChainCompact } from './types';
3
- export declare function getOrderBundleHash(orderBundle: MultiChainCompact): Hex;
4
- export declare function convertBigIntFields(obj: any): any;
5
- export declare function parseCompactResponse(response: any): MultiChainCompact;
6
- export declare function parsePendingBundleEvent(response: any): BundleEvent;
4
+ declare function getEmptyUserOp(): UserOperation<'0.7'>;
5
+ declare function getOrderBundleHash(orderBundle: MultiChainCompact): Hex;
6
+ declare function convertBigIntFields(obj: any): any;
7
+ declare function parseCompactResponse(response: any): MultiChainCompact;
8
+ declare function parsePendingBundleEvent(response: any): BundleEvent;
9
+ declare function hashMultichainCompactWithoutDomainSeparator(multiChainCompact: MultiChainCompact): Hex;
10
+ export { getEmptyUserOp, getOrderBundleHash, convertBigIntFields, parseCompactResponse, parsePendingBundleEvent, hashMultichainCompactWithoutDomainSeparator, };
7
11
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../orchestrator/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,GAAG,EAGJ,MAAM,MAAM,CAAA;AAEb,OAAO,EACL,WAAW,EAEX,iBAAiB,EAIlB,MAAM,SAAS,CAAA;AAYhB,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,iBAAiB,GAAG,GAAG,CAMtE;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAwBjD;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,GAAG,GAAG,iBAAiB,CAiCrE;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,GAAG,GAAG,WAAW,CAkClE"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../orchestrator/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,GAAG,EAIJ,MAAM,MAAM,CAAA;AACb,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAIxD,OAAO,EACL,WAAW,EAEX,iBAAiB,EAIlB,MAAM,SAAS,CAAA;AAWhB,iBAAS,cAAc,IAAI,aAAa,CAAC,KAAK,CAAC,CAY9C;AAED,iBAAS,kBAAkB,CAAC,WAAW,EAAE,iBAAiB,GAAG,GAAG,CAM/D;AAED,iBAAS,mBAAmB,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAwB1C;AAED,iBAAS,oBAAoB,CAAC,QAAQ,EAAE,GAAG,GAAG,iBAAiB,CAiC9D;AAED,iBAAS,uBAAuB,CAAC,QAAQ,EAAE,GAAG,GAAG,WAAW,CAkC3D;AAkBD,iBAAS,2CAA2C,CAClD,iBAAiB,EAAE,iBAAiB,GACnC,GAAG,CAmBL;AAyGD,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,2CAA2C,GAC5C,CAAA"}
@@ -1,14 +1,27 @@
1
- import { domainSeparator, encodeAbiParameters, encodePacked, keccak256, } from 'viem';
1
+ import { domainSeparator, encodeAbiParameters, encodePacked, keccak256, zeroAddress, } from 'viem';
2
2
  import { HOOK_ADDRESS } from '../modules';
3
3
  const MULTICHAIN_COMPACT_TYPEHASH = '0xee54591377b86e048be6b2fbd8913598a6270aed3415776321279495bf4efae5';
4
4
  const SEGMENT_TYPEHASH = '0x54ada5b33a7390e2883c985295cfa2dcd9bb46515ad10cbdfc22a7c73f9807db';
5
5
  const WITNESS_TYPEHASH = '0x78e29a727cef567e7d6dddf5bf7eedf0c84af60d4a57512c586c787aae731629';
6
6
  const EXECUTION_TYPEHASH = '0xa222cbaaad3b88446c3ca031429dafb24afdbda10c5dbd9882c294762857141a';
7
- export function getOrderBundleHash(orderBundle) {
7
+ function getEmptyUserOp() {
8
+ return {
9
+ sender: zeroAddress,
10
+ nonce: 0n,
11
+ callData: '0x',
12
+ preVerificationGas: 0n,
13
+ maxFeePerGas: 0n,
14
+ maxPriorityFeePerGas: 0n,
15
+ verificationGasLimit: 0n,
16
+ callGasLimit: 0n,
17
+ signature: '0x',
18
+ };
19
+ }
20
+ function getOrderBundleHash(orderBundle) {
8
21
  const notarizedChainId = Number(orderBundle.segments[0].chainId);
9
22
  return hashMultiChainCompactWithDomainSeparator(orderBundle, getCompactDomainSeparator(notarizedChainId, HOOK_ADDRESS));
10
23
  }
11
- export function convertBigIntFields(obj) {
24
+ function convertBigIntFields(obj) {
12
25
  if (obj === null || obj === undefined) {
13
26
  return obj;
14
27
  }
@@ -29,7 +42,7 @@ export function convertBigIntFields(obj) {
29
42
  }
30
43
  return obj;
31
44
  }
32
- export function parseCompactResponse(response) {
45
+ function parseCompactResponse(response) {
33
46
  return {
34
47
  sponsor: response.sponsor,
35
48
  nonce: BigInt(response.nonce),
@@ -63,7 +76,7 @@ export function parseCompactResponse(response) {
63
76
  }),
64
77
  };
65
78
  }
66
- export function parsePendingBundleEvent(response) {
79
+ function parsePendingBundleEvent(response) {
67
80
  return {
68
81
  type: response.type,
69
82
  bundleId: BigInt(response.bundleId),
@@ -194,3 +207,4 @@ function hashExecution(execution) {
194
207
  keccak256(execution.data),
195
208
  ]));
196
209
  }
210
+ export { getEmptyUserOp, getOrderBundleHash, convertBigIntFields, parseCompactResponse, parsePendingBundleEvent, hashMultichainCompactWithoutDomainSeparator, };
package/dist/types.d.ts CHANGED
@@ -14,6 +14,53 @@ interface BundlerConfig {
14
14
  apiKey: string;
15
15
  }
16
16
  type OwnerSet = OwnableValidatorConfig | WebauthnValidatorConfig;
17
+ interface SudoPolicy {
18
+ type: 'sudo';
19
+ }
20
+ interface UniversalActionPolicy {
21
+ type: 'universal-action';
22
+ valueLimitPerUse?: bigint;
23
+ rules: [UniversalActionPolicyParamRule, ...UniversalActionPolicyParamRule[]];
24
+ }
25
+ interface UniversalActionPolicyParamRule {
26
+ condition: UniversalActionPolicyParamCondition;
27
+ calldataOffset: bigint;
28
+ usageLimit?: bigint;
29
+ referenceValue: Hex | bigint;
30
+ }
31
+ type UniversalActionPolicyParamCondition = 'equal' | 'greaterThan' | 'lessThan' | 'greaterThanOrEqual' | 'lessThanOrEqual' | 'notEqual' | 'inRange';
32
+ interface SpendingLimitsPolicy {
33
+ type: 'spending-limits';
34
+ limits: {
35
+ token: Address;
36
+ amount: bigint;
37
+ }[];
38
+ }
39
+ interface TimeFramePolicy {
40
+ type: 'time-frame';
41
+ validUntil: number;
42
+ validAfter: number;
43
+ }
44
+ interface UsageLimitPolicy {
45
+ type: 'usage-limit';
46
+ limit: bigint;
47
+ }
48
+ interface ValueLimitPolicy {
49
+ type: 'value-limit';
50
+ limit: bigint;
51
+ }
52
+ type Policy = SudoPolicy | UniversalActionPolicy | SpendingLimitsPolicy | TimeFramePolicy | UsageLimitPolicy | ValueLimitPolicy;
53
+ interface Action {
54
+ target: Address;
55
+ selector: Hex;
56
+ policies?: [Policy, ...Policy[]];
57
+ }
58
+ interface Session {
59
+ owners: OwnerSet;
60
+ policies?: [Policy, ...Policy[]];
61
+ actions?: [Action, ...Action[]];
62
+ salt?: Hex;
63
+ }
17
64
  interface RhinestoneAccountConfig {
18
65
  account: {
19
66
  type: 'safe' | 'nexus';
@@ -21,6 +68,7 @@ interface RhinestoneAccountConfig {
21
68
  owners: OwnerSet;
22
69
  rhinestoneApiKey: string;
23
70
  deployerAccount: Account;
71
+ sessions?: Session[];
24
72
  eoa?: Account;
25
73
  provider?: {
26
74
  type: 'alchemy';
@@ -37,11 +85,23 @@ interface TokenRequest {
37
85
  address: Address;
38
86
  amount: bigint;
39
87
  }
40
- interface Transaction {
41
- sourceChain: Chain;
42
- targetChain: Chain;
88
+ interface SessionSignerSet {
89
+ type: 'session';
90
+ session: Session;
91
+ }
92
+ type SignerSet = SessionSignerSet;
93
+ interface BaseTransaction {
43
94
  calls: Call[];
44
95
  tokenRequests: TokenRequest[];
96
+ signers?: SignerSet;
97
+ }
98
+ interface SameChainTransaction extends BaseTransaction {
99
+ chain: Chain;
100
+ }
101
+ interface CrossChainTransaction extends BaseTransaction {
102
+ sourceChain: Chain;
103
+ targetChain: Chain;
45
104
  }
46
- export type { RhinestoneAccountConfig, BundlerConfig, Transaction, OwnerSet };
105
+ type Transaction = SameChainTransaction | CrossChainTransaction;
106
+ export type { RhinestoneAccountConfig, BundlerConfig, Transaction, Call, TokenRequest, OwnerSet, SignerSet, Session, Policy, UniversalActionPolicyParamCondition, };
47
107
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAE1D,UAAU,sBAAsB;IAC9B,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,UAAU,uBAAuB;IAC/B,IAAI,EAAE,SAAS,CAAA;IACf,OAAO,EAAE,eAAe,CAAA;CACzB;AAED,UAAU,aAAa;IACrB,IAAI,EAAE,SAAS,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;CACf;AAED,KAAK,QAAQ,GAAG,sBAAsB,GAAG,uBAAuB,CAAA;AAChE,UAAU,uBAAuB;IAC/B,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;KACvB,CAAA;IACD,MAAM,EAAE,QAAQ,CAAA;IAChB,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,OAAO,CAAA;IACxB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,SAAS,CAAA;QACf,MAAM,EAAE,MAAM,CAAA;KACf,CAAA;IACD,OAAO,CAAC,EAAE,aAAa,CAAA;CACxB;AAED,UAAU,IAAI;IACZ,EAAE,EAAE,OAAO,CAAA;IACX,IAAI,CAAC,EAAE,GAAG,CAAA;IACV,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,UAAU,YAAY;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,UAAU,WAAW;IACnB,WAAW,EAAE,KAAK,CAAA;IAClB,WAAW,EAAE,KAAK,CAAA;IAClB,KAAK,EAAE,IAAI,EAAE,CAAA;IACb,aAAa,EAAE,YAAY,EAAE,CAAA;CAC9B;AAED,YAAY,EAAE,uBAAuB,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rhinestone/sdk",
3
- "version": "0.2.1",
3
+ "version": "0.4.0",
4
4
  "description": "End-to-end chain abstraction and modularity toolkit",
5
5
  "author": {
6
6
  "name": "Rhinestone",
package/dist/example.d.ts DELETED
@@ -1 +0,0 @@
1
- //# sourceMappingURL=example.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"example.d.ts","sourceRoot":"","sources":["../example.ts"],"names":[],"mappings":""}