rise-wallet 0.1.4-beta.1 → 0.2.28

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 (486) hide show
  1. package/README.md +64 -34
  2. package/dist/cli/Dialog.d.ts +34 -0
  3. package/dist/cli/Dialog.js +60 -0
  4. package/dist/cli/Dialog.js.map +1 -0
  5. package/dist/cli/Messenger.d.ts +7 -0
  6. package/dist/cli/Messenger.js +123 -0
  7. package/dist/cli/Messenger.js.map +1 -0
  8. package/dist/cli/bin/commands-D7N5ucUu.js +50 -0
  9. package/dist/cli/bin/index.js +9 -0
  10. package/dist/cli/index.d.ts +2 -0
  11. package/dist/cli/index.js +3 -0
  12. package/dist/cli/index.js.map +1 -0
  13. package/dist/cli/internal/http.d.ts +6 -0
  14. package/dist/cli/internal/http.js +17 -0
  15. package/dist/cli/internal/http.js.map +1 -0
  16. package/dist/cli/tsdown.config.d.ts +2 -0
  17. package/dist/cli/tsdown.config.js +28 -0
  18. package/dist/cli/tsdown.config.js.map +1 -0
  19. package/dist/core/Chains.d.ts +210 -0
  20. package/dist/core/Chains.js +20 -0
  21. package/dist/core/Chains.js.map +1 -0
  22. package/dist/core/Dialog.d.ts +307 -0
  23. package/dist/core/Dialog.js +809 -0
  24. package/dist/core/Dialog.js.map +1 -0
  25. package/dist/core/Messenger.d.ts +164 -0
  26. package/dist/core/Messenger.js +207 -0
  27. package/dist/core/Messenger.js.map +1 -0
  28. package/dist/core/Mode.d.ts +4 -0
  29. package/dist/core/Mode.js +5 -0
  30. package/dist/core/Mode.js.map +1 -0
  31. package/dist/core/Porto.d.ts +1608 -0
  32. package/dist/core/Porto.js +105 -0
  33. package/dist/core/Porto.js.map +1 -0
  34. package/dist/core/RpcSchema.d.ts +81 -0
  35. package/dist/core/RpcSchema.js +2 -0
  36. package/dist/core/RpcSchema.js.map +1 -0
  37. package/dist/core/Storage.d.ts +14 -0
  38. package/dist/core/Storage.js +109 -0
  39. package/dist/core/Storage.js.map +1 -0
  40. package/dist/core/Transport.d.ts +22 -0
  41. package/dist/core/Transport.js +37 -0
  42. package/dist/core/Transport.js.map +1 -0
  43. package/dist/core/internal/_generated/chains.d.ts +1 -0
  44. package/dist/core/internal/_generated/chains.js +3 -0
  45. package/dist/core/internal/_generated/chains.js.map +1 -0
  46. package/dist/core/internal/_generated/contracts/IthacaAccount.d.ts +1120 -0
  47. package/dist/core/internal/_generated/contracts/IthacaAccount.js +1453 -0
  48. package/dist/core/internal/_generated/contracts/IthacaAccount.js.map +1 -0
  49. package/dist/core/internal/call.d.ts +163 -0
  50. package/dist/core/internal/call.js +115 -0
  51. package/dist/core/internal/call.js.map +1 -0
  52. package/dist/core/internal/erc8010.d.ts +17 -0
  53. package/dist/core/internal/erc8010.js +29 -0
  54. package/dist/core/internal/erc8010.js.map +1 -0
  55. package/dist/core/internal/intersectionObserver.d.ts +1 -0
  56. package/dist/core/internal/intersectionObserver.js +5 -0
  57. package/dist/core/internal/intersectionObserver.js.map +1 -0
  58. package/dist/core/internal/logger.d.ts +21 -0
  59. package/dist/core/internal/logger.js +24 -0
  60. package/dist/core/internal/logger.js.map +1 -0
  61. package/dist/core/internal/mode.d.ts +344 -0
  62. package/dist/core/internal/mode.js +110 -0
  63. package/dist/core/internal/mode.js.map +1 -0
  64. package/dist/core/internal/modes/dialog.d.ts +799 -0
  65. package/dist/core/internal/modes/dialog.js +760 -0
  66. package/dist/core/internal/modes/dialog.js.map +1 -0
  67. package/dist/core/internal/modes/reactNative.d.ts +1401 -0
  68. package/dist/core/internal/modes/reactNative.js +19 -0
  69. package/dist/core/internal/modes/reactNative.js.map +1 -0
  70. package/dist/core/internal/modes/relay.d.ts +684 -0
  71. package/dist/core/internal/modes/relay.js +708 -0
  72. package/dist/core/internal/modes/relay.js.map +1 -0
  73. package/dist/core/internal/permissions.d.ts +59 -0
  74. package/dist/core/internal/permissions.js +30 -0
  75. package/dist/core/internal/permissions.js.map +1 -0
  76. package/dist/core/internal/permissionsRequest.d.ts +71 -0
  77. package/dist/core/internal/permissionsRequest.js +58 -0
  78. package/dist/core/internal/permissionsRequest.js.map +1 -0
  79. package/dist/core/internal/porto.d.ts +13 -0
  80. package/dist/core/internal/porto.js +2 -0
  81. package/dist/core/internal/porto.js.map +1 -0
  82. package/dist/core/internal/promise.d.ts +8 -0
  83. package/dist/core/internal/promise.js +11 -0
  84. package/dist/core/internal/promise.js.map +1 -0
  85. package/dist/core/internal/provider.d.ts +29 -0
  86. package/dist/core/internal/provider.js +941 -0
  87. package/dist/core/internal/provider.js.map +1 -0
  88. package/dist/core/internal/relay/rpcSchema.d.ts +75 -0
  89. package/dist/core/internal/relay/rpcSchema.js +7 -0
  90. package/dist/core/internal/relay/rpcSchema.js.map +1 -0
  91. package/dist/core/internal/relay/schema/capabilities.d.ts +164 -0
  92. package/dist/core/internal/relay/schema/capabilities.js +112 -0
  93. package/dist/core/internal/relay/schema/capabilities.js.map +1 -0
  94. package/dist/core/internal/relay/schema/intent.d.ts +167 -0
  95. package/dist/core/internal/relay/schema/intent.js +170 -0
  96. package/dist/core/internal/relay/schema/intent.js.map +1 -0
  97. package/dist/core/internal/relay/schema/key.d.ts +43 -0
  98. package/dist/core/internal/relay/schema/key.js +30 -0
  99. package/dist/core/internal/relay/schema/key.js.map +1 -0
  100. package/dist/core/internal/relay/schema/permission.d.ts +39 -0
  101. package/dist/core/internal/relay/schema/permission.js +29 -0
  102. package/dist/core/internal/relay/schema/permission.js.map +1 -0
  103. package/dist/core/internal/relay/schema/preCall.d.ts +62 -0
  104. package/dist/core/internal/relay/schema/preCall.js +36 -0
  105. package/dist/core/internal/relay/schema/preCall.js.map +1 -0
  106. package/dist/core/internal/relay/schema/quotes.d.ts +369 -0
  107. package/dist/core/internal/relay/schema/quotes.js +89 -0
  108. package/dist/core/internal/relay/schema/quotes.js.map +1 -0
  109. package/dist/core/internal/relay/schema/rpc.d.ts +1528 -0
  110. package/dist/core/internal/relay/schema/rpc.js +638 -0
  111. package/dist/core/internal/relay/schema/rpc.js.map +1 -0
  112. package/dist/core/internal/relay/schema/token.d.ts +13 -0
  113. package/dist/core/internal/relay/schema/token.js +13 -0
  114. package/dist/core/internal/relay/schema/token.js.map +1 -0
  115. package/dist/core/internal/requiredFunds.d.ts +18 -0
  116. package/dist/core/internal/requiredFunds.js +25 -0
  117. package/dist/core/internal/requiredFunds.js.map +1 -0
  118. package/dist/core/internal/schema/capabilities.d.ts +313 -0
  119. package/dist/core/internal/schema/capabilities.js +133 -0
  120. package/dist/core/internal/schema/capabilities.js.map +1 -0
  121. package/dist/core/internal/schema/key.d.ts +164 -0
  122. package/dist/core/internal/schema/key.js +75 -0
  123. package/dist/core/internal/schema/key.js.map +1 -0
  124. package/dist/core/internal/schema/permissions.d.ts +102 -0
  125. package/dist/core/internal/schema/permissions.js +28 -0
  126. package/dist/core/internal/schema/permissions.js.map +1 -0
  127. package/dist/core/internal/schema/request.d.ts +937 -0
  128. package/dist/core/internal/schema/request.js +57 -0
  129. package/dist/core/internal/schema/request.js.map +1 -0
  130. package/dist/core/internal/schema/rpc.d.ts +3314 -0
  131. package/dist/core/internal/schema/rpc.js +599 -0
  132. package/dist/core/internal/schema/rpc.js.map +1 -0
  133. package/dist/core/internal/schema/token.d.ts +1 -0
  134. package/dist/core/internal/schema/token.js +2 -0
  135. package/dist/core/internal/schema/token.js.map +1 -0
  136. package/dist/core/internal/schema/utils.d.ts +18 -0
  137. package/dist/core/internal/schema/utils.js +213 -0
  138. package/dist/core/internal/schema/utils.js.map +1 -0
  139. package/dist/core/internal/siwe.d.ts +32 -0
  140. package/dist/core/internal/siwe.js +92 -0
  141. package/dist/core/internal/siwe.js.map +1 -0
  142. package/dist/core/internal/store.d.ts +2 -0
  143. package/dist/core/internal/store.js +9 -0
  144. package/dist/core/internal/store.js.map +1 -0
  145. package/dist/core/internal/tokens.d.ts +57 -0
  146. package/dist/core/internal/tokens.js +69 -0
  147. package/dist/core/internal/tokens.js.map +1 -0
  148. package/dist/core/internal/types.d.ts +298 -0
  149. package/dist/core/internal/types.js +2 -0
  150. package/dist/core/internal/types.js.map +1 -0
  151. package/dist/core/internal/urlString.d.ts +1 -0
  152. package/dist/core/internal/urlString.js +8 -0
  153. package/dist/core/internal/urlString.js.map +1 -0
  154. package/dist/core/internal/userAgent.d.ts +10 -0
  155. package/dist/core/internal/userAgent.js +19 -0
  156. package/dist/core/internal/userAgent.js.map +1 -0
  157. package/dist/core/internal/utils.d.ts +24 -0
  158. package/dist/core/internal/utils.js +62 -0
  159. package/dist/core/internal/utils.js.map +1 -0
  160. package/dist/core/react-native/Porto.d.ts +1480 -0
  161. package/dist/core/react-native/Porto.js +17 -0
  162. package/dist/core/react-native/Porto.js.map +1 -0
  163. package/dist/core/react-native/configure.d.ts +9 -0
  164. package/dist/core/react-native/configure.js +24 -0
  165. package/dist/core/react-native/configure.js.map +1 -0
  166. package/dist/core/react-native/environment.d.ts +26 -0
  167. package/dist/core/react-native/environment.js +13 -0
  168. package/dist/core/react-native/environment.js.map +1 -0
  169. package/dist/core/react-native/index.d.ts +4 -0
  170. package/dist/core/react-native/index.js +5 -0
  171. package/dist/core/react-native/index.js.map +1 -0
  172. package/dist/core/react-native/utils.d.ts +1 -0
  173. package/dist/core/react-native/utils.js +12 -0
  174. package/dist/core/react-native/utils.js.map +1 -0
  175. package/dist/index.d.ts +16 -2
  176. package/dist/index.js +15 -2
  177. package/dist/index.js.map +1 -0
  178. package/dist/internal/index.d.ts +3 -0
  179. package/dist/internal/index.js +4 -0
  180. package/dist/internal/index.js.map +1 -0
  181. package/dist/react-native/crypto.d.ts +1 -0
  182. package/dist/react-native/crypto.js +12 -0
  183. package/dist/react-native/crypto.js.map +1 -0
  184. package/dist/react-native/index.d.ts +7 -0
  185. package/dist/react-native/index.js +12 -0
  186. package/dist/react-native/index.js.map +1 -0
  187. package/dist/react-native/register.d.ts +2 -0
  188. package/dist/react-native/register.js +15 -0
  189. package/dist/react-native/register.js.map +1 -0
  190. package/dist/register/index.d.ts +14 -0
  191. package/dist/register/index.js +2 -0
  192. package/dist/register/index.js.map +1 -0
  193. package/dist/remote/Actions.d.ts +33 -0
  194. package/dist/remote/Actions.js +76 -0
  195. package/dist/remote/Actions.js.map +1 -0
  196. package/dist/remote/Events.d.ts +46 -0
  197. package/dist/remote/Events.js +132 -0
  198. package/dist/remote/Events.js.map +1 -0
  199. package/dist/remote/Hooks.d.ts +3800 -0
  200. package/dist/remote/Hooks.js +106 -0
  201. package/dist/remote/Hooks.js.map +1 -0
  202. package/dist/remote/Porto.d.ts +857 -0
  203. package/dist/remote/Porto.js +66 -0
  204. package/dist/remote/Porto.js.map +1 -0
  205. package/dist/remote/index.d.ts +4 -0
  206. package/dist/remote/index.js +5 -0
  207. package/dist/remote/index.js.map +1 -0
  208. package/dist/remote/internal/methodPolicies.d.ts +96 -0
  209. package/dist/remote/internal/methodPolicies.js +102 -0
  210. package/dist/remote/internal/methodPolicies.js.map +1 -0
  211. package/dist/server/Route.d.ts +87 -0
  212. package/dist/server/Route.js +189 -0
  213. package/dist/server/Route.js.map +1 -0
  214. package/dist/server/Router.d.ts +23 -0
  215. package/dist/server/Router.js +29 -0
  216. package/dist/server/Router.js.map +1 -0
  217. package/dist/server/index.d.ts +2 -0
  218. package/dist/server/index.js +3 -0
  219. package/dist/server/index.js.map +1 -0
  220. package/dist/server/internal/merchantSchema.d.ts +64 -0
  221. package/dist/server/internal/merchantSchema.js +7 -0
  222. package/dist/server/internal/merchantSchema.js.map +1 -0
  223. package/dist/server/internal/requestListener.d.ts +123 -0
  224. package/dist/server/internal/requestListener.js +172 -0
  225. package/dist/server/internal/requestListener.js.map +1 -0
  226. package/dist/theme/Theme.d.ts +121 -0
  227. package/dist/theme/Theme.js +18 -0
  228. package/dist/theme/Theme.js.map +1 -0
  229. package/dist/theme/index.d.ts +2 -0
  230. package/dist/theme/index.js +2 -0
  231. package/dist/theme/index.js.map +1 -0
  232. package/dist/trusted-hosts.d.ts +1 -0
  233. package/dist/trusted-hosts.js +41 -0
  234. package/dist/trusted-hosts.js.map +1 -0
  235. package/dist/viem/Account.d.ts +110 -0
  236. package/dist/viem/Account.js +132 -0
  237. package/dist/viem/Account.js.map +1 -0
  238. package/dist/viem/AccountActions.d.ts +10 -0
  239. package/dist/viem/AccountActions.js +14 -0
  240. package/dist/viem/AccountActions.js.map +1 -0
  241. package/dist/viem/CapabilitiesSchema.d.ts +14 -0
  242. package/dist/viem/CapabilitiesSchema.js +2 -0
  243. package/dist/viem/CapabilitiesSchema.js.map +1 -0
  244. package/dist/viem/ContractActions.d.ts +208 -0
  245. package/dist/viem/ContractActions.js +350 -0
  246. package/dist/viem/ContractActions.js.map +1 -0
  247. package/dist/viem/Key.d.ts +1155 -0
  248. package/dist/viem/Key.js +924 -0
  249. package/dist/viem/Key.js.map +1 -0
  250. package/dist/viem/RelayActions.d.ts +435 -0
  251. package/dist/viem/RelayActions.js +385 -0
  252. package/dist/viem/RelayActions.js.map +1 -0
  253. package/dist/viem/RelayClient.d.ts +26 -0
  254. package/dist/viem/RelayClient.js +44 -0
  255. package/dist/viem/RelayClient.js.map +1 -0
  256. package/dist/viem/RpcSchema.d.ts +22 -0
  257. package/dist/viem/RpcSchema.js +2 -0
  258. package/dist/viem/RpcSchema.js.map +1 -0
  259. package/dist/viem/WalletActions.d.ts +86 -0
  260. package/dist/viem/WalletActions.js +220 -0
  261. package/dist/viem/WalletActions.js.map +1 -0
  262. package/dist/viem/WalletClient.d.ts +20 -0
  263. package/dist/viem/WalletClient.js +23 -0
  264. package/dist/viem/WalletClient.js.map +1 -0
  265. package/dist/viem/index.d.ts +13 -0
  266. package/dist/viem/index.js +12 -0
  267. package/dist/viem/index.js.map +1 -0
  268. package/dist/viem/internal/relayActions.d.ts +364 -0
  269. package/dist/viem/internal/relayActions.js +783 -0
  270. package/dist/viem/internal/relayActions.js.map +1 -0
  271. package/dist/viem/internal/utils.d.ts +15 -0
  272. package/dist/viem/internal/utils.js +2 -0
  273. package/dist/viem/internal/utils.js.map +1 -0
  274. package/dist/wagmi/Actions.d.ts +1 -0
  275. package/dist/wagmi/Actions.js +2 -0
  276. package/dist/wagmi/Actions.js.map +1 -0
  277. package/dist/wagmi/Connector.d.ts +26 -0
  278. package/dist/wagmi/Connector.js +238 -0
  279. package/dist/wagmi/Connector.js.map +1 -0
  280. package/dist/wagmi/Hooks.d.ts +1 -0
  281. package/dist/wagmi/Hooks.js +2 -0
  282. package/dist/wagmi/Hooks.js.map +1 -0
  283. package/dist/wagmi/Query.d.ts +1 -0
  284. package/dist/wagmi/Query.js +2 -0
  285. package/dist/wagmi/Query.js.map +1 -0
  286. package/dist/wagmi/index.d.ts +4 -0
  287. package/dist/wagmi/index.js +5 -0
  288. package/dist/wagmi/index.js.map +1 -0
  289. package/dist/wagmi/internal/core.d.ts +83 -0
  290. package/dist/wagmi/internal/core.js +229 -0
  291. package/dist/wagmi/internal/core.js.map +1 -0
  292. package/dist/wagmi/internal/query.d.ts +32 -0
  293. package/dist/wagmi/internal/query.js +23 -0
  294. package/dist/wagmi/internal/query.js.map +1 -0
  295. package/dist/wagmi/internal/react.d.ts +90 -0
  296. package/dist/wagmi/internal/react.js +256 -0
  297. package/dist/wagmi/internal/react.js.map +1 -0
  298. package/dist/wagmi/internal/types.d.ts +10 -0
  299. package/dist/wagmi/internal/types.js +2 -0
  300. package/dist/wagmi/internal/types.js.map +1 -0
  301. package/dist/wagmi/internal/utils.d.ts +1 -0
  302. package/dist/wagmi/internal/utils.js +18 -0
  303. package/dist/wagmi/internal/utils.js.map +1 -0
  304. package/package.json +286 -34
  305. package/src/cli/Dialog.ts +75 -0
  306. package/src/cli/Messenger.ts +148 -0
  307. package/src/cli/bin/index.ts +37 -0
  308. package/src/cli/bin/tsconfig.json +8 -0
  309. package/src/cli/index.ts +2 -0
  310. package/src/cli/internal/commands.ts +212 -0
  311. package/src/cli/internal/context.ts +56 -0
  312. package/src/cli/internal/http.ts +28 -0
  313. package/src/cli/internal/utils.ts +28 -0
  314. package/src/cli/tsdown.config.ts +37 -0
  315. package/src/core/Chains.ts +25 -0
  316. package/src/core/Dialog.ts +1059 -0
  317. package/src/core/Messenger.ts +394 -0
  318. package/src/core/Mode.ts +4 -0
  319. package/src/core/Porto.ts +287 -0
  320. package/src/core/RpcSchema.ts +124 -0
  321. package/src/core/Storage.ts +122 -0
  322. package/src/core/Transport.ts +45 -0
  323. package/src/core/internal/_generated/chains.ts +2 -0
  324. package/src/core/internal/_generated/contracts/EIP7702Proxy.ts +25 -0
  325. package/src/core/internal/_generated/contracts/Escrow.ts +330 -0
  326. package/src/core/internal/_generated/contracts/ExperimentERC20.ts +569 -0
  327. package/src/core/internal/_generated/contracts/ExperimentERC721.ts +588 -0
  328. package/src/core/internal/_generated/contracts/GuardedExecutor.ts +623 -0
  329. package/src/core/internal/_generated/contracts/ICallChecker.ts +34 -0
  330. package/src/core/internal/_generated/contracts/ICommon.ts +4 -0
  331. package/src/core/internal/_generated/contracts/IEscrow.ts +114 -0
  332. package/src/core/internal/_generated/contracts/IFunder.ts +80 -0
  333. package/src/core/internal/_generated/contracts/IFunderV4.ts +45 -0
  334. package/src/core/internal/_generated/contracts/IIthacaAccount.ts +107 -0
  335. package/src/core/internal/_generated/contracts/IOAppCore.ts +142 -0
  336. package/src/core/internal/_generated/contracts/IOAppMsgInspector.ts +45 -0
  337. package/src/core/internal/_generated/contracts/IOAppReceiver.ts +161 -0
  338. package/src/core/internal/_generated/contracts/IOrchestrator.ts +95 -0
  339. package/src/core/internal/_generated/contracts/ISettler.ts +52 -0
  340. package/src/core/internal/_generated/contracts/ISigner.ts +34 -0
  341. package/src/core/internal/_generated/contracts/IthacaAccount.ts +1454 -0
  342. package/src/core/internal/_generated/contracts/IthacaAccountNew.ts +1454 -0
  343. package/src/core/internal/_generated/contracts/IthacaAccountOld.ts +1454 -0
  344. package/src/core/internal/_generated/contracts/LayerZeroSettler.ts +811 -0
  345. package/src/core/internal/_generated/contracts/LibNonce.ts +15 -0
  346. package/src/core/internal/_generated/contracts/LibTStack.ts +4 -0
  347. package/src/core/internal/_generated/contracts/MultiSigSigner.ts +203 -0
  348. package/src/core/internal/_generated/contracts/OApp.ts +412 -0
  349. package/src/core/internal/_generated/contracts/OAppCore.ts +229 -0
  350. package/src/core/internal/_generated/contracts/OAppReceiver.ts +396 -0
  351. package/src/core/internal/_generated/contracts/OAppSender.ts +245 -0
  352. package/src/core/internal/_generated/contracts/Orchestrator.ts +390 -0
  353. package/src/core/internal/_generated/contracts/SimpleFunder.ts +534 -0
  354. package/src/core/internal/_generated/contracts/SimpleSettler.ts +360 -0
  355. package/src/core/internal/_generated/contracts/Simulator.ts +170 -0
  356. package/src/core/internal/_generated/contracts/TokenTransferLib.ts +4 -0
  357. package/src/core/internal/_snapshots/provider.browser.test.ts.snap +119 -0
  358. package/src/core/internal/_snapshots/provider.test.ts.snap +1103 -0
  359. package/src/core/internal/call.test.ts +116 -0
  360. package/src/core/internal/call.ts +245 -0
  361. package/src/core/internal/erc8010.test.ts +74 -0
  362. package/src/core/internal/erc8010.ts +44 -0
  363. package/src/core/internal/intersectionObserver.ts +5 -0
  364. package/src/core/internal/logger.ts +42 -0
  365. package/src/core/internal/mode.ts +498 -0
  366. package/src/core/internal/modes/dialog.ts +1051 -0
  367. package/src/core/internal/modes/reactNative.ts +29 -0
  368. package/src/core/internal/modes/relay.ts +893 -0
  369. package/src/core/internal/permissions.ts +43 -0
  370. package/src/core/internal/permissionsRequest.ts +88 -0
  371. package/src/core/internal/porto.ts +16 -0
  372. package/src/core/internal/promise.ts +19 -0
  373. package/src/core/internal/provider.browser.test.ts +311 -0
  374. package/src/core/internal/provider.test.ts +3552 -0
  375. package/src/core/internal/provider.ts +1277 -0
  376. package/src/core/internal/relay/rpcSchema.ts +101 -0
  377. package/src/core/internal/relay/schema/capabilities.test.ts +663 -0
  378. package/src/core/internal/relay/schema/capabilities.ts +156 -0
  379. package/src/core/internal/relay/schema/intent.test.ts +433 -0
  380. package/src/core/internal/relay/schema/intent.ts +174 -0
  381. package/src/core/internal/relay/schema/key.test.ts +424 -0
  382. package/src/core/internal/relay/schema/key.ts +34 -0
  383. package/src/core/internal/relay/schema/permission.test.ts +499 -0
  384. package/src/core/internal/relay/schema/permission.ts +34 -0
  385. package/src/core/internal/relay/schema/preCall.ts +39 -0
  386. package/src/core/internal/relay/schema/quotes.test.ts +901 -0
  387. package/src/core/internal/relay/schema/quotes.ts +98 -0
  388. package/src/core/internal/relay/schema/rpc.ts +822 -0
  389. package/src/core/internal/relay/schema/token.ts +16 -0
  390. package/src/core/internal/requiredFunds.test.ts +141 -0
  391. package/src/core/internal/requiredFunds.ts +45 -0
  392. package/src/core/internal/schema/capabilities.test.ts +1334 -0
  393. package/src/core/internal/schema/capabilities.ts +162 -0
  394. package/src/core/internal/schema/key.test.ts +570 -0
  395. package/src/core/internal/schema/key.ts +98 -0
  396. package/src/core/internal/schema/permissions.test.ts +948 -0
  397. package/src/core/internal/schema/permissions.ts +31 -0
  398. package/src/core/internal/schema/request.bench.ts +35 -0
  399. package/src/core/internal/schema/request.ts +90 -0
  400. package/src/core/internal/schema/rpc.ts +821 -0
  401. package/src/core/internal/schema/token.ts +1 -0
  402. package/src/core/internal/schema/utils.test.ts +572 -0
  403. package/src/core/internal/schema/utils.ts +236 -0
  404. package/src/core/internal/siwe.test.ts +473 -0
  405. package/src/core/internal/siwe.ts +144 -0
  406. package/src/core/internal/store.ts +9 -0
  407. package/src/core/internal/tokens.test.ts +317 -0
  408. package/src/core/internal/tokens.ts +125 -0
  409. package/src/core/internal/types.ts +448 -0
  410. package/src/core/internal/urlString.ts +5 -0
  411. package/src/core/internal/userAgent.ts +35 -0
  412. package/src/core/internal/utils.test.ts +35 -0
  413. package/src/core/internal/utils.ts +67 -0
  414. package/src/core/react-native/Porto.ts +22 -0
  415. package/src/core/react-native/configure.ts +31 -0
  416. package/src/core/react-native/environment.ts +43 -0
  417. package/src/core/react-native/index.ts +4 -0
  418. package/src/core/react-native/utils.ts +18 -0
  419. package/src/index.ts +17 -0
  420. package/src/internal/index.ts +3 -0
  421. package/src/react-native/crypto.ts +19 -0
  422. package/src/react-native/index.ts +15 -0
  423. package/src/react-native/register.ts +24 -0
  424. package/src/register/index.ts +17 -0
  425. package/src/remote/Actions.ts +115 -0
  426. package/src/remote/Events.ts +193 -0
  427. package/src/remote/Hooks.ts +194 -0
  428. package/src/remote/Porto.ts +144 -0
  429. package/src/remote/index.ts +4 -0
  430. package/src/remote/internal/methodPolicies.ts +124 -0
  431. package/src/server/Route.test.ts +347 -0
  432. package/src/server/Route.ts +259 -0
  433. package/src/server/Router.test.ts +32 -0
  434. package/src/server/Router.ts +59 -0
  435. package/src/server/index.ts +2 -0
  436. package/src/server/internal/merchantSchema.ts +11 -0
  437. package/src/server/internal/requestListener.ts +284 -0
  438. package/src/theme/Theme.ts +163 -0
  439. package/src/theme/index.ts +2 -0
  440. package/src/trusted-hosts.ts +40 -0
  441. package/src/tsconfig.build.tsbuildinfo +1 -0
  442. package/src/tsconfig.json +15 -0
  443. package/src/viem/Account.test.ts +270 -0
  444. package/src/viem/Account.ts +278 -0
  445. package/src/viem/AccountActions.test.ts +3 -0
  446. package/src/viem/AccountActions.ts +30 -0
  447. package/src/viem/CapabilitiesSchema.ts +18 -0
  448. package/src/viem/ContractActions.test.ts +980 -0
  449. package/src/viem/ContractActions.ts +624 -0
  450. package/src/viem/Key.test.ts +1420 -0
  451. package/src/viem/Key.ts +1318 -0
  452. package/src/viem/RelayActions.test.ts +1730 -0
  453. package/src/viem/RelayActions.ts +1082 -0
  454. package/src/viem/RelayClient.test.ts +127 -0
  455. package/src/viem/RelayClient.ts +87 -0
  456. package/src/viem/RpcSchema.ts +27 -0
  457. package/src/viem/WalletActions.test.ts +646 -0
  458. package/src/viem/WalletActions.ts +476 -0
  459. package/src/viem/WalletClient.test.ts +36 -0
  460. package/src/viem/WalletClient.ts +74 -0
  461. package/src/viem/index.ts +13 -0
  462. package/src/viem/internal/relayActions.test.ts +1296 -0
  463. package/src/viem/internal/relayActions.ts +1222 -0
  464. package/src/viem/internal/utils.ts +27 -0
  465. package/src/wagmi/Actions.ts +13 -0
  466. package/src/wagmi/Connector.ts +304 -0
  467. package/src/wagmi/Hooks.ts +14 -0
  468. package/src/wagmi/Query.ts +5 -0
  469. package/src/wagmi/index.ts +4 -0
  470. package/src/wagmi/internal/core.test.ts +12 -0
  471. package/src/wagmi/internal/core.ts +468 -0
  472. package/src/wagmi/internal/query.ts +52 -0
  473. package/src/wagmi/internal/react.test.ts +12 -0
  474. package/src/wagmi/internal/react.ts +705 -0
  475. package/src/wagmi/internal/types.ts +21 -0
  476. package/src/wagmi/internal/utils.ts +25 -0
  477. package/dist/chain.cjs +0 -17
  478. package/dist/chain.d.cts +0 -41
  479. package/dist/chain.d.ts +0 -41
  480. package/dist/chain.js +0 -13
  481. package/dist/config.cjs +0 -19
  482. package/dist/config.d.cts +0 -3
  483. package/dist/config.d.ts +0 -3
  484. package/dist/config.js +0 -16
  485. package/dist/index.cjs +0 -18
  486. package/dist/index.d.cts +0 -2
