@aztec/aztec.js 0.0.0-test.1 → 0.0.1-commit.03f7ef2

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 (409) hide show
  1. package/README.md +1 -1
  2. package/dest/account/account.d.ts +59 -0
  3. package/dest/account/account.d.ts.map +1 -0
  4. package/dest/account/account.js +59 -0
  5. package/dest/account/account_contract.d.ts +43 -0
  6. package/dest/account/account_contract.d.ts.map +1 -0
  7. package/dest/account/{contract.js → account_contract.js} +7 -4
  8. package/dest/account/account_with_secret_key.d.ts +24 -0
  9. package/dest/account/account_with_secret_key.d.ts.map +1 -0
  10. package/dest/{wallet/account_wallet_with_private_key.js → account/account_with_secret_key.js} +5 -5
  11. package/dest/account/index.d.ts +5 -9
  12. package/dest/account/index.d.ts.map +1 -1
  13. package/dest/account/index.js +2 -6
  14. package/dest/account/interface.d.ts +3 -15
  15. package/dest/account/interface.d.ts.map +1 -1
  16. package/dest/account/interface.js +1 -0
  17. package/dest/account/signerless_account.d.ts +23 -0
  18. package/dest/account/signerless_account.d.ts.map +1 -0
  19. package/dest/account/signerless_account.js +27 -0
  20. package/dest/api/abi.d.ts +3 -2
  21. package/dest/api/abi.d.ts.map +1 -1
  22. package/dest/api/abi.js +1 -1
  23. package/dest/api/account.d.ts +7 -3
  24. package/dest/api/account.d.ts.map +1 -1
  25. package/dest/api/account.js +4 -1
  26. package/dest/api/addresses.d.ts +2 -1
  27. package/dest/api/addresses.d.ts.map +1 -1
  28. package/dest/api/addresses.js +1 -0
  29. package/dest/api/authorization.d.ts +5 -0
  30. package/dest/api/authorization.d.ts.map +1 -0
  31. package/dest/api/authorization.js +4 -0
  32. package/dest/api/block.d.ts +3 -0
  33. package/dest/api/block.d.ts.map +1 -0
  34. package/dest/api/block.js +2 -0
  35. package/dest/api/contract.d.ts +49 -0
  36. package/dest/api/contract.d.ts.map +1 -0
  37. package/dest/{contract/index.js → api/contract.js} +15 -11
  38. package/dest/api/crypto.d.ts +2 -0
  39. package/dest/api/crypto.d.ts.map +1 -0
  40. package/dest/api/crypto.js +1 -0
  41. package/dest/api/deployment.d.ts +5 -4
  42. package/dest/api/deployment.d.ts.map +1 -1
  43. package/dest/api/deployment.js +4 -3
  44. package/dest/api/eth_address.d.ts +1 -1
  45. package/dest/api/ethereum.d.ts +2 -0
  46. package/dest/api/ethereum.d.ts.map +1 -0
  47. package/dest/api/ethereum.js +1 -0
  48. package/dest/api/events.d.ts +12 -0
  49. package/dest/api/events.d.ts.map +1 -0
  50. package/dest/api/events.js +30 -0
  51. package/dest/api/fee.d.ts +2 -2
  52. package/dest/api/fee.d.ts.map +1 -1
  53. package/dest/api/fee.js +1 -1
  54. package/dest/api/fee_testing.d.ts +2 -0
  55. package/dest/api/fee_testing.d.ts.map +1 -0
  56. package/dest/api/fee_testing.js +1 -0
  57. package/dest/api/fields.d.ts +3 -2
  58. package/dest/api/fields.d.ts.map +1 -1
  59. package/dest/api/fields.js +2 -1
  60. package/dest/api/keys.d.ts +4 -0
  61. package/dest/api/keys.d.ts.map +1 -0
  62. package/dest/api/keys.js +3 -0
  63. package/dest/api/log.d.ts +2 -1
  64. package/dest/api/log.d.ts.map +1 -1
  65. package/dest/api/log.js +1 -0
  66. package/dest/api/messaging.d.ts +3 -0
  67. package/dest/api/messaging.d.ts.map +1 -0
  68. package/dest/api/messaging.js +2 -0
  69. package/dest/api/node.d.ts +21 -0
  70. package/dest/api/node.d.ts.map +1 -0
  71. package/dest/api/node.js +18 -0
  72. package/dest/api/note.d.ts +2 -0
  73. package/dest/api/note.d.ts.map +1 -0
  74. package/dest/api/note.js +1 -0
  75. package/dest/api/protocol.d.ts +3 -0
  76. package/dest/api/protocol.d.ts.map +1 -0
  77. package/dest/api/protocol.js +2 -0
  78. package/dest/api/trees.d.ts +3 -0
  79. package/dest/api/trees.d.ts.map +1 -0
  80. package/dest/api/trees.js +2 -0
  81. package/dest/api/tx.d.ts +2 -0
  82. package/dest/api/tx.d.ts.map +1 -0
  83. package/dest/api/tx.js +1 -0
  84. package/dest/api/utils.d.ts +13 -0
  85. package/dest/api/utils.d.ts.map +1 -0
  86. package/dest/api/utils.js +12 -0
  87. package/dest/api/wallet.d.ts +4 -2
  88. package/dest/api/wallet.d.ts.map +1 -1
  89. package/dest/api/wallet.js +3 -1
  90. package/dest/authorization/call_authorization_request.d.ts +46 -0
  91. package/dest/authorization/call_authorization_request.d.ts.map +1 -0
  92. package/dest/authorization/call_authorization_request.js +49 -0
  93. package/dest/contract/base_contract_interaction.d.ts +16 -80
  94. package/dest/contract/base_contract_interaction.d.ts.map +1 -1
  95. package/dest/contract/base_contract_interaction.js +15 -128
  96. package/dest/contract/batch_call.d.ts +19 -21
  97. package/dest/contract/batch_call.d.ts.map +1 -1
  98. package/dest/contract/batch_call.js +86 -68
  99. package/dest/contract/checker.d.ts +2 -2
  100. package/dest/contract/checker.d.ts.map +1 -1
  101. package/dest/contract/checker.js +2 -2
  102. package/dest/contract/contract.d.ts +9 -8
  103. package/dest/contract/contract.d.ts.map +1 -1
  104. package/dest/contract/contract.js +10 -20
  105. package/dest/contract/contract_base.d.ts +7 -20
  106. package/dest/contract/contract_base.d.ts.map +1 -1
  107. package/dest/contract/contract_base.js +7 -14
  108. package/dest/contract/contract_function_interaction.d.ts +53 -45
  109. package/dest/contract/contract_function_interaction.d.ts.map +1 -1
  110. package/dest/contract/contract_function_interaction.js +78 -74
  111. package/dest/contract/deploy_method.d.ts +106 -60
  112. package/dest/contract/deploy_method.d.ts.map +1 -1
  113. package/dest/contract/deploy_method.js +125 -133
  114. package/dest/contract/deploy_sent_tx.d.ts +14 -11
  115. package/dest/contract/deploy_sent_tx.d.ts.map +1 -1
  116. package/dest/contract/deploy_sent_tx.js +18 -15
  117. package/dest/contract/get_gas_limits.d.ts +6 -7
  118. package/dest/contract/get_gas_limits.d.ts.map +1 -1
  119. package/dest/contract/get_gas_limits.js +9 -3
  120. package/dest/contract/interaction_options.d.ts +114 -0
  121. package/dest/contract/interaction_options.d.ts.map +1 -0
  122. package/dest/contract/interaction_options.js +46 -0
  123. package/dest/contract/protocol_contracts.d.ts +7 -7
  124. package/dest/contract/protocol_contracts.d.ts.map +1 -1
  125. package/dest/contract/protocol_contracts.js +7 -7
  126. package/dest/contract/sent_tx.d.ts +10 -21
  127. package/dest/contract/sent_tx.d.ts.map +1 -1
  128. package/dest/contract/sent_tx.js +31 -43
  129. package/dest/contract/unsafe_contract.d.ts +2 -2
  130. package/dest/contract/unsafe_contract.d.ts.map +1 -1
  131. package/dest/contract/unsafe_contract.js +1 -1
  132. package/dest/contract/wait_for_proven.d.ts +17 -0
  133. package/dest/contract/wait_for_proven.d.ts.map +1 -0
  134. package/dest/contract/wait_for_proven.js +17 -0
  135. package/dest/deployment/broadcast_function.d.ts +4 -4
  136. package/dest/deployment/broadcast_function.d.ts.map +1 -1
  137. package/dest/deployment/broadcast_function.js +28 -24
  138. package/dest/deployment/contract_deployer.d.ts +2 -2
  139. package/dest/deployment/contract_deployer.d.ts.map +1 -1
  140. package/dest/deployment/contract_deployer.js +1 -1
  141. package/dest/deployment/publish_class.d.ts +6 -0
  142. package/dest/deployment/publish_class.d.ts.map +1 -0
  143. package/dest/deployment/publish_class.js +17 -0
  144. package/dest/deployment/publish_instance.d.ts +10 -0
  145. package/dest/deployment/publish_instance.d.ts.map +1 -0
  146. package/dest/deployment/publish_instance.js +11 -0
  147. package/dest/ethereum/portal_manager.d.ts +138 -0
  148. package/dest/ethereum/portal_manager.d.ts.map +1 -0
  149. package/dest/{api/ethereum → ethereum}/portal_manager.js +138 -78
  150. package/dest/fee/fee_juice_payment_method_with_claim.d.ts +17 -12
  151. package/dest/fee/fee_juice_payment_method_with_claim.d.ts.map +1 -1
  152. package/dest/fee/fee_juice_payment_method_with_claim.js +27 -17
  153. package/dest/fee/fee_payment_method.d.ts +12 -8
  154. package/dest/fee/fee_payment_method.d.ts.map +1 -1
  155. package/dest/fee/private_fee_payment_method.d.ts +26 -9
  156. package/dest/fee/private_fee_payment_method.d.ts.map +1 -1
  157. package/dest/fee/private_fee_payment_method.js +45 -23
  158. package/dest/fee/public_fee_payment_method.d.ts +27 -10
  159. package/dest/fee/public_fee_payment_method.d.ts.map +1 -1
  160. package/dest/fee/public_fee_payment_method.js +47 -25
  161. package/dest/fee/sponsored_fee_payment.d.ts +17 -0
  162. package/dest/fee/sponsored_fee_payment.d.ts.map +1 -0
  163. package/dest/fee/sponsored_fee_payment.js +34 -0
  164. package/dest/utils/abi_types.d.ts +2 -4
  165. package/dest/utils/abi_types.d.ts.map +1 -1
  166. package/dest/utils/authwit.d.ts +83 -26
  167. package/dest/utils/authwit.d.ts.map +1 -1
  168. package/dest/utils/authwit.js +238 -41
  169. package/dest/utils/cross_chain.d.ts +24 -0
  170. package/dest/utils/cross_chain.d.ts.map +1 -0
  171. package/dest/utils/cross_chain.js +30 -0
  172. package/dest/utils/fee_juice.d.ts +4 -3
  173. package/dest/utils/fee_juice.d.ts.map +1 -1
  174. package/dest/utils/fee_juice.js +4 -3
  175. package/dest/utils/field_compressed_string.d.ts +1 -1
  176. package/dest/utils/field_compressed_string.d.ts.map +1 -1
  177. package/dest/utils/field_compressed_string.js +1 -1
  178. package/dest/utils/node.d.ts +2 -2
  179. package/dest/utils/node.d.ts.map +1 -1
  180. package/dest/utils/node.js +1 -1
  181. package/dest/utils/pub_key.d.ts +2 -2
  182. package/dest/utils/pub_key.d.ts.map +1 -1
  183. package/dest/utils/pub_key.js +2 -3
  184. package/dest/wallet/account_entrypoint_meta_payment_method.d.ts +34 -0
  185. package/dest/wallet/account_entrypoint_meta_payment_method.d.ts.map +1 -0
  186. package/dest/wallet/account_entrypoint_meta_payment_method.js +76 -0
  187. package/dest/wallet/account_manager.d.ts +66 -0
  188. package/dest/wallet/account_manager.d.ts.map +1 -0
  189. package/dest/wallet/account_manager.js +113 -0
  190. package/dest/wallet/deploy_account_method.d.ts +52 -0
  191. package/dest/wallet/deploy_account_method.d.ts.map +1 -0
  192. package/dest/wallet/deploy_account_method.js +77 -0
  193. package/dest/wallet/index.d.ts +3 -17
  194. package/dest/wallet/index.d.ts.map +1 -1
  195. package/dest/wallet/index.js +2 -20
  196. package/dest/wallet/wallet.d.ts +3554 -0
  197. package/dest/wallet/wallet.d.ts.map +1 -0
  198. package/dest/wallet/wallet.js +198 -0
  199. package/package.json +44 -35
  200. package/src/account/account.ts +96 -0
  201. package/src/account/{contract.ts → account_contract.ts} +25 -14
  202. package/src/{wallet/account_wallet_with_private_key.ts → account/account_with_secret_key.ts} +7 -9
  203. package/src/account/index.ts +4 -8
  204. package/src/account/interface.ts +2 -13
  205. package/src/account/signerless_account.ts +45 -0
  206. package/src/api/abi.ts +26 -0
  207. package/src/api/account.ts +6 -9
  208. package/src/api/addresses.ts +1 -0
  209. package/src/api/authorization.ts +14 -0
  210. package/src/api/block.ts +2 -0
  211. package/src/{contract/index.ts → api/contract.ts} +39 -14
  212. package/src/api/crypto.ts +1 -0
  213. package/src/api/deployment.ts +4 -3
  214. package/src/api/ethereum.ts +10 -0
  215. package/src/api/events.ts +44 -0
  216. package/src/api/fee.ts +1 -1
  217. package/src/api/fee_testing.ts +1 -0
  218. package/src/api/fields.ts +2 -1
  219. package/src/api/keys.ts +8 -0
  220. package/src/api/log.ts +1 -0
  221. package/src/api/messaging.ts +2 -0
  222. package/src/api/node.ts +20 -0
  223. package/src/api/note.ts +1 -0
  224. package/src/api/protocol.ts +2 -0
  225. package/src/api/trees.ts +2 -0
  226. package/src/api/tx.ts +13 -0
  227. package/src/api/utils.ts +14 -0
  228. package/src/api/wallet.ts +31 -5
  229. package/src/authorization/call_authorization_request.ts +63 -0
  230. package/src/contract/base_contract_interaction.ts +23 -166
  231. package/src/contract/batch_call.ts +106 -57
  232. package/src/contract/checker.ts +8 -3
  233. package/src/contract/contract.ts +14 -21
  234. package/src/contract/contract_base.ts +9 -26
  235. package/src/contract/contract_function_interaction.ts +135 -106
  236. package/src/contract/deploy_method.ts +205 -134
  237. package/src/contract/deploy_sent_tx.ts +24 -23
  238. package/src/contract/get_gas_limits.ts +15 -8
  239. package/src/contract/interaction_options.ts +163 -0
  240. package/src/contract/protocol_contracts.ts +10 -10
  241. package/src/contract/sent_tx.ts +42 -54
  242. package/src/contract/unsafe_contract.ts +2 -2
  243. package/src/contract/wait_for_proven.ts +38 -0
  244. package/src/deployment/broadcast_function.ts +58 -58
  245. package/src/deployment/contract_deployer.ts +4 -3
  246. package/src/deployment/publish_class.ts +34 -0
  247. package/src/deployment/publish_instance.ts +26 -0
  248. package/src/{api/ethereum → ethereum}/portal_manager.ts +166 -85
  249. package/src/fee/fee_juice_payment_method_with_claim.ts +49 -34
  250. package/src/fee/fee_payment_method.ts +11 -7
  251. package/src/fee/private_fee_payment_method.ts +80 -58
  252. package/src/fee/public_fee_payment_method.ts +94 -68
  253. package/src/fee/sponsored_fee_payment.ts +46 -0
  254. package/src/utils/abi_types.ts +1 -1
  255. package/src/utils/authwit.ts +262 -54
  256. package/src/utils/cross_chain.ts +53 -0
  257. package/src/utils/fee_juice.ts +5 -5
  258. package/src/utils/field_compressed_string.ts +1 -1
  259. package/src/utils/node.ts +1 -1
  260. package/src/utils/pub_key.ts +3 -4
  261. package/src/wallet/account_entrypoint_meta_payment_method.ts +106 -0
  262. package/src/wallet/account_manager.ts +154 -0
  263. package/src/wallet/deploy_account_method.ts +126 -0
  264. package/src/wallet/index.ts +2 -33
  265. package/src/wallet/wallet.ts +369 -0
  266. package/dest/account/contract.d.ts +0 -37
  267. package/dest/account/contract.d.ts.map +0 -1
  268. package/dest/account/wallet.d.ts +0 -11
  269. package/dest/account/wallet.d.ts.map +0 -1
  270. package/dest/account/wallet.js +0 -3
  271. package/dest/account_manager/deploy_account_method.d.ts +0 -15
  272. package/dest/account_manager/deploy_account_method.d.ts.map +0 -1
  273. package/dest/account_manager/deploy_account_method.js +0 -43
  274. package/dest/account_manager/deploy_account_sent_tx.d.ts +0 -30
  275. package/dest/account_manager/deploy_account_sent_tx.d.ts.map +0 -1
  276. package/dest/account_manager/deploy_account_sent_tx.js +0 -29
  277. package/dest/account_manager/index.d.ts +0 -108
  278. package/dest/account_manager/index.d.ts.map +0 -1
  279. package/dest/account_manager/index.js +0 -159
  280. package/dest/api/cheat_codes.d.ts +0 -26
  281. package/dest/api/cheat_codes.d.ts.map +0 -1
  282. package/dest/api/cheat_codes.js +0 -25
  283. package/dest/api/entrypoint.d.ts +0 -2
  284. package/dest/api/entrypoint.d.ts.map +0 -1
  285. package/dest/api/entrypoint.js +0 -1
  286. package/dest/api/ethereum/anvil_test_watcher.d.ts +0 -32
  287. package/dest/api/ethereum/anvil_test_watcher.d.ts.map +0 -1
  288. package/dest/api/ethereum/anvil_test_watcher.js +0 -133
  289. package/dest/api/ethereum/chain_monitor.d.ts +0 -25
  290. package/dest/api/ethereum/chain_monitor.d.ts.map +0 -1
  291. package/dest/api/ethereum/chain_monitor.js +0 -74
  292. package/dest/api/ethereum/cheat_codes.d.ts +0 -63
  293. package/dest/api/ethereum/cheat_codes.d.ts.map +0 -1
  294. package/dest/api/ethereum/cheat_codes.js +0 -162
  295. package/dest/api/ethereum/index.d.ts +0 -7
  296. package/dest/api/ethereum/index.d.ts.map +0 -1
  297. package/dest/api/ethereum/index.js +0 -6
  298. package/dest/api/ethereum/l1_contracts.d.ts +0 -3
  299. package/dest/api/ethereum/l1_contracts.d.ts.map +0 -1
  300. package/dest/api/ethereum/l1_contracts.js +0 -13
  301. package/dest/api/ethereum/portal_manager.d.ts +0 -136
  302. package/dest/api/ethereum/portal_manager.d.ts.map +0 -1
  303. package/dest/api/interfaces/pxe.d.ts +0 -2
  304. package/dest/api/interfaces/pxe.d.ts.map +0 -1
  305. package/dest/api/interfaces/pxe.js +0 -1
  306. package/dest/api/log_id.d.ts +0 -2
  307. package/dest/api/log_id.d.ts.map +0 -1
  308. package/dest/api/log_id.js +0 -1
  309. package/dest/api/tx_hash.d.ts +0 -2
  310. package/dest/api/tx_hash.d.ts.map +0 -1
  311. package/dest/api/tx_hash.js +0 -1
  312. package/dest/contract/deploy_proven_tx.d.ts +0 -21
  313. package/dest/contract/deploy_proven_tx.d.ts.map +0 -1
  314. package/dest/contract/deploy_proven_tx.js +0 -19
  315. package/dest/contract/index.d.ts +0 -45
  316. package/dest/contract/index.d.ts.map +0 -1
  317. package/dest/contract/proven_tx.d.ts +0 -17
  318. package/dest/contract/proven_tx.d.ts.map +0 -1
  319. package/dest/contract/proven_tx.js +0 -22
  320. package/dest/deployment/deploy_instance.d.ts +0 -10
  321. package/dest/deployment/deploy_instance.d.ts.map +0 -1
  322. package/dest/deployment/deploy_instance.js +0 -14
  323. package/dest/deployment/index.d.ts +0 -2
  324. package/dest/deployment/index.d.ts.map +0 -1
  325. package/dest/deployment/index.js +0 -1
  326. package/dest/deployment/register_class.d.ts +0 -6
  327. package/dest/deployment/register_class.d.ts.map +0 -1
  328. package/dest/deployment/register_class.js +0 -22
  329. package/dest/entrypoint/default_entrypoint.d.ts +0 -12
  330. package/dest/entrypoint/default_entrypoint.d.ts.map +0 -1
  331. package/dest/entrypoint/default_entrypoint.js +0 -28
  332. package/dest/entrypoint/default_multi_call_entrypoint.d.ts +0 -15
  333. package/dest/entrypoint/default_multi_call_entrypoint.d.ts.map +0 -1
  334. package/dest/entrypoint/default_multi_call_entrypoint.js +0 -130
  335. package/dest/entrypoint/entrypoint.d.ts +0 -35
  336. package/dest/entrypoint/entrypoint.d.ts.map +0 -1
  337. package/dest/entrypoint/entrypoint.js +0 -4
  338. package/dest/entrypoint/payload.d.ts +0 -128
  339. package/dest/entrypoint/payload.d.ts.map +0 -1
  340. package/dest/entrypoint/payload.js +0 -143
  341. package/dest/fee/fee_juice_payment_method.d.ts +0 -14
  342. package/dest/fee/fee_juice_payment_method.d.ts.map +0 -1
  343. package/dest/fee/fee_juice_payment_method.js +0 -20
  344. package/dest/index.d.ts +0 -66
  345. package/dest/index.d.ts.map +0 -1
  346. package/dest/index.js +0 -69
  347. package/dest/rpc_clients/index.d.ts +0 -3
  348. package/dest/rpc_clients/index.d.ts.map +0 -1
  349. package/dest/rpc_clients/index.js +0 -2
  350. package/dest/rpc_clients/node/index.d.ts +0 -12
  351. package/dest/rpc_clients/node/index.d.ts.map +0 -1
  352. package/dest/rpc_clients/node/index.js +0 -78
  353. package/dest/rpc_clients/pxe_client.d.ts +0 -10
  354. package/dest/rpc_clients/pxe_client.d.ts.map +0 -1
  355. package/dest/rpc_clients/pxe_client.js +0 -23
  356. package/dest/utils/aztec_cheatcodes.d.ts +0 -59
  357. package/dest/utils/aztec_cheatcodes.d.ts.map +0 -1
  358. package/dest/utils/aztec_cheatcodes.js +0 -62
  359. package/dest/utils/index.d.ts +0 -8
  360. package/dest/utils/index.d.ts.map +0 -1
  361. package/dest/utils/index.js +0 -6
  362. package/dest/utils/pxe.d.ts +0 -4
  363. package/dest/utils/pxe.d.ts.map +0 -1
  364. package/dest/utils/pxe.js +0 -14
  365. package/dest/wallet/account_wallet.d.ts +0 -76
  366. package/dest/wallet/account_wallet.d.ts.map +0 -1
  367. package/dest/wallet/account_wallet.js +0 -231
  368. package/dest/wallet/account_wallet_with_private_key.d.ts +0 -26
  369. package/dest/wallet/account_wallet_with_private_key.d.ts.map +0 -1
  370. package/dest/wallet/base_wallet.d.ts +0 -73
  371. package/dest/wallet/base_wallet.d.ts.map +0 -1
  372. package/dest/wallet/base_wallet.js +0 -123
  373. package/dest/wallet/signerless_wallet.d.ts +0 -25
  374. package/dest/wallet/signerless_wallet.d.ts.map +0 -1
  375. package/dest/wallet/signerless_wallet.js +0 -36
  376. package/src/account/wallet.ts +0 -13
  377. package/src/account_manager/deploy_account_method.ts +0 -86
  378. package/src/account_manager/deploy_account_sent_tx.ts +0 -42
  379. package/src/account_manager/index.ts +0 -229
  380. package/src/api/cheat_codes.ts +0 -35
  381. package/src/api/entrypoint.ts +0 -1
  382. package/src/api/ethereum/anvil_test_watcher.ts +0 -158
  383. package/src/api/ethereum/chain_monitor.ts +0 -88
  384. package/src/api/ethereum/cheat_codes.ts +0 -184
  385. package/src/api/ethereum/index.ts +0 -19
  386. package/src/api/ethereum/l1_contracts.ts +0 -21
  387. package/src/api/interfaces/pxe.ts +0 -1
  388. package/src/api/log_id.ts +0 -1
  389. package/src/api/tx_hash.ts +0 -1
  390. package/src/contract/deploy_proven_tx.ts +0 -34
  391. package/src/contract/proven_tx.ts +0 -42
  392. package/src/deployment/deploy_instance.ts +0 -31
  393. package/src/deployment/index.ts +0 -1
  394. package/src/deployment/register_class.ts +0 -44
  395. package/src/entrypoint/default_entrypoint.ts +0 -39
  396. package/src/entrypoint/default_multi_call_entrypoint.ts +0 -93
  397. package/src/entrypoint/entrypoint.ts +0 -39
  398. package/src/entrypoint/payload.ts +0 -238
  399. package/src/fee/fee_juice_payment_method.ts +0 -26
  400. package/src/index.ts +0 -106
  401. package/src/rpc_clients/index.ts +0 -2
  402. package/src/rpc_clients/node/index.ts +0 -77
  403. package/src/rpc_clients/pxe_client.ts +0 -25
  404. package/src/utils/aztec_cheatcodes.ts +0 -77
  405. package/src/utils/index.ts +0 -21
  406. package/src/utils/pxe.ts +0 -17
  407. package/src/wallet/account_wallet.ts +0 -242
  408. package/src/wallet/base_wallet.ts +0 -198
  409. package/src/wallet/signerless_wallet.ts +0 -52
