@crossmint/client-sdk-smart-wallet 0.1.18 → 0.1.20

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 (203) hide show
  1. package/dist/SmartWalletSDK.cjs +1 -0
  2. package/dist/SmartWalletSDK.d.cts +47 -0
  3. package/dist/SmartWalletSDK.d.ts +47 -0
  4. package/dist/SmartWalletSDK.js +1 -0
  5. package/dist/api/CrossmintWalletService.cjs +1 -0
  6. package/dist/api/CrossmintWalletService.d.cts +31 -0
  7. package/dist/api/CrossmintWalletService.d.ts +31 -0
  8. package/dist/api/CrossmintWalletService.js +1 -0
  9. package/dist/blockchain/chains.cjs +1 -0
  10. package/dist/blockchain/chains.d.cts +36 -0
  11. package/dist/blockchain/chains.d.ts +36 -0
  12. package/dist/blockchain/chains.js +1 -0
  13. package/dist/blockchain/rpc.cjs +1 -0
  14. package/dist/blockchain/rpc.d.cts +9 -0
  15. package/dist/blockchain/rpc.d.ts +9 -0
  16. package/dist/blockchain/rpc.js +1 -0
  17. package/dist/blockchain/transfer.cjs +1 -0
  18. package/dist/blockchain/transfer.d.cts +23 -0
  19. package/dist/blockchain/transfer.d.ts +23 -0
  20. package/dist/blockchain/transfer.js +1 -0
  21. package/dist/blockchain/wallets/EVMSmartWallet.cjs +1 -0
  22. package/dist/blockchain/wallets/EVMSmartWallet.d.cts +102 -0
  23. package/dist/blockchain/wallets/EVMSmartWallet.d.ts +102 -0
  24. package/dist/blockchain/wallets/EVMSmartWallet.js +1 -0
  25. package/dist/blockchain/wallets/SendTransactionService.cjs +1 -0
  26. package/dist/blockchain/wallets/SendTransactionService.d.cts +84 -0
  27. package/dist/blockchain/wallets/SendTransactionService.d.ts +84 -0
  28. package/dist/blockchain/wallets/SendTransactionService.js +1 -0
  29. package/dist/blockchain/wallets/account/cache.cjs +1 -0
  30. package/dist/blockchain/wallets/account/cache.d.cts +25 -0
  31. package/dist/blockchain/wallets/account/cache.d.ts +25 -0
  32. package/dist/blockchain/wallets/account/cache.js +1 -0
  33. package/dist/blockchain/wallets/account/config.cjs +1 -0
  34. package/dist/blockchain/wallets/account/config.d.cts +47 -0
  35. package/dist/blockchain/wallets/account/config.d.ts +47 -0
  36. package/dist/blockchain/wallets/account/config.js +1 -0
  37. package/dist/blockchain/wallets/account/creator.cjs +1 -0
  38. package/dist/blockchain/wallets/account/creator.d.cts +26 -0
  39. package/dist/blockchain/wallets/account/creator.d.ts +26 -0
  40. package/dist/blockchain/wallets/account/creator.js +1 -0
  41. package/dist/blockchain/wallets/account/eoa.cjs +1 -0
  42. package/dist/blockchain/wallets/account/eoa.d.cts +21 -0
  43. package/dist/blockchain/wallets/account/eoa.d.ts +21 -0
  44. package/dist/blockchain/wallets/account/eoa.js +1 -0
  45. package/dist/blockchain/wallets/account/passkey.cjs +1 -0
  46. package/dist/blockchain/wallets/account/passkey.d.cts +29 -0
  47. package/dist/blockchain/wallets/account/passkey.d.ts +29 -0
  48. package/dist/blockchain/wallets/account/passkey.js +1 -0
  49. package/dist/blockchain/wallets/account/signer.cjs +1 -0
  50. package/dist/blockchain/wallets/account/signer.d.cts +14 -0
  51. package/dist/blockchain/wallets/account/signer.d.ts +14 -0
  52. package/dist/blockchain/wallets/account/signer.js +1 -0
  53. package/dist/blockchain/wallets/account/strategy.cjs +1 -0
  54. package/dist/blockchain/wallets/account/strategy.d.cts +20 -0
  55. package/dist/blockchain/wallets/account/strategy.d.ts +20 -0
  56. package/dist/blockchain/wallets/account/strategy.js +0 -0
  57. package/dist/blockchain/wallets/clientDecorator.cjs +1 -0
  58. package/dist/blockchain/wallets/clientDecorator.d.cts +38 -0
  59. package/dist/blockchain/wallets/clientDecorator.d.ts +38 -0
  60. package/dist/blockchain/wallets/clientDecorator.js +1 -0
  61. package/dist/blockchain/wallets/index.cjs +1 -0
  62. package/dist/blockchain/wallets/index.d.cts +20 -0
  63. package/dist/blockchain/wallets/index.d.ts +20 -0
  64. package/dist/blockchain/wallets/index.js +1 -0
  65. package/dist/blockchain/wallets/paymaster.cjs +1 -0
  66. package/dist/blockchain/wallets/paymaster.d.cts +29 -0
  67. package/dist/blockchain/wallets/paymaster.d.ts +29 -0
  68. package/dist/blockchain/wallets/paymaster.js +1 -0
  69. package/dist/blockchain/wallets/service.cjs +1 -0
  70. package/dist/blockchain/wallets/service.d.cts +41 -0
  71. package/dist/blockchain/wallets/service.d.ts +41 -0
  72. package/dist/blockchain/wallets/service.js +1 -0
  73. package/dist/chunk-2GS5TXEY.cjs +1 -0
  74. package/dist/chunk-2R6HK64N.cjs +1 -0
  75. package/dist/chunk-3F6P4HUZ.js +1 -0
  76. package/dist/chunk-4SPA557P.js +0 -0
  77. package/dist/chunk-6EPE3ZZK.cjs +1 -0
  78. package/dist/chunk-7AVDZZGD.cjs +1 -0
  79. package/dist/chunk-7FXFOOQU.cjs +1 -0
  80. package/dist/chunk-7LPFDWNT.cjs +1 -0
  81. package/dist/chunk-ATQ4WGCW.js +1 -0
  82. package/dist/chunk-BIVRVBDQ.js +2 -0
  83. package/dist/chunk-BJZQA5VC.js +1 -0
  84. package/dist/chunk-BQWCBNJ2.js +3 -0
  85. package/dist/chunk-C3VZY7VJ.js +1 -0
  86. package/dist/chunk-CUTQYF3F.js +1 -0
  87. package/dist/chunk-D4NDUT36.js +1 -0
  88. package/dist/chunk-DIDKPOO2.cjs +1 -0
  89. package/dist/chunk-EAOSAOUJ.js +1 -0
  90. package/dist/chunk-ETVJGLNY.js +1 -0
  91. package/dist/chunk-FHNNZVNU.js +1 -0
  92. package/dist/chunk-FUC6ULBW.cjs +1 -0
  93. package/dist/chunk-GB35YMN4.cjs +1 -0
  94. package/dist/chunk-GU4S3QTE.js +1 -0
  95. package/dist/chunk-H4CMXNVK.js +1 -0
  96. package/dist/chunk-HHDTWWT5.cjs +1 -0
  97. package/dist/chunk-IQTGPM2U.cjs +1 -0
  98. package/dist/chunk-K6WSBV7E.js +1 -0
  99. package/dist/chunk-KCV4GYG5.js +1 -0
  100. package/dist/chunk-KEUAQQOQ.js +1 -0
  101. package/dist/chunk-KYPTGHC6.cjs +1 -0
  102. package/dist/chunk-LSYXLN6B.js +1 -0
  103. package/dist/chunk-M4K3IZTT.cjs +1 -0
  104. package/dist/chunk-MSLQMIMT.cjs +2 -0
  105. package/dist/chunk-MSV3QZJH.js +1 -0
  106. package/dist/chunk-N7PD7VXW.cjs +1 -0
  107. package/dist/chunk-NLGILHJS.js +1 -0
  108. package/dist/chunk-NWYLIMLV.js +1 -0
  109. package/dist/chunk-O2ACORII.cjs +1 -0
  110. package/dist/chunk-ODAUWGUU.cjs +1 -0
  111. package/dist/chunk-P43ZATVK.cjs +3 -0
  112. package/dist/chunk-PZ6Q22YJ.js +1 -0
  113. package/dist/chunk-S2XBSAGM.js +1 -0
  114. package/dist/chunk-SCXFZMLR.cjs +1 -0
  115. package/dist/chunk-STH2LE35.cjs +1 -0
  116. package/dist/chunk-STWM66DG.cjs +1 -0
  117. package/dist/chunk-SWWOVT47.cjs +1 -0
  118. package/dist/chunk-TDLURLVK.cjs +1 -0
  119. package/dist/chunk-TZG6MROQ.js +1 -0
  120. package/dist/chunk-UG47CBKR.js +1 -0
  121. package/dist/chunk-UPURFW46.js +1 -0
  122. package/dist/chunk-WJ6XJMRD.cjs +1 -0
  123. package/dist/chunk-XJGFG3RT.cjs +1 -0
  124. package/dist/chunk-XLEK44PY.cjs +1 -0
  125. package/dist/chunk-XQ2K2K23.cjs +1 -0
  126. package/dist/chunk-Y4WIOBW4.js +1 -0
  127. package/dist/chunk-Y7EYJ7VO.cjs +1 -0
  128. package/dist/chunk-YBHSEZMB.js +1 -0
  129. package/dist/error/index.cjs +1 -0
  130. package/dist/error/index.d.cts +58 -0
  131. package/dist/error/index.d.ts +58 -0
  132. package/dist/error/index.js +1 -0
  133. package/dist/error/processor.cjs +1 -0
  134. package/dist/error/processor.d.cts +25 -0
  135. package/dist/error/processor.d.ts +25 -0
  136. package/dist/error/processor.js +1 -0
  137. package/dist/index.cjs +1 -5
  138. package/dist/index.d.cts +20 -555
  139. package/dist/index.d.ts +20 -555
  140. package/dist/index.js +1 -5
  141. package/dist/service-DqYCir8s.d.ts +103 -0
  142. package/dist/service-Ir-Qho-9.d.cts +103 -0
  143. package/dist/services/index.cjs +1 -0
  144. package/dist/services/index.d.cts +2 -0
  145. package/dist/services/index.d.ts +2 -0
  146. package/dist/services/index.js +1 -0
  147. package/dist/services/logger.cjs +1 -0
  148. package/dist/services/logger.d.cts +6 -0
  149. package/dist/services/logger.d.ts +6 -0
  150. package/dist/services/logger.js +1 -0
  151. package/dist/types/internal.cjs +1 -0
  152. package/dist/types/internal.d.cts +14 -0
  153. package/dist/types/internal.d.ts +14 -0
  154. package/dist/types/internal.js +1 -0
  155. package/dist/types/params.cjs +1 -0
  156. package/dist/types/params.d.cts +33 -0
  157. package/dist/types/params.d.ts +33 -0
  158. package/dist/types/params.js +0 -0
  159. package/dist/types/schema.cjs +1 -0
  160. package/dist/types/schema.d.cts +241 -0
  161. package/dist/types/schema.d.ts +241 -0
  162. package/dist/types/schema.js +1 -0
  163. package/dist/types/service.cjs +1 -0
  164. package/dist/types/service.d.cts +14 -0
  165. package/dist/types/service.d.ts +14 -0
  166. package/dist/types/service.js +0 -0
  167. package/dist/types/token.cjs +1 -0
  168. package/dist/types/token.d.cts +35 -0
  169. package/dist/types/token.d.ts +35 -0
  170. package/dist/types/token.js +0 -0
  171. package/dist/utils/api.cjs +1 -0
  172. package/dist/utils/api.d.cts +4 -0
  173. package/dist/utils/api.d.ts +4 -0
  174. package/dist/utils/api.js +1 -0
  175. package/dist/utils/blockchain.cjs +1 -0
  176. package/dist/utils/blockchain.d.cts +7 -0
  177. package/dist/utils/blockchain.d.ts +7 -0
  178. package/dist/utils/blockchain.js +1 -0
  179. package/dist/utils/constants.cjs +1 -0
  180. package/dist/utils/constants.d.cts +9 -0
  181. package/dist/utils/constants.d.ts +9 -0
  182. package/dist/utils/constants.js +1 -0
  183. package/dist/utils/environment.cjs +1 -0
  184. package/dist/utils/environment.d.cts +3 -0
  185. package/dist/utils/environment.d.ts +3 -0
  186. package/dist/utils/environment.js +1 -0
  187. package/dist/utils/helpers.cjs +1 -0
  188. package/dist/utils/helpers.d.cts +4 -0
  189. package/dist/utils/helpers.d.ts +4 -0
  190. package/dist/utils/helpers.js +1 -0
  191. package/dist/utils/signer.cjs +1 -0
  192. package/dist/utils/signer.d.cts +15 -0
  193. package/dist/utils/signer.d.ts +15 -0
  194. package/dist/utils/signer.js +1 -0
  195. package/dist/utils/test.cjs +1 -0
  196. package/dist/utils/test.d.cts +18 -0
  197. package/dist/utils/test.d.ts +18 -0
  198. package/dist/utils/test.js +1 -0
  199. package/package.json +4 -5
  200. package/src/blockchain/wallets/account/passkey.ts +27 -3
  201. package/src/types/params.ts +4 -0
  202. package/dist/index.cjs.map +0 -1
  203. package/dist/index.js.map +0 -1
