From 8a9d3f6d5b50b0d79d0f4f714d0c500d767904ba Mon Sep 17 00:00:00 2001 From: LHerskind Date: Tue, 27 Jun 2023 09:47:36 +0000 Subject: [PATCH] fix: add CALL_PRIVATE_FUNCTION_RETURN_SIZE constant --- .../noir-aztec3/src/oracle/call_private_function.nr | 8 +++++--- .../src/examples/gullible_account_contract.json | 2 +- .../src/examples/non_native_token_contract.json | 4 +++- .../src/examples/public_private_contract.json | 10 +++++++++- 4 files changed, 18 insertions(+), 6 deletions(-) diff --git a/yarn-project/noir-contracts/src/contracts/noir-aztec3/src/oracle/call_private_function.nr b/yarn-project/noir-contracts/src/contracts/noir-aztec3/src/oracle/call_private_function.nr index bfaaec43573..e017af9e0e4 100644 --- a/yarn-project/noir-contracts/src/contracts/noir-aztec3/src/oracle/call_private_function.nr +++ b/yarn-project/noir-contracts/src/contracts/noir-aztec3/src/oracle/call_private_function.nr @@ -1,17 +1,19 @@ -// @todo @LHerskind Looks like the length is hardcoded without a constant here. Should have a description. Seems like number of public inputs + 5 +// Size of the return value of a private function call, public inputs length + 5 +// contract address, function selector, is_private, is_constructor, public inputs (43), is_execution_request +global CALL_PRIVATE_FUNCTION_RETURN_SIZE: comptime Field = 48; #[oracle(callPrivateFunction)] fn call_private_function_oracle( _contract_address: Field, _function_selector: Field, _args: [Field; crate::abi::MAX_ARGS] -) -> [Field; 48] {} +) -> [Field; CALL_PRIVATE_FUNCTION_RETURN_SIZE] {} unconstrained fn call_private_function_internal( contract_address: Field, function_selector: Field, args: [Field; crate::abi::MAX_ARGS] -) -> [Field; 48] { +) -> [Field; CALL_PRIVATE_FUNCTION_RETURN_SIZE] { call_private_function_oracle( contract_address, function_selector, diff --git a/yarn-project/noir-contracts/src/examples/gullible_account_contract.json b/yarn-project/noir-contracts/src/examples/gullible_account_contract.json index c4704e0f404..878db4fc8c1 100644 --- a/yarn-project/noir-contracts/src/examples/gullible_account_contract.json +++ b/yarn-project/noir-contracts/src/examples/gullible_account_contract.json @@ -71,7 +71,7 @@ } ], "returnTypes": [], - "bytecode": "ed5d677454d516ce4da18828bd37955e675220a1a6113a84de4bca4d1898cc24934908456444111131990988e02b3e081090f62084a0481111f10c22220262efbd77c1b7cf0d2cdf7dac75fd317bd6fbd6ac71adbd59ac4c86efdbe7db3bdfb967722cf52acbaf2871ae3d89d6b48cf989f6a294025b46529ad5ea2a1b97307ac8e01277b862f0c508a32fd6505c5b131d16abd592bdb6c4b565bcc5966d553dc525ee4bf126dffe3347f9fc16260d514eae558d2b2e75950f2fc8c91d9635daee748784b9ca92ecb67ca75b29f11da86b67a2c596e658986251ad9963724b4336255b0a9590cde39df65c4f7131c33fb03dc16171cecd519d960c4f8987a1b4711c0bd4f7527c94a97774b4da2752354799d34c9171e9b131a6e898f4deb1e658734c6c4c66646c54941a1b1ddb272e3dae8f29ce1c1da59ab362e2a2b2aebf073fb3bebed7dbf4a7a43d7092e6056466005496e070a42dbc12528f07527ddf21f100698002a4210a904628401aa300698202a4290a906628409aa300698102a4250a905628405aa300698302a42d0a90761ceeff863531f5eb3f60e0a0f884c4a4e4c12943860e1b3e62e4a8d16352c78e1b3f61e2a4c953a64e9b3e63e6acd973d2d23332d5acecb99679c51b5c9b46d90bdd61a1d57f862ad57f2a2137360e213e6f1ccc26d78e14bb43b564dbe496cab32f8372aac35298e654e53ecb69b1db4a5ce543d5b45c8d863bdce471ed1ca7665bf29daa63982d532d52fee7efa1fffdf2b07ad59823c2af638f706d965ba0925ad57f0f51aeef50e472f96ae4fb32ec72ca932d0e956817aaae6d630bec4e8b6a73aee551d3000e59fbbeb388b4ce3f6ab0999e6fb4d3b68aabbadd52b18761d90630d476be9ba12e0cfb103fca6720887c6c3946f2c931928fcd1ff219c850db1c06f9d8b0e59308229f5cbb917cec46f2c9f5877c12196a6b67904f2eb67c9240e4e3c833924f9e917c1cfe904f12436df318e4e3c0964f32887c9cf946f2c937928fd31ff24966a86d3e837c9cd8f29907229fc20223f91418c9a7d01ff299c750db0206f91432c8e7a6e2f84a2c8aa1c0fd18de6301e76110f3f9e602c6f3cda2e0f9a6aeb4451c0bb410f07c73c1c262ee7e77733cfe61788f4580425ab888e3e19857998738a439166d31030ead3c3e779abfc6f462c631bd2438a675a55dc2b14077038ee9c577b38f69c452b18c2133c318eacff01e4b81bde252c621744f7008e94a7b0fc7028965805368a95816b06e51b800b5249609178f61b406aa6114f7b238462bb06314f7324e6bb13c38aef5c515cb5916e93ec0814de4ee83348e2cd5f257bf1570b6dbfdc176d3d556dccfa29f1580dd56205604ae3d7a007176af100ff0d8235bc0daa3952cf6c8866c8f5672ceeb0783f35a5f5cf120cb22ad42b4472bc52a4c7bb40ab8dfec9cedf650b0dd74b5150fb1e8673560b7d9c5eac0b5470f23ceeed5e2611e7b941bb0f6680d8b3dca45b6476b38e7f523c179ad2fae788465918a11edd11a518c698f8a81fb2d8fb3dd4a82eda6abad2861d18f1bb0dbf2843b70ed91077176bb8587c71e3902d61e95b2d82307b23d2ae59cd76b83f35a5f5cb1966591d621daa352b10ed31ead03eeb77cce767b34d86ebada8a4759f4b31eb0dbf2c5fac0b5478f21ceeef5e2311e7be40c587bb481c51e3991edd106ce79bd3138aff5c5151b5916e971447bb4413c8e698f38aa75f32f876e4b55335547be6af378dcfdc535f77c8a1c712dc42dfe26fe6ef8fa2b21dddc83e8d5f1140914768a3c8a7c8ac1142914432886520ca3184e31826224c5288ad11463285229c6528ca3184f31816222c5248ac9145328a6524ca3984e31836226c52c8ad9147328d228d22932283229548a2c8a6c8ab914168dd13fc43fffa202fde8b544fc9a7cadfc8e27c4bf407ff66e62180cfe9abed19cc3777370f8ea6a2b36b34c9332c0d91b2dca90afad6590352fa048bc6b6bef40b938ef4e142077a100698f02a4030a908e28403aa100e98c02a40b0a90ae2840baa100e98e02a4070a909e28407aa10031f15d5bbb516c115bc536512eb68b1de249b153ec12bbc59effc7d5b455aa2daf402d50530bd2ad968c1b97d3ca2fe92fa8ad837b41adf4fdbe2eae3fafd912db40eed912ff167b8d6eda127b8daedaa2eff6c35d5b621b4785f7ba39aa837d5b9b284791d17eb1cf5046fb0c65b4df2f322ae7a8f03e0e19ed0797d14e14191d10158632aa3094d101bfc8682747852b386474005c46bb50647450541acaa8d2504607fd22a35d1c15aee490d1417019ed4691d121516528a32a43191df28b8c767354b88a434687103f3810cd51e32d1c6ff214f005531ce0fe3cba7a3a7874a52fae789a65910e237e6ee0297118f2935ea28ce34d9e41d4d361f10ccf47bd202f8fe659b8232c9ff52a44feacd711ce997d3438b3f5c515475916e918e2cc3e228e617ed6eb18e20da5911cf3682bc79b1c47b690c739c7d1b3c171a42fae789665914e208ea3e3e244005bc8e710f574423cc763218b02d7429e64b19045c816f224e7cc7e3e38b3f5c515cfb32cd229c4997d529cc2b490a790fbad82b3df5e08f69bbeb8e20596453a8dd86f15e274007ba41711f5745abcc8e3911605ae47122c1e6911f2cc169c33db1b9cd9fae20a2fcb229d419cd9429cc1f4486790fbad92b3df5e0af69bbeb8e22596453a8bd86f95e26c007ba49711f57456bccce3919604ae473ac7e2919620cfec739c33fb95e0ccd61757bcc2b248e71167f639711ed3239d47eeb72ace7e7b35d86ffae28a575916e90262bf55890b01ec915e43d4d305f11a8f475a1ab81ee9228b475a8a3cb32f72ceec4bc199ad2faeb8c4b248971167f6457119d3235df6fbd55c62abbc946aaf4cfbb49ba95e17576e26e2f3f879c31fe5f519d59b90a8de8244f53624aa772051bd0b89ea3d4854ef43a2fa0012d58790a83e8244f53124aa4f20517d0a89ea3348549f43a2fa0212d59790a8be8244f53524aa6f20517d0b89ea3b4854df43a2fa0112d58f90a87e8244f53324aa5f2051fd0a89ea374854bf43a2ba0a89ea1a24aa3f10517995104c580a26ac504c586198b0c231614560c2aa8109ab2626ac5a0cb08cff772b516eb15d1e00ed90e949992a64aa94a94aa63d32bd21d39b32bd25d3db32bd23d3bb32bd27d3fb327d20d387327d24d3c7327d22d3a7327d26d3e7327d21d397327d25d3d7327d23d3b7327d27d3f732fd20d38f32fd24d3cf32fd22d3af32fd26d3ef325d95e99a4c7f50a279af6545cba15a0ed372b89623b45c43cb35b55c4b1e7f7995da5ee596bf3a33db22ff95d7b5efaa5dfd5d75bccaada09fd9f02a75990f9491b8dd867858fe84d8c4d3fbb7338f242c76f530076e7d4c580d306135c484d5081356634c584d306135c584d50c1356734c582d3061b5c484d50a13566b4c586d3061b5c584d5ceef3bc97ab415aaafed8b1a68b9a1961b69b9b1969b68b9a9969b69b9b9965b68b9a5965b69b9b596db68b9ad96db55efb5eef02a77faa33c7761ae5a7b4c581d306175c484d5091356674c585d306175c584d50d1356774c583d3061f5c484d50b13960913961913562426ac28c4879b65f4589287de32407af4bc9c1e2af3f073f9e397257d8715cdf28b8ecb58dec585d9783198b07a63c2ea03d9c774e05897875f2c66d9e33061f5c584d50f13567f4c5803fc714183af3dadb0501b88482d9485da20446a612cd4e211a985b3504b40a416c1422d11915a0d166a4988d4e8113d0bb9644c72ed59c80dc624d781855c0a26b98e2ce4866092ebc4426e2826b9ce2ce4866192ebc2426e3826b9ae2ce4466092ebc6426e2426b9ee2ce4466192ebc1426e3426b99e2ce4c66092ebc5422e15939c8985dc584c72661672e330c945b2901b8f492e8a85dc044c72d12ce42662928b61213709935c6f16729331c9f561213705935c2c0bb9a998e4e258c84dc324d79785dc744c72fd58c8cdc024d79f85dc4c4c720358c8cd4224579385da6c446ab558a8cd41a4569b855a1a22b55b58a8a52352abc3422d0391daad2cd43211a9d565a1a62252bb8d855a1622b5db59a8652352abc7426daeefd48aaf8474f32a03bdca20af12ef5512bc4aa25749a2a3753a80a6635a3acca4233f3a18a3e3233a64a1a3087a604f8fb5e9e12f3d22a50789f4b88d1e4ad1a31b7ac0418f0168b34c5b4ada78d1f6844c3c595d3284649bc85ed08f61fa7145639dc61f8d096a27921d2d0fd1f80f", + "bytecode": "ed5d677454d516ce4d41104be8bda8f43a930209358dd021f45e526ec2c06426994c422822238a8888c94c40045ff1418080b4072104458a888867101111107befbd0bbe7d6e60f9ee63adeb8fd9b3deb7668d6bedcd6265327cdf3edfdef9ce3d936399575976598977ed4eb2a667ce4bb217a716da3293d3ad5657f9d8c451830795bac315832f46187db196e2da92e4b058ad969c35a5aecde32cb61cabea2929755f4c30f9f69f39dae7b730698872f3ac6a7c4999ab6258616eded0ec5176a73b24cc559e6cb71538dd4aa9ef405d3b922cb674c782548b6acd1a9d5716b231c552a4846c1ae7b4e7794a4a18fe816d890e8b734eaeeab4647a4a3d0ca58de758a03e1713a24dbd6262d4de51aa39da9c6e8a8acf888b35c5c466f48a33c79963e362b3a2e2a2a3d5b898b8def119f1bd4df1e69868d59c1d1b1f9d7ded3df899f5f1bddea63f25ed8193342f203303a0f24487237dc1e590481e48f57c87c403a43e0a900628401aa200698402a4310a902628409aa200698602a4390a901628405aa200698502a4350a90362840da72b8ffebd6c4d4b75fff0103131293925306a50e1e3274d8f01123478d4e1b3376dcf80913274d9e3275daf4193367cd4ecfc8cc52b373e658e696ac776d1c692f728785d6fc19aad4fca9845cdf3884f8bc71309b5cdb53ed0ed59263935b2acfde4cca690e4b51ba5395fb2ca7c56e2b75550c51d3f3341aee7093c7b563ac9a632970aa8ea1b62cb558f99fbf87fef7cbc3226b3047845fc31ee1da24b740a5b56bfe1ea25cdba1c8e5f2d5c8f761d8e554a4581c2ad12e525d5bc714da9d16d5e65cc3a3a6fe1cb2f67d6711659d77c460333dcf68a76d155774bba5120fc3b2f567a8ed3c37435d18f6217e94cf0010f9d8728de4936b241f9b3fe43380a1b6b90cf2b161cb2709443e797623f9d88de493e70ff92431d4d6ce209f3c6cf92483c8c7916f249f7c23f938fc219f6486dae633c8c7812d9f1410f9380b8ce45360241fa73fe493c250db0206f938b1e53317443e458546f22934924f913fe43397a1b6850cf2296290cf0dc5f19558344381fb32bcc77ccec320e6f3cdf98ce79bc5c1f34d5d698b39166801e0f9e6fc0525dcfdeee678fcc3f01e0b0185b46021c7c331af32177148732cda22061c5a797cee347f8de9458c637a71704ceb4abb986381ee061cd38bee661fd388a5621943668631d48fe13d96007bc5258c43e89ee010d295f61e8e05124b01a7d012b13460dda270016a492c152e1ec3680d54c328ee65718c5660c728ee659cd66259705ceb8b2b96b12cd27d80039bc8dd07691c59aae5af7e2be46cb7fb83eda6abadb89f453fcb01bbad502c0f5c7bf400e2ec5e2e1ee0b147b680b5472b58ec910dd91eade09cd70f06e7b5beb8e24196455a89688f56889598f6682570bfd939dbeda160bbe96a2b1e62d1cf2ac06eb38b55816b8f1e469cddabc4c33cf6282f60edd16a167b94876c8f5673ceeb4782f35a5f5cf108cb229520daa3d5a204d31e9500f75b3e67bb9506db4d575b51caa21f3760b7e50b77e0da230fe2ec760b0f8f3d7204ac3d2a63b1470e647b54c639afd704e7b5beb8620dcb22ad45b44765622da63d5a0bdc6f059cedf668b0dd74b5158fb2e8671d60b7158875816b8f1e439cddebc4633cf6c819b0f6683d8b3d7222dba3f59cf37a43705eeb8b2b36b02cd2e388f668bd781cd31e7154ebc65f0edd9aa666a98e02d5e6f1b8fb89abee7914b9e26a885bfc4dfcddf0f59743baba07d2ab13281229ec14f91405148328522906530ca1184a318c6238c5088a9114a3284653a4518ca1184b318e623cc5048a8914932826534ca1984a318d623ac50c8a9914b3286653a453645064526451a814d914391473282c1aa37f887ffe4505fad26b89f855f95af91d4f887f81feecddc83018fc357d633887efa6e0f0d5d5566c629926e580b3374694235f5bcb206b5e405178d7d6de817271de9d2840ee4201d20e05487b14201d5080744401d20905486714205d5080744501d20d05487714203d5080f4440162e2bbb67683d82cb688ada2426c13dbc5936287d8297689ddff8fab69ab555b7ea15aa8a61566582d99d72fa7955fd25f505b17f7825ae9fb7d5d5c7f5eb325b682dcb325fe2df618ddb425f6185db545dfed87bbb6c4568e0aef71735407fbb636518122a37d62afa18cf61aca689f5f6454c151e1bd1c32da072ea31d2832da2f2a0d65546928a3fd7e91d10e8e0a5772c8683fb88c76a2c8e880a832945195a18c0ef845463b392a5cc521a303e032da8522a383a2da5046d586323ae81719ede2a87035878c0e227e702086a3c69b39dee429e00ba638c0fd7974f574f0e84a5f5cf134cb221d42fcdcc053e210e427bd4439c79b3c83a8a743e2199e8f7a415e1ecdb37087593eeb5584fc59afc39c33fb487066eb8b2b8eb02cd251c4997d581cc5fcacd751c41b4aa338e6d1168e3739866c218f718ea36783e3485f5cf12ccb221d471c47c7c4f100b690cf21eae9b8788ec7421607ae853cc162218b912de409ce99fd7c7066eb8b2b9e6759a4938833fb84388969214f22f75b2567bfbd10ec377d71c50b2c8b740ab1df2ac5a900f6482f22eae9947891c7232d0c5c8f24583cd242e4992d3867b63738b3f5c5155e96453a8d38b385388de9914e23f75b1567bfbd14ec377d71c54b2c8b7406b1dfaac49900f6482f23eae98c7899c7232d0e5c8f7496c5232d469ed9673967f62bc199ad2fae78856591ce21ceecb3e21ca6473a87dc6fd59cfdf66ab0dff4c515afb22cd279c47eab16e703d823bd86a8a7f3e2351e8fb424703dd205168fb40479665fe09cd91783335b5f5c719165912e21ceec0be212a647bae4f7abb9c4167929d51e99f66a3753bd2e2edf48c4e7f1f3863fcaeb33aa372151bd0589ea6d4854ef40a27a1712d57b90a8de8744f50124aa0f21517d0489ea6348549f40a2fa1412d56790a83e8744f50524aa2f21517d0589ea6b4854df40a2fa1612d57790a8be8744f50324aa1f2151fd0489ea674854bf40a2fa1512d56f90a87e8744750512d55548547f20a2f22a2198b0144c58a198b0c230618563c28ac084550b13d64d98b06a33c032fedfad44bbc5367900b45da62765aa94a94aa66a9976cbf4864c6fcaf4964c6fcbf48e4cefcaf49e4cefcbf4814c1fcaf4914c1fcbf4894c9fcaf4994c9fcbf4854c5fcaf4954c5fcbf48d4cdfcaf49d4cdfcbf4834c3fcaf4934c3fcbf48b4cbfcaf49b4cbfcb7445a6ab32fd4189e6bd96152d876a394ccbe15a8ed0722d2ddfa4e5daf2f8cbabd4f12a37ffd599d966f9afbcae7d579d9aefaaeb556e01fdcc8657b915f140f909b191a73f6e636e5b2c76b707ec6789bc4a24b32e99066e3dcc9f03f5316135c084d5101356234c588d316135c184d5141356334c58cd3161b5c084d51213562b4c58ad3161b5c184d5d6ef3bc948da0ad5d3f645f5b5dc40cb0db5dc48cb8db5dc44cb4db5dc4ccbcdb5dc42cb2db5dc4acbadb5dc46cb6d6bf65a7778953bfd519ebb3057ad1d26acf698b03a60c2ea8809ab1326acce98b0ba60c2ea8a09ab1b26acee98b07a60c2ea8909cb8409cb8c092b0a135634e283db727ae4ca436f29203d3a0ba007e63cfc5cfef86549df61c5b0fca2e35296777161365e2c26ac5e98b07a43f6311d3846f2f08bc32c7b3c26ac3e98b0fa62c2ea8709abbf3f0e557ded698585da00446aa12cd40622520b63a19680482d9c855a2222b508166a4988d46ab1504b46a4468fe859c8a560926bc7426e1026b9f62ce45231c97560213718935c4716724330c97562213714935c671672c330c9756121371c935c5716722330c97563213712935c771672a330c9f56021371a935c4f16726998e44c2ce4c6609233b3901b8b492e8a85dc384c72d12ce4c663928b61213701935c2c0bb98998e47ab1909b8449ae370bb9c998e4e258c84dc12417cf426e2a26b93e2ce4a66192ebcb426e3a26b97e2ce4666092ebcf426e2622b99b58a8cd42a4569b85da6c446a7558a8a52352bb99855a0622b5ba2cd43211a9ddc2422d0b91daad2cd454446ab7b150cb46a4763b0bb51c446a912cd4e6f84eade4724857af32c0ab0cf42a095e25d1ab247995643a5aa703683aa6a5c34c3af2a383313a3ea243163a8aa007f6f4589b1efed223527a90488fdbe8a1143dbaa1071cf4188036cbb4a5a48d176d4fc8c493d5254348b689ec05fd18a61f5734d669fcd198a07622d9d1f2108dff00", "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" } ] diff --git a/yarn-project/noir-contracts/src/examples/non_native_token_contract.json b/yarn-project/noir-contracts/src/examples/non_native_token_contract.json index 0739a2a937b..f0d1c3c5e3e 100644 --- a/yarn-project/noir-contracts/src/examples/non_native_token_contract.json +++ b/yarn-project/noir-contracts/src/examples/non_native_token_contract.json @@ -366,7 +366,9 @@ "visibility": "private" } ], - "returnTypes": [null], + "returnTypes": [ + null + ], "bytecode": "cd9d795793d716c60953cfaded37687bb5751e3392c4910022283880f31cc81b8c86242601c1398e9d9b6cb493761451f4ba6a6be7d1ced3e907e8ba7e83cef36c6f52e4220a9b24ef133dacc51fac67adc7b37fd939ef3e278f2b873e33345cc8fb6fec6c99dfddb8a92cd856d912682c77fbfdb1e375aef9736627a8d0c088459c586c889d72857dd10dcd5ad4d7d8114fd0e7a5166389d5aad9cd9ac962721bcdce0687cd68b53594384c0e93cd61f3981d168be6b03aecce06a7dde834592d9ac96b735abcc69e9f5b3e2f35eafbb1e21775abee459907c07872a1e6d1c2112dd0d141b7c88b746bf2d7202fe6d16dff8e9d280bfbfc7e5fd3e144acabde1768f26b3d95e85c86e936dd16c67f56d41cf26bc3e34762c76a83ad64c88b1d2f0f062251ca4be8f78f9dae0c86355f532005a9e374241a0cbb9bb43acded49c4baab3477c8150ebbdb29df90889da9d39a7c91a816ae0e78b43643ef2a0a11ab3853e60bb8c3ed953ecdef59103a5474cce5f1e417c63a6b826e0f1514f5545e5470894051ac736e4b7328f1af9ebff30c9df5d160e87cacbbc217d61aa3be562d7672514b30ead302d1c3989772b8fe223be2f1344c4cbc7cfb88f3cc1e31a28d116f9707fabf593b006fd6e100b62308c005d084396c9f618ab4cfc83bb8f6b9836b9f91b9689f6100b67700da6724a07de070465c2b384378c833fa016741c7ced2318d02101e0df0488b4e965b0fa9d245fa1b00b27d8d1acd6d5fa3b9ed6b94a16fcc23e5c6bcbe059122bbea70e0ec3a267eb46752cb37e47e86fdcfa519765972bfd1fa0db10506ba6a88edff777eefb28a7230d416a786dae42cdb33d41616f7a0282ebc84a4f8d2507b63bfa11673a41aa5bf1f98b7d658c188e338713c274ee0c4899c3889132773e2144e3472a28913cd9c68e1442b27da38b18413ed9ce8e04427274ee5c4699c389d136770e24c4e9cc589a59ce8e2c4324e2ce7c40a4e9ccd89959c38470c386059746c1aa6caa487d9ab6be331cd410c58cfe4703837655b5945af87277b3ab31174cee6f8e862cca6b2b2cb3d8cd9d12947d079f61a1cec1c9956567a8587d39b391d1782ce73d7e6d86bf56652d9cc813cec99d19985a073ee1a5e0ad8d2ad6cfa601ed6f4e9cc40d079fe1a5f9918d3a96c2ae7614c8fce34049d17aec38552e350953986f2b00f4dc789a0f3e275ba6e33739595002ea5ec083a2f5dc7cb48fb609559d3f5b00f4ec786a0f3f275beaa750c549939130fc7c0742c083aaf2870916dbcb23263861e25deabe99810745e55e49adf78796593b3f130f7a7330541e735853e0431f75636315b0f6b1f9d49083aafabf41191e6f5a616661aafcba387ce04049d37724147a7a149be8e307903c1e74d25f9bc8a30790dc1e72d25f9bc8c307905c1e7bc927c5e4498bc84e0f3b6927c9e4798bc80e0f38e927c9e43989c43f07957493e671126cf22f8bca7daf4939c7f4ce310789e41e0795fc9f6790f61f23e82cf074af2790761f22e82cf874af2398f30791bc1e72325f9bc8930790bc1e76325f97c8430f918c1e71325f97c8030f910c1e75315f90c0354361681582ad93d9f204c3e45748fc42660bb17076bb43ab7c7d7d6a14cfafe42def0b1e3c64f983869f294e46dbfc56a2bb13b9c53a74d9f317356a9abacbc6276e59ccf0c794c42a78a8bef5473e25c4e9cc789359c58cb89f3397101272ee4c4459c58c789f59cb898139770e2524e5cc689cb39710527aee4c4559cb89a13d770e25a4e5cc789eb39d1cd890d9cd8c8891e4ed438d1cb894d3908c9790121b926c41efc858a21390f2024a721e87ca96248ae0110926b44d0f94ac590dc7a4048ce8da0f3b58a21b9b58090dc3a049d6f540cc9ad0684e4d620e87cab62486e252024b70a41e73b154372cb0121b915083adfab18925b0a08c92d43d0f941c590dc6240486e0982ce8f2a86e4ea0021b97a049d9f540cc92d0484e41621e8fcac62486e3e2024b70041e7171543723580905c2d82ceaf2a86e4e6024272f310747e53f21ef95784c96f083ebf2bc9e76784c92f083e7f28c9e74784c94f083e7f2ac9e77b84c90f083e7f29c9e75b84c977083e1795e4f335c2e41b049fbf95e4f325c2e42b009fe407802aa6e4aa117cbe80f031a8d840c9970de2628020ca57f23d761161f2370450819280fe4498fc050154a824a0df11267f400015a9b90b15425c8a20888ad544940f71298020ba41454437014aab8240166a765031c4e506480709c563733741627355d573e7d5d4ce5fb070515dfde2254b972d5fb172d5ea356bd7ad7737347a346f131f9bdbc0057a7c9cb891133771a29f139b3931c089414e0c71e2664e0c73628413a39cd8c289ad9cb88513db38b19d13b772e2364edcce893b38712727eee244b99b5563acba8755f7b2ea3e56ddcfaa0758f5600ee273f200203f270f42b6e3312a26e8e43e40844eee87001aab62884eee01a4e8e45e08a0712ae6e8e46e40904ec62080c6ab18a5db0988d2ed82e099a062966e3b204bb7038267a28a61baad8030dd36089e492aa6e9da0069ba76089ec92ac6e95a0171ba2d103c5354ccd3450179ba16081ea38a81ba3020501781e031a998a80b0112759b2178cc2a46ea0280485d1082c7a262a6ce0fc8d43543f058550cd56d0484ea3641f0d8d4bc69b6425c6c1044256a2232435c2c104476351119212e260822879a8826435ca6401039d5443411e232098268aa9a88c6435c2640104d5313d15888cb3808a2e92a26ed7c104063208066a8d943d3212e33208866aa89682ac4651a04d12c351139202e4e08a252351195405cec10442e351195425c5c1044656a229a097199054154ae22a29b01a56d8040ae50b383ca202ee5900eaa503c7077332470b7c1b77193bf39100c6d0e47a22dad5bdadab76edbbe63e72eb95bc6e41eb957ee93fbe501793015bcebf78223be6956dea9b786066b0e567597de55951873b0aabbf5aecaedcdc1aaeed1bb2aa775801859577d95cb6c2ba10b791e92770a9277257fef4efede23688ea04a41b30555082a175426c825a854d02c413305cd10345dd03441530539053904d9059508b209b20ab208320b3209320a9a2268b2a04982260a9a2068bca07182c60a6a12e415a409f2086a14d420c82d68bda07582d60a5a2368b5a05582560a5a2168b9a06582960a5a2268b1a07a41758216095a286881a0f9826a05d5089a2768aea06a415522158d4b85e752f1ba54002f15d14b85f85231bf5410907609da296887a0ed82b609da2aa85d509ba02d825a05b5088a0a8a080a0bda2c282428282820a859905fd026411b05f9046d10c9f7b6bc57de27ef970fc8b84c48921df2903c2c1f940fc987e523f25179441e958fc9c7e513f249f9947c5a1e939df2b8ec9227e449d92d4fc9d37ddf819ee8fbcaf1a46f6af332e97bd5e5bd3d3ba02e1b795fef36aac346dedfb717676d231fb87c43cfd246c6fb3f15b2b291573d5ab2b09174f5f329631b39e04890a18d3c34f09332231b7978b0c76d0636f2c1c19fd969dbc887b8077f9a36f2617e7a48cb463e32d40892868d7c74e83966481b79249d6168081b7934bd898ab5918fa53b963136f2f1f467bb416de413990c8883d8c827339b3207b4914f653aaa0e60239fce7cdebdca461ecb6668bec24676663779f7b391c7b31ddf2fb3915dd99f01fe6f234fe839485cb29127f59d46feb191dd7a8f34491b790af1ff3e4feb3f18c5e34763c76a83ad943cf51c2f0f062251ca4b00ce83a72b8361cdd714480db91de71ac39a3baad59893274353ad1689b89bb444acbb4a73875ce1b0bb9df20d89d8993aadc917896ae1ea80476b33f4aea610b19a3365be803bdc5ee9d3fc9e05a14345c75c1e4f7e61acb326e8f65041514effadaed99b5bdcfe484161ac6b6e4b73a8da4b4537762e0ebb43b1ced4df89619df5d160a8231ed7df10f1f8ff00", "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" } diff --git a/yarn-project/noir-contracts/src/examples/public_private_contract.json b/yarn-project/noir-contracts/src/examples/public_private_contract.json index 3fda4b085c4..20f5f2563f9 100644 --- a/yarn-project/noir-contracts/src/examples/public_private_contract.json +++ b/yarn-project/noir-contracts/src/examples/public_private_contract.json @@ -28,7 +28,9 @@ "visibility": "private" } ], - "returnTypes": [null], + "returnTypes": [ + null + ], "bytecode": "b590414ec24018855b685d8827400f019ec09650c51435c005269ddf66e23853675a03cbb941670a3b7794aa3124265ec00370012f430c0b77864df5ed5ebee4bd97373f59a8779fa2e8cee7d32063510f51aa5623efeabcaf8d63ef81ee3e78f01b7cb9010c42022b8c696db6e668b3b54cfb583dfb82504ae28556d598b09842916bf375d6a9a76ebb764427cf9fd472c81f8d6da9558f33991a4bd78f556f01174062b6fba5f88804a014c2d3090fbb439012c5a0d5eb05a0c41302cd4cc3d66a3d8298c814c4806198da3f6b9cbf58b3f60943621610a0f83a99bb4b0fe386a3ca90236c9aeebf7655fd870c51d974547599dd27835be31e9613811255eebc6e95e394279f79fe0d", "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f" }, @@ -159,6 +161,7 @@ <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD "returnTypes": [null], "bytecode": "b5904f4ec24018c529b42ec41ba077c01bd8365431fe0b788149fbd94c9cced4e9d4c0f2bb41670a3b7794aa31241cc10370012f430c0b77864df5ed5e7ec97b2f6f7632c7b5c748f8e8894990f3d0278ce172e4de9c0fb4b1ad3dd0d9070f7e836f771081cc8097c674375b73b4d9b64cef185f3d4919a3f15c633da63c665016da7c9df59be9b4d738a25f142fb8b816cfc66ae1d2173c53a6a59bc7e2472024d098ef7e29d7a104a2c017494255025c697cbf0092ba5292a9695b1a57238869a6400e790413eb678afd1753561ee5444e030a2cba4d67cec28da2b68dd5952091e938ffda550f9e72c2b28e8df5659ea4c307e31c56f792a458edbcee566325d2cfa2f806", @@ -177,6 +180,11 @@ ======= "returnTypes": [null], >>>>>>> chore: formatting +======= + "returnTypes": [ + null + ], +>>>>>>> fix: add CALL_PRIVATE_FUNCTION_RETURN_SIZE constant "bytecode": "b5904f4ec24018c529b42ec413a087c01bd8365431fe0b788149fbd94c9cced4e9d4c0f2bb41670a3b7794aa31241cc10370012f430c0b77864df5ed5e7ec97b2f6f7632c7b5c748f8e8894990f3d0278ce172e4de9c0fb4b1ad3dd0d9070f7e836f771081cc8097c674375b73b4d9b64cef185f3d4919a3f15c633da63c665016da7c9df59be9b4d738a25f142fb8b816cfc66ae1d2173c53a6a59bc7e2472024d098ef7e29d7a104a2c017494255025c697cbf0092ba5292a9695b1a57238869a6400e790413eb678afd1753561ee5444e030a2cba4d67cec28da2b68dd5952091e938ffda550f9e72c2b28e8df5659ea4c307e31c56f792a458edbcee566325d2cfa2f806", >>>>>>> initial inclusion "verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f"