mirror of
https://github.com/serai-dex/serai.git
synced 2025-12-10 13:09:24 +00:00
updato develop latest
This commit is contained in:
1164
coins/ethereum/src/abi/router.rs
Normal file
1164
coins/ethereum/src/abi/router.rs
Normal file
File diff suppressed because it is too large
Load Diff
410
coins/ethereum/src/abi/schnorr.rs
Normal file
410
coins/ethereum/src/abi/schnorr.rs
Normal file
@@ -0,0 +1,410 @@
|
|||||||
|
pub use schnorr::*;
|
||||||
|
/// This module was auto-generated with ethers-rs Abigen.
|
||||||
|
/// More information at: <https://github.com/gakonst/ethers-rs>
|
||||||
|
#[allow(
|
||||||
|
clippy::enum_variant_names,
|
||||||
|
clippy::too_many_arguments,
|
||||||
|
clippy::upper_case_acronyms,
|
||||||
|
clippy::type_complexity,
|
||||||
|
dead_code,
|
||||||
|
non_camel_case_types,
|
||||||
|
)]
|
||||||
|
pub mod schnorr {
|
||||||
|
#[allow(deprecated)]
|
||||||
|
fn __abi() -> ::ethers_core::abi::Abi {
|
||||||
|
::ethers_core::abi::ethabi::Contract {
|
||||||
|
constructor: ::core::option::Option::None,
|
||||||
|
functions: ::core::convert::From::from([
|
||||||
|
(
|
||||||
|
::std::borrow::ToOwned::to_owned("Q"),
|
||||||
|
::std::vec![
|
||||||
|
::ethers_core::abi::ethabi::Function {
|
||||||
|
name: ::std::borrow::ToOwned::to_owned("Q"),
|
||||||
|
inputs: ::std::vec![],
|
||||||
|
outputs: ::std::vec![
|
||||||
|
::ethers_core::abi::ethabi::Param {
|
||||||
|
name: ::std::string::String::new(),
|
||||||
|
kind: ::ethers_core::abi::ethabi::ParamType::Uint(256usize),
|
||||||
|
internal_type: ::core::option::Option::Some(
|
||||||
|
::std::borrow::ToOwned::to_owned("uint256"),
|
||||||
|
),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
constant: ::core::option::Option::None,
|
||||||
|
state_mutability: ::ethers_core::abi::ethabi::StateMutability::View,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
),
|
||||||
|
(
|
||||||
|
::std::borrow::ToOwned::to_owned("verify"),
|
||||||
|
::std::vec![
|
||||||
|
::ethers_core::abi::ethabi::Function {
|
||||||
|
name: ::std::borrow::ToOwned::to_owned("verify"),
|
||||||
|
inputs: ::std::vec![
|
||||||
|
::ethers_core::abi::ethabi::Param {
|
||||||
|
name: ::std::borrow::ToOwned::to_owned("parity"),
|
||||||
|
kind: ::ethers_core::abi::ethabi::ParamType::Uint(8usize),
|
||||||
|
internal_type: ::core::option::Option::Some(
|
||||||
|
::std::borrow::ToOwned::to_owned("uint8"),
|
||||||
|
),
|
||||||
|
},
|
||||||
|
::ethers_core::abi::ethabi::Param {
|
||||||
|
name: ::std::borrow::ToOwned::to_owned("px"),
|
||||||
|
kind: ::ethers_core::abi::ethabi::ParamType::FixedBytes(
|
||||||
|
32usize,
|
||||||
|
),
|
||||||
|
internal_type: ::core::option::Option::Some(
|
||||||
|
::std::borrow::ToOwned::to_owned("bytes32"),
|
||||||
|
),
|
||||||
|
},
|
||||||
|
::ethers_core::abi::ethabi::Param {
|
||||||
|
name: ::std::borrow::ToOwned::to_owned("message"),
|
||||||
|
kind: ::ethers_core::abi::ethabi::ParamType::FixedBytes(
|
||||||
|
32usize,
|
||||||
|
),
|
||||||
|
internal_type: ::core::option::Option::Some(
|
||||||
|
::std::borrow::ToOwned::to_owned("bytes32"),
|
||||||
|
),
|
||||||
|
},
|
||||||
|
::ethers_core::abi::ethabi::Param {
|
||||||
|
name: ::std::borrow::ToOwned::to_owned("c"),
|
||||||
|
kind: ::ethers_core::abi::ethabi::ParamType::FixedBytes(
|
||||||
|
32usize,
|
||||||
|
),
|
||||||
|
internal_type: ::core::option::Option::Some(
|
||||||
|
::std::borrow::ToOwned::to_owned("bytes32"),
|
||||||
|
),
|
||||||
|
},
|
||||||
|
::ethers_core::abi::ethabi::Param {
|
||||||
|
name: ::std::borrow::ToOwned::to_owned("s"),
|
||||||
|
kind: ::ethers_core::abi::ethabi::ParamType::FixedBytes(
|
||||||
|
32usize,
|
||||||
|
),
|
||||||
|
internal_type: ::core::option::Option::Some(
|
||||||
|
::std::borrow::ToOwned::to_owned("bytes32"),
|
||||||
|
),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
outputs: ::std::vec![
|
||||||
|
::ethers_core::abi::ethabi::Param {
|
||||||
|
name: ::std::string::String::new(),
|
||||||
|
kind: ::ethers_core::abi::ethabi::ParamType::Bool,
|
||||||
|
internal_type: ::core::option::Option::Some(
|
||||||
|
::std::borrow::ToOwned::to_owned("bool"),
|
||||||
|
),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
constant: ::core::option::Option::None,
|
||||||
|
state_mutability: ::ethers_core::abi::ethabi::StateMutability::View,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
),
|
||||||
|
]),
|
||||||
|
events: ::std::collections::BTreeMap::new(),
|
||||||
|
errors: ::core::convert::From::from([
|
||||||
|
(
|
||||||
|
::std::borrow::ToOwned::to_owned("InvalidSOrA"),
|
||||||
|
::std::vec![
|
||||||
|
::ethers_core::abi::ethabi::AbiError {
|
||||||
|
name: ::std::borrow::ToOwned::to_owned("InvalidSOrA"),
|
||||||
|
inputs: ::std::vec![],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
),
|
||||||
|
(
|
||||||
|
::std::borrow::ToOwned::to_owned("InvalidSignature"),
|
||||||
|
::std::vec![
|
||||||
|
::ethers_core::abi::ethabi::AbiError {
|
||||||
|
name: ::std::borrow::ToOwned::to_owned("InvalidSignature"),
|
||||||
|
inputs: ::std::vec![],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
),
|
||||||
|
]),
|
||||||
|
receive: false,
|
||||||
|
fallback: false,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
///The parsed JSON ABI of the contract.
|
||||||
|
pub static SCHNORR_ABI: ::ethers_contract::Lazy<::ethers_core::abi::Abi> = ::ethers_contract::Lazy::new(
|
||||||
|
__abi,
|
||||||
|
);
|
||||||
|
pub struct Schnorr<M>(::ethers_contract::Contract<M>);
|
||||||
|
impl<M> ::core::clone::Clone for Schnorr<M> {
|
||||||
|
fn clone(&self) -> Self {
|
||||||
|
Self(::core::clone::Clone::clone(&self.0))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
impl<M> ::core::ops::Deref for Schnorr<M> {
|
||||||
|
type Target = ::ethers_contract::Contract<M>;
|
||||||
|
fn deref(&self) -> &Self::Target {
|
||||||
|
&self.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
impl<M> ::core::ops::DerefMut for Schnorr<M> {
|
||||||
|
fn deref_mut(&mut self) -> &mut Self::Target {
|
||||||
|
&mut self.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
impl<M> ::core::fmt::Debug for Schnorr<M> {
|
||||||
|
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
|
||||||
|
f.debug_tuple(::core::stringify!(Schnorr)).field(&self.address()).finish()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
impl<M: ::ethers_providers::Middleware> Schnorr<M> {
|
||||||
|
/// Creates a new contract instance with the specified `ethers` client at
|
||||||
|
/// `address`. The contract derefs to a `ethers::Contract` object.
|
||||||
|
pub fn new<T: Into<::ethers_core::types::Address>>(
|
||||||
|
address: T,
|
||||||
|
client: ::std::sync::Arc<M>,
|
||||||
|
) -> Self {
|
||||||
|
Self(
|
||||||
|
::ethers_contract::Contract::new(
|
||||||
|
address.into(),
|
||||||
|
SCHNORR_ABI.clone(),
|
||||||
|
client,
|
||||||
|
),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
///Calls the contract's `Q` (0xe493ef8c) function
|
||||||
|
pub fn q(
|
||||||
|
&self,
|
||||||
|
) -> ::ethers_contract::builders::ContractCall<M, ::ethers_core::types::U256> {
|
||||||
|
self.0
|
||||||
|
.method_hash([228, 147, 239, 140], ())
|
||||||
|
.expect("method not found (this should never happen)")
|
||||||
|
}
|
||||||
|
///Calls the contract's `verify` (0x9186da4c) function
|
||||||
|
pub fn verify(
|
||||||
|
&self,
|
||||||
|
parity: u8,
|
||||||
|
px: [u8; 32],
|
||||||
|
message: [u8; 32],
|
||||||
|
c: [u8; 32],
|
||||||
|
s: [u8; 32],
|
||||||
|
) -> ::ethers_contract::builders::ContractCall<M, bool> {
|
||||||
|
self.0
|
||||||
|
.method_hash([145, 134, 218, 76], (parity, px, message, c, s))
|
||||||
|
.expect("method not found (this should never happen)")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
impl<M: ::ethers_providers::Middleware> From<::ethers_contract::Contract<M>>
|
||||||
|
for Schnorr<M> {
|
||||||
|
fn from(contract: ::ethers_contract::Contract<M>) -> Self {
|
||||||
|
Self::new(contract.address(), contract.client())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
///Custom Error type `InvalidSOrA` with signature `InvalidSOrA()` and selector `0x4e99a12e`
|
||||||
|
#[derive(
|
||||||
|
Clone,
|
||||||
|
::ethers_contract::EthError,
|
||||||
|
::ethers_contract::EthDisplay,
|
||||||
|
Default,
|
||||||
|
Debug,
|
||||||
|
PartialEq,
|
||||||
|
Eq,
|
||||||
|
Hash
|
||||||
|
)]
|
||||||
|
#[etherror(name = "InvalidSOrA", abi = "InvalidSOrA()")]
|
||||||
|
pub struct InvalidSOrA;
|
||||||
|
///Custom Error type `InvalidSignature` with signature `InvalidSignature()` and selector `0x8baa579f`
|
||||||
|
#[derive(
|
||||||
|
Clone,
|
||||||
|
::ethers_contract::EthError,
|
||||||
|
::ethers_contract::EthDisplay,
|
||||||
|
Default,
|
||||||
|
Debug,
|
||||||
|
PartialEq,
|
||||||
|
Eq,
|
||||||
|
Hash
|
||||||
|
)]
|
||||||
|
#[etherror(name = "InvalidSignature", abi = "InvalidSignature()")]
|
||||||
|
pub struct InvalidSignature;
|
||||||
|
///Container type for all of the contract's custom errors
|
||||||
|
#[derive(Clone, ::ethers_contract::EthAbiType, Debug, PartialEq, Eq, Hash)]
|
||||||
|
pub enum SchnorrErrors {
|
||||||
|
InvalidSOrA(InvalidSOrA),
|
||||||
|
InvalidSignature(InvalidSignature),
|
||||||
|
/// The standard solidity revert string, with selector
|
||||||
|
/// Error(string) -- 0x08c379a0
|
||||||
|
RevertString(::std::string::String),
|
||||||
|
}
|
||||||
|
impl ::ethers_core::abi::AbiDecode for SchnorrErrors {
|
||||||
|
fn decode(
|
||||||
|
data: impl AsRef<[u8]>,
|
||||||
|
) -> ::core::result::Result<Self, ::ethers_core::abi::AbiError> {
|
||||||
|
let data = data.as_ref();
|
||||||
|
if let Ok(decoded) = <::std::string::String as ::ethers_core::abi::AbiDecode>::decode(
|
||||||
|
data,
|
||||||
|
) {
|
||||||
|
return Ok(Self::RevertString(decoded));
|
||||||
|
}
|
||||||
|
if let Ok(decoded) = <InvalidSOrA as ::ethers_core::abi::AbiDecode>::decode(
|
||||||
|
data,
|
||||||
|
) {
|
||||||
|
return Ok(Self::InvalidSOrA(decoded));
|
||||||
|
}
|
||||||
|
if let Ok(decoded) = <InvalidSignature as ::ethers_core::abi::AbiDecode>::decode(
|
||||||
|
data,
|
||||||
|
) {
|
||||||
|
return Ok(Self::InvalidSignature(decoded));
|
||||||
|
}
|
||||||
|
Err(::ethers_core::abi::Error::InvalidData.into())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
impl ::ethers_core::abi::AbiEncode for SchnorrErrors {
|
||||||
|
fn encode(self) -> ::std::vec::Vec<u8> {
|
||||||
|
match self {
|
||||||
|
Self::InvalidSOrA(element) => {
|
||||||
|
::ethers_core::abi::AbiEncode::encode(element)
|
||||||
|
}
|
||||||
|
Self::InvalidSignature(element) => {
|
||||||
|
::ethers_core::abi::AbiEncode::encode(element)
|
||||||
|
}
|
||||||
|
Self::RevertString(s) => ::ethers_core::abi::AbiEncode::encode(s),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
impl ::ethers_contract::ContractRevert for SchnorrErrors {
|
||||||
|
fn valid_selector(selector: [u8; 4]) -> bool {
|
||||||
|
match selector {
|
||||||
|
[0x08, 0xc3, 0x79, 0xa0] => true,
|
||||||
|
_ if selector
|
||||||
|
== <InvalidSOrA as ::ethers_contract::EthError>::selector() => true,
|
||||||
|
_ if selector
|
||||||
|
== <InvalidSignature as ::ethers_contract::EthError>::selector() => {
|
||||||
|
true
|
||||||
|
}
|
||||||
|
_ => false,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
impl ::core::fmt::Display for SchnorrErrors {
|
||||||
|
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
|
||||||
|
match self {
|
||||||
|
Self::InvalidSOrA(element) => ::core::fmt::Display::fmt(element, f),
|
||||||
|
Self::InvalidSignature(element) => ::core::fmt::Display::fmt(element, f),
|
||||||
|
Self::RevertString(s) => ::core::fmt::Display::fmt(s, f),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
impl ::core::convert::From<::std::string::String> for SchnorrErrors {
|
||||||
|
fn from(value: String) -> Self {
|
||||||
|
Self::RevertString(value)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
impl ::core::convert::From<InvalidSOrA> for SchnorrErrors {
|
||||||
|
fn from(value: InvalidSOrA) -> Self {
|
||||||
|
Self::InvalidSOrA(value)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
impl ::core::convert::From<InvalidSignature> for SchnorrErrors {
|
||||||
|
fn from(value: InvalidSignature) -> Self {
|
||||||
|
Self::InvalidSignature(value)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
///Container type for all input parameters for the `Q` function with signature `Q()` and selector `0xe493ef8c`
|
||||||
|
#[derive(
|
||||||
|
Clone,
|
||||||
|
::ethers_contract::EthCall,
|
||||||
|
::ethers_contract::EthDisplay,
|
||||||
|
Default,
|
||||||
|
Debug,
|
||||||
|
PartialEq,
|
||||||
|
Eq,
|
||||||
|
Hash
|
||||||
|
)]
|
||||||
|
#[ethcall(name = "Q", abi = "Q()")]
|
||||||
|
pub struct QCall;
|
||||||
|
///Container type for all input parameters for the `verify` function with signature `verify(uint8,bytes32,bytes32,bytes32,bytes32)` and selector `0x9186da4c`
|
||||||
|
#[derive(
|
||||||
|
Clone,
|
||||||
|
::ethers_contract::EthCall,
|
||||||
|
::ethers_contract::EthDisplay,
|
||||||
|
Default,
|
||||||
|
Debug,
|
||||||
|
PartialEq,
|
||||||
|
Eq,
|
||||||
|
Hash
|
||||||
|
)]
|
||||||
|
#[ethcall(name = "verify", abi = "verify(uint8,bytes32,bytes32,bytes32,bytes32)")]
|
||||||
|
pub struct VerifyCall {
|
||||||
|
pub parity: u8,
|
||||||
|
pub px: [u8; 32],
|
||||||
|
pub message: [u8; 32],
|
||||||
|
pub c: [u8; 32],
|
||||||
|
pub s: [u8; 32],
|
||||||
|
}
|
||||||
|
///Container type for all of the contract's call
|
||||||
|
#[derive(Clone, ::ethers_contract::EthAbiType, Debug, PartialEq, Eq, Hash)]
|
||||||
|
pub enum SchnorrCalls {
|
||||||
|
Q(QCall),
|
||||||
|
Verify(VerifyCall),
|
||||||
|
}
|
||||||
|
impl ::ethers_core::abi::AbiDecode for SchnorrCalls {
|
||||||
|
fn decode(
|
||||||
|
data: impl AsRef<[u8]>,
|
||||||
|
) -> ::core::result::Result<Self, ::ethers_core::abi::AbiError> {
|
||||||
|
let data = data.as_ref();
|
||||||
|
if let Ok(decoded) = <QCall as ::ethers_core::abi::AbiDecode>::decode(data) {
|
||||||
|
return Ok(Self::Q(decoded));
|
||||||
|
}
|
||||||
|
if let Ok(decoded) = <VerifyCall as ::ethers_core::abi::AbiDecode>::decode(
|
||||||
|
data,
|
||||||
|
) {
|
||||||
|
return Ok(Self::Verify(decoded));
|
||||||
|
}
|
||||||
|
Err(::ethers_core::abi::Error::InvalidData.into())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
impl ::ethers_core::abi::AbiEncode for SchnorrCalls {
|
||||||
|
fn encode(self) -> Vec<u8> {
|
||||||
|
match self {
|
||||||
|
Self::Q(element) => ::ethers_core::abi::AbiEncode::encode(element),
|
||||||
|
Self::Verify(element) => ::ethers_core::abi::AbiEncode::encode(element),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
impl ::core::fmt::Display for SchnorrCalls {
|
||||||
|
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
|
||||||
|
match self {
|
||||||
|
Self::Q(element) => ::core::fmt::Display::fmt(element, f),
|
||||||
|
Self::Verify(element) => ::core::fmt::Display::fmt(element, f),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
impl ::core::convert::From<QCall> for SchnorrCalls {
|
||||||
|
fn from(value: QCall) -> Self {
|
||||||
|
Self::Q(value)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
impl ::core::convert::From<VerifyCall> for SchnorrCalls {
|
||||||
|
fn from(value: VerifyCall) -> Self {
|
||||||
|
Self::Verify(value)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
///Container type for all return fields from the `Q` function with signature `Q()` and selector `0xe493ef8c`
|
||||||
|
#[derive(
|
||||||
|
Clone,
|
||||||
|
::ethers_contract::EthAbiType,
|
||||||
|
::ethers_contract::EthAbiCodec,
|
||||||
|
Default,
|
||||||
|
Debug,
|
||||||
|
PartialEq,
|
||||||
|
Eq,
|
||||||
|
Hash
|
||||||
|
)]
|
||||||
|
pub struct QReturn(pub ::ethers_core::types::U256);
|
||||||
|
///Container type for all return fields from the `verify` function with signature `verify(uint8,bytes32,bytes32,bytes32,bytes32)` and selector `0x9186da4c`
|
||||||
|
#[derive(
|
||||||
|
Clone,
|
||||||
|
::ethers_contract::EthAbiType,
|
||||||
|
::ethers_contract::EthAbiCodec,
|
||||||
|
Default,
|
||||||
|
Debug,
|
||||||
|
PartialEq,
|
||||||
|
Eq,
|
||||||
|
Hash
|
||||||
|
)]
|
||||||
|
pub struct VerifyReturn(pub bool);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user