@metamask-previews/keyring-api 11.0.0-b85bfaa → 11.0.0-cd6bf38

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 (332) hide show
  1. package/dist/JsonRpcRequest.cjs +13 -0
  2. package/dist/JsonRpcRequest.cjs.map +1 -0
  3. package/dist/JsonRpcRequest.d.cts +17 -0
  4. package/dist/JsonRpcRequest.d.cts.map +1 -0
  5. package/dist/JsonRpcRequest.d.mts +17 -0
  6. package/dist/JsonRpcRequest.d.mts.map +1 -0
  7. package/dist/JsonRpcRequest.mjs +10 -0
  8. package/dist/JsonRpcRequest.mjs.map +1 -0
  9. package/dist/KeyringClient.cjs +130 -0
  10. package/dist/KeyringClient.cjs.map +1 -0
  11. package/dist/KeyringClient.d.cts +31 -0
  12. package/dist/KeyringClient.d.cts.map +1 -0
  13. package/dist/KeyringClient.d.mts +31 -0
  14. package/dist/KeyringClient.d.mts.map +1 -0
  15. package/dist/KeyringClient.mjs +126 -0
  16. package/dist/KeyringClient.mjs.map +1 -0
  17. package/dist/KeyringSnapRpcClient.cjs +68 -0
  18. package/dist/KeyringSnapRpcClient.cjs.map +1 -0
  19. package/dist/KeyringSnapRpcClient.d.cts +40 -0
  20. package/dist/KeyringSnapRpcClient.d.cts.map +1 -0
  21. package/dist/KeyringSnapRpcClient.d.mts +40 -0
  22. package/dist/KeyringSnapRpcClient.d.mts.map +1 -0
  23. package/dist/KeyringSnapRpcClient.mjs +63 -0
  24. package/dist/KeyringSnapRpcClient.mjs.map +1 -0
  25. package/dist/{account.cjs → api/account.cjs} +4 -3
  26. package/dist/api/account.cjs.map +1 -0
  27. package/dist/{account.d.cts → api/account.d.cts} +1 -1
  28. package/dist/api/account.d.cts.map +1 -0
  29. package/dist/{account.d.mts → api/account.d.mts} +1 -1
  30. package/dist/api/account.d.mts.map +1 -0
  31. package/dist/{account.mjs → api/account.mjs} +2 -1
  32. package/dist/api/account.mjs.map +1 -0
  33. package/dist/api/asset.cjs +83 -0
  34. package/dist/api/asset.cjs.map +1 -0
  35. package/dist/api/asset.d.cts +93 -0
  36. package/dist/api/asset.d.cts.map +1 -0
  37. package/dist/api/asset.d.mts +93 -0
  38. package/dist/api/asset.d.mts.map +1 -0
  39. package/dist/api/asset.mjs +80 -0
  40. package/dist/api/asset.mjs.map +1 -0
  41. package/dist/api/balance.cjs +11 -0
  42. package/dist/api/balance.cjs.map +1 -0
  43. package/dist/{balance.d.cts → api/balance.d.cts} +1 -1
  44. package/dist/api/balance.d.cts.map +1 -0
  45. package/dist/{balance.d.mts → api/balance.d.mts} +1 -1
  46. package/dist/api/balance.d.mts.map +1 -0
  47. package/dist/{balance.mjs → api/balance.mjs} +2 -1
  48. package/dist/api/balance.mjs.map +1 -0
  49. package/dist/{caip.cjs → api/caip.cjs} +3 -3
  50. package/dist/{caip.cjs.map → api/caip.cjs.map} +1 -1
  51. package/dist/api/caip.d.cts.map +1 -0
  52. package/dist/api/caip.d.mts.map +1 -0
  53. package/dist/{caip.mjs → api/caip.mjs} +1 -1
  54. package/dist/{caip.mjs.map → api/caip.mjs.map} +1 -1
  55. package/dist/api/export.cjs.map +1 -0
  56. package/dist/api/export.d.cts.map +1 -0
  57. package/dist/api/export.d.mts.map +1 -0
  58. package/dist/api/export.mjs.map +1 -0
  59. package/dist/api/index.cjs +25 -0
  60. package/dist/api/index.cjs.map +1 -0
  61. package/dist/api/index.d.cts +10 -0
  62. package/dist/api/index.d.cts.map +1 -0
  63. package/dist/api/index.d.mts +10 -0
  64. package/dist/api/index.d.mts.map +1 -0
  65. package/dist/api/index.mjs +9 -0
  66. package/dist/api/index.mjs.map +1 -0
  67. package/dist/api/keyring.cjs +3 -0
  68. package/dist/api/keyring.cjs.map +1 -0
  69. package/dist/{keyring.d.cts → api/keyring.d.cts} +14 -0
  70. package/dist/api/keyring.d.cts.map +1 -0
  71. package/dist/{keyring.d.mts → api/keyring.d.mts} +14 -0
  72. package/dist/api/keyring.d.mts.map +1 -0
  73. package/dist/api/keyring.mjs +2 -0
  74. package/dist/api/keyring.mjs.map +1 -0
  75. package/dist/{request.cjs → api/request.cjs} +7 -6
  76. package/dist/api/request.cjs.map +1 -0
  77. package/dist/{request.d.cts → api/request.d.cts} +3 -3
  78. package/dist/api/request.d.cts.map +1 -0
  79. package/dist/{request.d.mts → api/request.d.mts} +3 -3
  80. package/dist/api/request.d.mts.map +1 -0
  81. package/dist/{request.mjs → api/request.mjs} +2 -1
  82. package/dist/api/request.mjs.map +1 -0
  83. package/dist/{response.cjs → api/response.cjs} +6 -6
  84. package/dist/{response.cjs.map → api/response.cjs.map} +1 -1
  85. package/dist/api/response.d.cts.map +1 -0
  86. package/dist/api/response.d.mts.map +1 -0
  87. package/dist/{response.mjs → api/response.mjs} +1 -1
  88. package/dist/{response.mjs.map → api/response.mjs.map} +1 -1
  89. package/dist/api/transaction.cjs +283 -0
  90. package/dist/api/transaction.cjs.map +1 -0
  91. package/dist/api/transaction.d.cts +761 -0
  92. package/dist/api/transaction.d.cts.map +1 -0
  93. package/dist/api/transaction.d.mts +761 -0
  94. package/dist/api/transaction.d.mts.map +1 -0
  95. package/dist/api/transaction.mjs +280 -0
  96. package/dist/api/transaction.mjs.map +1 -0
  97. package/dist/btc/index.cjs +18 -0
  98. package/dist/btc/index.cjs.map +1 -0
  99. package/dist/btc/index.d.cts +2 -0
  100. package/dist/btc/index.d.cts.map +1 -0
  101. package/dist/btc/index.d.mts +2 -0
  102. package/dist/btc/index.d.mts.map +1 -0
  103. package/dist/btc/index.mjs +2 -0
  104. package/dist/btc/index.mjs.map +1 -0
  105. package/dist/btc/types.cjs +40 -0
  106. package/dist/btc/types.cjs.map +1 -0
  107. package/dist/btc/types.d.cts +34 -0
  108. package/dist/btc/types.d.cts.map +1 -0
  109. package/dist/btc/types.d.mts +34 -0
  110. package/dist/btc/types.d.mts.map +1 -0
  111. package/dist/btc/types.mjs +37 -0
  112. package/dist/btc/types.mjs.map +1 -0
  113. package/dist/eth/erc4337/index.cjs +18 -0
  114. package/dist/eth/erc4337/index.cjs.map +1 -0
  115. package/dist/eth/erc4337/index.d.cts +2 -0
  116. package/dist/eth/erc4337/index.d.cts.map +1 -0
  117. package/dist/eth/erc4337/index.d.mts +2 -0
  118. package/dist/eth/erc4337/index.d.mts.map +1 -0
  119. package/dist/eth/erc4337/index.mjs +2 -0
  120. package/dist/eth/erc4337/index.mjs.map +1 -0
  121. package/dist/eth/erc4337/types.cjs +62 -0
  122. package/dist/eth/erc4337/types.cjs.map +1 -0
  123. package/dist/eth/erc4337/types.d.cts +98 -0
  124. package/dist/eth/erc4337/types.d.cts.map +1 -0
  125. package/dist/eth/erc4337/types.d.mts +98 -0
  126. package/dist/eth/erc4337/types.d.mts.map +1 -0
  127. package/dist/eth/erc4337/types.mjs +59 -0
  128. package/dist/eth/erc4337/types.mjs.map +1 -0
  129. package/dist/eth/index.cjs +20 -0
  130. package/dist/eth/index.cjs.map +1 -0
  131. package/dist/eth/index.d.cts +4 -0
  132. package/dist/eth/index.d.cts.map +1 -0
  133. package/dist/eth/index.d.mts +4 -0
  134. package/dist/eth/index.d.mts.map +1 -0
  135. package/dist/eth/index.mjs +4 -0
  136. package/dist/eth/index.mjs.map +1 -0
  137. package/dist/eth/types.cjs +73 -0
  138. package/dist/eth/types.cjs.map +1 -0
  139. package/dist/eth/types.d.cts +81 -0
  140. package/dist/eth/types.d.cts.map +1 -0
  141. package/dist/eth/types.d.mts +81 -0
  142. package/dist/eth/types.d.mts.map +1 -0
  143. package/dist/eth/types.mjs +70 -0
  144. package/dist/eth/types.mjs.map +1 -0
  145. package/dist/eth/utils.cjs +14 -0
  146. package/dist/eth/utils.cjs.map +1 -0
  147. package/dist/eth/utils.d.cts +9 -0
  148. package/dist/eth/utils.d.cts.map +1 -0
  149. package/dist/eth/utils.d.mts +9 -0
  150. package/dist/eth/utils.d.mts.map +1 -0
  151. package/dist/eth/utils.mjs +11 -0
  152. package/dist/eth/utils.mjs.map +1 -0
  153. package/dist/events.cjs +17 -0
  154. package/dist/events.cjs.map +1 -0
  155. package/dist/events.d.cts +11 -0
  156. package/dist/events.d.cts.map +1 -0
  157. package/dist/events.d.mts +11 -0
  158. package/dist/events.d.mts.map +1 -0
  159. package/dist/events.mjs +14 -0
  160. package/dist/events.mjs.map +1 -0
  161. package/dist/index.cjs +12 -6
  162. package/dist/index.cjs.map +1 -1
  163. package/dist/index.d.cts +12 -7
  164. package/dist/index.d.cts.map +1 -1
  165. package/dist/index.d.mts +12 -7
  166. package/dist/index.d.mts.map +1 -1
  167. package/dist/index.mjs +12 -6
  168. package/dist/index.mjs.map +1 -1
  169. package/dist/internal/api.cjs +150 -0
  170. package/dist/internal/api.cjs.map +1 -0
  171. package/dist/internal/api.d.cts +737 -0
  172. package/dist/internal/api.d.cts.map +1 -0
  173. package/dist/internal/api.d.mts +737 -0
  174. package/dist/internal/api.d.mts.map +1 -0
  175. package/dist/internal/api.mjs +147 -0
  176. package/dist/internal/api.mjs.map +1 -0
  177. package/dist/internal/eth/EthKeyring.cjs +3 -0
  178. package/dist/internal/eth/EthKeyring.cjs.map +1 -0
  179. package/dist/internal/eth/EthKeyring.d.cts +34 -0
  180. package/dist/internal/eth/EthKeyring.d.cts.map +1 -0
  181. package/dist/internal/eth/EthKeyring.d.mts +34 -0
  182. package/dist/internal/eth/EthKeyring.d.mts.map +1 -0
  183. package/dist/internal/eth/EthKeyring.mjs +2 -0
  184. package/dist/internal/eth/EthKeyring.mjs.map +1 -0
  185. package/dist/internal/eth/index.cjs +3 -0
  186. package/dist/internal/eth/index.cjs.map +1 -0
  187. package/dist/internal/eth/index.d.cts +2 -0
  188. package/dist/internal/eth/index.d.cts.map +1 -0
  189. package/dist/internal/eth/index.d.mts +2 -0
  190. package/dist/internal/eth/index.d.mts.map +1 -0
  191. package/dist/internal/eth/index.mjs +2 -0
  192. package/dist/internal/eth/index.mjs.map +1 -0
  193. package/dist/internal/events.cjs +72 -0
  194. package/dist/internal/events.cjs.map +1 -0
  195. package/dist/internal/events.d.cts +162 -0
  196. package/dist/internal/events.d.cts.map +1 -0
  197. package/dist/internal/events.d.mts +162 -0
  198. package/dist/internal/events.d.mts.map +1 -0
  199. package/dist/internal/events.mjs +69 -0
  200. package/dist/internal/events.mjs.map +1 -0
  201. package/dist/internal/index.cjs +21 -0
  202. package/dist/internal/index.cjs.map +1 -0
  203. package/dist/internal/index.d.cts +6 -0
  204. package/dist/internal/index.d.cts.map +1 -0
  205. package/dist/internal/index.d.mts +6 -0
  206. package/dist/internal/index.d.mts.map +1 -0
  207. package/dist/internal/index.mjs +5 -0
  208. package/dist/internal/index.mjs.map +1 -0
  209. package/dist/internal/rpc.cjs +34 -0
  210. package/dist/internal/rpc.cjs.map +1 -0
  211. package/dist/internal/rpc.d.cts +27 -0
  212. package/dist/internal/rpc.d.cts.map +1 -0
  213. package/dist/internal/rpc.d.mts +27 -0
  214. package/dist/internal/rpc.d.mts.map +1 -0
  215. package/dist/internal/rpc.mjs +30 -0
  216. package/dist/internal/rpc.mjs.map +1 -0
  217. package/dist/internal/types.cjs +52 -0
  218. package/dist/internal/types.cjs.map +1 -0
  219. package/dist/internal/types.d.cts +392 -0
  220. package/dist/internal/types.d.cts.map +1 -0
  221. package/dist/internal/types.d.mts +392 -0
  222. package/dist/internal/types.d.mts.map +1 -0
  223. package/dist/internal/types.mjs +49 -0
  224. package/dist/internal/types.mjs.map +1 -0
  225. package/dist/rpc-handler.cjs +143 -0
  226. package/dist/rpc-handler.cjs.map +1 -0
  227. package/dist/rpc-handler.d.cts +30 -0
  228. package/dist/rpc-handler.d.cts.map +1 -0
  229. package/dist/rpc-handler.d.mts +30 -0
  230. package/dist/rpc-handler.d.mts.map +1 -0
  231. package/dist/rpc-handler.mjs +138 -0
  232. package/dist/rpc-handler.mjs.map +1 -0
  233. package/dist/snap-utils.cjs +20 -0
  234. package/dist/snap-utils.cjs.map +1 -0
  235. package/dist/snap-utils.d.cts +12 -0
  236. package/dist/snap-utils.d.cts.map +1 -0
  237. package/dist/snap-utils.d.mts +12 -0
  238. package/dist/snap-utils.d.mts.map +1 -0
  239. package/dist/snap-utils.mjs +17 -0
  240. package/dist/snap-utils.mjs.map +1 -0
  241. package/dist/sol/index.cjs +18 -0
  242. package/dist/sol/index.cjs.map +1 -0
  243. package/dist/sol/index.d.cts +2 -0
  244. package/dist/sol/index.d.cts.map +1 -0
  245. package/dist/sol/index.d.mts +2 -0
  246. package/dist/sol/index.d.mts.map +1 -0
  247. package/dist/sol/index.mjs +2 -0
  248. package/dist/sol/index.mjs.map +1 -0
  249. package/dist/sol/types.cjs +36 -0
  250. package/dist/sol/types.cjs.map +1 -0
  251. package/dist/sol/types.d.cts +39 -0
  252. package/dist/sol/types.d.cts.map +1 -0
  253. package/dist/sol/types.d.mts +39 -0
  254. package/dist/sol/types.d.mts.map +1 -0
  255. package/dist/sol/types.mjs +33 -0
  256. package/dist/sol/types.mjs.map +1 -0
  257. package/dist/superstruct.cjs +109 -0
  258. package/dist/superstruct.cjs.map +1 -0
  259. package/dist/superstruct.d.cts +102 -0
  260. package/dist/superstruct.d.cts.map +1 -0
  261. package/dist/superstruct.d.mts +102 -0
  262. package/dist/superstruct.d.mts.map +1 -0
  263. package/dist/superstruct.mjs +102 -0
  264. package/dist/superstruct.mjs.map +1 -0
  265. package/dist/utils/index.cjs +20 -0
  266. package/dist/utils/index.cjs.map +1 -0
  267. package/dist/utils/index.d.cts +4 -0
  268. package/dist/utils/index.d.cts.map +1 -0
  269. package/dist/utils/index.d.mts +4 -0
  270. package/dist/utils/index.d.mts.map +1 -0
  271. package/dist/utils/index.mjs +4 -0
  272. package/dist/utils/index.mjs.map +1 -0
  273. package/dist/utils/pagination.cjs +28 -0
  274. package/dist/utils/pagination.cjs.map +1 -0
  275. package/dist/utils/pagination.d.cts +59 -0
  276. package/dist/utils/pagination.d.cts.map +1 -0
  277. package/dist/utils/pagination.d.mts +59 -0
  278. package/dist/utils/pagination.d.mts.map +1 -0
  279. package/dist/utils/pagination.mjs +25 -0
  280. package/dist/utils/pagination.mjs.map +1 -0
  281. package/dist/utils/types.cjs +29 -0
  282. package/dist/utils/types.cjs.map +1 -0
  283. package/dist/utils/types.d.cts +42 -0
  284. package/dist/utils/types.d.cts.map +1 -0
  285. package/dist/utils/types.d.mts +42 -0
  286. package/dist/utils/types.d.mts.map +1 -0
  287. package/dist/utils/types.mjs +26 -0
  288. package/dist/utils/types.mjs.map +1 -0
  289. package/dist/utils/typing.cjs +20 -0
  290. package/dist/utils/typing.cjs.map +1 -0
  291. package/dist/utils/typing.d.cts +33 -0
  292. package/dist/utils/typing.d.cts.map +1 -0
  293. package/dist/utils/typing.d.mts +33 -0
  294. package/dist/utils/typing.d.mts.map +1 -0
  295. package/dist/utils/typing.mjs +17 -0
  296. package/dist/utils/typing.mjs.map +1 -0
  297. package/package.json +11 -10
  298. package/dist/account.cjs.map +0 -1
  299. package/dist/account.d.cts.map +0 -1
  300. package/dist/account.d.mts.map +0 -1
  301. package/dist/account.mjs.map +0 -1
  302. package/dist/balance.cjs +0 -10
  303. package/dist/balance.cjs.map +0 -1
  304. package/dist/balance.d.cts.map +0 -1
  305. package/dist/balance.d.mts.map +0 -1
  306. package/dist/balance.mjs.map +0 -1
  307. package/dist/caip.d.cts.map +0 -1
  308. package/dist/caip.d.mts.map +0 -1
  309. package/dist/export.cjs.map +0 -1
  310. package/dist/export.d.cts.map +0 -1
  311. package/dist/export.d.mts.map +0 -1
  312. package/dist/export.mjs.map +0 -1
  313. package/dist/keyring.cjs +0 -5
  314. package/dist/keyring.cjs.map +0 -1
  315. package/dist/keyring.d.cts.map +0 -1
  316. package/dist/keyring.d.mts.map +0 -1
  317. package/dist/keyring.mjs +0 -4
  318. package/dist/keyring.mjs.map +0 -1
  319. package/dist/request.cjs.map +0 -1
  320. package/dist/request.d.cts.map +0 -1
  321. package/dist/request.d.mts.map +0 -1
  322. package/dist/request.mjs.map +0 -1
  323. package/dist/response.d.cts.map +0 -1
  324. package/dist/response.d.mts.map +0 -1
  325. /package/dist/{caip.d.cts → api/caip.d.cts} +0 -0
  326. /package/dist/{caip.d.mts → api/caip.d.mts} +0 -0
  327. /package/dist/{export.cjs → api/export.cjs} +0 -0
  328. /package/dist/{export.d.cts → api/export.d.cts} +0 -0
  329. /package/dist/{export.d.mts → api/export.d.mts} +0 -0
  330. /package/dist/{export.mjs → api/export.mjs} +0 -0
  331. /package/dist/{response.d.cts → api/response.d.cts} +0 -0
  332. /package/dist/{response.d.mts → api/response.d.mts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.d.mts","sourceRoot":"","sources":["../../src/api/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,8BAA8B;AAKnD,OAAO,KAAK,EAAE,WAAW,EAAE,2BAAuB;AAElD,OAAO,KAAK,EAAE,SAAS,EAAE,2BAAiB;AAkD1C;;GAEG;AACH,oBAAY,OAAO;IACjB;;;;;;OAMG;IACH,IAAI,SAAS;IAEb;;;;;OAKG;IACH,QAAQ,aAAa;CACtB;AAiBD;;GAEG;AACH,oBAAY,iBAAiB;IAC3B;;;OAGG;IACH,SAAS,cAAc;IAEvB;;;OAGG;IACH,WAAW,gBAAgB;IAE3B;;OAEG;IACH,SAAS,cAAc;IAEvB;;OAEG;IACH,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,oBAAY,eAAe;IACzB;;;;OAIG;IACH,IAAI,SAAS;IAEb;;;OAGG;IACH,OAAO,YAAY;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;IACjC;;OAEG;;;;;;;IAQH;;OAEG;;EAEH,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAC5B;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;;;;;;IAQH;;;;OAIG;;IAGH;;;OAGG;;;;;IAGH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;QAnNH;;WAEG;;QAGH;;WAEG;;;;;;;;;;;IA+MH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;QAxNH;;WAEG;;QAGH;;WAEG;;;;;;;;;;;IAoNH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;QAxLH;;WAEG;;;;;QAGH;;WAEG;;;;;;;;;;;IAoLH;;;;;OAKG;;;;;;;;QApIH;;WAEG;;;;;;;QAQH;;WAEG;;;EA0HH,CAAC;AAEH;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE1D;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IACjC;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAvFH;;WAEG;;QAGH;;WAEG;;QAGH;;WAEG;;QAGH;;WAEG;;;;;;;QAQH;;;;WAIG;;QAGH;;;WAGG;;;;;QAGH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;YAnNH;;eAEG;;YAGH;;eAEG;;;;;;;;;;;QA+MH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;YAxNH;;eAEG;;YAGH;;eAEG;;;;;;;;;;;QAoNH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;YAxLH;;eAEG;;;;;YAGH;;eAEG;;;;;;;;;;;QAoLH;;;;;WAKG;;;;;;;;YApIH;;eAEG;;;;;;;YAQH;;eAEG;;;;IAwJH;;;OAGG;;EAEH,CAAC;AAEH;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,WAAW,CACxC,OAAO,sBAAsB,EAC7B,SAAS,CAAC,WAAW,CAAC,CACvB,CAAC"}
@@ -0,0 +1,280 @@
1
+ import { array, enums, nullable, number, string } from "@metamask/superstruct";
2
+ import { CaipChainIdStruct } from "@metamask/utils";
3
+ import { AssetStruct } from "./asset.mjs";
4
+ import { object } from "../superstruct.mjs";
5
+ import { UuidStruct } from "../utils/index.mjs";
6
+ /**
7
+ * This struct represents a participant in a transaction.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * {
12
+ * address: '0x1234...',
13
+ * asset: {
14
+ * fungible: true,
15
+ * type: 'eip155:1/slip44:60',
16
+ * unit: 'ETH',
17
+ * amount: '0.01',
18
+ * },
19
+ * },
20
+ * ```
21
+ *
22
+ * @example
23
+ * ```ts
24
+ * {
25
+ * address: '0x1234...',
26
+ * asset: {
27
+ * fungible: false,
28
+ * id: 'eip155:1/erc721:0x06012c8cf97BEaD5deAe237070F9587f8E7A266d/771769',
29
+ * },
30
+ * },
31
+ * ```
32
+ *
33
+ * @example
34
+ * ```ts
35
+ * {
36
+ * address: '0x1234...',
37
+ * asset: null,
38
+ * },
39
+ * ```
40
+ */
41
+ const ParticipantStruct = object({
42
+ /**
43
+ * Participant address.
44
+ */
45
+ address: string(),
46
+ /**
47
+ * Asset being transferred.
48
+ */
49
+ asset: nullable(AssetStruct),
50
+ });
51
+ /**
52
+ * Fee types.
53
+ */
54
+ export var FeeType;
55
+ (function (FeeType) {
56
+ /**
57
+ * Base fee. It is the minimum fee required to include a transaction in the
58
+ * blockchain.
59
+ *
60
+ * For non-confirmed transactions, it must be the maximum base fee. For
61
+ * confirmed transactions, it must be the actual base fee paid.
62
+ */
63
+ FeeType["Base"] = "base";
64
+ /**
65
+ * Priority fee. It is an optional fee used to prioritize the transaction.
66
+ *
67
+ * For non-confirmed transactions, it must be the maximum priority fee. For
68
+ * confirmed transactions, it must be the actual priority fee paid.
69
+ */
70
+ FeeType["Priority"] = "priority";
71
+ })(FeeType || (FeeType = {}));
72
+ /**
73
+ * This struct represents a transaction fee.
74
+ */
75
+ const FeeStruct = object({
76
+ /**
77
+ * Fee type {@see FeeType}.
78
+ */
79
+ type: enums([`${FeeType.Base}`, `${FeeType.Priority}`]),
80
+ /**
81
+ * Asset used to pay for the fee.
82
+ */
83
+ asset: AssetStruct,
84
+ });
85
+ /**
86
+ * Transaction statuses.
87
+ */
88
+ export var TransactionStatus;
89
+ (function (TransactionStatus) {
90
+ /**
91
+ * The transaction has been submitted but is not yet in the
92
+ * blockchain. For example, it can be in the mempool.
93
+ */
94
+ TransactionStatus["Submitted"] = "submitted";
95
+ /**
96
+ * The transaction is in the blockchain but has not been
97
+ * confirmed yet.
98
+ */
99
+ TransactionStatus["Unconfirmed"] = "unconfirmed";
100
+ /**
101
+ * The transaction has been confirmed.
102
+ */
103
+ TransactionStatus["Confirmed"] = "confirmed";
104
+ /**
105
+ * The transaction has failed. For example, it has been reverted.
106
+ */
107
+ TransactionStatus["Failed"] = "failed";
108
+ })(TransactionStatus || (TransactionStatus = {}));
109
+ /**
110
+ * Transaction types.
111
+ */
112
+ export var TransactionType;
113
+ (function (TransactionType) {
114
+ /**
115
+ * The transaction was originated by the account. If the transaction
116
+ * has a change output that goes back to the same account, it must be tagged
117
+ * as a send transaction.
118
+ */
119
+ TransactionType["Send"] = "send";
120
+ /**
121
+ * The transaction was received by the account, but originated by
122
+ * another account.
123
+ */
124
+ TransactionType["Receive"] = "receive";
125
+ })(TransactionType || (TransactionType = {}));
126
+ /**
127
+ * This struct represents a transaction event.
128
+ */
129
+ export const TransactionEventStruct = object({
130
+ /**
131
+ * New status of the transaction.
132
+ */
133
+ status: enums([
134
+ `${TransactionStatus.Submitted}`,
135
+ `${TransactionStatus.Unconfirmed}`,
136
+ `${TransactionStatus.Confirmed}`,
137
+ `${TransactionStatus.Failed}`,
138
+ ]),
139
+ /**
140
+ * UNIX timestamp of when the event occurred.
141
+ */
142
+ timestamp: nullable(number()),
143
+ });
144
+ /**
145
+ * This struct represents a blockchain transaction.
146
+ *
147
+ * @example
148
+ * ```ts
149
+ * const tx = {
150
+ * id: 'f5d8ee39a430901c91a5917b9f2dc19d6d1a0e9cea205b009ca73dd04470b9a6',
151
+ * chain: 'bip122:000000000019d6689c085ae165831e93',
152
+ * account: 'b9beb861-9761-4b97-89ce-d992be5f34da',
153
+ * status: 'confirmed',
154
+ * timestamp: 1716367781,
155
+ * type: 'send',
156
+ * from: [
157
+ * {
158
+ * address: 'bc1qrp0yzgkf8rawkuvdlhnjfj2fnjwm0m8727kgah',
159
+ * asset: {
160
+ * fungible: true,
161
+ * type: 'bip122:000000000019d6689c085ae165831e93/slip44:0',
162
+ * unit: 'BTC',
163
+ * amount: '0.1',
164
+ * },
165
+ * },
166
+ * ],
167
+ * to: [
168
+ * {
169
+ * address: 'bc1qrp0yzgkf8rawkuvdlhnjfj2fnjwm0m8727kgah',
170
+ * asset: {
171
+ * fungible: true,
172
+ * type: 'bip122:000000000019d6689c085ae165831e93/slip44:0',
173
+ * unit: 'BTC',
174
+ * amount: '0.1',
175
+ * },
176
+ * },
177
+ * {
178
+ * address: 'bc1qwl8399fz829uqvqly9tcatgrgtwp3udnhxfq4k',
179
+ * asset: {
180
+ * fungible: true,
181
+ * type: 'bip122:000000000019d6689c085ae165831e93/slip44:0',
182
+ * unit: 'BTC',
183
+ * amount: '0.1',
184
+ * },
185
+ * },
186
+ * ],
187
+ * fees: [
188
+ * {
189
+ * type: 'priority',
190
+ * asset: {
191
+ * fungible: true,
192
+ * type: 'bip122:000000000019d6689c085ae165831e93/slip44:0',
193
+ * unit: 'BTC',
194
+ * amount: '0.1',
195
+ * },
196
+ * },
197
+ * ],
198
+ * };
199
+ * ```
200
+ */
201
+ export const TransactionStruct = object({
202
+ /**
203
+ * Chain-specific transaction ID.
204
+ */
205
+ id: string(),
206
+ /**
207
+ * Chain ID (CAIP-2).
208
+ */
209
+ chain: CaipChainIdStruct,
210
+ /**
211
+ * Account ID (UUIDv4).
212
+ */
213
+ account: UuidStruct,
214
+ /**
215
+ * Transaction status {@see TransactionStatus}.
216
+ */
217
+ status: enums([
218
+ `${TransactionStatus.Submitted}`,
219
+ `${TransactionStatus.Unconfirmed}`,
220
+ `${TransactionStatus.Confirmed}`,
221
+ `${TransactionStatus.Failed}`,
222
+ ]),
223
+ /**
224
+ * UNIX timestamp of when the transaction was added to the blockchain. The
225
+ * timestamp can be null if the transaction has not been included in the
226
+ * blockchain yet.
227
+ */
228
+ timestamp: nullable(number()),
229
+ /**
230
+ * Transaction type {@see TransactionType}. This will be used by MetaMask to enrich the transaction
231
+ * details on the UI.
232
+ */
233
+ type: enums([`${TransactionType.Send}`, `${TransactionType.Receive}`]),
234
+ /**
235
+ * Transaction sender addresses and amounts.
236
+ */
237
+ from: array(ParticipantStruct),
238
+ /**
239
+ * Transaction receiver addresses and amounts.
240
+ */
241
+ to: array(ParticipantStruct),
242
+ /**
243
+ * Total transaction fee.
244
+ */
245
+ fees: array(FeeStruct),
246
+ /**
247
+ * List of events related to the transaction {@see TransactionEventStruct}.
248
+ *
249
+ * The events are tracked in a best-effort basis and may not be available for
250
+ * all transactions.
251
+ */
252
+ events: array(TransactionEventStruct),
253
+ });
254
+ /**
255
+ * This struct represents a page of transactions.
256
+ *
257
+ * @example
258
+ * ```ts
259
+ * {
260
+ * data: [
261
+ * {
262
+ * // Transaction object
263
+ * }
264
+ * ],
265
+ * next: 'c3y1Q6QtqtstbxKX+oqVdEW6',
266
+ * }
267
+ * ```
268
+ */
269
+ export const TransactionsPageStruct = object({
270
+ /**
271
+ * List of transactions.
272
+ */
273
+ data: array(TransactionStruct),
274
+ /**
275
+ * Next cursor to iterate over the results. If null, there are no more
276
+ * results.
277
+ */
278
+ next: nullable(string()),
279
+ });
280
+ //# sourceMappingURL=transaction.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.mjs","sourceRoot":"","sources":["../../src/api/transaction.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Infer } from '@metamask/superstruct';\nimport { array, enums, nullable, number, string } from '@metamask/superstruct';\nimport { CaipChainIdStruct } from '@metamask/utils';\n\nimport { AssetStruct } from './asset';\nimport type { InferEquals } from '../superstruct';\nimport { object } from '../superstruct';\nimport type { Paginated } from '../utils';\nimport { UuidStruct } from '../utils';\n\n/**\n * This struct represents a participant in a transaction.\n *\n * @example\n * ```ts\n * {\n * address: '0x1234...',\n * asset: {\n * fungible: true,\n * type: 'eip155:1/slip44:60',\n * unit: 'ETH',\n * amount: '0.01',\n * },\n * },\n * ```\n *\n * @example\n * ```ts\n * {\n * address: '0x1234...',\n * asset: {\n * fungible: false,\n * id: 'eip155:1/erc721:0x06012c8cf97BEaD5deAe237070F9587f8E7A266d/771769',\n * },\n * },\n * ```\n *\n * @example\n * ```ts\n * {\n * address: '0x1234...',\n * asset: null,\n * },\n * ```\n */\nconst ParticipantStruct = object({\n /**\n * Participant address.\n */\n address: string(),\n\n /**\n * Asset being transferred.\n */\n asset: nullable(AssetStruct),\n});\n\n/**\n * Fee types.\n */\nexport enum FeeType {\n /**\n * Base fee. It is the minimum fee required to include a transaction in the\n * blockchain.\n *\n * For non-confirmed transactions, it must be the maximum base fee. For\n * confirmed transactions, it must be the actual base fee paid.\n */\n Base = 'base',\n\n /**\n * Priority fee. It is an optional fee used to prioritize the transaction.\n *\n * For non-confirmed transactions, it must be the maximum priority fee. For\n * confirmed transactions, it must be the actual priority fee paid.\n */\n Priority = 'priority',\n}\n\n/**\n * This struct represents a transaction fee.\n */\nconst FeeStruct = object({\n /**\n * Fee type {@see FeeType}.\n */\n type: enums([`${FeeType.Base}`, `${FeeType.Priority}`]),\n\n /**\n * Asset used to pay for the fee.\n */\n asset: AssetStruct,\n});\n\n/**\n * Transaction statuses.\n */\nexport enum TransactionStatus {\n /**\n * The transaction has been submitted but is not yet in the\n * blockchain. For example, it can be in the mempool.\n */\n Submitted = 'submitted',\n\n /**\n * The transaction is in the blockchain but has not been\n * confirmed yet.\n */\n Unconfirmed = 'unconfirmed',\n\n /**\n * The transaction has been confirmed.\n */\n Confirmed = 'confirmed',\n\n /**\n * The transaction has failed. For example, it has been reverted.\n */\n Failed = 'failed',\n}\n\n/**\n * Transaction types.\n */\nexport enum TransactionType {\n /**\n * The transaction was originated by the account. If the transaction\n * has a change output that goes back to the same account, it must be tagged\n * as a send transaction.\n */\n Send = 'send',\n\n /**\n * The transaction was received by the account, but originated by\n * another account.\n */\n Receive = 'receive',\n}\n\n/**\n * This struct represents a transaction event.\n */\nexport const TransactionEventStruct = object({\n /**\n * New status of the transaction.\n */\n status: enums([\n `${TransactionStatus.Submitted}`,\n `${TransactionStatus.Unconfirmed}`,\n `${TransactionStatus.Confirmed}`,\n `${TransactionStatus.Failed}`,\n ]),\n\n /**\n * UNIX timestamp of when the event occurred.\n */\n timestamp: nullable(number()),\n});\n\n/**\n * This struct represents a blockchain transaction.\n *\n * @example\n * ```ts\n * const tx = {\n * id: 'f5d8ee39a430901c91a5917b9f2dc19d6d1a0e9cea205b009ca73dd04470b9a6',\n * chain: 'bip122:000000000019d6689c085ae165831e93',\n * account: 'b9beb861-9761-4b97-89ce-d992be5f34da',\n * status: 'confirmed',\n * timestamp: 1716367781,\n * type: 'send',\n * from: [\n * {\n * address: 'bc1qrp0yzgkf8rawkuvdlhnjfj2fnjwm0m8727kgah',\n * asset: {\n * fungible: true,\n * type: 'bip122:000000000019d6689c085ae165831e93/slip44:0',\n * unit: 'BTC',\n * amount: '0.1',\n * },\n * },\n * ],\n * to: [\n * {\n * address: 'bc1qrp0yzgkf8rawkuvdlhnjfj2fnjwm0m8727kgah',\n * asset: {\n * fungible: true,\n * type: 'bip122:000000000019d6689c085ae165831e93/slip44:0',\n * unit: 'BTC',\n * amount: '0.1',\n * },\n * },\n * {\n * address: 'bc1qwl8399fz829uqvqly9tcatgrgtwp3udnhxfq4k',\n * asset: {\n * fungible: true,\n * type: 'bip122:000000000019d6689c085ae165831e93/slip44:0',\n * unit: 'BTC',\n * amount: '0.1',\n * },\n * },\n * ],\n * fees: [\n * {\n * type: 'priority',\n * asset: {\n * fungible: true,\n * type: 'bip122:000000000019d6689c085ae165831e93/slip44:0',\n * unit: 'BTC',\n * amount: '0.1',\n * },\n * },\n * ],\n * };\n * ```\n */\nexport const TransactionStruct = object({\n /**\n * Chain-specific transaction ID.\n */\n id: string(),\n\n /**\n * Chain ID (CAIP-2).\n */\n chain: CaipChainIdStruct,\n\n /**\n * Account ID (UUIDv4).\n */\n account: UuidStruct,\n\n /**\n * Transaction status {@see TransactionStatus}.\n */\n status: enums([\n `${TransactionStatus.Submitted}`,\n `${TransactionStatus.Unconfirmed}`,\n `${TransactionStatus.Confirmed}`,\n `${TransactionStatus.Failed}`,\n ]),\n\n /**\n * UNIX timestamp of when the transaction was added to the blockchain. The\n * timestamp can be null if the transaction has not been included in the\n * blockchain yet.\n */\n timestamp: nullable(number()),\n\n /**\n * Transaction type {@see TransactionType}. This will be used by MetaMask to enrich the transaction\n * details on the UI.\n */\n type: enums([`${TransactionType.Send}`, `${TransactionType.Receive}`]),\n\n /**\n * Transaction sender addresses and amounts.\n */\n from: array(ParticipantStruct),\n\n /**\n * Transaction receiver addresses and amounts.\n */\n to: array(ParticipantStruct),\n\n /**\n * Total transaction fee.\n */\n fees: array(FeeStruct),\n\n /**\n * List of events related to the transaction {@see TransactionEventStruct}.\n *\n * The events are tracked in a best-effort basis and may not be available for\n * all transactions.\n */\n events: array(TransactionEventStruct),\n});\n\n/**\n * Transaction object.\n *\n * See {@link TransactionStruct}.\n */\nexport type Transaction = Infer<typeof TransactionStruct>;\n\n/**\n * This struct represents a page of transactions.\n *\n * @example\n * ```ts\n * {\n * data: [\n * {\n * // Transaction object\n * }\n * ],\n * next: 'c3y1Q6QtqtstbxKX+oqVdEW6',\n * }\n * ```\n */\nexport const TransactionsPageStruct = object({\n /**\n * List of transactions.\n */\n data: array(TransactionStruct),\n\n /**\n * Next cursor to iterate over the results. If null, there are no more\n * results.\n */\n next: nullable(string()),\n});\n\n/**\n * Transactions page object.\n *\n * See {@link TransactionsPageStruct}.\n */\nexport type TransactionsPage = InferEquals<\n typeof TransactionsPageStruct,\n Paginated<Transaction>\n>;\n"]}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./types.cjs"), exports);
18
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../src/btc/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAAwB","sourcesContent":["export * from './types';\n"]}
@@ -0,0 +1,2 @@
1
+ export * from "./types.cjs";
2
+ //# sourceMappingURL=index.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../src/btc/index.ts"],"names":[],"mappings":"AAAA,4BAAwB"}
@@ -0,0 +1,2 @@
1
+ export * from "./types.mjs";
2
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../src/btc/index.ts"],"names":[],"mappings":"AAAA,4BAAwB"}
@@ -0,0 +1,2 @@
1
+ export * from "./types.mjs";
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/btc/index.ts"],"names":[],"mappings":"AAAA,4BAAwB","sourcesContent":["export * from './types';\n"]}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BtcP2wpkhAccountStruct = exports.BtcMethod = exports.BtcP2wpkhAddressStruct = void 0;
4
+ const superstruct_1 = require("@metamask/superstruct");
5
+ const bech32_1 = require("bech32");
6
+ const api_1 = require("../api/index.cjs");
7
+ const superstruct_2 = require("../superstruct.cjs");
8
+ exports.BtcP2wpkhAddressStruct = (0, superstruct_1.refine)((0, superstruct_1.string)(), 'BtcP2wpkhAddressStruct', (address) => {
9
+ try {
10
+ bech32_1.bech32.decode(address);
11
+ }
12
+ catch (error) {
13
+ return new Error(`Could not decode P2WPKH address: ${error.message}`);
14
+ }
15
+ return true;
16
+ });
17
+ /**
18
+ * Supported Bitcoin methods.
19
+ */
20
+ var BtcMethod;
21
+ (function (BtcMethod) {
22
+ // General transaction methods
23
+ BtcMethod["SendBitcoin"] = "sendBitcoin";
24
+ })(BtcMethod || (exports.BtcMethod = BtcMethod = {}));
25
+ exports.BtcP2wpkhAccountStruct = (0, superstruct_2.object)({
26
+ ...api_1.KeyringAccountStruct.schema,
27
+ /**
28
+ * Account address.
29
+ */
30
+ address: exports.BtcP2wpkhAddressStruct,
31
+ /**
32
+ * Account type.
33
+ */
34
+ type: (0, superstruct_1.literal)(`${api_1.BtcAccountType.P2wpkh}`),
35
+ /**
36
+ * Account supported methods.
37
+ */
38
+ methods: (0, superstruct_1.array)((0, superstruct_1.enums)([`${BtcMethod.SendBitcoin}`])),
39
+ });
40
+ //# sourceMappingURL=types.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.cjs","sourceRoot":"","sources":["../../src/btc/types.ts"],"names":[],"mappings":";;;AACA,uDAA8E;AAC9E,mCAAgC;AAEhC,0CAA8D;AAC9D,oDAAwC;AAE3B,QAAA,sBAAsB,GAAG,IAAA,oBAAM,EAC1C,IAAA,oBAAM,GAAE,EACR,wBAAwB,EACxB,CAAC,OAAe,EAAE,EAAE;IAClB,IAAI,CAAC;QACH,eAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAI,KAAK,CACd,oCAAqC,KAAe,CAAC,OAAO,EAAE,CAC/D,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CACF,CAAC;AAEF;;GAEG;AACH,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,8BAA8B;IAC9B,wCAA2B,CAAA;AAC7B,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB;AAEY,QAAA,sBAAsB,GAAG,IAAA,oBAAM,EAAC;IAC3C,GAAG,0BAAoB,CAAC,MAAM;IAE9B;;OAEG;IACH,OAAO,EAAE,8BAAsB;IAE/B;;OAEG;IACH,IAAI,EAAE,IAAA,qBAAO,EAAC,GAAG,oBAAc,CAAC,MAAM,EAAE,CAAC;IAEzC;;OAEG;IACH,OAAO,EAAE,IAAA,mBAAK,EAAC,IAAA,mBAAK,EAAC,CAAC,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;CACpD,CAAC,CAAC","sourcesContent":["import type { Infer } from '@metamask/superstruct';\nimport { string, array, enums, refine, literal } from '@metamask/superstruct';\nimport { bech32 } from 'bech32';\n\nimport { KeyringAccountStruct, BtcAccountType } from '../api';\nimport { object } from '../superstruct';\n\nexport const BtcP2wpkhAddressStruct = refine(\n string(),\n 'BtcP2wpkhAddressStruct',\n (address: string) => {\n try {\n bech32.decode(address);\n } catch (error) {\n return new Error(\n `Could not decode P2WPKH address: ${(error as Error).message}`,\n );\n }\n return true;\n },\n);\n\n/**\n * Supported Bitcoin methods.\n */\nexport enum BtcMethod {\n // General transaction methods\n SendBitcoin = 'sendBitcoin',\n}\n\nexport const BtcP2wpkhAccountStruct = object({\n ...KeyringAccountStruct.schema,\n\n /**\n * Account address.\n */\n address: BtcP2wpkhAddressStruct,\n\n /**\n * Account type.\n */\n type: literal(`${BtcAccountType.P2wpkh}`),\n\n /**\n * Account supported methods.\n */\n methods: array(enums([`${BtcMethod.SendBitcoin}`])),\n});\n\nexport type BtcP2wpkhAccount = Infer<typeof BtcP2wpkhAccountStruct>;\n"]}
@@ -0,0 +1,34 @@
1
+ import type { Infer } from "@metamask/superstruct";
2
+ export declare const BtcP2wpkhAddressStruct: import("@metamask/superstruct").Struct<string, null>;
3
+ /**
4
+ * Supported Bitcoin methods.
5
+ */
6
+ export declare enum BtcMethod {
7
+ SendBitcoin = "sendBitcoin"
8
+ }
9
+ export declare const BtcP2wpkhAccountStruct: import("@metamask/superstruct").Struct<{
10
+ type: "bip122:p2wpkh";
11
+ id: string;
12
+ address: string;
13
+ options: Record<string, import("@metamask/utils").Json>;
14
+ methods: "sendBitcoin"[];
15
+ }, {
16
+ /**
17
+ * Account address.
18
+ */
19
+ address: import("@metamask/superstruct").Struct<string, null>;
20
+ /**
21
+ * Account type.
22
+ */
23
+ type: import("@metamask/superstruct").Struct<"bip122:p2wpkh", "bip122:p2wpkh">;
24
+ /**
25
+ * Account supported methods.
26
+ */
27
+ methods: import("@metamask/superstruct").Struct<"sendBitcoin"[], import("@metamask/superstruct").Struct<"sendBitcoin", {
28
+ sendBitcoin: "sendBitcoin";
29
+ }>>;
30
+ id: import("@metamask/superstruct").Struct<string, null>;
31
+ options: import("@metamask/superstruct").Struct<Record<string, import("@metamask/utils").Json>, null>;
32
+ }>;
33
+ export type BtcP2wpkhAccount = Infer<typeof BtcP2wpkhAccountStruct>;
34
+ //# sourceMappingURL=types.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.cts","sourceRoot":"","sources":["../../src/btc/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,8BAA8B;AAOnD,eAAO,MAAM,sBAAsB,sDAalC,CAAC;AAEF;;GAEG;AACH,oBAAY,SAAS;IAEnB,WAAW,gBAAgB;CAC5B;AAED,eAAO,MAAM,sBAAsB;;;;;;;IAGjC;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;;;;;EAEH,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
@@ -0,0 +1,34 @@
1
+ import type { Infer } from "@metamask/superstruct";
2
+ export declare const BtcP2wpkhAddressStruct: import("@metamask/superstruct").Struct<string, null>;
3
+ /**
4
+ * Supported Bitcoin methods.
5
+ */
6
+ export declare enum BtcMethod {
7
+ SendBitcoin = "sendBitcoin"
8
+ }
9
+ export declare const BtcP2wpkhAccountStruct: import("@metamask/superstruct").Struct<{
10
+ type: "bip122:p2wpkh";
11
+ id: string;
12
+ address: string;
13
+ options: Record<string, import("@metamask/utils").Json>;
14
+ methods: "sendBitcoin"[];
15
+ }, {
16
+ /**
17
+ * Account address.
18
+ */
19
+ address: import("@metamask/superstruct").Struct<string, null>;
20
+ /**
21
+ * Account type.
22
+ */
23
+ type: import("@metamask/superstruct").Struct<"bip122:p2wpkh", "bip122:p2wpkh">;
24
+ /**
25
+ * Account supported methods.
26
+ */
27
+ methods: import("@metamask/superstruct").Struct<"sendBitcoin"[], import("@metamask/superstruct").Struct<"sendBitcoin", {
28
+ sendBitcoin: "sendBitcoin";
29
+ }>>;
30
+ id: import("@metamask/superstruct").Struct<string, null>;
31
+ options: import("@metamask/superstruct").Struct<Record<string, import("@metamask/utils").Json>, null>;
32
+ }>;
33
+ export type BtcP2wpkhAccount = Infer<typeof BtcP2wpkhAccountStruct>;
34
+ //# sourceMappingURL=types.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../../src/btc/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,8BAA8B;AAOnD,eAAO,MAAM,sBAAsB,sDAalC,CAAC;AAEF;;GAEG;AACH,oBAAY,SAAS;IAEnB,WAAW,gBAAgB;CAC5B;AAED,eAAO,MAAM,sBAAsB;;;;;;;IAGjC;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;;;;;EAEH,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { string, array, enums, refine, literal } from "@metamask/superstruct";
2
+ import { bech32 } from "bech32";
3
+ import { KeyringAccountStruct, BtcAccountType } from "../api/index.mjs";
4
+ import { object } from "../superstruct.mjs";
5
+ export const BtcP2wpkhAddressStruct = refine(string(), 'BtcP2wpkhAddressStruct', (address) => {
6
+ try {
7
+ bech32.decode(address);
8
+ }
9
+ catch (error) {
10
+ return new Error(`Could not decode P2WPKH address: ${error.message}`);
11
+ }
12
+ return true;
13
+ });
14
+ /**
15
+ * Supported Bitcoin methods.
16
+ */
17
+ export var BtcMethod;
18
+ (function (BtcMethod) {
19
+ // General transaction methods
20
+ BtcMethod["SendBitcoin"] = "sendBitcoin";
21
+ })(BtcMethod || (BtcMethod = {}));
22
+ export const BtcP2wpkhAccountStruct = object({
23
+ ...KeyringAccountStruct.schema,
24
+ /**
25
+ * Account address.
26
+ */
27
+ address: BtcP2wpkhAddressStruct,
28
+ /**
29
+ * Account type.
30
+ */
31
+ type: literal(`${BtcAccountType.P2wpkh}`),
32
+ /**
33
+ * Account supported methods.
34
+ */
35
+ methods: array(enums([`${BtcMethod.SendBitcoin}`])),
36
+ });
37
+ //# sourceMappingURL=types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.mjs","sourceRoot":"","sources":["../../src/btc/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,8BAA8B;AAC9E,OAAO,EAAE,MAAM,EAAE,eAAe;AAEhC,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,yBAAe;AAC9D,OAAO,EAAE,MAAM,EAAE,2BAAuB;AAExC,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAC1C,MAAM,EAAE,EACR,wBAAwB,EACxB,CAAC,OAAe,EAAE,EAAE;IAClB,IAAI,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAI,KAAK,CACd,oCAAqC,KAAe,CAAC,OAAO,EAAE,CAC/D,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,8BAA8B;IAC9B,wCAA2B,CAAA;AAC7B,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC;IAC3C,GAAG,oBAAoB,CAAC,MAAM;IAE9B;;OAEG;IACH,OAAO,EAAE,sBAAsB;IAE/B;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC;IAEzC;;OAEG;IACH,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;CACpD,CAAC,CAAC","sourcesContent":["import type { Infer } from '@metamask/superstruct';\nimport { string, array, enums, refine, literal } from '@metamask/superstruct';\nimport { bech32 } from 'bech32';\n\nimport { KeyringAccountStruct, BtcAccountType } from '../api';\nimport { object } from '../superstruct';\n\nexport const BtcP2wpkhAddressStruct = refine(\n string(),\n 'BtcP2wpkhAddressStruct',\n (address: string) => {\n try {\n bech32.decode(address);\n } catch (error) {\n return new Error(\n `Could not decode P2WPKH address: ${(error as Error).message}`,\n );\n }\n return true;\n },\n);\n\n/**\n * Supported Bitcoin methods.\n */\nexport enum BtcMethod {\n // General transaction methods\n SendBitcoin = 'sendBitcoin',\n}\n\nexport const BtcP2wpkhAccountStruct = object({\n ...KeyringAccountStruct.schema,\n\n /**\n * Account address.\n */\n address: BtcP2wpkhAddressStruct,\n\n /**\n * Account type.\n */\n type: literal(`${BtcAccountType.P2wpkh}`),\n\n /**\n * Account supported methods.\n */\n methods: array(enums([`${BtcMethod.SendBitcoin}`])),\n});\n\nexport type BtcP2wpkhAccount = Infer<typeof BtcP2wpkhAccountStruct>;\n"]}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./types.cjs"), exports);
18
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../../src/eth/erc4337/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAAwB","sourcesContent":["export * from './types';\n"]}
@@ -0,0 +1,2 @@
1
+ export * from "./types.cjs";
2
+ //# sourceMappingURL=index.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../../src/eth/erc4337/index.ts"],"names":[],"mappings":"AAAA,4BAAwB"}
@@ -0,0 +1,2 @@
1
+ export * from "./types.mjs";
2
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../src/eth/erc4337/index.ts"],"names":[],"mappings":"AAAA,4BAAwB"}
@@ -0,0 +1,2 @@
1
+ export * from "./types.mjs";
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../src/eth/erc4337/index.ts"],"names":[],"mappings":"AAAA,4BAAwB","sourcesContent":["export * from './types';\n"]}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EthUserOperationPatchStruct = exports.EthBaseUserOperationStruct = exports.EthBaseTransactionStruct = exports.EthUserOperationStruct = void 0;
4
+ const superstruct_1 = require("../../superstruct.cjs");
5
+ const utils_1 = require("../../utils/index.cjs");
6
+ const types_1 = require("../types.cjs");
7
+ /**
8
+ * Struct of a UserOperation as defined by ERC-4337.
9
+ *
10
+ * @see https://eips.ethereum.org/EIPS/eip-4337#definitions
11
+ */
12
+ exports.EthUserOperationStruct = (0, superstruct_1.object)({
13
+ sender: types_1.EthAddressStruct,
14
+ nonce: types_1.EthUint256Struct,
15
+ initCode: types_1.EthBytesStruct,
16
+ callData: types_1.EthBytesStruct,
17
+ callGasLimit: types_1.EthUint256Struct,
18
+ verificationGasLimit: types_1.EthUint256Struct,
19
+ preVerificationGas: types_1.EthUint256Struct,
20
+ maxFeePerGas: types_1.EthUint256Struct,
21
+ maxPriorityFeePerGas: types_1.EthUint256Struct,
22
+ paymasterAndData: types_1.EthBytesStruct,
23
+ signature: types_1.EthBytesStruct,
24
+ });
25
+ /**
26
+ * Struct containing the most basic transaction information required to
27
+ * construct a UserOperation.
28
+ */
29
+ exports.EthBaseTransactionStruct = (0, superstruct_1.object)({
30
+ /**
31
+ * Address of the transaction recipient.
32
+ */
33
+ to: types_1.EthAddressStruct,
34
+ /**
35
+ * Amount of wei to transfer to the recipient.
36
+ */
37
+ value: types_1.EthUint256Struct,
38
+ /**
39
+ * Data to pass to the recipient.
40
+ */
41
+ data: types_1.EthBytesStruct,
42
+ });
43
+ exports.EthBaseUserOperationStruct = (0, superstruct_1.object)({
44
+ nonce: types_1.EthUint256Struct,
45
+ initCode: types_1.EthBytesStruct,
46
+ callData: types_1.EthBytesStruct,
47
+ gasLimits: (0, superstruct_1.exactOptional)((0, superstruct_1.object)({
48
+ callGasLimit: types_1.EthUint256Struct,
49
+ verificationGasLimit: types_1.EthUint256Struct,
50
+ preVerificationGas: types_1.EthUint256Struct,
51
+ })),
52
+ dummyPaymasterAndData: types_1.EthBytesStruct,
53
+ dummySignature: types_1.EthBytesStruct,
54
+ bundlerUrl: utils_1.UrlStruct,
55
+ });
56
+ exports.EthUserOperationPatchStruct = (0, superstruct_1.object)({
57
+ paymasterAndData: types_1.EthBytesStruct,
58
+ callGasLimit: (0, superstruct_1.exactOptional)(types_1.EthUint256Struct),
59
+ verificationGasLimit: (0, superstruct_1.exactOptional)(types_1.EthUint256Struct),
60
+ preVerificationGas: (0, superstruct_1.exactOptional)(types_1.EthUint256Struct),
61
+ });
62
+ //# sourceMappingURL=types.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.cjs","sourceRoot":"","sources":["../../../src/eth/erc4337/types.ts"],"names":[],"mappings":";;;AAEA,uDAA0D;AAC1D,iDAAwC;AACxC,wCAA8E;AAE9E;;;;GAIG;AACU,QAAA,sBAAsB,GAAG,IAAA,oBAAM,EAAC;IAC3C,MAAM,EAAE,wBAAgB;IACxB,KAAK,EAAE,wBAAgB;IACvB,QAAQ,EAAE,sBAAc;IACxB,QAAQ,EAAE,sBAAc;IACxB,YAAY,EAAE,wBAAgB;IAC9B,oBAAoB,EAAE,wBAAgB;IACtC,kBAAkB,EAAE,wBAAgB;IACpC,YAAY,EAAE,wBAAgB;IAC9B,oBAAoB,EAAE,wBAAgB;IACtC,gBAAgB,EAAE,sBAAc;IAChC,SAAS,EAAE,sBAAc;CAC1B,CAAC,CAAC;AAIH;;;GAGG;AACU,QAAA,wBAAwB,GAAG,IAAA,oBAAM,EAAC;IAC7C;;OAEG;IACH,EAAE,EAAE,wBAAgB;IAEpB;;OAEG;IACH,KAAK,EAAE,wBAAgB;IAEvB;;OAEG;IACH,IAAI,EAAE,sBAAc;CACrB,CAAC,CAAC;AAIU,QAAA,0BAA0B,GAAG,IAAA,oBAAM,EAAC;IAC/C,KAAK,EAAE,wBAAgB;IACvB,QAAQ,EAAE,sBAAc;IACxB,QAAQ,EAAE,sBAAc;IACxB,SAAS,EAAE,IAAA,2BAAa,EACtB,IAAA,oBAAM,EAAC;QACL,YAAY,EAAE,wBAAgB;QAC9B,oBAAoB,EAAE,wBAAgB;QACtC,kBAAkB,EAAE,wBAAgB;KACrC,CAAC,CACH;IACD,qBAAqB,EAAE,sBAAc;IACrC,cAAc,EAAE,sBAAc;IAC9B,UAAU,EAAE,iBAAS;CACtB,CAAC,CAAC;AAIU,QAAA,2BAA2B,GAAG,IAAA,oBAAM,EAAC;IAChD,gBAAgB,EAAE,sBAAc;IAChC,YAAY,EAAE,IAAA,2BAAa,EAAC,wBAAgB,CAAC;IAC7C,oBAAoB,EAAE,IAAA,2BAAa,EAAC,wBAAgB,CAAC;IACrD,kBAAkB,EAAE,IAAA,2BAAa,EAAC,wBAAgB,CAAC;CACpD,CAAC,CAAC","sourcesContent":["import { type Infer } from '@metamask/superstruct';\n\nimport { exactOptional, object } from '../../superstruct';\nimport { UrlStruct } from '../../utils';\nimport { EthAddressStruct, EthBytesStruct, EthUint256Struct } from '../types';\n\n/**\n * Struct of a UserOperation as defined by ERC-4337.\n *\n * @see https://eips.ethereum.org/EIPS/eip-4337#definitions\n */\nexport const EthUserOperationStruct = object({\n sender: EthAddressStruct,\n nonce: EthUint256Struct,\n initCode: EthBytesStruct,\n callData: EthBytesStruct,\n callGasLimit: EthUint256Struct,\n verificationGasLimit: EthUint256Struct,\n preVerificationGas: EthUint256Struct,\n maxFeePerGas: EthUint256Struct,\n maxPriorityFeePerGas: EthUint256Struct,\n paymasterAndData: EthBytesStruct,\n signature: EthBytesStruct,\n});\n\nexport type EthUserOperation = Infer<typeof EthUserOperationStruct>;\n\n/**\n * Struct containing the most basic transaction information required to\n * construct a UserOperation.\n */\nexport const EthBaseTransactionStruct = object({\n /**\n * Address of the transaction recipient.\n */\n to: EthAddressStruct,\n\n /**\n * Amount of wei to transfer to the recipient.\n */\n value: EthUint256Struct,\n\n /**\n * Data to pass to the recipient.\n */\n data: EthBytesStruct,\n});\n\nexport type EthBaseTransaction = Infer<typeof EthBaseTransactionStruct>;\n\nexport const EthBaseUserOperationStruct = object({\n nonce: EthUint256Struct,\n initCode: EthBytesStruct,\n callData: EthBytesStruct,\n gasLimits: exactOptional(\n object({\n callGasLimit: EthUint256Struct,\n verificationGasLimit: EthUint256Struct,\n preVerificationGas: EthUint256Struct,\n }),\n ),\n dummyPaymasterAndData: EthBytesStruct,\n dummySignature: EthBytesStruct,\n bundlerUrl: UrlStruct,\n});\n\nexport type EthBaseUserOperation = Infer<typeof EthBaseUserOperationStruct>;\n\nexport const EthUserOperationPatchStruct = object({\n paymasterAndData: EthBytesStruct,\n callGasLimit: exactOptional(EthUint256Struct),\n verificationGasLimit: exactOptional(EthUint256Struct),\n preVerificationGas: exactOptional(EthUint256Struct),\n});\n\nexport type EthUserOperationPatch = Infer<typeof EthUserOperationPatchStruct>;\n"]}