@metamask/keyring-api 11.1.0 → 13.0.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 (314) hide show
  1. package/CHANGELOG.md +25 -1
  2. package/dist/api/account.cjs +7 -4
  3. package/dist/api/account.cjs.map +1 -1
  4. package/dist/api/account.d.cts +6 -1
  5. package/dist/api/account.d.cts.map +1 -1
  6. package/dist/api/account.d.mts +6 -1
  7. package/dist/api/account.d.mts.map +1 -1
  8. package/dist/api/account.mjs +7 -4
  9. package/dist/api/account.mjs.map +1 -1
  10. package/dist/api/asset.cjs +5 -6
  11. package/dist/api/asset.cjs.map +1 -1
  12. package/dist/api/asset.d.cts +2 -2
  13. package/dist/api/asset.d.cts.map +1 -1
  14. package/dist/api/asset.d.mts +2 -2
  15. package/dist/api/asset.d.mts.map +1 -1
  16. package/dist/api/asset.mjs +1 -2
  17. package/dist/api/asset.mjs.map +1 -1
  18. package/dist/api/balance.cjs +3 -4
  19. package/dist/api/balance.cjs.map +1 -1
  20. package/dist/api/balance.d.cts.map +1 -1
  21. package/dist/api/balance.d.mts.map +1 -1
  22. package/dist/api/balance.mjs +1 -2
  23. package/dist/api/balance.mjs.map +1 -1
  24. package/dist/api/caip.cjs +3 -3
  25. package/dist/api/caip.cjs.map +1 -1
  26. package/dist/api/caip.d.cts.map +1 -1
  27. package/dist/api/caip.d.mts.map +1 -1
  28. package/dist/api/caip.mjs +1 -1
  29. package/dist/api/caip.mjs.map +1 -1
  30. package/dist/api/index.cjs +1 -0
  31. package/dist/api/index.cjs.map +1 -1
  32. package/dist/api/index.d.cts +1 -0
  33. package/dist/api/index.d.cts.map +1 -1
  34. package/dist/api/index.d.mts +1 -0
  35. package/dist/api/index.d.mts.map +1 -1
  36. package/dist/api/index.mjs +1 -0
  37. package/dist/api/index.mjs.map +1 -1
  38. package/dist/api/keyring.cjs +2 -0
  39. package/dist/api/keyring.cjs.map +1 -1
  40. package/dist/api/keyring.d.cts +1 -1
  41. package/dist/api/keyring.d.cts.map +1 -1
  42. package/dist/api/keyring.d.mts +1 -1
  43. package/dist/api/keyring.d.mts.map +1 -1
  44. package/dist/api/keyring.mjs +2 -0
  45. package/dist/api/keyring.mjs.map +1 -1
  46. package/dist/{utils → api}/pagination.cjs +3 -3
  47. package/dist/api/pagination.cjs.map +1 -0
  48. package/dist/{utils → api}/pagination.d.cts +1 -1
  49. package/dist/api/pagination.d.cts.map +1 -0
  50. package/dist/{utils → api}/pagination.d.mts +1 -1
  51. package/dist/api/pagination.d.mts.map +1 -0
  52. package/dist/{utils → api}/pagination.mjs +1 -1
  53. package/dist/api/pagination.mjs.map +1 -0
  54. package/dist/api/request.cjs +6 -7
  55. package/dist/api/request.cjs.map +1 -1
  56. package/dist/api/request.d.cts +5 -5
  57. package/dist/api/request.d.cts.map +1 -1
  58. package/dist/api/request.d.mts +5 -5
  59. package/dist/api/request.d.mts.map +1 -1
  60. package/dist/api/request.mjs +1 -2
  61. package/dist/api/request.mjs.map +1 -1
  62. package/dist/api/response.cjs +6 -6
  63. package/dist/api/response.cjs.map +1 -1
  64. package/dist/api/response.d.cts +1 -1
  65. package/dist/api/response.d.cts.map +1 -1
  66. package/dist/api/response.d.mts +1 -1
  67. package/dist/api/response.d.mts.map +1 -1
  68. package/dist/api/response.mjs +1 -1
  69. package/dist/api/response.mjs.map +1 -1
  70. package/dist/api/transaction.cjs +7 -8
  71. package/dist/api/transaction.cjs.map +1 -1
  72. package/dist/api/transaction.d.cts +65 -65
  73. package/dist/api/transaction.d.cts.map +1 -1
  74. package/dist/api/transaction.d.mts +65 -65
  75. package/dist/api/transaction.d.mts.map +1 -1
  76. package/dist/api/transaction.mjs +1 -2
  77. package/dist/api/transaction.mjs.map +1 -1
  78. package/dist/btc/constants.cjs +17 -0
  79. package/dist/btc/constants.cjs.map +1 -0
  80. package/dist/btc/constants.d.cts +12 -0
  81. package/dist/btc/constants.d.cts.map +1 -0
  82. package/dist/btc/constants.d.mts +12 -0
  83. package/dist/btc/constants.d.mts.map +1 -0
  84. package/dist/btc/constants.mjs +14 -0
  85. package/dist/btc/constants.mjs.map +1 -0
  86. package/dist/btc/index.cjs +1 -0
  87. package/dist/btc/index.cjs.map +1 -1
  88. package/dist/btc/index.d.cts +1 -0
  89. package/dist/btc/index.d.cts.map +1 -1
  90. package/dist/btc/index.d.mts +1 -0
  91. package/dist/btc/index.d.mts.map +1 -1
  92. package/dist/btc/index.mjs +1 -0
  93. package/dist/btc/index.mjs.map +1 -1
  94. package/dist/btc/types.cjs +2 -2
  95. package/dist/btc/types.cjs.map +1 -1
  96. package/dist/btc/types.d.cts +3 -1
  97. package/dist/btc/types.d.cts.map +1 -1
  98. package/dist/btc/types.d.mts +3 -1
  99. package/dist/btc/types.d.mts.map +1 -1
  100. package/dist/btc/types.mjs +2 -2
  101. package/dist/btc/types.mjs.map +1 -1
  102. package/dist/eth/constants.cjs +13 -0
  103. package/dist/eth/constants.cjs.map +1 -0
  104. package/dist/eth/constants.d.cts +8 -0
  105. package/dist/eth/constants.d.cts.map +1 -0
  106. package/dist/eth/constants.d.mts +8 -0
  107. package/dist/eth/constants.d.mts.map +1 -0
  108. package/dist/eth/constants.mjs +10 -0
  109. package/dist/eth/constants.mjs.map +1 -0
  110. package/dist/eth/erc4337/types.cjs +10 -11
  111. package/dist/eth/erc4337/types.cjs.map +1 -1
  112. package/dist/eth/erc4337/types.d.cts +5 -5
  113. package/dist/eth/erc4337/types.d.cts.map +1 -1
  114. package/dist/eth/erc4337/types.d.mts +5 -5
  115. package/dist/eth/erc4337/types.d.mts.map +1 -1
  116. package/dist/eth/erc4337/types.mjs +1 -2
  117. package/dist/eth/erc4337/types.mjs.map +1 -1
  118. package/dist/eth/index.cjs +1 -0
  119. package/dist/eth/index.cjs.map +1 -1
  120. package/dist/eth/index.d.cts +1 -0
  121. package/dist/eth/index.d.cts.map +1 -1
  122. package/dist/eth/index.d.mts +1 -0
  123. package/dist/eth/index.d.mts.map +1 -1
  124. package/dist/eth/index.mjs +1 -0
  125. package/dist/eth/index.mjs.map +1 -1
  126. package/dist/eth/types.cjs +11 -6
  127. package/dist/eth/types.cjs.map +1 -1
  128. package/dist/eth/types.d.cts +10 -2
  129. package/dist/eth/types.d.cts.map +1 -1
  130. package/dist/eth/types.d.mts +10 -2
  131. package/dist/eth/types.d.mts.map +1 -1
  132. package/dist/eth/types.mjs +7 -2
  133. package/dist/eth/types.mjs.map +1 -1
  134. package/dist/eth/utils.cjs.map +1 -1
  135. package/dist/eth/utils.d.cts.map +1 -1
  136. package/dist/eth/utils.d.mts.map +1 -1
  137. package/dist/eth/utils.mjs.map +1 -1
  138. package/dist/events.cjs +67 -1
  139. package/dist/events.cjs.map +1 -1
  140. package/dist/events.d.cts +169 -0
  141. package/dist/events.d.cts.map +1 -1
  142. package/dist/events.d.mts +169 -0
  143. package/dist/events.d.mts.map +1 -1
  144. package/dist/events.mjs +66 -0
  145. package/dist/events.mjs.map +1 -1
  146. package/dist/index.cjs +2 -8
  147. package/dist/index.cjs.map +1 -1
  148. package/dist/index.d.cts +3 -9
  149. package/dist/index.d.cts.map +1 -1
  150. package/dist/index.d.mts +3 -9
  151. package/dist/index.d.mts.map +1 -1
  152. package/dist/index.mjs +2 -8
  153. package/dist/index.mjs.map +1 -1
  154. package/dist/{internal/api.cjs → rpc.cjs} +71 -42
  155. package/dist/rpc.cjs.map +1 -0
  156. package/dist/{internal/api.d.cts → rpc.d.cts} +141 -104
  157. package/dist/rpc.d.cts.map +1 -0
  158. package/dist/{internal/api.d.mts → rpc.d.mts} +141 -104
  159. package/dist/rpc.d.mts.map +1 -0
  160. package/dist/{internal/api.mjs → rpc.mjs} +33 -5
  161. package/dist/rpc.mjs.map +1 -0
  162. package/dist/sol/constants.cjs +15 -0
  163. package/dist/sol/constants.cjs.map +1 -0
  164. package/dist/sol/constants.d.cts +10 -0
  165. package/dist/sol/constants.d.cts.map +1 -0
  166. package/dist/sol/constants.d.mts +10 -0
  167. package/dist/sol/constants.d.mts.map +1 -0
  168. package/dist/sol/constants.mjs +12 -0
  169. package/dist/sol/constants.mjs.map +1 -0
  170. package/dist/sol/index.cjs +1 -0
  171. package/dist/sol/index.cjs.map +1 -1
  172. package/dist/sol/index.d.cts +1 -0
  173. package/dist/sol/index.d.cts.map +1 -1
  174. package/dist/sol/index.d.mts +1 -0
  175. package/dist/sol/index.d.mts.map +1 -1
  176. package/dist/sol/index.mjs +1 -0
  177. package/dist/sol/index.mjs.map +1 -1
  178. package/dist/sol/types.cjs +3 -3
  179. package/dist/sol/types.cjs.map +1 -1
  180. package/dist/sol/types.d.cts +3 -1
  181. package/dist/sol/types.d.cts.map +1 -1
  182. package/dist/sol/types.d.mts +3 -1
  183. package/dist/sol/types.d.mts.map +1 -1
  184. package/dist/sol/types.mjs +1 -1
  185. package/dist/sol/types.mjs.map +1 -1
  186. package/package.json +11 -14
  187. package/dist/JsonRpcRequest.cjs +0 -13
  188. package/dist/JsonRpcRequest.cjs.map +0 -1
  189. package/dist/JsonRpcRequest.d.cts +0 -17
  190. package/dist/JsonRpcRequest.d.cts.map +0 -1
  191. package/dist/JsonRpcRequest.d.mts +0 -17
  192. package/dist/JsonRpcRequest.d.mts.map +0 -1
  193. package/dist/JsonRpcRequest.mjs +0 -10
  194. package/dist/JsonRpcRequest.mjs.map +0 -1
  195. package/dist/KeyringClient.cjs +0 -130
  196. package/dist/KeyringClient.cjs.map +0 -1
  197. package/dist/KeyringClient.d.cts +0 -31
  198. package/dist/KeyringClient.d.cts.map +0 -1
  199. package/dist/KeyringClient.d.mts +0 -31
  200. package/dist/KeyringClient.d.mts.map +0 -1
  201. package/dist/KeyringClient.mjs +0 -126
  202. package/dist/KeyringClient.mjs.map +0 -1
  203. package/dist/KeyringSnapRpcClient.cjs +0 -68
  204. package/dist/KeyringSnapRpcClient.cjs.map +0 -1
  205. package/dist/KeyringSnapRpcClient.d.cts +0 -40
  206. package/dist/KeyringSnapRpcClient.d.cts.map +0 -1
  207. package/dist/KeyringSnapRpcClient.d.mts +0 -40
  208. package/dist/KeyringSnapRpcClient.d.mts.map +0 -1
  209. package/dist/KeyringSnapRpcClient.mjs +0 -63
  210. package/dist/KeyringSnapRpcClient.mjs.map +0 -1
  211. package/dist/internal/api.cjs.map +0 -1
  212. package/dist/internal/api.d.cts.map +0 -1
  213. package/dist/internal/api.d.mts.map +0 -1
  214. package/dist/internal/api.mjs.map +0 -1
  215. package/dist/internal/eth/EthKeyring.cjs +0 -3
  216. package/dist/internal/eth/EthKeyring.cjs.map +0 -1
  217. package/dist/internal/eth/EthKeyring.d.cts +0 -34
  218. package/dist/internal/eth/EthKeyring.d.cts.map +0 -1
  219. package/dist/internal/eth/EthKeyring.d.mts +0 -34
  220. package/dist/internal/eth/EthKeyring.d.mts.map +0 -1
  221. package/dist/internal/eth/EthKeyring.mjs +0 -2
  222. package/dist/internal/eth/EthKeyring.mjs.map +0 -1
  223. package/dist/internal/eth/index.cjs +0 -3
  224. package/dist/internal/eth/index.cjs.map +0 -1
  225. package/dist/internal/eth/index.d.cts +0 -2
  226. package/dist/internal/eth/index.d.cts.map +0 -1
  227. package/dist/internal/eth/index.d.mts +0 -2
  228. package/dist/internal/eth/index.d.mts.map +0 -1
  229. package/dist/internal/eth/index.mjs +0 -2
  230. package/dist/internal/eth/index.mjs.map +0 -1
  231. package/dist/internal/events.cjs +0 -72
  232. package/dist/internal/events.cjs.map +0 -1
  233. package/dist/internal/events.d.cts +0 -162
  234. package/dist/internal/events.d.cts.map +0 -1
  235. package/dist/internal/events.d.mts +0 -162
  236. package/dist/internal/events.d.mts.map +0 -1
  237. package/dist/internal/events.mjs +0 -69
  238. package/dist/internal/events.mjs.map +0 -1
  239. package/dist/internal/index.cjs +0 -21
  240. package/dist/internal/index.cjs.map +0 -1
  241. package/dist/internal/index.d.cts +0 -6
  242. package/dist/internal/index.d.cts.map +0 -1
  243. package/dist/internal/index.d.mts +0 -6
  244. package/dist/internal/index.d.mts.map +0 -1
  245. package/dist/internal/index.mjs +0 -5
  246. package/dist/internal/index.mjs.map +0 -1
  247. package/dist/internal/rpc.cjs +0 -34
  248. package/dist/internal/rpc.cjs.map +0 -1
  249. package/dist/internal/rpc.d.cts +0 -27
  250. package/dist/internal/rpc.d.cts.map +0 -1
  251. package/dist/internal/rpc.d.mts +0 -27
  252. package/dist/internal/rpc.d.mts.map +0 -1
  253. package/dist/internal/rpc.mjs +0 -30
  254. package/dist/internal/rpc.mjs.map +0 -1
  255. package/dist/internal/types.cjs +0 -52
  256. package/dist/internal/types.cjs.map +0 -1
  257. package/dist/internal/types.d.cts +0 -392
  258. package/dist/internal/types.d.cts.map +0 -1
  259. package/dist/internal/types.d.mts +0 -392
  260. package/dist/internal/types.d.mts.map +0 -1
  261. package/dist/internal/types.mjs +0 -49
  262. package/dist/internal/types.mjs.map +0 -1
  263. package/dist/rpc-handler.cjs +0 -143
  264. package/dist/rpc-handler.cjs.map +0 -1
  265. package/dist/rpc-handler.d.cts +0 -30
  266. package/dist/rpc-handler.d.cts.map +0 -1
  267. package/dist/rpc-handler.d.mts +0 -30
  268. package/dist/rpc-handler.d.mts.map +0 -1
  269. package/dist/rpc-handler.mjs +0 -138
  270. package/dist/rpc-handler.mjs.map +0 -1
  271. package/dist/snap-utils.cjs +0 -20
  272. package/dist/snap-utils.cjs.map +0 -1
  273. package/dist/snap-utils.d.cts +0 -12
  274. package/dist/snap-utils.d.cts.map +0 -1
  275. package/dist/snap-utils.d.mts +0 -12
  276. package/dist/snap-utils.d.mts.map +0 -1
  277. package/dist/snap-utils.mjs +0 -17
  278. package/dist/snap-utils.mjs.map +0 -1
  279. package/dist/superstruct.cjs +0 -109
  280. package/dist/superstruct.cjs.map +0 -1
  281. package/dist/superstruct.d.cts +0 -102
  282. package/dist/superstruct.d.cts.map +0 -1
  283. package/dist/superstruct.d.mts +0 -102
  284. package/dist/superstruct.d.mts.map +0 -1
  285. package/dist/superstruct.mjs +0 -102
  286. package/dist/superstruct.mjs.map +0 -1
  287. package/dist/utils/index.cjs +0 -20
  288. package/dist/utils/index.cjs.map +0 -1
  289. package/dist/utils/index.d.cts +0 -4
  290. package/dist/utils/index.d.cts.map +0 -1
  291. package/dist/utils/index.d.mts +0 -4
  292. package/dist/utils/index.d.mts.map +0 -1
  293. package/dist/utils/index.mjs +0 -4
  294. package/dist/utils/index.mjs.map +0 -1
  295. package/dist/utils/pagination.cjs.map +0 -1
  296. package/dist/utils/pagination.d.cts.map +0 -1
  297. package/dist/utils/pagination.d.mts.map +0 -1
  298. package/dist/utils/pagination.mjs.map +0 -1
  299. package/dist/utils/types.cjs +0 -29
  300. package/dist/utils/types.cjs.map +0 -1
  301. package/dist/utils/types.d.cts +0 -42
  302. package/dist/utils/types.d.cts.map +0 -1
  303. package/dist/utils/types.d.mts +0 -42
  304. package/dist/utils/types.d.mts.map +0 -1
  305. package/dist/utils/types.mjs +0 -26
  306. package/dist/utils/types.mjs.map +0 -1
  307. package/dist/utils/typing.cjs +0 -20
  308. package/dist/utils/typing.cjs.map +0 -1
  309. package/dist/utils/typing.d.cts +0 -33
  310. package/dist/utils/typing.d.cts.map +0 -1
  311. package/dist/utils/typing.d.mts +0 -33
  312. package/dist/utils/typing.d.mts.map +0 -1
  313. package/dist/utils/typing.mjs +0 -17
  314. package/dist/utils/typing.mjs.map +0 -1
