@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 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/interface/payment/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,YAAY,EACX,WAAW,EACX,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,GACd,MAAM,YAAY,CAAA;AAGnB,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Payment interface exports
3
+ */
4
+ export { base } from './base.js';
5
+ export { getPaymentStatus } from './getPaymentStatus.js';
6
+ export { pay } from './pay.js';
7
+ // Export constants
8
+ export { CHAIN_IDS, TOKENS } from './constants.js';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/interface/payment/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAa9B,mBAAmB;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA"}
@@ -0,0 +1,29 @@
1
+ import type { PaymentOptions, PaymentResult } from './types.js';
2
+ /**
3
+ * Pay a specified address with USDC on Base network using an ephemeral wallet
4
+ *
5
+ * @param options - Payment options
6
+ * @param options.amount - Amount of USDC to send as a string (e.g., "10.50")
7
+ * @param options.to - Ethereum address to send payment to
8
+ * @param options.testnet - Whether to use Base Sepolia testnet (default: false)
9
+ * @param options.payerInfo - Optional payer information configuration for data callbacks
10
+ * @returns Promise<PaymentResult> - Result of the payment transaction
11
+ * @throws Error if the payment fails
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * try {
16
+ * const payment = await pay({
17
+ * amount: "10.50",
18
+ * to: "0xFe21034794A5a574B94fE4fDfD16e005F1C96e51",
19
+ * testnet: true
20
+ * });
21
+ *
22
+ * console.log(`Payment sent! Transaction ID: ${payment.id}`);
23
+ * } catch (error) {
24
+ * console.error(`Payment failed: ${error.message}`);
25
+ * }
26
+ * ```
27
+ */
28
+ export declare function pay(options: PaymentOptions): Promise<PaymentResult>;
29
+ //# sourceMappingURL=pay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pay.d.ts","sourceRoot":"","sources":["../../../src/interface/payment/pay.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAK/D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,GAAG,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAmFzE"}
@@ -0,0 +1,90 @@
1
+ import { logPaymentCompleted, logPaymentError, logPaymentStarted, } from '../../core/telemetry/events/payment.js';
2
+ import { executePaymentWithSDK } from './utils/sdkManager.js';
3
+ import { translatePaymentToSendCalls } from './utils/translatePayment.js';
4
+ import { normalizeAddress, validateStringAmount } from './utils/validation.js';
5
+ /**
6
+ * Pay a specified address with USDC on Base network using an ephemeral wallet
7
+ *
8
+ * @param options - Payment options
9
+ * @param options.amount - Amount of USDC to send as a string (e.g., "10.50")
10
+ * @param options.to - Ethereum address to send payment to
11
+ * @param options.testnet - Whether to use Base Sepolia testnet (default: false)
12
+ * @param options.payerInfo - Optional payer information configuration for data callbacks
13
+ * @returns Promise<PaymentResult> - Result of the payment transaction
14
+ * @throws Error if the payment fails
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * try {
19
+ * const payment = await pay({
20
+ * amount: "10.50",
21
+ * to: "0xFe21034794A5a574B94fE4fDfD16e005F1C96e51",
22
+ * testnet: true
23
+ * });
24
+ *
25
+ * console.log(`Payment sent! Transaction ID: ${payment.id}`);
26
+ * } catch (error) {
27
+ * console.error(`Payment failed: ${error.message}`);
28
+ * }
29
+ * ```
30
+ */
31
+ export async function pay(options) {
32
+ var _a;
33
+ const { amount, to, testnet = false, payerInfo, walletUrl, telemetry = true, } = options;
34
+ // Generate correlation ID for this payment request
35
+ const correlationId = crypto.randomUUID();
36
+ // Log payment started
37
+ if (telemetry) {
38
+ logPaymentStarted({ amount, testnet, correlationId });
39
+ }
40
+ try {
41
+ validateStringAmount(amount, 6);
42
+ const normalizedAddress = normalizeAddress(to);
43
+ // Step 2: Translate payment to sendCalls format
44
+ const requestParams = translatePaymentToSendCalls(normalizedAddress, amount, testnet, payerInfo);
45
+ // Step 3: Execute payment with SDK
46
+ const executionResult = await executePaymentWithSDK(requestParams, testnet, walletUrl, telemetry);
47
+ // Log payment completed
48
+ if (telemetry) {
49
+ logPaymentCompleted({ amount, testnet, correlationId });
50
+ }
51
+ // Return success result
52
+ return {
53
+ success: true,
54
+ id: executionResult.transactionHash,
55
+ amount: amount,
56
+ to: normalizedAddress,
57
+ payerInfoResponses: executionResult.payerInfoResponses,
58
+ };
59
+ }
60
+ catch (error) {
61
+ // Extract error message
62
+ let errorMessage = 'Unknown error occurred';
63
+ if (error instanceof Error) {
64
+ errorMessage = error.message;
65
+ }
66
+ else if (typeof error === 'string') {
67
+ errorMessage = error;
68
+ }
69
+ else if (error && typeof error === 'object') {
70
+ // Check for various error message properties using optional chaining
71
+ const err = error;
72
+ if (typeof (err === null || err === void 0 ? void 0 : err.message) === 'string') {
73
+ errorMessage = err.message;
74
+ }
75
+ else if (typeof ((_a = err === null || err === void 0 ? void 0 : err.error) === null || _a === void 0 ? void 0 : _a.message) === 'string') {
76
+ errorMessage = err.error.message;
77
+ }
78
+ else if (typeof (err === null || err === void 0 ? void 0 : err.reason) === 'string') {
79
+ errorMessage = err.reason;
80
+ }
81
+ }
82
+ // Log payment error
83
+ if (telemetry) {
84
+ logPaymentError({ amount, testnet, correlationId, errorMessage });
85
+ }
86
+ // Re-throw the original error
87
+ throw error;
88
+ }
89
+ }
90
+ //# sourceMappingURL=pay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pay.js","sourceRoot":"","sources":["../../../src/interface/payment/pay.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,mBAAmB,EACnB,eAAe,EACf,iBAAiB,GACjB,MAAM,mCAAmC,CAAA;AAE1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAA;AACzE,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAE9E;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,OAAuB;;IAChD,MAAM,EACL,MAAM,EACN,EAAE,EACF,OAAO,GAAG,KAAK,EACf,SAAS,EACT,SAAS,EACT,SAAS,GAAG,IAAI,GAChB,GAAG,OAAO,CAAA;IAEX,mDAAmD;IACnD,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;IAEzC,sBAAsB;IACtB,IAAI,SAAS,EAAE,CAAC;QACf,iBAAiB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAA;IACtD,CAAC;IAED,IAAI,CAAC;QACJ,oBAAoB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAC/B,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAA;QAE9C,gDAAgD;QAChD,MAAM,aAAa,GAAG,2BAA2B,CAChD,iBAAiB,EACjB,MAAM,EACN,OAAO,EACP,SAAS,CACT,CAAA;QAED,mCAAmC;QACnC,MAAM,eAAe,GAAG,MAAM,qBAAqB,CAClD,aAAa,EACb,OAAO,EACP,SAAS,EACT,SAAS,CACT,CAAA;QAED,wBAAwB;QACxB,IAAI,SAAS,EAAE,CAAC;YACf,mBAAmB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAA;QACxD,CAAC;QAED,wBAAwB;QACxB,OAAO;YACN,OAAO,EAAE,IAAI;YACb,EAAE,EAAE,eAAe,CAAC,eAAe;YACnC,MAAM,EAAE,MAAM;YACd,EAAE,EAAE,iBAAiB;YACrB,kBAAkB,EAAE,eAAe,CAAC,kBAAkB;SACtD,CAAA;IACF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,wBAAwB;QACxB,IAAI,YAAY,GAAG,wBAAwB,CAAA;QAE3C,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC5B,YAAY,GAAG,KAAK,CAAC,OAAO,CAAA;QAC7B,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACtC,YAAY,GAAG,KAAK,CAAA;QACrB,CAAC;aAAM,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC/C,qEAAqE;YACrE,MAAM,GAAG,GAAG,KAIX,CAAA;YACD,IAAI,OAAO,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,CAAA,KAAK,QAAQ,EAAE,CAAC;gBACtC,YAAY,GAAG,GAAG,CAAC,OAAO,CAAA;YAC3B,CAAC;iBAAM,IAAI,OAAO,CAAA,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,KAAK,0CAAE,OAAO,CAAA,KAAK,QAAQ,EAAE,CAAC;gBACpD,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAA;YACjC,CAAC;iBAAM,IAAI,OAAO,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,CAAA,KAAK,QAAQ,EAAE,CAAC;gBAC5C,YAAY,GAAG,GAAG,CAAC,MAAM,CAAA;YAC1B,CAAC;QACF,CAAC;QAED,oBAAoB;QACpB,IAAI,SAAS,EAAE,CAAC;YACf,eAAe,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC,CAAA;QAClE,CAAC;QAED,8BAA8B;QAC9B,MAAM,KAAK,CAAA;IACZ,CAAC;AACF,CAAC"}
@@ -0,0 +1,123 @@
1
+ import type { Address, Hex } from 'viem';
2
+ /**
3
+ * Information request type for payment data callbacks
4
+ */
5
+ export interface InfoRequest {
6
+ /** The type of information being requested */
7
+ type: 'email' | 'physicalAddress' | 'phoneNumber' | 'name' | 'onchainAddress' | string;
8
+ /** Whether this information is optional */
9
+ optional?: boolean;
10
+ }
11
+ /**
12
+ * Information responses collected from info requests
13
+ */
14
+ export interface PayerInfoResponses {
15
+ /** User's email address */
16
+ email?: string;
17
+ /** User's physical address */
18
+ physicalAddress?: {
19
+ address1: string;
20
+ address2?: string;
21
+ city: string;
22
+ state: string;
23
+ postalCode: string;
24
+ countryCode: string;
25
+ name?: {
26
+ firstName: string;
27
+ familyName: string;
28
+ };
29
+ };
30
+ /** User's phone number */
31
+ phoneNumber?: {
32
+ number: string;
33
+ country: string;
34
+ };
35
+ /** User's name */
36
+ name?: {
37
+ firstName: string;
38
+ familyName: string;
39
+ };
40
+ /** User's on-chain address */
41
+ onchainAddress?: string;
42
+ }
43
+ /**
44
+ * Payer information configuration for payment data callbacks
45
+ */
46
+ export interface PayerInfo {
47
+ /** Information requests from the payer */
48
+ requests: InfoRequest[];
49
+ /** Callback URL for sending the payer information */
50
+ callbackURL?: string;
51
+ }
52
+ /**
53
+ * Options for making a payment
54
+ */
55
+ export interface PaymentOptions {
56
+ /** Amount of USDC to send as a string (e.g., "10.50") */
57
+ amount: string;
58
+ /** Ethereum address to send payment to */
59
+ to: string;
60
+ /** Whether to use testnet (Base Sepolia). Defaults to false (mainnet) */
61
+ testnet?: boolean;
62
+ /** Optional payer information configuration for data callbacks */
63
+ payerInfo?: PayerInfo;
64
+ walletUrl?: string;
65
+ /** Whether to enable telemetry logging. Defaults to true */
66
+ telemetry?: boolean;
67
+ }
68
+ /**
69
+ * Successful payment result
70
+ */
71
+ export interface PaymentSuccess {
72
+ success: true;
73
+ /** Transaction ID (hash) of the payment */
74
+ id: string;
75
+ /** The amount that was sent */
76
+ amount: string;
77
+ /** The address that received the payment */
78
+ to: Address;
79
+ /** Optional responses from information requests */
80
+ payerInfoResponses?: PayerInfoResponses;
81
+ }
82
+ /**
83
+ * Result of a payment transaction
84
+ */
85
+ export type PaymentResult = PaymentSuccess;
86
+ /**
87
+ * Options for checking payment status
88
+ */
89
+ export interface PaymentStatusOptions {
90
+ /** Transaction ID (userOp hash) to check status for */
91
+ id: string;
92
+ /** Whether to check on testnet (Base Sepolia). Defaults to false (mainnet) */
93
+ testnet?: boolean;
94
+ /** Whether to enable telemetry logging. Defaults to true */
95
+ telemetry?: boolean;
96
+ }
97
+ /**
98
+ * Possible payment status types
99
+ */
100
+ export type PaymentStatusType = 'pending' | 'completed' | 'failed' | 'not_found';
101
+ /**
102
+ * Payment status information
103
+ */
104
+ export interface PaymentStatus {
105
+ /** Current status of the payment */
106
+ status: PaymentStatusType;
107
+ /** Transaction ID that was checked */
108
+ id: Hex;
109
+ /** Human-readable message about the status */
110
+ message: string;
111
+ /** Sender address (present for pending, completed, and failed) */
112
+ sender?: string;
113
+ /** Amount sent (present for completed transactions, parsed from logs) */
114
+ amount?: string;
115
+ /** Recipient address (present for completed transactions, parsed from logs) */
116
+ recipient?: string;
117
+ /** Reason for transaction failure (present for failed status - describes why the transaction failed on-chain) */
118
+ reason?: string;
119
+ }
120
+ /**
121
+ * Internal type for payment execution result
122
+ */
123
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/interface/payment/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export {};
2
+ /**
3
+ * Internal type for payment execution result
4
+ */
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/interface/payment/types.ts"],"names":[],"mappings":";AAyIA;;GAEG"}
@@ -0,0 +1,61 @@
1
+ import type { Hex } from 'viem';
2
+ import { createBaseAccountSDK } from '../../builder/core/createBaseAccountSDK.js';
3
+ import type { PayerInfoResponses } from '../types.js';
4
+ /**
5
+ * Type for wallet_sendCalls request parameters
6
+ */
7
+ type WalletSendCallsRequestParams = {
8
+ version: string;
9
+ chainId: number;
10
+ calls: Array<{
11
+ to: Hex;
12
+ data: Hex;
13
+ value: Hex;
14
+ }>;
15
+ capabilities: Record<string, unknown>;
16
+ };
17
+ /**
18
+ * Type for payment execution result
19
+ */
20
+ export interface PaymentExecutionResult {
21
+ transactionHash: Hex;
22
+ payerInfoResponses?: PayerInfoResponses;
23
+ }
24
+ /**
25
+ * Creates an ephemeral SDK instance configured for payments
26
+ * @param chainId - The chain ID to use
27
+ * @param walletUrl - Optional wallet URL to use
28
+ * @param telemetry - Whether to enable telemetry (defaults to true)
29
+ * @returns The configured SDK instance
30
+ */
31
+ export declare function createEphemeralSDK(chainId: number, walletUrl?: string, telemetry?: boolean): {
32
+ getProvider: () => import("../../../browser-entry.js").ProviderInterface;
33
+ subAccount: {
34
+ create(accountParam: import("../../../core/rpc/wallet_addSubAccount.js").AddSubAccountAccount): Promise<import("../../../store/store.js").SubAccount>;
35
+ get(): Promise<import("../../../store/store.js").SubAccount | null>;
36
+ addOwner: ({ address, publicKey, chainId, }: {
37
+ address?: `0x${string}`;
38
+ publicKey?: `0x${string}`;
39
+ chainId: number;
40
+ }) => Promise<string>;
41
+ setToOwnerAccount(toSubAccountOwner: import("../../../store/store.js").ToOwnerAccountFn): void;
42
+ };
43
+ };
44
+ /**
45
+ * Executes a payment using the SDK
46
+ * @param sdk - The SDK instance
47
+ * @param requestParams - The wallet_sendCalls request parameters
48
+ * @returns The payment execution result with transaction hash and optional info responses
49
+ */
50
+ export declare function executePayment(sdk: ReturnType<typeof createBaseAccountSDK>, requestParams: WalletSendCallsRequestParams): Promise<PaymentExecutionResult>;
51
+ /**
52
+ * Manages the complete payment flow with SDK lifecycle
53
+ * @param requestParams - The wallet_sendCalls request parameters
54
+ * @param testnet - Whether to use testnet
55
+ * @param walletUrl - Optional wallet URL to use
56
+ * @param telemetry - Whether to enable telemetry (defaults to true)
57
+ * @returns The payment execution result
58
+ */
59
+ export declare function executePaymentWithSDK(requestParams: WalletSendCallsRequestParams, testnet: boolean, walletUrl?: string, telemetry?: boolean): Promise<PaymentExecutionResult>;
60
+ export {};
61
+ //# sourceMappingURL=sdkManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdkManager.d.ts","sourceRoot":"","sources":["../../../../src/interface/payment/utils/sdkManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAC/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAA;AAEjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAErD;;GAEG;AACH,KAAK,4BAA4B,GAAG;IACnC,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,KAAK,CAAC;QACZ,EAAE,EAAE,GAAG,CAAA;QACP,IAAI,EAAE,GAAG,CAAA;QACT,KAAK,EAAE,GAAG,CAAA;KACV,CAAC,CAAA;IACF,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACrC,CAAA;AAaD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACtC,eAAe,EAAE,GAAG,CAAA;IACpB,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;CACvC;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CACjC,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,GAAE,OAAc;;;;;;mBA+F4G,CAAC;qBAA6B,CAAC;;;;;EAhFpK;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CACnC,GAAG,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,EAC5C,aAAa,EAAE,4BAA4B,GACzC,OAAO,CAAC,sBAAsB,CAAC,CAuCjC;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CAC1C,aAAa,EAAE,4BAA4B,EAC3C,OAAO,EAAE,OAAO,EAChB,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,GAAE,OAAc,GACvB,OAAO,CAAC,sBAAsB,CAAC,CAcjC"}
@@ -0,0 +1,84 @@
1
+ import { createBaseAccountSDK } from '../../builder/core/createBaseAccountSDK.js';
2
+ import { CHAIN_IDS } from '../constants.js';
3
+ /**
4
+ * Creates an ephemeral SDK instance configured for payments
5
+ * @param chainId - The chain ID to use
6
+ * @param walletUrl - Optional wallet URL to use
7
+ * @param telemetry - Whether to enable telemetry (defaults to true)
8
+ * @returns The configured SDK instance
9
+ */
10
+ export function createEphemeralSDK(chainId, walletUrl, telemetry = true) {
11
+ const appName = typeof window !== 'undefined' ? window.location.origin : 'Base Pay SDK';
12
+ const sdk = createBaseAccountSDK({
13
+ appName: appName,
14
+ appChainIds: [chainId],
15
+ preference: {
16
+ telemetry: telemetry,
17
+ walletUrl,
18
+ },
19
+ });
20
+ return sdk;
21
+ }
22
+ /**
23
+ * Executes a payment using the SDK
24
+ * @param sdk - The SDK instance
25
+ * @param requestParams - The wallet_sendCalls request parameters
26
+ * @returns The payment execution result with transaction hash and optional info responses
27
+ */
28
+ export async function executePayment(sdk, requestParams) {
29
+ var _a;
30
+ const provider = sdk.getProvider();
31
+ const result = await provider.request({
32
+ method: 'wallet_sendCalls',
33
+ params: [requestParams],
34
+ });
35
+ let transactionHash;
36
+ let payerInfoResponses;
37
+ // Handle different response formats
38
+ if (typeof result === 'string' && result.length >= 66) {
39
+ // Standard response format - just a transaction hash
40
+ transactionHash = result.slice(0, 66);
41
+ }
42
+ else if (typeof result === 'object' && result !== null) {
43
+ // Object response format - contains id and capabilities with dataCallback (sendCalls 2.0.0+)
44
+ const resultObj = result;
45
+ // Extract transaction hash from id field
46
+ if (typeof resultObj.id === 'string' && resultObj.id.length >= 66) {
47
+ transactionHash = resultObj.id.slice(0, 66);
48
+ // Extract info responses from capabilities.dataCallback
49
+ if ((_a = resultObj.capabilities) === null || _a === void 0 ? void 0 : _a.dataCallback) {
50
+ payerInfoResponses = resultObj.capabilities.dataCallback;
51
+ }
52
+ }
53
+ else {
54
+ throw new Error(`Could not extract transaction hash from object response. Available fields: ${Object.keys(resultObj).join(', ')}`);
55
+ }
56
+ }
57
+ else {
58
+ throw new Error(`Unexpected response format from wallet_sendCalls: expected string with length > 66 or object with id, got ${typeof result}`);
59
+ }
60
+ return { transactionHash, payerInfoResponses };
61
+ }
62
+ /**
63
+ * Manages the complete payment flow with SDK lifecycle
64
+ * @param requestParams - The wallet_sendCalls request parameters
65
+ * @param testnet - Whether to use testnet
66
+ * @param walletUrl - Optional wallet URL to use
67
+ * @param telemetry - Whether to enable telemetry (defaults to true)
68
+ * @returns The payment execution result
69
+ */
70
+ export async function executePaymentWithSDK(requestParams, testnet, walletUrl, telemetry = true) {
71
+ const network = testnet ? 'baseSepolia' : 'base';
72
+ const chainId = CHAIN_IDS[network];
73
+ const sdk = createEphemeralSDK(chainId, walletUrl, telemetry);
74
+ const provider = sdk.getProvider();
75
+ try {
76
+ const result = await executePayment(sdk, requestParams);
77
+ return result;
78
+ }
79
+ finally {
80
+ // Clean up provider state for subsequent payments
81
+ await provider.disconnect();
82
+ }
83
+ }
84
+ //# sourceMappingURL=sdkManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdkManager.js","sourceRoot":"","sources":["../../../../src/interface/payment/utils/sdkManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import { type Address, type Hex } from 'viem';
2
+ import type { PayerInfo } from '../types.js';
3
+ /**
4
+ * Encodes an ERC20 transfer call
5
+ * @param recipient - The recipient address
6
+ * @param amount - The amount in USDC (will be converted to 6 decimals)
7
+ * @returns The encoded function data
8
+ */
9
+ export declare function encodeTransferCall(recipient: Address, amount: string): Hex;
10
+ /**
11
+ * Builds the wallet_sendCalls request parameters
12
+ * @param transferData - The encoded transfer call data
13
+ * @param testnet - Whether to use testnet
14
+ * @param payerInfo - Optional payer information configuration for data callbacks
15
+ * @returns The request parameters for wallet_sendCalls
16
+ */
17
+ export declare function buildSendCallsRequest(transferData: Hex, testnet: boolean, payerInfo?: PayerInfo): {
18
+ version: string;
19
+ chainId: 8453 | 84532;
20
+ calls: {
21
+ to: Address;
22
+ data: `0x${string}`;
23
+ value: Hex;
24
+ }[];
25
+ capabilities: Record<string, unknown>;
26
+ };
27
+ /**
28
+ * Translates payment options into a wallet_sendCalls request
29
+ * @param recipient - The recipient address
30
+ * @param amount - The amount to send
31
+ * @param testnet - Whether to use testnet
32
+ * @param payerInfo - Optional payer information configuration for data callbacks
33
+ * @returns The complete request parameters
34
+ */
35
+ export declare function translatePaymentToSendCalls(recipient: Address, amount: string, testnet: boolean, payerInfo?: PayerInfo): {
36
+ version: string;
37
+ chainId: 8453 | 84532;
38
+ calls: {
39
+ to: Address;
40
+ data: `0x${string}`;
41
+ value: Hex;
42
+ }[];
43
+ capabilities: Record<string, unknown>;
44
+ };
45
+ //# sourceMappingURL=translatePayment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translatePayment.d.ts","sourceRoot":"","sources":["../../../../src/interface/payment/utils/translatePayment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAA;AAE7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,CAS1E;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACpC,YAAY,EAAE,GAAG,EACjB,OAAO,EAAE,OAAO,EAChB,SAAS,CAAC,EAAE,SAAS;;;;YAQD,OAAO;;eAEV,GAAG;;;EA0BpB;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAC1C,SAAS,EAAE,OAAO,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,SAAS,CAAC,EAAE,SAAS;;;;YA1CD,OAAO;;eAEV,GAAG;;;EA+CpB"}
@@ -0,0 +1,70 @@
1
+ import { encodeFunctionData, parseUnits } from 'viem';
2
+ import { CHAIN_IDS, ERC20_TRANSFER_ABI, TOKENS } from '../constants.js';
3
+ /**
4
+ * Encodes an ERC20 transfer call
5
+ * @param recipient - The recipient address
6
+ * @param amount - The amount in USDC (will be converted to 6 decimals)
7
+ * @returns The encoded function data
8
+ */
9
+ export function encodeTransferCall(recipient, amount) {
10
+ const amountInUnits = parseUnits(amount, TOKENS.USDC.decimals);
11
+ // Encode the transfer function call
12
+ return encodeFunctionData({
13
+ abi: ERC20_TRANSFER_ABI,
14
+ functionName: 'transfer',
15
+ args: [recipient, amountInUnits],
16
+ });
17
+ }
18
+ /**
19
+ * Builds the wallet_sendCalls request parameters
20
+ * @param transferData - The encoded transfer call data
21
+ * @param testnet - Whether to use testnet
22
+ * @param payerInfo - Optional payer information configuration for data callbacks
23
+ * @returns The request parameters for wallet_sendCalls
24
+ */
25
+ export function buildSendCallsRequest(transferData, testnet, payerInfo) {
26
+ const network = testnet ? 'baseSepolia' : 'base';
27
+ const chainId = CHAIN_IDS[network];
28
+ const usdcAddress = TOKENS.USDC.addresses[network];
29
+ // Build the call object
30
+ const call = {
31
+ to: usdcAddress,
32
+ data: transferData,
33
+ value: '0x0', // No ETH value for ERC20 transfer
34
+ };
35
+ // Build the capabilities object
36
+ const capabilities = {};
37
+ // Add dataCallback capability if payerInfo is provided
38
+ if (payerInfo && payerInfo.requests.length > 0) {
39
+ capabilities.dataCallback = Object.assign({ requests: payerInfo.requests.map((request) => {
40
+ var _a;
41
+ return ({
42
+ type: request.type,
43
+ optional: (_a = request.optional) !== null && _a !== void 0 ? _a : false,
44
+ });
45
+ }) }, (payerInfo.callbackURL && { callbackURL: payerInfo.callbackURL }));
46
+ }
47
+ // Build the request parameters
48
+ const requestParams = {
49
+ version: '2.0.0',
50
+ chainId: chainId,
51
+ calls: [call],
52
+ capabilities,
53
+ };
54
+ return requestParams;
55
+ }
56
+ /**
57
+ * Translates payment options into a wallet_sendCalls request
58
+ * @param recipient - The recipient address
59
+ * @param amount - The amount to send
60
+ * @param testnet - Whether to use testnet
61
+ * @param payerInfo - Optional payer information configuration for data callbacks
62
+ * @returns The complete request parameters
63
+ */
64
+ export function translatePaymentToSendCalls(recipient, amount, testnet, payerInfo) {
65
+ // Encode the transfer call
66
+ const transferData = encodeTransferCall(recipient, amount);
67
+ // Build and return the sendCalls request
68
+ return buildSendCallsRequest(transferData, testnet, payerInfo);
69
+ }
70
+ //# sourceMappingURL=translatePayment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translatePayment.js","sourceRoot":"","sources":["../../../../src/interface/payment/utils/translatePayment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAA0B,MAAM,MAAM,CAAA;AAC7E,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAGvE;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAkB,EAAE,MAAc;IACpE,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAE9D,oCAAoC;IACpC,OAAO,kBAAkB,CAAC;QACzB,GAAG,EAAE,kBAAkB;QACvB,YAAY,EAAE,UAAU;QACxB,IAAI,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC;KAChC,CAAC,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CACpC,YAAiB,EACjB,OAAgB,EAChB,SAAqB;IAErB,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAA;IAChD,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA;IAClC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IAElD,wBAAwB;IACxB,MAAM,IAAI,GAAG;QACZ,EAAE,EAAE,WAAsB;QAC1B,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,KAAY,EAAE,kCAAkC;KACvD,CAAA;IAED,gCAAgC;IAChC,MAAM,YAAY,GAA4B,EAAE,CAAA;IAEhD,uDAAuD;IACvD,IAAI,SAAS,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,YAAY,CAAC,YAAY,mBACxB,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;;gBAAC,OAAA,CAAC;oBAC9C,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,QAAQ,EAAE,MAAA,OAAO,CAAC,QAAQ,mCAAI,KAAK;iBACnC,CAAC,CAAA;aAAA,CAAC,IACA,CAAC,SAAS,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC,CACpE,CAAA;IACF,CAAC;IAED,+BAA+B;IAC/B,MAAM,aAAa,GAAG;QACrB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE,CAAC,IAAI,CAAC;QACb,YAAY;KACZ,CAAA;IAED,OAAO,aAAa,CAAA;AACrB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,2BAA2B,CAC1C,SAAkB,EAClB,MAAc,EACd,OAAgB,EAChB,SAAqB;IAErB,2BAA2B;IAC3B,MAAM,YAAY,GAAG,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IAE1D,yCAAyC;IACzC,OAAO,qBAAqB,CAAC,YAAY,EAAE,OAAO,EAAE,SAAS,CAAC,CAAA;AAC/D,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { type Address } from 'viem';
2
+ /**
3
+ * Validates that the amount is a positive string with max decimal places
4
+ * @param amount - The amount to validate as a string
5
+ * @param maxDecimals - Maximum number of decimal places allowed
6
+ * @throws Error if amount is invalid
7
+ */
8
+ export declare function validateStringAmount(amount: string, maxDecimals: number): void;
9
+ /**
10
+ * Validates that the address is a valid Ethereum address
11
+ * @param address - The address to validate
12
+ * @throws Error if address is invalid
13
+ * @returns The checksummed address
14
+ */
15
+ export declare function normalizeAddress(address: string): Address;
16
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../../src/interface/payment/utils/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAc,MAAM,MAAM,CAAA;AAE/C;;;;;GAKG;AACH,wBAAgB,oBAAoB,CACnC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GACjB,IAAI,CAyBN;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAYzD"}
@@ -0,0 +1,47 @@
1
+ import { getAddress } from 'viem';
2
+ /**
3
+ * Validates that the amount is a positive string with max decimal places
4
+ * @param amount - The amount to validate as a string
5
+ * @param maxDecimals - Maximum number of decimal places allowed
6
+ * @throws Error if amount is invalid
7
+ */
8
+ export function validateStringAmount(amount, maxDecimals) {
9
+ if (typeof amount !== 'string') {
10
+ throw new Error('Invalid amount: must be a string');
11
+ }
12
+ const numAmount = parseFloat(amount);
13
+ if (isNaN(numAmount)) {
14
+ throw new Error('Invalid amount: must be a valid number');
15
+ }
16
+ if (numAmount <= 0) {
17
+ throw new Error('Invalid amount: must be greater than 0');
18
+ }
19
+ // Only allow specified decimal places
20
+ const decimalIndex = amount.indexOf('.');
21
+ if (decimalIndex !== -1) {
22
+ const decimalPlaces = amount.length - decimalIndex - 1;
23
+ if (decimalPlaces > maxDecimals) {
24
+ throw new Error(`Invalid amount: pay only supports up to ${maxDecimals} decimal places`);
25
+ }
26
+ }
27
+ }
28
+ /**
29
+ * Validates that the address is a valid Ethereum address
30
+ * @param address - The address to validate
31
+ * @throws Error if address is invalid
32
+ * @returns The checksummed address
33
+ */
34
+ export function normalizeAddress(address) {
35
+ if (!address) {
36
+ throw new Error('Invalid address: address is required');
37
+ }
38
+ try {
39
+ // getAddress will normalize the address to its checksummed version
40
+ // It will throw if the address is invalid
41
+ return getAddress(address);
42
+ }
43
+ catch (_error) {
44
+ throw new Error('Invalid address: must be a valid Ethereum address');
45
+ }
46
+ }
47
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../src/interface/payment/utils/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,UAAU,EAAE,MAAM,MAAM,CAAA;AAE/C;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CACnC,MAAc,EACd,WAAmB;IAEnB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;IACpD,CAAC;IAED,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IAEpC,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;IAC1D,CAAC;IAED,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;IAC1D,CAAC;IAED,sCAAsC;IACtC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACxC,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;QACzB,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,GAAG,YAAY,GAAG,CAAC,CAAA;QACtD,IAAI,aAAa,GAAG,WAAW,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CACd,2CAA2C,WAAW,iBAAiB,CACvE,CAAA;QACF,CAAC;IACF,CAAC;AACF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;IACxD,CAAC;IAED,IAAI,CAAC;QACJ,mEAAmE;QACnE,0CAA0C;QAC1C,OAAO,UAAU,CAAC,OAAO,CAAC,CAAA;IAC3B,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;IACrE,CAAC;AACF,CAAC"}
@@ -0,0 +1,8 @@
1
+ export * from './methods/fetchPermissions.js';
2
+ export * from './methods/getHash.js';
3
+ export * from './methods/getPermissionStatus.js';
4
+ export * from './methods/prepareRevokeCallData.js';
5
+ export * from './methods/prepareSpendCallData.js';
6
+ export * from './methods/requestRevoke.js';
7
+ export * from './methods/requestSpendPermission.js';
8
+ //# sourceMappingURL=index.d.ts.map