@@ -0,0 +1,241 @@
1
+ import { PasskeyValidatorContractVersion } from '@zerodev/passkey-validator';
2
+ import { z } from 'zod';
3
+
4
+ declare const EOASignerDataSchema: z.ZodObject<{
5
+ eoaAddress: z.ZodType<`0x${string}`, z.ZodTypeDef, `0x${string}`>;
6
+ type: z.ZodLiteral<"eoa">;
7
+ }, "strip", z.ZodTypeAny, {
8
+ type: "eoa";
9
+ eoaAddress: `0x${string}`;
10
+ }, {
11
+ type: "eoa";
12
+ eoaAddress: `0x${string}`;
13
+ }>;
14
+ declare const PasskeyValidatorSerializedDataSchema: z.ZodObject<{
15
+ entryPoint: z.ZodType<`0x${string}`, z.ZodTypeDef, `0x${string}`>;
16
+ validatorAddress: z.ZodType<`0x${string}`, z.ZodTypeDef, `0x${string}`>;
17
+ pubKeyX: z.ZodString;
18
+ pubKeyY: z.ZodString;
19
+ authenticatorIdHash: z.ZodType<`0x${string}`, z.ZodTypeDef, `0x${string}`>;
20
+ authenticatorId: z.ZodString;
21
+ }, "strip", z.ZodTypeAny, {
22
+ entryPoint: `0x${string}`;
23
+ validatorAddress: `0x${string}`;
24
+ pubKeyX: string;
25
+ pubKeyY: string;
26
+ authenticatorIdHash: `0x${string}`;
27
+ authenticatorId: string;
28
+ }, {
29
+ entryPoint: `0x${string}`;
30
+ validatorAddress: `0x${string}`;
31
+ pubKeyX: string;
32
+ pubKeyY: string;
33
+ authenticatorIdHash: `0x${string}`;
34
+ authenticatorId: string;
35
+ }>;
36
+ declare const PasskeySignerDataSchema: z.ZodObject<{
37
+ entryPoint: z.ZodType<`0x${string}`, z.ZodTypeDef, `0x${string}`>;
38
+ validatorAddress: z.ZodType<`0x${string}`, z.ZodTypeDef, `0x${string}`>;
39
+ pubKeyX: z.ZodString;
40
+ pubKeyY: z.ZodString;
41
+ authenticatorIdHash: z.ZodType<`0x${string}`, z.ZodTypeDef, `0x${string}`>;
42
+ authenticatorId: z.ZodString;
43
+ passkeyName: z.ZodString;
44
+ validatorContractVersion: z.ZodNativeEnum<typeof PasskeyValidatorContractVersion>;
45
+ domain: z.ZodString;
46
+ type: z.ZodLiteral<"passkeys">;
47
+ }, "strip", z.ZodTypeAny, {
48
+ type: "passkeys";
49
+ entryPoint: `0x${string}`;
50
+ domain: string;
51
+ validatorAddress: `0x${string}`;
52
+ pubKeyX: string;
53
+ pubKeyY: string;
54
+ authenticatorIdHash: `0x${string}`;
55
+ authenticatorId: string;
56
+ passkeyName: string;
57
+ validatorContractVersion: PasskeyValidatorContractVersion;
58
+ }, {
59
+ type: "passkeys";
60
+ entryPoint: `0x${string}`;
61
+ domain: string;
62
+ validatorAddress: `0x${string}`;
63
+ pubKeyX: string;
64
+ pubKeyY: string;
65
+ authenticatorIdHash: `0x${string}`;
66
+ authenticatorId: string;
67
+ passkeyName: string;
68
+ validatorContractVersion: PasskeyValidatorContractVersion;
69
+ }>;
70
+ declare const SignerDataSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
71
+ entryPoint: z.ZodType<`0x${string}`, z.ZodTypeDef, `0x${string}`>;
72
+ validatorAddress: z.ZodType<`0x${string}`, z.ZodTypeDef, `0x${string}`>;
73
+ pubKeyX: z.ZodString;
74
+ pubKeyY: z.ZodString;
75
+ authenticatorIdHash: z.ZodType<`0x${string}`, z.ZodTypeDef, `0x${string}`>;
76
+ authenticatorId: z.ZodString;
77
+ passkeyName: z.ZodString;
78
+ validatorContractVersion: z.ZodNativeEnum<typeof PasskeyValidatorContractVersion>;
79
+ domain: z.ZodString;
80
+ type: z.ZodLiteral<"passkeys">;
81
+ }, "strip", z.ZodTypeAny, {
82
+ type: "passkeys";
83
+ entryPoint: `0x${string}`;
84
+ domain: string;
85
+ validatorAddress: `0x${string}`;
86
+ pubKeyX: string;
87
+ pubKeyY: string;
88
+ authenticatorIdHash: `0x${string}`;
89
+ authenticatorId: string;
90
+ passkeyName: string;
91
+ validatorContractVersion: PasskeyValidatorContractVersion;
92
+ }, {
93
+ type: "passkeys";
94
+ entryPoint: `0x${string}`;
95
+ domain: string;
96
+ validatorAddress: `0x${string}`;
97
+ pubKeyX: string;
98
+ pubKeyY: string;
99
+ authenticatorIdHash: `0x${string}`;
100
+ authenticatorId: string;
101
+ passkeyName: string;
102
+ validatorContractVersion: PasskeyValidatorContractVersion;
103
+ }>, z.ZodObject<{
104
+ eoaAddress: z.ZodType<`0x${string}`, z.ZodTypeDef, `0x${string}`>;
105
+ type: z.ZodLiteral<"eoa">;
106
+ }, "strip", z.ZodTypeAny, {
107
+ type: "eoa";
108
+ eoaAddress: `0x${string}`;
109
+ }, {
110
+ type: "eoa";
111
+ eoaAddress: `0x${string}`;
112
+ }>]>;
113
+ declare const SmartWalletConfigSchema: z.ZodObject<{
114
+ kernelVersion: z.ZodEnum<["0.3.1", "0.3.0", "0.2.4"]>;
115
+ entryPointVersion: z.ZodEnum<["v0.6", "v0.7"]>;
116
+ userId: z.ZodString;
117
+ signers: z.ZodArray<z.ZodObject<{
118
+ signerData: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
119
+ entryPoint: z.ZodType<`0x${string}`, z.ZodTypeDef, `0x${string}`>;
120
+ validatorAddress: z.ZodType<`0x${string}`, z.ZodTypeDef, `0x${string}`>;
121
+ pubKeyX: z.ZodString;
122
+ pubKeyY: z.ZodString;
123
+ authenticatorIdHash: z.ZodType<`0x${string}`, z.ZodTypeDef, `0x${string}`>;
124
+ authenticatorId: z.ZodString;
125
+ passkeyName: z.ZodString;
126
+ validatorContractVersion: z.ZodNativeEnum<typeof PasskeyValidatorContractVersion>;
127
+ domain: z.ZodString;
128
+ type: z.ZodLiteral<"passkeys">;
129
+ }, "strip", z.ZodTypeAny, {
130
+ type: "passkeys";
131
+ entryPoint: `0x${string}`;
132
+ domain: string;
133
+ validatorAddress: `0x${string}`;
134
+ pubKeyX: string;
135
+ pubKeyY: string;
136
+ authenticatorIdHash: `0x${string}`;
137
+ authenticatorId: string;
138
+ passkeyName: string;
139
+ validatorContractVersion: PasskeyValidatorContractVersion;
140
+ }, {
141
+ type: "passkeys";
142
+ entryPoint: `0x${string}`;
143
+ domain: string;
144
+ validatorAddress: `0x${string}`;
145
+ pubKeyX: string;
146
+ pubKeyY: string;
147
+ authenticatorIdHash: `0x${string}`;
148
+ authenticatorId: string;
149
+ passkeyName: string;
150
+ validatorContractVersion: PasskeyValidatorContractVersion;
151
+ }>, z.ZodObject<{
152
+ eoaAddress: z.ZodType<`0x${string}`, z.ZodTypeDef, `0x${string}`>;
153
+ type: z.ZodLiteral<"eoa">;
154
+ }, "strip", z.ZodTypeAny, {
155
+ type: "eoa";
156
+ eoaAddress: `0x${string}`;
157
+ }, {
158
+ type: "eoa";
159
+ eoaAddress: `0x${string}`;
160
+ }>]>;
161
+ }, "strip", z.ZodTypeAny, {
162
+ signerData: {
163
+ type: "eoa";
164
+ eoaAddress: `0x${string}`;
165
+ } | {
166
+ type: "passkeys";
167
+ entryPoint: `0x${string}`;
168
+ domain: string;
169
+ validatorAddress: `0x${string}`;
170
+ pubKeyX: string;
171
+ pubKeyY: string;
172
+ authenticatorIdHash: `0x${string}`;
173
+ authenticatorId: string;
174
+ passkeyName: string;
175
+ validatorContractVersion: PasskeyValidatorContractVersion;
176
+ };
177
+ }, {
178
+ signerData: {
179
+ type: "eoa";
180
+ eoaAddress: `0x${string}`;
181
+ } | {
182
+ type: "passkeys";
183
+ entryPoint: `0x${string}`;
184
+ domain: string;
185
+ validatorAddress: `0x${string}`;
186
+ pubKeyX: string;
187
+ pubKeyY: string;
188
+ authenticatorIdHash: `0x${string}`;
189
+ authenticatorId: string;
190
+ passkeyName: string;
191
+ validatorContractVersion: PasskeyValidatorContractVersion;
192
+ };
193
+ }>, "many">;
194
+ smartContractWalletAddress: z.ZodOptional<z.ZodType<`0x${string}`, z.ZodTypeDef, `0x${string}`>>;
195
+ }, "strip", z.ZodTypeAny, {
196
+ kernelVersion: "0.2.4" | "0.3.0" | "0.3.1";
197
+ entryPointVersion: "v0.6" | "v0.7";
198
+ userId: string;
199
+ signers: {
200
+ signerData: {
201
+ type: "eoa";
202
+ eoaAddress: `0x${string}`;
203
+ } | {
204
+ type: "passkeys";
205
+ entryPoint: `0x${string}`;
206
+ domain: string;
207
+ validatorAddress: `0x${string}`;
208
+ pubKeyX: string;
209
+ pubKeyY: string;
210
+ authenticatorIdHash: `0x${string}`;
211
+ authenticatorId: string;
212
+ passkeyName: string;
213
+ validatorContractVersion: PasskeyValidatorContractVersion;
214
+ };
215
+ }[];
216
+ smartContractWalletAddress?: `0x${string}` | undefined;
217
+ }, {
218
+ kernelVersion: "0.2.4" | "0.3.0" | "0.3.1";
219
+ entryPointVersion: "v0.6" | "v0.7";
220
+ userId: string;
221
+ signers: {
222
+ signerData: {
223
+ type: "eoa";
224
+ eoaAddress: `0x${string}`;
225
+ } | {
226
+ type: "passkeys";
227
+ entryPoint: `0x${string}`;
228
+ domain: string;
229
+ validatorAddress: `0x${string}`;
230
+ pubKeyX: string;
231
+ pubKeyY: string;
232
+ authenticatorIdHash: `0x${string}`;
233
+ authenticatorId: string;
234
+ passkeyName: string;
235
+ validatorContractVersion: PasskeyValidatorContractVersion;
236
+ };
237
+ }[];
238
+ smartContractWalletAddress?: `0x${string}` | undefined;
239
+ }>;
240
+
241
+ export { EOASignerDataSchema, PasskeySignerDataSchema, PasskeyValidatorSerializedDataSchema, SignerDataSchema, SmartWalletConfigSchema };
@@ -0,0 +1 @@
1
+ import{a,b,c,d,e}from"../chunk-K6WSBV7E.js";import"../chunk-EAOSAOUJ.js";export{a as EOASignerDataSchema,c as PasskeySignerDataSchema,b as PasskeyValidatorSerializedDataSchema,d as SignerDataSchema,e as SmartWalletConfigSchema};
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,14 @@
1
+ import 'zod';
2
+ export { q as EOASignerData, P as PasskeyDisplay, s as PasskeySignerData, r as PasskeyValidatorSerializedData, t as SignerData, a as SignerDisplay, S as SmartWalletConfig, e as StoreSmartWalletParams } from '../service-Ir-Qho-9.cjs';
3
+ import './schema.cjs';
4
+ import '@zerodev/sdk';
5
+ import 'permissionless';
6
+ import 'permissionless/accounts';
7
+ import 'permissionless/types/entrypoint';
8
+ import 'viem';
9
+ import '../blockchain/chains.cjs';
10
+ import 'viem/chains';
11
+ import '@crossmint/common-sdk-base';
12
+ import '../utils/constants.cjs';
13
+ import './params.cjs';
14
+ import '@zerodev/passkey-validator';
@@ -0,0 +1,14 @@
1
+ import 'zod';
2
+ export { q as EOASignerData, P as PasskeyDisplay, s as PasskeySignerData, r as PasskeyValidatorSerializedData, t as SignerData, a as SignerDisplay, S as SmartWalletConfig, e as StoreSmartWalletParams } from '../service-DqYCir8s.js';
3
+ import './schema.js';
4
+ import '@zerodev/sdk';
5
+ import 'permissionless';
6
+ import 'permissionless/accounts';
7
+ import 'permissionless/types/entrypoint';
8
+ import 'viem';
9
+ import '../blockchain/chains.js';
10
+ import 'viem/chains';
11
+ import '@crossmint/common-sdk-base';
12
+ import '../utils/constants.js';
13
+ import './params.js';
14
+ import '@zerodev/passkey-validator';
File without changes
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,35 @@
1
+ import { Address } from 'viem';
2
+ import { SmartWalletChain } from '../blockchain/chains.cjs';
3
+ import 'viem/chains';
4
+ import '@crossmint/common-sdk-base';
5
+
6
+ interface EVMToken {
7
+ chain: SmartWalletChain;
8
+ contractAddress: Address;
9
+ }
10
+ interface NFTEVMToken extends EVMToken {
11
+ tokenId: string;
12
+ type: "nft";
13
+ }
14
+ interface SFTEVMToken extends EVMToken {
15
+ tokenId: string;
16
+ type: "sft";
17
+ }
18
+ interface ERC2OEVMToken extends EVMToken {
19
+ type: "ft";
20
+ }
21
+ type TokenType = "nft" | "sft" | "ft";
22
+ type ERC20TransferType = {
23
+ token: ERC2OEVMToken;
24
+ amount: bigint;
25
+ };
26
+ type SFTTransferType = {
27
+ token: SFTEVMToken;
28
+ quantity: number;
29
+ };
30
+ type NFTTransferType = {
31
+ token: NFTEVMToken;
32
+ };
33
+ type TransferType = ERC20TransferType | SFTTransferType | NFTTransferType;
34
+
35
+ export type { ERC20TransferType, ERC2OEVMToken, EVMToken, NFTEVMToken, NFTTransferType, SFTEVMToken, SFTTransferType, TokenType, TransferType };
@@ -0,0 +1,35 @@
1
+ import { Address } from 'viem';
2
+ import { SmartWalletChain } from '../blockchain/chains.js';
3
+ import 'viem/chains';
4
+ import '@crossmint/common-sdk-base';
5
+
6
+ interface EVMToken {
7
+ chain: SmartWalletChain;
8
+ contractAddress: Address;
9
+ }
10
+ interface NFTEVMToken extends EVMToken {
11
+ tokenId: string;
12
+ type: "nft";
13
+ }
14
+ interface SFTEVMToken extends EVMToken {
15
+ tokenId: string;
16
+ type: "sft";
17
+ }
18
+ interface ERC2OEVMToken extends EVMToken {
19
+ type: "ft";
20
+ }
21
+ type TokenType = "nft" | "sft" | "ft";
22
+ type ERC20TransferType = {
23
+ token: ERC2OEVMToken;
24
+ amount: bigint;
25
+ };
26
+ type SFTTransferType = {
27
+ token: SFTEVMToken;
28
+ quantity: number;
29
+ };
30
+ type NFTTransferType = {
31
+ token: NFTEVMToken;
32
+ };
33
+ type TransferType = ERC20TransferType | SFTTransferType | NFTTransferType;
34
+
35
+ export type { ERC20TransferType, ERC2OEVMToken, EVMToken, NFTEVMToken, NFTTransferType, SFTEVMToken, SFTTransferType, TokenType, TransferType };
File without changes
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXQ2K2K23cjs = require('../chunk-XQ2K2K23.cjs');exports.bigintsToHex = _chunkXQ2K2K23cjs.a; exports.parseBigintAPIResponse = _chunkXQ2K2K23cjs.b;
@@ -0,0 +1,4 @@
1
+ declare function bigintsToHex(data: any): any;
2
+ declare function parseBigintAPIResponse(data: any): any;
3
+
4
+ export { bigintsToHex, parseBigintAPIResponse };
@@ -0,0 +1,4 @@
1
+ declare function bigintsToHex(data: any): any;
2
+ declare function parseBigintAPIResponse(data: any): any;
3
+
4
+ export { bigintsToHex, parseBigintAPIResponse };
@@ -0,0 +1 @@
1
+ import{a,b}from"../chunk-PZ6Q22YJ.js";export{a as bigintsToHex,b as parseBigintAPIResponse};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkWJ6XJMRDcjs = require('../chunk-WJ6XJMRD.cjs');exports.usesGelatoBundler = _chunkWJ6XJMRDcjs.a;
@@ -0,0 +1,7 @@
1
+ import { SmartWalletChain } from '../blockchain/chains.cjs';
2
+ import 'viem/chains';
3
+ import '@crossmint/common-sdk-base';
4
+
5
+ declare function usesGelatoBundler(chain: SmartWalletChain): boolean;
6
+
7
+ export { usesGelatoBundler };
@@ -0,0 +1,7 @@
1
+ import { SmartWalletChain } from '../blockchain/chains.js';
2
+ import 'viem/chains';
3
+ import '@crossmint/common-sdk-base';
4
+
5
+ declare function usesGelatoBundler(chain: SmartWalletChain): boolean;
6
+
7
+ export { usesGelatoBundler };
@@ -0,0 +1 @@
1
+ import{a}from"../chunk-C3VZY7VJ.js";export{a as usesGelatoBundler};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXLEK44PYcjs = require('../chunk-XLEK44PY.cjs');exports.API_VERSION = _chunkXLEK44PYcjs.e; exports.CURRENT_VERSION = _chunkXLEK44PYcjs.b; exports.SCW_SERVICE = _chunkXLEK44PYcjs.c; exports.SDK_VERSION = _chunkXLEK44PYcjs.d; exports.SUPPORTED_ENTRYPOINT_VERSIONS = _chunkXLEK44PYcjs.g; exports.SUPPORTED_KERNEL_VERSIONS = _chunkXLEK44PYcjs.f; exports.ZERO_DEV_TYPE = _chunkXLEK44PYcjs.a;
@@ -0,0 +1,9 @@
1
+ declare const ZERO_DEV_TYPE = "ZeroDev";
2
+ declare const CURRENT_VERSION = 0;
3
+ declare const SCW_SERVICE = "SCW_SDK";
4
+ declare const SDK_VERSION: string;
5
+ declare const API_VERSION = "2024-06-09";
6
+ declare const SUPPORTED_KERNEL_VERSIONS: readonly ["0.3.1", "0.3.0", "0.2.4"];
7
+ declare const SUPPORTED_ENTRYPOINT_VERSIONS: readonly ["v0.6", "v0.7"];
8
+
9
+ export { API_VERSION, CURRENT_VERSION, SCW_SERVICE, SDK_VERSION, SUPPORTED_ENTRYPOINT_VERSIONS, SUPPORTED_KERNEL_VERSIONS, ZERO_DEV_TYPE };
@@ -0,0 +1,9 @@
1
+ declare const ZERO_DEV_TYPE = "ZeroDev";
2
+ declare const CURRENT_VERSION = 0;
3
+ declare const SCW_SERVICE = "SCW_SDK";
4
+ declare const SDK_VERSION: string;
5
+ declare const API_VERSION = "2024-06-09";
6
+ declare const SUPPORTED_KERNEL_VERSIONS: readonly ["0.3.1", "0.3.0", "0.2.4"];
7
+ declare const SUPPORTED_ENTRYPOINT_VERSIONS: readonly ["v0.6", "v0.7"];
8
+
9
+ export { API_VERSION, CURRENT_VERSION, SCW_SERVICE, SDK_VERSION, SUPPORTED_ENTRYPOINT_VERSIONS, SUPPORTED_KERNEL_VERSIONS, ZERO_DEV_TYPE };
@@ -0,0 +1 @@
1
+ import{a,b,c,d,e,f,g}from"../chunk-EAOSAOUJ.js";export{e as API_VERSION,b as CURRENT_VERSION,c as SCW_SERVICE,d as SDK_VERSION,g as SUPPORTED_ENTRYPOINT_VERSIONS,f as SUPPORTED_KERNEL_VERSIONS,a as ZERO_DEV_TYPE};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkSTH2LE35cjs = require('../chunk-STH2LE35.cjs');exports.isClient = _chunkSTH2LE35cjs.a;
@@ -0,0 +1,3 @@
1
+ declare function isClient(): boolean;
2
+
3
+ export { isClient };
@@ -0,0 +1,3 @@
1
+ declare function isClient(): boolean;
2
+
3
+ export { isClient };
@@ -0,0 +1 @@
1
+ import{a}from"../chunk-D4NDUT36.js";export{a as isClient};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXJGFG3RTcjs = require('../chunk-XJGFG3RT.cjs');exports.equalsIgnoreCase = _chunkXJGFG3RTcjs.b; exports.isEmpty = _chunkXJGFG3RTcjs.a;
@@ -0,0 +1,4 @@
1
+ declare function isEmpty(str: string | undefined | null): str is undefined | null;
2
+ declare function equalsIgnoreCase(a?: string, b?: string): boolean;
3
+
4
+ export { equalsIgnoreCase, isEmpty };
@@ -0,0 +1,4 @@
1
+ declare function isEmpty(str: string | undefined | null): str is undefined | null;
2
+ declare function equalsIgnoreCase(a?: string, b?: string): boolean;
3
+
4
+ export { equalsIgnoreCase, isEmpty };
@@ -0,0 +1 @@
1
+ import{a,b}from"../chunk-CUTQYF3F.js";export{b as equalsIgnoreCase,a as isEmpty};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkDIDKPOO2cjs = require('../chunk-DIDKPOO2.cjs');require('../chunk-M4K3IZTT.cjs');exports.createOwnerSigner = _chunkDIDKPOO2cjs.a; exports.isAccount = _chunkDIDKPOO2cjs.b;
@@ -0,0 +1,15 @@
1
+ import { SmartAccountSigner } from 'permissionless/accounts';
2
+ import { Address } from 'viem';
3
+ import { SmartWalletChain } from '../blockchain/chains.cjs';
4
+ import { ViemAccount, WalletParams } from '../types/params.cjs';
5
+ import 'viem/chains';
6
+ import '@crossmint/common-sdk-base';
7
+
8
+ type CreateOwnerSignerInput = {
9
+ chain: SmartWalletChain;
10
+ walletParams: WalletParams;
11
+ };
12
+ declare function createOwnerSigner({ walletParams, }: CreateOwnerSignerInput): Promise<SmartAccountSigner<"custom", Address>>;
13
+ declare function isAccount(signer: any): signer is ViemAccount;
14
+
15
+ export { createOwnerSigner, isAccount };
@@ -0,0 +1,15 @@
1
+ import { SmartAccountSigner } from 'permissionless/accounts';
2
+ import { Address } from 'viem';
3
+ import { SmartWalletChain } from '../blockchain/chains.js';
4
+ import { ViemAccount, WalletParams } from '../types/params.js';
5
+ import 'viem/chains';
6
+ import '@crossmint/common-sdk-base';
7
+
8
+ type CreateOwnerSignerInput = {
9
+ chain: SmartWalletChain;
10
+ walletParams: WalletParams;
11
+ };
12
+ declare function createOwnerSigner({ walletParams, }: CreateOwnerSignerInput): Promise<SmartAccountSigner<"custom", Address>>;
13
+ declare function isAccount(signer: any): signer is ViemAccount;
14
+
15
+ export { createOwnerSigner, isAccount };
@@ -0,0 +1 @@
1
+ import{a,b}from"../chunk-FHNNZVNU.js";import"../chunk-UPURFW46.js";export{a as createOwnerSigner,b as isAccount};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var a={kernelVersion:"0.3.1",entryPointVersion:"v0.7",userId:"devlyn@paella.dev",signers:[{signerData:{entryPoint:"0x0000000071727De22E5E9d8BAf0edAc6f37da032",validatorAddress:"0xbA45a2BFb8De3D24cA9D7F1B551E14dFF5d690Fd",pubKeyX:"110311240024954100085667226472791468894960420468782293097673057837941382345525",pubKeyY:"55639753423913323920634804373610812340711881298092778447611544058799129775494",authenticatorIdHash:"0xb7f951026ad956257e41c16f5e6c1c8969968356c9a8a8df916fcceda53f5c6a",authenticatorId:"u76dDdMEjTBgm68gbqfbaAlSoqE",passkeyName:"devlyn@paella.dev",validatorContractVersion:"0.0.2",domain:"localhost",type:"passkeys"}}],smartContractWalletAddress:"0x7EAf93269C06Af4236E08d16d5220Df5f964eD87"};exports.mockConfig = a;
@@ -0,0 +1,18 @@
1
+ import { S as SmartWalletConfig } from '../service-Ir-Qho-9.cjs';
2
+ import 'zod';
3
+ import '@zerodev/sdk';
4
+ import 'permissionless';
5
+ import 'permissionless/accounts';
6
+ import 'permissionless/types/entrypoint';
7
+ import 'viem';
8
+ import '../blockchain/chains.cjs';
9
+ import 'viem/chains';
10
+ import '@crossmint/common-sdk-base';
11
+ import '../types/schema.cjs';
12
+ import '@zerodev/passkey-validator';
13
+ import './constants.cjs';
14
+ import '../types/params.cjs';
15
+
16
+ declare const mockConfig: SmartWalletConfig;
17
+
18
+ export { mockConfig };
@@ -0,0 +1,18 @@
1
+ import { S as SmartWalletConfig } from '../service-DqYCir8s.js';
2
+ import 'zod';
3
+ import '@zerodev/sdk';
4
+ import 'permissionless';
5
+ import 'permissionless/accounts';
6
+ import 'permissionless/types/entrypoint';
7
+ import 'viem';
8
+ import '../blockchain/chains.js';
9
+ import 'viem/chains';
10
+ import '@crossmint/common-sdk-base';
11
+ import '../types/schema.js';
12
+ import '@zerodev/passkey-validator';
13
+ import './constants.js';
14
+ import '../types/params.js';
15
+
16
+ declare const mockConfig: SmartWalletConfig;
17
+
18
+ export { mockConfig };
@@ -0,0 +1 @@
1
+ var t={kernelVersion:"0.3.1",entryPointVersion:"v0.7",userId:"devlyn@paella.dev",signers:[{signerData:{entryPoint:"0x0000000071727De22E5E9d8BAf0edAc6f37da032",validatorAddress:"0xbA45a2BFb8De3D24cA9D7F1B551E14dFF5d690Fd",pubKeyX:"110311240024954100085667226472791468894960420468782293097673057837941382345525",pubKeyY:"55639753423913323920634804373610812340711881298092778447611544058799129775494",authenticatorIdHash:"0xb7f951026ad956257e41c16f5e6c1c8969968356c9a8a8df916fcceda53f5c6a",authenticatorId:"u76dDdMEjTBgm68gbqfbaAlSoqE",passkeyName:"devlyn@paella.dev",validatorContractVersion:"0.0.2",domain:"localhost",type:"passkeys"}}],smartContractWalletAddress:"0x7EAf93269C06Af4236E08d16d5220Df5f964eD87"};export{t as mockConfig};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crossmint/client-sdk-smart-wallet",
3
- "version": "0.1.18",
3
+ "version": "0.1.20",
4
4
  "repository": "https://github.com/Crossmint/crossmint-sdk",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Paella Labs Inc",
