rise-wallet 0.1.4-beta.2 → 0.2.29

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 (738) hide show
  1. package/README.md +64 -34
  2. package/dist/cli/Dialog.d.ts +35 -0
  3. package/dist/cli/Dialog.d.ts.map +1 -0
  4. package/dist/cli/Dialog.js +60 -0
  5. package/dist/cli/Dialog.js.map +1 -0
  6. package/dist/cli/Messenger.d.ts +8 -0
  7. package/dist/cli/Messenger.d.ts.map +1 -0
  8. package/dist/cli/Messenger.js +123 -0
  9. package/dist/cli/Messenger.js.map +1 -0
  10. package/dist/cli/bin/commands-o468kGU4.js +50 -0
  11. package/dist/cli/bin/index.js +9 -0
  12. package/dist/cli/index.d.ts +3 -0
  13. package/dist/cli/index.d.ts.map +1 -0
  14. package/dist/cli/index.js +3 -0
  15. package/dist/cli/index.js.map +1 -0
  16. package/dist/cli/internal/commands.d.ts +13 -0
  17. package/dist/cli/internal/commands.d.ts.map +1 -0
  18. package/dist/cli/internal/commands.js +180 -0
  19. package/dist/cli/internal/commands.js.map +1 -0
  20. package/dist/cli/internal/context.d.ts +521 -0
  21. package/dist/cli/internal/context.d.ts.map +1 -0
  22. package/dist/cli/internal/context.js +38 -0
  23. package/dist/cli/internal/context.js.map +1 -0
  24. package/dist/cli/internal/http.d.ts +7 -0
  25. package/dist/cli/internal/http.d.ts.map +1 -0
  26. package/dist/cli/internal/http.js +17 -0
  27. package/dist/cli/internal/http.js.map +1 -0
  28. package/dist/cli/internal/utils.d.ts +7 -0
  29. package/dist/cli/internal/utils.d.ts.map +1 -0
  30. package/dist/cli/internal/utils.js +24 -0
  31. package/dist/cli/internal/utils.js.map +1 -0
  32. package/dist/core/Chains.d.ts +211 -0
  33. package/dist/core/Chains.d.ts.map +1 -0
  34. package/dist/core/Chains.js +20 -0
  35. package/dist/core/Chains.js.map +1 -0
  36. package/dist/core/Dialog.d.ts +308 -0
  37. package/dist/core/Dialog.d.ts.map +1 -0
  38. package/dist/core/Dialog.js +809 -0
  39. package/dist/core/Dialog.js.map +1 -0
  40. package/dist/core/Messenger.d.ts +165 -0
  41. package/dist/core/Messenger.d.ts.map +1 -0
  42. package/dist/core/Messenger.js +207 -0
  43. package/dist/core/Messenger.js.map +1 -0
  44. package/dist/core/Mode.d.ts +5 -0
  45. package/dist/core/Mode.d.ts.map +1 -0
  46. package/dist/core/Mode.js +5 -0
  47. package/dist/core/Mode.js.map +1 -0
  48. package/dist/core/Porto.d.ts +1609 -0
  49. package/dist/core/Porto.d.ts.map +1 -0
  50. package/dist/core/Porto.js +105 -0
  51. package/dist/core/Porto.js.map +1 -0
  52. package/dist/core/RpcSchema.d.ts +82 -0
  53. package/dist/core/RpcSchema.d.ts.map +1 -0
  54. package/dist/core/RpcSchema.js +2 -0
  55. package/dist/core/RpcSchema.js.map +1 -0
  56. package/dist/core/Storage.d.ts +15 -0
  57. package/dist/core/Storage.d.ts.map +1 -0
  58. package/dist/core/Storage.js +109 -0
  59. package/dist/core/Storage.js.map +1 -0
  60. package/dist/core/Transport.d.ts +23 -0
  61. package/dist/core/Transport.d.ts.map +1 -0
  62. package/dist/core/Transport.js +37 -0
  63. package/dist/core/Transport.js.map +1 -0
  64. package/dist/core/internal/_generated/chains.d.ts +2 -0
  65. package/dist/core/internal/_generated/chains.d.ts.map +1 -0
  66. package/dist/core/internal/_generated/chains.js +3 -0
  67. package/dist/core/internal/_generated/chains.js.map +1 -0
  68. package/dist/core/internal/_generated/contracts/EIP7702Proxy.d.ts +18 -0
  69. package/dist/core/internal/_generated/contracts/EIP7702Proxy.d.ts.map +1 -0
  70. package/dist/core/internal/_generated/contracts/EIP7702Proxy.js +24 -0
  71. package/dist/core/internal/_generated/contracts/EIP7702Proxy.js.map +1 -0
  72. package/dist/core/internal/_generated/contracts/Escrow.d.ts +256 -0
  73. package/dist/core/internal/_generated/contracts/Escrow.d.ts.map +1 -0
  74. package/dist/core/internal/_generated/contracts/Escrow.js +329 -0
  75. package/dist/core/internal/_generated/contracts/Escrow.js.map +1 -0
  76. package/dist/core/internal/_generated/contracts/ExperimentERC20.d.ts +440 -0
  77. package/dist/core/internal/_generated/contracts/ExperimentERC20.d.ts.map +1 -0
  78. package/dist/core/internal/_generated/contracts/ExperimentERC20.js +568 -0
  79. package/dist/core/internal/_generated/contracts/ExperimentERC20.js.map +1 -0
  80. package/dist/core/internal/_generated/contracts/ExperimentERC721.d.ts +456 -0
  81. package/dist/core/internal/_generated/contracts/ExperimentERC721.d.ts.map +1 -0
  82. package/dist/core/internal/_generated/contracts/ExperimentERC721.js +587 -0
  83. package/dist/core/internal/_generated/contracts/ExperimentERC721.js.map +1 -0
  84. package/dist/core/internal/_generated/contracts/GuardedExecutor.d.ts +482 -0
  85. package/dist/core/internal/_generated/contracts/GuardedExecutor.d.ts.map +1 -0
  86. package/dist/core/internal/_generated/contracts/GuardedExecutor.js +622 -0
  87. package/dist/core/internal/_generated/contracts/GuardedExecutor.js.map +1 -0
  88. package/dist/core/internal/_generated/contracts/ICallChecker.d.ts +25 -0
  89. package/dist/core/internal/_generated/contracts/ICallChecker.d.ts.map +1 -0
  90. package/dist/core/internal/_generated/contracts/ICallChecker.js +33 -0
  91. package/dist/core/internal/_generated/contracts/ICallChecker.js.map +1 -0
  92. package/dist/core/internal/_generated/contracts/ICommon.d.ts +3 -0
  93. package/dist/core/internal/_generated/contracts/ICommon.d.ts.map +1 -0
  94. package/dist/core/internal/_generated/contracts/ICommon.js +3 -0
  95. package/dist/core/internal/_generated/contracts/ICommon.js.map +1 -0
  96. package/dist/core/internal/_generated/contracts/IEscrow.d.ts +88 -0
  97. package/dist/core/internal/_generated/contracts/IEscrow.d.ts.map +1 -0
  98. package/dist/core/internal/_generated/contracts/IEscrow.js +113 -0
  99. package/dist/core/internal/_generated/contracts/IEscrow.js.map +1 -0
  100. package/dist/core/internal/_generated/contracts/IFunder.d.ts +61 -0
  101. package/dist/core/internal/_generated/contracts/IFunder.d.ts.map +1 -0
  102. package/dist/core/internal/_generated/contracts/IFunder.js +79 -0
  103. package/dist/core/internal/_generated/contracts/IFunder.js.map +1 -0
  104. package/dist/core/internal/_generated/contracts/IFunderV4.d.ts +34 -0
  105. package/dist/core/internal/_generated/contracts/IFunderV4.d.ts.map +1 -0
  106. package/dist/core/internal/_generated/contracts/IFunderV4.js +44 -0
  107. package/dist/core/internal/_generated/contracts/IFunderV4.js.map +1 -0
  108. package/dist/core/internal/_generated/contracts/IIthacaAccount.d.ts +81 -0
  109. package/dist/core/internal/_generated/contracts/IIthacaAccount.d.ts.map +1 -0
  110. package/dist/core/internal/_generated/contracts/IIthacaAccount.js +106 -0
  111. package/dist/core/internal/_generated/contracts/IIthacaAccount.js.map +1 -0
  112. package/dist/core/internal/_generated/contracts/IOAppCore.d.ts +108 -0
  113. package/dist/core/internal/_generated/contracts/IOAppCore.d.ts.map +1 -0
  114. package/dist/core/internal/_generated/contracts/IOAppCore.js +141 -0
  115. package/dist/core/internal/_generated/contracts/IOAppCore.js.map +1 -0
  116. package/dist/core/internal/_generated/contracts/IOAppMsgInspector.d.ts +33 -0
  117. package/dist/core/internal/_generated/contracts/IOAppMsgInspector.d.ts.map +1 -0
  118. package/dist/core/internal/_generated/contracts/IOAppMsgInspector.js +44 -0
  119. package/dist/core/internal/_generated/contracts/IOAppMsgInspector.js.map +1 -0
  120. package/dist/core/internal/_generated/contracts/IOAppReceiver.d.ts +122 -0
  121. package/dist/core/internal/_generated/contracts/IOAppReceiver.d.ts.map +1 -0
  122. package/dist/core/internal/_generated/contracts/IOAppReceiver.js +160 -0
  123. package/dist/core/internal/_generated/contracts/IOAppReceiver.js.map +1 -0
  124. package/dist/core/internal/_generated/contracts/IOrchestrator.d.ts +71 -0
  125. package/dist/core/internal/_generated/contracts/IOrchestrator.d.ts.map +1 -0
  126. package/dist/core/internal/_generated/contracts/IOrchestrator.js +94 -0
  127. package/dist/core/internal/_generated/contracts/IOrchestrator.js.map +1 -0
  128. package/dist/core/internal/_generated/contracts/ISettler.d.ts +39 -0
  129. package/dist/core/internal/_generated/contracts/ISettler.d.ts.map +1 -0
  130. package/dist/core/internal/_generated/contracts/ISettler.js +51 -0
  131. package/dist/core/internal/_generated/contracts/ISettler.js.map +1 -0
  132. package/dist/core/internal/_generated/contracts/ISigner.d.ts +25 -0
  133. package/dist/core/internal/_generated/contracts/ISigner.d.ts.map +1 -0
  134. package/dist/core/internal/_generated/contracts/ISigner.js +33 -0
  135. package/dist/core/internal/_generated/contracts/ISigner.js.map +1 -0
  136. package/dist/core/internal/_generated/contracts/IthacaAccount.d.ts +1121 -0
  137. package/dist/core/internal/_generated/contracts/IthacaAccount.d.ts.map +1 -0
  138. package/dist/core/internal/_generated/contracts/IthacaAccount.js +1453 -0
  139. package/dist/core/internal/_generated/contracts/IthacaAccount.js.map +1 -0
  140. package/dist/core/internal/_generated/contracts/IthacaAccountNew.d.ts +1121 -0
  141. package/dist/core/internal/_generated/contracts/IthacaAccountNew.d.ts.map +1 -0
  142. package/dist/core/internal/_generated/contracts/IthacaAccountNew.js +1453 -0
  143. package/dist/core/internal/_generated/contracts/IthacaAccountNew.js.map +1 -0
  144. package/dist/core/internal/_generated/contracts/IthacaAccountOld.d.ts +1121 -0
  145. package/dist/core/internal/_generated/contracts/IthacaAccountOld.d.ts.map +1 -0
  146. package/dist/core/internal/_generated/contracts/IthacaAccountOld.js +1453 -0
  147. package/dist/core/internal/_generated/contracts/IthacaAccountOld.js.map +1 -0
  148. package/dist/core/internal/_generated/contracts/LayerZeroSettler.d.ts +621 -0
  149. package/dist/core/internal/_generated/contracts/LayerZeroSettler.d.ts.map +1 -0
  150. package/dist/core/internal/_generated/contracts/LayerZeroSettler.js +810 -0
  151. package/dist/core/internal/_generated/contracts/LayerZeroSettler.js.map +1 -0
  152. package/dist/core/internal/_generated/contracts/LibNonce.d.ts +11 -0
  153. package/dist/core/internal/_generated/contracts/LibNonce.d.ts.map +1 -0
  154. package/dist/core/internal/_generated/contracts/LibNonce.js +14 -0
  155. package/dist/core/internal/_generated/contracts/LibNonce.js.map +1 -0
  156. package/dist/core/internal/_generated/contracts/LibTStack.d.ts +3 -0
  157. package/dist/core/internal/_generated/contracts/LibTStack.d.ts.map +1 -0
  158. package/dist/core/internal/_generated/contracts/LibTStack.js +3 -0
  159. package/dist/core/internal/_generated/contracts/LibTStack.js.map +1 -0
  160. package/dist/core/internal/_generated/contracts/MultiSigSigner.d.ts +157 -0
  161. package/dist/core/internal/_generated/contracts/MultiSigSigner.d.ts.map +1 -0
  162. package/dist/core/internal/_generated/contracts/MultiSigSigner.js +202 -0
  163. package/dist/core/internal/_generated/contracts/MultiSigSigner.js.map +1 -0
  164. package/dist/core/internal/_generated/contracts/OApp.d.ts +314 -0
  165. package/dist/core/internal/_generated/contracts/OApp.d.ts.map +1 -0
  166. package/dist/core/internal/_generated/contracts/OApp.js +411 -0
  167. package/dist/core/internal/_generated/contracts/OApp.js.map +1 -0
  168. package/dist/core/internal/_generated/contracts/OAppCore.d.ts +175 -0
  169. package/dist/core/internal/_generated/contracts/OAppCore.d.ts.map +1 -0
  170. package/dist/core/internal/_generated/contracts/OAppCore.js +228 -0
  171. package/dist/core/internal/_generated/contracts/OAppCore.js.map +1 -0
  172. package/dist/core/internal/_generated/contracts/OAppReceiver.d.ts +302 -0
  173. package/dist/core/internal/_generated/contracts/OAppReceiver.d.ts.map +1 -0
  174. package/dist/core/internal/_generated/contracts/OAppReceiver.js +395 -0
  175. package/dist/core/internal/_generated/contracts/OAppReceiver.js.map +1 -0
  176. package/dist/core/internal/_generated/contracts/OAppSender.d.ts +187 -0
  177. package/dist/core/internal/_generated/contracts/OAppSender.d.ts.map +1 -0
  178. package/dist/core/internal/_generated/contracts/OAppSender.js +244 -0
  179. package/dist/core/internal/_generated/contracts/OAppSender.js.map +1 -0
  180. package/dist/core/internal/_generated/contracts/Orchestrator.d.ts +302 -0
  181. package/dist/core/internal/_generated/contracts/Orchestrator.d.ts.map +1 -0
  182. package/dist/core/internal/_generated/contracts/Orchestrator.js +389 -0
  183. package/dist/core/internal/_generated/contracts/Orchestrator.js.map +1 -0
  184. package/dist/core/internal/_generated/contracts/SimpleFunder.d.ts +413 -0
  185. package/dist/core/internal/_generated/contracts/SimpleFunder.d.ts.map +1 -0
  186. package/dist/core/internal/_generated/contracts/SimpleFunder.js +533 -0
  187. package/dist/core/internal/_generated/contracts/SimpleFunder.js.map +1 -0
  188. package/dist/core/internal/_generated/contracts/SimpleSettler.d.ts +280 -0
  189. package/dist/core/internal/_generated/contracts/SimpleSettler.d.ts.map +1 -0
  190. package/dist/core/internal/_generated/contracts/SimpleSettler.js +359 -0
  191. package/dist/core/internal/_generated/contracts/SimpleSettler.js.map +1 -0
  192. package/dist/core/internal/_generated/contracts/Simulator.d.ts +131 -0
  193. package/dist/core/internal/_generated/contracts/Simulator.d.ts.map +1 -0
  194. package/dist/core/internal/_generated/contracts/Simulator.js +169 -0
  195. package/dist/core/internal/_generated/contracts/Simulator.js.map +1 -0
  196. package/dist/core/internal/_generated/contracts/TokenTransferLib.d.ts +3 -0
  197. package/dist/core/internal/_generated/contracts/TokenTransferLib.d.ts.map +1 -0
  198. package/dist/core/internal/_generated/contracts/TokenTransferLib.js +3 -0
  199. package/dist/core/internal/_generated/contracts/TokenTransferLib.js.map +1 -0
  200. package/dist/core/internal/call.d.ts +164 -0
  201. package/dist/core/internal/call.d.ts.map +1 -0
  202. package/dist/core/internal/call.js +115 -0
  203. package/dist/core/internal/call.js.map +1 -0
  204. package/dist/core/internal/erc8010.d.ts +18 -0
  205. package/dist/core/internal/erc8010.d.ts.map +1 -0
  206. package/dist/core/internal/erc8010.js +29 -0
  207. package/dist/core/internal/erc8010.js.map +1 -0
  208. package/dist/core/internal/intersectionObserver.d.ts +2 -0
  209. package/dist/core/internal/intersectionObserver.d.ts.map +1 -0
  210. package/dist/core/internal/intersectionObserver.js +5 -0
  211. package/dist/core/internal/intersectionObserver.js.map +1 -0
  212. package/dist/core/internal/logger.d.ts +22 -0
  213. package/dist/core/internal/logger.d.ts.map +1 -0
  214. package/dist/core/internal/logger.js +24 -0
  215. package/dist/core/internal/logger.js.map +1 -0
  216. package/dist/core/internal/mode.d.ts +345 -0
  217. package/dist/core/internal/mode.d.ts.map +1 -0
  218. package/dist/core/internal/mode.js +110 -0
  219. package/dist/core/internal/mode.js.map +1 -0
  220. package/dist/core/internal/modes/dialog.d.ts +800 -0
  221. package/dist/core/internal/modes/dialog.d.ts.map +1 -0
  222. package/dist/core/internal/modes/dialog.js +760 -0
  223. package/dist/core/internal/modes/dialog.js.map +1 -0
  224. package/dist/core/internal/modes/reactNative.d.ts +1402 -0
  225. package/dist/core/internal/modes/reactNative.d.ts.map +1 -0
  226. package/dist/core/internal/modes/reactNative.js +19 -0
  227. package/dist/core/internal/modes/reactNative.js.map +1 -0
  228. package/dist/core/internal/modes/relay.d.ts +685 -0
  229. package/dist/core/internal/modes/relay.d.ts.map +1 -0
  230. package/dist/core/internal/modes/relay.js +708 -0
  231. package/dist/core/internal/modes/relay.js.map +1 -0
  232. package/dist/core/internal/permissions.d.ts +60 -0
  233. package/dist/core/internal/permissions.d.ts.map +1 -0
  234. package/dist/core/internal/permissions.js +30 -0
  235. package/dist/core/internal/permissions.js.map +1 -0
  236. package/dist/core/internal/permissionsRequest.d.ts +72 -0
  237. package/dist/core/internal/permissionsRequest.d.ts.map +1 -0
  238. package/dist/core/internal/permissionsRequest.js +58 -0
  239. package/dist/core/internal/permissionsRequest.js.map +1 -0
  240. package/dist/core/internal/porto.d.ts +14 -0
  241. package/dist/core/internal/porto.d.ts.map +1 -0
  242. package/dist/core/internal/porto.js +2 -0
  243. package/dist/core/internal/porto.js.map +1 -0
  244. package/dist/core/internal/promise.d.ts +9 -0
  245. package/dist/core/internal/promise.d.ts.map +1 -0
  246. package/dist/core/internal/promise.js +11 -0
  247. package/dist/core/internal/promise.js.map +1 -0
  248. package/dist/core/internal/provider.d.ts +30 -0
  249. package/dist/core/internal/provider.d.ts.map +1 -0
  250. package/dist/core/internal/provider.js +944 -0
  251. package/dist/core/internal/provider.js.map +1 -0
  252. package/dist/core/internal/relay/rpcSchema.d.ts +76 -0
  253. package/dist/core/internal/relay/rpcSchema.d.ts.map +1 -0
  254. package/dist/core/internal/relay/rpcSchema.js +7 -0
  255. package/dist/core/internal/relay/rpcSchema.js.map +1 -0
  256. package/dist/core/internal/relay/schema/capabilities.d.ts +165 -0
  257. package/dist/core/internal/relay/schema/capabilities.d.ts.map +1 -0
  258. package/dist/core/internal/relay/schema/capabilities.js +112 -0
  259. package/dist/core/internal/relay/schema/capabilities.js.map +1 -0
  260. package/dist/core/internal/relay/schema/intent.d.ts +168 -0
  261. package/dist/core/internal/relay/schema/intent.d.ts.map +1 -0
  262. package/dist/core/internal/relay/schema/intent.js +170 -0
  263. package/dist/core/internal/relay/schema/intent.js.map +1 -0
  264. package/dist/core/internal/relay/schema/key.d.ts +44 -0
  265. package/dist/core/internal/relay/schema/key.d.ts.map +1 -0
  266. package/dist/core/internal/relay/schema/key.js +30 -0
  267. package/dist/core/internal/relay/schema/key.js.map +1 -0
  268. package/dist/core/internal/relay/schema/permission.d.ts +40 -0
  269. package/dist/core/internal/relay/schema/permission.d.ts.map +1 -0
  270. package/dist/core/internal/relay/schema/permission.js +29 -0
  271. package/dist/core/internal/relay/schema/permission.js.map +1 -0
  272. package/dist/core/internal/relay/schema/preCall.d.ts +63 -0
  273. package/dist/core/internal/relay/schema/preCall.d.ts.map +1 -0
  274. package/dist/core/internal/relay/schema/preCall.js +36 -0
  275. package/dist/core/internal/relay/schema/preCall.js.map +1 -0
  276. package/dist/core/internal/relay/schema/quotes.d.ts +370 -0
  277. package/dist/core/internal/relay/schema/quotes.d.ts.map +1 -0
  278. package/dist/core/internal/relay/schema/quotes.js +89 -0
  279. package/dist/core/internal/relay/schema/quotes.js.map +1 -0
  280. package/dist/core/internal/relay/schema/rpc.d.ts +1529 -0
  281. package/dist/core/internal/relay/schema/rpc.d.ts.map +1 -0
  282. package/dist/core/internal/relay/schema/rpc.js +638 -0
  283. package/dist/core/internal/relay/schema/rpc.js.map +1 -0
  284. package/dist/core/internal/relay/schema/token.d.ts +14 -0
  285. package/dist/core/internal/relay/schema/token.d.ts.map +1 -0
  286. package/dist/core/internal/relay/schema/token.js +13 -0
  287. package/dist/core/internal/relay/schema/token.js.map +1 -0
  288. package/dist/core/internal/requiredFunds.d.ts +19 -0
  289. package/dist/core/internal/requiredFunds.d.ts.map +1 -0
  290. package/dist/core/internal/requiredFunds.js +25 -0
  291. package/dist/core/internal/requiredFunds.js.map +1 -0
  292. package/dist/core/internal/schema/capabilities.d.ts +314 -0
  293. package/dist/core/internal/schema/capabilities.d.ts.map +1 -0
  294. package/dist/core/internal/schema/capabilities.js +133 -0
  295. package/dist/core/internal/schema/capabilities.js.map +1 -0
  296. package/dist/core/internal/schema/key.d.ts +165 -0
  297. package/dist/core/internal/schema/key.d.ts.map +1 -0
  298. package/dist/core/internal/schema/key.js +75 -0
  299. package/dist/core/internal/schema/key.js.map +1 -0
  300. package/dist/core/internal/schema/permissions.d.ts +103 -0
  301. package/dist/core/internal/schema/permissions.d.ts.map +1 -0
  302. package/dist/core/internal/schema/permissions.js +28 -0
  303. package/dist/core/internal/schema/permissions.js.map +1 -0
  304. package/dist/core/internal/schema/request.d.ts +938 -0
  305. package/dist/core/internal/schema/request.d.ts.map +1 -0
  306. package/dist/core/internal/schema/request.js +57 -0
  307. package/dist/core/internal/schema/request.js.map +1 -0
  308. package/dist/core/internal/schema/rpc.d.ts +3315 -0
  309. package/dist/core/internal/schema/rpc.d.ts.map +1 -0
  310. package/dist/core/internal/schema/rpc.js +599 -0
  311. package/dist/core/internal/schema/rpc.js.map +1 -0
  312. package/dist/core/internal/schema/token.d.ts +2 -0
  313. package/dist/core/internal/schema/token.d.ts.map +1 -0
  314. package/dist/core/internal/schema/token.js +2 -0
  315. package/dist/core/internal/schema/token.js.map +1 -0
  316. package/dist/core/internal/schema/utils.d.ts +19 -0
  317. package/dist/core/internal/schema/utils.d.ts.map +1 -0
  318. package/dist/core/internal/schema/utils.js +213 -0
  319. package/dist/core/internal/schema/utils.js.map +1 -0
  320. package/dist/core/internal/siwe.d.ts +33 -0
  321. package/dist/core/internal/siwe.d.ts.map +1 -0
  322. package/dist/core/internal/siwe.js +92 -0
  323. package/dist/core/internal/siwe.js.map +1 -0
  324. package/dist/core/internal/store.d.ts +3 -0
  325. package/dist/core/internal/store.d.ts.map +1 -0
  326. package/dist/core/internal/store.js +9 -0
  327. package/dist/core/internal/store.js.map +1 -0
  328. package/dist/core/internal/tokens.d.ts +58 -0
  329. package/dist/core/internal/tokens.d.ts.map +1 -0
  330. package/dist/core/internal/tokens.js +69 -0
  331. package/dist/core/internal/tokens.js.map +1 -0
  332. package/dist/core/internal/types.d.ts +299 -0
  333. package/dist/core/internal/types.d.ts.map +1 -0
  334. package/dist/core/internal/types.js +2 -0
  335. package/dist/core/internal/types.js.map +1 -0
  336. package/dist/core/internal/urlString.d.ts +2 -0
  337. package/dist/core/internal/urlString.d.ts.map +1 -0
  338. package/dist/core/internal/urlString.js +8 -0
  339. package/dist/core/internal/urlString.js.map +1 -0
  340. package/dist/core/internal/userAgent.d.ts +11 -0
  341. package/dist/core/internal/userAgent.d.ts.map +1 -0
  342. package/dist/core/internal/userAgent.js +19 -0
  343. package/dist/core/internal/userAgent.js.map +1 -0
  344. package/dist/core/internal/utils.d.ts +25 -0
  345. package/dist/core/internal/utils.d.ts.map +1 -0
  346. package/dist/core/internal/utils.js +62 -0
  347. package/dist/core/internal/utils.js.map +1 -0
  348. package/dist/core/react-native/Porto.d.ts +1481 -0
  349. package/dist/core/react-native/Porto.d.ts.map +1 -0
  350. package/dist/core/react-native/Porto.js +17 -0
  351. package/dist/core/react-native/Porto.js.map +1 -0
  352. package/dist/core/react-native/configure.d.ts +10 -0
  353. package/dist/core/react-native/configure.d.ts.map +1 -0
  354. package/dist/core/react-native/configure.js +24 -0
  355. package/dist/core/react-native/configure.js.map +1 -0
  356. package/dist/core/react-native/environment.d.ts +27 -0
  357. package/dist/core/react-native/environment.d.ts.map +1 -0
  358. package/dist/core/react-native/environment.js +13 -0
  359. package/dist/core/react-native/environment.js.map +1 -0
  360. package/dist/core/react-native/index.d.ts +5 -0
  361. package/dist/core/react-native/index.d.ts.map +1 -0
  362. package/dist/core/react-native/index.js +5 -0
  363. package/dist/core/react-native/index.js.map +1 -0
  364. package/dist/core/react-native/utils.d.ts +2 -0
  365. package/dist/core/react-native/utils.d.ts.map +1 -0
  366. package/dist/core/react-native/utils.js +12 -0
  367. package/dist/core/react-native/utils.js.map +1 -0
  368. package/dist/index.d.ts +17 -2
  369. package/dist/index.d.ts.map +1 -0
  370. package/dist/index.js +15 -2
  371. package/dist/index.js.map +1 -0
  372. package/dist/index.native.d.ts +8 -0
  373. package/dist/index.native.d.ts.map +1 -0
  374. package/dist/index.native.js +12 -0
  375. package/dist/index.native.js.map +1 -0
  376. package/dist/internal/index.d.ts +4 -0
  377. package/dist/internal/index.d.ts.map +1 -0
  378. package/dist/internal/index.js +4 -0
  379. package/dist/internal/index.js.map +1 -0
  380. package/dist/react-native/crypto.d.ts +2 -0
  381. package/dist/react-native/crypto.d.ts.map +1 -0
  382. package/dist/react-native/crypto.js +12 -0
  383. package/dist/react-native/crypto.js.map +1 -0
  384. package/dist/react-native/index.d.ts +8 -0
  385. package/dist/react-native/index.d.ts.map +1 -0
  386. package/dist/react-native/index.js +12 -0
  387. package/dist/react-native/index.js.map +1 -0
  388. package/dist/react-native/register.d.ts +3 -0
  389. package/dist/react-native/register.d.ts.map +1 -0
  390. package/dist/react-native/register.js +15 -0
  391. package/dist/react-native/register.js.map +1 -0
  392. package/dist/register/index.d.ts +15 -0
  393. package/dist/register/index.d.ts.map +1 -0
  394. package/dist/register/index.js +2 -0
  395. package/dist/register/index.js.map +1 -0
  396. package/dist/remote/Actions.d.ts +34 -0
  397. package/dist/remote/Actions.d.ts.map +1 -0
  398. package/dist/remote/Actions.js +76 -0
  399. package/dist/remote/Actions.js.map +1 -0
  400. package/dist/remote/Events.d.ts +47 -0
  401. package/dist/remote/Events.d.ts.map +1 -0
  402. package/dist/remote/Events.js +132 -0
  403. package/dist/remote/Events.js.map +1 -0
  404. package/dist/remote/Hooks.d.ts +3801 -0
  405. package/dist/remote/Hooks.d.ts.map +1 -0
  406. package/dist/remote/Hooks.js +106 -0
  407. package/dist/remote/Hooks.js.map +1 -0
  408. package/dist/remote/Porto.d.ts +858 -0
  409. package/dist/remote/Porto.d.ts.map +1 -0
  410. package/dist/remote/Porto.js +66 -0
  411. package/dist/remote/Porto.js.map +1 -0
  412. package/dist/remote/index.d.ts +5 -0
  413. package/dist/remote/index.d.ts.map +1 -0
  414. package/dist/remote/index.js +5 -0
  415. package/dist/remote/index.js.map +1 -0
  416. package/dist/remote/internal/methodPolicies.d.ts +97 -0
  417. package/dist/remote/internal/methodPolicies.d.ts.map +1 -0
  418. package/dist/remote/internal/methodPolicies.js +102 -0
  419. package/dist/remote/internal/methodPolicies.js.map +1 -0
  420. package/dist/server/Route.d.ts +88 -0
  421. package/dist/server/Route.d.ts.map +1 -0
  422. package/dist/server/Route.js +189 -0
  423. package/dist/server/Route.js.map +1 -0
  424. package/dist/server/Router.d.ts +24 -0
  425. package/dist/server/Router.d.ts.map +1 -0
  426. package/dist/server/Router.js +29 -0
  427. package/dist/server/Router.js.map +1 -0
  428. package/dist/server/index.d.ts +3 -0
  429. package/dist/server/index.d.ts.map +1 -0
  430. package/dist/server/index.js +3 -0
  431. package/dist/server/index.js.map +1 -0
  432. package/dist/server/internal/merchantSchema.d.ts +65 -0
  433. package/dist/server/internal/merchantSchema.d.ts.map +1 -0
  434. package/dist/server/internal/merchantSchema.js +7 -0
  435. package/dist/server/internal/merchantSchema.js.map +1 -0
  436. package/dist/server/internal/requestListener.d.ts +124 -0
  437. package/dist/server/internal/requestListener.d.ts.map +1 -0
  438. package/dist/server/internal/requestListener.js +172 -0
  439. package/dist/server/internal/requestListener.js.map +1 -0
  440. package/dist/theme/Theme.d.ts +122 -0
  441. package/dist/theme/Theme.d.ts.map +1 -0
  442. package/dist/theme/Theme.js +18 -0
  443. package/dist/theme/Theme.js.map +1 -0
  444. package/dist/theme/index.d.ts +3 -0
  445. package/dist/theme/index.d.ts.map +1 -0
  446. package/dist/theme/index.js +2 -0
  447. package/dist/theme/index.js.map +1 -0
  448. package/dist/trusted-hosts.d.ts +2 -0
  449. package/dist/trusted-hosts.d.ts.map +1 -0
  450. package/dist/trusted-hosts.js +44 -0
  451. package/dist/trusted-hosts.js.map +1 -0
  452. package/dist/tsconfig.tmp.tsbuildinfo +1 -0
  453. package/dist/viem/Account.d.ts +111 -0
  454. package/dist/viem/Account.d.ts.map +1 -0
  455. package/dist/viem/Account.js +132 -0
  456. package/dist/viem/Account.js.map +1 -0
  457. package/dist/viem/AccountActions.d.ts +11 -0
  458. package/dist/viem/AccountActions.d.ts.map +1 -0
  459. package/dist/viem/AccountActions.js +14 -0
  460. package/dist/viem/AccountActions.js.map +1 -0
  461. package/dist/viem/CapabilitiesSchema.d.ts +15 -0
  462. package/dist/viem/CapabilitiesSchema.d.ts.map +1 -0
  463. package/dist/viem/CapabilitiesSchema.js +2 -0
  464. package/dist/viem/CapabilitiesSchema.js.map +1 -0
  465. package/dist/viem/ContractActions.d.ts +209 -0
  466. package/dist/viem/ContractActions.d.ts.map +1 -0
  467. package/dist/viem/ContractActions.js +350 -0
  468. package/dist/viem/ContractActions.js.map +1 -0
  469. package/dist/viem/Key.d.ts +1156 -0
  470. package/dist/viem/Key.d.ts.map +1 -0
  471. package/dist/viem/Key.js +924 -0
  472. package/dist/viem/Key.js.map +1 -0
  473. package/dist/viem/RelayActions.d.ts +436 -0
  474. package/dist/viem/RelayActions.d.ts.map +1 -0
  475. package/dist/viem/RelayActions.js +385 -0
  476. package/dist/viem/RelayActions.js.map +1 -0
  477. package/dist/viem/RelayClient.d.ts +27 -0
  478. package/dist/viem/RelayClient.d.ts.map +1 -0
  479. package/dist/viem/RelayClient.js +44 -0
  480. package/dist/viem/RelayClient.js.map +1 -0
  481. package/dist/viem/RpcSchema.d.ts +23 -0
  482. package/dist/viem/RpcSchema.d.ts.map +1 -0
  483. package/dist/viem/RpcSchema.js +2 -0
  484. package/dist/viem/RpcSchema.js.map +1 -0
  485. package/dist/viem/WalletActions.d.ts +87 -0
  486. package/dist/viem/WalletActions.d.ts.map +1 -0
  487. package/dist/viem/WalletActions.js +220 -0
  488. package/dist/viem/WalletActions.js.map +1 -0
  489. package/dist/viem/WalletClient.d.ts +21 -0
  490. package/dist/viem/WalletClient.d.ts.map +1 -0
  491. package/dist/viem/WalletClient.js +23 -0
  492. package/dist/viem/WalletClient.js.map +1 -0
  493. package/dist/viem/index.d.ts +14 -0
  494. package/dist/viem/index.d.ts.map +1 -0
  495. package/dist/viem/index.js +12 -0
  496. package/dist/viem/index.js.map +1 -0
  497. package/dist/viem/internal/relayActions.d.ts +365 -0
  498. package/dist/viem/internal/relayActions.d.ts.map +1 -0
  499. package/dist/viem/internal/relayActions.js +783 -0
  500. package/dist/viem/internal/relayActions.js.map +1 -0
  501. package/dist/viem/internal/utils.d.ts +16 -0
  502. package/dist/viem/internal/utils.d.ts.map +1 -0
  503. package/dist/viem/internal/utils.js +2 -0
  504. package/dist/viem/internal/utils.js.map +1 -0
  505. package/dist/wagmi/Actions.d.ts +2 -0
  506. package/dist/wagmi/Actions.d.ts.map +1 -0
  507. package/dist/wagmi/Actions.js +2 -0
  508. package/dist/wagmi/Actions.js.map +1 -0
  509. package/dist/wagmi/Connector.d.ts +28 -0
  510. package/dist/wagmi/Connector.d.ts.map +1 -0
  511. package/dist/wagmi/Connector.js +238 -0
  512. package/dist/wagmi/Connector.js.map +1 -0
  513. package/dist/wagmi/Hooks.d.ts +2 -0
  514. package/dist/wagmi/Hooks.d.ts.map +1 -0
  515. package/dist/wagmi/Hooks.js +2 -0
  516. package/dist/wagmi/Hooks.js.map +1 -0
  517. package/dist/wagmi/Hooks.native.d.ts +3 -0
  518. package/dist/wagmi/Hooks.native.d.ts.map +1 -0
  519. package/dist/wagmi/Hooks.native.js +3 -0
  520. package/dist/wagmi/Hooks.native.js.map +1 -0
  521. package/dist/wagmi/Query.d.ts +2 -0
  522. package/dist/wagmi/Query.d.ts.map +1 -0
  523. package/dist/wagmi/Query.js +2 -0
  524. package/dist/wagmi/Query.js.map +1 -0
  525. package/dist/wagmi/index.d.ts +5 -0
  526. package/dist/wagmi/index.d.ts.map +1 -0
  527. package/dist/wagmi/index.js +5 -0
  528. package/dist/wagmi/index.js.map +1 -0
  529. package/dist/wagmi/index.native.d.ts +6 -0
  530. package/dist/wagmi/index.native.d.ts.map +1 -0
  531. package/dist/wagmi/index.native.js +6 -0
  532. package/dist/wagmi/index.native.js.map +1 -0
  533. package/dist/wagmi/internal/core.d.ts +84 -0
  534. package/dist/wagmi/internal/core.d.ts.map +1 -0
  535. package/dist/wagmi/internal/core.js +229 -0
  536. package/dist/wagmi/internal/core.js.map +1 -0
  537. package/dist/wagmi/internal/query.d.ts +33 -0
  538. package/dist/wagmi/internal/query.d.ts.map +1 -0
  539. package/dist/wagmi/internal/query.js +23 -0
  540. package/dist/wagmi/internal/query.js.map +1 -0
  541. package/dist/wagmi/internal/react.d.ts +91 -0
  542. package/dist/wagmi/internal/react.d.ts.map +1 -0
  543. package/dist/wagmi/internal/react.js +256 -0
  544. package/dist/wagmi/internal/react.js.map +1 -0
  545. package/dist/wagmi/internal/types.d.ts +11 -0
  546. package/dist/wagmi/internal/types.d.ts.map +1 -0
  547. package/dist/wagmi/internal/types.js +2 -0
  548. package/dist/wagmi/internal/types.js.map +1 -0
  549. package/dist/wagmi/internal/utils.d.ts +2 -0
  550. package/dist/wagmi/internal/utils.d.ts.map +1 -0
  551. package/dist/wagmi/internal/utils.js +18 -0
  552. package/dist/wagmi/internal/utils.js.map +1 -0
  553. package/package.json +287 -34
  554. package/src/cli/Dialog.ts +75 -0
  555. package/src/cli/Messenger.ts +148 -0
  556. package/src/cli/bin/index.ts +37 -0
  557. package/src/cli/bin/tsconfig.json +8 -0
  558. package/src/cli/index.ts +2 -0
  559. package/src/cli/internal/commands.ts +216 -0
  560. package/src/cli/internal/context.ts +56 -0
  561. package/src/cli/internal/http.ts +28 -0
  562. package/src/cli/internal/utils.ts +28 -0
  563. package/src/cli/tsdown.config.ts +37 -0
  564. package/src/core/Chains.ts +25 -0
  565. package/src/core/Dialog.ts +1059 -0
  566. package/src/core/Messenger.ts +394 -0
  567. package/src/core/Mode.ts +4 -0
  568. package/src/core/Porto.ts +287 -0
  569. package/src/core/RpcSchema.ts +124 -0
  570. package/src/core/Storage.ts +122 -0
  571. package/src/core/Transport.ts +45 -0
  572. package/src/core/internal/_generated/chains.ts +2 -0
  573. package/src/core/internal/_generated/contracts/EIP7702Proxy.ts +25 -0
  574. package/src/core/internal/_generated/contracts/Escrow.ts +330 -0
  575. package/src/core/internal/_generated/contracts/ExperimentERC20.ts +569 -0
  576. package/src/core/internal/_generated/contracts/ExperimentERC721.ts +588 -0
  577. package/src/core/internal/_generated/contracts/GuardedExecutor.ts +623 -0
  578. package/src/core/internal/_generated/contracts/ICallChecker.ts +34 -0
  579. package/src/core/internal/_generated/contracts/ICommon.ts +4 -0
  580. package/src/core/internal/_generated/contracts/IEscrow.ts +114 -0
  581. package/src/core/internal/_generated/contracts/IFunder.ts +80 -0
  582. package/src/core/internal/_generated/contracts/IFunderV4.ts +45 -0
  583. package/src/core/internal/_generated/contracts/IIthacaAccount.ts +107 -0
  584. package/src/core/internal/_generated/contracts/IOAppCore.ts +142 -0
  585. package/src/core/internal/_generated/contracts/IOAppMsgInspector.ts +45 -0
  586. package/src/core/internal/_generated/contracts/IOAppReceiver.ts +161 -0
  587. package/src/core/internal/_generated/contracts/IOrchestrator.ts +95 -0
  588. package/src/core/internal/_generated/contracts/ISettler.ts +52 -0
  589. package/src/core/internal/_generated/contracts/ISigner.ts +34 -0
  590. package/src/core/internal/_generated/contracts/IthacaAccount.ts +1454 -0
  591. package/src/core/internal/_generated/contracts/IthacaAccountNew.ts +1454 -0
  592. package/src/core/internal/_generated/contracts/IthacaAccountOld.ts +1454 -0
  593. package/src/core/internal/_generated/contracts/LayerZeroSettler.ts +811 -0
  594. package/src/core/internal/_generated/contracts/LibNonce.ts +15 -0
  595. package/src/core/internal/_generated/contracts/LibTStack.ts +4 -0
  596. package/src/core/internal/_generated/contracts/MultiSigSigner.ts +203 -0
  597. package/src/core/internal/_generated/contracts/OApp.ts +412 -0
  598. package/src/core/internal/_generated/contracts/OAppCore.ts +229 -0
  599. package/src/core/internal/_generated/contracts/OAppReceiver.ts +396 -0
  600. package/src/core/internal/_generated/contracts/OAppSender.ts +245 -0
  601. package/src/core/internal/_generated/contracts/Orchestrator.ts +390 -0
  602. package/src/core/internal/_generated/contracts/SimpleFunder.ts +534 -0
  603. package/src/core/internal/_generated/contracts/SimpleSettler.ts +360 -0
  604. package/src/core/internal/_generated/contracts/Simulator.ts +170 -0
  605. package/src/core/internal/_generated/contracts/TokenTransferLib.ts +4 -0
  606. package/src/core/internal/_snapshots/provider.browser.test.ts.snap +119 -0
  607. package/src/core/internal/_snapshots/provider.test.ts.snap +1103 -0
  608. package/src/core/internal/call.test.ts +116 -0
  609. package/src/core/internal/call.ts +245 -0
  610. package/src/core/internal/erc8010.test.ts +74 -0
  611. package/src/core/internal/erc8010.ts +44 -0
  612. package/src/core/internal/intersectionObserver.ts +5 -0
  613. package/src/core/internal/logger.ts +42 -0
  614. package/src/core/internal/mode.ts +498 -0
  615. package/src/core/internal/modes/dialog.ts +1051 -0
  616. package/src/core/internal/modes/reactNative.ts +29 -0
  617. package/src/core/internal/modes/relay.ts +893 -0
  618. package/src/core/internal/permissions.ts +43 -0
  619. package/src/core/internal/permissionsRequest.ts +88 -0
  620. package/src/core/internal/porto.ts +16 -0
  621. package/src/core/internal/promise.ts +19 -0
  622. package/src/core/internal/provider.browser.test.ts +311 -0
  623. package/src/core/internal/provider.test.ts +3552 -0
  624. package/src/core/internal/provider.ts +1278 -0
  625. package/src/core/internal/relay/rpcSchema.ts +101 -0
  626. package/src/core/internal/relay/schema/capabilities.test.ts +663 -0
  627. package/src/core/internal/relay/schema/capabilities.ts +156 -0
  628. package/src/core/internal/relay/schema/intent.test.ts +433 -0
  629. package/src/core/internal/relay/schema/intent.ts +174 -0
  630. package/src/core/internal/relay/schema/key.test.ts +424 -0
  631. package/src/core/internal/relay/schema/key.ts +34 -0
  632. package/src/core/internal/relay/schema/permission.test.ts +499 -0
  633. package/src/core/internal/relay/schema/permission.ts +34 -0
  634. package/src/core/internal/relay/schema/preCall.ts +39 -0
  635. package/src/core/internal/relay/schema/quotes.test.ts +901 -0
  636. package/src/core/internal/relay/schema/quotes.ts +98 -0
  637. package/src/core/internal/relay/schema/rpc.ts +822 -0
  638. package/src/core/internal/relay/schema/token.ts +16 -0
  639. package/src/core/internal/requiredFunds.test.ts +141 -0
  640. package/src/core/internal/requiredFunds.ts +45 -0
  641. package/src/core/internal/schema/capabilities.test.ts +1334 -0
  642. package/src/core/internal/schema/capabilities.ts +162 -0
  643. package/src/core/internal/schema/key.test.ts +570 -0
  644. package/src/core/internal/schema/key.ts +98 -0
  645. package/src/core/internal/schema/permissions.test.ts +948 -0
  646. package/src/core/internal/schema/permissions.ts +31 -0
  647. package/src/core/internal/schema/request.bench.ts +35 -0
  648. package/src/core/internal/schema/request.ts +90 -0
  649. package/src/core/internal/schema/rpc.ts +821 -0
  650. package/src/core/internal/schema/token.ts +1 -0
  651. package/src/core/internal/schema/utils.test.ts +572 -0
  652. package/src/core/internal/schema/utils.ts +236 -0
  653. package/src/core/internal/siwe.test.ts +473 -0
  654. package/src/core/internal/siwe.ts +144 -0
  655. package/src/core/internal/store.ts +9 -0
  656. package/src/core/internal/tokens.test.ts +317 -0
  657. package/src/core/internal/tokens.ts +125 -0
  658. package/src/core/internal/types.ts +448 -0
  659. package/src/core/internal/urlString.ts +5 -0
  660. package/src/core/internal/userAgent.ts +35 -0
  661. package/src/core/internal/utils.test.ts +35 -0
  662. package/src/core/internal/utils.ts +67 -0
  663. package/src/core/react-native/Porto.ts +22 -0
  664. package/src/core/react-native/configure.ts +31 -0
  665. package/src/core/react-native/environment.ts +43 -0
  666. package/src/core/react-native/index.ts +4 -0
  667. package/src/core/react-native/utils.ts +18 -0
  668. package/src/index.native.ts +15 -0
  669. package/src/index.ts +17 -0
  670. package/src/internal/index.ts +3 -0
  671. package/src/react-native/crypto.ts +19 -0
  672. package/src/react-native/index.ts +15 -0
  673. package/src/react-native/register.ts +24 -0
  674. package/src/register/index.ts +17 -0
  675. package/src/remote/Actions.ts +115 -0
  676. package/src/remote/Events.ts +193 -0
  677. package/src/remote/Hooks.ts +194 -0
  678. package/src/remote/Porto.ts +144 -0
  679. package/src/remote/index.ts +4 -0
  680. package/src/remote/internal/methodPolicies.ts +124 -0
  681. package/src/server/Route.test.ts +347 -0
  682. package/src/server/Route.ts +259 -0
  683. package/src/server/Router.test.ts +32 -0
  684. package/src/server/Router.ts +59 -0
  685. package/src/server/index.ts +2 -0
  686. package/src/server/internal/merchantSchema.ts +11 -0
  687. package/src/server/internal/requestListener.ts +284 -0
  688. package/src/theme/Theme.ts +163 -0
  689. package/src/theme/index.ts +2 -0
  690. package/src/trusted-hosts.ts +43 -0
  691. package/src/tsconfig.build.tsbuildinfo +1 -0
  692. package/src/tsconfig.json +15 -0
  693. package/src/viem/Account.test.ts +270 -0
  694. package/src/viem/Account.ts +278 -0
  695. package/src/viem/AccountActions.test.ts +3 -0
  696. package/src/viem/AccountActions.ts +30 -0
  697. package/src/viem/CapabilitiesSchema.ts +18 -0
  698. package/src/viem/ContractActions.test.ts +980 -0
  699. package/src/viem/ContractActions.ts +624 -0
  700. package/src/viem/Key.test.ts +1420 -0
  701. package/src/viem/Key.ts +1318 -0
  702. package/src/viem/RelayActions.test.ts +1730 -0
  703. package/src/viem/RelayActions.ts +1082 -0
  704. package/src/viem/RelayClient.test.ts +127 -0
  705. package/src/viem/RelayClient.ts +87 -0
  706. package/src/viem/RpcSchema.ts +27 -0
  707. package/src/viem/WalletActions.test.ts +646 -0
  708. package/src/viem/WalletActions.ts +476 -0
  709. package/src/viem/WalletClient.test.ts +36 -0
  710. package/src/viem/WalletClient.ts +74 -0
  711. package/src/viem/index.ts +13 -0
  712. package/src/viem/internal/relayActions.test.ts +1296 -0
  713. package/src/viem/internal/relayActions.ts +1222 -0
  714. package/src/viem/internal/utils.ts +27 -0
  715. package/src/wagmi/Actions.ts +13 -0
  716. package/src/wagmi/Connector.ts +306 -0
  717. package/src/wagmi/Hooks.native.ts +16 -0
  718. package/src/wagmi/Hooks.ts +14 -0
  719. package/src/wagmi/Query.ts +5 -0
  720. package/src/wagmi/index.native.ts +6 -0
  721. package/src/wagmi/index.ts +4 -0
  722. package/src/wagmi/internal/core.test.ts +12 -0
  723. package/src/wagmi/internal/core.ts +468 -0
  724. package/src/wagmi/internal/query.ts +52 -0
  725. package/src/wagmi/internal/react.test.ts +12 -0
  726. package/src/wagmi/internal/react.ts +705 -0
  727. package/src/wagmi/internal/types.ts +21 -0
  728. package/src/wagmi/internal/utils.ts +25 -0
  729. package/dist/chain.cjs +0 -17
  730. package/dist/chain.d.cts +0 -41
  731. package/dist/chain.d.ts +0 -41
  732. package/dist/chain.js +0 -13
  733. package/dist/config.cjs +0 -19
  734. package/dist/config.d.cts +0 -3
  735. package/dist/config.d.ts +0 -3
  736. package/dist/config.js +0 -16
  737. package/dist/index.cjs +0 -18
  738. package/dist/index.d.cts +0 -2
