Skip to content

Commit

Permalink
fix: updated backend with new instance value, 0
Browse files Browse the repository at this point in the history
  • Loading branch information
sifnoc committed Mar 13, 2024
1 parent fc5d564 commit 4727cef
Show file tree
Hide file tree
Showing 9 changed files with 4,034 additions and 3,325 deletions.
2 changes: 1 addition & 1 deletion backend/examples/summa_solvency_flow.rs
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ async fn main() -> Result<(), Box<dyn Error>> {
generate_setup_artifacts(K, Some(params_path), &univariate_grand_sum_circuit).unwrap();

// Create a proof
let instances = vec![Fp::one(); 1]; // This instance is necessary to verify proof on solidity verifier.
let instances = vec![Fp::zero(); 1]; // This instance is necessary to verify proof on solidity verifier.
let (zk_snark_proof, advice_polys, _) = full_prover(
&params,
&pk,
Expand Down
2 changes: 1 addition & 1 deletion backend/src/contracts/abi/SnarkVerifier.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion backend/src/contracts/abi/Summa.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion backend/src/contracts/abi/VerifyingKey.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"_format":"hh-sol-artifact-1","contractName":"Halo2VerifyingKey","sourceName":"src/VerifyingKey.sol","abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"}],"bytecode":"0x608060405234801561001057600080fd5b5060007f0f4282e55a789d94ea57d4e200623dabb7ea67c998749f0370c890ab9ee6883f815260116020527f30643640b9f82f90e83b698e5ea6179c7c05542e859533b48b9953a2f53608016040527f304cd1e79cfa5b0f054e981a27ed7706e7ea6b06a7f266ef8db819c179c2c3ea6060527f193586da872cdeff023d6ab2263a131b4780db8878be3c3b7f8f019c06fcb0fb6080527f299110e6835fd73731fb3ce6de87151988da403c265467a96b9cda0d7daa72e460a052600160c0528060e0528061010052806101205280610140526001610160526002610180527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101a0527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101c0527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6101e0527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610200527f26186a2d65ee4d2f9c9a5b91f86597d35f192cd120caf7e935d8443d1938e23d610220527f30441fd1b5d3370482c42152a8899027716989a6996c2535bc9f7fee8aaef79e610240527f16f363f103c80d7bbc8ad3c6867e0822bbc6000be91a4689755c7df40221c145610260527f2b1cbb3e521edf5a622d82762a44a5e63f1e50b332d71154a4a7958d6011deff610280527f1404a2d17cd02c8f9fd79d74ac73c67d1881e62c6af354fa74d235c5e37dacfe6102a0527f2c1e30781f735e7977820d4ca9145010e28dcc808ee0f1e976477289057b7aec6102c0527f1b20314062560deca1b1bada262dbe3352a521ea2ef8973476cb7ad6f588c59d6102e0527f244ac9f0848be84d5a85e3c4e62e2a371ac7be27d68202ef3fe79541021ab99d610300527f2b1f7e2148bfab601e68f2e8133b9d05c10a9526d686b356b761eaa3713a70ba610320527f013345ea09966b06e4ae7d7e2919ddbb6e3f7e645aea515375ed729bff644dc5610340527f27a7a66087a8c17b00ffb7fe9b76ba2199ca308bcb0ad100fa181886d6c9b936610360527f23bc951a3c4307384bdec5d61be122a19c933db3266d6327a472e5203a9f785a610380527f0743ea40f14084db2673217283aa053f986896ee7c181f52118442e99c4529746103a0527f0203e3493a2594ece57d22cc75dd081ac68271ec7c758153cfd2152bfb5c19e36103c0527f1d81e0b06dea11d9b7a7a64458db5e5eb2f5dbe107a81f0555738f613b9b7d786103e0527f081e3e59de4615b05fef48f591d1ea23cb32f0ee841157094c1b81b95cfdb9fa610400527f0c28e0db2e4decc2a36413620cdc36ae237ccbc1cd1168841c5375d2a79478ce610420527f17b5790a11fcde00f8acf7edc4328f37883aec0f5955f8a6f7764078edf3cd05610440527f284ac053d96a33fca69eca00e16eea75ad1bf008d2a742fc846ac73d17d46d73610460527f14f45666a26b8d472186dbf78e606a82891e0f122a54264418cfe2615003dfb9610480527f1c517c335ad634422ef2eb5f615926e875afa9e9c589abf528d315a8a586b22d6104a0527f1220b1b13c91e8115106144bc417d4d3e6a9de3fb70406e68b4a5fd8a92f43276104c0527f1be0972afecdd013ffa6a3acc18998619b8df7834273d89825bf1abd1f2023ab6104e0527e19ea072d6d49fbf164929a19a76d4421f33d47647ff62c7230133fba915307610500527f0f09c585dc376dd0d5962c76ae444dc1cc3de9780f4fbdd5105a7040500d60ba610520527f13587a1e4799ba72f1d95e47a4e377086b83e5189903566e7422119ed28eba596105405261056081f3fe","deployedBytecode":"0x6080604052600080fdfea2646970667358221220e7575f4fe6578c13d0383c6c5b39fe580d12eec30351ca05204f256d8400d7f564736f6c63430008120033","linkReferences":{},"deployedLinkReferences":{}}
{"_format":"hh-sol-artifact-1","contractName":"Halo2VerifyingKey","sourceName":"src/VerifyingKey.sol","abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"}],"bytecode":"0x608060405234801561001057600080fd5b5060007f1cf97aa0b615d06f7fde34ae5bc74ff9cacc8143a00eaf0e6b24673afa484eb3815260116020527f30643640b9f82f90e83b698e5ea6179c7c05542e859533b48b9953a2f53608016040527f304cd1e79cfa5b0f054e981a27ed7706e7ea6b06a7f266ef8db819c179c2c3ea6060527f193586da872cdeff023d6ab2263a131b4780db8878be3c3b7f8f019c06fcb0fb6080527f299110e6835fd73731fb3ce6de87151988da403c265467a96b9cda0d7daa72e460a052600160c0528060e0528061010052806101205280610140526001610160526002610180527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101a0527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101c0527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6101e0527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610200527f26186a2d65ee4d2f9c9a5b91f86597d35f192cd120caf7e935d8443d1938e23d610220527f30441fd1b5d3370482c42152a8899027716989a6996c2535bc9f7fee8aaef79e610240527f16f363f103c80d7bbc8ad3c6867e0822bbc6000be91a4689755c7df40221c145610260527f2b1cbb3e521edf5a622d82762a44a5e63f1e50b332d71154a4a7958d6011deff610280527f1404a2d17cd02c8f9fd79d74ac73c67d1881e62c6af354fa74d235c5e37dacfe6102a0527f2c1e30781f735e7977820d4ca9145010e28dcc808ee0f1e976477289057b7aec6102c0527f2dd3fd59098a5b4b4a616568bb6ba1a1e4c40e4b0df9ae94e37944d55ab651cf6102e0527f25680c3525ba04435a9034d6e69c96de5133edfe37c226d3e31b60eff6b34ef0610300527f0fd3d99b713606a4c586c6d187477c5eb79a43f78c7d8424a67be4ce624fa6af610320527f20af9ec4f24f0568465c7f138f69fac5e917ba5f669550cae7977fcde9fc657d610340527f27a7a66087a8c17b00ffb7fe9b76ba2199ca308bcb0ad100fa181886d6c9b936610360527f23bc951a3c4307384bdec5d61be122a19c933db3266d6327a472e5203a9f785a610380527f0743ea40f14084db2673217283aa053f986896ee7c181f52118442e99c4529746103a0527f0203e3493a2594ece57d22cc75dd081ac68271ec7c758153cfd2152bfb5c19e36103c0527f0f85936c44708409e3e9fb5e2a7ea6604b06997f0ac7fd488e3f147e05a88dbe6103e0527f0497fbb7c4436dcf36ede6a30ad62e016e059a11a6548eb6980edeb2f1052133610400527f1ec1a20141b6698f374aada55f23b891e4c6f6504cdcdec40c5ec89f326b8640610420527f108ee8c0651cead83eb9e988873c5b62a74fe0775d0464fcca86c0ac61b9b92e610440527f101b50c385e07bb24f828dee5eba4619413bb28ee278c03901a58a8b58f90ab8610460527f11dbc30794b04c6fc1c68c59556fd092bb59479bc6cc8cb4879d961a6b2dfa94610480527f1c517c335ad634422ef2eb5f615926e875afa9e9c589abf528d315a8a586b22d6104a0527f1220b1b13c91e8115106144bc417d4d3e6a9de3fb70406e68b4a5fd8a92f43276104c0527f0cbaead666e172b1801b7ad17c3450ea2ce7d53c1e392cedf05023e59e53c95a6104e0527f0ce200ab515efc390c459e0b492c15a50024c57fa70768c18389924e1e72982b610500527f0f09c585dc376dd0d5962c76ae444dc1cc3de9780f4fbdd5105a7040500d60ba610520527f13587a1e4799ba72f1d95e47a4e377086b83e5189903566e7422119ed28eba59610540527f1122e985f75fc0589295cbaf54c0da7f36a7f184d83876f0fa9fdc2dbbd715cb610560527f0da0508aab9cf7c8772ed21fcb6851480f8c3c328b7fb722e3a1cecd0c867e02610580527f019e46ed071e9723ab7a68eb3c0d7bbd1df026e4f35acb67cc7cfe269e12deb06105a0527f1c19aac276e0a65d2c5bb219e9020124a0bf3d3bbaa8758abd2e6d40895923ed6105c0526105e081f3fe","deployedBytecode":"0x6080604052600080fdfea2646970667358221220098efb26ca522b5ae86a52b8e7acbefc7a5736f135b5144909125808a8eee80564736f6c63430008120033","linkReferences":{},"deployedLinkReferences":{}}
45 changes: 24 additions & 21 deletions backend/src/contracts/generated/grandsum_verifier.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,18 @@ pub use grand_sum_verifier::*;
clippy::upper_case_acronyms,
clippy::type_complexity,
dead_code,
non_camel_case_types
non_camel_case_types,
)]
pub mod grand_sum_verifier {
#[rustfmt::skip]
const __ABI: &str = "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"vk\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"bytes\",\"name\":\"proof\",\"type\":\"bytes\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"verifyProof\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]}]";
///The parsed JSON ABI of the contract.
pub static GRANDSUMVERIFIER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> =
::ethers::contract::Lazy::new(|| {
::ethers::core::utils::__serde_json::from_str(__ABI).expect("ABI is always valid")
});
pub static GRANDSUMVERIFIER_ABI: ::ethers::contract::Lazy<
::ethers::core::abi::Abi,
> = ::ethers::contract::Lazy::new(|| {
::ethers::core::utils::__serde_json::from_str(__ABI)
.expect("ABI is always valid")
});
#[rustfmt::skip]
const __BYTECODE: &[u8] = &[
96,
Expand Down Expand Up @@ -1331,8 +1333,9 @@ pub mod grand_sum_verifier {
51,
];
///The bytecode of the contract.
pub static GRANDSUMVERIFIER_BYTECODE: ::ethers::core::types::Bytes =
::ethers::core::types::Bytes::from_static(__BYTECODE);
pub static GRANDSUMVERIFIER_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(
__BYTECODE,
);
#[rustfmt::skip]
const __DEPLOYED_BYTECODE: &[u8] = &[
96,
Expand Down Expand Up @@ -2615,8 +2618,9 @@ pub mod grand_sum_verifier {
51,
];
///The deployed bytecode of the contract.
pub static GRANDSUMVERIFIER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes =
::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE);
pub static GRANDSUMVERIFIER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(
__DEPLOYED_BYTECODE,
);
pub struct GrandSumVerifier<M>(::ethers::contract::Contract<M>);
impl<M> ::core::clone::Clone for GrandSumVerifier<M> {
fn clone(&self) -> Self {
Expand All @@ -2636,9 +2640,7 @@ pub mod grand_sum_verifier {
}
impl<M> ::core::fmt::Debug for GrandSumVerifier<M> {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple(stringify!(GrandSumVerifier))
.field(&self.address())
.finish()
f.debug_tuple(stringify!(GrandSumVerifier)).field(&self.address()).finish()
}
}
impl<M: ::ethers::providers::Middleware> GrandSumVerifier<M> {
Expand All @@ -2648,11 +2650,13 @@ pub mod grand_sum_verifier {
address: T,
client: ::std::sync::Arc<M>,
) -> Self {
Self(::ethers::contract::Contract::new(
address.into(),
GRANDSUMVERIFIER_ABI.clone(),
client,
))
Self(
::ethers::contract::Contract::new(
address.into(),
GRANDSUMVERIFIER_ABI.clone(),
client,
),
)
}
/// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it.
/// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction
Expand Down Expand Up @@ -2706,8 +2710,7 @@ pub mod grand_sum_verifier {
}
}
impl<M: ::ethers::providers::Middleware> From<::ethers::contract::Contract<M>>
for GrandSumVerifier<M>
{
for GrandSumVerifier<M> {
fn from(contract: ::ethers::contract::Contract<M>) -> Self {
Self::new(contract.address(), contract.client())
}
Expand All @@ -2721,7 +2724,7 @@ pub mod grand_sum_verifier {
Debug,
PartialEq,
Eq,
Hash,
Hash
)]
#[ethcall(name = "verifyProof", abi = "verifyProof(address,bytes,uint256[])")]
pub struct VerifyProofCall {
Expand All @@ -2738,7 +2741,7 @@ pub mod grand_sum_verifier {
Debug,
PartialEq,
Eq,
Hash,
Hash
)]
pub struct VerifyProofReturn(pub bool);
}
45 changes: 24 additions & 21 deletions backend/src/contracts/generated/inclusion_verifier.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,18 @@ pub use inclusion_verifier::*;
clippy::upper_case_acronyms,
clippy::type_complexity,
dead_code,
non_camel_case_types
non_camel_case_types,
)]
pub mod inclusion_verifier {
#[rustfmt::skip]
const __ABI: &str = "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"vk\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"bytes\",\"name\":\"proofs\",\"type\":\"bytes\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"challenges\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"verifyProof\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]}]";
///The parsed JSON ABI of the contract.
pub static INCLUSIONVERIFIER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> =
::ethers::contract::Lazy::new(|| {
::ethers::core::utils::__serde_json::from_str(__ABI).expect("ABI is always valid")
});
pub static INCLUSIONVERIFIER_ABI: ::ethers::contract::Lazy<
::ethers::core::abi::Abi,
> = ::ethers::contract::Lazy::new(|| {
::ethers::core::utils::__serde_json::from_str(__ABI)
.expect("ABI is always valid")
});
#[rustfmt::skip]
const __BYTECODE: &[u8] = &[
96,
Expand Down Expand Up @@ -1166,8 +1168,9 @@ pub mod inclusion_verifier {
51,
];
///The bytecode of the contract.
pub static INCLUSIONVERIFIER_BYTECODE: ::ethers::core::types::Bytes =
::ethers::core::types::Bytes::from_static(__BYTECODE);
pub static INCLUSIONVERIFIER_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(
__BYTECODE,
);
#[rustfmt::skip]
const __DEPLOYED_BYTECODE: &[u8] = &[
96,
Expand Down Expand Up @@ -2285,8 +2288,9 @@ pub mod inclusion_verifier {
51,
];
///The deployed bytecode of the contract.
pub static INCLUSIONVERIFIER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes =
::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE);
pub static INCLUSIONVERIFIER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(
__DEPLOYED_BYTECODE,
);
pub struct InclusionVerifier<M>(::ethers::contract::Contract<M>);
impl<M> ::core::clone::Clone for InclusionVerifier<M> {
fn clone(&self) -> Self {
Expand All @@ -2306,9 +2310,7 @@ pub mod inclusion_verifier {
}
impl<M> ::core::fmt::Debug for InclusionVerifier<M> {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple(stringify!(InclusionVerifier))
.field(&self.address())
.finish()
f.debug_tuple(stringify!(InclusionVerifier)).field(&self.address()).finish()
}
}
impl<M: ::ethers::providers::Middleware> InclusionVerifier<M> {
Expand All @@ -2318,11 +2320,13 @@ pub mod inclusion_verifier {
address: T,
client: ::std::sync::Arc<M>,
) -> Self {
Self(::ethers::contract::Contract::new(
address.into(),
INCLUSIONVERIFIER_ABI.clone(),
client,
))
Self(
::ethers::contract::Contract::new(
address.into(),
INCLUSIONVERIFIER_ABI.clone(),
client,
),
)
}
/// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it.
/// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction
Expand Down Expand Up @@ -2377,8 +2381,7 @@ pub mod inclusion_verifier {
}
}
impl<M: ::ethers::providers::Middleware> From<::ethers::contract::Contract<M>>
for InclusionVerifier<M>
{
for InclusionVerifier<M> {
fn from(contract: ::ethers::contract::Contract<M>) -> Self {
Self::new(contract.address(), contract.client())
}
Expand All @@ -2392,7 +2395,7 @@ pub mod inclusion_verifier {
Debug,
PartialEq,
Eq,
Hash,
Hash
)]
#[ethcall(
name = "verifyProof",
Expand All @@ -2413,7 +2416,7 @@ pub mod inclusion_verifier {
Debug,
PartialEq,
Eq,
Hash,
Hash
)]
pub struct VerifyProofReturn(pub bool);
}
Loading

0 comments on commit 4727cef

Please sign in to comment.