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,344 @@
1
+ import type * as Address from 'ox/Address';
2
+ import * as Hex from 'ox/Hex';
3
+ import type * as z from 'zod/mini';
4
+ import type * as Account from "../../viem/Account.js";
5
+ import type * as Key from "../../viem/Key.js";
6
+ import type { RelayClient } from "../../viem/RelayClient.js";
7
+ import type * as Chains from "../Chains.js";
8
+ import type * as RpcSchema from "../RpcSchema.js";
9
+ import * as Call from "./call.js";
10
+ import type * as PermissionsRequest from "./permissionsRequest.js";
11
+ import type * as Porto from "./porto.js";
12
+ import type * as Capabilities from "./schema/capabilities.js";
13
+ import type * as RpcRequest from "./schema/request.js";
14
+ import type * as Token from "./schema/token.js";
15
+ import type { Assign, PartialBy } from "./types.js";
16
+ export type ActionsInternal<chains extends readonly [Chains.Chain, ...Chains.Chain[]] = readonly [
17
+ Chains.Chain,
18
+ ...Chains.Chain[]
19
+ ]> = Pick<Porto.Internal<chains>, 'config' | 'store'> & {
20
+ /** Viem Client. */
21
+ client: RelayClient;
22
+ /** RPC Request. */
23
+ request: RpcRequest.Request;
24
+ };
25
+ type PrepareCallsContext = {
26
+ calls?: readonly Call.Call[] | undefined;
27
+ nonce?: bigint | undefined;
28
+ [key: string]: unknown;
29
+ };
30
+ export type Mode = {
31
+ actions: {
32
+ addFunds: (parameters: {
33
+ /** Address to add funds to. */
34
+ address: Address.Address;
35
+ /** Internal properties. */
36
+ internal: ActionsInternal;
37
+ /** Token to add funds to. */
38
+ token?: Address.Address | undefined;
39
+ /** Amount to add. */
40
+ value?: string | undefined;
41
+ }) => Promise<{
42
+ id: Hex.Hex;
43
+ }>;
44
+ createAccount: (parameters: {
45
+ /** Admins to grant. */
46
+ admins?: readonly Pick<Key.Key, 'publicKey' | 'type'>[] | undefined;
47
+ /** Whether to link `label` to account address as email. */
48
+ email?: boolean | undefined;
49
+ /** Internal properties. */
50
+ internal: ActionsInternal;
51
+ /** Label to associate with the WebAuthn credential. */
52
+ label?: string | undefined;
53
+ /** Permissions to grant. */
54
+ permissions?: PermissionsRequest.PermissionsRequest | undefined;
55
+ /** Adds support for offchain authentication using ERC-4361. */
56
+ signInWithEthereum?: Capabilities.signInWithEthereum.Request | undefined;
57
+ }) => Promise<{
58
+ /** Account. */
59
+ account: Account.Account & {
60
+ signInWithEthereum?: {
61
+ message: string;
62
+ signature: Hex.Hex;
63
+ } | undefined;
64
+ };
65
+ }>;
66
+ disconnect?: ((parameters: {
67
+ /** Internal properties. */
68
+ internal: ActionsInternal;
69
+ }) => Promise<void>) | undefined;
70
+ getAccountVersion: (parameters: {
71
+ /** Address of the account to get the version of. */
72
+ address: Address.Address;
73
+ /** Internal properties. */
74
+ internal: ActionsInternal;
75
+ }) => Promise<{
76
+ /** Latest version. */
77
+ latest: string;
78
+ /** Current version. */
79
+ current: string;
80
+ }>;
81
+ getAssets: (parameters: RpcRequest.wallet_getAssets.Parameters & {
82
+ /** Internal properties. */
83
+ internal: ActionsInternal;
84
+ }) => Promise<RpcSchema.wallet_getAssets.Response>;
85
+ getCallsStatus: (parameters: {
86
+ /** ID of the calls to get the status of. */
87
+ id: Hex.Hex;
88
+ /** Internal properties. */
89
+ internal: ActionsInternal;
90
+ }) => Promise<z.input<typeof RpcSchema.wallet_getCallsStatus.Response>>;
91
+ getCapabilities: (parameters: {
92
+ /** Chain IDs to get the capabilities for. */
93
+ chainIds?: readonly Hex.Hex[] | undefined;
94
+ /** Internal properties. */
95
+ internal: ActionsInternal;
96
+ }) => Promise<z.input<typeof RpcSchema.wallet_getCapabilities.Response>>;
97
+ getKeys: (parameters: {
98
+ /** Account to get the keys for. */
99
+ account: Account.Account;
100
+ /** Chain IDs to get the keys for. */
101
+ chainIds?: readonly number[] | undefined;
102
+ /** Internal properties. */
103
+ internal: ActionsInternal;
104
+ }) => Promise<readonly Key.Key[]>;
105
+ grantAdmin: (parameters: {
106
+ /** Account to grant admin for. */
107
+ account: Account.Account;
108
+ /** Internal properties. */
109
+ internal: ActionsInternal;
110
+ /** Fee token to use for execution. If not provided, the native token (e.g. ETH) will be used. */
111
+ feeToken?: Token.Symbol | Address.Address | undefined;
112
+ /** Key to authorize as an admin. */
113
+ key: Key.from.Value;
114
+ }) => Promise<{
115
+ /** Key the admin is granted to. */
116
+ key: Key.Key;
117
+ }>;
118
+ grantPermissions: (parameters: {
119
+ /** Account to grant permissions for. */
120
+ account: Account.Account;
121
+ /** Internal properties. */
122
+ internal: ActionsInternal;
123
+ /** Permissions to grant. */
124
+ permissions?: PermissionsRequest.PermissionsRequest | undefined;
125
+ }) => Promise<{
126
+ /** Key the permissions are granted to. */
127
+ key: Key.Key;
128
+ }>;
129
+ loadAccounts: (parameters: {
130
+ /** Address of the account to load. */
131
+ address?: Hex.Hex | undefined;
132
+ /** Key to use to load an existing account. */
133
+ key?: {
134
+ /** Credential ID. May be `undefined` when the key is not a WebAuthn credential. */
135
+ credentialId?: string | undefined;
136
+ /** Public key. */
137
+ publicKey: Hex.Hex;
138
+ } | undefined;
139
+ /** Internal properties. */
140
+ internal: ActionsInternal;
141
+ /** Permissions to grant. */
142
+ permissions?: PermissionsRequest.PermissionsRequest | undefined;
143
+ /** Adds support for offchain authentication using ERC-4361. */
144
+ signInWithEthereum?: Capabilities.signInWithEthereum.Request | undefined;
145
+ }) => Promise<{
146
+ /** Accounts. */
147
+ accounts: readonly (Account.Account & {
148
+ signInWithEthereum?: {
149
+ message: string;
150
+ signature: Hex.Hex;
151
+ } | undefined;
152
+ })[];
153
+ }>;
154
+ prepareCalls: (parameters: {
155
+ /** Account to execute the calls with. */
156
+ account: Account.Account;
157
+ /** Calls to execute. */
158
+ calls: readonly Call.Call[];
159
+ /** Key that will be used to sign over the digest. */
160
+ key?: Pick<Key.Key, 'prehash' | 'publicKey' | 'type'> | undefined;
161
+ /** Fee token to use for execution. If not provided, the native token (e.g. ETH) will be used. */
162
+ feeToken?: Token.Symbol | Address.Address | undefined;
163
+ /** Internal properties. */
164
+ internal: ActionsInternal;
165
+ /** Merchant RPC URL. */
166
+ merchantUrl?: string | undefined;
167
+ /** Required funds to execute the calls. */
168
+ requiredFunds?: RpcSchema.wallet_prepareCalls.Capabilities['requiredFunds'] | undefined;
169
+ }) => Promise<{
170
+ /** Account to execute the calls with. */
171
+ account: Account.Account;
172
+ /** Chain ID. */
173
+ chainId?: number | undefined;
174
+ /** Capabilities. */
175
+ capabilities?: RpcSchema.wallet_prepareCalls.Response['capabilities'] | undefined;
176
+ /** Context for `sendPreparedCalls` */
177
+ context: PrepareCallsContext;
178
+ /** Digest to sign. */
179
+ digest: Hex.Hex;
180
+ /** Key that will sign over the digest. */
181
+ key: Pick<Key.Key, 'prehash' | 'publicKey' | 'type'>;
182
+ /** EIP-712 typed data. */
183
+ typedData: RpcSchema.wallet_prepareCalls.Response['typedData'];
184
+ }>;
185
+ prepareUpgradeAccount: (parameters: {
186
+ /** Address of the account to import. */
187
+ address: Address.Address;
188
+ /** Whether to link `label` to account address as email. */
189
+ email?: boolean | undefined;
190
+ /** Label to associate with the account. */
191
+ label?: string | undefined;
192
+ /** Internal properties. */
193
+ internal: ActionsInternal;
194
+ /** Permissions to grant. */
195
+ permissions?: PermissionsRequest.PermissionsRequest | undefined;
196
+ }) => Promise<{
197
+ /** Digests to sign. */
198
+ digests: {
199
+ auth: Hex.Hex;
200
+ exec: Hex.Hex;
201
+ };
202
+ /** Filled context for the `createAccount` implementation. */
203
+ context: unknown;
204
+ }>;
205
+ revokeAdmin: (parameters: {
206
+ /** Account to revoke the permissions for. */
207
+ account: Account.Account;
208
+ /** Fee token to use for execution. If not provided, the native token (e.g. ETH) will be used. */
209
+ feeToken?: Token.Symbol | Address.Address | undefined;
210
+ /** ID of the admin to revoke. */
211
+ id: Hex.Hex;
212
+ /** Internal properties. */
213
+ internal: ActionsInternal;
214
+ }) => Promise<void>;
215
+ revokePermissions: (parameters: {
216
+ /** Account to revoke the permissions for. */
217
+ account: Account.Account;
218
+ /** Fee token to use for execution. If not provided, the native token (e.g. ETH) will be used. */
219
+ feeToken?: Token.Symbol | Address.Address | undefined;
220
+ /** ID of the permissions to revoke. */
221
+ id: Hex.Hex;
222
+ /** Internal properties. */
223
+ internal: ActionsInternal;
224
+ }) => Promise<void>;
225
+ sendCalls: (parameters: {
226
+ /** Account to execute the calls with. */
227
+ account: Account.Account;
228
+ /** Whether the returned bundle identifier is the transaction hash. */
229
+ asTxHash?: boolean | undefined;
230
+ /** Calls to execute. */
231
+ calls: readonly Call.Call[];
232
+ /** Fee token to use for execution. If not provided, the native token (e.g. ETH) will be used. */
233
+ feeToken?: Token.Symbol | Address.Address | undefined;
234
+ /** Internal properties. */
235
+ internal: ActionsInternal;
236
+ /** Required funds to execute the calls. */
237
+ requiredFunds?: RpcSchema.wallet_prepareCalls.Capabilities['requiredFunds'] | undefined;
238
+ /** Permissions ID to use to execute the calls. */
239
+ permissionsId?: Hex.Hex | null | undefined;
240
+ /** Merchant RPC URL. */
241
+ merchantUrl?: string | undefined;
242
+ }) => Promise<{
243
+ id: Hex.Hex;
244
+ }>;
245
+ sendPreparedCalls: (parameters: {
246
+ /** Account. */
247
+ account: Account.Account;
248
+ /** Context. */
249
+ context: PrepareCallsContext;
250
+ /** Key. */
251
+ key: Pick<Key.Key, 'prehash' | 'publicKey' | 'type'>;
252
+ /** Signature for execution. */
253
+ signature: Hex.Hex;
254
+ /** Internal properties. */
255
+ internal: ActionsInternal;
256
+ }) => Promise<Hex.Hex>;
257
+ signPersonalMessage: (parameters: {
258
+ /** Account to sign the message with. */
259
+ account: Account.Account;
260
+ /** Data to sign. */
261
+ data: Hex.Hex;
262
+ /** Internal properties. */
263
+ internal: ActionsInternal;
264
+ }) => Promise<Hex.Hex>;
265
+ signTypedData: (parameters: {
266
+ /** Account to sign the message with. */
267
+ account: Account.Account;
268
+ /** Data to sign. */
269
+ data: string;
270
+ /** Internal properties. */
271
+ internal: ActionsInternal;
272
+ }) => Promise<Hex.Hex>;
273
+ switchChain?: ((parameters: {
274
+ /** Chain ID to switch to. */
275
+ chainId: number;
276
+ /** Internal properties. */
277
+ internal: ActionsInternal;
278
+ }) => Promise<void>) | undefined;
279
+ upgradeAccount: (parameters: {
280
+ /** Account to upgrade. */
281
+ account: Account.Account;
282
+ /** Preparation context (from `prepareUpgradeAccount`). */
283
+ context: unknown;
284
+ /** Internal properties. */
285
+ internal: ActionsInternal;
286
+ /** Preparation signatures (from `prepareUpgradeAccount`). */
287
+ signatures: {
288
+ auth: Hex.Hex;
289
+ exec: Hex.Hex;
290
+ };
291
+ }) => Promise<{
292
+ /** Account. */
293
+ account: Account.Account;
294
+ }>;
295
+ verifyEmail: (parameters: {
296
+ /** Account to sign the email + token with. */
297
+ account: Account.Account;
298
+ /** Chain ID to verify against. */
299
+ chainId: number;
300
+ /** Email to link to wallet address. */
301
+ email: string;
302
+ /** Generated token value. */
303
+ token: string;
304
+ /** Wallet address to link to email. */
305
+ walletAddress: Address.Address;
306
+ /** Internal properties. */
307
+ internal: ActionsInternal;
308
+ }) => Promise<null>;
309
+ };
310
+ config?: unknown | undefined;
311
+ name: string;
312
+ setup: (parameters: {
313
+ /** Internal properties. */
314
+ internal: Porto.Internal;
315
+ }) => () => void;
316
+ };
317
+ /**
318
+ * Instantiates a mode.
319
+ *
320
+ * @param mode - Mode.
321
+ * @returns Mode.
322
+ */
323
+ export declare function from<const mode extends from.Parameters>(mode: mode | from.Parameters): Assign<Mode, mode>;
324
+ export declare namespace from {
325
+ type Parameters = PartialBy<Mode, 'setup'>;
326
+ }
327
+ /**
328
+ * Returns the calls needed to authorize the given keys (and permissions).
329
+ *
330
+ * @param keys - Keys to authorize.
331
+ * @returns Calls to authorize the given keys.
332
+ */
333
+ export declare function getAuthorizeCalls(keys: readonly Key.Key[]): readonly Call.Call[];
334
+ /**
335
+ *
336
+ * @param parameters
337
+ * @returns
338
+ */
339
+ export declare function getAuthorizedExecuteKey(parameters: {
340
+ account: Account.Account;
341
+ calls: readonly Call.Call[];
342
+ permissionsId?: Hex.Hex | null | undefined;
343
+ }): Promise<Key.Key | undefined>;
344
+ export {};
@@ -0,0 +1,110 @@
1
+ import * as AbiItem from 'ox/AbiItem';
2
+ import * as Hex from 'ox/Hex';
3
+ import * as Call from "./call.js";
4
+ /**
5
+ * Instantiates a mode.
6
+ *
7
+ * @param mode - Mode.
8
+ * @returns Mode.
9
+ */
10
+ export function from(mode) {
11
+ return {
12
+ ...mode,
13
+ setup: mode.setup ?? (() => () => { }),
14
+ };
15
+ }
16
+ /**
17
+ * Returns the calls needed to authorize the given keys (and permissions).
18
+ *
19
+ * @param keys - Keys to authorize.
20
+ * @returns Calls to authorize the given keys.
21
+ */
22
+ export function getAuthorizeCalls(keys) {
23
+ return keys.flatMap((key) => {
24
+ const { permissions, role } = key;
25
+ const permissionCalls = [];
26
+ // Set call scopes.
27
+ if (permissions?.calls)
28
+ permissionCalls.push(...permissions.calls.map((scope) => {
29
+ const selector = (() => {
30
+ if (!scope.signature)
31
+ return undefined;
32
+ if (scope.signature.startsWith('0x'))
33
+ return scope.signature;
34
+ return AbiItem.getSelector(scope.signature);
35
+ })();
36
+ return Call.setCanExecute({
37
+ key,
38
+ selector,
39
+ to: scope.to,
40
+ });
41
+ }));
42
+ else if (role === 'session')
43
+ permissionCalls.push(Call.setCanExecute({ key }));
44
+ // Set spend limits.
45
+ if (permissions?.spend)
46
+ permissionCalls.push(...permissions.spend.map((spend) => Call.setSpendLimit({ key, ...spend })));
47
+ // If no spend limits are provided for a session, set a default of 0
48
+ // (account cannot spend ERC20, ERC721, ETH, etc).
49
+ else if (role === 'session')
50
+ permissionCalls.push(Call.setSpendLimit({ key, limit: 0n, period: 'year' }));
51
+ // Set authorized contracts for signature verification.
52
+ if (permissions?.signatureVerification) {
53
+ const { addresses } = permissions.signatureVerification;
54
+ permissionCalls.push(...addresses.map((address) => Call.setSignatureCheckerApproval({
55
+ address,
56
+ enabled: true,
57
+ key,
58
+ })));
59
+ }
60
+ return [Call.authorize({ key }), ...permissionCalls];
61
+ });
62
+ }
63
+ /**
64
+ *
65
+ * @param parameters
66
+ * @returns
67
+ */
68
+ export async function getAuthorizedExecuteKey(parameters) {
69
+ const { account, calls, permissionsId } = parameters;
70
+ // If a key is provided, use it.
71
+ if (typeof permissionsId !== 'undefined') {
72
+ if (permissionsId === null)
73
+ return undefined;
74
+ const key = account.keys?.find((key) => key.publicKey === permissionsId && key.privateKey);
75
+ if (!key)
76
+ throw new Error(`permission (id: ${permissionsId}) does not exist.`);
77
+ return key;
78
+ }
79
+ // Otherwise, try and find a valid session key.
80
+ const sessionKey = account.keys?.find((key) => {
81
+ if (!key.privateKey)
82
+ return false;
83
+ if (key.role !== 'session')
84
+ return false;
85
+ if (key.expiry < BigInt(Math.floor(Date.now() / 1000)))
86
+ return false;
87
+ // Check if every call is covered by a call permission.
88
+ const hasValidScope = calls.every((call) => key.permissions?.calls?.some((scope) => {
89
+ if (scope.to && scope.to !== call.to)
90
+ return false;
91
+ if (scope.signature) {
92
+ if (!call.data)
93
+ return false;
94
+ const selector = Hex.slice(call.data, 0, 4);
95
+ if (Hex.validate(scope.signature))
96
+ return scope.signature === selector;
97
+ if (AbiItem.getSelector(scope.signature) !== selector)
98
+ return false;
99
+ }
100
+ return true;
101
+ }));
102
+ if (hasValidScope)
103
+ return true;
104
+ return false;
105
+ });
106
+ // Fall back to an admin key.
107
+ const adminKey = account.keys?.find((key) => key.role === 'admin' && key.privateKey);
108
+ return sessionKey ?? adminKey;
109
+ }
110
+ //# sourceMappingURL=mode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mode.js","sourceRoot":"","sources":["../../../src/core/internal/mode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,YAAY,CAAA;AAErC,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAA;AAQ7B,OAAO,KAAK,IAAI,kBAAiB;AA6VjC;;;;;GAKG;AACH,MAAM,UAAU,IAAI,CAClB,IAA4B;IAE5B,OAAO;QACL,GAAG,IAAI;QACP,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;KAC7B,CAAA;AACZ,CAAC;AAMD;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAwB;IAExB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAC1B,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,GAAG,CAAA;QAEjC,MAAM,eAAe,GAAgB,EAAE,CAAA;QAEvC,mBAAmB;QACnB,IAAI,WAAW,EAAE,KAAK;YACpB,eAAe,CAAC,IAAI,CAClB,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjC,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE;oBACrB,IAAI,CAAC,KAAK,CAAC,SAAS;wBAAE,OAAO,SAAS,CAAA;oBACtC,IAAI,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;wBAClC,OAAO,KAAK,CAAC,SAAoB,CAAA;oBACnC,OAAO,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;gBAC7C,CAAC,CAAC,EAAE,CAAA;gBACJ,OAAO,IAAI,CAAC,aAAa,CAAC;oBACxB,GAAG;oBACH,QAAQ;oBACR,EAAE,EAAE,KAAK,CAAC,EAAE;iBACb,CAAC,CAAA;YACJ,CAAC,CAAC,CACH,CAAA;aACE,IAAI,IAAI,KAAK,SAAS;YACzB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;QAEnD,oBAAoB;QACpB,IAAI,WAAW,EAAE,KAAK;YACpB,eAAe,CAAC,IAAI,CAClB,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACjC,IAAI,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,CACtC,CACF,CAAA;QACH,oEAAoE;QACpE,kDAAkD;aAC7C,IAAI,IAAI,KAAK,SAAS;YACzB,eAAe,CAAC,IAAI,CAClB,IAAI,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CACvD,CAAA;QAEH,uDAAuD;QACvD,IAAI,WAAW,EAAE,qBAAqB,EAAE,CAAC;YACvC,MAAM,EAAE,SAAS,EAAE,GAAG,WAAW,CAAC,qBAAqB,CAAA;YACvD,eAAe,CAAC,IAAI,CAClB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAC3B,IAAI,CAAC,2BAA2B,CAAC;gBAC/B,OAAO;gBACP,OAAO,EAAE,IAAI;gBACb,GAAG;aACJ,CAAC,CACH,CACF,CAAA;QACH,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,eAAe,CAAC,CAAA;IACtD,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,UAI7C;IACC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,UAAU,CAAA;IAEpD,gCAAgC;IAChC,IAAI,OAAO,aAAa,KAAK,WAAW,EAAE,CAAC;QACzC,IAAI,aAAa,KAAK,IAAI;YAAE,OAAO,SAAS,CAAA;QAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,CAC5B,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,KAAK,aAAa,IAAI,GAAG,CAAC,UAAU,CAC3D,CAAA;QACD,IAAI,CAAC,GAAG;YACN,MAAM,IAAI,KAAK,CAAC,mBAAmB,aAAa,mBAAmB,CAAC,CAAA;QACtE,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,+CAA+C;IAC/C,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;QAC5C,IAAI,CAAC,GAAG,CAAC,UAAU;YAAE,OAAO,KAAK,CAAA;QACjC,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,KAAK,CAAA;QACxC,IAAI,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;YAAE,OAAO,KAAK,CAAA;QAEpE,uDAAuD;QACvD,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CACzC,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;YACrC,IAAI,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE;gBAAE,OAAO,KAAK,CAAA;YAClD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBACpB,IAAI,CAAC,IAAI,CAAC,IAAI;oBAAE,OAAO,KAAK,CAAA;gBAC5B,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;gBAC3C,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC;oBAAE,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAA;gBACtE,IAAI,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,QAAQ;oBAAE,OAAO,KAAK,CAAA;YACrE,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC,CAAC,CACH,CAAA;QACD,IAAI,aAAa;YAAE,OAAO,IAAI,CAAA;QAE9B,OAAO,KAAK,CAAA;IACd,CAAC,CAAC,CAAA;IAEF,6BAA6B;IAC7B,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,CACjC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,GAAG,CAAC,UAAU,CAChD,CAAA;IAED,OAAO,UAAU,IAAI,QAAQ,CAAA;AAC/B,CAAC"}