@@ -0,0 +1,385 @@
1
+ import * as Secp256k1 from 'ox/Secp256k1';
2
+ import { createClient, http, } from 'viem';
3
+ import * as Account from "./Account.js";
4
+ import * as RelayActions from "./internal/relayActions.js";
5
+ import * as Key from "./Key.js";
6
+ export { addFaucetFunds, getAssets, getAuthorization, getCallsStatus, getCapabilities, health, verifySignature, } from "./internal/relayActions.js";
7
+ /**
8
+ * Creates a new Porto Account using an ephemeral EOA.
9
+ *
10
+ * @example
11
+ * TODO
12
+ *
13
+ * @param client - Client.
14
+ * @param parameters - Parameters.
15
+ * @returns Result.
16
+ */
17
+ export async function createAccount(client, parameters) {
18
+ const account = Account.fromPrivateKey(Secp256k1.randomPrivateKey(), {
19
+ keys: parameters.authorizeKeys,
20
+ });
21
+ return await upgradeAccount(client, {
22
+ ...parameters,
23
+ account,
24
+ });
25
+ }
26
+ /**
27
+ * Gets the keys for an account.
28
+ *
29
+ * @example
30
+ * TODO
31
+ *
32
+ * @param client - Client.
33
+ * @param parameters - Parameters.
34
+ * @returns Account keys.
35
+ */
36
+ export async function getKeys(client, parameters) {
37
+ const { account = client.account, chainIds } = parameters;
38
+ const account_ = account ? Account.from(account) : undefined;
39
+ if (!account_)
40
+ throw new Error('account is required.');
41
+ const keys = await RelayActions.getKeys(client, {
42
+ address: account_.address,
43
+ chainIds,
44
+ });
45
+ return Object.entries(keys).flatMap(([chainId, keys]) => keys.map((key) => Key.fromRelay(key, { chainId: Number(chainId) })));
46
+ }
47
+ export async function getOnrampContactInfo(client, parameters) {
48
+ const { address, secret } = parameters;
49
+ return await RelayActions.getOnrampContactInfo(client, {
50
+ address,
51
+ secret,
52
+ });
53
+ }
54
+ export async function onrampStatus(client, parameters) {
55
+ const { address } = parameters;
56
+ return await RelayActions.onrampStatus(client, {
57
+ address,
58
+ });
59
+ }
60
+ /**
61
+ * Prepares the digest to sign over and fills the request to send a call bundle.
62
+ *
63
+ * @example
64
+ * TODO
65
+ *
66
+ * @param client - Client.
67
+ * @param parameters - Prepare call bundle parameters.
68
+ * @returns Prepared properties.
69
+ */
70
+ export async function prepareCalls(client, parameters) {
71
+ const { account = client.account, calls, chain = client.chain, feePayer, merchantUrl, nonce, preCalls, requiredFunds, revokeKeys, } = parameters;
72
+ const account_ = account ? Account.from(account) : undefined;
73
+ const key = parameters.key ??
74
+ (account_ ? Account.getKey(account_, { role: 'admin' }) : undefined);
75
+ const hasSessionKey = parameters.authorizeKeys?.some((x) => x.role === 'session');
76
+ const { contracts, fees: { tokens }, } = await RelayActions.getCapabilities(client, { chainId: chain?.id });
77
+ const orchestrator = hasSessionKey
78
+ ? contracts.orchestrator.address
79
+ : undefined;
80
+ const authorizeKeys = (parameters.authorizeKeys ?? []).map((key) => Key.toRelay(key, { feeTokens: tokens, orchestrator }));
81
+ // If a fee token is provided, use it.
82
+ // Otherwise, if there are spend permissions set, we cannot predictably
83
+ // infer the fee token (not pass it) as the fee token needs to have
84
+ // an assigned spend permission set. It is assumed that the first spend
85
+ // permission is the one that is used for the fee token.
86
+ const feeToken = (() => {
87
+ if (parameters.feeToken)
88
+ return parameters.feeToken;
89
+ return key?.permissions?.spend?.[0]?.token;
90
+ })();
91
+ const preCall = typeof preCalls === 'boolean' ? preCalls : false;
92
+ const signedPreCalls = typeof preCalls === 'object'
93
+ ? preCalls.map(({ context, signature }) => ({
94
+ ...context.preCall,
95
+ signature,
96
+ }))
97
+ : undefined;
98
+ const args = {
99
+ address: account_?.address,
100
+ calls: (calls ?? []),
101
+ capabilities: {
102
+ authorizeKeys,
103
+ meta: {
104
+ feePayer,
105
+ feeToken,
106
+ nonce,
107
+ },
108
+ preCall,
109
+ preCalls: signedPreCalls,
110
+ requiredFunds,
111
+ revokeKeys: revokeKeys?.map((key) => ({
112
+ hash: key.hash,
113
+ })),
114
+ },
115
+ chain: chain,
116
+ key: key ? Key.toRelay(key, { feeTokens: tokens }) : undefined,
117
+ };
118
+ const result = await (async () => {
119
+ if (merchantUrl) {
120
+ const client_ = createClient({
121
+ chain: client.chain,
122
+ transport: http(merchantUrl),
123
+ });
124
+ // Prepare with Merchant RPC.
125
+ return await RelayActions.prepareCalls(client_, args).catch((e) => {
126
+ console.error(e);
127
+ // Fall back to default client.
128
+ return RelayActions.prepareCalls(client, args);
129
+ });
130
+ }
131
+ return await RelayActions.prepareCalls(client, args);
132
+ })();
133
+ const { capabilities, context, digest, signature, typedData } = result;
134
+ if (merchantUrl) {
135
+ const isValid = await RelayActions.verifyPrepareCallsResponse(client, {
136
+ response: result._raw,
137
+ signature,
138
+ });
139
+ if (!isValid)
140
+ throw new Error(`cannot verify integrity of \`wallet_prepareCalls\` response from ${merchantUrl}`);
141
+ }
142
+ return {
143
+ capabilities: { ...capabilities, quote: context.quote },
144
+ context,
145
+ digest,
146
+ key,
147
+ typedData,
148
+ };
149
+ }
150
+ /**
151
+ * Prepares an account upgrade.
152
+ *
153
+ * @example
154
+ * TODO
155
+ *
156
+ * @param client - Client to use.
157
+ * @param parameters - Parameters.
158
+ * @returns Result.
159
+ */
160
+ export async function prepareUpgradeAccount(client, parameters) {
161
+ const { address, authorizeKeys: keys, chain = client.chain } = parameters;
162
+ if (!chain)
163
+ throw new Error('chain is required.');
164
+ const { contracts, fees: { tokens }, } = await RelayActions.getCapabilities(client, { chainId: chain.id });
165
+ const delegation = parameters.delegation ?? contracts.accountProxy.address;
166
+ const hasSessionKey = keys.some((x) => x.role === 'session');
167
+ const orchestrator = hasSessionKey
168
+ ? contracts.orchestrator.address
169
+ : undefined;
170
+ const authorizeKeys = keys.map((key) => {
171
+ const permissions = key.role === 'session' ? key.permissions : {};
172
+ return Key.toRelay({ ...key, permissions }, { feeTokens: tokens, orchestrator });
173
+ });
174
+ const { capabilities, chainId, context, digests, typedData } = await RelayActions.prepareUpgradeAccount(client, {
175
+ address,
176
+ authorizeKeys,
177
+ chain,
178
+ delegation,
179
+ });
180
+ const account = Account.from({
181
+ address,
182
+ keys,
183
+ });
184
+ return {
185
+ capabilities,
186
+ chainId,
187
+ context: {
188
+ ...context,
189
+ account,
190
+ },
191
+ digests,
192
+ typedData,
193
+ };
194
+ }
195
+ export async function resendVerifyPhone(client, parameters) {
196
+ const { phone, walletAddress } = parameters;
197
+ return await RelayActions.resendVerifyPhone(client, {
198
+ phone,
199
+ walletAddress,
200
+ });
201
+ }
202
+ /**
203
+ * Broadcasts a call bundle to the Relay.
204
+ *
205
+ * @example
206
+ * TODO
207
+ *
208
+ * @param client - Client.
209
+ * @param parameters - Parameters.
210
+ * @returns Bundle identifier.
211
+ */
212
+ export async function sendCalls(client, parameters) {
213
+ const { account = client.account, chain = client.chain, webAuthn, } = parameters;
214
+ if (!chain)
215
+ throw new Error('`chain` is required.');
216
+ // If no signature is provided, prepare the calls and sign them.
217
+ const account_ = account ? Account.from(account) : undefined;
218
+ if (!account_)
219
+ throw new Error('`account` is required.');
220
+ const key = parameters.key ?? Account.getKey(account_, parameters);
221
+ if (!key && !account_.sign)
222
+ throw new Error('`key` or `account` with `sign` is required');
223
+ // Prepare pre-calls.
224
+ const preCalls = await Promise.all((parameters.preCalls ?? []).map(async (pre) => {
225
+ if (pre.signature)
226
+ return pre;
227
+ const { authorizeKeys, key, calls, revokeKeys } = pre;
228
+ const { context, digest } = await prepareCalls(client, {
229
+ account: account_,
230
+ authorizeKeys,
231
+ calls,
232
+ chain,
233
+ feeToken: parameters.feeToken,
234
+ key,
235
+ preCalls: true,
236
+ revokeKeys,
237
+ });
238
+ const signature = await Key.sign(key, {
239
+ address: null,
240
+ payload: digest,
241
+ webAuthn,
242
+ });
243
+ return { context, signature };
244
+ }));
245
+ // Prepare main bundle.
246
+ const { capabilities, context, digest } = await prepareCalls(client, {
247
+ ...parameters,
248
+ account: account_,
249
+ chain,
250
+ key,
251
+ preCalls,
252
+ });
253
+ // Sign over the bundles.
254
+ const signature = await (async () => {
255
+ if (key)
256
+ return await Key.sign(key, {
257
+ address: null,
258
+ payload: digest,
259
+ webAuthn,
260
+ wrap: false,
261
+ });
262
+ return await account_.sign({
263
+ hash: digest,
264
+ });
265
+ })();
266
+ // Broadcast the bundle to the Relay.
267
+ return await sendPreparedCalls(client, {
268
+ capabilities: capabilities.feeSignature
269
+ ? {
270
+ feeSignature: capabilities.feeSignature,
271
+ }
272
+ : undefined,
273
+ context,
274
+ key,
275
+ signature,
276
+ });
277
+ }
278
+ export async function signCalls(request, options) {
279
+ const isPrecall = Boolean(request.context.preCall);
280
+ const { account, key } = options;
281
+ if (account) {
282
+ const keyIndex = account.keys?.findIndex((k) => k.publicKey === request.key?.publicKey);
283
+ if (keyIndex === -1)
284
+ throw new Error('key not found');
285
+ return await Account.sign(account, {
286
+ key: keyIndex,
287
+ payload: request.digest,
288
+ replaySafe: false,
289
+ wrap: isPrecall,
290
+ });
291
+ }
292
+ if (key)
293
+ return await Key.sign(key, {
294
+ address: null,
295
+ payload: request.digest,
296
+ wrap: isPrecall,
297
+ });
298
+ throw new Error('no key or account provided');
299
+ }
300
+ export async function sendPreparedCalls(client, parameters) {
301
+ const { capabilities, context, key, signature } = parameters;
302
+ return await RelayActions.sendPreparedCalls(client, {
303
+ capabilities,
304
+ context,
305
+ key: key ? Key.toRelay(key) : undefined,
306
+ signature,
307
+ });
308
+ }
309
+ export async function setEmail(client, parameters) {
310
+ const { email, walletAddress } = parameters;
311
+ return await RelayActions.setEmail(client, {
312
+ email,
313
+ walletAddress,
314
+ });
315
+ }
316
+ export async function setPhone(client, parameters) {
317
+ const { phone, walletAddress } = parameters;
318
+ return await RelayActions.setPhone(client, {
319
+ phone,
320
+ walletAddress,
321
+ });
322
+ }
323
+ export async function upgradeAccount(client, parameters) {
324
+ if (parameters.account) {
325
+ const { account } = parameters;
326
+ const authorizeKeys = [
327
+ ...(account.keys ?? []),
328
+ ...(parameters.authorizeKeys ?? []),
329
+ ].filter((key, index, array) => array.findIndex((k) => k.id === key.id) === index);
330
+ const { digests, ...request } = await prepareUpgradeAccount(client, {
331
+ ...parameters,
332
+ address: account.address,
333
+ authorizeKeys,
334
+ });
335
+ const signatures = {
336
+ auth: await account.sign({ hash: digests.auth }),
337
+ exec: await account.sign({ hash: digests.exec }),
338
+ };
339
+ return await upgradeAccount(client, {
340
+ ...request,
341
+ signatures,
342
+ });
343
+ }
344
+ const { context, signatures } = parameters;
345
+ const account = Account.from(context.account);
346
+ await RelayActions.upgradeAccount(client, {
347
+ context,
348
+ signatures,
349
+ });
350
+ return account;
351
+ }
352
+ export async function verifyEmail(client, parameters) {
353
+ const { chainId, email, signature, token, walletAddress } = parameters;
354
+ return await RelayActions.verifyEmail(client, {
355
+ chainId,
356
+ email,
357
+ signature,
358
+ token,
359
+ walletAddress,
360
+ });
361
+ }
362
+ export async function verifyPhone(client, parameters) {
363
+ const { code, phone, walletAddress } = parameters;
364
+ return await RelayActions.verifyPhone(client, {
365
+ code,
366
+ phone,
367
+ walletAddress,
368
+ });
369
+ }
370
+ export function decorator(client) {
371
+ return {
372
+ createAccount: (parameters) => createAccount(client, parameters),
373
+ getCallsStatus: (parameters) => RelayActions.getCallsStatus(client, parameters),
374
+ getCapabilities: () => RelayActions.getCapabilities(client),
375
+ getKeys: (parameters) => getKeys(client, parameters),
376
+ health: () => RelayActions.health(client),
377
+ prepareCalls: (parameters) => prepareCalls(client, parameters),
378
+ prepareUpgradeAccount: (parameters) => prepareUpgradeAccount(client, parameters),
379
+ sendCalls: (parameters) => sendCalls(client, parameters),
380
+ sendPreparedCalls: (parameters) => sendPreparedCalls(client, parameters),
381
+ upgradeAccount: (parameters) => upgradeAccount(client, parameters),
382
+ verifySignature: (parameters) => RelayActions.verifySignature(client, parameters),
383
+ };
384
+ }
385
+ //# sourceMappingURL=RelayActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelayActions.js","sourceRoot":"","sources":["../../src/viem/RelayActions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { type ClientConfig, type Client as viem_Client } from 'viem';
2
+ import type * as Chains from "../core/Chains.js";
3
+ import type { Internal } from "../core/internal/porto.js";
4
+ import * as Transport from "../core/Transport.js";
5
+ import type * as Account from "./Account.js";
6
+ import type * as RpcSchema from "./RpcSchema.js";
7
+ export type RelayClient<transport extends Transport.Transport = Transport.Transport, chain extends Chains.Chain = Chains.Chain, account extends Account.Account | undefined = Account.Account | undefined> = viem_Client<transport, chain, account, RpcSchema.Relay>;
8
+ /**
9
+ * Extracts a Viem Client from a Porto instance, and an optional chain ID.
10
+ * By default, the Client for the current chain ID will be extracted.
11
+ *
12
+ * @param porto - Porto instance.
13
+ * @param parameters - Parameters.
14
+ * @returns Client.
15
+ */
16
+ export declare function fromPorto<chains extends readonly [Chains.Chain, ...Chains.Chain[]], account extends Account.Account | undefined = undefined>(porto: {
17
+ _internal: Internal<chains>;
18
+ }, config?: fromPorto.Config<chains, account>): RelayClient<Transport.Transport, chains[number], account>;
19
+ export declare namespace fromPorto {
20
+ type Config<chains extends readonly [Chains.Chain, ...Chains.Chain[]] = readonly [
21
+ Chains.Chain,
22
+ ...Chains.Chain[]
23
+ ], account extends Account.Account | undefined = Account.Account | undefined> = Pick<ClientConfig<Transport.Transport, Chains.Chain | undefined, account>, 'account' | 'cacheTime' | 'key' | 'name' | 'pollingInterval'> & {
24
+ chainId?: chains[number]['id'] | undefined;
25
+ };
26
+ }
@@ -0,0 +1,44 @@
1
+ import * as Json from 'ox/Json';
2
+ import { createClient, fallback, http, } from 'viem';
3
+ import * as Transport from "../core/Transport.js";
4
+ const clientCache = new Map();
5
+ /**
6
+ * Extracts a Viem Client from a Porto instance, and an optional chain ID.
7
+ * By default, the Client for the current chain ID will be extracted.
8
+ *
9
+ * @param porto - Porto instance.
10
+ * @param parameters - Parameters.
11
+ * @returns Client.
12
+ */
13
+ export function fromPorto(porto, config = {}) {
14
+ const { config: config_, id, store } = porto._internal;
15
+ const { chains, relay } = config_;
16
+ const state = store.getState();
17
+ const chainId = config.chainId ?? state.chainIds[0];
18
+ const chain = chains.find((chain) => chain.id === chainId);
19
+ if (!chain)
20
+ throw new Error([
21
+ 'Could not find a compatible Porto chain on the given chain configuration.',
22
+ '',
23
+ `Provided chains: [${chains.map((chain) => `${chain.name} (id: ${chain.id})`).join(', ')}]`,
24
+ `Needed chain (id): ${chainId}`,
25
+ 'Please add this chain (id) to your chain configuration.',
26
+ ].join('\n'));
27
+ const transport = Transport.relayProxy({
28
+ public: config_.transports[chain.id] ??
29
+ fallback(chain.rpcUrls.default.http.map((url) => http(url))),
30
+ relay,
31
+ });
32
+ const key = [id, Json.stringify(chain)].filter(Boolean).join(':');
33
+ if (clientCache.has(key))
34
+ return clientCache.get(key);
35
+ const client = createClient({
36
+ ...config,
37
+ chain,
38
+ pollingInterval: 1_000,
39
+ transport,
40
+ });
41
+ clientCache.set(key, client);
42
+ return client;
43
+ }
44
+ //# sourceMappingURL=RelayClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelayClient.js","sourceRoot":"","sources":["../../src/viem/RelayClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,SAAS,CAAA;AAC/B,OAAO,EAEL,YAAY,EACZ,QAAQ,EACR,IAAI,GAEL,MAAM,MAAM,CAAA;AAGb,OAAO,KAAK,SAAS,6BAA4B;AAUjD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAe,CAAA;AAE1C;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CAIvB,KAAsC,EACtC,SAA4C,EAAE;IAE9C,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,SAAS,CAAA;IACtD,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAA;IAEjC,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAA;IAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IACnD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,CAAA;IAC1D,IAAI,CAAC,KAAK;QACR,MAAM,IAAI,KAAK,CACb;YACE,2EAA2E;YAC3E,EAAE;YACF,qBAAqB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YAC3F,sBAAsB,OAAO,EAAE;YAC/B,yDAAyD;SAC1D,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAA;IAEH,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC;QACrC,MAAM,EACH,OAAO,CAAC,UAAkD,CAAC,KAAK,CAAC,EAAE,CAAC;YACrE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9D,KAAK;KACN,CAAC,CAAA;IAEF,MAAM,GAAG,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACjE,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,WAAW,CAAC,GAAG,CAAC,GAAG,CAAE,CAAA;IACtD,MAAM,MAAM,GAAG,YAAY,CAAC;QAC1B,GAAG,MAAM;QACT,KAAK;QACL,eAAe,EAAE,KAAK;QACtB,SAAS;KACV,CAAC,CAAA;IACF,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IAC5B,OAAO,MAAe,CAAA;AACxB,CAAC"}
@@ -0,0 +1,22 @@
1
+ import type * as RpcSchema_ox from 'ox/RpcSchema';
2
+ import type { PublicRpcSchema } from 'viem';
3
+ import type { Schema as Schema_relay } from "../core/internal/relay/rpcSchema.js";
4
+ import type { UnionToTuple } from "../core/internal/types.js";
5
+ import type { Schema } from "../core/RpcSchema.js";
6
+ export type Relay = [...PublicRpcSchema, ...ToViem<Schema_relay>];
7
+ export type Wallet = [
8
+ ...PublicRpcSchema,
9
+ ...ToViem<Exclude<Schema, RpcSchema_ox.Eth>>
10
+ ];
11
+ type ToViem<schema extends RpcSchema_ox.Generic> = UnionToTuple<schema> extends [
12
+ infer head extends RpcSchema_ox.Generic,
13
+ ...infer tail extends RpcSchema_ox.Generic[]
14
+ ] ? [
15
+ {
16
+ Method: head['Request']['method'];
17
+ Parameters: head['Request']['params'];
18
+ ReturnType: head['ReturnType'];
19
+ },
20
+ ...ToViem<tail[number]>
21
+ ] : [];
22
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=RpcSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RpcSchema.js","sourceRoot":"","sources":["../../src/viem/RpcSchema.ts"],"names":[],"mappings":""}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Porto Wallet Actions.
3
+ *
4
+ * Note: These Actions will eventually be upstreamed into `viem` once an
5
+ * API is solidified & stable.
6
+ */
7
+ import { type Calls, type Chain, type Client, type Narrow, type PrivateKeyAccount, type Transport, type WalletActions as viem_WalletActions } from 'viem';
8
+ import * as RpcSchema from "../core/RpcSchema.js";
9
+ import * as Account from "./Account.js";
10
+ import type { GetAccountParameter } from "./internal/utils.js";
11
+ declare const supportedWalletActions: ["getAddresses", "getCallsStatus", "getCapabilities", "getChainId", "requestAddresses", "sendCalls", "showCallsStatus", "signMessage", "signTypedData", "showCallsStatus", "waitForCallsStatus", "writeContract"];
12
+ export declare function addFunds(client: Client, parameters: addFunds.Parameters): Promise<addFunds.ReturnType>;
13
+ export declare namespace addFunds {
14
+ type Parameters = RpcSchema.wallet_addFunds.Parameters;
15
+ type ReturnType = RpcSchema.wallet_addFunds.Response;
16
+ }
17
+ export declare function getAssets<chain extends Chain | undefined, account extends Account.Account | undefined>(client: Client<Transport, chain, account>, ...parameters: account extends undefined ? [getAssets.Parameters<account>] : [getAssets.Parameters<account>] | []): Promise<getAssets.ReturnType>;
18
+ export declare namespace getAssets {
19
+ type Parameters<account extends Account.Account | undefined = undefined> = Omit<RpcSchema.wallet_getAssets.Parameters, 'account'> & GetAccountParameter<account>;
20
+ type ReturnType = RpcSchema.wallet_getAssets.Response;
21
+ }
22
+ export declare function connect(client: Client, parameters?: connect.Parameters): Promise<connect.ReturnType>;
23
+ export declare namespace connect {
24
+ type Parameters = RpcSchema.wallet_connect.Capabilities & Omit<RpcSchema.wallet_connect.Parameters, 'capabilities'>;
25
+ type ReturnType = RpcSchema.wallet_connect.Response;
26
+ }
27
+ export declare function disconnect(client: Client): Promise<void>;
28
+ export declare function getAdmins(client: Client, parameters?: getAdmins.Parameters): Promise<getAdmins.ReturnType>;
29
+ export declare namespace getAdmins {
30
+ type Parameters = RpcSchema.wallet_getAdmins.Parameters;
31
+ type ReturnType = RpcSchema.wallet_getAdmins.Response;
32
+ }
33
+ export declare function getPermissions(client: Client, parameters?: getPermissions.Parameters): Promise<getPermissions.ReturnType>;
34
+ export declare namespace getPermissions {
35
+ type Parameters = RpcSchema.wallet_getPermissions.Parameters;
36
+ type ReturnType = RpcSchema.wallet_getPermissions.Response;
37
+ }
38
+ export declare function grantAdmin(client: Client, parameters: grantAdmin.Parameters): Promise<grantAdmin.ReturnType>;
39
+ export declare namespace grantAdmin {
40
+ type Parameters = RpcSchema.wallet_grantAdmin.Capabilities & Omit<RpcSchema.wallet_grantAdmin.Parameters, 'capabilities'>;
41
+ type ReturnType = RpcSchema.wallet_grantAdmin.Response;
42
+ }
43
+ export declare function grantPermissions(client: Client, parameters: grantPermissions.Parameters): Promise<grantPermissions.ReturnType>;
44
+ export declare namespace grantPermissions {
45
+ type Parameters = RpcSchema.wallet_grantPermissions.Parameters;
46
+ type ReturnType = RpcSchema.wallet_grantPermissions.Response;
47
+ }
48
+ export declare function prepareCalls<const calls extends readonly unknown[] = readonly unknown[]>(client: Client, parameters: prepareCalls.Parameters<calls>): Promise<prepareCalls.ReturnType>;
49
+ export declare namespace prepareCalls {
50
+ type Parameters<calls extends readonly unknown[] = readonly unknown[]> = Omit<RpcSchema.wallet_prepareCalls.Parameters, 'calls'> & {
51
+ calls?: Calls<Narrow<calls>> | undefined;
52
+ };
53
+ type ReturnType = RpcSchema.wallet_prepareCalls.Response;
54
+ }
55
+ export declare function revokeAdmin(client: Client, parameters: revokeAdmin.Parameters): Promise<undefined>;
56
+ export declare namespace revokeAdmin {
57
+ type Parameters = RpcSchema.wallet_revokeAdmin.Parameters;
58
+ }
59
+ export declare function revokePermissions(client: Client, parameters: revokePermissions.Parameters): Promise<undefined>;
60
+ export declare namespace revokePermissions {
61
+ type Parameters = RpcSchema.wallet_revokePermissions.Capabilities & Omit<RpcSchema.wallet_revokePermissions.Parameters, 'capabilities'>;
62
+ }
63
+ export declare function sendPreparedCalls(client: Client, parameters: sendPreparedCalls.Parameters): Promise<sendPreparedCalls.ReturnType>;
64
+ export declare namespace sendPreparedCalls {
65
+ type Parameters = RpcSchema.wallet_sendPreparedCalls.Parameters;
66
+ type ReturnType = RpcSchema.wallet_sendPreparedCalls.Response;
67
+ }
68
+ export declare function upgradeAccount(client: Client, parameters: upgradeAccount.Parameters): Promise<upgradeAccount.ReturnType>;
69
+ export declare namespace upgradeAccount {
70
+ type Parameters = RpcSchema.wallet_prepareUpgradeAccount.Capabilities & Omit<RpcSchema.wallet_prepareUpgradeAccount.Parameters, 'address' | 'capabilities'> & {
71
+ account: PrivateKeyAccount | Account.Account;
72
+ };
73
+ type ReturnType = RpcSchema.wallet_upgradeAccount.Response;
74
+ }
75
+ export type Decorator<chain extends Chain | undefined = Chain | undefined, account extends Account.Account | undefined = Account.Account | undefined> = Pick<viem_WalletActions<chain, account>, (typeof supportedWalletActions)[number]> & {
76
+ connect: (parameters: connect.Parameters) => Promise<connect.ReturnType>;
77
+ disconnect: () => Promise<void>;
78
+ getPermissions: (parameters: getPermissions.Parameters) => Promise<getPermissions.ReturnType>;
79
+ grantPermissions: (parameters: grantPermissions.Parameters) => Promise<grantPermissions.ReturnType>;
80
+ prepareCalls: (parameters: prepareCalls.Parameters) => Promise<prepareCalls.ReturnType>;
81
+ revokePermissions: (parameters: revokePermissions.Parameters) => Promise<void>;
82
+ sendPreparedCalls: (parameters: sendPreparedCalls.Parameters) => Promise<sendPreparedCalls.ReturnType>;
83
+ upgradeAccount: (parameters: upgradeAccount.Parameters) => Promise<upgradeAccount.ReturnType>;
84
+ };
85
+ export declare function decorator<chain extends Chain | undefined, account extends Account.Account | undefined>(client: Client<Transport, chain, account>): Decorator<chain, account>;
86
+ export {};