@rhinestone/sdk 0.0.0-dev-20260204114155

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 (206) hide show
  1. package/README.md +83 -0
  2. package/dist/src/accounts/error.d.ts +114 -0
  3. package/dist/src/accounts/error.d.ts.map +1 -0
  4. package/dist/src/accounts/error.js +174 -0
  5. package/dist/src/accounts/index.d.ts +48 -0
  6. package/dist/src/accounts/index.d.ts.map +1 -0
  7. package/dist/src/accounts/index.js +643 -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 +33 -0
  11. package/dist/src/accounts/json-rpc/index.d.ts +5 -0
  12. package/dist/src/accounts/json-rpc/index.d.ts.map +1 -0
  13. package/dist/src/accounts/json-rpc/index.js +20 -0
  14. package/dist/src/accounts/json-rpc/index.test.d.ts +2 -0
  15. package/dist/src/accounts/json-rpc/index.test.d.ts.map +1 -0
  16. package/dist/src/accounts/json-rpc/index.test.js +33 -0
  17. package/dist/src/accounts/json-rpc/providers.d.ts +5 -0
  18. package/dist/src/accounts/json-rpc/providers.d.ts.map +1 -0
  19. package/dist/src/accounts/json-rpc/providers.js +22 -0
  20. package/dist/src/accounts/json-rpc/providers.test.d.ts +2 -0
  21. package/dist/src/accounts/json-rpc/providers.test.d.ts.map +1 -0
  22. package/dist/src/accounts/json-rpc/providers.test.js +43 -0
  23. package/dist/src/accounts/kernel.d.ts +27 -0
  24. package/dist/src/accounts/kernel.d.ts.map +1 -0
  25. package/dist/src/accounts/kernel.js +281 -0
  26. package/dist/src/accounts/kernel.test.d.ts +2 -0
  27. package/dist/src/accounts/kernel.test.d.ts.map +1 -0
  28. package/dist/src/accounts/kernel.test.js +132 -0
  29. package/dist/src/accounts/nexus.d.ts +33 -0
  30. package/dist/src/accounts/nexus.d.ts.map +1 -0
  31. package/dist/src/accounts/nexus.js +455 -0
  32. package/dist/src/accounts/nexus.test.d.ts +2 -0
  33. package/dist/src/accounts/nexus.test.d.ts.map +1 -0
  34. package/dist/src/accounts/nexus.test.js +118 -0
  35. package/dist/src/accounts/passport.d.ts +9 -0
  36. package/dist/src/accounts/passport.d.ts.map +1 -0
  37. package/dist/src/accounts/passport.js +82 -0
  38. package/dist/src/accounts/safe.d.ts +33 -0
  39. package/dist/src/accounts/safe.d.ts.map +1 -0
  40. package/dist/src/accounts/safe.js +349 -0
  41. package/dist/src/accounts/safe.test.d.ts +2 -0
  42. package/dist/src/accounts/safe.test.d.ts.map +1 -0
  43. package/dist/src/accounts/safe.test.js +118 -0
  44. package/dist/src/accounts/signing/common.d.ts +27 -0
  45. package/dist/src/accounts/signing/common.d.ts.map +1 -0
  46. package/dist/src/accounts/signing/common.js +190 -0
  47. package/dist/src/accounts/signing/message.d.ts +5 -0
  48. package/dist/src/accounts/signing/message.d.ts.map +1 -0
  49. package/dist/src/accounts/signing/message.js +47 -0
  50. package/dist/src/accounts/signing/passkeys.d.ts +36 -0
  51. package/dist/src/accounts/signing/passkeys.d.ts.map +1 -0
  52. package/dist/src/accounts/signing/passkeys.js +125 -0
  53. package/dist/src/accounts/signing/passkeys.test.d.ts +2 -0
  54. package/dist/src/accounts/signing/passkeys.test.d.ts.map +1 -0
  55. package/dist/src/accounts/signing/passkeys.test.js +88 -0
  56. package/dist/src/accounts/signing/typedData.d.ts +5 -0
  57. package/dist/src/accounts/signing/typedData.d.ts.map +1 -0
  58. package/dist/src/accounts/signing/typedData.js +35 -0
  59. package/dist/src/accounts/startale.d.ts +25 -0
  60. package/dist/src/accounts/startale.d.ts.map +1 -0
  61. package/dist/src/accounts/startale.js +112 -0
  62. package/dist/src/accounts/startale.test.d.ts +2 -0
  63. package/dist/src/accounts/startale.test.d.ts.map +1 -0
  64. package/dist/src/accounts/startale.test.js +92 -0
  65. package/dist/src/accounts/utils.d.ts +33 -0
  66. package/dist/src/accounts/utils.d.ts.map +1 -0
  67. package/dist/src/accounts/utils.js +208 -0
  68. package/dist/src/accounts/utils.test.d.ts +2 -0
  69. package/dist/src/accounts/utils.test.d.ts.map +1 -0
  70. package/dist/src/accounts/utils.test.js +49 -0
  71. package/dist/src/accounts/walletClient.d.ts +34 -0
  72. package/dist/src/accounts/walletClient.d.ts.map +1 -0
  73. package/dist/src/accounts/walletClient.js +121 -0
  74. package/dist/src/actions/compact.d.ts +15 -0
  75. package/dist/src/actions/compact.d.ts.map +1 -0
  76. package/dist/src/actions/compact.js +213 -0
  77. package/dist/src/actions/deployment.d.ts +19 -0
  78. package/dist/src/actions/deployment.d.ts.map +1 -0
  79. package/dist/src/actions/deployment.js +78 -0
  80. package/dist/src/actions/ecdsa.d.ts +35 -0
  81. package/dist/src/actions/ecdsa.d.ts.map +1 -0
  82. package/dist/src/actions/ecdsa.js +114 -0
  83. package/dist/src/actions/ecdsa.test.d.ts +2 -0
  84. package/dist/src/actions/ecdsa.test.d.ts.map +1 -0
  85. package/dist/src/actions/ecdsa.test.js +99 -0
  86. package/dist/src/actions/index.d.ts +17 -0
  87. package/dist/src/actions/index.d.ts.map +1 -0
  88. package/dist/src/actions/index.js +53 -0
  89. package/dist/src/actions/mfa.d.ts +37 -0
  90. package/dist/src/actions/mfa.d.ts.map +1 -0
  91. package/dist/src/actions/mfa.js +133 -0
  92. package/dist/src/actions/passkeys.d.ts +37 -0
  93. package/dist/src/actions/passkeys.d.ts.map +1 -0
  94. package/dist/src/actions/passkeys.js +129 -0
  95. package/dist/src/actions/passkeys.test.d.ts +2 -0
  96. package/dist/src/actions/passkeys.test.d.ts.map +1 -0
  97. package/dist/src/actions/passkeys.test.js +54 -0
  98. package/dist/src/actions/recovery.d.ts +33 -0
  99. package/dist/src/actions/recovery.d.ts.map +1 -0
  100. package/dist/src/actions/recovery.js +193 -0
  101. package/dist/src/actions/recovery.test.d.ts +2 -0
  102. package/dist/src/actions/recovery.test.d.ts.map +1 -0
  103. package/dist/src/actions/recovery.test.js +168 -0
  104. package/dist/src/actions/smart-sessions.d.ts +23 -0
  105. package/dist/src/actions/smart-sessions.d.ts.map +1 -0
  106. package/dist/src/actions/smart-sessions.js +52 -0
  107. package/dist/src/errors/index.d.ts +5 -0
  108. package/dist/src/errors/index.d.ts.map +1 -0
  109. package/dist/src/errors/index.js +54 -0
  110. package/dist/src/execution/compact.d.ts +148 -0
  111. package/dist/src/execution/compact.d.ts.map +1 -0
  112. package/dist/src/execution/compact.js +120 -0
  113. package/dist/src/execution/error.d.ts +55 -0
  114. package/dist/src/execution/error.d.ts.map +1 -0
  115. package/dist/src/execution/error.js +78 -0
  116. package/dist/src/execution/index.d.ts +41 -0
  117. package/dist/src/execution/index.d.ts.map +1 -0
  118. package/dist/src/execution/index.js +230 -0
  119. package/dist/src/execution/permit2.d.ts +143 -0
  120. package/dist/src/execution/permit2.d.ts.map +1 -0
  121. package/dist/src/execution/permit2.js +285 -0
  122. package/dist/src/execution/singleChainOps.d.ts +40 -0
  123. package/dist/src/execution/singleChainOps.d.ts.map +1 -0
  124. package/dist/src/execution/singleChainOps.js +46 -0
  125. package/dist/src/execution/types.d.ts +36 -0
  126. package/dist/src/execution/types.d.ts.map +1 -0
  127. package/dist/src/execution/types.js +2 -0
  128. package/dist/src/execution/utils.d.ts +87 -0
  129. package/dist/src/execution/utils.d.ts.map +1 -0
  130. package/dist/src/execution/utils.js +783 -0
  131. package/dist/src/index.d.ts +76 -0
  132. package/dist/src/index.d.ts.map +1 -0
  133. package/dist/src/index.js +319 -0
  134. package/dist/src/modules/abi/smart-session-emissary.d.ts +696 -0
  135. package/dist/src/modules/abi/smart-session-emissary.d.ts.map +1 -0
  136. package/dist/src/modules/abi/smart-session-emissary.js +565 -0
  137. package/dist/src/modules/abi/smart-sessions.d.ts +104 -0
  138. package/dist/src/modules/abi/smart-sessions.d.ts.map +1 -0
  139. package/dist/src/modules/abi/smart-sessions.js +131 -0
  140. package/dist/src/modules/chain-abstraction.d.ts +5 -0
  141. package/dist/src/modules/chain-abstraction.d.ts.map +1 -0
  142. package/dist/src/modules/chain-abstraction.js +7 -0
  143. package/dist/src/modules/common.d.ts +30 -0
  144. package/dist/src/modules/common.d.ts.map +1 -0
  145. package/dist/src/modules/common.js +42 -0
  146. package/dist/src/modules/index.d.ts +11 -0
  147. package/dist/src/modules/index.d.ts.map +1 -0
  148. package/dist/src/modules/index.js +97 -0
  149. package/dist/src/modules/index.test.d.ts +2 -0
  150. package/dist/src/modules/index.test.d.ts.map +1 -0
  151. package/dist/src/modules/index.test.js +81 -0
  152. package/dist/src/modules/legacy.d.ts +10 -0
  153. package/dist/src/modules/legacy.d.ts.map +1 -0
  154. package/dist/src/modules/legacy.js +65 -0
  155. package/dist/src/modules/read.d.ts +9 -0
  156. package/dist/src/modules/read.d.ts.map +1 -0
  157. package/dist/src/modules/read.js +125 -0
  158. package/dist/src/modules/validators/core.d.ts +31 -0
  159. package/dist/src/modules/validators/core.d.ts.map +1 -0
  160. package/dist/src/modules/validators/core.js +284 -0
  161. package/dist/src/modules/validators/core.test.d.ts +2 -0
  162. package/dist/src/modules/validators/core.test.d.ts.map +1 -0
  163. package/dist/src/modules/validators/core.test.js +101 -0
  164. package/dist/src/modules/validators/index.d.ts +4 -0
  165. package/dist/src/modules/validators/index.d.ts.map +1 -0
  166. package/dist/src/modules/validators/index.js +10 -0
  167. package/dist/src/modules/validators/smart-sessions.d.ts +185 -0
  168. package/dist/src/modules/validators/smart-sessions.d.ts.map +1 -0
  169. package/dist/src/modules/validators/smart-sessions.js +624 -0
  170. package/dist/src/orchestrator/client.d.ts +22 -0
  171. package/dist/src/orchestrator/client.d.ts.map +1 -0
  172. package/dist/src/orchestrator/client.js +360 -0
  173. package/dist/src/orchestrator/consts.d.ts +5 -0
  174. package/dist/src/orchestrator/consts.d.ts.map +1 -0
  175. package/dist/src/orchestrator/consts.js +9 -0
  176. package/dist/src/orchestrator/error.d.ts +242 -0
  177. package/dist/src/orchestrator/error.d.ts.map +1 -0
  178. package/dist/src/orchestrator/error.js +283 -0
  179. package/dist/src/orchestrator/index.d.ts +10 -0
  180. package/dist/src/orchestrator/index.d.ts.map +1 -0
  181. package/dist/src/orchestrator/index.js +58 -0
  182. package/dist/src/orchestrator/registry.d.ts +22 -0
  183. package/dist/src/orchestrator/registry.d.ts.map +1 -0
  184. package/dist/src/orchestrator/registry.js +116 -0
  185. package/dist/src/orchestrator/registry.test.d.ts +2 -0
  186. package/dist/src/orchestrator/registry.test.d.ts.map +1 -0
  187. package/dist/src/orchestrator/registry.test.js +154 -0
  188. package/dist/src/orchestrator/types.d.ts +322 -0
  189. package/dist/src/orchestrator/types.d.ts.map +1 -0
  190. package/dist/src/orchestrator/types.js +31 -0
  191. package/dist/src/orchestrator/utils.d.ts +3 -0
  192. package/dist/src/orchestrator/utils.d.ts.map +1 -0
  193. package/dist/src/orchestrator/utils.js +24 -0
  194. package/dist/src/types.d.ts +296 -0
  195. package/dist/src/types.d.ts.map +1 -0
  196. package/dist/src/types.js +2 -0
  197. package/dist/src/utils/index.d.ts +26 -0
  198. package/dist/src/utils/index.d.ts.map +1 -0
  199. package/dist/src/utils/index.js +63 -0
  200. package/dist/test/consts.d.ts +10 -0
  201. package/dist/test/consts.d.ts.map +1 -0
  202. package/dist/test/consts.js +22 -0
  203. package/dist/test/utils/utils.d.ts +5 -0
  204. package/dist/test/utils/utils.d.ts.map +1 -0
  205. package/dist/test/utils/utils.js +20 -0
  206. package/package.json +161 -0