@@ -26,7 +26,7 @@
26
26
  "permissionless": "0.1.36",
27
27
  "viem": "2.17.5",
28
28
  "zod": "3.22.4",
29
- "@crossmint/client-sdk-base": "1.2.8",
29
+ "@crossmint/client-sdk-base": "1.3.0",
30
30
  "@crossmint/common-sdk-base": "0.2.0"
31
31
  },
32
32
  "devDependencies": {
@@ -35,9 +35,8 @@
35
35
  "typedoc-plugin-markdown": "4.2.3"
36
36
  },
37
37
  "scripts": {
38
- "build": "tsup src/index.ts --clean --format esm,cjs --outDir ./dist --minify --dts --sourcemap",
39
- "build-no-minify": "tsup src/index.ts --clean --format esm,cjs --outDir ./dist --dts --sourcemap",
40
- "dev": "tsup src/index.ts --clean --format esm,cjs --outDir ./dist --dts --sourcemap --watch",
38
+ "build": "tsup",
39
+ "dev": "tsup --watch",
41
40
  "test": "vitest run"
42
41
  }
43
42
  }
@@ -11,7 +11,7 @@ import {
11
11
  PasskeyRegistrationError,
12
12
  } from "../../../error";
13
13
  import type { AccountAndSigner, PasskeyCreationContext } from "../../../types/internal";
