@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/public-utilities/spend-permission/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAA;AAC7C,cAAc,sBAAsB,CAAA;AACpC,cAAc,kCAAkC,CAAA;AAChD,cAAc,oCAAoC,CAAA;AAClD,cAAc,mCAAmC,CAAA;AACjD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,qCAAqC,CAAA"}
@@ -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.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/interface/public-utilities/spend-permission/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAA;AAC7C,cAAc,sBAAsB,CAAA;AACpC,cAAc,kCAAkC,CAAA;AAChD,cAAc,oCAAoC,CAAA;AAClD,cAAc,mCAAmC,CAAA;AACjD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,qCAAqC,CAAA"}
@@ -0,0 +1,14 @@
1
+ import { ProviderInterface } from '../../../../core/provider/interface.js';
2
+ import { SpendPermission } from '../../../../core/rpc/coinbase_fetchSpendPermissions.js';
3
+ type FetchPermissionsType = {
4
+ account: string;
5
+ chainId: number;
6
+ spender: string;
7
+ };
8
+ export declare const fetchPermissions: (({ provider, account, chainId, spender, }: FetchPermissionsType & {
9
+ provider: ProviderInterface;
10
+ }) => Promise<SpendPermission[]>) | ((args_0: FetchPermissionsType & {
11
+ provider: ProviderInterface;
12
+ }) => Promise<SpendPermission[]>);
13
+ export {};
14
+ //# sourceMappingURL=fetchPermissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchPermissions.d.ts","sourceRoot":"","sources":["../../../../../src/interface/public-utilities/spend-permission/methods/fetchPermissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAC/D,OAAO,EAEN,eAAe,EACf,MAAM,6CAA6C,CAAA;AAGpD,KAAK,oBAAoB,GAAG;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;CACf,CAAA;AA4DD,eAAO,MAAM,gBAAgB,8CAjB1B,oBAAoB,GAAG;IAAE,QAAQ,EAAE,iBAAiB,CAAA;CAAE,KAAG,OAAO,CAClE,eAAe,EAAE,CACjB;cAFqC,iBAAiB;iCAiBU,CAAA"}
@@ -0,0 +1,52 @@
1
+ import { withTelemetry } from '../withTelemetry.js';
2
+ /**
3
+ * Fetches existing spend permissions for a specific account, spender, and chain.
4
+ *
5
+ * This helper method retrieves all spend permissions that have been granted by a specific
6
+ * account to a specific spender on a given chain. This is useful for checking existing
7
+ * permissions before creating new ones, or for displaying current allowances to users.
8
+ *
9
+ * The method uses the coinbase_fetchPermissions RPC method to query the permissions
10
+ * from the backend service.
11
+ *
12
+ * @param params - The parameters for the fetchPermissions method.
13
+ * @param params.provider - The provider interface used to make the coinbase_fetchPermissions request.
14
+ * @param params.account - The account to fetch permissions for.
15
+ * @param params.chainId - The chain ID to fetch permissions for.
16
+ * @param params.spender - The spender to fetch permissions for.
17
+ *
18
+ * @returns A promise that resolves to an array of SpendPermission objects.
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * import { fetchPermissions } from '@startale/app-sdk/spend-permission';
23
+ *
24
+ * // Fetch all permissions for an account-spender pair
25
+ * const permissions = await fetchPermissions({
26
+ * provider, // Base Account Provider
27
+ * account: '0x1234...',
28
+ * spender: '0x5678...',
29
+ * chainId: 8453 // Base mainnet
30
+ * });
31
+ *
32
+ * console.log(`Found ${permissions.length} permissions`);
33
+ * permissions.forEach(permission => {
34
+ * console.log(`Token: ${permission.permission.token}`);
35
+ * });
36
+ * ```
37
+ */
38
+ const fetchPermissionsFn = async ({ provider, account, chainId, spender, }) => {
39
+ const response = (await provider.request({
40
+ method: 'coinbase_fetchPermissions',
41
+ params: [
42
+ {
43
+ account,
44
+ chainId: `0x${chainId.toString(16)}`,
45
+ spender,
46
+ },
47
+ ],
48
+ }));
49
+ return response.permissions;
50
+ };
51
+ export const fetchPermissions = withTelemetry(fetchPermissionsFn);
52
+ //# sourceMappingURL=fetchPermissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchPermissions.js","sourceRoot":"","sources":["../../../../../src/interface/public-utilities/spend-permission/methods/fetchPermissions.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAQnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,kBAAkB,GAAG,KAAK,EAAE,EACjC,QAAQ,EACR,OAAO,EACP,OAAO,EACP,OAAO,GACiD,EAEvD,EAAE;IACH,MAAM,QAAQ,GAAG,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC;QACxC,MAAM,EAAE,2BAA2B;QACnC,MAAM,EAAE;YACP;gBACC,OAAO;gBACP,OAAO,EAAE,KAAK,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;gBACpC,OAAO;aACP;SACD;KACD,CAAC,CAA6B,CAAA;IAE/B,OAAO,QAAQ,CAAC,WAAW,CAAA;AAC5B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC,kBAAkB,CAAC,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { SpendPermissionTypedData } from '../utils.js';
2
+ export declare const getHash: (({ permission, chainId, }: {
3
+ permission: SpendPermissionTypedData["message"];
4
+ chainId: number;
5
+ }) => Promise<`0x${string}`>) | ((args_0: {
6
+ permission: SpendPermissionTypedData["message"];
7
+ chainId: number;
8
+ }) => Promise<`0x${string}`>);
9
+ //# sourceMappingURL=getHash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getHash.d.ts","sourceRoot":"","sources":["../../../../../src/interface/public-utilities/spend-permission/methods/getHash.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAoEtD,eAAO,MAAM,OAAO,8BA5BjB;IACF,UAAU,EAAE,wBAAwB,CAAC,SAAS,CAAC,CAAA;IAC/C,OAAO,EAAE,MAAM,CAAA;CACf,KAAG,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC;gBAFb,wBAAwB,CAAC,SAAS,CAAC;aACtC,MAAM;6BA0B+B,CAAA"}
@@ -0,0 +1,54 @@
1
+ import { spendPermissionManagerAbi, spendPermissionManagerAddress, } from '../../../../sign/app-sdk/utils/constants.js';
2
+ import { getClient } from '../../../../store/chain-clients/utils.js';
3
+ import { readContract } from 'viem/actions';
4
+ import { withTelemetry } from '../withTelemetry.js';
5
+ /**
6
+ * Gets the hash of a spend permission from the SpendPermissionManager contract.
7
+ *
8
+ * This function calls the getHash method on the SpendPermissionManager contract
9
+ * to compute the unique hash for a given spend permission. This hash can be used
10
+ * to identify the permission on-chain.
11
+ *
12
+ * @param params - The parameters for the getHash method.
13
+ * @param params.permission - The spend permission message object from the typed data that
14
+ * contains all permission details.
15
+ * @param params.chainId - The chain ID to use for the contract call
16
+ *
17
+ * @returns A promise that resolves to the permission hash as a hex string
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * import { getHash } from '@startale/app-sdk/spend-permission';
22
+ *
23
+ * const permission = {
24
+ * account: '0x1234...',
25
+ * spender: '0x5678...',
26
+ * token: '0xabcd...',
27
+ * allowance: '1000000', // 1 USDC (6 decimals)
28
+ * period: 86400 * 30, // 30 days in seconds
29
+ * start: Date.now(),
30
+ * end: Date.now() + (86400 * 365),
31
+ * salt: '0x1234567890abcdef...',
32
+ * extraData: '0x'
33
+ * };
34
+ *
35
+ * const hash = await getHash(permission, 8453); // Base mainnet
36
+ * console.log('Permission hash:', hash);
37
+ * ```
38
+ */
39
+ const getHashFn = async ({ permission, chainId, }) => {
40
+ const client = getClient(chainId);
41
+ if (!client) {
42
+ throw new Error(`No client found for chain ID ${chainId}. Please ensure SDK is in connected state`);
43
+ }
44
+ const spendPermissionArgs = Object.assign(Object.assign({}, permission), { allowance: BigInt(permission.allowance), salt: BigInt(permission.salt) });
45
+ const hash = await readContract(client, {
46
+ address: spendPermissionManagerAddress,
47
+ abi: spendPermissionManagerAbi,
48
+ functionName: 'getHash',
49
+ args: [spendPermissionArgs],
50
+ });
51
+ return hash;
52
+ };
53
+ export const getHash = withTelemetry(getHashFn);
54
+ //# sourceMappingURL=getHash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getHash.js","sourceRoot":"","sources":["../../../../../src/interface/public-utilities/spend-permission/methods/getHash.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,yBAAyB,EACzB,6BAA6B,GAC7B,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,SAAS,GAAG,KAAK,EAAE,EACxB,UAAU,EACV,OAAO,GAIP,EAA0B,EAAE;IAC5B,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA;IAEjC,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACd,gCAAgC,OAAO,2CAA2C,CAClF,CAAA;IACF,CAAC;IAED,MAAM,mBAAmB,mCACrB,UAAU,KACb,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,EACvC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAC7B,CAAA;IAED,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE;QACvC,OAAO,EAAE,6BAA6B;QACtC,GAAG,EAAE,yBAAyB;QAC9B,YAAY,EAAE,SAAS;QACvB,IAAI,EAAE,CAAC,mBAAmB,CAAC;KAC3B,CAAC,CAAA;IAEF,OAAO,IAAI,CAAA;AACZ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { SpendPermission } from '../../../../core/rpc/coinbase_fetchSpendPermissions.js';
2
+ export type GetPermissionStatusResponseType = {
3
+ remainingSpend: bigint;
4
+ nextPeriodStart: Date;
5
+ isActive: boolean;
6
+ };
7
+ export declare const getPermissionStatus: ((permission: SpendPermission) => Promise<GetPermissionStatusResponseType>) | ((permission: SpendPermission) => Promise<GetPermissionStatusResponseType>);
8
+ //# sourceMappingURL=getPermissionStatus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPermissionStatus.d.ts","sourceRoot":"","sources":["../../../../../src/interface/public-utilities/spend-permission/methods/getPermissionStatus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAA;AAU7E,MAAM,MAAM,+BAA+B,GAAG;IAC7C,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,IAAI,CAAA;IACrB,QAAQ,EAAE,OAAO,CAAA;CACjB,CAAA;AA6FD,eAAO,MAAM,mBAAmB,gBAzDnB,eAAe,KACzB,OAAO,CAAC,+BAA+B,CAAC,+EAwD4B,CAAA"}
@@ -0,0 +1,85 @@
1
+ import { spendPermissionManagerAbi, spendPermissionManagerAddress, } from '../../../../sign/app-sdk/utils/constants.js';
2
+ import { getClient } from '../../../../store/chain-clients/utils.js';
3
+ import { readContract } from 'viem/actions';
4
+ import { timestampInSecondsToDate, toSpendPermissionArgs } from '../utils.js';
5
+ import { withTelemetry } from '../withTelemetry.js';
6
+ /**
7
+ * Gets the current status of a spend permission.
8
+ *
9
+ * This helper method queries the blockchain to retrieve real-time information
10
+ * about a spend permission, including how much can still be spent in the current
11
+ * period, when the next period starts, and whether the permission is still active.
12
+ *
13
+ * The function automatically uses the appropriate blockchain client based on the
14
+ * permission's chain ID and calls multiple view functions on the SpendPermissionManager
15
+ * contract to gather comprehensive status information.
16
+ *
17
+ * When the spend permission does not have a chainId, the function will throw an error.
18
+ *
19
+ * @param permission - The spend permission object to check status for.
20
+ *
21
+ * @returns A promise that resolves to an object containing permission status details.
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * import { getPermissionStatus } from '@startale/app-sdk/spend-permission';
26
+ *
27
+ * // Check the status of a permission (no client needed)
28
+ * const status = await getPermissionStatus(permission);
29
+ *
30
+ * console.log(`Remaining spend: ${status.remainingSpend} wei`);
31
+ * console.log(`Next period starts: ${new Date(parseInt(status.nextPeriodStart) * 1000)}`);
32
+ * console.log(`Is active: ${status.isActive}`);
33
+ *
34
+ * if (status.isActive && status.remainingSpend > BigInt(0)) {
35
+ * console.log('Permission can be used for spending');
36
+ * }
37
+ * ```
38
+ */
39
+ const getPermissionStatusFn = async (permission) => {
40
+ const { chainId } = permission;
41
+ if (!chainId) {
42
+ throw new Error('chainId is missing in the spend permission');
43
+ }
44
+ const client = getClient(chainId);
45
+ if (!client) {
46
+ throw new Error(`No client available for chain ID ${chainId}. Make sure the SDK is in connected state.`);
47
+ }
48
+ const spendPermissionArgs = toSpendPermissionArgs(permission);
49
+ const [currentPeriod, isRevoked, isValid] = await Promise.all([
50
+ readContract(client, {
51
+ address: spendPermissionManagerAddress,
52
+ abi: spendPermissionManagerAbi,
53
+ functionName: 'getCurrentPeriod',
54
+ args: [spendPermissionArgs],
55
+ }),
56
+ readContract(client, {
57
+ address: spendPermissionManagerAddress,
58
+ abi: spendPermissionManagerAbi,
59
+ functionName: 'isRevoked',
60
+ args: [spendPermissionArgs],
61
+ }),
62
+ readContract(client, {
63
+ address: spendPermissionManagerAddress,
64
+ abi: spendPermissionManagerAbi,
65
+ functionName: 'isValid',
66
+ args: [spendPermissionArgs],
67
+ }),
68
+ ]);
69
+ // Calculate remaining spend in current period
70
+ const allowance = BigInt(permission.permission.allowance);
71
+ const spent = currentPeriod.spend;
72
+ const remainingSpend = allowance > spent ? allowance - spent : BigInt(0);
73
+ // Calculate next period start
74
+ // Next period starts immediately after current period ends
75
+ const nextPeriodStart = (Number(currentPeriod.end) + 1).toString();
76
+ // Permission is active if it's not revoked and is still valid
77
+ const isActive = !isRevoked && isValid;
78
+ return {
79
+ remainingSpend,
80
+ nextPeriodStart: timestampInSecondsToDate(Number(nextPeriodStart)),
81
+ isActive,
82
+ };
83
+ };
84
+ export const getPermissionStatus = withTelemetry(getPermissionStatusFn);
85
+ //# sourceMappingURL=getPermissionStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPermissionStatus.js","sourceRoot":"","sources":["../../../../../src/interface/public-utilities/spend-permission/methods/getPermissionStatus.ts"],"names":[],"mappings":"AACA,OAAO,EACN,yBAAyB,EACzB,6BAA6B,GAC7B,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAQnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,qBAAqB,GAAG,KAAK,EAClC,UAA2B,EACgB,EAAE;IAC7C,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAA;IAE9B,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;IAC9D,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA;IACjC,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACd,oCAAoC,OAAO,4CAA4C,CACvF,CAAA;IACF,CAAC;IAED,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAA;IAE7D,MAAM,CAAC,aAAa,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC7D,YAAY,CAAC,MAAM,EAAE;YACpB,OAAO,EAAE,6BAA6B;YACtC,GAAG,EAAE,yBAAyB;YAC9B,YAAY,EAAE,kBAAkB;YAChC,IAAI,EAAE,CAAC,mBAAmB,CAAC;SAC3B,CAA2D;QAC5D,YAAY,CAAC,MAAM,EAAE;YACpB,OAAO,EAAE,6BAA6B;YACtC,GAAG,EAAE,yBAAyB;YAC9B,YAAY,EAAE,WAAW;YACzB,IAAI,EAAE,CAAC,mBAAmB,CAAC;SAC3B,CAAqB;QACtB,YAAY,CAAC,MAAM,EAAE;YACpB,OAAO,EAAE,6BAA6B;YACtC,GAAG,EAAE,yBAAyB;YAC9B,YAAY,EAAE,SAAS;YACvB,IAAI,EAAE,CAAC,mBAAmB,CAAC;SAC3B,CAAqB;KACtB,CAAC,CAAA;IAEF,8CAA8C;IAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;IACzD,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAA;IACjC,MAAM,cAAc,GAAG,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAExE,8BAA8B;IAC9B,2DAA2D;IAC3D,MAAM,eAAe,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;IAElE,8DAA8D;IAC9D,MAAM,QAAQ,GAAG,CAAC,SAAS,IAAI,OAAO,CAAA;IAEtC,OAAO;QACN,cAAc;QACd,eAAe,EAAE,wBAAwB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAClE,QAAQ;KACR,CAAA;AACF,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,aAAa,CAAC,qBAAqB,CAAC,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { SpendPermission } from '../../../../core/rpc/coinbase_fetchSpendPermissions.js';
2
+ import { Address, Hex } from 'viem';
3
+ type RevokeSpendPermissionResponse = {
4
+ to: Address;
5
+ data: Hex;
6
+ value: '0x0';
7
+ };
8
+ export declare const prepareRevokeCallData: ((permission: SpendPermission) => Promise<RevokeSpendPermissionResponse>) | ((permission: SpendPermission) => Promise<RevokeSpendPermissionResponse>);
9
+ export {};
10
+ //# sourceMappingURL=prepareRevokeCallData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepareRevokeCallData.d.ts","sourceRoot":"","sources":["../../../../../src/interface/public-utilities/spend-permission/methods/prepareRevokeCallData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAA;AAK7E,OAAO,EAAE,OAAO,EAAE,GAAG,EAAsB,MAAM,MAAM,CAAA;AAIvD,KAAK,6BAA6B,GAAG;IACpC,EAAE,EAAE,OAAO,CAAA;IACX,IAAI,EAAE,GAAG,CAAA;IACT,KAAK,EAAE,KAAK,CAAA;CACZ,CAAA;AAoDD,eAAO,MAAM,qBAAqB,gBAlBrB,eAAe,KACzB,OAAO,CAAC,6BAA6B,CAAC,6EAiBkC,CAAA"}
@@ -0,0 +1,51 @@
1
+ import { spendPermissionManagerAbi, spendPermissionManagerAddress, } from '../../../../sign/app-sdk/utils/constants.js';
2
+ import { encodeFunctionData } from 'viem';
3
+ import { toSpendPermissionArgs } from '../utils.js';
4
+ import { withTelemetry } from '../withTelemetry.js';
5
+ /**
6
+ * Prepares call data for revoking a spend permission without user interaction.
7
+ *
8
+ * This helper method generates the encoded transaction data needed to revoke a spend
9
+ * permission silently, without opening a popup or requiring user approval. This is
10
+ * useful for automated or programmatic revocations where user interaction is not desired.
11
+ *
12
+ * The returned call data can be used with other transaction methods or batch operations.
13
+ *
14
+ * If you need simpler revoke flow, use `requestRevoke` instead, which opens a popup to ask
15
+ * the user to revoke the permission.
16
+ *
17
+ * @param permission - The spend permission object containing the permission details to revoke.
18
+ *
19
+ * @returns A promise that resolves to an object containing the contract address and encoded call data.
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * import { prepareRevokeCallData } from '@startale/app-sdk/spend-permission';
24
+ *
25
+ * // Prepare revoke call data for silent execution
26
+ * const { to, data } = await prepareRevokeCallData({ permission: myPermission });
27
+ *
28
+ * // Use the call data in a batch transaction or other context
29
+ * const call = {
30
+ * to,
31
+ * data,
32
+ * value: '0x0'
33
+ * };
34
+ * ```
35
+ */
36
+ const prepareRevokeCallDataFn = async (permission) => {
37
+ const spendPermissionArgs = toSpendPermissionArgs(permission);
38
+ const data = encodeFunctionData({
39
+ abi: spendPermissionManagerAbi,
40
+ functionName: 'revokeAsSpender',
41
+ args: [spendPermissionArgs],
42
+ });
43
+ const response = {
44
+ to: spendPermissionManagerAddress,
45
+ data,
46
+ value: '0x0', // explicitly set to 0x0
47
+ };
48
+ return response;
49
+ };
50
+ export const prepareRevokeCallData = withTelemetry(prepareRevokeCallDataFn);
51
+ //# sourceMappingURL=prepareRevokeCallData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepareRevokeCallData.js","sourceRoot":"","sources":["../../../../../src/interface/public-utilities/spend-permission/methods/prepareRevokeCallData.ts"],"names":[],"mappings":"AACA,OAAO,EACN,yBAAyB,EACzB,6BAA6B,GAC7B,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAgB,kBAAkB,EAAE,MAAM,MAAM,CAAA;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAQnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,uBAAuB,GAAG,KAAK,EACpC,UAA2B,EACc,EAAE;IAC3C,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAA;IAC7D,MAAM,IAAI,GAAG,kBAAkB,CAAC;QAC/B,GAAG,EAAE,yBAAyB;QAC9B,YAAY,EAAE,iBAAiB;QAC/B,IAAI,EAAE,CAAC,mBAAmB,CAAC;KAC3B,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAkC;QAC/C,EAAE,EAAE,6BAA6B;QACjC,IAAI;QACJ,KAAK,EAAE,KAAK,EAAE,wBAAwB;KACtC,CAAA;IAED,OAAO,QAAQ,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC,uBAAuB,CAAC,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { SpendPermission } from '../../../../core/rpc/coinbase_fetchSpendPermissions.js';
2
+ import { Address, Hex } from 'viem';
3
+ type Call = {
4
+ to: Address;
5
+ data: Hex;
6
+ value: '0x0';
7
+ };
8
+ export type PrepareSpendCallDataResponseType = Call[];
9
+ export declare const prepareSpendCallData: ((permission: SpendPermission, amount: bigint | "max-remaining-allowance") => Promise<PrepareSpendCallDataResponseType>) | ((permission: SpendPermission, amount: bigint | "max-remaining-allowance") => Promise<PrepareSpendCallDataResponseType>);
10
+ export {};
11
+ //# sourceMappingURL=prepareSpendCallData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepareSpendCallData.d.ts","sourceRoot":"","sources":["../../../../../src/interface/public-utilities/spend-permission/methods/prepareSpendCallData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAA;AAK7E,OAAO,EAAE,OAAO,EAAE,GAAG,EAAsB,MAAM,MAAM,CAAA;AAMvD,KAAK,IAAI,GAAG;IACX,EAAE,EAAE,OAAO,CAAA;IACX,IAAI,EAAE,GAAG,CAAA;IACT,KAAK,EAAE,KAAK,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,gCAAgC,GAAG,IAAI,EAAE,CAAA;AA+GrD,eAAO,MAAM,oBAAoB,gBA9CpB,eAAe,UACnB,MAAM,GAAG,yBAAyB,KACxC,OAAO,CAAC,gCAAgC,CAAC,4HA4C6B,CAAA"}
@@ -0,0 +1,104 @@
1
+ import { spendPermissionManagerAbi, spendPermissionManagerAddress, } from '../../../../sign/app-sdk/utils/constants.js';
2
+ import { encodeFunctionData } from 'viem';
3
+ import { toSpendPermissionArgs } from '../utils.js';
4
+ import { withTelemetry } from '../withTelemetry.js';
5
+ import { getPermissionStatus } from './getPermissionStatus.js';
6
+ /**
7
+ * Prepares call data for approving and spending a spend permission.
8
+ *
9
+ * This helper method constructs the call data for `approveWithSignature`
10
+ * and `spend` functions. The approve call is only included when the permission
11
+ * is not yet active. If the permission is already approved, only the spend call is returned.
12
+ *
13
+ * When 'max-remaining-allowance' is provided as the amount, the function automatically uses all remaining
14
+ * spend permission allowance.
15
+ *
16
+ * The resulting call data must be sent using the spender account, not the
17
+ * account holder. The spender is responsible for executing both the approval
18
+ * and spend operations.
19
+ *
20
+ * @param permission - The spend permission object containing the permission details and signature.
21
+ * @param amount - The amount to spend in wei. If 'max-remaining-allowance' is provided, the full remaining allowance will be spent.
22
+ *
23
+ * @returns A promise that resolves to an array containing all the necessary calls.
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * import { prepareSpendCallData } from '@startale/app-sdk/spend-permission';
28
+ *
29
+ * // Prepare calls to approve and spend a specific amount from a permission
30
+ * const spendCalls = await prepareSpendCallData(
31
+ * permission, // from requestSpendPermission or fetchPermissions
32
+ * 50n * 10n ** 6n // spend 50 USDC (6 decimals)
33
+ * );
34
+ *
35
+ * // To spend all remaining allowance, use 'max-remaining-allowance'
36
+ * const callsFullAmount = await prepareSpendCallData(
37
+ * permission,
38
+ * 'max-remaining-allowance'
39
+ * );
40
+ *
41
+ * // Send the calls using your app's spender account
42
+ * // this is an example of how to send the calls using the wallet_sendCalls method
43
+ * await provider.request({
44
+ * method: 'wallet_sendCalls',
45
+ * params: [{
46
+ * version: '2.0.0',
47
+ * atomicRequired: true,
48
+ * from: permission.permission.spender, // Must be the spender!
49
+ * chainId: `0x${permission.chainId?.toString(16)}`,
50
+ * calls: spendCalls,
51
+ * }],
52
+ * });
53
+ *
54
+ * // Or send the calls using eth_sendTransaction to submit both calls in exact order
55
+ * const promises = spendCalls.map((call) => provider.request({
56
+ * method: 'eth_sendTransaction',
57
+ * params: [
58
+ * {
59
+ * ...call,
60
+ * from: permission.permission.spender, // Must be the spender!
61
+ * }
62
+ * ]
63
+ * }))
64
+ *
65
+ * await Promise.all(promises);
66
+ * ```
67
+ */
68
+ const prepareSpendCallDataFn = async (permission, amount) => {
69
+ const { remainingSpend, isActive } = await getPermissionStatus(permission);
70
+ const spendAmount = amount === 'max-remaining-allowance' ? remainingSpend : amount;
71
+ if (spendAmount === BigInt(0)) {
72
+ throw new Error('Spend amount cannot be 0');
73
+ }
74
+ if (spendAmount > remainingSpend) {
75
+ throw new Error('Remaining spend amount is insufficient');
76
+ }
77
+ let approveCall = null;
78
+ const spendPermissionArgs = toSpendPermissionArgs(permission);
79
+ if (!isActive) {
80
+ const approveData = encodeFunctionData({
81
+ abi: spendPermissionManagerAbi,
82
+ functionName: 'approveWithSignature',
83
+ args: [spendPermissionArgs, permission.signature],
84
+ });
85
+ approveCall = {
86
+ to: spendPermissionManagerAddress,
87
+ data: approveData,
88
+ value: '0x0', // explicitly set to 0x0
89
+ };
90
+ }
91
+ const spendData = encodeFunctionData({
92
+ abi: spendPermissionManagerAbi,
93
+ functionName: 'spend',
94
+ args: [spendPermissionArgs, spendAmount],
95
+ });
96
+ const spendCall = {
97
+ to: spendPermissionManagerAddress,
98
+ data: spendData,
99
+ value: '0x0', // explicitly set to 0x0
100
+ };
101
+ return [approveCall, spendCall].filter((item) => item !== null);
102
+ };
103
+ export const prepareSpendCallData = withTelemetry(prepareSpendCallDataFn);
104
+ //# sourceMappingURL=prepareSpendCallData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepareSpendCallData.js","sourceRoot":"","sources":["../../../../../src/interface/public-utilities/spend-permission/methods/prepareSpendCallData.ts"],"names":[],"mappings":"AACA,OAAO,EACN,yBAAyB,EACzB,6BAA6B,GAC7B,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAgB,kBAAkB,EAAE,MAAM,MAAM,CAAA;AAEvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAU9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,MAAM,sBAAsB,GAAG,KAAK,EACnC,UAA2B,EAC3B,MAA0C,EACE,EAAE;IAC9C,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAA;IAC1E,MAAM,WAAW,GAChB,MAAM,KAAK,yBAAyB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAA;IAE/D,IAAI,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;IAC5C,CAAC;IAED,IAAI,WAAW,GAAG,cAAc,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;IAC1D,CAAC;IAED,IAAI,WAAW,GAAgB,IAAI,CAAA;IAEnC,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAA;IAE7D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,MAAM,WAAW,GAAG,kBAAkB,CAAC;YACtC,GAAG,EAAE,yBAAyB;YAC9B,YAAY,EAAE,sBAAsB;YACpC,IAAI,EAAE,CAAC,mBAAmB,EAAE,UAAU,CAAC,SAA0B,CAAC;SAClE,CAAC,CAAA;QACF,WAAW,GAAG;YACb,EAAE,EAAE,6BAA6B;YACjC,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,KAAK,EAAE,wBAAwB;SACtC,CAAA;IACF,CAAC;IAED,MAAM,SAAS,GAAG,kBAAkB,CAAC;QACpC,GAAG,EAAE,yBAAyB;QAC9B,YAAY,EAAE,OAAO;QACrB,IAAI,EAAE,CAAC,mBAAmB,EAAE,WAAW,CAAC;KACxC,CAAC,CAAA;IACF,MAAM,SAAS,GAAS;QACvB,EAAE,EAAE,6BAA6B;QACjC,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,KAAK,EAAE,wBAAwB;KACtC,CAAA;IAED,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;AAChE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAAC,sBAAsB,CAAC,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { ProviderInterface } from '../../../../core/provider/interface.js';
2
+ import { SpendPermission } from '../../../../core/rpc/coinbase_fetchSpendPermissions.js';
3
+ import { Hex } from 'viem';
4
+ export declare const requestRevoke: (({ provider, permission, }: {
5
+ provider: ProviderInterface;
6
+ permission: SpendPermission;
7
+ }) => Promise<Hex>) | ((args_0: {
8
+ provider: ProviderInterface;
9
+ permission: SpendPermission;
10
+ }) => Promise<`0x${string}`>);
11
+ //# sourceMappingURL=requestRevoke.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestRevoke.d.ts","sourceRoot":"","sources":["../../../../../src/interface/public-utilities/spend-permission/methods/requestRevoke.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAA;AAK7E,OAAO,EAAE,GAAG,EAAmC,MAAM,MAAM,CAAA;AA0E3D,eAAO,MAAM,aAAa,+BAtCvB;IACF,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,UAAU,EAAE,eAAe,CAAA;CAC3B,KAAG,OAAO,CAAC,GAAG,CAAC;cAFL,iBAAiB;gBACf,eAAe;6BAoC+B,CAAA"}
@@ -0,0 +1,64 @@
1
+ import { spendPermissionManagerAbi, spendPermissionManagerAddress, } from '../../../../sign/app-sdk/utils/constants.js';
2
+ import { encodeFunctionData, numberToHex } from 'viem';
3
+ import { toSpendPermissionArgs } from '../utils.js';
4
+ import { withTelemetry } from '../withTelemetry.js';
5
+ /**
6
+ * Requests user approval to revoke a spend permission.
7
+ *
8
+ * This helper method opens a popup to ask the user to revoke a spend permission.
9
+ * It requires no additional setup from the app side and handles the entire revoke
10
+ * flow by calling the smart contract's revoke function through wallet_sendCalls.
11
+ *
12
+ * If you're looking for a silent revoke that doesn't require user interaction,
13
+ * use `prepareRevokeCallData` instead, which requires extra configuration.
14
+ *
15
+ * @param params - The parameters for the requestRevoke method.
16
+ * @param params.permission - The spend permission object to revoke. Must include a valid chainId.
17
+ * @param params.provider - The provider interface used to make the wallet_sendCalls request.
18
+ *
19
+ * @returns A promise that resolves to the transaction hash as a hex string.
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * import { requestRevoke } from '@startale/app-sdk/spend-permission';
24
+ *
25
+ * // Revoke a spend permission with user approval
26
+ * try {
27
+ * const hash = await requestRevoke({ permission, provider });
28
+ * console.log(`Permission revoked in transaction: ${hash}`);
29
+ * } catch (error) {
30
+ * console.error('Failed to revoke permission:', error);
31
+ * }
32
+ * ```
33
+ */
34
+ const requestRevokeFn = async ({ provider, permission, }) => {
35
+ const { chainId } = permission;
36
+ if (!chainId) {
37
+ throw new Error('chainId is required in the spend permission');
38
+ }
39
+ const spendPermissionArgs = toSpendPermissionArgs(permission);
40
+ const data = encodeFunctionData({
41
+ abi: spendPermissionManagerAbi,
42
+ functionName: 'revoke',
43
+ args: [spendPermissionArgs],
44
+ });
45
+ const call = {
46
+ to: spendPermissionManagerAddress,
47
+ data,
48
+ };
49
+ const result = (await provider.request({
50
+ method: 'wallet_sendCalls',
51
+ params: [
52
+ {
53
+ version: '2.0.0',
54
+ from: permission.permission.account,
55
+ chainId: numberToHex(chainId),
56
+ atomicRequired: true,
57
+ calls: [call],
58
+ },
59
+ ],
60
+ }));
61
+ return result;
62
+ };
63
+ export const requestRevoke = withTelemetry(requestRevokeFn);
64
+ //# sourceMappingURL=requestRevoke.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestRevoke.js","sourceRoot":"","sources":["../../../../../src/interface/public-utilities/spend-permission/methods/requestRevoke.ts"],"names":[],"mappings":"AAEA,OAAO,EACN,yBAAyB,EACzB,6BAA6B,GAC7B,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAO,kBAAkB,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,eAAe,GAAG,KAAK,EAAE,EAC9B,QAAQ,EACR,UAAU,GAIV,EAAgB,EAAE;IAClB,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAA;IAE9B,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;IAC/D,CAAC;IAED,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAA;IAC7D,MAAM,IAAI,GAAG,kBAAkB,CAAC;QAC/B,GAAG,EAAE,yBAAyB;QAC9B,YAAY,EAAE,QAAQ;QACtB,IAAI,EAAE,CAAC,mBAAmB,CAAC;KAC3B,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG;QACZ,EAAE,EAAE,6BAA6B;QACjC,IAAI;KACJ,CAAA;IAED,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC;QACtC,MAAM,EAAE,kBAAkB;QAC1B,MAAM,EAAE;YACP;gBACC,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO;gBACnC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC;gBAC7B,cAAc,EAAE,IAAI;gBACpB,KAAK,EAAE,CAAC,IAAI,CAAC;aACb;SACD;KACD,CAAC,CAAQ,CAAA;IAEV,OAAO,MAAM,CAAA;AACd,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC,eAAe,CAAC,CAAA"}
@@ -0,0 +1,20 @@
1
+ import { SpendPermission } from '../../../../core/rpc/coinbase_fetchSpendPermissions.js';
2
+ import { ProviderInterface } from '../../../../core/provider/interface.js';
3
+ export type RequestSpendPermissionType = {
4
+ account: string;
5
+ spender: string;
6
+ token: string;
7
+ chainId: number;
8
+ allowance: bigint;
9
+ periodInDays: number;
10
+ start?: Date;
11
+ end?: Date;
12
+ salt?: string;
13
+ extraData?: string;
14
+ };
15
+ export declare const requestSpendPermission: ((request: RequestSpendPermissionType & {
16
+ provider: ProviderInterface;
17
+ }) => Promise<SpendPermission>) | ((request: RequestSpendPermissionType & {
18
+ provider: ProviderInterface;
19
+ }) => Promise<SpendPermission>);
20
+ //# sourceMappingURL=requestSpendPermission.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestSpendPermission.d.ts","sourceRoot":"","sources":["../../../../../src/interface/public-utilities/spend-permission/methods/requestSpendPermission.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAA;AAE7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAQ/D,MAAM,MAAM,0BAA0B,GAAG;IACxC,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,IAAI,CAAA;IACZ,GAAG,CAAC,EAAE,IAAI,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAuED,eAAO,MAAM,sBAAsB,aAzBzB,0BAA0B,GAAG;IAAE,QAAQ,EAAE,iBAAiB,CAAA;CAAE,KACnE,OAAO,CAAC,eAAe,CAAC;cADwB,iBAAiB;+BAyBS,CAAA"}