package/README.md ADDED
@@ -0,0 +1,83 @@
1
+ # Rhinestone SDK
2
+
3
+ > End-to-end chain abstraction and modularity toolkit
4
+
5
+ Rhinestone is a vertically integrated smart wallet and crosschain liquidity platform. The SDK provides a unified interface for deploying and managing self-custodial smart accounts, powered by an intent-based transaction infrastructure that enables seamless crosschain execution without bridging or gas tokens.
6
+
7
+ The platform combines modular [smart account tooling](https://docs.rhinestone.dev/smart-wallet/core/create-account) with an intent engine ([Warp](https://docs.rhinestone.dev/home/introduction/rhinestone-intents)) that aggregates settlement layers through a unified relayer market. This handles routing, token liquidity, and crosschain orchestration across all [supported chains](https://docs.rhinestone.dev/home/resources/supported-chains).
8
+
9
+ [Documentation](https://docs.rhinestone.dev)
10
+
11
+ ## Features
12
+
13
+
14
+ - **Crosschain Transactions** - Execute transactions on any target chain using assets from any source chain. The orchestrator handles routing and settlement. [Learn more](https://docs.rhinestone.dev/smart-wallet/chain-abstraction/multi-chain-intent)
15
+
16
+ - **Swaps** - Token exchanges via solver-based swaps or injected DEX aggregator swaps, integrated into crosschain transaction execution. [Learn more](https://docs.rhinestone.dev/smart-wallet/chain-abstraction/swaps)
17
+
18
+ - **Passkeys** - WebAuthn-based authentication for smart accounts, replacing seed phrases with device biometrics. [Learn more](https://docs.rhinestone.dev/smart-wallet/core/passkeys)
19
+
20
+ - **Smart Sessions** - Onchain permissions system for scoped transaction automation, enabling one-click UX and server-side execution with granular policies. [Learn more](https://docs.rhinestone.dev/smart-wallet/smart-sessions/overview)
21
+
22
+ - **Gas Sponsorship** - Subsidize gas, bridge, and swap fees for users by depositing USDC on Base. Applies across all supported chains. [Learn more](https://docs.rhinestone.dev/smart-wallet/gas-sponsorship/overview)
23
+
24
+ ## Installation
25
+
26
+ ```bash
27
+ npm install viem @rhinestone/sdk
28
+ ```
29
+
30
+ ```bash
31
+ bun install viem @rhinestone/sdk
32
+ ```
33
+
34
+ ## Quickstart
35
+
36
+ Create a smart account:
37
+
38
+ ```ts
39
+ import { RhinestoneSDK } from '@rhinestone/sdk'
40
+
41
+ const rhinestone = new RhinestoneSDK()
42
+ const account = await rhinestone.createAccount({
43
+ owners: {
44
+ type: 'ecdsa',
45
+ accounts: [signer],
46
+ },
47
+ })
48
+ ```
49
+
50
+ Send a crosschain transaction:
51
+
52
+ ```ts
53
+ const transaction = await account.sendTransaction({
54
+ sourceChains: [baseSepolia],
55
+ targetChain: arbitrumSepolia,
56
+ calls: [
57
+ {
58
+ to: 'USDC',
59
+ value: 0n,
60
+ data: encodeFunctionData({
61
+ abi: erc20Abi,
62
+ functionName: 'transfer',
63
+ args: [recipient, amount],
64
+ }),
65
+ },
66
+ ],
67
+ tokenRequests: [{ address: 'USDC', amount }],
68
+ })
69
+
70
+ const result = await account.waitForExecution(transaction)
71
+ ```
72
+
73
+ For a complete walkthrough, see the [Quickstart guide](https://docs.rhinestone.dev/smart-wallet/quickstart).
74
+
75
+ ## Migrating from Orchestrator SDK
76
+
77
+ To migrate from the [Orchestrator SDK](https://github.com/rhinestonewtf/orchestrator-sdk), replace all imports of `@rhinestone/orchestrator-sdk` with `@rhinestone/sdk/orchestrator`.
78
+
79
+ Let us know if you encounter any issues!
80
+
81
+ ## Contributing
82
+
83
+ For feature or change requests, feel free to open a PR, start a discussion or get in touch with us.
@@ -0,0 +1,114 @@
1
+ import type { AccountType } from '../types';
2
+ declare class AccountError extends Error {
3
+ private readonly _message;
4
+ private readonly _context;
5
+ private readonly _errorType;
6
+ private readonly _traceId;
7
+ constructor(params?: {
8
+ message?: string;
9
+ context?: any;
10
+ errorType?: string;
11
+ traceId?: string;
12
+ });
13
+ get message(): string;
14
+ get context(): any;
15
+ get errorType(): string;
16
+ get traceId(): string;
17
+ }
18
+ declare class Eip7702AccountMustHaveEoaError extends AccountError {
19
+ constructor(params?: {
20
+ context?: any;
21
+ errorType?: string;
22
+ traceId?: string;
23
+ });
24
+ }
25
+ declare class ExistingEip7702AccountsNotSupportedError extends AccountError {
26
+ constructor(params?: {
27
+ context?: any;
28
+ errorType?: string;
29
+ traceId?: string;
30
+ });
31
+ }
32
+ declare class EoaAccountMustHaveAccountError extends AccountError {
33
+ constructor(params?: {
34
+ context?: any;
35
+ errorType?: string;
36
+ traceId?: string;
37
+ });
38
+ }
39
+ declare class FactoryArgsNotAvailableError extends AccountError {
40
+ constructor(params?: {
41
+ context?: any;
42
+ errorType?: string;
43
+ traceId?: string;
44
+ });
45
+ }
46
+ declare class SmartSessionsNotEnabledError extends AccountError {
47
+ constructor(params?: {
48
+ context?: any;
49
+ errorType?: string;
50
+ traceId?: string;
51
+ });
52
+ }
53
+ declare class SigningNotSupportedForAccountError extends AccountError {
54
+ constructor(params?: {
55
+ context?: any;
56
+ errorType?: string;
57
+ traceId?: string;
58
+ });
59
+ }
60
+ declare class Eip7702NotSupportedForAccountError extends AccountError {
61
+ constructor(account: AccountType, params?: {
62
+ context?: any;
63
+ errorType?: string;
64
+ traceId?: string;
65
+ });
66
+ }
67
+ declare class AccountConfigurationNotSupportedError extends AccountError {
68
+ constructor(message: string, account: AccountType, params?: {
69
+ context?: any;
70
+ errorType?: string;
71
+ traceId?: string;
72
+ });
73
+ }
74
+ declare class WalletClientNoConnectedAccountError extends AccountError {
75
+ constructor(params?: {
76
+ context?: any;
77
+ errorType?: string;
78
+ traceId?: string;
79
+ });
80
+ }
81
+ declare class ModuleInstallationNotSupportedError extends AccountError {
82
+ constructor(account: AccountType, params?: {
83
+ context?: any;
84
+ errorType?: string;
85
+ traceId?: string;
86
+ });
87
+ }
88
+ declare class EoaSigningNotSupportedError extends AccountError {
89
+ constructor(method: string, params?: {
90
+ context?: any;
91
+ errorType?: string;
92
+ traceId?: string;
93
+ });
94
+ }
95
+ declare class EoaSigningMethodNotConfiguredError extends AccountError {
96
+ constructor(method: string, params?: {
97
+ context?: any;
98
+ errorType?: string;
99
+ traceId?: string;
100
+ });
101
+ }
102
+ declare class OwnersFieldRequiredError extends AccountError {
103
+ constructor(params?: {
104
+ context?: any;
105
+ errorType?: string;
106
+ traceId?: string;
107
+ });
108
+ }
109
+ declare class Eip712DomainNotAvailableError extends AccountError {
110
+ constructor(message: string);
111
+ }
112
+ declare function isAccountError(error: Error): error is AccountError;
113
+ export { isAccountError, AccountError, Eip712DomainNotAvailableError, Eip7702AccountMustHaveEoaError, ExistingEip7702AccountsNotSupportedError, EoaAccountMustHaveAccountError, FactoryArgsNotAvailableError, SmartSessionsNotEnabledError, SigningNotSupportedForAccountError, Eip7702NotSupportedForAccountError, AccountConfigurationNotSupportedError, WalletClientNoConnectedAccountError, ModuleInstallationNotSupportedError, EoaSigningNotSupportedError, EoaSigningMethodNotConfiguredError, OwnersFieldRequiredError, };
114
+ //# sourceMappingURL=error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../accounts/error.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,174 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OwnersFieldRequiredError = exports.EoaSigningMethodNotConfiguredError = exports.EoaSigningNotSupportedError = exports.ModuleInstallationNotSupportedError = exports.WalletClientNoConnectedAccountError = exports.AccountConfigurationNotSupportedError = exports.Eip7702NotSupportedForAccountError = exports.SigningNotSupportedForAccountError = exports.SmartSessionsNotEnabledError = exports.FactoryArgsNotAvailableError = exports.EoaAccountMustHaveAccountError = exports.ExistingEip7702AccountsNotSupportedError = exports.Eip7702AccountMustHaveEoaError = exports.Eip712DomainNotAvailableError = exports.AccountError = void 0;
4
+ exports.isAccountError = isAccountError;
5
+ class AccountError extends Error {
6
+ _message;
7
+ _context;
8
+ _errorType;
9
+ _traceId;
10
+ constructor(params) {
11
+ super();
12
+ this._message = params?.message || 'AccountError';
13
+ this._context = params?.context || {};
14
+ this._errorType = params?.errorType || 'Unknown';
15
+ this._traceId = params?.traceId || '';
16
+ }
17
+ get message() {
18
+ return this._message;
19
+ }
20
+ get context() {
21
+ return this._context;
22
+ }
23
+ get errorType() {
24
+ return this._errorType;
25
+ }
26
+ get traceId() {
27
+ return this._traceId;
28
+ }
29
+ }
30
+ exports.AccountError = AccountError;
31
+ class Eip7702AccountMustHaveEoaError extends AccountError {
32
+ constructor(params) {
33
+ super({
34
+ message: 'EIP-7702 accounts must have an EOA account',
35
+ ...params,
36
+ });
37
+ }
38
+ }
39
+ exports.Eip7702AccountMustHaveEoaError = Eip7702AccountMustHaveEoaError;
40
+ class ExistingEip7702AccountsNotSupportedError extends AccountError {
41
+ constructor(params) {
42
+ super({
43
+ message: 'Existing EIP-7702 accounts are not yet supported',
44
+ ...params,
45
+ });
46
+ }
47
+ }
48
+ exports.ExistingEip7702AccountsNotSupportedError = ExistingEip7702AccountsNotSupportedError;
49
+ class EoaAccountMustHaveAccountError extends AccountError {
50
+ constructor(params) {
51
+ super({
52
+ message: 'EOA accounts must have a signer `account` provided',
53
+ ...params,
54
+ });
55
+ }
56
+ }
57
+ exports.EoaAccountMustHaveAccountError = EoaAccountMustHaveAccountError;
58
+ class FactoryArgsNotAvailableError extends AccountError {
59
+ constructor(params) {
60
+ super({
61
+ message: 'Factory args not available',
62
+ ...params,
63
+ });
64
+ }
65
+ }
66
+ exports.FactoryArgsNotAvailableError = FactoryArgsNotAvailableError;
67
+ class SmartSessionsNotEnabledError extends AccountError {
68
+ constructor(params) {
69
+ super({
70
+ message: 'Smart sessions are not enabled for this account',
71
+ ...params,
72
+ });
73
+ }
74
+ }
75
+ exports.SmartSessionsNotEnabledError = SmartSessionsNotEnabledError;
76
+ class SigningNotSupportedForAccountError extends AccountError {
77
+ constructor(params) {
78
+ super({
79
+ message: 'Signing not supported for the account',
80
+ ...params,
81
+ });
82
+ }
83
+ }
84
+ exports.SigningNotSupportedForAccountError = SigningNotSupportedForAccountError;
85
+ class Eip7702NotSupportedForAccountError extends AccountError {
86
+ constructor(account, params) {
87
+ const accountName = getAccountName(account);
88
+ super({
89
+ message: `EIP-7702 is not supported for ${accountName} accounts`,
90
+ ...params,
91
+ });
92
+ }
93
+ }
94
+ exports.Eip7702NotSupportedForAccountError = Eip7702NotSupportedForAccountError;
95
+ class AccountConfigurationNotSupportedError extends AccountError {
96
+ constructor(message, account, params) {
97
+ super({
98
+ message: `Account configuration for ${getAccountName(account)} account is not supported: ${message}`,
99
+ ...params,
100
+ });
101
+ }
102
+ }
103
+ exports.AccountConfigurationNotSupportedError = AccountConfigurationNotSupportedError;
104
+ class WalletClientNoConnectedAccountError extends AccountError {
105
+ constructor(params) {
106
+ super({
107
+ message: 'WalletClient is missing a default account. Ensure the wallet is connected and the client has an account.',
108
+ ...params,
109
+ });
110
+ }
111
+ }
112
+ exports.WalletClientNoConnectedAccountError = WalletClientNoConnectedAccountError;
113
+ class ModuleInstallationNotSupportedError extends AccountError {
114
+ constructor(account, params) {
115
+ const accountName = getAccountName(account);
116
+ super({
117
+ message: `Module installation is not supported for ${accountName} accounts`,
118
+ ...params,
119
+ });
120
+ }
121
+ }
122
+ exports.ModuleInstallationNotSupportedError = ModuleInstallationNotSupportedError;
123
+ class EoaSigningNotSupportedError extends AccountError {
124
+ constructor(method, params) {
125
+ super({
126
+ message: `EOA account provider does not support ${method} signing`,
127
+ ...params,
128
+ });
129
+ }
130
+ }
131
+ exports.EoaSigningNotSupportedError = EoaSigningNotSupportedError;
132
+ class EoaSigningMethodNotConfiguredError extends AccountError {
133
+ constructor(method, params) {
134
+ super({
135
+ message: `EOA account provider must have ${method} method configured`,
136
+ ...params,
137
+ });
138
+ }
139
+ }
140
+ exports.EoaSigningMethodNotConfiguredError = EoaSigningMethodNotConfiguredError;
141
+ class OwnersFieldRequiredError extends AccountError {
142
+ constructor(params) {
143
+ super({
144
+ message: 'Owners field is required for smart accounts',
145
+ ...params,
146
+ });
147
+ }
148
+ }
149
+ exports.OwnersFieldRequiredError = OwnersFieldRequiredError;
150
+ class Eip712DomainNotAvailableError extends AccountError {
151
+ constructor(message) {
152
+ super({
153
+ message,
154
+ });
155
+ }
156
+ }
157
+ exports.Eip712DomainNotAvailableError = Eip712DomainNotAvailableError;
158
+ function isAccountError(error) {
159
+ return error instanceof AccountError;
160
+ }
161
+ function getAccountName(account) {
162
+ switch (account) {
163
+ case 'safe':
164
+ return 'Safe';
165
+ case 'kernel':
166
+ return 'Kernel';
167
+ case 'nexus':
168
+ return 'Nexus';
169
+ case 'startale':
170
+ return 'Startale';
171
+ case 'eoa':
172
+ return 'EOA';
173
+ }
174
+ }
@@ -0,0 +1,48 @@
1
+ import { type Chain, type HashTypedDataParameters, type Hex, type PublicClient, type TypedData } from 'viem';
2
+ import type { Module } from '../modules/common';
3
+ import type { AccountProviderConfig, Call, OwnerSet, RhinestoneConfig, SignerSet } from '../types';
4
+ import { AccountConfigurationNotSupportedError, AccountError, Eip712DomainNotAvailableError, Eip7702AccountMustHaveEoaError, Eip7702NotSupportedForAccountError, EoaAccountMustHaveAccountError, EoaSigningMethodNotConfiguredError, EoaSigningNotSupportedError, ExistingEip7702AccountsNotSupportedError, FactoryArgsNotAvailableError, isAccountError, ModuleInstallationNotSupportedError, OwnersFieldRequiredError, SigningNotSupportedForAccountError, SmartSessionsNotEnabledError, WalletClientNoConnectedAccountError } from './error';
5
+ import { type ValidatorConfig } from './utils';
6
+ declare function getInitCode(config: RhinestoneConfig): {
7
+ address: import("viem").Address;
8
+ } | {
9
+ factory: `0x${string}`;
10
+ factoryData: `0x${string}`;
11
+ } | undefined;
12
+ declare function getV0InitCode(config: RhinestoneConfig): {
13
+ address: import("viem").Address;
14
+ } | {
15
+ factory: `0x${string}`;
16
+ factoryData: `0x${string}`;
17
+ } | undefined;
18
+ declare function signEip7702InitData(config: RhinestoneConfig): Promise<`0x${string}`>;
19
+ declare function getEip7702InitCall(config: RhinestoneConfig, signature: Hex): {
20
+ initData: `0x${string}`;
21
+ contract: `0x${string}`;
22
+ };
23
+ declare function getEip712Domain(config: RhinestoneConfig, chain: Chain): {
24
+ name: string;
25
+ version: string;
26
+ chainId: number;
27
+ verifyingContract: `0x${string}`;
28
+ salt: "0x0000000000000000000000000000000000000000000000000000000000000000";
29
+ };
30
+ declare function getModuleInstallationCalls(config: RhinestoneConfig, module: Module): Call[];
31
+ declare function getModuleUninstallationCalls(config: RhinestoneConfig, module: Module): Call[];
32
+ declare function getAddress(config: RhinestoneConfig): `0x${string}`;
33
+ declare function checkAddress(config: RhinestoneConfig): boolean;
34
+ declare function getEip1271Signature(config: RhinestoneConfig, signers: SignerSet | undefined, chain: Chain, validator: ValidatorConfig, hash: Hex, transformSignature?: (signature: Hex) => Hex): Promise<Hex>;
35
+ declare function getEmissarySignature(config: RhinestoneConfig, signers: SignerSet | undefined, chain: Chain, hash: Hex, transformSignature?: (signature: Hex) => Hex): Promise<Hex>;
36
+ declare function getTypedDataPackedSignature<typedData extends TypedData | Record<string, unknown> = TypedData, primaryType extends keyof typedData | 'EIP712Domain' = keyof typedData>(config: RhinestoneConfig, signers: SignerSet | undefined, chain: Chain, validator: ValidatorConfig, parameters: HashTypedDataParameters<typedData, primaryType>, transformSignature?: (signature: Hex) => Hex): Promise<Hex>;
37
+ declare function isDeployed(config: RhinestoneConfig, chain: Chain): Promise<boolean>;
38
+ declare function deploy(config: RhinestoneConfig, chain: Chain, params?: {
39
+ sponsored?: boolean;
40
+ }): Promise<boolean>;
41
+ declare function setup(config: RhinestoneConfig, chain: Chain): Promise<boolean>;
42
+ declare function toErc6492Signature(config: RhinestoneConfig, signature: Hex, chain: Chain): Promise<Hex>;
43
+ declare function getSmartAccount(config: RhinestoneConfig, client: PublicClient, chain: Chain): Promise<import("viem/_types/account-abstraction").SmartAccount<import("viem/_types/account-abstraction").SmartAccountImplementation<import("viem").Abi, "0.7">> | undefined>;
44
+ declare function getGuardianSmartAccount(config: RhinestoneConfig, client: PublicClient, chain: Chain, guardians: OwnerSet): Promise<import("viem/_types/account-abstraction").SmartAccount<import("viem/_types/account-abstraction").SmartAccountImplementation<import("viem").Abi, "0.7">> | undefined>;
45
+ declare function is7702(config: RhinestoneConfig): boolean;
46
+ declare function getAccountProvider(config: RhinestoneConfig): AccountProviderConfig;
47
+ export { getEip712Domain, getModuleInstallationCalls, getModuleUninstallationCalls, getAddress, checkAddress, getAccountProvider, getInitCode, getV0InitCode, signEip7702InitData, getEip7702InitCall, is7702, isDeployed, deploy, setup, toErc6492Signature, getSmartAccount, getGuardianSmartAccount, getEip1271Signature, getEmissarySignature, getTypedDataPackedSignature, isAccountError, AccountError, AccountConfigurationNotSupportedError, Eip712DomainNotAvailableError, Eip7702AccountMustHaveEoaError, Eip7702NotSupportedForAccountError, EoaAccountMustHaveAccountError, EoaSigningMethodNotConfiguredError, EoaSigningNotSupportedError, ExistingEip7702AccountsNotSupportedError, FactoryArgsNotAvailableError, ModuleInstallationNotSupportedError, OwnersFieldRequiredError, SigningNotSupportedForAccountError, SmartSessionsNotEnabledError, WalletClientNoConnectedAccountError, };
48
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../accounts/index.ts"],"names":[],"mappings":"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"}