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,468 @@
1
+ import {
2
+ type BaseError,
3
+ type Config,
4
+ type Connector,
5
+ ConnectorAlreadyConnectedError,
6
+ type CreateConnectorFn,
7
+ ProviderNotFoundError,
8
+ } from '@wagmi/core'
9
+ import {
10
+ type ConnectReturnType,
11
+ getConnectorClient,
12
+ disconnect as wagmi_disconnect,
13
+ } from '@wagmi/core/actions'
14
+ import {
15
+ type Address,
16
+ type Chain,
17
+ ChainMismatchError,
18
+ createClient,
19
+ custom,
20
+ type EIP1193Provider,
21
+ } from 'viem'
22
+ import type { PartialBy } from '../../core/internal/types.js'
23
+ import type * as RpcSchema from '../../core/RpcSchema.js'
24
+ import * as AccountActions from '../../viem/AccountActions.js'
25
+ import * as WalletActions from '../../viem/WalletActions.js'
26
+ import type { ChainIdParameter, ConnectorParameter } from './types.js'
27
+
28
+ export async function connect<config extends Config>(
29
+ config: config,
30
+ parameters: connect.Parameters,
31
+ ): Promise<connect.ReturnType> {
32
+ // "Register" connector if not already created
33
+ let connector: Connector
34
+ if (typeof parameters.connector === 'function') {
35
+ connector = config._internal.connectors.setup(parameters.connector)
36
+ } else connector = parameters.connector
37
+
38
+ // Check if connector is already connected
39
+ if (connector.uid === config.state.current && !parameters.force)
40
+ throw new ConnectorAlreadyConnectedError()
41
+
42
+ try {
43
+ config.setState((x) => ({ ...x, status: 'connecting' }))
44
+ connector.emitter.emit('message', { type: 'connecting' })
45
+
46
+ const provider = (await connector.getProvider()) as
47
+ | EIP1193Provider
48
+ | undefined
49
+ if (!provider) throw new ProviderNotFoundError()
50
+
51
+ const client = createClient({
52
+ transport: (opts) => custom(provider)({ ...opts, retryCount: 0 }),
53
+ })
54
+
55
+ const chainIds_request = parameters.chainIds ?? [config.state.chainId]
56
+
57
+ const { accounts, chainIds } = await WalletActions.connect(client, {
58
+ ...parameters,
59
+ chainIds: chainIds_request,
60
+ })
61
+ const addresses = accounts.map((x) => x.address) as unknown as readonly [
62
+ Address,
63
+ ...Address[],
64
+ ]
65
+
66
+ // we already connected, but call `connector.connect` so connector even listeners are set up
67
+ await connector.connect({
68
+ chainId: chainIds_request[0],
69
+ isReconnecting: true,
70
+ })
71
+
72
+ connector.emitter.off('connect', config._internal.events.connect)
73
+ connector.emitter.on('change', config._internal.events.change)
74
+ connector.emitter.on('disconnect', config._internal.events.disconnect)
75
+
76
+ await config.storage?.setItem('recentConnectorId', connector.id)
77
+ config.setState((x) => ({
78
+ ...x,
79
+ connections: new Map(x.connections).set(connector.uid, {
80
+ accounts: addresses,
81
+ chainId: chainIds[0]!,
82
+ connector,
83
+ }),
84
+ current: connector.uid,
85
+ status: 'connected',
86
+ }))
87
+
88
+ return { accounts, chainIds }
89
+ } catch (error) {
90
+ config.setState((x) => ({
91
+ ...x,
92
+ // Keep existing connector connected in case of error
93
+ status: x.current ? 'connected' : 'disconnected',
94
+ }))
95
+ throw error
96
+ }
97
+ }
98
+
99
+ export declare namespace connect {
100
+ type Parameters = RpcSchema.wallet_connect.Capabilities & {
101
+ connector: Connector | CreateConnectorFn
102
+ chainIds?: readonly [number, ...number[]] | undefined
103
+ force?: boolean | undefined
104
+ }
105
+
106
+ type ReturnType = RpcSchema.wallet_connect.Response
107
+
108
+ // TODO: Exhaustive ErrorType
109
+ type ErrorType = BaseError
110
+ }
111
+
112
+ export async function disconnect(
113
+ config: Config,
114
+ parameters: disconnect.Parameters = {},
115
+ ): Promise<disconnect.ReturnType> {
116
+ const connector = (() => {
117
+ if (parameters.connector) return parameters.connector
118
+ const { connections, current } = config.state
119
+ const connection = connections.get(current!)
120
+ return connection?.connector
121
+ })()
122
+
123
+ const provider = (await connector?.getProvider()) as
124
+ | EIP1193Provider
125
+ | undefined
126
+
127
+ await wagmi_disconnect(config, parameters)
128
+
129
+ if (!provider) return
130
+
131
+ const client = createClient({
132
+ transport: (opts) => custom(provider)({ ...opts, retryCount: 0 }),
133
+ })
134
+ await WalletActions.disconnect(client)
135
+ }
136
+
137
+ export declare namespace disconnect {
138
+ type Parameters = ConnectorParameter
139
+
140
+ // biome-ignore lint/suspicious/noConfusingVoidType: _
141
+ type ReturnType = void
142
+
143
+ // TODO: Exhaustive ErrorType
144
+ type ErrorType = BaseError
145
+ }
146
+
147
+ export async function addFunds<config extends Config>(
148
+ config: config,
149
+ parameters: addFunds.Parameters<config>,
150
+ ): Promise<addFunds.ReturnType> {
151
+ const { address, chainId, connector } = parameters
152
+
153
+ const client = await getConnectorClient(config, {
154
+ account: address,
155
+ assertChainId: false,
156
+ chainId,
157
+ connector,
158
+ })
159
+
160
+ return WalletActions.addFunds(client, parameters)
161
+ }
162
+
163
+ export declare namespace addFunds {
164
+ type Parameters<config extends Config = Config> = ChainIdParameter<config> &
165
+ ConnectorParameter &
166
+ WalletActions.addFunds.Parameters
167
+
168
+ type ReturnType = WalletActions.addFunds.ReturnType
169
+
170
+ // TODO: Exhaustive ErrorType
171
+ type ErrorType = BaseError
172
+ }
173
+
174
+ export async function getAdmins<config extends Config>(
175
+ config: config,
176
+ parameters: getAdmins.Parameters<config>,
177
+ ): Promise<getAdmins.ReturnType> {
178
+ const { address, chainId, connector } = parameters
179
+
180
+ const client = await getConnectorClient(config, {
181
+ account: address,
182
+ assertChainId: false,
183
+ chainId,
184
+ connector,
185
+ })
186
+
187
+ return WalletActions.getAdmins(client, parameters)
188
+ }
189
+
190
+ export declare namespace getAdmins {
191
+ type Parameters<config extends Config = Config> = ChainIdParameter<config> &
192
+ ConnectorParameter &
193
+ WalletActions.getAdmins.Parameters
194
+
195
+ type ReturnType = WalletActions.getAdmins.ReturnType
196
+
197
+ // TODO: Exhaustive ErrorType
198
+ type ErrorType = BaseError
199
+ }
200
+
201
+ export async function getAssets<config extends Config>(
202
+ config: config,
203
+ parameters: getAssets.Parameters = {},
204
+ ): Promise<getAssets.ReturnType> {
205
+ const { account, connector } = parameters
206
+
207
+ const client = await getConnectorClient(config, {
208
+ account,
209
+ assertChainId: false,
210
+ connector,
211
+ })
212
+
213
+ return WalletActions.getAssets(client as any, parameters)
214
+ }
215
+
216
+ export declare namespace getAssets {
217
+ type Parameters = ConnectorParameter &
218
+ PartialBy<WalletActions.getAssets.Parameters, 'account'>
219
+
220
+ type ReturnType = WalletActions.getAssets.ReturnType
221
+
222
+ // TODO: Exhaustive ErrorType
223
+ type ErrorType = BaseError
224
+ }
225
+
226
+ export async function getPermissions<config extends Config>(
227
+ config: config,
228
+ parameters: getPermissions.Parameters<config> = {},
229
+ ): Promise<getPermissions.ReturnType> {
230
+ const { address, chainId, connector } = parameters
231
+
232
+ const client = await getConnectorClient(config, {
233
+ account: address,
234
+ assertChainId: false,
235
+ chainId,
236
+ connector,
237
+ })
238
+
239
+ return WalletActions.getPermissions(client, parameters)
240
+ }
241
+
242
+ export declare namespace getPermissions {
243
+ type Parameters<config extends Config = Config> = ChainIdParameter<config> &
244
+ ConnectorParameter &
245
+ WalletActions.getPermissions.Parameters
246
+
247
+ type ReturnType = WalletActions.getPermissions.ReturnType
248
+
249
+ // TODO: Exhaustive ErrorType
250
+ type ErrorType = BaseError
251
+ }
252
+
253
+ export async function grantAdmin<config extends Config>(
254
+ config: config,
255
+ parameters: grantAdmin.Parameters<config>,
256
+ ): Promise<grantAdmin.ReturnType> {
257
+ const { address, chainId, connector } = parameters
258
+
259
+ const client = await getConnectorClient(config, {
260
+ account: address,
261
+ assertChainId: false,
262
+ chainId,
263
+ connector,
264
+ })
265
+
266
+ return WalletActions.grantAdmin(client, parameters)
267
+ }
268
+
269
+ export declare namespace grantAdmin {
270
+ type Parameters<config extends Config = Config> = ChainIdParameter<config> &
271
+ ConnectorParameter &
272
+ WalletActions.grantAdmin.Parameters
273
+
274
+ type ReturnType = WalletActions.grantAdmin.ReturnType
275
+
276
+ // TODO: Exhaustive ErrorType
277
+ type ErrorType = BaseError
278
+ }
279
+
280
+ export async function grantPermissions<config extends Config>(
281
+ config: config,
282
+ parameters: grantPermissions.Parameters<config>,
283
+ ): Promise<grantPermissions.ReturnType> {
284
+ const { address, chainId, connector } = parameters
285
+
286
+ const client = await getConnectorClient(config, {
287
+ account: address,
288
+ assertChainId: false,
289
+ chainId,
290
+ connector,
291
+ })
292
+
293
+ return WalletActions.grantPermissions(client, parameters)
294
+ }
295
+
296
+ export declare namespace grantPermissions {
297
+ type Parameters<config extends Config = Config> = ChainIdParameter<config> &
298
+ ConnectorParameter &
299
+ WalletActions.grantPermissions.Parameters
300
+
301
+ type ReturnType = WalletActions.grantPermissions.ReturnType
302
+
303
+ // TODO: Exhaustive ErrorType
304
+ type ErrorType = BaseError
305
+ }
306
+
307
+ export async function revokeAdmin<config extends Config>(
308
+ config: config,
309
+ parameters: revokeAdmin.Parameters<config>,
310
+ ) {
311
+ const { address, chainId, connector } = parameters
312
+
313
+ const client = await getConnectorClient(config, {
314
+ account: address,
315
+ assertChainId: false,
316
+ chainId,
317
+ connector,
318
+ })
319
+
320
+ return WalletActions.revokeAdmin(client, parameters)
321
+ }
322
+
323
+ export declare namespace revokeAdmin {
324
+ type Parameters<config extends Config = Config> = ChainIdParameter<config> &
325
+ ConnectorParameter &
326
+ WalletActions.revokeAdmin.Parameters
327
+
328
+ // TODO: Exhaustive ErrorType
329
+ type ErrorType = BaseError
330
+ }
331
+
332
+ export async function revokePermissions<config extends Config>(
333
+ config: config,
334
+ parameters: revokePermissions.Parameters<config>,
335
+ ) {
336
+ const { address, chainId, connector } = parameters
337
+
338
+ const client = await getConnectorClient(config, {
339
+ account: address,
340
+ assertChainId: false,
341
+ chainId,
342
+ connector,
343
+ })
344
+
345
+ return WalletActions.revokePermissions(client, parameters)
346
+ }
347
+
348
+ export declare namespace revokePermissions {
349
+ type Parameters<config extends Config = Config> = ChainIdParameter<config> &
350
+ ConnectorParameter &
351
+ WalletActions.revokePermissions.Parameters
352
+
353
+ // TODO: Exhaustive ErrorType
354
+ type ErrorType = BaseError
355
+ }
356
+
357
+ export async function upgradeAccount<config extends Config>(
358
+ config: config,
359
+ parameters: upgradeAccount.Parameters<config>,
360
+ ): Promise<upgradeAccount.ReturnType> {
361
+ // "Register" connector if not already created
362
+ let connector: Connector
363
+ if (typeof parameters.connector === 'function') {
364
+ connector = config._internal.connectors.setup(parameters.connector)
365
+ } else connector = parameters.connector
366
+
367
+ // Check if connector is already connected
368
+ if (connector.uid === config.state.current)
369
+ throw new ConnectorAlreadyConnectedError()
370
+
371
+ if (parameters.chainId && parameters.chainId !== config.state.chainId)
372
+ throw new ChainMismatchError({
373
+ chain:
374
+ config.chains.find((chain) => chain.id === parameters.chainId) ??
375
+ ({
376
+ id: parameters.chainId,
377
+ name: `Chain ${parameters.chainId}`,
378
+ } as Chain),
379
+ currentChainId: config.state.chainId,
380
+ })
381
+
382
+ try {
383
+ config.setState((x) => ({ ...x, status: 'connecting' }))
384
+ connector.emitter.emit('message', { type: 'connecting' })
385
+
386
+ const provider = (await connector.getProvider()) as
387
+ | EIP1193Provider
388
+ | undefined
389
+ if (!provider) throw new ProviderNotFoundError()
390
+
391
+ const client = createClient({
392
+ transport: (opts) => custom(provider)({ ...opts, retryCount: 0 }),
393
+ })
394
+
395
+ await WalletActions.upgradeAccount(client, parameters)
396
+
397
+ // we already connected, but call `connector.connect` so connector even listeners are set up
398
+ const data = await connector.connect({
399
+ chainId: parameters.chainId,
400
+ isReconnecting: true,
401
+ })
402
+ const accounts = data.accounts as readonly [Address, ...Address[]]
403
+
404
+ connector.emitter.off('connect', config._internal.events.connect)
405
+ connector.emitter.on('change', config._internal.events.change)
406
+ connector.emitter.on('disconnect', config._internal.events.disconnect)
407
+
408
+ await config.storage?.setItem('recentConnectorId', connector.id)
409
+ config.setState((x) => ({
410
+ ...x,
411
+ connections: new Map(x.connections).set(connector.uid, {
412
+ accounts,
413
+ chainId: data.chainId,
414
+ connector,
415
+ }),
416
+ current: connector.uid,
417
+ status: 'connected',
418
+ }))
419
+
420
+ return { accounts, chainId: data.chainId }
421
+ } catch (error) {
422
+ config.setState((x) => ({
423
+ ...x,
424
+ // Keep existing connector connected in case of error
425
+ status: x.current ? 'connected' : 'disconnected',
426
+ }))
427
+ throw error
428
+ }
429
+ }
430
+
431
+ export declare namespace upgradeAccount {
432
+ type Parameters<config extends Config = Config> = ChainIdParameter<config> &
433
+ WalletActions.upgradeAccount.Parameters & {
434
+ connector: Connector | CreateConnectorFn
435
+ }
436
+
437
+ type ReturnType<config extends Config = Config> = ConnectReturnType<config>
438
+
439
+ // TODO: Exhaustive ErrorType
440
+ type ErrorType = BaseError
441
+ }
442
+
443
+ export async function verifyEmail<config extends Config>(
444
+ config: config,
445
+ parameters: verifyEmail.Parameters<config>,
446
+ ): Promise<verifyEmail.ReturnType> {
447
+ const { chainId, connector, walletAddress } = parameters
448
+
449
+ const client = await getConnectorClient(config, {
450
+ account: walletAddress,
451
+ assertChainId: false,
452
+ chainId,
453
+ connector,
454
+ })
455
+
456
+ return AccountActions.verifyEmail(client, parameters)
457
+ }
458
+
459
+ export declare namespace verifyEmail {
460
+ type Parameters<config extends Config = Config> = ChainIdParameter<config> &
461
+ ConnectorParameter &
462
+ AccountActions.verifyEmail.Parameters
463
+
464
+ type ReturnType = AccountActions.verifyEmail.ReturnType
465
+
466
+ // TODO: Exhaustive ErrorType
467
+ type ErrorType = BaseError
468
+ }
@@ -0,0 +1,52 @@
1
+ import type { Config } from '@wagmi/core'
2
+
3
+ import type { getAdmins, getAssets, getPermissions } from './core.js'
4
+ import { filterQueryOptions } from './utils.js'
5
+
6
+ export function getAdminsQueryKey<config extends Config>(
7
+ options: getAdmins.Parameters<config> = {},
8
+ ) {
9
+ const { connector, ...parameters } = options
10
+ return [
11
+ 'admins',
12
+ { ...filterQueryOptions(parameters), connectorUid: connector?.uid },
13
+ ] as const
14
+ }
15
+
16
+ export declare namespace getAdminsQueryKey {
17
+ type Value<config extends Config> = ReturnType<
18
+ typeof getAdminsQueryKey<config>
19
+ >
20
+ }
21
+
22
+ export function getPermissionsQueryKey<config extends Config>(
23
+ options: getPermissions.Parameters<config> = {},
24
+ ) {
25
+ const { connector, ...parameters } = options
26
+ return [
27
+ 'permissions',
28
+ { ...filterQueryOptions(parameters), connectorUid: connector?.uid },
29
+ ] as const
30
+ }
31
+
32
+ export declare namespace getPermissionsQueryKey {
33
+ type Value<config extends Config> = ReturnType<
34
+ typeof getPermissionsQueryKey<config>
35
+ >
36
+ }
37
+
38
+ export function getAssetsQueryKey<config extends Config>(
39
+ options: getAssets.Parameters,
40
+ ) {
41
+ const { connector, ...parameters } = options
42
+ return [
43
+ 'assets',
44
+ { ...filterQueryOptions(parameters), connectorUid: connector?.uid },
45
+ ] as const
46
+ }
47
+
48
+ export declare namespace getAssetsQueryKey {
49
+ type Value<config extends Config> = ReturnType<
50
+ typeof getAssetsQueryKey<config>
51
+ >
52
+ }
@@ -0,0 +1,12 @@
1
+ import { test } from 'vitest'
2
+
3
+ test.todo('useConnect')
4
+ test.todo('useDisconnect')
5
+ test.todo('useAdmins')
6
+ test.todo('useGrantAdmin')
7
+ test.todo('useGrantPermissions')
8
+ test.todo('usePermissions')
9
+ test.todo('useRevokeAdmin')
10
+ test.todo('useRevokePermissions')
11
+ test.todo('useUpgradeAccount')
12
+ test.todo('useAddFunds')