@@ -0,0 +1,66 @@
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
+ import { CompleteAddress, type ContractInstanceWithAddress } from '@aztec/stdlib/contract';
3
+ import type { AccountContract } from '../account/account_contract.js';
4
+ import { AccountWithSecretKey } from '../account/account_with_secret_key.js';
5
+ import type { Salt } from '../account/index.js';
6
+ import type { AccountInterface } from '../account/interface.js';
7
+ import { DeployAccountMethod } from './deploy_account_method.js';
8
+ import type { Wallet } from './wallet.js';
9
+ /**
10
+ * Manages a user account. Provides methods for calculating the account's address and other related data,
11
+ * plus a helper to return a preconfigured deploy method.
12
+ */
13
+ export declare class AccountManager {
14
+ private wallet;
15
+ private secretKey;
16
+ private accountContract;
17
+ private instance;
18
+ readonly salt: Salt;
19
+ private constructor();
20
+ static create(wallet: Wallet, secretKey: Fr, accountContract: AccountContract, salt?: Salt): Promise<AccountManager>;
21
+ protected getPublicKeys(): import("@aztec/stdlib/keys").PublicKeys;
22
+ protected getPublicKeysHash(): Fr | Promise<Fr>;
23
+ /**
24
+ * Returns the entrypoint for this account as defined by its account contract.
25
+ * @returns An entrypoint.
26
+ */
27
+ getAccountInterface(): Promise<AccountInterface>;
28
+ /**
29
+ * Gets the calculated complete address associated with this account.
30
+ * Does not require the account to have been published for public execution.
31
+ * @returns The address, partial address, and encryption public key.
32
+ */
33
+ getCompleteAddress(): Promise<CompleteAddress>;
34
+ /**
35
+ * Returns the secret key used to derive the rest of the privacy keys for this contract
36
+ */
37
+ getSecretKey(): Fr;
38
+ get address(): import("../api/addresses.js").AztecAddress;
39
+ /**
40
+ * Returns the contract instance definition associated with this account.
41
+ * Does not require the account to have been published for public execution.
42
+ * @returns ContractInstance instance.
43
+ */
44
+ getInstance(): ContractInstanceWithAddress;
45
+ /**
46
+ * Returns a Wallet instance associated with this account. Use it to create Contract
47
+ * instances to be interacted with from this account.
48
+ * @returns A Wallet instance.
49
+ */
50
+ getAccount(): Promise<AccountWithSecretKey>;
51
+ /**
52
+ * Returns the account contract that backs this account.
53
+ * @returns The account contract
54
+ */
55
+ getAccountContract(): AccountContract;
56
+ /**
57
+ * Returns a preconfigured deploy method that contains all the necessary function
58
+ * calls to deploy the account contract.
59
+ */
60
+ getDeployMethod(): Promise<DeployAccountMethod>;
61
+ /**
62
+ * Returns whether this account contract has an initializer function.
63
+ */
64
+ hasInitializer(): Promise<boolean>;
65
+ }
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudF9tYW5hZ2VyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FsbGV0L2FjY291bnRfbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUNMLGVBQWUsRUFDZixLQUFLLDJCQUEyQixFQUVqQyxNQUFNLHdCQUF3QixDQUFDO0FBR2hDLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hELE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTFDOzs7R0FHRztBQUNILHFCQUFhLGNBQWM7SUFFdkIsT0FBTyxDQUFDLE1BQU07SUFDZCxPQUFPLENBQUMsU0FBUztJQUNqQixPQUFPLENBQUMsZUFBZTtJQUN2QixPQUFPLENBQUMsUUFBUTthQUlBLElBQUksRUFBRSxJQUFJO0lBUjVCLE9BQU8sZUFTSDtJQUVKLE9BQWEsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLElBQUksQ0FBQyxFQUFFLElBQUksMkJBa0IvRjtJQUVELFNBQVMsQ0FBQyxhQUFhLDRDQUV0QjtJQUVELFNBQVMsQ0FBQyxpQkFBaUIscUJBRTFCO0lBRUQ7OztPQUdHO0lBQ1UsbUJBQW1CLElBQUksT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBSTVEO0lBRUQ7Ozs7T0FJRztJQUNJLGtCQUFrQixJQUFJLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FFcEQ7SUFFRDs7T0FFRztJQUNJLFlBQVksT0FFbEI7SUFFRCxJQUFJLE9BQU8sK0NBRVY7SUFFRDs7OztPQUlHO0lBQ0ksV0FBVyxJQUFJLDJCQUEyQixDQUVoRDtJQUVEOzs7O09BSUc7SUFDVSxVQUFVLElBQUksT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBR3ZEO0lBRUQ7OztPQUdHO0lBQ0gsa0JBQWtCLElBQUksZUFBZSxDQUVwQztJQUVEOzs7T0FHRztJQUNVLGVBQWUsSUFBSSxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0F3QjNEO0lBRUQ7O09BRUc7SUFDVSxjQUFjLHFCQUUxQjtDQUNGIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account_manager.d.ts","sourceRoot":"","sources":["../../src/wallet/account_manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EACL,eAAe,EACf,KAAK,2BAA2B,EAEjC,MAAM,wBAAwB,CAAC;AAGhC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C;;;GAGG;AACH,qBAAa,cAAc;IAEvB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,QAAQ;aAIA,IAAI,EAAE,IAAI;IAR5B,OAAO,eASH;IAEJ,OAAa,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,eAAe,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE,IAAI,2BAkB/F;IAED,SAAS,CAAC,aAAa,4CAEtB;IAED,SAAS,CAAC,iBAAiB,qBAE1B;IAED;;;OAGG;IACU,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAI5D;IAED;;;;OAIG;IACI,kBAAkB,IAAI,OAAO,CAAC,eAAe,CAAC,CAEpD;IAED;;OAEG;IACI,YAAY,OAElB;IAED,IAAI,OAAO,+CAEV;IAED;;;;OAIG;IACI,WAAW,IAAI,2BAA2B,CAEhD;IAED;;;;OAIG;IACU,UAAU,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAGvD;IAED;;;OAGG;IACH,kBAAkB,IAAI,eAAe,CAEpC;IAED;;;OAGG;IACU,eAAe,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAwB3D;IAED;;OAEG;IACU,cAAc,qBAE1B;CACF"}
@@ -0,0 +1,113 @@
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
+ import { CompleteAddress, getContractInstanceFromInstantiationParams } from '@aztec/stdlib/contract';
3
+ import { deriveKeys } from '@aztec/stdlib/keys';
4
+ import { AccountWithSecretKey } from '../account/account_with_secret_key.js';
5
+ import { Contract } from '../contract/contract.js';
6
+ import { DeployAccountMethod } from './deploy_account_method.js';
7
+ /**
8
+ * Manages a user account. Provides methods for calculating the account's address and other related data,
9
+ * plus a helper to return a preconfigured deploy method.
10
+ */ export class AccountManager {
11
+ wallet;
12
+ secretKey;
13
+ accountContract;
14
+ instance;
15
+ salt;
16
+ constructor(wallet, secretKey, accountContract, instance, /**
17
+ * Contract instantiation salt for the account contract
18
+ */ salt){
19
+ this.wallet = wallet;
20
+ this.secretKey = secretKey;
21
+ this.accountContract = accountContract;
22
+ this.instance = instance;
23
+ this.salt = salt;
24
+ }
25
+ static async create(wallet, secretKey, accountContract, salt) {
26
+ const { publicKeys } = await deriveKeys(secretKey);
27
+ salt = salt !== undefined ? new Fr(salt) : Fr.random();
28
+ const { constructorName, constructorArgs } = await accountContract.getInitializationFunctionAndArgs() ?? {
29
+ constructorName: undefined,
30
+ constructorArgs: undefined
31
+ };
32
+ const artifact = await accountContract.getContractArtifact();
33
+ const instance = await getContractInstanceFromInstantiationParams(artifact, {
34
+ constructorArtifact: constructorName,
35
+ constructorArgs,
36
+ salt: salt,
37
+ publicKeys
38
+ });
39
+ return new AccountManager(wallet, secretKey, accountContract, instance, salt);
40
+ }
41
+ getPublicKeys() {
42
+ return this.instance.publicKeys;
43
+ }
44
+ getPublicKeysHash() {
45
+ return this.getPublicKeys().hash();
46
+ }
47
+ /**
48
+ * Returns the entrypoint for this account as defined by its account contract.
49
+ * @returns An entrypoint.
50
+ */ async getAccountInterface() {
51
+ const chainInfo = await this.wallet.getChainInfo();
52
+ const completeAddress = await this.getCompleteAddress();
53
+ return this.accountContract.getInterface(completeAddress, chainInfo);
54
+ }
55
+ /**
56
+ * Gets the calculated complete address associated with this account.
57
+ * Does not require the account to have been published for public execution.
58
+ * @returns The address, partial address, and encryption public key.
59
+ */ getCompleteAddress() {
60
+ return CompleteAddress.fromSecretKeyAndInstance(this.secretKey, this.instance);
61
+ }
62
+ /**
63
+ * Returns the secret key used to derive the rest of the privacy keys for this contract
64
+ */ getSecretKey() {
65
+ return this.secretKey;
66
+ }
67
+ get address() {
68
+ return this.instance.address;
69
+ }
70
+ /**
71
+ * Returns the contract instance definition associated with this account.
72
+ * Does not require the account to have been published for public execution.
73
+ * @returns ContractInstance instance.
74
+ */ getInstance() {
75
+ return this.instance;
76
+ }
77
+ /**
78
+ * Returns a Wallet instance associated with this account. Use it to create Contract
79
+ * instances to be interacted with from this account.
80
+ * @returns A Wallet instance.
81
+ */ async getAccount() {
82
+ const accountInterface = await this.getAccountInterface();
83
+ return new AccountWithSecretKey(accountInterface, this.secretKey, this.salt);
84
+ }
85
+ /**
86
+ * Returns the account contract that backs this account.
87
+ * @returns The account contract
88
+ */ getAccountContract() {
89
+ return this.accountContract;
90
+ }
91
+ /**
92
+ * Returns a preconfigured deploy method that contains all the necessary function
93
+ * calls to deploy the account contract.
94
+ */ async getDeployMethod() {
95
+ const artifact = await this.accountContract.getContractArtifact();
96
+ if (!await this.hasInitializer()) {
97
+ // TODO(https://github.com/AztecProtocol/aztec-packages/issues/15576):
98
+ // there should be a path which enables an account contract's class & instance to be published,
99
+ // even if the account contract doesn't have an initializer function. This should not throw.
100
+ throw new Error(`Account contract ${artifact.name} does not have an initializer function to call.`);
101
+ }
102
+ const { constructorName, constructorArgs } = await this.accountContract.getInitializationFunctionAndArgs() ?? {
103
+ constructorName: undefined,
104
+ constructorArgs: undefined
105
+ };
106
+ return new DeployAccountMethod(this.getPublicKeys(), this.wallet, artifact, (instance)=>Contract.at(instance.address, artifact, this.wallet), new Fr(this.salt), constructorArgs, constructorName);
107
+ }
108
+ /**
109
+ * Returns whether this account contract has an initializer function.
110
+ */ async hasInitializer() {
111
+ return await this.accountContract.getInitializationFunctionAndArgs() !== undefined;
112
+ }
113
+ }
@@ -0,0 +1,52 @@
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
+ import type { ContractArtifact, FunctionArtifact } from '@aztec/stdlib/abi';
3
+ import type { ContractInstanceWithAddress } from '@aztec/stdlib/contract';
4
+ import type { PublicKeys } from '@aztec/stdlib/keys';
5
+ import { ExecutionPayload } from '@aztec/stdlib/tx';
6
+ import type { Contract } from '../contract/contract.js';
7
+ import type { ContractBase } from '../contract/contract_base.js';
8
+ import { DeployMethod, type DeployOptions, type RequestDeployOptions, type SimulateDeployOptions } from '../contract/deploy_method.js';
9
+ import type { Wallet } from './index.js';
10
+ /**
11
+ * The configuration options for the request method. Omits the contractAddressSalt, since
12
+ * for account contracts that is fixed in the constructor
13
+ */
14
+ export type RequestDeployAccountOptions = Omit<RequestDeployOptions, 'contractAddressSalt'>;
15
+ /**
16
+ * The configuration options for the send/prove methods. Omits:
17
+ * - The contractAddressSalt, since for account contracts that is fixed in the constructor.
18
+ * - UniversalDeployment flag, since account contracts are always deployed with it set to true
19
+ */
20
+ export type DeployAccountOptions = Omit<DeployOptions, 'contractAddressSalt' | 'universalDeploy'>;
21
+ /**
22
+ * The configuration options for the simulate method. Omits the contractAddressSalt, since
23
+ * for account contracts that is fixed in the constructor
24
+ */
25
+ export type SimulateDeployAccountOptions = Omit<SimulateDeployOptions, 'contractAddressSalt'>;
26
+ /**
27
+ * Modified version of the DeployMethod used to deploy account contracts. Supports deploying
28
+ * contracts that can pay for their own fee, plus some preconfigured options to avoid errors.
29
+ */
30
+ export declare class DeployAccountMethod<TContract extends ContractBase = Contract> extends DeployMethod<TContract> {
31
+ private salt;
32
+ constructor(publicKeys: PublicKeys, wallet: Wallet, artifact: ContractArtifact, postDeployCtor: (instance: ContractInstanceWithAddress, wallet: Wallet) => TContract, salt: Fr, args?: any[], constructorNameOrArtifact?: string | FunctionArtifact);
33
+ /**
34
+ * Returns a FeePaymentMethod that routes the original one provided as an argument
35
+ * through the account's entrypoint. This allows an account contract to pay
36
+ * for its own deployment and initialization.
37
+ *
38
+ * For more details on how the fee payment routing works see documentation of AccountEntrypointMetaPaymentMethod class.
39
+ *
40
+ * @param originalPaymentMethod - originalPaymentMethod The original payment method to be wrapped.
41
+ * @returns A FeePaymentMethod that routes the original one through the account's entrypoint (AccountEntrypointMetaPaymentMethod)
42
+ */
43
+ private getSelfFeePaymentMethod;
44
+ /**
45
+ * Returns the execution payload that allows this operation to happen on chain.
46
+ * @param opts - Configuration options.
47
+ * @returns The execution payload for this operation
48
+ */
49
+ request(opts?: RequestDeployAccountOptions): Promise<ExecutionPayload>;
50
+ convertDeployOptionsToRequestOptions(options: DeployOptions): RequestDeployOptions;
51
+ }
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X2FjY291bnRfbWV0aG9kLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FsbGV0L2RlcGxveV9hY2NvdW50X21ldGhvZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU1RSxPQUFPLEtBQUssRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFFLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBMEIsTUFBTSxrQkFBa0IsQ0FBQztBQUU1RSxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQ0wsWUFBWSxFQUNaLEtBQUssYUFBYSxFQUNsQixLQUFLLG9CQUFvQixFQUN6QixLQUFLLHFCQUFxQixFQUMzQixNQUFNLDhCQUE4QixDQUFDO0FBR3RDLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUV6Qzs7O0dBR0c7QUFDSCxNQUFNLE1BQU0sMkJBQTJCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFLHFCQUFxQixDQUFDLENBQUM7QUFFNUY7Ozs7R0FJRztBQUNILE1BQU0sTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLHFCQUFxQixHQUFHLGlCQUFpQixDQUFDLENBQUM7QUFFbEc7OztHQUdHO0FBQ0gsTUFBTSxNQUFNLDRCQUE0QixHQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO0FBRTlGOzs7R0FHRztBQUNILHFCQUFhLG1CQUFtQixDQUFDLFNBQVMsU0FBUyxZQUFZLEdBQUcsUUFBUSxDQUFFLFNBQVEsWUFBWSxDQUFDLFNBQVMsQ0FBQztJQU12RyxPQUFPLENBQUMsSUFBSTtJQUxkLFlBQ0UsVUFBVSxFQUFFLFVBQVUsRUFDdEIsTUFBTSxFQUFFLE1BQU0sRUFDZCxRQUFRLEVBQUUsZ0JBQWdCLEVBQzFCLGNBQWMsRUFBRSxDQUFDLFFBQVEsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLEVBQUUsTUFBTSxLQUFLLFNBQVMsRUFDNUUsSUFBSSxFQUFFLEVBQUUsRUFDaEIsSUFBSSxHQUFFLEdBQUcsRUFBTyxFQUNoQix5QkFBeUIsQ0FBQyxFQUFFLE1BQU0sR0FBRyxnQkFBZ0IsRUFHdEQ7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSCxPQUFPLENBQUMsdUJBQXVCO0lBYS9COzs7O09BSUc7SUFDbUIsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLDJCQUEyQixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQThCM0Y7SUFFUSxvQ0FBb0MsQ0FBQyxPQUFPLEVBQUUsYUFBYSxHQUFHLG9CQUFvQixDQVMxRjtDQUNGIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy_account_method.d.ts","sourceRoot":"","sources":["../../src/wallet/deploy_account_method.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE5E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAA0B,MAAM,kBAAkB,CAAC;AAE5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EACL,YAAY,EACZ,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC3B,MAAM,8BAA8B,CAAC;AAGtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC;;;GAGG;AACH,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAAC,oBAAoB,EAAE,qBAAqB,CAAC,CAAC;AAE5F;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,aAAa,EAAE,qBAAqB,GAAG,iBAAiB,CAAC,CAAC;AAElG;;;GAGG;AACH,MAAM,MAAM,4BAA4B,GAAG,IAAI,CAAC,qBAAqB,EAAE,qBAAqB,CAAC,CAAC;AAE9F;;;GAGG;AACH,qBAAa,mBAAmB,CAAC,SAAS,SAAS,YAAY,GAAG,QAAQ,CAAE,SAAQ,YAAY,CAAC,SAAS,CAAC;IAMvG,OAAO,CAAC,IAAI;IALd,YACE,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,gBAAgB,EAC1B,cAAc,EAAE,CAAC,QAAQ,EAAE,2BAA2B,EAAE,MAAM,EAAE,MAAM,KAAK,SAAS,EAC5E,IAAI,EAAE,EAAE,EAChB,IAAI,GAAE,GAAG,EAAO,EAChB,yBAAyB,CAAC,EAAE,MAAM,GAAG,gBAAgB,EAGtD;IAED;;;;;;;;;OASG;IACH,OAAO,CAAC,uBAAuB;IAa/B;;;;OAIG;IACmB,OAAO,CAAC,IAAI,CAAC,EAAE,2BAA2B,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA8B3F;IAEQ,oCAAoC,CAAC,OAAO,EAAE,aAAa,GAAG,oBAAoB,CAS1F;CACF"}
@@ -0,0 +1,77 @@
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
+ import { AztecAddress } from '@aztec/stdlib/aztec-address';
3
+ import { mergeExecutionPayloads } from '@aztec/stdlib/tx';
4
+ import { DeployMethod } from '../contract/deploy_method.js';
5
+ import { AccountEntrypointMetaPaymentMethod } from './account_entrypoint_meta_payment_method.js';
6
+ /**
7
+ * Modified version of the DeployMethod used to deploy account contracts. Supports deploying
8
+ * contracts that can pay for their own fee, plus some preconfigured options to avoid errors.
9
+ */ export class DeployAccountMethod extends DeployMethod {
10
+ salt;
11
+ constructor(publicKeys, wallet, artifact, postDeployCtor, salt, args = [], constructorNameOrArtifact){
12
+ super(publicKeys, wallet, artifact, postDeployCtor, args, constructorNameOrArtifact), this.salt = salt;
13
+ }
14
+ /**
15
+ * Returns a FeePaymentMethod that routes the original one provided as an argument
16
+ * through the account's entrypoint. This allows an account contract to pay
17
+ * for its own deployment and initialization.
18
+ *
19
+ * For more details on how the fee payment routing works see documentation of AccountEntrypointMetaPaymentMethod class.
20
+ *
21
+ * @param originalPaymentMethod - originalPaymentMethod The original payment method to be wrapped.
22
+ * @returns A FeePaymentMethod that routes the original one through the account's entrypoint (AccountEntrypointMetaPaymentMethod)
23
+ */ getSelfFeePaymentMethod(originalPaymentMethod) {
24
+ if (!this.address) {
25
+ throw new Error('Instance is not yet constructed. This is a bug!');
26
+ }
27
+ return new AccountEntrypointMetaPaymentMethod(this.wallet, this.artifact, 'entrypoint', this.address, originalPaymentMethod);
28
+ }
29
+ /**
30
+ * Returns the execution payload that allows this operation to happen on chain.
31
+ * @param opts - Configuration options.
32
+ * @returns The execution payload for this operation
33
+ */ async request(opts) {
34
+ const optionsWithDefaults = {
35
+ ...opts,
36
+ // Regardless of whom sends the transaction, account contracts
37
+ // are always deployed as universalDeployment: true
38
+ deployer: undefined,
39
+ contractAddressSalt: new Fr(this.salt),
40
+ skipClassPublication: opts?.skipClassPublication ?? true,
41
+ skipInstancePublication: opts?.skipInstancePublication ?? true,
42
+ skipInitialization: opts?.skipInitialization ?? false
43
+ };
44
+ // Override the fee to undefined, since we'll replace it
45
+ const deploymentExecutionPayload = await super.request({
46
+ ...optionsWithDefaults,
47
+ fee: undefined
48
+ });
49
+ const executionPayloads = [
50
+ deploymentExecutionPayload
51
+ ];
52
+ // If this is a self-deployment, manage the fee accordingly
53
+ if (opts?.deployer?.equals(AztecAddress.ZERO)) {
54
+ const feePaymentMethod = this.getSelfFeePaymentMethod(opts?.fee?.paymentMethod);
55
+ const feeExecutionPayload = await feePaymentMethod.getExecutionPayload();
56
+ // Notice they are reversed (fee payment usually goes first):
57
+ // this is because we need to construct the contract BEFORE it can pay for its own fee
58
+ executionPayloads.push(feeExecutionPayload);
59
+ } else {
60
+ const feeExecutionPayload = opts?.fee?.paymentMethod ? await opts.fee.paymentMethod.getExecutionPayload() : undefined;
61
+ if (feeExecutionPayload) {
62
+ executionPayloads.unshift(feeExecutionPayload);
63
+ }
64
+ }
65
+ return mergeExecutionPayloads(executionPayloads);
66
+ }
67
+ convertDeployOptionsToRequestOptions(options) {
68
+ return {
69
+ ...options,
70
+ // Deployer is handled in the request method and forcibly set to undefined,
71
+ // since our account contracts are created with universalDeployment: true
72
+ // We need to forward it though, because depending on the deployer we have to assemble
73
+ // The fee payment method one way or another
74
+ deployer: options.from
75
+ };
76
+ }
77
+ }
@@ -1,17 +1,3 @@
1
- import type { AztecAddress } from '@aztec/stdlib/aztec-address';
2
- import type { PXE } from '@aztec/stdlib/interfaces/client';
3
- import type { AccountContract } from '../account/contract.js';
4
- import { AccountWallet } from './account_wallet.js';
5
- export * from '../account/wallet.js';
6
- export * from './account_wallet.js';
7
- export * from './account_wallet_with_private_key.js';
8
- export * from './signerless_wallet.js';
9
- /**
10
- * Gets a wallet for an already registered account.
11
- * @param pxe - PXE Service instance.
12
- * @param address - Address for the account.
13
- * @param accountContract - Account contract implementation.
14
- * @returns A wallet for this account that can be used to interact with a contract instance.
15
- */
16
- export declare function getWallet(pxe: PXE, address: AztecAddress, accountContract: AccountContract): Promise<AccountWallet>;
17
- //# sourceMappingURL=index.d.ts.map
1
+ export * from './wallet.js';
2
+ export * from './account_manager.js';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93YWxsZXQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxzQkFBc0IsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/wallet/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,iCAAiC,CAAC;AAE3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sCAAsC,CAAC;AACrD,cAAc,wBAAwB,CAAC;AAEvC;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC7B,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,YAAY,EACrB,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,aAAa,CAAC,CAUxB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/wallet/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC"}
@@ -1,20 +1,2 @@
1
- import { AccountWallet } from './account_wallet.js';
2
- export * from '../account/wallet.js';
3
- export * from './account_wallet.js';
4
- export * from './account_wallet_with_private_key.js';
5
- export * from './signerless_wallet.js';
6
- /**
7
- * Gets a wallet for an already registered account.
8
- * @param pxe - PXE Service instance.
9
- * @param address - Address for the account.
10
- * @param accountContract - Account contract implementation.
11
- * @returns A wallet for this account that can be used to interact with a contract instance.
12
- */ export async function getWallet(pxe, address, accountContract) {
13
- const completeAddress = (await pxe.getRegisteredAccounts()).find((completeAddress)=>completeAddress.address.equals(address));
14
- if (!completeAddress) {
15
- throw new Error(`Account ${address} not found`);
16
- }
17
- const nodeInfo = await pxe.getNodeInfo();
18
- const entrypoint = accountContract.getInterface(completeAddress, nodeInfo);
19
- return new AccountWallet(pxe, entrypoint);
20
- }
1
+ export * from './wallet.js';
2
+ export * from './account_manager.js';