@@ -0,0 +1,259 @@
1
+ import { type Env, type ExecutionContext, Hono } from 'hono'
2
+ import { cors } from 'hono/cors'
3
+ import { poweredBy } from 'hono/powered-by'
4
+ import type { BlankEnv, BlankSchema, Schema as hono_Schema } from 'hono/types'
5
+ import type * as Address from 'ox/Address'
6
+ import type * as Hex from 'ox/Hex'
7
+ import * as RpcResponse from 'ox/RpcResponse'
8
+ import { createClient, rpcSchema } from 'viem'
9
+ import * as z from 'zod/mini'
10
+ import type * as RpcSchema_relay from '../core/internal/relay/rpcSchema.js'
11
+ import type { MaybePromise, OneOf } from '../core/internal/types.js'
12
+ import * as Porto from '../core/Porto.js'
13
+ import * as Key from '../viem/Key.js'
14
+ import * as MerchantSchema from './internal/merchantSchema.js'
15
+ import * as RequestListener from './internal/requestListener.js'
16
+
17
+ /**
18
+ * Creates a new Route.
19
+ *
20
+ * @param options - constructor options
21
+ * @returns Route instance
22
+ */
23
+ export function from<
24
+ env extends Env = BlankEnv,
25
+ schema extends hono_Schema = BlankSchema,
26
+ basePath extends string = '/',
27
+ >(options: from.Options<basePath> = {}) {
28
+ return new from.Inner<env, schema, basePath>(options)
29
+ }
30
+
31
+ export namespace from {
32
+ export type Options<basePath extends string = '/'> =
33
+ Inner.ConstructorOptions<basePath>
34
+
35
+ export class Inner<
36
+ env extends Env = BlankEnv,
37
+ schema extends hono_Schema = BlankSchema,
38
+ basePath extends string = '/',
39
+ > {
40
+ hono: Hono<env, schema, basePath>
41
+
42
+ /**
43
+ * Creates a new Handler instance.
44
+ *
45
+ * @param options - constructor options
46
+ */
47
+ constructor(options: Inner.ConstructorOptions<basePath> = {}) {
48
+ const hono = new Hono<env, schema, basePath>().basePath(
49
+ options.basePath ?? '/',
50
+ )
51
+ hono.use('*', cors(options.cors))
52
+ hono.use('*', poweredBy({ serverName: 'Porto' }))
53
+
54
+ this.hono = hono
55
+ }
56
+
57
+ /**
58
+ * Returns a Fetch API compatible handler, used to serve requests.
59
+ *
60
+ * @param request - request object
61
+ * @param env - env object
62
+ * @param executionCtx - context of execution
63
+ * @returns response object
64
+ *
65
+ */
66
+ fetch = (
67
+ request: Request,
68
+ env?: env['Bindings'] | {} | undefined,
69
+ executionCtx?: ExecutionContext | undefined,
70
+ ) => {
71
+ return this.hono.fetch(request, env, executionCtx)
72
+ }
73
+
74
+ /**
75
+ * Wraps a fetch handler in a Node.js request listener that can be used with:
76
+ *
77
+ * - [`http.createServer()`](https://nodejs.org/api/http.html#httpcreateserveroptions-requestlistener)
78
+ * - [`https.createServer()`](https://nodejs.org/api/https.html#httpscreateserveroptions-requestlistener)
79
+ * - [`http2.createServer()`](https://nodejs.org/api/http2.html#http2createserveroptions-onrequesthandler)
80
+ * - [`http2.createSecureServer()`](https://nodejs.org/api/http2.html#http2createsecureserveroptions-onrequesthandler)
81
+ *
82
+ * @returns A Node.js request listener function.
83
+ */
84
+ get listener() {
85
+ return RequestListener.fromFetchHandler(this.fetch)
86
+ }
87
+ }
88
+
89
+ export declare namespace Inner {
90
+ type ConstructorOptions<basePath extends string = '/'> = {
91
+ /**
92
+ * Base path of the request handler.
93
+ */
94
+ basePath?: basePath | string | undefined
95
+ /**
96
+ * CORS configuration.
97
+ */
98
+ cors?: Parameters<typeof cors>[0] | undefined
99
+ }
100
+ }
101
+ }
102
+
103
+ /**
104
+ * Defines a Merchant RPC request handler. This will return a function that
105
+ * accepts a [Fetch API `Request`](https://developer.mozilla.org/en-US/docs/Web/API/Request)
106
+ * instance and returns a [Fetch API `Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response)
107
+ * instance.
108
+ *
109
+ * @param options - Options.
110
+ * @returns Request handler.
111
+ */
112
+ export function merchant(options: merchant.Options) {
113
+ const { address, basePath, relay = Porto.defaultConfig.relay } = options
114
+
115
+ const client = createClient({
116
+ rpcSchema: rpcSchema<RpcSchema_relay.Viem>(),
117
+ transport: relay,
118
+ })
119
+
120
+ const fromKey = (() => {
121
+ if (typeof options.key === 'string') return undefined
122
+ if (options.key.type === 'secp256k1') return Key.fromSecp256k1
123
+ if (options.key.type === 'p256') return Key.fromP256
124
+ throw new Error('unsupported key type')
125
+ })()
126
+ const key = fromKey
127
+ ? fromKey(options.key as never)
128
+ : Key.fromSecp256k1({
129
+ privateKey: options.key as Hex.Hex,
130
+ })
131
+
132
+ const router = from({ basePath })
133
+
134
+ router.hono.get('/', (c) => c.text('ok'))
135
+
136
+ router.hono.post('/', async (c) => {
137
+ let request: MerchantSchema.JsonRpcRequest = await c.req.json()
138
+ try {
139
+ request = MerchantSchema.validate(MerchantSchema.JsonRpcRequest, request)
140
+ } catch (e) {
141
+ const error = e as RpcResponse.ErrorObject
142
+ return c.json(
143
+ RpcResponse.from(
144
+ {
145
+ error: {
146
+ code: error.code,
147
+ message: error.message,
148
+ },
149
+ },
150
+ { request },
151
+ ),
152
+ )
153
+ }
154
+
155
+ switch (request.method) {
156
+ case 'wallet_prepareCalls': {
157
+ const sponsor = (() => {
158
+ if (typeof options.sponsor === 'function')
159
+ return options.sponsor(request.params[0]! as never)
160
+ if (typeof options.sponsor === 'boolean') return options.sponsor
161
+ return true
162
+ })()
163
+
164
+ try {
165
+ const result = await client.request({
166
+ ...request,
167
+ params: [
168
+ {
169
+ ...request.params[0]!,
170
+ capabilities: {
171
+ ...request.params[0]!.capabilities,
172
+ meta: {
173
+ ...request.params[0]!.capabilities.meta,
174
+ ...(sponsor
175
+ ? {
176
+ feePayer: address,
177
+ }
178
+ : {}),
179
+ },
180
+ },
181
+ },
182
+ ],
183
+ })
184
+ const { capabilities } = z.decode(
185
+ MerchantSchema.wallet_prepareCalls.Response,
186
+ result,
187
+ )
188
+ const { feePayerDigest } = capabilities
189
+ if (!feePayerDigest) throw new Error('`feePayerDigest` is required')
190
+
191
+ const signature = sponsor
192
+ ? await Key.sign(key, {
193
+ address: null,
194
+ payload: feePayerDigest,
195
+ })
196
+ : undefined
197
+
198
+ const response = RpcResponse.from(
199
+ {
200
+ result: {
201
+ ...result,
202
+ capabilities: {
203
+ ...result.capabilities,
204
+ ...(sponsor
205
+ ? {
206
+ feeSignature: signature,
207
+ }
208
+ : {}),
209
+ },
210
+ },
211
+ },
212
+ { request },
213
+ )
214
+
215
+ return c.json(response)
216
+ } catch (e) {
217
+ const error = (() => {
218
+ const error = RpcResponse.parseError(e as Error)
219
+ if (error.cause && 'code' in error.cause && error.cause.code === 3)
220
+ return error.cause as any
221
+ return error
222
+ })()
223
+ return c.json(RpcResponse.from({ error }, { request }))
224
+ }
225
+ }
226
+
227
+ default: {
228
+ const error = new RpcResponse.MethodNotSupportedError()
229
+ return c.json(RpcResponse.from({ error }, { request }))
230
+ }
231
+ }
232
+ })
233
+
234
+ return router
235
+ }
236
+
237
+ export declare namespace merchant {
238
+ export type Options = {
239
+ /** Address of the Merchant Account. */
240
+ address: Address.Address
241
+ /** Base path of the request handler. */
242
+ basePath?: string | undefined
243
+ /** An Admin Key of the Merchant Account to use for signing. */
244
+ key:
245
+ | Hex.Hex
246
+ | (Pick<OneOf<Key.Secp256k1Key | Key.P256Key>, 'type'> & {
247
+ privateKey: Hex.Hex
248
+ })
249
+ /** Whether to sponsor calls or not, and the condition to do so. */
250
+ sponsor?:
251
+ | boolean
252
+ | ((
253
+ request: MerchantSchema.wallet_prepareCalls.Parameters,
254
+ ) => MaybePromise<boolean>)
255
+ | undefined
256
+ /** Relay transport override. */
257
+ relay?: Porto.Config['relay'] | undefined
258
+ }
259
+ }
@@ -0,0 +1,32 @@
1
+ import { expect, test } from 'vitest'
2
+ import * as Key from '../viem/Key.js'
3
+ import * as Route from './Route.js'
4
+ import { Router } from './Router.js'
5
+
6
+ test('default', async () => {
7
+ const router = Router()
8
+ const response = await router.hono.request('http://localhost')
9
+
10
+ expect(response.status).toBe(200)
11
+ expect(response.headers.get('access-control-allow-origin')).toBe('*')
12
+ expect(await response.text()).toMatchInlineSnapshot(`
13
+ "
14
+ █▀█ █▀█ █▀█ ▀█▀ █▀█
15
+ █▀▀ █▄█ █▀▄ █ █▄█
16
+ "
17
+ `)
18
+ })
19
+
20
+ test('behavior: route', async () => {
21
+ const key = Key.createSecp256k1()
22
+ const router = Router().route(
23
+ '/merchant',
24
+ Route.merchant({
25
+ address: '0x0000000000000000000000000000000000000000',
26
+ key: key.privateKey!(),
27
+ }),
28
+ )
29
+ const response = await router.hono.request('http://localhost/merchant')
30
+ expect(response.status).toBe(200)
31
+ expect(await response.text()).toMatchInlineSnapshot(`"ok"`)
32
+ })
@@ -0,0 +1,59 @@
1
+ import type { Env } from 'hono'
2
+ import type { BlankEnv, BlankSchema, Schema } from 'hono/types'
3
+ import * as Route from './Route.js'
4
+
5
+ export function Router<
6
+ env extends Env = BlankEnv,
7
+ schema extends Schema = BlankSchema,
8
+ basePath extends string = '/',
9
+ >(options: Router.Options<basePath> = {}) {
10
+ const handler = new Router.Inner<env, schema, basePath>(options)
11
+ handler.hono.get('/', (c) =>
12
+ c.text(`
13
+ █▀█ █▀█ █▀█ ▀█▀ █▀█
14
+ █▀▀ █▄█ █▀▄ █ █▄█
15
+ `),
16
+ )
17
+ return handler
18
+ }
19
+
20
+ export namespace Router {
21
+ export type Options<basePath extends string = '/'> = Omit<
22
+ Inner.ConstructorOptions<basePath>,
23
+ 'defaultPath'
24
+ >
25
+
26
+ export class Inner<
27
+ env extends Env = BlankEnv,
28
+ schema extends Schema = BlankSchema,
29
+ basePath extends string = '/',
30
+ > extends Route.from.Inner<env, schema, basePath> {
31
+ /**
32
+ * `.route()` allows grouping other Porto handlers in routes.
33
+ *
34
+ * @example
35
+ * TODO
36
+ *
37
+ * @param path - base Path
38
+ * @param app - other Porto handler
39
+ * @returns routed Porto handler
40
+ */
41
+ route<
42
+ path extends string,
43
+ env extends Env,
44
+ schema extends Schema,
45
+ subBasePath extends string,
46
+ >(
47
+ path: path,
48
+ app: Route.from.Inner<env, schema, subBasePath>,
49
+ ): Inner<env, schema, subBasePath> {
50
+ this.hono.route(path, app.hono)
51
+ return this as never
52
+ }
53
+ }
54
+
55
+ export declare namespace Inner {
56
+ type ConstructorOptions<basePath extends string = '/'> =
57
+ Route.from.Inner.ConstructorOptions<basePath>
58
+ }
59
+ }
@@ -0,0 +1,2 @@
1
+ export * as Route from './Route.js'
2
+ export { Router } from './Router.js'
@@ -0,0 +1,11 @@
1
+ import * as z from 'zod/mini'
2
+ import * as Rpc_relay from '../../core/internal/relay/schema/rpc.js'
3
+ import * as RpcRequest from '../../core/internal/schema/request.js'
4
+
5
+ export { wallet_prepareCalls } from '../../core/internal/relay/schema/rpc.js'
6
+ export { validate } from '../../core/internal/schema/request.js'
7
+
8
+ export const JsonRpcRequest = RpcRequest.schemaWithJsonRpc(
9
+ z.discriminatedUnion('method', [Rpc_relay.wallet_prepareCalls.Request]),
10
+ )
11
+ export type JsonRpcRequest = RpcRequest.WithDecoded<typeof JsonRpcRequest>
@@ -0,0 +1,284 @@
1
+ // Credit: https://github.com/mjackson/remix-the-web/blob/main/packages/node-fetch-server/src/lib/request-listener.ts
2
+
3
+ import type * as http from 'node:http'
4
+ import type * as http2 from 'node:http2'
5
+
6
+ export interface RequestListenerOptions {
7
+ /**
8
+ * Overrides the host portion of the incoming request URL. By default the request URL host is
9
+ * derived from the HTTP `Host` header.
10
+ *
11
+ * For example, if you have a `$HOST` environment variable that contains the hostname of your
12
+ * server, you can use it to set the host of all incoming request URLs like so:
13
+ *
14
+ * ```ts
15
+ * createRequestListener(handler, { host: process.env.HOST })
16
+ * ```
17
+ */
18
+ host?: string
19
+ /**
20
+ * An error handler that determines the response when the request handler throws an error. By
21
+ * default a 500 Internal Server Error response will be sent.
22
+ */
23
+ onError?: ErrorHandler
24
+ /**
25
+ * Overrides the protocol of the incoming request URL. By default the request URL protocol is
26
+ * derived from the connection protocol. So e.g. when serving over HTTPS (using
27
+ * `https.createServer()`), the request URL will begin with `https:`.
28
+ */
29
+ protocol?: string
30
+ }
31
+
32
+ /**
33
+ * Wraps a fetch handler in a Node.js request listener that can be used with:
34
+ *
35
+ * - [`http.createServer()`](https://nodejs.org/api/http.html#httpcreateserveroptions-requestlistener)
36
+ * - [`https.createServer()`](https://nodejs.org/api/https.html#httpscreateserveroptions-requestlistener)
37
+ * - [`http2.createServer()`](https://nodejs.org/api/http2.html#http2createserveroptions-onrequesthandler)
38
+ * - [`http2.createSecureServer()`](https://nodejs.org/api/http2.html#http2createsecureserveroptions-onrequesthandler)
39
+ *
40
+ * Example:
41
+ *
42
+ * ```ts
43
+ * import * as http from 'node:http';
44
+ * import { createRequestListener } from '@mjackson/node-fetch-server';
45
+ *
46
+ * async function handler(request) {
47
+ * return new Response('Hello, world!');
48
+ * }
49
+ *
50
+ * let server = http.createServer(
51
+ * createRequestListener(handler)
52
+ * );
53
+ *
54
+ * server.listen(3000);
55
+ * ```
56
+ *
57
+ * @param handler The fetch handler to use for processing incoming requests.
58
+ * @param options Request listener options.
59
+ * @returns A Node.js request listener function.
60
+ */
61
+ export function fromFetchHandler(
62
+ handler: FetchHandler,
63
+ options?: RequestListenerOptions,
64
+ ): http.RequestListener {
65
+ const onError = options?.onError ?? defaultErrorHandler
66
+
67
+ return async (req, res) => {
68
+ const request = createRequest(req, res, options)
69
+ const client = {
70
+ address: req.socket.remoteAddress!,
71
+ family: req.socket.remoteFamily! as ClientAddress['family'],
72
+ port: req.socket.remotePort!,
73
+ }
74
+
75
+ let response: Response
76
+ try {
77
+ response = await handler(request, client)
78
+ } catch (error) {
79
+ try {
80
+ response = (await onError(error)) ?? internalServerError()
81
+ } catch (error) {
82
+ console.error(`There was an error in the error handler: ${error}`)
83
+ response = internalServerError()
84
+ }
85
+ }
86
+
87
+ await sendResponse(res, response)
88
+ }
89
+ }
90
+
91
+ function defaultErrorHandler(error: unknown): Response {
92
+ console.error(error)
93
+ return internalServerError()
94
+ }
95
+
96
+ function internalServerError(): Response {
97
+ return new Response(
98
+ // "Internal Server Error"
99
+ new Uint8Array([
100
+ 73, 110, 116, 101, 114, 110, 97, 108, 32, 83, 101, 114, 118, 101, 114, 32,
101
+ 69, 114, 114, 111, 114,
102
+ ]),
103
+ {
104
+ headers: {
105
+ 'Content-Type': 'text/plain',
106
+ },
107
+ status: 500,
108
+ },
109
+ )
110
+ }
111
+
112
+ export type RequestOptions = Omit<RequestListenerOptions, 'onError'>
113
+
114
+ /**
115
+ * Creates a [`Request`](https://developer.mozilla.org/en-US/docs/Web/API/Request) object from
116
+ *
117
+ * - a [`http.IncomingMessage`](https://nodejs.org/api/http.html#class-httpincomingmessage)/[`http.ServerResponse`](https://nodejs.org/api/http.html#class-httpserverresponse) pair
118
+ * - a [`http2.Http2ServerRequest`](https://nodejs.org/api/http2.html#class-http2http2serverrequest)/[`http2.Http2ServerResponse`](https://nodejs.org/api/http2.html#class-http2http2serverresponse) pair
119
+ *
120
+ * @param req The incoming request object.
121
+ * @param res The server response object.
122
+ * @param options
123
+ * @returns A request object.
124
+ */
125
+ export function createRequest(
126
+ req: http.IncomingMessage | http2.Http2ServerRequest,
127
+ res: http.ServerResponse | http2.Http2ServerResponse,
128
+ options?: RequestOptions,
129
+ ): Request {
130
+ const controller = new AbortController()
131
+ res.on('close', () => {
132
+ controller.abort()
133
+ })
134
+
135
+ const method = req.method ?? 'GET'
136
+ const headers = createHeaders(req)
137
+
138
+ const protocol =
139
+ options?.protocol ??
140
+ ('encrypted' in req.socket && req.socket.encrypted ? 'https:' : 'http:')
141
+ const host = options?.host ?? headers.get('Host') ?? 'localhost'
142
+ const url = new URL(req.url!, `${protocol}//${host}`)
143
+
144
+ const init: RequestInit = { headers, method, signal: controller.signal }
145
+
146
+ if (method !== 'GET' && method !== 'HEAD') {
147
+ init.body = new ReadableStream({
148
+ start(controller) {
149
+ req.on('data', (chunk) => {
150
+ controller.enqueue(
151
+ new Uint8Array(chunk.buffer, chunk.byteOffset, chunk.byteLength),
152
+ )
153
+ })
154
+ req.on('end', () => {
155
+ controller.close()
156
+ })
157
+ },
158
+ })
159
+
160
+ // init.duplex = 'half' must be set when body is a ReadableStream, and Node follows the spec.
161
+ // However, this property is not defined in the TypeScript types for RequestInit, so we have
162
+ // to cast it here in order to set it without a type error.
163
+ // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex
164
+ ;(init as { duplex: 'half' }).duplex = 'half'
165
+ }
166
+
167
+ return new Request(url, init)
168
+ }
169
+
170
+ /**
171
+ * Creates a [`Headers`](https://developer.mozilla.org/en-US/docs/Web/API/Headers) object from the headers in a Node.js
172
+ * [`http.IncomingMessage`](https://nodejs.org/api/http.html#class-httpincomingmessage)/[`http2.Http2ServerRequest`](https://nodejs.org/api/http2.html#class-http2http2serverrequest).
173
+ *
174
+ * @param req The incoming request object.
175
+ * @returns A headers object.
176
+ */
177
+ export function createHeaders(
178
+ req: http.IncomingMessage | http2.Http2ServerRequest,
179
+ ): Headers {
180
+ const headers = new Headers()
181
+
182
+ const rawHeaders = req.rawHeaders
183
+ for (let i = 0; i < rawHeaders.length; i += 2) {
184
+ if (rawHeaders[i]?.startsWith(':')) continue
185
+ headers.append(rawHeaders[i]!, rawHeaders[i + 1]!)
186
+ }
187
+
188
+ return headers
189
+ }
190
+
191
+ /**
192
+ * Sends a [`Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response) to the client using a Node.js
193
+ * [`http.ServerResponse`](https://nodejs.org/api/http.html#class-httpserverresponse)/[`http2.Http2ServerResponse`](https://nodejs.org/api/http2.html#class-http2http2serverresponse)
194
+ * object.
195
+ *
196
+ * @param res The server response object.
197
+ * @param response The response to send.
198
+ */
199
+ export async function sendResponse(
200
+ res: http.ServerResponse | http2.Http2ServerResponse,
201
+ response: Response,
202
+ ): Promise<void> {
203
+ // Iterate over response.headers so we are sure to send multiple Set-Cookie headers correctly.
204
+ // These would incorrectly be merged into a single header if we tried to use
205
+ // `Object.fromEntries(response.headers.entries())`.
206
+ const headers: Record<string, string | string[]> = {}
207
+ for (const [key, value] of response.headers as any) {
208
+ if (key in headers) {
209
+ if (Array.isArray(headers[key])) {
210
+ headers[key].push(value)
211
+ } else {
212
+ headers[key] = [headers[key] as string, value]
213
+ }
214
+ } else {
215
+ headers[key] = value
216
+ }
217
+ }
218
+
219
+ res.writeHead(response.status, headers)
220
+
221
+ if (response.body != null && res.req.method !== 'HEAD') {
222
+ for await (const chunk of readStream(response.body)) {
223
+ // @ts-expect-error - Node typings for http2 require a 2nd parameter to write but it's optional
224
+ res.write(chunk)
225
+ }
226
+ }
227
+
228
+ res.end()
229
+ }
230
+
231
+ export async function* readStream(
232
+ stream: ReadableStream<Uint8Array>,
233
+ ): AsyncIterable<Uint8Array> {
234
+ const reader = stream.getReader()
235
+
236
+ while (true) {
237
+ const { done, value } = await reader.read()
238
+ if (done) break
239
+ yield value
240
+ }
241
+ }
242
+
243
+ export interface ClientAddress {
244
+ /**
245
+ * The IP address of the client that sent the request.
246
+ *
247
+ * [Node.js Reference](https://nodejs.org/api/net.html#socketremoteaddress)
248
+ */
249
+ address: string
250
+ /**
251
+ * The family of the client IP address.
252
+ *
253
+ * [Node.js Reference](https://nodejs.org/api/net.html#socketremotefamily)
254
+ */
255
+ family: 'IPv4' | 'IPv6'
256
+ /**
257
+ * The remote port of the client that sent the request.
258
+ *
259
+ * [Node.js Reference](https://nodejs.org/api/net.html#socketremoteport)
260
+ */
261
+ port: number
262
+ }
263
+
264
+ /**
265
+ * A function that handles an error that occurred during request handling. May return a response to
266
+ * send to the client, or `undefined` to allow the server to send a default error response.
267
+ *
268
+ * [MDN `Response` Reference](https://developer.mozilla.org/en-US/docs/Web/API/Response)
269
+ */
270
+ export type ErrorHandler = (
271
+ error: unknown,
272
+ ) => undefined | Response | Promise<undefined | Response>
273
+
274
+ /**
275
+ * A function that handles an incoming request and returns a response.
276
+ *
277
+ * [MDN `Request` Reference](https://developer.mozilla.org/en-US/docs/Web/API/Request)
278
+ *
279
+ * [MDN `Response` Reference](https://developer.mozilla.org/en-US/docs/Web/API/Response)
280
+ */
281
+ export type FetchHandler = (
282
+ request: Request,
283
+ client: ClientAddress,
284
+ ) => Response | Promise<Response>