@startale/app-sdk 1.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 (375) hide show
  1. package/LICENSE +13 -0
  2. package/README.md +116 -0
  3. package/dist/app-sdk.js +36226 -0
  4. package/dist/app-sdk.js.map +1 -0
  5. package/dist/app-sdk.min.js +15 -0
  6. package/dist/app-sdk.min.js.map +1 -0
  7. package/dist/browser-entry.d.ts +15 -0
  8. package/dist/browser-entry.d.ts.map +1 -0
  9. package/dist/browser-entry.js +19 -0
  10. package/dist/browser-entry.js.map +1 -0
  11. package/dist/core/communicator/Communicator.d.ts +47 -0
  12. package/dist/core/communicator/Communicator.d.ts.map +1 -0
  13. package/dist/core/communicator/Communicator.js +107 -0
  14. package/dist/core/communicator/Communicator.js.map +1 -0
  15. package/dist/core/constants.d.ts +5 -0
  16. package/dist/core/constants.d.ts.map +1 -0
  17. package/dist/core/constants.js +6 -0
  18. package/dist/core/constants.js.map +1 -0
  19. package/dist/core/error/constants.d.ts +96 -0
  20. package/dist/core/error/constants.d.ts.map +1 -0
  21. package/dist/core/error/constants.js +94 -0
  22. package/dist/core/error/constants.js.map +1 -0
  23. package/dist/core/error/errors.d.ts +74 -0
  24. package/dist/core/error/errors.d.ts.map +1 -0
  25. package/dist/core/error/errors.js +138 -0
  26. package/dist/core/error/errors.js.map +1 -0
  27. package/dist/core/error/serialize.d.ts +13 -0
  28. package/dist/core/error/serialize.d.ts.map +1 -0
  29. package/dist/core/error/serialize.js +43 -0
  30. package/dist/core/error/serialize.js.map +1 -0
  31. package/dist/core/error/utils.d.ts +31 -0
  32. package/dist/core/error/utils.d.ts.map +1 -0
  33. package/dist/core/error/utils.js +109 -0
  34. package/dist/core/error/utils.js.map +1 -0
  35. package/dist/core/message/ConfigMessage.d.ts +6 -0
  36. package/dist/core/message/ConfigMessage.d.ts.map +1 -0
  37. package/dist/core/message/ConfigMessage.js +2 -0
  38. package/dist/core/message/ConfigMessage.js.map +1 -0
  39. package/dist/core/message/Message.d.ts +8 -0
  40. package/dist/core/message/Message.d.ts.map +1 -0
  41. package/dist/core/message/Message.js +2 -0
  42. package/dist/core/message/Message.js.map +1 -0
  43. package/dist/core/message/RPCMessage.d.ts +31 -0
  44. package/dist/core/message/RPCMessage.d.ts.map +1 -0
  45. package/dist/core/message/RPCMessage.js +2 -0
  46. package/dist/core/message/RPCMessage.js.map +1 -0
  47. package/dist/core/message/RPCRequest.d.ts +6 -0
  48. package/dist/core/message/RPCRequest.d.ts.map +1 -0
  49. package/dist/core/message/RPCRequest.js +2 -0
  50. package/dist/core/message/RPCRequest.js.map +1 -0
  51. package/dist/core/message/RPCResponse.d.ts +23 -0
  52. package/dist/core/message/RPCResponse.d.ts.map +1 -0
  53. package/dist/core/message/RPCResponse.js +2 -0
  54. package/dist/core/message/RPCResponse.js.map +1 -0
  55. package/dist/core/provider/interface.d.ts +94 -0
  56. package/dist/core/provider/interface.d.ts.map +1 -0
  57. package/dist/core/provider/interface.js +4 -0
  58. package/dist/core/provider/interface.js.map +1 -0
  59. package/dist/core/rpc/coinbase_fetchSpendPermissions.d.ts +50 -0
  60. package/dist/core/rpc/coinbase_fetchSpendPermissions.d.ts.map +1 -0
  61. package/dist/core/rpc/coinbase_fetchSpendPermissions.js +2 -0
  62. package/dist/core/rpc/coinbase_fetchSpendPermissions.js.map +1 -0
  63. package/dist/core/rpc/wallet_addSubAccount.d.ts +37 -0
  64. package/dist/core/rpc/wallet_addSubAccount.d.ts.map +1 -0
  65. package/dist/core/rpc/wallet_addSubAccount.js +2 -0
  66. package/dist/core/rpc/wallet_addSubAccount.js.map +1 -0
  67. package/dist/core/rpc/wallet_connect.d.ts +64 -0
  68. package/dist/core/rpc/wallet_connect.d.ts.map +1 -0
  69. package/dist/core/rpc/wallet_connect.js +2 -0
  70. package/dist/core/rpc/wallet_connect.js.map +1 -0
  71. package/dist/core/rpc/wallet_getSubAccount.d.ts +14 -0
  72. package/dist/core/rpc/wallet_getSubAccount.d.ts.map +1 -0
  73. package/dist/core/rpc/wallet_getSubAccount.js +2 -0
  74. package/dist/core/rpc/wallet_getSubAccount.js.map +1 -0
  75. package/dist/core/rpc/wallet_prepareCalls.d.ts +28 -0
  76. package/dist/core/rpc/wallet_prepareCalls.d.ts.map +1 -0
  77. package/dist/core/rpc/wallet_prepareCalls.js +2 -0
  78. package/dist/core/rpc/wallet_prepareCalls.js.map +1 -0
  79. package/dist/core/rpc/wallet_sendPreparedCalls.d.ts +47 -0
  80. package/dist/core/rpc/wallet_sendPreparedCalls.d.ts.map +1 -0
  81. package/dist/core/rpc/wallet_sendPreparedCalls.js +2 -0
  82. package/dist/core/rpc/wallet_sendPreparedCalls.js.map +1 -0
  83. package/dist/core/telemetry/events/communicator.d.ts +4 -0
  84. package/dist/core/telemetry/events/communicator.d.ts.map +1 -0
  85. package/dist/core/telemetry/events/communicator.js +20 -0
  86. package/dist/core/telemetry/events/communicator.js.map +1 -0
  87. package/dist/core/telemetry/events/dialog.d.ts +15 -0
  88. package/dist/core/telemetry/events/dialog.d.ts.map +1 -0
  89. package/dist/core/telemetry/events/dialog.js +24 -0
  90. package/dist/core/telemetry/events/dialog.js.map +1 -0
  91. package/dist/core/telemetry/events/payment.d.ts +31 -0
  92. package/dist/core/telemetry/events/payment.d.ts.map +1 -0
  93. package/dist/core/telemetry/events/payment.js +68 -0
  94. package/dist/core/telemetry/events/payment.js.map +1 -0
  95. package/dist/core/telemetry/events/provider.d.ts +14 -0
  96. package/dist/core/telemetry/events/provider.d.ts.map +1 -0
  97. package/dist/core/telemetry/events/provider.js +30 -0
  98. package/dist/core/telemetry/events/provider.js.map +1 -0
  99. package/dist/core/telemetry/events/scw-signer.d.ts +27 -0
  100. package/dist/core/telemetry/events/scw-signer.d.ts.map +1 -0
  101. package/dist/core/telemetry/events/scw-signer.js +65 -0
  102. package/dist/core/telemetry/events/scw-signer.js.map +1 -0
  103. package/dist/core/telemetry/events/scw-sub-account.d.ts +40 -0
  104. package/dist/core/telemetry/events/scw-sub-account.d.ts.map +1 -0
  105. package/dist/core/telemetry/events/scw-sub-account.js +96 -0
  106. package/dist/core/telemetry/events/scw-sub-account.js.map +1 -0
  107. package/dist/core/telemetry/events/spend-permission.d.ts +6 -0
  108. package/dist/core/telemetry/events/spend-permission.d.ts.map +1 -0
  109. package/dist/core/telemetry/events/spend-permission.js +21 -0
  110. package/dist/core/telemetry/events/spend-permission.js.map +1 -0
  111. package/dist/core/telemetry/initCCA.d.ts +2 -0
  112. package/dist/core/telemetry/initCCA.d.ts.map +1 -0
  113. package/dist/core/telemetry/initCCA.js +43 -0
  114. package/dist/core/telemetry/initCCA.js.map +1 -0
  115. package/dist/core/telemetry/logEvent.d.ts +72 -0
  116. package/dist/core/telemetry/logEvent.d.ts.map +1 -0
  117. package/dist/core/telemetry/logEvent.js +62 -0
  118. package/dist/core/telemetry/logEvent.js.map +1 -0
  119. package/dist/core/telemetry/telemetry-content.d.ts +2 -0
  120. package/dist/core/telemetry/telemetry-content.d.ts.map +1 -0
  121. package/dist/core/telemetry/telemetry-content.js +5526 -0
  122. package/dist/core/telemetry/telemetry-content.js.map +1 -0
  123. package/dist/core/telemetry/utils.d.ts +2 -0
  124. package/dist/core/telemetry/utils.d.ts.map +1 -0
  125. package/dist/core/telemetry/utils.js +7 -0
  126. package/dist/core/telemetry/utils.js.map +1 -0
  127. package/dist/core/type/index.d.ts +21 -0
  128. package/dist/core/type/index.d.ts.map +1 -0
  129. package/dist/core/type/index.js +10 -0
  130. package/dist/core/type/index.js.map +1 -0
  131. package/dist/core/type/util.d.ts +28 -0
  132. package/dist/core/type/util.d.ts.map +1 -0
  133. package/dist/core/type/util.js +158 -0
  134. package/dist/core/type/util.js.map +1 -0
  135. package/dist/core/username/getDisplayableUsername.d.ts +3 -0
  136. package/dist/core/username/getDisplayableUsername.d.ts.map +1 -0
  137. package/dist/core/username/getDisplayableUsername.js +7 -0
  138. package/dist/core/username/getDisplayableUsername.js.map +1 -0
  139. package/dist/index.d.ts +6 -0
  140. package/dist/index.d.ts.map +1 -0
  141. package/dist/index.js +5 -0
  142. package/dist/index.js.map +1 -0
  143. package/dist/interface/builder/core/BaseAccountProvider.d.ts +11 -0
  144. package/dist/interface/builder/core/BaseAccountProvider.d.ts.map +1 -0
  145. package/dist/interface/builder/core/BaseAccountProvider.js +141 -0
  146. package/dist/interface/builder/core/BaseAccountProvider.js.map +1 -0
  147. package/dist/interface/builder/core/createBaseAccountSDK.d.ts +27 -0
  148. package/dist/interface/builder/core/createBaseAccountSDK.d.ts.map +1 -0
  149. package/dist/interface/builder/core/createBaseAccountSDK.js +149 -0
  150. package/dist/interface/builder/core/createBaseAccountSDK.js.map +1 -0
  151. package/dist/interface/builder/core/getInjectedProvider.d.ts +13 -0
  152. package/dist/interface/builder/core/getInjectedProvider.d.ts.map +1 -0
  153. package/dist/interface/builder/core/getInjectedProvider.js +10 -0
  154. package/dist/interface/builder/core/getInjectedProvider.js.map +1 -0
  155. package/dist/interface/payment/base.d.ts +32 -0
  156. package/dist/interface/payment/base.d.ts.map +1 -0
  157. package/dist/interface/payment/base.js +16 -0
  158. package/dist/interface/payment/base.js.map +1 -0
  159. package/dist/interface/payment/constants.d.ts +56 -0
  160. package/dist/interface/payment/constants.d.ts.map +1 -0
  161. package/dist/interface/payment/constants.js +45 -0
  162. package/dist/interface/payment/constants.js.map +1 -0
  163. package/dist/interface/payment/getPaymentStatus.d.ts +28 -0
  164. package/dist/interface/payment/getPaymentStatus.d.ts.map +1 -0
  165. package/dist/interface/payment/getPaymentStatus.js +243 -0
  166. package/dist/interface/payment/getPaymentStatus.js.map +1 -0
  167. package/dist/interface/payment/index.d.ts +9 -0
  168. package/dist/interface/payment/index.d.ts.map +1 -0
  169. package/dist/interface/payment/index.js +9 -0
  170. package/dist/interface/payment/index.js.map +1 -0
  171. package/dist/interface/payment/pay.d.ts +29 -0
  172. package/dist/interface/payment/pay.d.ts.map +1 -0
  173. package/dist/interface/payment/pay.js +90 -0
  174. package/dist/interface/payment/pay.js.map +1 -0
  175. package/dist/interface/payment/types.d.ts +123 -0
  176. package/dist/interface/payment/types.d.ts.map +1 -0
  177. package/dist/interface/payment/types.js +5 -0
  178. package/dist/interface/payment/types.js.map +1 -0
  179. package/dist/interface/payment/utils/sdkManager.d.ts +61 -0
  180. package/dist/interface/payment/utils/sdkManager.d.ts.map +1 -0
  181. package/dist/interface/payment/utils/sdkManager.js +84 -0
  182. package/dist/interface/payment/utils/sdkManager.js.map +1 -0
  183. package/dist/interface/payment/utils/translatePayment.d.ts +45 -0
  184. package/dist/interface/payment/utils/translatePayment.d.ts.map +1 -0
  185. package/dist/interface/payment/utils/translatePayment.js +70 -0
  186. package/dist/interface/payment/utils/translatePayment.js.map +1 -0
  187. package/dist/interface/payment/utils/validation.d.ts +16 -0
  188. package/dist/interface/payment/utils/validation.d.ts.map +1 -0
  189. package/dist/interface/payment/utils/validation.js +47 -0
  190. package/dist/interface/payment/utils/validation.js.map +1 -0
  191. package/dist/interface/public-utilities/spend-permission/index.d.ts +8 -0
  192. package/dist/interface/public-utilities/spend-permission/index.d.ts.map +1 -0
  193. package/dist/interface/public-utilities/spend-permission/index.js +8 -0
  194. package/dist/interface/public-utilities/spend-permission/index.js.map +1 -0
  195. package/dist/interface/public-utilities/spend-permission/methods/fetchPermissions.d.ts +14 -0
  196. package/dist/interface/public-utilities/spend-permission/methods/fetchPermissions.d.ts.map +1 -0
  197. package/dist/interface/public-utilities/spend-permission/methods/fetchPermissions.js +52 -0
  198. package/dist/interface/public-utilities/spend-permission/methods/fetchPermissions.js.map +1 -0
  199. package/dist/interface/public-utilities/spend-permission/methods/getHash.d.ts +9 -0
  200. package/dist/interface/public-utilities/spend-permission/methods/getHash.d.ts.map +1 -0
  201. package/dist/interface/public-utilities/spend-permission/methods/getHash.js +54 -0
  202. package/dist/interface/public-utilities/spend-permission/methods/getHash.js.map +1 -0
  203. package/dist/interface/public-utilities/spend-permission/methods/getPermissionStatus.d.ts +8 -0
  204. package/dist/interface/public-utilities/spend-permission/methods/getPermissionStatus.d.ts.map +1 -0
  205. package/dist/interface/public-utilities/spend-permission/methods/getPermissionStatus.js +85 -0
  206. package/dist/interface/public-utilities/spend-permission/methods/getPermissionStatus.js.map +1 -0
  207. package/dist/interface/public-utilities/spend-permission/methods/prepareRevokeCallData.d.ts +10 -0
  208. package/dist/interface/public-utilities/spend-permission/methods/prepareRevokeCallData.d.ts.map +1 -0
  209. package/dist/interface/public-utilities/spend-permission/methods/prepareRevokeCallData.js +51 -0
  210. package/dist/interface/public-utilities/spend-permission/methods/prepareRevokeCallData.js.map +1 -0
  211. package/dist/interface/public-utilities/spend-permission/methods/prepareSpendCallData.d.ts +11 -0
  212. package/dist/interface/public-utilities/spend-permission/methods/prepareSpendCallData.d.ts.map +1 -0
  213. package/dist/interface/public-utilities/spend-permission/methods/prepareSpendCallData.js +104 -0
  214. package/dist/interface/public-utilities/spend-permission/methods/prepareSpendCallData.js.map +1 -0
  215. package/dist/interface/public-utilities/spend-permission/methods/requestRevoke.d.ts +11 -0
  216. package/dist/interface/public-utilities/spend-permission/methods/requestRevoke.d.ts.map +1 -0
  217. package/dist/interface/public-utilities/spend-permission/methods/requestRevoke.js +64 -0
  218. package/dist/interface/public-utilities/spend-permission/methods/requestRevoke.js.map +1 -0
  219. package/dist/interface/public-utilities/spend-permission/methods/requestSpendPermission.d.ts +20 -0
  220. package/dist/interface/public-utilities/spend-permission/methods/requestSpendPermission.d.ts.map +1 -0
  221. package/dist/interface/public-utilities/spend-permission/methods/requestSpendPermission.js +67 -0
  222. package/dist/interface/public-utilities/spend-permission/methods/requestSpendPermission.js.map +1 -0
  223. package/dist/interface/public-utilities/spend-permission/utils.d.ts +81 -0
  224. package/dist/interface/public-utilities/spend-permission/utils.d.ts.map +1 -0
  225. package/dist/interface/public-utilities/spend-permission/utils.js +130 -0
  226. package/dist/interface/public-utilities/spend-permission/utils.js.map +1 -0
  227. package/dist/interface/public-utilities/spend-permission/withTelemetry.d.ts +2 -0
  228. package/dist/interface/public-utilities/spend-permission/withTelemetry.d.ts.map +1 -0
  229. package/dist/interface/public-utilities/spend-permission/withTelemetry.js +30 -0
  230. package/dist/interface/public-utilities/spend-permission/withTelemetry.js.map +1 -0
  231. package/dist/kms/crypto-key/index.d.ts +18 -0
  232. package/dist/kms/crypto-key/index.d.ts.map +1 -0
  233. package/dist/kms/crypto-key/index.js +97 -0
  234. package/dist/kms/crypto-key/index.js.map +1 -0
  235. package/dist/kms/crypto-key/storage.d.ts +7 -0
  236. package/dist/kms/crypto-key/storage.d.ts.map +1 -0
  237. package/dist/kms/crypto-key/storage.js +20 -0
  238. package/dist/kms/crypto-key/storage.js.map +1 -0
  239. package/dist/sign/app-sdk/SCWKeyManager.d.ts +15 -0
  240. package/dist/sign/app-sdk/SCWKeyManager.d.ts.map +1 -0
  241. package/dist/sign/app-sdk/SCWKeyManager.js +82 -0
  242. package/dist/sign/app-sdk/SCWKeyManager.js.map +1 -0
  243. package/dist/sign/app-sdk/Signer.d.ts +38 -0
  244. package/dist/sign/app-sdk/Signer.d.ts.map +1 -0
  245. package/dist/sign/app-sdk/Signer.js +659 -0
  246. package/dist/sign/app-sdk/Signer.js.map +1 -0
  247. package/dist/sign/app-sdk/utils/constants.d.ts +1945 -0
  248. package/dist/sign/app-sdk/utils/constants.d.ts.map +1 -0
  249. package/dist/sign/app-sdk/utils/constants.js +1321 -0
  250. package/dist/sign/app-sdk/utils/constants.js.map +1 -0
  251. package/dist/sign/app-sdk/utils/createSmartAccount.d.ts +63 -0
  252. package/dist/sign/app-sdk/utils/createSmartAccount.d.ts.map +1 -0
  253. package/dist/sign/app-sdk/utils/createSmartAccount.js +291 -0
  254. package/dist/sign/app-sdk/utils/createSmartAccount.js.map +1 -0
  255. package/dist/sign/app-sdk/utils/createSubAccountSigner.d.ts +23 -0
  256. package/dist/sign/app-sdk/utils/createSubAccountSigner.d.ts.map +1 -0
  257. package/dist/sign/app-sdk/utils/createSubAccountSigner.js +233 -0
  258. package/dist/sign/app-sdk/utils/createSubAccountSigner.js.map +1 -0
  259. package/dist/sign/app-sdk/utils/findOwnerIndex.d.ts +32 -0
  260. package/dist/sign/app-sdk/utils/findOwnerIndex.d.ts.map +1 -0
  261. package/dist/sign/app-sdk/utils/findOwnerIndex.js +56 -0
  262. package/dist/sign/app-sdk/utils/findOwnerIndex.js.map +1 -0
  263. package/dist/sign/app-sdk/utils/handleAddSubAccountOwner.d.ts +8 -0
  264. package/dist/sign/app-sdk/utils/handleAddSubAccountOwner.d.ts.map +1 -0
  265. package/dist/sign/app-sdk/utils/handleAddSubAccountOwner.js +78 -0
  266. package/dist/sign/app-sdk/utils/handleAddSubAccountOwner.js.map +1 -0
  267. package/dist/sign/app-sdk/utils/handleInsufficientBalance.d.ts +18 -0
  268. package/dist/sign/app-sdk/utils/handleInsufficientBalance.d.ts.map +1 -0
  269. package/dist/sign/app-sdk/utils/handleInsufficientBalance.js +27 -0
  270. package/dist/sign/app-sdk/utils/handleInsufficientBalance.js.map +1 -0
  271. package/dist/sign/app-sdk/utils/presentAddOwnerDialog.d.ts +2 -0
  272. package/dist/sign/app-sdk/utils/presentAddOwnerDialog.d.ts.map +1 -0
  273. package/dist/sign/app-sdk/utils/presentAddOwnerDialog.js +46 -0
  274. package/dist/sign/app-sdk/utils/presentAddOwnerDialog.js.map +1 -0
  275. package/dist/sign/app-sdk/utils/routeThroughGlobalAccount.d.ts +33 -0
  276. package/dist/sign/app-sdk/utils/routeThroughGlobalAccount.d.ts.map +1 -0
  277. package/dist/sign/app-sdk/utils/routeThroughGlobalAccount.js +76 -0
  278. package/dist/sign/app-sdk/utils/routeThroughGlobalAccount.js.map +1 -0
  279. package/dist/sign/app-sdk/utils.d.ts +220 -0
  280. package/dist/sign/app-sdk/utils.d.ts.map +1 -0
  281. package/dist/sign/app-sdk/utils.js +439 -0
  282. package/dist/sign/app-sdk/utils.js.map +1 -0
  283. package/dist/store/chain-clients/store.d.ts +10 -0
  284. package/dist/store/chain-clients/store.d.ts.map +1 -0
  285. package/dist/store/chain-clients/store.js +3 -0
  286. package/dist/store/chain-clients/store.js.map +1 -0
  287. package/dist/store/chain-clients/utils.d.ts +13 -0
  288. package/dist/store/chain-clients/utils.d.ts.map +1 -0
  289. package/dist/store/chain-clients/utils.js +77 -0
  290. package/dist/store/chain-clients/utils.js.map +1 -0
  291. package/dist/store/correlation-ids/store.d.ts +7 -0
  292. package/dist/store/correlation-ids/store.d.ts.map +1 -0
  293. package/dist/store/correlation-ids/store.js +32 -0
  294. package/dist/store/correlation-ids/store.js.map +1 -0
  295. package/dist/store/store.d.ts +186 -0
  296. package/dist/store/store.d.ts.map +1 -0
  297. package/dist/store/store.js +167 -0
  298. package/dist/store/store.js.map +1 -0
  299. package/dist/ui/Dialog/Dialog-css.d.ts +3 -0
  300. package/dist/ui/Dialog/Dialog-css.d.ts.map +1 -0
  301. package/dist/ui/Dialog/Dialog-css.js +2 -0
  302. package/dist/ui/Dialog/Dialog-css.js.map +1 -0
  303. package/dist/ui/Dialog/Dialog.d.ts +28 -0
  304. package/dist/ui/Dialog/Dialog.d.ts.map +1 -0
  305. package/dist/ui/Dialog/Dialog.js +150 -0
  306. package/dist/ui/Dialog/Dialog.js.map +1 -0
  307. package/dist/ui/Dialog/index.d.ts +3 -0
  308. package/dist/ui/Dialog/index.d.ts.map +1 -0
  309. package/dist/ui/Dialog/index.js +15 -0
  310. package/dist/ui/Dialog/index.js.map +1 -0
  311. package/dist/ui/assets/BaseLogo.d.ts +4 -0
  312. package/dist/ui/assets/BaseLogo.d.ts.map +1 -0
  313. package/dist/ui/assets/BaseLogo.js +7 -0
  314. package/dist/ui/assets/BaseLogo.js.map +1 -0
  315. package/dist/ui/assets/BasePayLogo.d.ts +3 -0
  316. package/dist/ui/assets/BasePayLogo.d.ts.map +1 -0
  317. package/dist/ui/assets/BasePayLogo.js +4 -0
  318. package/dist/ui/assets/BasePayLogo.js.map +1 -0
  319. package/dist/ui/assets/colors.d.ts +18 -0
  320. package/dist/ui/assets/colors.d.ts.map +1 -0
  321. package/dist/ui/assets/colors.js +19 -0
  322. package/dist/ui/assets/colors.js.map +1 -0
  323. package/dist/ui/assets/fontFaceCSS.d.ts +2 -0
  324. package/dist/ui/assets/fontFaceCSS.d.ts.map +1 -0
  325. package/dist/ui/assets/fontFaceCSS.js +11 -0
  326. package/dist/ui/assets/fontFaceCSS.js.map +1 -0
  327. package/dist/ui/assets/index.d.ts +6 -0
  328. package/dist/ui/assets/index.d.ts.map +1 -0
  329. package/dist/ui/assets/index.js +6 -0
  330. package/dist/ui/assets/index.js.map +1 -0
  331. package/dist/ui/assets/injectFontStyle.d.ts +2 -0
  332. package/dist/ui/assets/injectFontStyle.d.ts.map +1 -0
  333. package/dist/ui/assets/injectFontStyle.js +12 -0
  334. package/dist/ui/assets/injectFontStyle.js.map +1 -0
  335. package/dist/util/assertPresence.d.ts +3 -0
  336. package/dist/util/assertPresence.d.ts.map +1 -0
  337. package/dist/util/assertPresence.js +18 -0
  338. package/dist/util/assertPresence.js.map +1 -0
  339. package/dist/util/assertSubAccount.d.ts +3 -0
  340. package/dist/util/assertSubAccount.d.ts.map +1 -0
  341. package/dist/util/assertSubAccount.js +26 -0
  342. package/dist/util/assertSubAccount.js.map +1 -0
  343. package/dist/util/checkCrossOriginOpenerPolicy.d.ts +2 -0
  344. package/dist/util/checkCrossOriginOpenerPolicy.d.ts.map +1 -0
  345. package/dist/util/checkCrossOriginOpenerPolicy.js +56 -0
  346. package/dist/util/checkCrossOriginOpenerPolicy.js.map +1 -0
  347. package/dist/util/cipher.d.ts +12 -0
  348. package/dist/util/cipher.d.ts.map +1 -0
  349. package/dist/util/cipher.js +65 -0
  350. package/dist/util/cipher.js.map +1 -0
  351. package/dist/util/encoding.d.ts +20 -0
  352. package/dist/util/encoding.d.ts.map +1 -0
  353. package/dist/util/encoding.js +48 -0
  354. package/dist/util/encoding.js.map +1 -0
  355. package/dist/util/get.d.ts +2 -0
  356. package/dist/util/get.d.ts.map +1 -0
  357. package/dist/util/get.js +14 -0
  358. package/dist/util/get.js.map +1 -0
  359. package/dist/util/provider.d.ts +10 -0
  360. package/dist/util/provider.d.ts.map +1 -0
  361. package/dist/util/provider.js +56 -0
  362. package/dist/util/provider.js.map +1 -0
  363. package/dist/util/validatePreferences.d.ts +13 -0
  364. package/dist/util/validatePreferences.d.ts.map +1 -0
  365. package/dist/util/validatePreferences.js +30 -0
  366. package/dist/util/validatePreferences.js.map +1 -0
  367. package/dist/util/web.d.ts +3 -0
  368. package/dist/util/web.d.ts.map +1 -0
  369. package/dist/util/web.js +100 -0
  370. package/dist/util/web.js.map +1 -0
  371. package/dist/vendor-js/CCA/ca.d.ts +2 -0
  372. package/dist/vendor-js/CCA/ca.d.ts.map +1 -0
  373. package/dist/vendor-js/CCA/ca.js +4608 -0
  374. package/dist/vendor-js/CCA/ca.js.map +1 -0
  375. package/package.json +109 -0
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Browser entry point for Base Account SDK
3
+ * This file exposes the account interface to the global window object
4
+ */
5
+ import { base } from './interface/payment/base.js';
6
+ import { CHAIN_IDS, TOKENS } from './interface/payment/constants.js';
7
+ import { getPaymentStatus } from './interface/payment/getPaymentStatus.js';
8
+ import { pay } from './interface/payment/pay.js';
9
+ import type { InfoRequest, PayerInfo, PaymentOptions, PaymentResult, PaymentStatus, PaymentStatusOptions } from './interface/payment/types.js';
10
+ export type { AppMetadata, Preference, ProviderInterface, } from './core/provider/interface.js';
11
+ export { createBaseAccountSDK } from './interface/builder/core/createBaseAccountSDK.js';
12
+ export { getCryptoKeyAccount, removeCryptoKey } from './kms/crypto-key/index.js';
13
+ export { base, CHAIN_IDS, getPaymentStatus, pay, TOKENS };
14
+ export type { InfoRequest, PayerInfo, PaymentOptions, PaymentResult, PaymentStatus, PaymentStatusOptions, };
15
+ //# sourceMappingURL=browser-entry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-entry.d.ts","sourceRoot":"","sources":["../src/browser-entry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAA;AAC1E,OAAO,EAAE,GAAG,EAAE,MAAM,4BAA4B,CAAA;AAChD,OAAO,KAAK,EACX,WAAW,EACX,SAAS,EACT,cAAc,EACd,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,MAAM,8BAA8B,CAAA;AASrC,YAAY,EACX,WAAW,EACX,UAAU,EACV,iBAAiB,GACjB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAA;AACvF,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChF,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,EAAE,CAAA;AACzD,YAAY,EACX,WAAW,EACX,SAAS,EACT,cAAc,EACd,aAAa,EACb,aAAa,EACb,oBAAoB,GACpB,CAAA"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Browser entry point for Base Account SDK
3
+ * This file exposes the account interface to the global window object
4
+ */
5
+ import { createBaseAccountSDK } from './interface/builder/core/createBaseAccountSDK.js';
6
+ import { base } from './interface/payment/base.js';
7
+ import { CHAIN_IDS, TOKENS } from './interface/payment/constants.js';
8
+ import { getPaymentStatus } from './interface/payment/getPaymentStatus.js';
9
+ import { pay } from './interface/payment/pay.js';
10
+ // Expose to global window object
11
+ if (typeof window !== 'undefined') {
12
+ ;
13
+ window.base = base;
14
+ window.createBaseAccountSDK = createBaseAccountSDK;
15
+ }
16
+ export { createBaseAccountSDK } from './interface/builder/core/createBaseAccountSDK.js';
17
+ export { getCryptoKeyAccount, removeCryptoKey } from './kms/crypto-key/index.js';
18
+ export { base, CHAIN_IDS, getPaymentStatus, pay, TOKENS };
19
+ //# sourceMappingURL=browser-entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-entry.js","sourceRoot":"","sources":["../src/browser-entry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAA;AACvF,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAA;AAC1E,OAAO,EAAE,GAAG,EAAE,MAAM,4BAA4B,CAAA;AAUhD,iCAAiC;AACjC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;IACnC,CAAC;IAAC,MAAc,CAAC,IAAI,GAAG,IAAI,CAC3B;IAAC,MAAc,CAAC,oBAAoB,GAAG,oBAAoB,CAAA;AAC7D,CAAC;AAQD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAA;AACvF,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChF,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,EAAE,CAAA"}
@@ -0,0 +1,47 @@
1
+ import { AppMetadata, Preference } from '../provider/interface.js';
2
+ import { Message, MessageID } from '../message/Message.js';
3
+ export type CommunicatorOptions = {
4
+ url?: string;
5
+ metadata: AppMetadata;
6
+ preference: Preference;
7
+ };
8
+ /**
9
+ * Communicates with a popup window for specific Base Account environment
10
+ * to send and receive messages.
11
+ *
12
+ * This class is responsible for opening a popup window, posting messages to it,
13
+ * and listening for responses.
14
+ *
15
+ * It also handles cleanup of event listeners and the popup window itself when necessary.
16
+ */
17
+ export declare class Communicator {
18
+ private readonly metadata;
19
+ private readonly preference;
20
+ private readonly url;
21
+ private popup;
22
+ private listeners;
23
+ constructor({ url, metadata, preference, }: CommunicatorOptions);
24
+ /**
25
+ * Posts a message to the popup window
26
+ */
27
+ postMessage: (message: Message) => Promise<void>;
28
+ /**
29
+ * Posts a request to the popup window and waits for a response
30
+ */
31
+ postRequestAndWaitForResponse: <M extends Message>(request: Message & {
32
+ id: MessageID;
33
+ }) => Promise<M>;
34
+ /**
35
+ * Listens for messages from the popup window that match a given predicate.
36
+ */
37
+ onMessage: <M extends Message>(predicate: (_: Partial<M>) => boolean) => Promise<M>;
38
+ /**
39
+ * Closes the popup, rejects all requests and clears the listeners
40
+ */
41
+ private disconnect;
42
+ /**
43
+ * Waits for the popup window to fully load and then sends a version message.
44
+ */
45
+ waitForPopupLoaded: () => Promise<Window>;
46
+ }
47
+ //# sourceMappingURL=Communicator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Communicator.d.ts","sourceRoot":"","sources":["../../../src/core/communicator/Communicator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AASrE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAE1D,MAAM,MAAM,mBAAmB,GAAG;IACjC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,WAAW,CAAA;IACrB,UAAU,EAAE,UAAU,CAAA;CACtB,CAAA;AAED;;;;;;;;GAQG;AACH,qBAAa,YAAY;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAK;IACzB,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,SAAS,CAGd;gBAES,EACX,GAAiB,EACjB,QAAQ,EACR,UAAU,GACV,EAAE,mBAAmB;IAMtB;;OAEG;IACH,WAAW,GAAU,SAAS,OAAO,mBAGpC;IAED;;OAEG;IACH,6BAA6B,GAAU,CAAC,SAAS,OAAO,EACvD,SAAS,OAAO,GAAG;QAAE,EAAE,EAAE,SAAS,CAAA;KAAE,KAClC,OAAO,CAAC,CAAC,CAAC,CAMZ;IAED;;OAEG;IACH,SAAS,GAAU,CAAC,SAAS,OAAO,EACnC,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,KACnC,OAAO,CAAC,CAAC,CAAC,CAgBZ;IAED;;OAEG;IACH,OAAO,CAAC,UAAU,CAUjB;IAED;;OAEG;IACH,kBAAkB,QAAa,OAAO,CAAC,MAAM,CAAC,CAqC7C;CACD"}
@@ -0,0 +1,107 @@
1
+ import { CB_KEYS_URL, PACKAGE_NAME, PACKAGE_VERSION } from '../constants.js';
2
+ import { standardErrors } from '../error/errors.js';
3
+ import { logPopupSetupCompleted, logPopupSetupStarted, logPopupUnloadReceived, } from '../telemetry/events/communicator.js';
4
+ import { closePopup, openPopup } from '../../util/web.js';
5
+ /**
6
+ * Communicates with a popup window for specific Base Account environment
7
+ * to send and receive messages.
8
+ *
9
+ * This class is responsible for opening a popup window, posting messages to it,
10
+ * and listening for responses.
11
+ *
12
+ * It also handles cleanup of event listeners and the popup window itself when necessary.
13
+ */
14
+ export class Communicator {
15
+ constructor({ url = CB_KEYS_URL, metadata, preference, }) {
16
+ this.popup = null;
17
+ this.listeners = new Map();
18
+ /**
19
+ * Posts a message to the popup window
20
+ */
21
+ this.postMessage = async (message) => {
22
+ const popup = await this.waitForPopupLoaded();
23
+ popup.postMessage(message, this.url.origin);
24
+ };
25
+ /**
26
+ * Posts a request to the popup window and waits for a response
27
+ */
28
+ this.postRequestAndWaitForResponse = async (request) => {
29
+ const responsePromise = this.onMessage(({ requestId }) => requestId === request.id);
30
+ this.postMessage(request);
31
+ return await responsePromise;
32
+ };
33
+ /**
34
+ * Listens for messages from the popup window that match a given predicate.
35
+ */
36
+ this.onMessage = async (predicate) => {
37
+ return new Promise((resolve, reject) => {
38
+ const listener = (event) => {
39
+ if (event.origin !== this.url.origin)
40
+ return; // origin validation
41
+ const message = event.data;
42
+ if (predicate(message)) {
43
+ resolve(message);
44
+ window.removeEventListener('message', listener);
45
+ this.listeners.delete(listener);
46
+ }
47
+ };
48
+ window.addEventListener('message', listener);
49
+ this.listeners.set(listener, { reject });
50
+ });
51
+ };
52
+ /**
53
+ * Closes the popup, rejects all requests and clears the listeners
54
+ */
55
+ this.disconnect = () => {
56
+ // Note: keys popup handles closing itself. this is a fallback.
57
+ closePopup(this.popup);
58
+ this.popup = null;
59
+ this.listeners.forEach(({ reject }, listener) => {
60
+ reject(standardErrors.provider.userRejectedRequest('Request rejected'));
61
+ window.removeEventListener('message', listener);
62
+ });
63
+ this.listeners.clear();
64
+ };
65
+ /**
66
+ * Waits for the popup window to fully load and then sends a version message.
67
+ */
68
+ this.waitForPopupLoaded = async () => {
69
+ if (this.popup && !this.popup.closed) {
70
+ // In case the user un-focused the popup between requests, focus it again
71
+ this.popup.focus();
72
+ return this.popup;
73
+ }
74
+ logPopupSetupStarted();
75
+ this.popup = await openPopup(this.url);
76
+ this.onMessage(({ event }) => event === 'PopupUnload')
77
+ .then(() => {
78
+ this.disconnect();
79
+ logPopupUnloadReceived();
80
+ })
81
+ .catch(() => { });
82
+ return this.onMessage(({ event }) => event === 'PopupLoaded')
83
+ .then((message) => {
84
+ this.postMessage({
85
+ requestId: message.id,
86
+ data: {
87
+ version: PACKAGE_VERSION,
88
+ sdkName: PACKAGE_NAME,
89
+ metadata: this.metadata,
90
+ preference: this.preference,
91
+ location: window.location.toString(),
92
+ },
93
+ });
94
+ })
95
+ .then(() => {
96
+ if (!this.popup)
97
+ throw standardErrors.rpc.internal();
98
+ logPopupSetupCompleted();
99
+ return this.popup;
100
+ });
101
+ };
102
+ this.url = new URL(url);
103
+ this.metadata = metadata;
104
+ this.preference = preference;
105
+ }
106
+ }
107
+ //# sourceMappingURL=Communicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Communicator.js","sourceRoot":"","sources":["../../../src/core/communicator/Communicator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare const CB_KEYS_URL = "https://keys.coinbase.com/connect";
2
+ export declare const CB_WALLET_RPC_URL = "https://rpc.wallet.coinbase.com";
3
+ export declare const PACKAGE_NAME: string;
4
+ export declare const PACKAGE_VERSION: string;
5
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,sCAAsC,CAAA;AAC9D,eAAO,MAAM,iBAAiB,oCAAoC,CAAA;AAElE,eAAO,MAAM,YAAY,QAAW,CAAA;AACpC,eAAO,MAAM,eAAe,QAAc,CAAA"}
@@ -0,0 +1,6 @@
1
+ import pkg from '../../package.json' with { type: 'json' };
2
+ export const CB_KEYS_URL = 'https://keys.coinbase.com/connect';
3
+ export const CB_WALLET_RPC_URL = 'https://rpc.wallet.coinbase.com';
4
+ export const PACKAGE_NAME = pkg.name;
5
+ export const PACKAGE_VERSION = pkg.version;
6
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AAE1D,MAAM,CAAC,MAAM,WAAW,GAAG,mCAAmC,CAAA;AAC9D,MAAM,CAAC,MAAM,iBAAiB,GAAG,iCAAiC,CAAA;AAElE,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAAA;AACpC,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAA"}
@@ -0,0 +1,96 @@
1
+ interface ErrorCodes {
2
+ readonly rpc: {
3
+ readonly invalidInput: -32000;
4
+ readonly resourceNotFound: -32001;
5
+ readonly resourceUnavailable: -32002;
6
+ readonly transactionRejected: -32003;
7
+ readonly methodNotSupported: -32004;
8
+ readonly limitExceeded: -32005;
9
+ readonly parse: -32700;
10
+ readonly invalidRequest: -32600;
11
+ readonly methodNotFound: -32601;
12
+ readonly invalidParams: -32602;
13
+ readonly internal: -32603;
14
+ };
15
+ readonly provider: {
16
+ readonly userRejectedRequest: 4001;
17
+ readonly unauthorized: 4100;
18
+ readonly unsupportedMethod: 4200;
19
+ readonly disconnected: 4900;
20
+ readonly chainDisconnected: 4901;
21
+ readonly unsupportedChain: 4902;
22
+ };
23
+ }
24
+ export declare const standardErrorCodes: ErrorCodes;
25
+ export declare const errorValues: {
26
+ '-32700': {
27
+ standard: string;
28
+ message: string;
29
+ };
30
+ '-32600': {
31
+ standard: string;
32
+ message: string;
33
+ };
34
+ '-32601': {
35
+ standard: string;
36
+ message: string;
37
+ };
38
+ '-32602': {
39
+ standard: string;
40
+ message: string;
41
+ };
42
+ '-32603': {
43
+ standard: string;
44
+ message: string;
45
+ };
46
+ '-32000': {
47
+ standard: string;
48
+ message: string;
49
+ };
50
+ '-32001': {
51
+ standard: string;
52
+ message: string;
53
+ };
54
+ '-32002': {
55
+ standard: string;
56
+ message: string;
57
+ };
58
+ '-32003': {
59
+ standard: string;
60
+ message: string;
61
+ };
62
+ '-32004': {
63
+ standard: string;
64
+ message: string;
65
+ };
66
+ '-32005': {
67
+ standard: string;
68
+ message: string;
69
+ };
70
+ '4001': {
71
+ standard: string;
72
+ message: string;
73
+ };
74
+ '4100': {
75
+ standard: string;
76
+ message: string;
77
+ };
78
+ '4200': {
79
+ standard: string;
80
+ message: string;
81
+ };
82
+ '4900': {
83
+ standard: string;
84
+ message: string;
85
+ };
86
+ '4901': {
87
+ standard: string;
88
+ message: string;
89
+ };
90
+ '4902': {
91
+ standard: string;
92
+ message: string;
93
+ };
94
+ };
95
+ export {};
96
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/core/error/constants.ts"],"names":[],"mappings":"AAAA,UAAU,UAAU;IACnB,QAAQ,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,CAAA;QAC7B,QAAQ,CAAC,gBAAgB,EAAE,CAAC,KAAK,CAAA;QACjC,QAAQ,CAAC,mBAAmB,EAAE,CAAC,KAAK,CAAA;QACpC,QAAQ,CAAC,mBAAmB,EAAE,CAAC,KAAK,CAAA;QACpC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,KAAK,CAAA;QACnC,QAAQ,CAAC,aAAa,EAAE,CAAC,KAAK,CAAA;QAC9B,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,CAAA;QACtB,QAAQ,CAAC,cAAc,EAAE,CAAC,KAAK,CAAA;QAC/B,QAAQ,CAAC,cAAc,EAAE,CAAC,KAAK,CAAA;QAC/B,QAAQ,CAAC,aAAa,EAAE,CAAC,KAAK,CAAA;QAC9B,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAA;KACzB,CAAA;IACD,QAAQ,CAAC,QAAQ,EAAE;QAClB,QAAQ,CAAC,mBAAmB,EAAE,IAAI,CAAA;QAClC,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAA;QAC3B,QAAQ,CAAC,iBAAiB,EAAE,IAAI,CAAA;QAChC,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAA;QAC3B,QAAQ,CAAC,iBAAiB,EAAE,IAAI,CAAA;QAChC,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAA;KAC/B,CAAA;CACD;AAED,eAAO,MAAM,kBAAkB,EAAE,UAsBhC,CAAA;AAED,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwEvB,CAAA"}
@@ -0,0 +1,94 @@
1
+ export const standardErrorCodes = {
2
+ rpc: {
3
+ invalidInput: -32000,
4
+ resourceNotFound: -32001,
5
+ resourceUnavailable: -32002,
6
+ transactionRejected: -32003,
7
+ methodNotSupported: -32004,
8
+ limitExceeded: -32005,
9
+ parse: -32700,
10
+ invalidRequest: -32600,
11
+ methodNotFound: -32601,
12
+ invalidParams: -32602,
13
+ internal: -32603,
14
+ },
15
+ provider: {
16
+ userRejectedRequest: 4001,
17
+ unauthorized: 4100,
18
+ unsupportedMethod: 4200,
19
+ disconnected: 4900,
20
+ chainDisconnected: 4901,
21
+ unsupportedChain: 4902,
22
+ },
23
+ };
24
+ export const errorValues = {
25
+ '-32700': {
26
+ standard: 'JSON RPC 2.0',
27
+ message: 'Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.',
28
+ },
29
+ '-32600': {
30
+ standard: 'JSON RPC 2.0',
31
+ message: 'The JSON sent is not a valid Request object.',
32
+ },
33
+ '-32601': {
34
+ standard: 'JSON RPC 2.0',
35
+ message: 'The method does not exist / is not available.',
36
+ },
37
+ '-32602': {
38
+ standard: 'JSON RPC 2.0',
39
+ message: 'Invalid method parameter(s).',
40
+ },
41
+ '-32603': {
42
+ standard: 'JSON RPC 2.0',
43
+ message: 'Internal JSON-RPC error.',
44
+ },
45
+ '-32000': {
46
+ standard: 'EIP-1474',
47
+ message: 'Invalid input.',
48
+ },
49
+ '-32001': {
50
+ standard: 'EIP-1474',
51
+ message: 'Resource not found.',
52
+ },
53
+ '-32002': {
54
+ standard: 'EIP-1474',
55
+ message: 'Resource unavailable.',
56
+ },
57
+ '-32003': {
58
+ standard: 'EIP-1474',
59
+ message: 'Transaction rejected.',
60
+ },
61
+ '-32004': {
62
+ standard: 'EIP-1474',
63
+ message: 'Method not supported.',
64
+ },
65
+ '-32005': {
66
+ standard: 'EIP-1474',
67
+ message: 'Request limit exceeded.',
68
+ },
69
+ '4001': {
70
+ standard: 'EIP-1193',
71
+ message: 'User rejected the request.',
72
+ },
73
+ '4100': {
74
+ standard: 'EIP-1193',
75
+ message: 'The requested account and/or method has not been authorized by the user.',
76
+ },
77
+ '4200': {
78
+ standard: 'EIP-1193',
79
+ message: 'The requested method is not supported by this Ethereum provider.',
80
+ },
81
+ '4900': {
82
+ standard: 'EIP-1193',
83
+ message: 'The provider is disconnected from all chains.',
84
+ },
85
+ '4901': {
86
+ standard: 'EIP-1193',
87
+ message: 'The provider is disconnected from the specified chain.',
88
+ },
89
+ '4902': {
90
+ standard: 'EIP-3085',
91
+ message: 'Unrecognized chain ID.',
92
+ },
93
+ };
94
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/core/error/constants.ts"],"names":[],"mappings":"AAwBA,MAAM,CAAC,MAAM,kBAAkB,GAAe;IAC7C,GAAG,EAAE;QACJ,YAAY,EAAE,CAAC,KAAK;QACpB,gBAAgB,EAAE,CAAC,KAAK;QACxB,mBAAmB,EAAE,CAAC,KAAK;QAC3B,mBAAmB,EAAE,CAAC,KAAK;QAC3B,kBAAkB,EAAE,CAAC,KAAK;QAC1B,aAAa,EAAE,CAAC,KAAK;QACrB,KAAK,EAAE,CAAC,KAAK;QACb,cAAc,EAAE,CAAC,KAAK;QACtB,cAAc,EAAE,CAAC,KAAK;QACtB,aAAa,EAAE,CAAC,KAAK;QACrB,QAAQ,EAAE,CAAC,KAAK;KAChB;IACD,QAAQ,EAAE;QACT,mBAAmB,EAAE,IAAI;QACzB,YAAY,EAAE,IAAI;QAClB,iBAAiB,EAAE,IAAI;QACvB,YAAY,EAAE,IAAI;QAClB,iBAAiB,EAAE,IAAI;QACvB,gBAAgB,EAAE,IAAI;KACtB;CACD,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG;IAC1B,QAAQ,EAAE;QACT,QAAQ,EAAE,cAAc;QACxB,OAAO,EACN,uGAAuG;KACxG;IACD,QAAQ,EAAE;QACT,QAAQ,EAAE,cAAc;QACxB,OAAO,EAAE,8CAA8C;KACvD;IACD,QAAQ,EAAE;QACT,QAAQ,EAAE,cAAc;QACxB,OAAO,EAAE,+CAA+C;KACxD;IACD,QAAQ,EAAE;QACT,QAAQ,EAAE,cAAc;QACxB,OAAO,EAAE,8BAA8B;KACvC;IACD,QAAQ,EAAE;QACT,QAAQ,EAAE,cAAc;QACxB,OAAO,EAAE,0BAA0B;KACnC;IACD,QAAQ,EAAE;QACT,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,gBAAgB;KACzB;IACD,QAAQ,EAAE;QACT,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,qBAAqB;KAC9B;IACD,QAAQ,EAAE;QACT,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,uBAAuB;KAChC;IACD,QAAQ,EAAE;QACT,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,uBAAuB;KAChC;IACD,QAAQ,EAAE;QACT,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,uBAAuB;KAChC;IACD,QAAQ,EAAE;QACT,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,yBAAyB;KAClC;IACD,MAAM,EAAE;QACP,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,4BAA4B;KACrC;IACD,MAAM,EAAE;QACP,QAAQ,EAAE,UAAU;QACpB,OAAO,EACN,0EAA0E;KAC3E;IACD,MAAM,EAAE;QACP,QAAQ,EAAE,UAAU;QACpB,OAAO,EACN,kEAAkE;KACnE;IACD,MAAM,EAAE;QACP,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,+CAA+C;KACxD;IACD,MAAM,EAAE;QACP,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,wDAAwD;KACjE;IACD,MAAM,EAAE;QACP,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,wBAAwB;KACjC;CACD,CAAA"}
@@ -0,0 +1,74 @@
1
+ import { Address, HttpRequestError } from 'viem';
2
+ export declare const standardErrors: {
3
+ rpc: {
4
+ parse: <T>(arg?: EthErrorsArg<T>) => EthereumRpcError<T>;
5
+ invalidRequest: <T>(arg?: EthErrorsArg<T>) => EthereumRpcError<T>;
6
+ invalidParams: <T>(arg?: EthErrorsArg<T>) => EthereumRpcError<T>;
7
+ methodNotFound: <T>(arg?: EthErrorsArg<T>) => EthereumRpcError<T>;
8
+ internal: <T>(arg?: EthErrorsArg<T>) => EthereumRpcError<T>;
9
+ server: <T>(opts: ServerErrorOptions<T>) => EthereumRpcError<T>;
10
+ invalidInput: <T>(arg?: EthErrorsArg<T>) => EthereumRpcError<T>;
11
+ resourceNotFound: <T>(arg?: EthErrorsArg<T>) => EthereumRpcError<T>;
12
+ resourceUnavailable: <T>(arg?: EthErrorsArg<T>) => EthereumRpcError<T>;
13
+ transactionRejected: <T>(arg?: EthErrorsArg<T>) => EthereumRpcError<T>;
14
+ methodNotSupported: <T>(arg?: EthErrorsArg<T>) => EthereumRpcError<T>;
15
+ limitExceeded: <T>(arg?: EthErrorsArg<T>) => EthereumRpcError<T>;
16
+ };
17
+ provider: {
18
+ userRejectedRequest: <T>(arg?: EthErrorsArg<T>) => EthereumProviderError<T>;
19
+ unauthorized: <T>(arg?: EthErrorsArg<T>) => EthereumProviderError<T>;
20
+ unsupportedMethod: <T>(arg?: EthErrorsArg<T>) => EthereumProviderError<T>;
21
+ disconnected: <T>(arg?: EthErrorsArg<T>) => EthereumProviderError<T>;
22
+ chainDisconnected: <T>(arg?: EthErrorsArg<T>) => EthereumProviderError<T>;
23
+ unsupportedChain: <T>(arg?: EthErrorsArg<T>) => EthereumProviderError<T>;
24
+ custom: <T>(opts: CustomErrorArg<T>) => EthereumProviderError<T>;
25
+ };
26
+ };
27
+ interface EthereumErrorOptions<T> {
28
+ message?: string;
29
+ data?: T;
30
+ }
31
+ interface ServerErrorOptions<T> extends EthereumErrorOptions<T> {
32
+ code: number;
33
+ }
34
+ type CustomErrorArg<T> = ServerErrorOptions<T>;
35
+ type EthErrorsArg<T> = EthereumErrorOptions<T> | string;
36
+ declare class EthereumRpcError<T> extends Error {
37
+ code: number;
38
+ data?: T;
39
+ constructor(code: number, message: string, data?: T);
40
+ }
41
+ declare class EthereumProviderError<T> extends EthereumRpcError<T> {
42
+ /**
43
+ * Create an Ethereum Provider JSON-RPC error.
44
+ * `code` must be an integer in the 1000 <= 4999 range.
45
+ */
46
+ constructor(code: number, message: string, data?: T);
47
+ }
48
+ export type InsufficientBalanceErrorData = {
49
+ type: 'INSUFFICIENT_FUNDS';
50
+ reason: 'NO_SUITABLE_SPEND_PERMISSION_FOUND' | 'SPEND_PERMISSION_ALLOWANCE_EXCEEDED';
51
+ account: {
52
+ address: Address;
53
+ };
54
+ /**
55
+ * The amount of each token that is required to send the transaction.
56
+ */
57
+ required: Record<Address, {
58
+ amount: `0x${string}`;
59
+ /**
60
+ * Sources of funds available to the account with sufficient balance to cover the required amount
61
+ */
62
+ sources: {
63
+ address: Address;
64
+ balance: `0x${string}`;
65
+ }[];
66
+ }>;
67
+ };
68
+ declare class ActionableInsufficientBalanceError extends EthereumRpcError<InsufficientBalanceErrorData> {
69
+ }
70
+ export declare function isActionableHttpRequestError(errorObject: unknown): errorObject is ActionableInsufficientBalanceError;
71
+ export declare function isViemError(error: unknown): error is HttpRequestError;
72
+ export declare function viemHttpErrorToProviderError(error: HttpRequestError): EthereumRpcError<any> | null;
73
+ export {};
74
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/core/error/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,138 @@
1
+ import { standardErrorCodes } from './constants.js';
2
+ import { getMessageFromCode } from './utils.js';
3
+ export const standardErrors = {
4
+ rpc: {
5
+ parse: (arg) => getEthJsonRpcError(standardErrorCodes.rpc.parse, arg),
6
+ invalidRequest: (arg) => getEthJsonRpcError(standardErrorCodes.rpc.invalidRequest, arg),
7
+ invalidParams: (arg) => getEthJsonRpcError(standardErrorCodes.rpc.invalidParams, arg),
8
+ methodNotFound: (arg) => getEthJsonRpcError(standardErrorCodes.rpc.methodNotFound, arg),
9
+ internal: (arg) => getEthJsonRpcError(standardErrorCodes.rpc.internal, arg),
10
+ server: (opts) => {
11
+ if (!opts || typeof opts !== 'object' || Array.isArray(opts)) {
12
+ throw new Error('Ethereum RPC Server errors must provide single object argument.');
13
+ }
14
+ const { code } = opts;
15
+ if (!Number.isInteger(code) || code > -32005 || code < -32099) {
16
+ throw new Error('"code" must be an integer such that: -32099 <= code <= -32005');
17
+ }
18
+ return getEthJsonRpcError(code, opts);
19
+ },
20
+ invalidInput: (arg) => getEthJsonRpcError(standardErrorCodes.rpc.invalidInput, arg),
21
+ resourceNotFound: (arg) => getEthJsonRpcError(standardErrorCodes.rpc.resourceNotFound, arg),
22
+ resourceUnavailable: (arg) => getEthJsonRpcError(standardErrorCodes.rpc.resourceUnavailable, arg),
23
+ transactionRejected: (arg) => getEthJsonRpcError(standardErrorCodes.rpc.transactionRejected, arg),
24
+ methodNotSupported: (arg) => getEthJsonRpcError(standardErrorCodes.rpc.methodNotSupported, arg),
25
+ limitExceeded: (arg) => getEthJsonRpcError(standardErrorCodes.rpc.limitExceeded, arg),
26
+ },
27
+ provider: {
28
+ userRejectedRequest: (arg) => {
29
+ return getEthProviderError(standardErrorCodes.provider.userRejectedRequest, arg);
30
+ },
31
+ unauthorized: (arg) => {
32
+ return getEthProviderError(standardErrorCodes.provider.unauthorized, arg);
33
+ },
34
+ unsupportedMethod: (arg) => {
35
+ return getEthProviderError(standardErrorCodes.provider.unsupportedMethod, arg);
36
+ },
37
+ disconnected: (arg) => {
38
+ return getEthProviderError(standardErrorCodes.provider.disconnected, arg);
39
+ },
40
+ chainDisconnected: (arg) => {
41
+ return getEthProviderError(standardErrorCodes.provider.chainDisconnected, arg);
42
+ },
43
+ unsupportedChain: (arg) => {
44
+ return getEthProviderError(standardErrorCodes.provider.unsupportedChain, arg);
45
+ },
46
+ custom: (opts) => {
47
+ if (!opts || typeof opts !== 'object' || Array.isArray(opts)) {
48
+ throw new Error('Ethereum Provider custom errors must provide single object argument.');
49
+ }
50
+ const { code, message, data } = opts;
51
+ if (!message || typeof message !== 'string') {
52
+ throw new Error('"message" must be a nonempty string');
53
+ }
54
+ return new EthereumProviderError(code, message, data);
55
+ },
56
+ },
57
+ };
58
+ // Internal
59
+ function getEthJsonRpcError(code, arg) {
60
+ const [message, data] = parseOpts(arg);
61
+ return new EthereumRpcError(code, message || getMessageFromCode(code), data);
62
+ }
63
+ function getEthProviderError(code, arg) {
64
+ const [message, data] = parseOpts(arg);
65
+ return new EthereumProviderError(code, message || getMessageFromCode(code), data);
66
+ }
67
+ function parseOpts(arg) {
68
+ if (arg) {
69
+ if (typeof arg === 'string') {
70
+ return [arg];
71
+ }
72
+ if (typeof arg === 'object' && !Array.isArray(arg)) {
73
+ const { message, data } = arg;
74
+ if (message && typeof message !== 'string') {
75
+ throw new Error('Must specify string message.');
76
+ }
77
+ return [message || undefined, data];
78
+ }
79
+ }
80
+ return [];
81
+ }
82
+ class EthereumRpcError extends Error {
83
+ constructor(code, message, data) {
84
+ if (!Number.isInteger(code)) {
85
+ throw new Error('"code" must be an integer.');
86
+ }
87
+ if (!message || typeof message !== 'string') {
88
+ throw new Error('"message" must be a nonempty string.');
89
+ }
90
+ super(message);
91
+ this.code = code;
92
+ if (data !== undefined) {
93
+ this.data = data;
94
+ }
95
+ }
96
+ }
97
+ class EthereumProviderError extends EthereumRpcError {
98
+ /**
99
+ * Create an Ethereum Provider JSON-RPC error.
100
+ * `code` must be an integer in the 1000 <= 4999 range.
101
+ */
102
+ constructor(code, message, data) {
103
+ if (!isValidEthProviderCode(code)) {
104
+ throw new Error('"code" must be an integer such that: 1000 <= code <= 4999');
105
+ }
106
+ super(code, message, data);
107
+ }
108
+ }
109
+ class ActionableInsufficientBalanceError extends EthereumRpcError {
110
+ }
111
+ function isValidEthProviderCode(code) {
112
+ return Number.isInteger(code) && code >= 1000 && code <= 4999;
113
+ }
114
+ export function isActionableHttpRequestError(errorObject) {
115
+ return (typeof errorObject === 'object' &&
116
+ errorObject !== null &&
117
+ 'code' in errorObject &&
118
+ 'data' in errorObject &&
119
+ errorObject.code === -32090 &&
120
+ typeof errorObject.data === 'object' &&
121
+ errorObject.data !== null &&
122
+ 'type' in errorObject.data &&
123
+ errorObject.data.type === 'INSUFFICIENT_FUNDS');
124
+ }
125
+ export function isViemError(error) {
126
+ // Check if object and has code, message, and details
127
+ return typeof error === 'object' && error !== null && 'details' in error;
128
+ }
129
+ export function viemHttpErrorToProviderError(error) {
130
+ try {
131
+ const details = JSON.parse(error.details);
132
+ return new EthereumRpcError(details.code, details.message, details.data);
133
+ }
134
+ catch (_) {
135
+ return null;
136
+ }
137
+ }
138
+ //# sourceMappingURL=errors.js.map