14
- import type { UserParams } from "../../../types/params";
14
+ import type { PasskeySigner, UserParams, WalletParams } from "../../../types/params";
15
15
  import type { PasskeySignerData, PasskeyValidatorSerializedData } from "../../../types/service";
16
16
  import { PasskeySignerConfig } from "./signer";
17
17
  import type { AccountCreationStrategy } from "./strategy";
@@ -42,6 +42,10 @@ export class PasskeyCreationStrategy implements AccountCreationStrategy {
42
42
  }
43
43
 
44
44
  try {
45
+ if (existing == null && walletParams.signer.onPrePasskeyRegistration != null) {
46
+ await walletParams.signer.onPrePasskeyRegistration();
47
+ }
48
+
45
49
  const passkey = await this.getPasskey(user, inputPasskeyName, existing?.signerConfig.data);
46
50
 
47
51
  const latestValidatorVersion = PasskeyValidatorContractVersion.V0_0_2;
@@ -64,9 +68,12 @@ export class PasskeyCreationStrategy implements AccountCreationStrategy {
64
68
 
65
69
  return {
66
70
  signerConfig: this.getSignerConfig(validator, validatorContractVersion, inputPasskeyName),
67
- account: this.decorate(kernelAccount, inputPasskeyName),
71
+ account: this.decorate(kernelAccount, inputPasskeyName, walletParams),
68
72
  };
69
73
  } catch (error) {
74
+ if (walletParams.signer.onPasskeyRegistrationError != null) {
75
+ walletParams.signer.onPasskeyRegistrationError(error);
76
+ }
70
77
  throw this.mapError(error, inputPasskeyName);
71
78
  }
72
79
  }
