git.delta.rocks / unique-network / refs/commits / 2dd914e7de8d

difftreelog

Merge pull request #358 from UniqueNetwork/feature/solidity-interface-where-clause

kozyrevdev2022-06-03parents: #fb4beb0 #d600f90.patch.diff
in: master
Support where clause in #[solidity_interface]

2 files changed

modifiedcrates/evm-coder-macros/src/solidity_interface.rsdiffbeforeafterboth
801 let generics = self.generics;801 let generics = self.generics;
802 let gen_ref = generics_reference(&generics);802 let gen_ref = generics_reference(&generics);
803 let gen_data = generics_data(&generics);803 let gen_data = generics_data(&generics);
804 let gen_where = &generics.where_clause;
804805
805 let call_sub = self806 let call_sub = self
806 .info807 .info
957 }958 }
958 }959 }
959 impl #generics ::evm_coder::Weighted for #call_name #gen_ref {960 impl #generics ::evm_coder::Weighted for #call_name #gen_ref
961 #gen_where
962 {
960 #[allow(unused_variables)]963 #[allow(unused_variables)]
961 fn weight(&self) -> ::evm_coder::execution::DispatchInfo {964 fn weight(&self) -> ::evm_coder::execution::DispatchInfo {
972 }975 }
973 }976 }
974 impl #generics ::evm_coder::Callable<#call_name #gen_ref> for #name {977 impl #generics ::evm_coder::Callable<#call_name #gen_ref> for #name
978 #gen_where
979 {
975 #[allow(unreachable_code)] // In case of no inner calls980 #[allow(unreachable_code)] // In case of no inner calls
976 fn call(&mut self, c: Msg<#call_name #gen_ref>) -> ::evm_coder::execution::ResultWithPostInfo<::evm_coder::abi::AbiWriter> {981 fn call(&mut self, c: Msg<#call_name #gen_ref>) -> ::evm_coder::execution::ResultWithPostInfo<::evm_coder::abi::AbiWriter> {
modifiedcrates/evm-coder/tests/generics.rsdiffbeforeafterboth
3535
36generate_stubgen!(gen_iface, GenericCall<()>, false);36generate_stubgen!(gen_iface, GenericCall<()>, false);
37
38#[solidity_interface(name = "GenericWhere")]
39impl<T> Generic<T>
40where
41 T: core::fmt::Debug,
42{
43 fn test_3(&self) -> Result<uint256> {
44 todo!()
45 }
46}
47
48generate_stubgen!(gen_where_iface, GenericWhereCall<()>, false);
3749