@@ -1,392 +0,0 @@
1
- import type { Infer, Struct } from "@metamask/superstruct";
2
- import { BtcAccountType, EthAccountType, SolAccountType } from "../api/index.mjs";
3
- export type InternalAccountType = EthAccountType | BtcAccountType | SolAccountType;
4
- export declare const InternalAccountMetadataStruct: Struct<{
5
- metadata: {
6
- name: string;
7
- importTime: number;
8
- keyring: {
9
- type: string;
10
- };
11
- nameLastUpdatedAt?: number;
12
- snap?: {
13
- id: string;
14
- name: string;
15
- enabled: boolean;
16
- };
17
- lastSelected?: number;
18
- };
19
- }, {
20
- metadata: Struct<{
21
- name: string;
22
- importTime: number;
23
- keyring: {
24
- type: string;
25
- };
26
- nameLastUpdatedAt?: number;
27
- snap?: {
28
- id: string;
29
- name: string;
30
- enabled: boolean;
31
- };
32
- lastSelected?: number;
33
- }, {
34
- name: Struct<string, null>;
35
- nameLastUpdatedAt: Struct<number | import("../superstruct.mjs").ExactOptionalTag, null>;
36
- snap: Struct<import("../superstruct.mjs").ExactOptionalTag | {
37
- id: string;
38
- name: string;
39
- enabled: boolean;
40
- }, {
41
- id: Struct<string, null>;
42
- enabled: Struct<boolean, null>;
43
- name: Struct<string, null>;
44
- }>;
45
- lastSelected: Struct<number | import("../superstruct.mjs").ExactOptionalTag, null>;
46
- importTime: Struct<number, null>;
47
- keyring: Struct<{
48
- type: string;
49
- }, {
50
- type: Struct<string, null>;
51
- }>;
52
- }>;
53
- }>;
54
- export declare const InternalEthEoaAccountStruct: Struct<{
55
- type: "eip155:eoa";
56
- id: string;
57
- address: string;
58
- options: Record<string, import("@metamask/utils").Json>;
59
- methods: ("personal_sign" | "eth_sign" | "eth_signTransaction" | "eth_signTypedData_v1" | "eth_signTypedData_v3" | "eth_signTypedData_v4")[];
60
- metadata: {
61
- name: string;
62
- importTime: number;
63
- keyring: {
64
- type: string;
65
- };
66
- nameLastUpdatedAt?: number;
67
- snap?: {
68
- id: string;
69
- name: string;
70
- enabled: boolean;
71
- };
72
- lastSelected?: number;
73
- };
74
- }, {
75
- metadata: Struct<{
76
- name: string;
77
- importTime: number;
78
- keyring: {
79
- type: string;
80
- };
81
- nameLastUpdatedAt?: number;
82
- snap?: {
83
- id: string;
84
- name: string;
85
- enabled: boolean;
86
- };
87
- lastSelected?: number;
88
- }, {
89
- name: Struct<string, null>;
90
- nameLastUpdatedAt: Struct<number | import("../superstruct.mjs").ExactOptionalTag, null>;
91
- snap: Struct<import("../superstruct.mjs").ExactOptionalTag | {
92
- id: string;
93
- name: string;
94
- enabled: boolean;
95
- }, {
96
- id: Struct<string, null>;
97
- enabled: Struct<boolean, null>;
98
- name: Struct<string, null>;
99
- }>;
100
- lastSelected: Struct<number | import("../superstruct.mjs").ExactOptionalTag, null>;
101
- importTime: Struct<number, null>;
102
- keyring: Struct<{
103
- type: string;
104
- }, {
105
- type: Struct<string, null>;
106
- }>;
107
- }>;
108
- address: Struct<string, null>;
109
- type: Struct<"eip155:eoa", "eip155:eoa">;
110
- methods: Struct<("personal_sign" | "eth_sign" | "eth_signTransaction" | "eth_signTypedData_v1" | "eth_signTypedData_v3" | "eth_signTypedData_v4")[], Struct<"personal_sign" | "eth_sign" | "eth_signTransaction" | "eth_signTypedData_v1" | "eth_signTypedData_v3" | "eth_signTypedData_v4", {
111
- personal_sign: "personal_sign";
112
- eth_sign: "eth_sign";
113
- eth_signTransaction: "eth_signTransaction";
114
- eth_signTypedData_v1: "eth_signTypedData_v1";
115
- eth_signTypedData_v3: "eth_signTypedData_v3";
116
- eth_signTypedData_v4: "eth_signTypedData_v4";
117
- }>>;
118
- id: Struct<string, null>;
119
- options: Struct<Record<string, import("@metamask/utils").Json>, null>;
120
- }>;
121
- export declare const InternalEthErc4337AccountStruct: Struct<{
122
- type: "eip155:erc4337";
123
- id: string;
124
- address: string;
125
- options: Record<string, import("@metamask/utils").Json>;
126
- methods: ("personal_sign" | "eth_sign" | "eth_signTypedData_v1" | "eth_signTypedData_v3" | "eth_signTypedData_v4" | "eth_prepareUserOperation" | "eth_patchUserOperation" | "eth_signUserOperation")[];
127
- metadata: {
128
- name: string;
129
- importTime: number;
130
- keyring: {
131
- type: string;
132
- };
133
- nameLastUpdatedAt?: number;
134
- snap?: {
135
- id: string;
136
- name: string;
137
- enabled: boolean;
138
- };
139
- lastSelected?: number;
140
- };
141
- }, {
142
- metadata: Struct<{
143
- name: string;
144
- importTime: number;
145
- keyring: {
146
- type: string;
147
- };
148
- nameLastUpdatedAt?: number;
149
- snap?: {
150
- id: string;
151
- name: string;
152
- enabled: boolean;
153
- };
154
- lastSelected?: number;
155
- }, {
156
- name: Struct<string, null>;
157
- nameLastUpdatedAt: Struct<number | import("../superstruct.mjs").ExactOptionalTag, null>;
158
- snap: Struct<import("../superstruct.mjs").ExactOptionalTag | {
159
- id: string;
160
- name: string;
161
- enabled: boolean;
162
- }, {
163
- id: Struct<string, null>;
164
- enabled: Struct<boolean, null>;
165
- name: Struct<string, null>;
166
- }>;
167
- lastSelected: Struct<number | import("../superstruct.mjs").ExactOptionalTag, null>;
168
- importTime: Struct<number, null>;
169
- keyring: Struct<{
170
- type: string;
171
- }, {
172
- type: Struct<string, null>;
173
- }>;
174
- }>;
175
- address: Struct<string, null>;
176
- type: Struct<"eip155:erc4337", "eip155:erc4337">;
177
- methods: Struct<("personal_sign" | "eth_sign" | "eth_signTypedData_v1" | "eth_signTypedData_v3" | "eth_signTypedData_v4" | "eth_prepareUserOperation" | "eth_patchUserOperation" | "eth_signUserOperation")[], Struct<"personal_sign" | "eth_sign" | "eth_signTypedData_v1" | "eth_signTypedData_v3" | "eth_signTypedData_v4" | "eth_prepareUserOperation" | "eth_patchUserOperation" | "eth_signUserOperation", {
178
- personal_sign: "personal_sign";
179
- eth_sign: "eth_sign";
180
- eth_signTypedData_v1: "eth_signTypedData_v1";
181
- eth_signTypedData_v3: "eth_signTypedData_v3";
182
- eth_signTypedData_v4: "eth_signTypedData_v4";
183
- eth_prepareUserOperation: "eth_prepareUserOperation";
184
- eth_patchUserOperation: "eth_patchUserOperation";
185
- eth_signUserOperation: "eth_signUserOperation";
186
- }>>;
187
- id: Struct<string, null>;
188
- options: Struct<Record<string, import("@metamask/utils").Json>, null>;
189
- }>;
190
- export declare const InternalBtcP2wpkhAccountStruct: Struct<{
191
- type: "bip122:p2wpkh";
192
- id: string;
193
- address: string;
194
- options: Record<string, import("@metamask/utils").Json>;
195
- methods: "sendBitcoin"[];
196
- metadata: {
197
- name: string;
198
- importTime: number;
199
- keyring: {
200
- type: string;
201
- };
202
- nameLastUpdatedAt?: number;
203
- snap?: {
204
- id: string;
205
- name: string;
206
- enabled: boolean;
207
- };
208
- lastSelected?: number;
209
- };
210
- }, {
211
- metadata: Struct<{
212
- name: string;
213
- importTime: number;
214
- keyring: {
215
- type: string;
216
- };
217
- nameLastUpdatedAt?: number;
218
- snap?: {
219
- id: string;
220
- name: string;
221
- enabled: boolean;
222
- };
223
- lastSelected?: number;
224
- }, {
225
- name: Struct<string, null>;
226
- nameLastUpdatedAt: Struct<number | import("../superstruct.mjs").ExactOptionalTag, null>;
227
- snap: Struct<import("../superstruct.mjs").ExactOptionalTag | {
228
- id: string;
229
- name: string;
230
- enabled: boolean;
231
- }, {
232
- id: Struct<string, null>;
233
- enabled: Struct<boolean, null>;
234
- name: Struct<string, null>;
235
- }>;
236
- lastSelected: Struct<number | import("../superstruct.mjs").ExactOptionalTag, null>;
237
- importTime: Struct<number, null>;
238
- keyring: Struct<{
239
- type: string;
240
- }, {
241
- type: Struct<string, null>;
242
- }>;
243
- }>;
244
- address: Struct<string, null>;
245
- type: Struct<"bip122:p2wpkh", "bip122:p2wpkh">;
246
- methods: Struct<"sendBitcoin"[], Struct<"sendBitcoin", {
247
- sendBitcoin: "sendBitcoin";
248
- }>>;
249
- id: Struct<string, null>;
250
- options: Struct<Record<string, import("@metamask/utils").Json>, null>;
251
- }>;
252
- export declare const InternalSolDataAccountStruct: Struct<{
253
- type: "solana:data-account";
254
- id: string;
255
- address: string;
256
- options: Record<string, import("@metamask/utils").Json>;
257
- methods: "sendAndConfirmTransaction"[];
258
- metadata: {
259
- name: string;
260
- importTime: number;
261
- keyring: {
262
- type: string;
263
- };
264
- nameLastUpdatedAt?: number;
265
- snap?: {
266
- id: string;
267
- name: string;
268
- enabled: boolean;
269
- };
270
- lastSelected?: number;
271
- };
272
- }, {
273
- metadata: Struct<{
274
- name: string;
275
- importTime: number;
276
- keyring: {
277
- type: string;
278
- };
279
- nameLastUpdatedAt?: number;
280
- snap?: {
281
- id: string;
282
- name: string;
283
- enabled: boolean;
284
- };
285
- lastSelected?: number;
286
- }, {
287
- name: Struct<string, null>;
288
- nameLastUpdatedAt: Struct<number | import("../superstruct.mjs").ExactOptionalTag, null>;
289
- snap: Struct<import("../superstruct.mjs").ExactOptionalTag | {
290
- id: string;
291
- name: string;
292
- enabled: boolean;
293
- }, {
294
- id: Struct<string, null>;
295
- enabled: Struct<boolean, null>;
296
- name: Struct<string, null>;
297
- }>;
298
- lastSelected: Struct<number | import("../superstruct.mjs").ExactOptionalTag, null>;
299
- importTime: Struct<number, null>;
300
- keyring: Struct<{
301
- type: string;
302
- }, {
303
- type: Struct<string, null>;
304
- }>;
305
- }>;
306
- address: Struct<string, null>;
307
- type: Struct<"solana:data-account", "solana:data-account">;
308
- methods: Struct<"sendAndConfirmTransaction"[], Struct<"sendAndConfirmTransaction", {
309
- sendAndConfirmTransaction: "sendAndConfirmTransaction";
310
- }>>;
311
- id: Struct<string, null>;
312
- options: Struct<Record<string, import("@metamask/utils").Json>, null>;
313
- }>;
314
- export type InternalEthEoaAccount = Infer<typeof InternalEthEoaAccountStruct>;
315
- export type InternalEthErc4337Account = Infer<typeof InternalEthErc4337AccountStruct>;
316
- export type InternalBtcP2wpkhAccount = Infer<typeof InternalBtcP2wpkhAccountStruct>;
317
- export type InternalSolDataAccount = Infer<typeof InternalSolDataAccountStruct>;
318
- export declare const InternalAccountStructs: Record<string, Struct<InternalEthEoaAccount> | Struct<InternalEthErc4337Account> | Struct<InternalBtcP2wpkhAccount> | Struct<InternalSolDataAccount>>;
319
- export type InternalAccountTypes = InternalEthEoaAccount | InternalEthErc4337Account | InternalBtcP2wpkhAccount | InternalSolDataAccount;
320
- export declare const InternalAccountStruct: Struct<{
321
- type: "eip155:eoa" | "eip155:erc4337" | "bip122:p2wpkh" | "solana:data-account";
322
- id: string;
323
- address: string;
324
- options: Record<string, import("@metamask/utils").Json>;
325
- methods: string[];
326
- metadata: {
327
- name: string;
328
- importTime: number;
329
- keyring: {
330
- type: string;
331
- };
332
- nameLastUpdatedAt?: number;
333
- snap?: {
334
- id: string;
335
- name: string;
336
- enabled: boolean;
337
- };
338
- lastSelected?: number;
339
- };
340
- }, {
341
- metadata: Struct<{
342
- name: string;
343
- importTime: number;
344
- keyring: {
345
- type: string;
346
- };
347
- nameLastUpdatedAt?: number;
348
- snap?: {
349
- id: string;
350
- name: string;
351
- enabled: boolean;
352
- };
353
- lastSelected?: number;
354
- }, {
355
- name: Struct<string, null>;
356
- nameLastUpdatedAt: Struct<number | import("../superstruct.mjs").ExactOptionalTag, null>;
357
- snap: Struct<import("../superstruct.mjs").ExactOptionalTag | {
358
- id: string;
359
- name: string;
360
- enabled: boolean;
361
- }, {
362
- id: Struct<string, null>;
363
- enabled: Struct<boolean, null>;
364
- name: Struct<string, null>;
365
- }>;
366
- lastSelected: Struct<number | import("../superstruct.mjs").ExactOptionalTag, null>;
367
- importTime: Struct<number, null>;
368
- keyring: Struct<{
369
- type: string;
370
- }, {
371
- type: Struct<string, null>;
372
- }>;
373
- }>;
374
- id: Struct<string, null>;
375
- type: Struct<"eip155:eoa" | "eip155:erc4337" | "bip122:p2wpkh" | "solana:data-account", {
376
- "eip155:eoa": "eip155:eoa";
377
- "eip155:erc4337": "eip155:erc4337";
378
- "bip122:p2wpkh": "bip122:p2wpkh";
379
- "solana:data-account": "solana:data-account";
380
- }>;
381
- address: Struct<string, null>;
382
- options: Struct<Record<string, import("@metamask/utils").Json>, null>;
383
- methods: Struct<string[], Struct<string, null>>;
384
- }>;
385
- /**
386
- * Internal account representation.
387
- *
388
- * This type is used internally by MetaMask to add additional metadata to the
389
- * account object. It's should not be used by external applications.
390
- */
391
- export type InternalAccount = Infer<typeof InternalAccountStruct>;
392
- //# sourceMappingURL=types.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../../src/internal/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,8BAA8B;AAG3D,OAAO,EACL,cAAc,EACd,cAAc,EAEd,cAAc,EACf,yBAAe;AAMhB,MAAM,MAAM,mBAAmB,GAC3B,cAAc,GACd,cAAc,GACd,cAAc,CAAC;AAEnB,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBxC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGtC,CAAC;AAEH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG1C,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGzC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGvC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAE9E,MAAM,MAAM,yBAAyB,GAAG,KAAK,CAC3C,OAAO,+BAA+B,CACvC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,KAAK,CAC1C,OAAO,8BAA8B,CACtC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAEhF,eAAO,MAAM,sBAAsB,EAAE,MAAM,CACzC,MAAM,EACJ,MAAM,CAAC,qBAAqB,CAAC,GAC7B,MAAM,CAAC,yBAAyB,CAAC,GACjC,MAAM,CAAC,wBAAwB,CAAC,GAChC,MAAM,CAAC,sBAAsB,CAAC,CAMjC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAC5B,qBAAqB,GACrB,yBAAyB,GACzB,wBAAwB,GACxB,sBAAsB,CAAC;AAE3B,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGhC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
@@ -1,49 +0,0 @@
1
- import { boolean, string, number } from "@metamask/superstruct";
2
- import { BtcAccountType, EthAccountType, KeyringAccountStruct, SolAccountType } from "../api/index.mjs";
3
- import { BtcP2wpkhAccountStruct } from "../btc/types.mjs";
4
- import { EthEoaAccountStruct, EthErc4337AccountStruct } from "../eth/types.mjs";
5
- import { SolDataAccountStruct } from "../sol/types.mjs";
6
- import { exactOptional, object } from "../superstruct.mjs";
7
- export const InternalAccountMetadataStruct = object({
8
- metadata: object({
9
- name: string(),
10
- nameLastUpdatedAt: exactOptional(number()),
11
- snap: exactOptional(object({
12
- id: string(),
13
- enabled: boolean(),
14
- name: string(),
15
- })),
16
- lastSelected: exactOptional(number()),
17
- importTime: number(),
18
- keyring: object({
19
- type: string(),
20
- }),
21
- }),
22
- });
23
- export const InternalEthEoaAccountStruct = object({
24
- ...EthEoaAccountStruct.schema,
25
- ...InternalAccountMetadataStruct.schema,
26
- });
27
- export const InternalEthErc4337AccountStruct = object({
28
- ...EthErc4337AccountStruct.schema,
29
- ...InternalAccountMetadataStruct.schema,
30
- });
31
- export const InternalBtcP2wpkhAccountStruct = object({
32
- ...BtcP2wpkhAccountStruct.schema,
33
- ...InternalAccountMetadataStruct.schema,
34
- });
35
- export const InternalSolDataAccountStruct = object({
36
- ...SolDataAccountStruct.schema,
37
- ...InternalAccountMetadataStruct.schema,
38
- });
39
- export const InternalAccountStructs = {
40
- [`${EthAccountType.Eoa}`]: InternalEthEoaAccountStruct,
41
- [`${EthAccountType.Erc4337}`]: InternalEthErc4337AccountStruct,
42
- [`${BtcAccountType.P2wpkh}`]: InternalBtcP2wpkhAccountStruct,
43
- [`${SolAccountType.DataAccount}`]: InternalSolDataAccountStruct,
44
- };
45
- export const InternalAccountStruct = object({
46
- ...KeyringAccountStruct.schema,
47
- ...InternalAccountMetadataStruct.schema,
48
- });
49
- //# sourceMappingURL=types.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.mjs","sourceRoot":"","sources":["../../src/internal/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,8BAA8B;AAEhE,OAAO,EACL,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,cAAc,EACf,yBAAe;AAChB,OAAO,EAAE,sBAAsB,EAAE,yBAAqB;AACtD,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,yBAAqB;AAC5E,OAAO,EAAE,oBAAoB,EAAE,yBAAqB;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,2BAAuB;AAOvD,MAAM,CAAC,MAAM,6BAA6B,GAAG,MAAM,CAAC;IAClD,QAAQ,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,EAAE;QACd,iBAAiB,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC;QAC1C,IAAI,EAAE,aAAa,CACjB,MAAM,CAAC;YACL,EAAE,EAAE,MAAM,EAAE;YACZ,OAAO,EAAE,OAAO,EAAE;YAClB,IAAI,EAAE,MAAM,EAAE;SACf,CAAC,CACH;QACD,YAAY,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC;QACrC,UAAU,EAAE,MAAM,EAAE;QACpB,OAAO,EAAE,MAAM,CAAC;YACd,IAAI,EAAE,MAAM,EAAE;SACf,CAAC;KACH,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG,MAAM,CAAC;IAChD,GAAG,mBAAmB,CAAC,MAAM;IAC7B,GAAG,6BAA6B,CAAC,MAAM;CACxC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,+BAA+B,GAAG,MAAM,CAAC;IACpD,GAAG,uBAAuB,CAAC,MAAM;IACjC,GAAG,6BAA6B,CAAC,MAAM;CACxC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG,MAAM,CAAC;IACnD,GAAG,sBAAsB,CAAC,MAAM;IAChC,GAAG,6BAA6B,CAAC,MAAM;CACxC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC;IACjD,GAAG,oBAAoB,CAAC,MAAM;IAC9B,GAAG,6BAA6B,CAAC,MAAM;CACxC,CAAC,CAAC;AAcH,MAAM,CAAC,MAAM,sBAAsB,GAM/B;IACF,CAAC,GAAG,cAAc,CAAC,GAAG,EAAE,CAAC,EAAE,2BAA2B;IACtD,CAAC,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC,EAAE,+BAA+B;IAC9D,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,8BAA8B;IAC5D,CAAC,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC,EAAE,4BAA4B;CAChE,CAAC;AAQF,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC;IAC1C,GAAG,oBAAoB,CAAC,MAAM;IAC9B,GAAG,6BAA6B,CAAC,MAAM;CACxC,CAAC,CAAC","sourcesContent":["import type { Infer, Struct } from '@metamask/superstruct';\nimport { boolean, string, number } from '@metamask/superstruct';\n\nimport {\n BtcAccountType,\n EthAccountType,\n KeyringAccountStruct,\n SolAccountType,\n} from '../api';\nimport { BtcP2wpkhAccountStruct } from '../btc/types';\nimport { EthEoaAccountStruct, EthErc4337AccountStruct } from '../eth/types';\nimport { SolDataAccountStruct } from '../sol/types';\nimport { exactOptional, object } from '../superstruct';\n\nexport type InternalAccountType =\n | EthAccountType\n | BtcAccountType\n | SolAccountType;\n\nexport const InternalAccountMetadataStruct = object({\n metadata: object({\n name: string(),\n nameLastUpdatedAt: exactOptional(number()),\n snap: exactOptional(\n object({\n id: string(),\n enabled: boolean(),\n name: string(),\n }),\n ),\n lastSelected: exactOptional(number()),\n importTime: number(),\n keyring: object({\n type: string(),\n }),\n }),\n});\n\nexport const InternalEthEoaAccountStruct = object({\n ...EthEoaAccountStruct.schema,\n ...InternalAccountMetadataStruct.schema,\n});\n\nexport const InternalEthErc4337AccountStruct = object({\n ...EthErc4337AccountStruct.schema,\n ...InternalAccountMetadataStruct.schema,\n});\n\nexport const InternalBtcP2wpkhAccountStruct = object({\n ...BtcP2wpkhAccountStruct.schema,\n ...InternalAccountMetadataStruct.schema,\n});\n\nexport const InternalSolDataAccountStruct = object({\n ...SolDataAccountStruct.schema,\n ...InternalAccountMetadataStruct.schema,\n});\n\nexport type InternalEthEoaAccount = Infer<typeof InternalEthEoaAccountStruct>;\n\nexport type InternalEthErc4337Account = Infer<\n typeof InternalEthErc4337AccountStruct\n>;\n\nexport type InternalBtcP2wpkhAccount = Infer<\n typeof InternalBtcP2wpkhAccountStruct\n>;\n\nexport type InternalSolDataAccount = Infer<typeof InternalSolDataAccountStruct>;\n\nexport const InternalAccountStructs: Record<\n string,\n | Struct<InternalEthEoaAccount>\n | Struct<InternalEthErc4337Account>\n | Struct<InternalBtcP2wpkhAccount>\n | Struct<InternalSolDataAccount>\n> = {\n [`${EthAccountType.Eoa}`]: InternalEthEoaAccountStruct,\n [`${EthAccountType.Erc4337}`]: InternalEthErc4337AccountStruct,\n [`${BtcAccountType.P2wpkh}`]: InternalBtcP2wpkhAccountStruct,\n [`${SolAccountType.DataAccount}`]: InternalSolDataAccountStruct,\n};\n\nexport type InternalAccountTypes =\n | InternalEthEoaAccount\n | InternalEthErc4337Account\n | InternalBtcP2wpkhAccount\n | InternalSolDataAccount;\n\nexport const InternalAccountStruct = object({\n ...KeyringAccountStruct.schema,\n ...InternalAccountMetadataStruct.schema,\n});\n\n/**\n * Internal account representation.\n *\n * This type is used internally by MetaMask to add additional metadata to the\n * account object. It's should not be used by external applications.\n */\nexport type InternalAccount = Infer<typeof InternalAccountStruct>;\n"]}
@@ -1,143 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MethodNotSupportedError = void 0;
4
- exports.handleKeyringRequest = handleKeyringRequest;
5
- const superstruct_1 = require("@metamask/superstruct");
6
- const api_1 = require("./internal/api.cjs");
7
- const rpc_1 = require("./internal/rpc.cjs");
8
- const JsonRpcRequest_1 = require("./JsonRpcRequest.cjs");
9
- /**
10
- * Error thrown when a keyring JSON-RPC method is not supported.
11
- */
12
- class MethodNotSupportedError extends Error {
13
- constructor(method) {
14
- super(`Method not supported: ${method}`);
15
- }
16
- }
17
- exports.MethodNotSupportedError = MethodNotSupportedError;
18
- /**
19
- * Inner function that dispatches JSON-RPC request to the associated Keyring
20
- * methods.
21
- *
22
- * @param keyring - Keyring instance.
23
- * @param request - Keyring JSON-RPC request.
24
- * @returns A promise that resolves to the keyring response.
25
- */
26
- async function dispatchRequest(keyring, request) {
27
- // We first have to make sure that the request is a valid JSON-RPC request so
28
- // we can check its method name.
29
- (0, superstruct_1.assert)(request, JsonRpcRequest_1.JsonRpcRequestStruct);
30
- switch (request.method) {
31
- case `${rpc_1.KeyringRpcMethod.ListAccounts}`: {
32
- (0, superstruct_1.assert)(request, api_1.ListAccountsRequestStruct);
33
- return keyring.listAccounts();
34
- }
35
- case `${rpc_1.KeyringRpcMethod.GetAccount}`: {
36
- (0, superstruct_1.assert)(request, api_1.GetAccountRequestStruct);
37
- return keyring.getAccount(request.params.id);
38
- }
39
- case `${rpc_1.KeyringRpcMethod.CreateAccount}`: {
40
- (0, superstruct_1.assert)(request, api_1.CreateAccountRequestStruct);
41
- return keyring.createAccount(request.params.options);
42
- }
43
- case `${rpc_1.KeyringRpcMethod.ListAccountTransactions}`: {
44
- if (keyring.listAccountTransactions === undefined) {
45
- throw new MethodNotSupportedError(request.method);
46
- }
47
- (0, superstruct_1.assert)(request, api_1.ListAccountTransactionsRequestStruct);
48
- return keyring.listAccountTransactions(request.params.id, request.params.pagination);
49
- }
50
- case `${rpc_1.KeyringRpcMethod.GetAccountBalances}`: {
51
- if (keyring.getAccountBalances === undefined) {
52
- throw new MethodNotSupportedError(request.method);
53
- }
54
- (0, superstruct_1.assert)(request, api_1.GetAccountBalancesRequestStruct);
55
- return keyring.getAccountBalances(request.params.id, request.params.assets);
56
- }
57
- case `${rpc_1.KeyringRpcMethod.FilterAccountChains}`: {
58
- (0, superstruct_1.assert)(request, api_1.FilterAccountChainsStruct);
59
- return keyring.filterAccountChains(request.params.id, request.params.chains);
60
- }
61
- case `${rpc_1.KeyringRpcMethod.UpdateAccount}`: {
62
- (0, superstruct_1.assert)(request, api_1.UpdateAccountRequestStruct);
63
- return keyring.updateAccount(request.params.account);
64
- }
65
- case `${rpc_1.KeyringRpcMethod.DeleteAccount}`: {
66
- (0, superstruct_1.assert)(request, api_1.DeleteAccountRequestStruct);
67
- return keyring.deleteAccount(request.params.id);
68
- }
69
- case `${rpc_1.KeyringRpcMethod.ExportAccount}`: {
70
- if (keyring.exportAccount === undefined) {
71
- throw new MethodNotSupportedError(request.method);
72
- }
73
- (0, superstruct_1.assert)(request, api_1.ExportAccountRequestStruct);
74
- return keyring.exportAccount(request.params.id);
75
- }
76
- case `${rpc_1.KeyringRpcMethod.ListRequests}`: {
77
- if (keyring.listRequests === undefined) {
78
- throw new MethodNotSupportedError(request.method);
79
- }
80
- (0, superstruct_1.assert)(request, api_1.ListRequestsRequestStruct);
81
- return keyring.listRequests();
82
- }
83
- case `${rpc_1.KeyringRpcMethod.GetRequest}`: {
84
- if (keyring.getRequest === undefined) {
85
- throw new MethodNotSupportedError(request.method);
86
- }
87
- (0, superstruct_1.assert)(request, api_1.GetRequestRequestStruct);
88
- return keyring.getRequest(request.params.id);
89
- }
90
- case `${rpc_1.KeyringRpcMethod.SubmitRequest}`: {
91
- (0, superstruct_1.assert)(request, api_1.SubmitRequestRequestStruct);
92
- return keyring.submitRequest(request.params);
93
- }
94
- case `${rpc_1.KeyringRpcMethod.ApproveRequest}`: {
95
- if (keyring.approveRequest === undefined) {
96
- throw new MethodNotSupportedError(request.method);
97
- }
98
- (0, superstruct_1.assert)(request, api_1.ApproveRequestRequestStruct);
99
- return keyring.approveRequest(request.params.id, request.params.data);
100
- }
101
- case `${rpc_1.KeyringRpcMethod.RejectRequest}`: {
102
- if (keyring.rejectRequest === undefined) {
103
- throw new MethodNotSupportedError(request.method);
104
- }
105
- (0, superstruct_1.assert)(request, api_1.RejectRequestRequestStruct);
106
- return keyring.rejectRequest(request.params.id);
107
- }
108
- default: {
109
- throw new MethodNotSupportedError(request.method);
110
- }
111
- }
112
- }
113
- /**
114
- * Handles a keyring JSON-RPC request.
115
- *
116
- * This function is meant to be used as a handler for Keyring JSON-RPC requests
117
- * in an Accounts Snap.
118
- *
119
- * @param keyring - Keyring instance.
120
- * @param request - Keyring JSON-RPC request.
121
- * @returns A promise that resolves to the keyring response.
122
- * @example
123
- * ```ts
124
- * export const onKeyringRequest: OnKeyringRequestHandler = async ({
125
- * origin,
126
- * request,
127
- * }) => {
128
- * return await handleKeyringRequest(keyring, request);
129
- * };
130
- * ```
131
- */
132
- async function handleKeyringRequest(keyring, request) {
133
- try {
134
- return await dispatchRequest(keyring, request);
135
- }
136
- catch (error) {
137
- const message = error instanceof Error && typeof error.message === 'string'
138
- ? error.message
139
- : 'An unknown error occurred while handling the keyring request';
140
- throw new Error(message);
141
- }
142
- }
143
- //# sourceMappingURL=rpc-handler.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rpc-handler.cjs","sourceRoot":"","sources":["../src/rpc-handler.ts"],"names":[],"mappings":"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","sourcesContent":["import { assert } from '@metamask/superstruct';\nimport type { Json } from '@metamask/utils';\n\nimport type { Keyring } from './api';\nimport {\n GetAccountRequestStruct,\n CreateAccountRequestStruct,\n ListAccountTransactionsRequestStruct,\n ApproveRequestRequestStruct,\n DeleteAccountRequestStruct,\n ExportAccountRequestStruct,\n GetRequestRequestStruct,\n RejectRequestRequestStruct,\n SubmitRequestRequestStruct,\n UpdateAccountRequestStruct,\n FilterAccountChainsStruct,\n ListAccountsRequestStruct,\n ListRequestsRequestStruct,\n GetAccountBalancesRequestStruct,\n} from './internal/api';\nimport { KeyringRpcMethod } from './internal/rpc';\nimport type { JsonRpcRequest } from './JsonRpcRequest';\nimport { JsonRpcRequestStruct } from './JsonRpcRequest';\n\n/**\n * Error thrown when a keyring JSON-RPC method is not supported.\n */\nexport class MethodNotSupportedError extends Error {\n constructor(method: string) {\n super(`Method not supported: ${method}`);\n }\n}\n\n/**\n * Inner function that dispatches JSON-RPC request to the associated Keyring\n * methods.\n *\n * @param keyring - Keyring instance.\n * @param request - Keyring JSON-RPC request.\n * @returns A promise that resolves to the keyring response.\n */\nasync function dispatchRequest(\n keyring: Keyring,\n request: JsonRpcRequest,\n): Promise<Json | void> {\n // We first have to make sure that the request is a valid JSON-RPC request so\n // we can check its method name.\n assert(request, JsonRpcRequestStruct);\n\n switch (request.method) {\n case `${KeyringRpcMethod.ListAccounts}`: {\n assert(request, ListAccountsRequestStruct);\n return keyring.listAccounts();\n }\n\n case `${KeyringRpcMethod.GetAccount}`: {\n assert(request, GetAccountRequestStruct);\n return keyring.getAccount(request.params.id);\n }\n\n case `${KeyringRpcMethod.CreateAccount}`: {\n assert(request, CreateAccountRequestStruct);\n return keyring.createAccount(request.params.options);\n }\n\n case `${KeyringRpcMethod.ListAccountTransactions}`: {\n if (keyring.listAccountTransactions === undefined) {\n throw new MethodNotSupportedError(request.method);\n }\n assert(request, ListAccountTransactionsRequestStruct);\n return keyring.listAccountTransactions(\n request.params.id,\n request.params.pagination,\n );\n }\n\n case `${KeyringRpcMethod.GetAccountBalances}`: {\n if (keyring.getAccountBalances === undefined) {\n throw new MethodNotSupportedError(request.method);\n }\n assert(request, GetAccountBalancesRequestStruct);\n return keyring.getAccountBalances(\n request.params.id,\n request.params.assets,\n );\n }\n\n case `${KeyringRpcMethod.FilterAccountChains}`: {\n assert(request, FilterAccountChainsStruct);\n return keyring.filterAccountChains(\n request.params.id,\n request.params.chains,\n );\n }\n\n case `${KeyringRpcMethod.UpdateAccount}`: {\n assert(request, UpdateAccountRequestStruct);\n return keyring.updateAccount(request.params.account);\n }\n\n case `${KeyringRpcMethod.DeleteAccount}`: {\n assert(request, DeleteAccountRequestStruct);\n return keyring.deleteAccount(request.params.id);\n }\n\n case `${KeyringRpcMethod.ExportAccount}`: {\n if (keyring.exportAccount === undefined) {\n throw new MethodNotSupportedError(request.method);\n }\n assert(request, ExportAccountRequestStruct);\n return keyring.exportAccount(request.params.id);\n }\n\n case `${KeyringRpcMethod.ListRequests}`: {\n if (keyring.listRequests === undefined) {\n throw new MethodNotSupportedError(request.method);\n }\n assert(request, ListRequestsRequestStruct);\n return keyring.listRequests();\n }\n\n case `${KeyringRpcMethod.GetRequest}`: {\n if (keyring.getRequest === undefined) {\n throw new MethodNotSupportedError(request.method);\n }\n assert(request, GetRequestRequestStruct);\n return keyring.getRequest(request.params.id);\n }\n\n case `${KeyringRpcMethod.SubmitRequest}`: {\n assert(request, SubmitRequestRequestStruct);\n return keyring.submitRequest(request.params);\n }\n\n case `${KeyringRpcMethod.ApproveRequest}`: {\n if (keyring.approveRequest === undefined) {\n throw new MethodNotSupportedError(request.method);\n }\n assert(request, ApproveRequestRequestStruct);\n return keyring.approveRequest(request.params.id, request.params.data);\n }\n\n case `${KeyringRpcMethod.RejectRequest}`: {\n if (keyring.rejectRequest === undefined) {\n throw new MethodNotSupportedError(request.method);\n }\n assert(request, RejectRequestRequestStruct);\n return keyring.rejectRequest(request.params.id);\n }\n\n default: {\n throw new MethodNotSupportedError(request.method);\n }\n }\n}\n\n/**\n * Handles a keyring JSON-RPC request.\n *\n * This function is meant to be used as a handler for Keyring JSON-RPC requests\n * in an Accounts Snap.\n *\n * @param keyring - Keyring instance.\n * @param request - Keyring JSON-RPC request.\n * @returns A promise that resolves to the keyring response.\n * @example\n * ```ts\n * export const onKeyringRequest: OnKeyringRequestHandler = async ({\n * origin,\n * request,\n * }) => {\n * return await handleKeyringRequest(keyring, request);\n * };\n * ```\n */\nexport async function handleKeyringRequest(\n keyring: Keyring,\n request: JsonRpcRequest,\n): Promise<Json | void> {\n try {\n return await dispatchRequest(keyring, request);\n } catch (error) {\n const message =\n error instanceof Error && typeof error.message === 'string'\n ? error.message\n : 'An unknown error occurred while handling the keyring request';\n\n throw new Error(message);\n }\n}\n"]}
@@ -1,30 +0,0 @@
1
- import type { Json } from "@metamask/utils";
2
- import type { Keyring } from "./api/index.cjs";
3
- import type { JsonRpcRequest } from "./JsonRpcRequest.cjs";
4
- /**
5
- * Error thrown when a keyring JSON-RPC method is not supported.
6
- */
7
- export declare class MethodNotSupportedError extends Error {
8
- constructor(method: string);
9
- }
10
- /**
11
- * Handles a keyring JSON-RPC request.
12
- *
13
- * This function is meant to be used as a handler for Keyring JSON-RPC requests
14
- * in an Accounts Snap.
15
- *
16
- * @param keyring - Keyring instance.
17
- * @param request - Keyring JSON-RPC request.
18
- * @returns A promise that resolves to the keyring response.
19
- * @example
20
- * ```ts
21
- * export const onKeyringRequest: OnKeyringRequestHandler = async ({
22
- * origin,
23
- * request,
24
- * }) => {
25
- * return await handleKeyringRequest(keyring, request);
26
- * };
27
- * ```
28
- */
29
- export declare function handleKeyringRequest(keyring: Keyring, request: JsonRpcRequest): Promise<Json | void>;
30
- //# sourceMappingURL=rpc-handler.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rpc-handler.d.cts","sourceRoot":"","sources":["../src/rpc-handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,wBAAwB;AAE5C,OAAO,KAAK,EAAE,OAAO,EAAE,wBAAc;AAkBrC,OAAO,KAAK,EAAE,cAAc,EAAE,6BAAyB;AAGvD;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;gBACpC,MAAM,EAAE,MAAM;CAG3B;AA6HD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAWtB"}