@@ -130,7 +137,11 @@ export class PasskeyCreationStrategy implements AccountCreationStrategy {
130
137
  return error;
131
138
  }
132
139
 
133
- private decorate<Account extends KernelSmartAccount<EntryPoint>>(account: Account, passkeyName: string): Account {
140
+ private decorate<Account extends KernelSmartAccount<EntryPoint>>(
141
+ account: Account,
142
+ passkeyName: string,
143
+ walletParams: WalletParams
144
+ ): Account {
134
145
  return new Proxy(account, {
135
146
  get: (target, prop, receiver) => {
136
147
  const original = Reflect.get(target, prop, receiver);
@@ -138,10 +149,23 @@ export class PasskeyCreationStrategy implements AccountCreationStrategy {
138
149
  return original;
139
150
  }
140
151
 
152
+ const signer = walletParams.signer as PasskeySigner;
141
153
  return async (...args: any[]) => {
154
+ const isFirstTransaction = args?.[0]?.factoryData != null;
155
+ if (
156
+ isFirstTransaction &&
157
+ prop === "signUserOperation" &&
158
+ signer.type === "PASSKEY" &&
159
+ signer.onFirstTimePasskeySigning != null
160
+ ) {
161
+ await signer.onFirstTimePasskeySigning();
162
+ }
142
163
  try {
143
164
  return await original.call(target, ...args);
144
165
  } catch (error) {
166
+ if (signer.onFirstTimePasskeySigningError != null) {
167
+ await signer.onFirstTimePasskeySigningError(error);
168
+ }
145
169
  throw this.mapError(error, passkeyName);
146
170
  }
147
171
  };