@aztec/aztec.js 0.8.8 → 0.8.10
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.
- package/README.md +3 -3
- package/dest/account/contract/base_account_contract.d.ts +4 -4
- package/dest/account/contract/base_account_contract.d.ts.map +1 -1
- package/dest/account/contract/base_account_contract.js +5 -5
- package/dest/account/contract/ecdsa_account_contract.js +3 -3
- package/dest/account/contract/index.d.ts +4 -4
- package/dest/account/contract/index.d.ts.map +1 -1
- package/dest/account/contract/schnorr_account_contract.js +3 -3
- package/dest/account/contract/single_key_account_contract.js +3 -3
- package/dest/account/defaults/default_entrypoint.js +1 -1
- package/dest/account/manager/index.js +3 -3
- package/dest/{abis → artifacts}/ecdsa_account_contract.json +2 -1
- package/dest/{abis → artifacts}/schnorr_account_contract.json +2 -1
- package/dest/{abis → artifacts}/schnorr_single_key_account_contract.json +2 -1
- package/dest/contract/checker.d.ts +5 -5
- package/dest/contract/checker.d.ts.map +1 -1
- package/dest/contract/checker.js +9 -9
- package/dest/contract/contract.d.ts +7 -7
- package/dest/contract/contract.d.ts.map +1 -1
- package/dest/contract/contract.js +10 -10
- package/dest/contract/contract_base.d.ts +3 -3
- package/dest/contract/contract_base.d.ts.map +1 -1
- package/dest/contract/contract_base.js +5 -5
- package/dest/contract/contract_function_interaction.d.ts +3 -3
- package/dest/contract/contract_function_interaction.d.ts.map +1 -1
- package/dest/contract/contract_function_interaction.js +1 -1
- package/dest/contract/index.d.ts +2 -2
- package/dest/contract/index.js +2 -2
- package/dest/contract_deployer/contract_deployer.d.ts +4 -4
- package/dest/contract_deployer/contract_deployer.d.ts.map +1 -1
- package/dest/contract_deployer/contract_deployer.js +5 -5
- package/dest/contract_deployer/deploy_method.d.ts +4 -4
- package/dest/contract_deployer/deploy_method.d.ts.map +1 -1
- package/dest/contract_deployer/deploy_method.js +12 -12
- package/dest/contract_deployer/deploy_sent_tx.d.ts +3 -3
- package/dest/contract_deployer/deploy_sent_tx.d.ts.map +1 -1
- package/dest/contract_deployer/deploy_sent_tx.js +4 -4
- package/dest/sandbox/index.d.ts +1 -0
- package/dest/sandbox/index.d.ts.map +1 -1
- package/dest/sandbox/index.js +3 -3
- package/dest/utils/authwit.d.ts.map +1 -1
- package/dest/utils/authwit.js +3 -1
- package/package.json +5 -5
- package/src/account/contract/base_account_contract.ts +4 -4
- package/src/account/contract/ecdsa_account_contract.ts +3 -3
- package/src/account/contract/index.ts +4 -4
- package/src/account/contract/schnorr_account_contract.ts +3 -3
- package/src/account/contract/single_key_account_contract.ts +3 -3
- package/src/account/defaults/default_entrypoint.ts +2 -2
- package/src/account/manager/index.ts +2 -2
- package/src/{abis → artifacts}/ecdsa_account_contract.json +2 -1
- package/src/{abis → artifacts}/schnorr_account_contract.json +2 -1
- package/src/{abis → artifacts}/schnorr_single_key_account_contract.json +2 -1
- package/src/contract/checker.ts +9 -9
- package/src/contract/contract.ts +10 -10
- package/src/contract/contract_base.ts +4 -4
- package/src/contract/contract_function_interaction.ts +2 -2
- package/src/contract/index.ts +2 -2
- package/src/contract_deployer/contract_deployer.ts +4 -4
- package/src/contract_deployer/deploy_method.ts +17 -12
- package/src/contract_deployer/deploy_sent_tx.ts +3 -3
- package/src/sandbox/index.ts +2 -2
- package/src/utils/authwit.ts +2 -0
- package/src/wallet/account_wallet.ts +2 -2
|
@@ -694,5 +694,6 @@
|
|
|
694
694
|
"bytecode": "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",
|
|
695
695
|
"verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f"
|
|
696
696
|
}
|
|
697
|
-
]
|
|
697
|
+
],
|
|
698
|
+
"events": []
|
|
698
699
|
}
|
|
@@ -682,5 +682,6 @@
|
|
|
682
682
|
"bytecode": "H4sIAAAAAAAA/+2dB5hdx3me9+yiDQaNJIheFiABsHN3APaCJXnBXkCQBECwAgRIAgQBEoW99wJ2NarTsuI4juIoVoktK7as2LJiy4oty7Ks2JLiOI7jOO690DPnzid++3N8lmvO/+zdZ2ee58edmbNnvvf/v7nl3Hux+0NdXV1VV7v1+JjZ9faG4wPxtu/dtf4q31p9mpzdo4SzZ5RwjhslnONHCeeEUcI5cZRwTholnGaUcE4eJZx2lHBOGSWcU0cJ57RRwjl9lHDOGCWcB40SzoNHCecho4RzZkbOucR5aLydFW9nx9s58RY/Oy/ezo+3C2KO4+J4oY9FPhb76I3HUJAlPpb6OMzH4T6W+VjuY4WPI3wc6eMoH0f7OMbHsT6O83F8XKPfh/Ox0scqHyf4ONHHST5O9nGKj1N9nObjdB9n+DjTx+pYs7N8nO3jHB8tH2t8nOvjPB/n+7jAx4U+LvJxsY9LfFzq4zIfa2MuvTGXy32s83GFjyt9XOVjvY8NPjb6uNrHJh/X+LjWx3U+rvdxg48bfWz2scXHTT62+tjm42Yft/i41cd2Hzt83OZjp4/bfezysdvHHaLmd/rY42Ovj33x2Ix4bL+Pu3zc7eMeH/f6uM/H/T4e8PGgj4d8POzjER+P+njMx+M+nhBrPenjKR9P+3jGx7M+nvPxvI8DPl7w8aKPl3y87OMVH6/6eM3He+Ja3XGt9/p4n5h7v48PxP7r8faD8fZD8fbD8fYj8faj8fZj8fbj8faNrrfa56a1b8NrTuzzQ7remsP7BQfTHI4fRHM4PoPmcHw6zeH4NJrD8ak0h+NTaA7HLc3h+GSa4+O4xfFJNIfjE2kOxyfQHI6PpzkcH0dzON5DczjeTXM4XtEcjncJ/dAG4m3fu2wTurI/5vaFnPspj65Evvz+k8x3XKIu4xP1Yz9wnH3DcfaXj+MWx3m/4DjvGxzn/YfjvE9xnPczjvO+x3G+f+A4349wnO9vOM73SxyfSXM4fijN4fgsmsPx2TSH43NoDsfn0hyO47ku5DWBxgPxtu/dNWdIF60S4wHqQz+wLFBgmT8MlgVUr4WxfyjxLVLgWxzXmks6vXl16vd1F4ucMYaWJYZFiiw2oa2gM6i2aE3e9xLLkrws9UvFpaQFriVUexyfSRxLM9e+Ik2sizHzvVPWhSPMamhu/gizWGJYTHP4uV49PmcEX2hNe30psRyelaW/L7AcNgyWw4llWVaW9uum5ZnXDGusIH7kCnZLx5dTbivyctR7clnX4JpizHyFtbAW1sJaWAtrYS2shXVssxqaWzLCLHx9dJgaS3+fTWhrXG/w+3FYO7wP+gZpLs6cG39+g/dRwACtHvqZT0x9i+uTcW4yHV+ixupuCmsuzLpm+9oX71ehNV1v8nsWed9v7O8L7ylPpFouED6As5sYMr//Wl+f8vuv0IRO8BrvU/D7w3jPGMfC/vi0Hue/+n1ik+DP72X78Wu+YOHPh0Pj90y7FVlsQrtT3y/n9+Eyv19ee7JQsGAMLa5VjyKLTWhrfUbAOYfW5An0+f1vfszrzVyHd/rZAhjGKbJ0+mcL/D7tYuIbqferwTBekcUmtDvpPXB+v5pf++R9X7ztyWGCBWNoWcGgxWIT2go67l/7WQBfo/B1Qeb38huvUaDFtZqoyGIT2go6zoicQ2vyBPrhPFw7LSO+IzLXoeoafC09QGNoca0mKbLYhLaCjjMi59CaPIF+OO/I2Ofr2qMy16EiHayLMbS4VkaRxSa0FXScETmH1uTJUZT70bF/JPEdk7kOFelgXYyhxbWarMhiE9oKOs6InENr8gT64bxjY/9o4jsucx0q0sG6GEOLa2UVWWxCW0HHGZFzaE2eQD+cd3zsH0t8fZnrUJEO1sW4j3wAwxRFFpvQVtBxRuQcWpMn0A/n4TuhxxOfy1yHinSwLsbQ4lpNVWSxCW0FHWdEzqE1eQL9cN7K2O8nvlWZ61CRDtbFGFpcq2mKLDahraDjjMg5tCZPoB/OOyH2VxLfiZnrUJEO1sUYWlyr6YosNqGtoOOMyDm0Jk+gH847KfZPIL6TM9ehIh2sizG0uFYzFFlsQltBxxmRc2hNnkA/nHdK7J9EfKdmrkNFOlgXY2hxrQ5SZLEJbQUdZ0TOoTV5Av1w3mmxfwrxnZ65DhXpYF2MocW1OliRxSa0FXScETmH1uQJ9MN5Z8T+acR3ZuY6VKSDdTGGFtfqEEUWm9BW0HFG5BxakyfQD+etjv0ziG8gcx0q0sG6q4UG12q2IotNaCvoOK4tWpMnzHJ2XpZVgeWsYbCcTSzn5GWpv6/eyrxmWGMN8SNXsFs63qLc1uTlqPf5OV2Da4ox8xXWsc1qaG71CLPw4+FZeiyrbEJbQccZkXNoTY917Mm5sX8O8Z2Xl6/25FzBgjG0uFYtRRab0FbQcUbkHFqTJ8xyQVaWlfX3F88fBssFxHJhVpb289ZFpAUu6Fg6zvvgorwc9Z68UOSPMfMV1sJaWAtrYS2shbWwFtbCWlgLa2EtrIW1sBbWwlpYC2thLayFtbAW1sJaWAtrYS2shTU/q6G5c0eYxRLD+WosK+vfcyW1FXJ2RuQcWtP3RNiTi2P/QuK7JC9f7cnFggVjaHGtWoosNqGtoOOMyDm0Jk+Y5bKsLK7+HtGlw2C5jFjWZmVpf4/octICF3QsHed9cHlejnpPrhX5Y8x8hbWwFtbCWlgLa2EtrIW1sBbWwlpYC2thLayFtbAW1sI6WlgNzV08wiz8Xvylaiyu/hxGaivk7IzIObSm99nZk3Wxv5b4rsjLV3uyTrBgDC2uVUuRxSa0FXScETmH1uQJs1yVl6X+3SZXDoPlKmJZn5elL6yxgbTABR1Lx3kfbMjLUe/J9SJ/jJmvsI5tVkNz60aYhR+7rtRjqX8PidRW0HFG5Bxa0+MSe7Ix9tcT39V5+WpPNgoWjKHFtWopstiEtoKOMyLn0Jo8YZZrsrK0/4b0pmGwXEMs12ZlaT9vXUda4IKOpeO8D67Ly1HvyWtF/hgzX2EtrIW1sBbWwlpYC2thHdushuY2jjALX8tsUmNp/71nqa2QszMi59CarlPYk+tj/1riuyEvX+3J9YIFY2hxrVqKLDahraDjjMg5tCZPmGVzVpb2deyNw2DZTCxbsrK0r2NvIq0b4y10LB3nfXBTXo56T24R+WPMfIW1sBbWwlpYC2thLayFdWyzGpq7foRZ+FrmRjWW9nWs1FbI2RmRc2hN1ynsydbY30J82/Ly1Z5sFSwYQ4tr1VJksQltBR1nRM6hNXnCLLcosNw8DJZbiOXWvCz1dex20gIXdCwd532wPS9HvSdvFfljzHyjhdXQ3NYRZuH72M16LM4mtDV0jMg5tKb7D3uyI/ZvJb7b8vLVnuwQLBhDi2vVUmSxCW0FHWdEzqE1ecIstyuw7BwGy+3EsisvS/34upu0wAUdS8d5H+zOy1HvyV0if4yZb7SwGprbMcIsfB/bqcdSP75KbQ0dI3IOren+w57cEfu7iO/OvHy1J3cIFoyhxbVqKbLYhLaCjjMi59CaPIF+OG9P7N9BfHsz16EiHayLMbS4Vi1FFpvQVtBxRuQcWpMn0A/n7Yv9PcS3P3MdKtLBuhhDi2tlFFlsQltBxxmRc2hNnuyn3O+K/X3Ed3fmOlSkg3UxhhbXarIii01oK+g4I3IOrckT6Ifz7on9u4jv3sx1qEgH62IMLa6VVWSxCW0FHWdEzqE1eQL9cN59sX8P8d2fuQ4V6WBdjO8nH8AwRZHFJrQVdJwROYfW5An0w3kPxP59xPdg5jpUpIN1MYYW12qqIotNaCvoOCNyDq3JE+iH8x6K/QeI7+HMdahIB+tiDC2u1TRFFpvQVtBxRuQcWpMn0A/nPRL7DxHfo5nrUJEO1sUYWlyr6YosNqGtoOO4tmhNnkA/nPdY7D9CfI9nrkNFOlgXY2hxrVqKLDahraDjjMg5tCZPoB/OeyL2HyO+JzPXoSIdrIsxtLhWLUUWm9BW0HFG5BxakyfQD+c9FftPEN/TmetQkQ7WxRhaXKuWIotNaCvoOCNyDq3JE+iH856J/aeI79nMdahIB+tiDC2uVUuRxSa0FXScETmH1uQJ9MN5z8X+M8T3fOY6VKSDdTGGFteqpchiE9oKOs6InENr8oRZDuRlqb8L/kJc6znSeTFzbSvSwboYQ4vrf0CRxSa0FXScETmH1uQz9MN5L8X+C8T3cuY6VKSDdTGGFtfqgCKLTWgr6Dgjcg6tyRPoh/Neif2XiO/VzHWoSAfrYgwtrtUBRRab0FbQcUbkHFqTJ9AP570W+68Q33sy16EiHayLMbS4Vi1FFpvQVtBxRuQcWpMn0A/nvTf2XyO+92WuQ0U6WBdjaHGtWoosNqGtoOOMyDm0Jk+gH857f+y/l/g+kLkOFelgXYyhxbVqKbLYhLaCjjMi59CaPIF+OO/12H8/8X0wcx0q0sG6GEOLa9VSZLEJbQUdZ0TOoTV5Av1w3odi/3Xi+3DmOlSkg3UxhhbXqqXIYhPaCjrOiJxDa/IE+uG8j8T+h4jvo5nrUJEO1sUYWlyrliKLTWgr6Dgjcg6tyRPoh/M+FvsfIb6PZ65DRTpYF2Noca1aiiw2oa2g47i2aE2efDzehvPeiP2PEd8PZa5DRTpYF2Noca1aiiw2oa2g44zIObQmT6AfzvtE7L9BfD+cuQ4V6WBdjKHFtWopstiEtoKOMyLn0Jo8gX4475Ox/wni+zeZ61CRDtbFGFpcq5Yii01oK+g4I3IOrckT6IfzfiT2P0l8/zZzHSrSwboYQ4tr1VJksQltBR1nRM6hNXkC/XDej8b+jxDfv8tch4p0sC7G0OJatRRZbEJbQccZkXNoTZ5AP5z3Y7H/o8T37zPXoSIdrIsxtLhWLUUWm9BW0HFG5BxakyfQD+d9KvZ/jPj+Q+Y6VKSDdTGGFteqpchiE9oKOs6InENr8gT64bwfj/1PEd9/zFyHinSwLsbQ4lq1FFlsQltBxxmRc2hNnkA/nPfp2P9x4vtPmetQkQ7WxRhaXKuWIotNaCvoOCNyDq3JE2b5TF6W+m87/MQwWD5DLJ/Ny1L/n8HPkRa4oGPpOO+Dz+XlqPfkZ0X+GDNfYR3brIbmPj3CLPzY9RN6LPXfdpDaCjrOiJxDa3pcYk8+H/ufJb7/nJev9uTzggVjaHGtWoosNqGtoOOMyDm0Jk+Y5aeysrj6e1A/OQyWnyKWL2RlaT9v/TRpgQs6lo7zPvjpvBz1nvyCyB9j5iushbWwFtbCWlgLa2EtrIW1sBbWwlpYC2thLayFtbAW1tHCamju8yPMwu/F/6Qai6t/p7vUVsjZGZFzaE3vs7MnX4z9LxDff8nLV3vyRcGCMbS4Vi1FFpvQVtBxRuQcWpMnzPKzWVnaf5vsZ4bB8rPE8qWsLO3PYX6OtMAFHUvHeR/8XF6Oek9+SeSPMfMV1sJaWAtrYS2shbWwFtaxzWpo7osjzMLXMj+jxtL+22RSWyFnZ0TOoVViPEB99uTLsf8l4vuveflqT74sWDCGFteqpchiE9oKOs6InENr8oRZfiErS/s69ueHwfILxPKVrCzt69hfJC1wQcfScd4Hv5iXo96TXxH5Y8x8hbWwFtbCWlgLa2EtrIV1bLMamvvyCLPwtczPq7G0r2OltkLOzoicQ2u6TmFPvhr7XyG+/5aXr/bkq4IFY2hxrVqKLDahraDjjMg5tCZPmOWXs7K0r2N/aRgsv0wsX8vK0r6O/RXSAhd0LB3nffAreTnqPfk1kT/GzFdYC2thLayFtbAW1sJaWMc2q6G5r44wC1/L/JIaS/s6Vmor5OyMyDm0pusU9uTrsf814vvveflqT74uWDCGFteqpchiE9oKOs6InENr8oRZfi0vS/17yX51GCy/RizfyMtSX8f+OmmBCzqWjvM++PW8HPWe/IbIH2PmK6xjm9XQ3NdHmIUfu35Vj6X+vWRSW0HHGZFzaE2PS+zJN2P/G8T3G3n5ak++KVgwhhbXqqXIYhPaCjrOiJxDa/KEWX4zL0v9vPWtYbD8JrF8Oy9L/bz1W6QFLuhYOs774LfyctR78tsif4yZr7CObVZDc98cYRZ+7PqWHkv9vCW1FXScETmH1vS4xJ58J/a/TXz/Iy9f7cl3BAvG0OJatRRZbEJbQccZkXNoTZ4wy+8osPz2MFh+h1i+m5elft76HmmBCzqWjvM++F5ejnpPflfkj/H3aH60sBqa+84Is/B97Lf1WJxNaGvocG3Rmu4/34u34bzvx/53ie9/5uWrPfm+YMEYWlyrliKLTWgr6Dgjcg6tyRPoh/N+N/a/T3z/K3MdKtLBuhhDi2vVUmSxCW0FHWdEzqE1eQL9cN7vxf7vEt//zlyHinSwLsbQ4lq1FFlsQltBxxmRc2hNnkA/nPf7sf97xPd/MtehIh2sizG0uFYtRRab0FbQcUbkHFqTJ9AP5/1B7P8+8f3fzHWoSAfrYgwtrlVLkcUmtBV0nBE5h9bkCfTDeX8Y+39AfP8vcx0q0sG6GEOLa9VSZLEJbQUdZ0TOoTV5Av1w3h/F/h8S3//PXIeKdLAuxtDiWrUUWWxCW0HHGZFzaE2eQD+c98ex/0fE9yeZ61CRDtbFGFpcq5Yii01oK+g4I3IOrckT6Ifz/jT2/5j4/ixzHSrSwboYQ4tr1VJksQltBR1nRM6hNXkC/XDen8f+nxLfX2SuQ0U6WBdjaHGtWoosNqGtoOOMyDm0Jk+gH877y9j/c+L7q8x1qEgH62IMLa5VS5HFJrQVdJwROYfW5An0w3l/Hft/SXx/k7kOFelgXYyhxbVqKbLYhLaCjjMi59CaPIF+OO9vY/+vie/vMtehIh2sizG0uFYHFFlsQltBxxmRc2hNnkA/nPf3sf+3xPcPmetQkQ7WxRhaXKsDiiw2oa2g44zIObQmT6AfzvvH2P974vunzHWoSAfrYgwtrtUBRRab0FbQcUbkHFqTJ9AP570Z+/9IfDg5E1/tyZuC5U0ByrVqKbLYhLaCjjMiZ5IYVAd5MJxXxf6bVIduBU+qajALxt3kyZsJT7oVPJHaCjrOiJyp7IPqgNZNnvTEfkV84xQ86RGeYDyOPAEDezJOwROpraDjjMh5KE/GkSfjY7+H+CYoeDJeeILxBPKkJ+HJBAVPpLaCjjMi56E8mUCeTIz98cQ3ScGTicITjCeRJ+MTnkxS8ERqK+g4I3IeypNJ5ImJ/YnEN1nBEyM8wXgyeTIx4clkBU+ktoKOMyLnoTyZTJ5Y9IlvioInVniC8RTyxCQ8maLgidRW0HFG5DyUJ1PIk6moCfFNU/BkqvAE42nkiU14Mk3BE6mtoOOMyHkoT6aRJ9NjfyrxzVDwZLrwBOMZ5MnUhCczFDyR2go6zoich/JkBnlyUOxPJ76DFTw5SHiC8cHkyfSEJwcreCK1FXScETkP5cnB5MkhsX8Q8c1U8OQQ4QnGM8mTgxKezFTwRGor6Dgjch7Kk5nkyaGxfwjxzVLw5FDhCcazyJNDEp7MUvBEaivoOCNyHsqTWeTJ7Ng/lPjmKHgyW3iC8Rzy5NCEJ3MUPJHaCjrOiJyH8mQOeTI39mcT3zwFT+YKTzCeR57MTngyT8ETqa2g44zIeShP5pEn82N/LvEtUPBkvvAE4wXkydyEJwsUPJHaCjrOiJyH8mQBebIw9ucT3yIFTxYKTzBeRJ7MT3iySMETqa2g44zIeShPmKU3L0v9/20XD4Oll1iW5GWp/9/SUhIH1xLaB0sT+2Cpwp5cIvYkxsxXWMc2q6G5hdXIsvBj12I9lvr/20ptBR1nRM6hNT0usSeHiT0T+A5X8OQw4QnGh5MnSxJ7NTeLTWgr6Dgjch7KE2ZZnpXF1b+nd9kwWJYTy4q8damft44gcXCtoH1wRGIfHKGwJ1eIPYkx8xXWwlpYC2thLayFtbAW1sJaWAtrYS2shbWwFtbCWlgL62hhNTSH96dHioXfi1+mxuLqvzMhtRVydkbkHJoYDnqfnT05UuyZwHeUgidHCk8wPoo8WZHYq7lZbEJbQccZkfNQnjDLMVlZ2n8v8ehhsBxDLMfmrUv9OcxxJA6uY2kfHJfYB8cp7MljxZ7EmPkKa2EtrIW1sBbWwlpYC+vYZjU0h9f3I8XC1zJHq7G0/16i1FbI2RmRc2hiOOg6hT05XuyZwNen4MnxwhOM+8iTYxN7NTeLTWgr6Dgjch7KE2ZxmfdhYOkfBosjlpV561Jfx64icXCtpH2wKrEPVinsyZViT2LMfIW1sBbWwlpYC2thLayFdWyzGprD6/uRYuFrmX41lvZ1rNRWyNkZkXNoYjjoOoU9OUHsmcB3ooInJwhPMD6RPFmZ2Ku5WWxCW0HHGZHzUJ4wy8mZ92FgOWkYLCcTyyl561Jfx55K4uA6hfbBqYl9cKrCnjxF7EmMma+wFtbCWlgLa2EtrIW1sI5tVkNzeH0/Uix8LXOSGkv7OlZqK+TsjMg5NDEcdJ3Cnpwm9kzgO13Bk9OEJxifTp6cktiruVlsQltBxxmR81CeMMuZeVnq30t2xjBYziSW1XlZ6uvYARIH12raBwOJfTCgsCdXiz35g1x5vrCOaVZDc6dVI8vCj11n6LHUv5dMaivoOCNyDq3pcYk9OUvsmcB3toInZwlPMD6bPFmd2Ku5WWxCW0HHGZHzUJ4wS0vheeucYbC0iGVNXpb6eetcEgfXGtoH5yb2wbkKe3KN2JMYM19hHdushubOqkaWhR+7ztFjqZ+3pLaCjjMi59CaHpfYk/PEngl85yt4cp7wBOPzyZM1ib2am8UmtBV0nBE5D+UJs1yowHLBMFguJJaL8rLUz1sXkzi4LqJ9cHFiH1yssCcvEnsSY+YbLayG5s6rRpaF72MX6LE4m9DW0DEi59Ca7j/sySVizwS+SxU8uUR4gvGl5MlFib2am8UmtBV0nBE5D+XJpeTJZbF/CfGtVfDkMuEJxmvJk0sSnqxV8ERqK+g4I3IeypO15MnlsX8Z8a1T8ORy4QnG68iTyxKerFPwRGor6Dgjch7Kk3XkyRWxfznxXangyRXCE4yvJE8uT3hypYInUltBxxmR81CeXEmeXBX7VxDfegVPrhKeYLyePLki4cl6BU+ktoKOMyLnoTxZT55siP2riG+jgicbhCcYbyRPrkp4slHBE6mtoOOMyHkoTzaSJ1fH/gbi26TgydXCE4w3kScbEp5sUvBEaivoOCNyHsqTTeTJNbF/NfFdq+DJNcITjK8lT65OeHKtgidSW0HHGZHzUJ4wy3V5WfrCmtdnzi+scQMlhFyvIz9x/HrK7QaFvXWd2FsYM987ZZ3ZNbKsWv7fqLC/bxjG/r6R8tucmWWKX2Mi+bpZ+AvObuK5KbE38Lgz2ceW6u0/h/44Os6PVdsU9svWuGYVY5vgCro3K+hCZ3zUBQe0euhnvjW5fTu1q/2cgvlDqTa3ZmYMOrcMY//dSvXanvn+FdbYQeLg2k6PLzi+jTh2KPi2XTy+YLyDWNBwf1CoSX+TF9sTLNv0/Bk2y5YOYpne1TksUzqIxXQQy4QOYunpIJapHcQyuYNYJnYQy7gOYpnTQSyzO4hlVgexTOsgFttBLJM6iGV8B7FUI8xiut5+XWDo+Bb6ObxGvoXmuhPr4Tl2B10jfXra29fRzp11BmgMrcnEsEP5Ne07YRnfQSyTOojFdhDLtA5imdVBLLM7iGVOB7GM6yCWiR3EMrmDWKZ2EEtPB7FM6CAW00EsUzqIZXoHseC1YiewbOsglu6ER7flZVnFr9nRxHDQ6//biGVnXpb687TbM68Z1thFCSFXsFs6fjvltkvB853V4JpizHyFdWyz5tddWf8utZ3DuI8zy26F++MdJA6u3eTFHQkv7lDwYrfwAmPmK6yFtbAW1sJaWAtrYS2shbWwFtbCWlgLa2EtrIW1sBbWwlpYC2thLayFtbAW1sJaWAtrftb8uq7+fgTrhiaGP9CSLHfmrUH9/Yg9JA6uO8mLPQkv9ih4cafwAmPmK6yFtbAW1sJaWAtrYS2shbWwFtbCWlgLa2EtrIW1sBbW0cKqoFv/H1vWDU0MB72/zCx787LU7y/vI3Fw7SUv9iW82KfgxV7hBcbMV1jHNmt+3f768569w7g/Mst+hfvjXSQOrv3kxV0JL+5S8GK/8AJj5iushbWwFtbCWlgLa2EtrGObNb9u+/U564YmhoNenzPL3XlrUL8+v4fEwXU3eXFPwot7FLy4W3iBMfMV1sJaWAtrYS2shbWwFtaxzaqgW/+NQtYNTQwHvT5nlnvzstSvz+8jcXDdS17cl/DiPgUv7hVeYMx8o4VVQbfeN/cOY98wy/0K++YBEgfX/eTFAwkvHlDw4n7hBcbMN1pYDc11d701h+M9NPdgnBtHcw/FufE09zDlhLlH4txEmns0zk2iucfi3GyaezzO8d+eeSL2d9Lck7G/m+aeiv07ae7p2N9Lc8/E/n6ae1Y8T4S558RjQJh7XngZ5g5QH7cvxLnJNPci7QnMvRTnptDcy3FuKs29Euem0dyrcW46zb2W4IPX99McvOa9Aa8fpDl4/RDNweuHaQ5eP0Jz8PpRmkONHqM51OhxmkONnqA51OhJmkONnqI51OhpmkONnqG5GXHuWZo7KM49R3MHx7nnae6QOMfe4+8ov0Bz+HuwL9Ic/sbLSzSH+8DLNIe/efIKzc2Nc6/S3Lw49xrd74JHi+P8QLzte3etfo7o7Rrcmp4joB9YFuVlqd+HXBDX6iWd+Xl16sfVBSI/jKFliWGRIotNaOfXcX2cc3fMbZbQ5X23gFiW5s3ZBZa5tH4v6UKrh37mM/EBITyWbZr21nmZ9199X8D+Rmu6L+jtCzfovvBOWHjvzMvK0v47EXMzrxnWWEr8yBXslo7zXsm8F+vHgnldg2sq92JhLayFtbAW1sJaWAtrYS2shbWwFtbCWlgLa2EtrIW1sI4mVn6vf/EIs1hi0PvcwfXZhLbG++X8OR/WDp9drKHPLhZkzi3UmT+P6CUGaPXQz9w97S2uC2J/Mh3nPZGZ9SaFmtef3eAzELSmz0vmUX55P9twfeEz7YlUy7nCB3B2E8NhWRnan68cTvlCEzrBa9wH8HOG+r3EtiwvW/2YwGwDNIYWf/66VJHFJrT5c8ZQJ9wXllDtFiXqlPczwP539Rlg7s/rKuHDAGmwbuZ93M+6VQxoYL6H+rfhiyL0c6HBQzAHD+clfo77C8Q5lo7PU855LnEM0BhaYY/eSLnOS3DPIm4c5+eIzI/BNTc/BvcSA7T4+y5LiEXjdce/VEN+3bFE1Cw/S3/9ukNq83eGULPg6RvEofkaoVv4s4C4wIOfla/heuln5tB5yFHxvuHk41Bv19vvG/x48Ai9zvnUEK9zMn+3x/F3biQrP2ZqvuYO3/VjDn7MxM88HesyNfIcnrkOpmvw42pXV/Pz2OFUm8zP9/XrouWkBS5+3YHjM4ljeV6O2qNlIn+Mme+dsi7sANZlCdbU8+0yNdb296aYI7SmvbacWI7IytJ+zXQkrT9AGqx7VF7dftbFayZoYL6H+j9MryOOeqv7g8dIMAcPVyR+jvvLxDmWjq9QzvkI4higMbTCc8DrlOuKBPcc4sZxfu0C3/h5Y4VCLstFLssFM79nskyNpf2eidTm59L8r1Pa+S/qeqv1dr39vQx+j2URcfF7LOMzc/H36dGaHlugH74zj++57923e8/mW7Zt2LN937aK1hgn1uumdbrpWI/4uYldb2fIlvBMEuuO4uNiYhOieEgOX/i3MdHwQiL4EL6gH76QH76AH75wH75gP5M4X4i34Qv14YVo+MJ8MDU8aYQ7XXiRFAwPT27B5LDhe7vaL9rDC5nwJBNeLIQ7QNikYYOGO314YAt3+qN9HOPjWB/H+Tg+1MRHvw/nY6WPVT5O8HGij5N8nOzjFB+n+jjNx+k+zvBxpo/VsbZn+Tjbxzk+Wj7W+DjXx3k+zvdxgY8LfVzk42Ifl/i41MdlPtb6uNzHOh9X+LjSx1U+1vvY4GOjj6t9bPJxjY9rfVzn43ofN/i40cdmH1t83ORjq49tPm72cYuPW31s97HDx20+dvq43ccuH7t93OHjTh97fOz1sc/Hfh93+bjbxz0+7vVxn4/7fTzg40EfD/l42McjPh718ZiPx3084eNJH0/5eNrHMz6e9fGcj+d9HOhq+/yij5d8vOzjFR+v+njNx3t8vNfH+3y838cHfLzu44M+PuTjwz4+4uOjPj7m4+Nd7YskvlOg/Ub8Xyenx/EV7Ttb796du/f19vXu8v9u3rlz993bth7Xy8f29t6+f+++3r37Nu/Z13vznt239/Yfx+s+FR9U8B9ELti1dds9vbv37+vdfXPvlt37d23d+8/h50dT8JUCAA==",
|
|
683
683
|
"verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f"
|
|
684
684
|
}
|
|
685
|
-
]
|
|
685
|
+
],
|
|
686
|
+
"events": []
|
|
686
687
|
}
|
|
@@ -617,5 +617,6 @@
|
|
|
617
617
|
"bytecode": "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",
|
|
618
618
|
"verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f"
|
|
619
619
|
}
|
|
620
|
-
]
|
|
620
|
+
],
|
|
621
|
+
"events": []
|
|
621
622
|
}
|
package/src/contract/checker.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ABIType, BasicType,
|
|
1
|
+
import { ABIType, BasicType, ContractArtifact, StructType } from '@aztec/foundation/abi';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Represents a type derived from input type T with the 'kind' property removed.
|
|
@@ -7,19 +7,19 @@ import { ABIType, BasicType, ContractAbi, StructType } from '@aztec/foundation/a
|
|
|
7
7
|
type TypeWithoutKind<T> = Omit<{ [key in keyof T]: any }, 'kind'>;
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
|
-
* Validates the given
|
|
10
|
+
* Validates the given ContractArtifact object by checking its functions and their parameters.
|
|
11
11
|
* Ensures that the ABI has at least one function, a constructor, valid bytecode, and correct parameter types.
|
|
12
12
|
* Throws an error if any inconsistency is detected during the validation process.
|
|
13
13
|
*
|
|
14
|
-
* @param
|
|
15
|
-
* @returns A boolean value indicating whether the
|
|
14
|
+
* @param artifact - The ContractArtifact object to be validated.
|
|
15
|
+
* @returns A boolean value indicating whether the artifact is valid or not.
|
|
16
16
|
*/
|
|
17
|
-
export function abiChecker(
|
|
18
|
-
if (!
|
|
19
|
-
throw new Error('
|
|
17
|
+
export function abiChecker(artifact: ContractArtifact) {
|
|
18
|
+
if (!artifact.functions || artifact.functions.length === 0) {
|
|
19
|
+
throw new Error('artifact has no functions');
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
artifact.functions.forEach(func => {
|
|
23
23
|
if (!('name' in func && typeof func.name === 'string' && func.name.length > 0)) {
|
|
24
24
|
throw new Error('ABI function has no name');
|
|
25
25
|
}
|
|
@@ -39,7 +39,7 @@ export function abiChecker(abi: ContractAbi) {
|
|
|
39
39
|
});
|
|
40
40
|
|
|
41
41
|
// TODO: implement a better check for constructor (right now only checks if it has it or not)
|
|
42
|
-
if (!
|
|
42
|
+
if (!artifact.functions.find(func => func.name === 'constructor')) {
|
|
43
43
|
throw new Error('ABI has no constructor');
|
|
44
44
|
}
|
|
45
45
|
|
package/src/contract/contract.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ContractArtifact } from '@aztec/foundation/abi';
|
|
2
2
|
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
3
3
|
import { PublicKey } from '@aztec/types';
|
|
4
4
|
|
|
@@ -17,19 +17,19 @@ export class Contract extends ContractBase {
|
|
|
17
17
|
/**
|
|
18
18
|
* Creates a contract instance.
|
|
19
19
|
* @param address - The deployed contract's address.
|
|
20
|
-
* @param
|
|
20
|
+
* @param artifact - Build artifact of the contract.
|
|
21
21
|
* @param wallet - The wallet to use when interacting with the contract.
|
|
22
22
|
* @param portalContract - The portal contract address on L1, if any.
|
|
23
23
|
* @returns A promise that resolves to a new Contract instance.
|
|
24
24
|
*/
|
|
25
|
-
public static async at(address: AztecAddress,
|
|
25
|
+
public static async at(address: AztecAddress, artifact: ContractArtifact, wallet: Wallet): Promise<Contract> {
|
|
26
26
|
const extendedContractData = await wallet.getExtendedContractData(address);
|
|
27
27
|
if (extendedContractData === undefined) {
|
|
28
28
|
throw new Error('Contract ' + address.toString() + ' is not deployed');
|
|
29
29
|
}
|
|
30
30
|
return new Contract(
|
|
31
31
|
extendedContractData.getCompleteAddress(),
|
|
32
|
-
|
|
32
|
+
artifact,
|
|
33
33
|
wallet,
|
|
34
34
|
extendedContractData.contractData.portalContractAddress,
|
|
35
35
|
);
|
|
@@ -38,21 +38,21 @@ export class Contract extends ContractBase {
|
|
|
38
38
|
/**
|
|
39
39
|
* Creates a tx to deploy a new instance of a contract.
|
|
40
40
|
* @param wallet - The wallet for executing the deployment.
|
|
41
|
-
* @param
|
|
41
|
+
* @param artifact - Build artifact of the contract to deploy
|
|
42
42
|
* @param args - Arguments for the constructor.
|
|
43
43
|
*/
|
|
44
|
-
public static deploy(wallet: Wallet,
|
|
45
|
-
return new DeployMethod(Point.ZERO, wallet,
|
|
44
|
+
public static deploy(wallet: Wallet, artifact: ContractArtifact, args: any[]) {
|
|
45
|
+
return new DeployMethod(Point.ZERO, wallet, artifact, args);
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
/**
|
|
49
49
|
* Creates a tx to deploy a new instance of a contract using the specified public key to derive the address.
|
|
50
50
|
* @param publicKey - Public key for deriving the address.
|
|
51
51
|
* @param wallet - The wallet for executing the deployment.
|
|
52
|
-
* @param
|
|
52
|
+
* @param artifact - Build artifact of the contract.
|
|
53
53
|
* @param args - Arguments for the constructor.
|
|
54
54
|
*/
|
|
55
|
-
public static deployWithPublicKey(publicKey: PublicKey, wallet: Wallet,
|
|
56
|
-
return new DeployMethod(publicKey, wallet,
|
|
55
|
+
public static deployWithPublicKey(publicKey: PublicKey, wallet: Wallet, artifact: ContractArtifact, args: any[]) {
|
|
56
|
+
return new DeployMethod(publicKey, wallet, artifact, args);
|
|
57
57
|
}
|
|
58
58
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ContractArtifact, FunctionArtifact, FunctionSelector } from '@aztec/foundation/abi';
|
|
2
2
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
3
3
|
import { CompleteAddress, DeployedContract } from '@aztec/types';
|
|
4
4
|
|
|
@@ -29,13 +29,13 @@ export class ContractBase implements DeployedContract {
|
|
|
29
29
|
/** The deployed contract's complete address. */
|
|
30
30
|
public readonly completeAddress: CompleteAddress,
|
|
31
31
|
/** The Application Binary Interface for the contract. */
|
|
32
|
-
public readonly
|
|
32
|
+
public readonly artifact: ContractArtifact,
|
|
33
33
|
/** The wallet used for interacting with this contract. */
|
|
34
34
|
protected wallet: Wallet,
|
|
35
35
|
/** The portal contract address on L1, if any. */
|
|
36
36
|
public readonly portalContract: EthAddress,
|
|
37
37
|
) {
|
|
38
|
-
|
|
38
|
+
artifact.functions.forEach((f: FunctionArtifact) => {
|
|
39
39
|
const interactionFunction = (...args: any[]) => {
|
|
40
40
|
return new ContractFunctionInteraction(this.wallet, this.completeAddress.address!, f, args);
|
|
41
41
|
};
|
|
@@ -65,6 +65,6 @@ export class ContractBase implements DeployedContract {
|
|
|
65
65
|
* @returns A new contract instance.
|
|
66
66
|
*/
|
|
67
67
|
public withWallet(wallet: Wallet): this {
|
|
68
|
-
return new ContractBase(this.completeAddress, this.
|
|
68
|
+
return new ContractBase(this.completeAddress, this.artifact, wallet, this.portalContract) as this;
|
|
69
69
|
}
|
|
70
70
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AztecAddress, FunctionData } from '@aztec/circuits.js';
|
|
2
|
-
import {
|
|
2
|
+
import { FunctionAbi, FunctionType, encodeArguments } from '@aztec/foundation/abi';
|
|
3
3
|
import { FunctionCall, TxExecutionRequest } from '@aztec/types';
|
|
4
4
|
|
|
5
5
|
import { Wallet } from '../wallet/index.js';
|
|
@@ -26,7 +26,7 @@ export class ContractFunctionInteraction extends BaseContractInteraction {
|
|
|
26
26
|
constructor(
|
|
27
27
|
protected wallet: Wallet,
|
|
28
28
|
protected contractAddress: AztecAddress,
|
|
29
|
-
protected functionDao:
|
|
29
|
+
protected functionDao: FunctionAbi,
|
|
30
30
|
protected args: any[],
|
|
31
31
|
) {
|
|
32
32
|
super(wallet);
|
package/src/contract/index.ts
CHANGED
|
@@ -10,12 +10,12 @@
|
|
|
10
10
|
* or can be queried via `view()`.
|
|
11
11
|
*
|
|
12
12
|
* ```ts
|
|
13
|
-
* const contract = await Contract.deploy(wallet,
|
|
13
|
+
* const contract = await Contract.deploy(wallet, MyContractArtifact, [...constructorArgs]).send().deployed();
|
|
14
14
|
* console.log(`Contract deployed at ${contract.address}`);
|
|
15
15
|
* ```
|
|
16
16
|
*
|
|
17
17
|
* ```ts
|
|
18
|
-
* const contract = await Contract.at(address,
|
|
18
|
+
* const contract = await Contract.at(address, MyContractArtifact, wallet);
|
|
19
19
|
* await contract.methods.mint(1000, owner).send().wait();
|
|
20
20
|
* console.log(`Total supply is now ${await contract.methods.totalSupply().view()}`);
|
|
21
21
|
* ```
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { ContractArtifact } from '@aztec/foundation/abi';
|
|
2
|
+
import { Point } from '@aztec/foundation/fields';
|
|
3
3
|
import { PXE, PublicKey } from '@aztec/types';
|
|
4
4
|
|
|
5
5
|
import { DeployMethod } from './deploy_method.js';
|
|
@@ -9,7 +9,7 @@ import { DeployMethod } from './deploy_method.js';
|
|
|
9
9
|
* @remarks Keeping this around even though we have Aztec.nr contract types because it can be useful for non-TS users.
|
|
10
10
|
*/
|
|
11
11
|
export class ContractDeployer {
|
|
12
|
-
constructor(private
|
|
12
|
+
constructor(private artifact: ContractArtifact, private pxe: PXE, private publicKey?: PublicKey) {}
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* Deploy a contract using the provided ABI and constructor arguments.
|
|
@@ -21,6 +21,6 @@ export class ContractDeployer {
|
|
|
21
21
|
* @returns A DeployMethod instance configured with the ABI, PXE, and constructor arguments.
|
|
22
22
|
*/
|
|
23
23
|
public deploy(...args: any[]) {
|
|
24
|
-
return new DeployMethod(this.publicKey ?? Point.ZERO, this.pxe, this.
|
|
24
|
+
return new DeployMethod(this.publicKey ?? Point.ZERO, this.pxe, this.artifact, args);
|
|
25
25
|
}
|
|
26
26
|
}
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
TxContext,
|
|
6
6
|
getContractDeploymentInfo,
|
|
7
7
|
} from '@aztec/circuits.js';
|
|
8
|
-
import {
|
|
8
|
+
import { ContractArtifact, FunctionArtifact, encodeArguments } from '@aztec/foundation/abi';
|
|
9
9
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
10
10
|
import { Fr } from '@aztec/foundation/fields';
|
|
11
11
|
import { PXE, PackedArguments, PublicKey, Tx, TxExecutionRequest } from '@aztec/types';
|
|
@@ -38,13 +38,18 @@ export class DeployMethod<TContract extends ContractBase = Contract> extends Bas
|
|
|
38
38
|
public completeAddress?: CompleteAddress = undefined;
|
|
39
39
|
|
|
40
40
|
/** Constructor function to call. */
|
|
41
|
-
private
|
|
42
|
-
|
|
43
|
-
constructor(
|
|
41
|
+
private constructorArtifact: FunctionArtifact;
|
|
42
|
+
|
|
43
|
+
constructor(
|
|
44
|
+
private publicKey: PublicKey,
|
|
45
|
+
protected pxe: PXE,
|
|
46
|
+
private artifact: ContractArtifact,
|
|
47
|
+
private args: any[] = [],
|
|
48
|
+
) {
|
|
44
49
|
super(pxe);
|
|
45
|
-
const
|
|
46
|
-
if (!
|
|
47
|
-
this.
|
|
50
|
+
const constructorArtifact = artifact.functions.find(f => f.name === 'constructor');
|
|
51
|
+
if (!constructorArtifact) throw new Error('Cannot find constructor in the artifact.');
|
|
52
|
+
this.constructorArtifact = constructorArtifact;
|
|
48
53
|
}
|
|
49
54
|
|
|
50
55
|
/**
|
|
@@ -63,7 +68,7 @@ export class DeployMethod<TContract extends ContractBase = Contract> extends Bas
|
|
|
63
68
|
const { chainId, protocolVersion } = await this.pxe.getNodeInfo();
|
|
64
69
|
|
|
65
70
|
const { completeAddress, constructorHash, functionTreeRoot } = await getContractDeploymentInfo(
|
|
66
|
-
this.
|
|
71
|
+
this.artifact,
|
|
67
72
|
this.args,
|
|
68
73
|
contractAddressSalt,
|
|
69
74
|
this.publicKey,
|
|
@@ -85,8 +90,8 @@ export class DeployMethod<TContract extends ContractBase = Contract> extends Bas
|
|
|
85
90
|
new Fr(chainId),
|
|
86
91
|
new Fr(protocolVersion),
|
|
87
92
|
);
|
|
88
|
-
const args = encodeArguments(this.
|
|
89
|
-
const functionData = FunctionData.fromAbi(this.
|
|
93
|
+
const args = encodeArguments(this.constructorArtifact, this.args);
|
|
94
|
+
const functionData = FunctionData.fromAbi(this.constructorArtifact);
|
|
90
95
|
const execution = { args, functionData, to: completeAddress.address };
|
|
91
96
|
const packedArguments = await PackedArguments.fromArgs(execution.args);
|
|
92
97
|
|
|
@@ -103,7 +108,7 @@ export class DeployMethod<TContract extends ContractBase = Contract> extends Bas
|
|
|
103
108
|
this.completeAddress = completeAddress;
|
|
104
109
|
|
|
105
110
|
// TODO: Should we add the contracts to the DB here, or once the tx has been sent or mined?
|
|
106
|
-
await this.pxe.addContracts([{
|
|
111
|
+
await this.pxe.addContracts([{ artifact: this.artifact, completeAddress, portalContract }]);
|
|
107
112
|
|
|
108
113
|
return this.txRequest;
|
|
109
114
|
}
|
|
@@ -118,7 +123,7 @@ export class DeployMethod<TContract extends ContractBase = Contract> extends Bas
|
|
|
118
123
|
*/
|
|
119
124
|
public send(options: DeployOptions = {}): DeploySentTx<TContract> {
|
|
120
125
|
const txHashPromise = super.send(options).getTxHash();
|
|
121
|
-
return new DeploySentTx(this.
|
|
126
|
+
return new DeploySentTx(this.artifact, this.pxe, txHashPromise);
|
|
122
127
|
}
|
|
123
128
|
|
|
124
129
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FieldsOf } from '@aztec/circuits.js';
|
|
2
|
-
import {
|
|
2
|
+
import { ContractArtifact } from '@aztec/foundation/abi';
|
|
3
3
|
import { TxHash, TxReceipt } from '@aztec/types';
|
|
4
4
|
|
|
5
5
|
import { AztecAddress, Contract, ContractBase, PXE, SentTx, WaitOpts, Wallet } from '../index.js';
|
|
@@ -20,7 +20,7 @@ export type DeployTxReceipt<TContract extends ContractBase = Contract> = FieldsO
|
|
|
20
20
|
* A contract deployment transaction sent to the network, extending SentTx with methods to create a contract instance.
|
|
21
21
|
*/
|
|
22
22
|
export class DeploySentTx<TContract extends Contract = Contract> extends SentTx {
|
|
23
|
-
constructor(private
|
|
23
|
+
constructor(private artifact: ContractArtifact, wallet: PXE | Wallet, txHashPromise: Promise<TxHash>) {
|
|
24
24
|
super(wallet, txHashPromise);
|
|
25
25
|
}
|
|
26
26
|
|
|
@@ -50,6 +50,6 @@ export class DeploySentTx<TContract extends Contract = Contract> extends SentTx
|
|
|
50
50
|
const contractWallet = wallet ?? (isWallet(this.pxe) && this.pxe);
|
|
51
51
|
if (!contractWallet) throw new Error(`A wallet is required for creating a contract instance`);
|
|
52
52
|
if (!address) throw new Error(`Contract address is missing from transaction receipt`);
|
|
53
|
-
return Contract.at(address, this.
|
|
53
|
+
return Contract.at(address, this.artifact, contractWallet) as Promise<TContract>;
|
|
54
54
|
}
|
|
55
55
|
}
|
package/src/sandbox/index.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { sleep } from '@aztec/foundation/sleep';
|
|
|
3
3
|
|
|
4
4
|
import zip from 'lodash.zip';
|
|
5
5
|
|
|
6
|
-
import
|
|
6
|
+
import SchnorrAccountContractArtifact from '../artifacts/schnorr_account_contract.json' assert { type: 'json' };
|
|
7
7
|
import { AccountWalletWithPrivateKey, PXE, createPXEClient, getSchnorrAccount } from '../index.js';
|
|
8
8
|
|
|
9
9
|
export const INITIAL_SANDBOX_ENCRYPTION_KEYS = [
|
|
@@ -16,7 +16,7 @@ export const INITIAL_SANDBOX_SIGNING_KEYS = INITIAL_SANDBOX_ENCRYPTION_KEYS;
|
|
|
16
16
|
|
|
17
17
|
export const INITIAL_SANDBOX_SALTS = [Fr.ZERO, Fr.ZERO, Fr.ZERO];
|
|
18
18
|
|
|
19
|
-
export const INITIAL_SANDBOX_ACCOUNT_CONTRACT_ABI =
|
|
19
|
+
export const INITIAL_SANDBOX_ACCOUNT_CONTRACT_ABI = SchnorrAccountContractArtifact;
|
|
20
20
|
|
|
21
21
|
export const { PXE_URL = 'http://localhost:8080' } = process.env;
|
|
22
22
|
|
package/src/utils/authwit.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { AztecAddress, CircuitsWasm, GeneratorIndex } from '@aztec/circuits.js';
|
|
|
2
2
|
import { pedersenPlookupCompressWithHashIndex } from '@aztec/circuits.js/barretenberg';
|
|
3
3
|
import { FunctionCall, PackedArguments } from '@aztec/types';
|
|
4
4
|
|
|
5
|
+
// docs:start:authwit_computeAuthWitMessageHash
|
|
5
6
|
/**
|
|
6
7
|
* Compute an authentication witness message hash from a caller and a request
|
|
7
8
|
* H(caller: AztecAddress, target: AztecAddress, selector: Field, args_hash: Field)
|
|
@@ -22,3 +23,4 @@ export const computeAuthWitMessageHash = async (caller: AztecAddress, request: F
|
|
|
22
23
|
GeneratorIndex.SIGNATURE_PAYLOAD,
|
|
23
24
|
);
|
|
24
25
|
};
|
|
26
|
+
// docs:end:authwit_computeAuthWitMessageHash
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Fr, GrumpkinPrivateKey } from '@aztec/circuits.js';
|
|
2
|
-
import { ABIParameterVisibility,
|
|
2
|
+
import { ABIParameterVisibility, FunctionAbi, FunctionType } from '@aztec/foundation/abi';
|
|
3
3
|
import { AuthWitness, FunctionCall, PXE, TxExecutionRequest } from '@aztec/types';
|
|
4
4
|
|
|
5
5
|
import { AccountInterface } from '../account/interface.js';
|
|
@@ -47,7 +47,7 @@ export class AccountWallet extends BaseWallet {
|
|
|
47
47
|
return this.getCompleteAddress().address;
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
private getSetIsValidStorageAbi():
|
|
50
|
+
private getSetIsValidStorageAbi(): FunctionAbi {
|
|
51
51
|
return {
|
|
52
52
|
name: 'set_is_valid_storage',
|
|
53
53
|
functionType: 'open' as FunctionType,
|