Skip to content

Commit

Permalink
Federated Validation (#309)
Browse files Browse the repository at this point in the history
Adding federation validation. The approach is as follows:
- Add a `setMembership` function that takes a list of validators and
their power
- Update LibStaking with `setFederatedPower` method that pushes the
change to queue
- Add `confirmFederatedPower` that confirms the change
- Sort validators based on total power, power is calculated with
`federatedPower + collateral`

---------

Co-authored-by: auto-commit <auto-commit@users.noreply.github.com>
Co-authored-by: adlrocha <6717133+adlrocha@users.noreply.github.com>
  • Loading branch information
3 people authored Dec 14, 2023
1 parent d0b67da commit e8b8758
Show file tree
Hide file tree
Showing 148 changed files with 1,341,114 additions and 710 deletions.
341 changes: 181 additions & 160 deletions .storage-layouts/GatewayActorModifiers.json

Large diffs are not rendered by default.

339 changes: 180 additions & 159 deletions .storage-layouts/GatewayDiamond.json

Large diffs are not rendered by default.

257 changes: 135 additions & 122 deletions .storage-layouts/SubnetActorDiamond.json

Large diffs are not rendered by default.

257 changes: 135 additions & 122 deletions .storage-layouts/SubnetActorModifiers.json

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions binding/src/diamond_cut_facet.rs

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions binding/src/diamond_loupe_facet.rs

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions binding/src/gateway_diamond.rs

Large diffs are not rendered by default.

41 changes: 41 additions & 0 deletions binding/src/gateway_router_facet.rs
Original file line number Diff line number Diff line change
Expand Up @@ -750,6 +750,15 @@ pub mod gateway_router_facet {
},
],
),
(
::std::borrow::ToOwned::to_owned("NotEnoughBalance"),
::std::vec![
::ethers::core::abi::ethabi::AbiError {
name: ::std::borrow::ToOwned::to_owned("NotEnoughBalance"),
inputs: ::std::vec![],
},
],
),
(
::std::borrow::ToOwned::to_owned("NotEnoughSubnetCircSupply"),
::std::vec![
Expand Down Expand Up @@ -1324,6 +1333,19 @@ pub mod gateway_router_facet {
)]
#[etherror(name = "NotAuthorized", abi = "NotAuthorized(address)")]
pub struct NotAuthorized(pub ::ethers::core::types::Address);
///Custom Error type `NotEnoughBalance` with signature `NotEnoughBalance()` and selector `0xad3a8b9e`
#[derive(
Clone,
::ethers::contract::EthError,
::ethers::contract::EthDisplay,
Default,
Debug,
PartialEq,
Eq,
Hash
)]
#[etherror(name = "NotEnoughBalance", abi = "NotEnoughBalance()")]
pub struct NotEnoughBalance;
///Custom Error type `NotEnoughSubnetCircSupply` with signature `NotEnoughSubnetCircSupply()` and selector `0x74db2854`
#[derive(
Clone,
Expand Down Expand Up @@ -1494,6 +1516,7 @@ pub mod gateway_router_facet {
InvalidSignature(InvalidSignature),
InvalidSubnet(InvalidSubnet),
NotAuthorized(NotAuthorized),
NotEnoughBalance(NotEnoughBalance),
NotEnoughSubnetCircSupply(NotEnoughSubnetCircSupply),
NotRegisteredSubnet(NotRegisteredSubnet),
NotSystemActor(NotSystemActor),
Expand Down Expand Up @@ -1624,6 +1647,11 @@ pub mod gateway_router_facet {
) {
return Ok(Self::NotAuthorized(decoded));
}
if let Ok(decoded) = <NotEnoughBalance as ::ethers::core::abi::AbiDecode>::decode(
data,
) {
return Ok(Self::NotEnoughBalance(decoded));
}
if let Ok(decoded) = <NotEnoughSubnetCircSupply as ::ethers::core::abi::AbiDecode>::decode(
data,
) {
Expand Down Expand Up @@ -1748,6 +1776,9 @@ pub mod gateway_router_facet {
Self::NotAuthorized(element) => {
::ethers::core::abi::AbiEncode::encode(element)
}
Self::NotEnoughBalance(element) => {
::ethers::core::abi::AbiEncode::encode(element)
}
Self::NotEnoughSubnetCircSupply(element) => {
::ethers::core::abi::AbiEncode::encode(element)
}
Expand Down Expand Up @@ -1871,6 +1902,10 @@ pub mod gateway_router_facet {
== <NotAuthorized as ::ethers::contract::EthError>::selector() => {
true
}
_ if selector
== <NotEnoughBalance as ::ethers::contract::EthError>::selector() => {
true
}
_ if selector
== <NotEnoughSubnetCircSupply as ::ethers::contract::EthError>::selector() => {
true
Expand Down Expand Up @@ -1973,6 +2008,7 @@ pub mod gateway_router_facet {
Self::InvalidSignature(element) => ::core::fmt::Display::fmt(element, f),
Self::InvalidSubnet(element) => ::core::fmt::Display::fmt(element, f),
Self::NotAuthorized(element) => ::core::fmt::Display::fmt(element, f),
Self::NotEnoughBalance(element) => ::core::fmt::Display::fmt(element, f),
Self::NotEnoughSubnetCircSupply(element) => {
::core::fmt::Display::fmt(element, f)
}
Expand Down Expand Up @@ -2112,6 +2148,11 @@ pub mod gateway_router_facet {
Self::NotAuthorized(value)
}
}
impl ::core::convert::From<NotEnoughBalance> for GatewayRouterFacetErrors {
fn from(value: NotEnoughBalance) -> Self {
Self::NotEnoughBalance(value)
}
}
impl ::core::convert::From<NotEnoughSubnetCircSupply> for GatewayRouterFacetErrors {
fn from(value: NotEnoughSubnetCircSupply) -> Self {
Self::NotEnoughSubnetCircSupply(value)
Expand Down
4 changes: 2 additions & 2 deletions binding/src/lib_gateway.rs
Original file line number Diff line number Diff line change
Expand Up @@ -132,13 +132,13 @@ pub mod lib_gateway {
__abi,
);
#[rustfmt::skip]
const __BYTECODE: &[u8] = b"`\x80\x80`@R4`\x17W`:\x90\x81`\x1D\x8290\x81PP\xF3[`\0\x80\xFD\xFE`\0\x80\xFD\xFE\xA2dipfsX\"\x12 7\x86\x83n\xA9\x10hi\xF6\x8E\x14n;h\xBF!\x13M\x8A\xC2\xEE\xD8\xC9\x92\x9Dz8k\xF1vX\xF2dsolcC\0\x08\x13\x003";
const __BYTECODE: &[u8] = b"`\x80\x80`@R4`\x17W`:\x90\x81`\x1D\x8290\x81PP\xF3[`\0\x80\xFD\xFE`\0\x80\xFD\xFE\xA2dipfsX\"\x12 3\x91\x9C\xD8\xB5\xE7\x95\xF7\x84]%\xE1S\xE0;\xBB\x90YB\xAE\xB0u6\xB1\x013]7f5E\xEBdsolcC\0\x08\x13\x003";
/// The bytecode of the contract.
pub static LIBGATEWAY_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(
__BYTECODE,
);
#[rustfmt::skip]
const __DEPLOYED_BYTECODE: &[u8] = b"`\0\x80\xFD\xFE\xA2dipfsX\"\x12 7\x86\x83n\xA9\x10hi\xF6\x8E\x14n;h\xBF!\x13M\x8A\xC2\xEE\xD8\xC9\x92\x9Dz8k\xF1vX\xF2dsolcC\0\x08\x13\x003";
const __DEPLOYED_BYTECODE: &[u8] = b"`\0\x80\xFD\xFE\xA2dipfsX\"\x12 3\x91\x9C\xD8\xB5\xE7\x95\xF7\x84]%\xE1S\xE0;\xBB\x90YB\xAE\xB0u6\xB1\x013]7f5E\xEBdsolcC\0\x08\x13\x003";
/// The deployed bytecode of the contract.
pub static LIBGATEWAY_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(
__DEPLOYED_BYTECODE,
Expand Down
4 changes: 2 additions & 2 deletions binding/src/lib_staking.rs
Original file line number Diff line number Diff line change
Expand Up @@ -106,13 +106,13 @@ pub mod lib_staking {
__abi,
);
#[rustfmt::skip]
const __BYTECODE: &[u8] = b"`\x80\x80`@R4a\0\x1CWa\x02\x14\x90\x81a\0\"\x8290\x81`.\x01R\xF3[`\0\x80\xFD\xFE`@`\x80\x81R`\x04\x806\x10\x15a\0\x14W`\0\x80\xFD[`\0\x91\x825`\xE0\x1Cc\x82\x98^\x0B\x14a\0+W`\0\x80\xFD[0\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x14a\x01\xDAW` 6`\x03\x19\x01\x12a\x01\xDAW\x815`\x01`\x01`\xA0\x1B\x03\x80\x82\x16\x90\x81\x83\x03a\x01\xD6W`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\x1C` R`@\x90 T\x92\x83\x15a\x01\xC6W`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R`\x1C` R`@\x90 \x86\x90U`\tT\x86\x91\x16\x80;\x15a\x01\xC2W\x81\x90`$\x86Q\x80\x94\x81\x93clq*\xB9`\xE1\x1B\x83R\x88\x8B\x84\x01RZ\xF1\x80\x15a\x01\xB8Wa\x01\x8AW[P\x81G\x10a\x01tW\x84\x80\x80\x93\x81\x93Z\xF1=\x15a\x01oWg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF=\x81\x81\x11a\x01\\W\x83Q\x91`\x1F\x82\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x83\x01\x90\x81\x11\x83\x82\x10\x17a\x01GW\x84R\x81R\x84` =\x92\x01>[\x15a\x01:W\x82\x80\xF3[Qc\n\x12\xF5!`\xE1\x1B\x81R\xFD[`A\x86cNH{q`\xE0\x1B`\0RR`$`\0\xFD[cNH{q`\xE0\x1B\x86R`A\x85R`$\x86\xFD[a\x011V[\x82Qc\xCDx`Y`\xE0\x1B\x81R0\x81\x86\x01R`$\x90\xFD[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x96\x92\x96\x11a\x01\xA5W\x83R\x938a\0\xE0V[cNH{q`\xE0\x1B\x82R`A\x85R`$\x82\xFD[\x84Q=\x88\x82>=\x90\xFD[P\x80\xFD[\x84Qcg0\x0F\x91`\xE1\x1B\x81R\x86\x90\xFD[\x85\x80\xFD[\x82\x80\xFD\xFE\xA2dipfsX\"\x12 3tm\x92\x93dk\x9F\xBBEQ\x1D\xA6j\xFA\x0FR\xA1HI0\xF6 P\x04fK{\xD7\x8A9xdsolcC\0\x08\x13\x003";
const __BYTECODE: &[u8] = b"`\x80\x80`@R4a\0\x1CWa\x02\x14\x90\x81a\0\"\x8290\x81`.\x01R\xF3[`\0\x80\xFD\xFE`@`\x80\x81R`\x04\x806\x10\x15a\0\x14W`\0\x80\xFD[`\0\x91\x825`\xE0\x1Cc\x82\x98^\x0B\x14a\0+W`\0\x80\xFD[0\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x14a\x01\xDAW` 6`\x03\x19\x01\x12a\x01\xDAW\x815`\x01`\x01`\xA0\x1B\x03\x80\x82\x16\x90\x81\x83\x03a\x01\xD6W`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\x1C` R`@\x90 T\x92\x83\x15a\x01\xC6W`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R`\x1C` R`@\x90 \x86\x90U`\tT\x86\x91\x16\x80;\x15a\x01\xC2W\x81\x90`$\x86Q\x80\x94\x81\x93clq*\xB9`\xE1\x1B\x83R\x88\x8B\x84\x01RZ\xF1\x80\x15a\x01\xB8Wa\x01\x8AW[P\x81G\x10a\x01tW\x84\x80\x80\x93\x81\x93Z\xF1=\x15a\x01oWg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF=\x81\x81\x11a\x01\\W\x83Q\x91`\x1F\x82\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x83\x01\x90\x81\x11\x83\x82\x10\x17a\x01GW\x84R\x81R\x84` =\x92\x01>[\x15a\x01:W\x82\x80\xF3[Qc\n\x12\xF5!`\xE1\x1B\x81R\xFD[`A\x86cNH{q`\xE0\x1B`\0RR`$`\0\xFD[cNH{q`\xE0\x1B\x86R`A\x85R`$\x86\xFD[a\x011V[\x82Qc\xCDx`Y`\xE0\x1B\x81R0\x81\x86\x01R`$\x90\xFD[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x96\x92\x96\x11a\x01\xA5W\x83R\x938a\0\xE0V[cNH{q`\xE0\x1B\x82R`A\x85R`$\x82\xFD[\x84Q=\x88\x82>=\x90\xFD[P\x80\xFD[\x84Qcg0\x0F\x91`\xE1\x1B\x81R\x86\x90\xFD[\x85\x80\xFD[\x82\x80\xFD\xFE\xA2dipfsX\"\x12 *F+\x8D\x0B-96\x01\x08\x0C\x92\x15J\xB26\x07s\xBEu\xDC:\xA8x\xA5\xA7\x9E\xDC\xBA\xE2\xDD\xA5dsolcC\0\x08\x13\x003";
/// The bytecode of the contract.
pub static LIBSTAKING_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(
__BYTECODE,
);
#[rustfmt::skip]
const __DEPLOYED_BYTECODE: &[u8] = b"`@`\x80\x81R`\x04\x806\x10\x15a\0\x14W`\0\x80\xFD[`\0\x91\x825`\xE0\x1Cc\x82\x98^\x0B\x14a\0+W`\0\x80\xFD[0\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x14a\x01\xDAW` 6`\x03\x19\x01\x12a\x01\xDAW\x815`\x01`\x01`\xA0\x1B\x03\x80\x82\x16\x90\x81\x83\x03a\x01\xD6W`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\x1C` R`@\x90 T\x92\x83\x15a\x01\xC6W`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R`\x1C` R`@\x90 \x86\x90U`\tT\x86\x91\x16\x80;\x15a\x01\xC2W\x81\x90`$\x86Q\x80\x94\x81\x93clq*\xB9`\xE1\x1B\x83R\x88\x8B\x84\x01RZ\xF1\x80\x15a\x01\xB8Wa\x01\x8AW[P\x81G\x10a\x01tW\x84\x80\x80\x93\x81\x93Z\xF1=\x15a\x01oWg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF=\x81\x81\x11a\x01\\W\x83Q\x91`\x1F\x82\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x83\x01\x90\x81\x11\x83\x82\x10\x17a\x01GW\x84R\x81R\x84` =\x92\x01>[\x15a\x01:W\x82\x80\xF3[Qc\n\x12\xF5!`\xE1\x1B\x81R\xFD[`A\x86cNH{q`\xE0\x1B`\0RR`$`\0\xFD[cNH{q`\xE0\x1B\x86R`A\x85R`$\x86\xFD[a\x011V[\x82Qc\xCDx`Y`\xE0\x1B\x81R0\x81\x86\x01R`$\x90\xFD[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x96\x92\x96\x11a\x01\xA5W\x83R\x938a\0\xE0V[cNH{q`\xE0\x1B\x82R`A\x85R`$\x82\xFD[\x84Q=\x88\x82>=\x90\xFD[P\x80\xFD[\x84Qcg0\x0F\x91`\xE1\x1B\x81R\x86\x90\xFD[\x85\x80\xFD[\x82\x80\xFD\xFE\xA2dipfsX\"\x12 3tm\x92\x93dk\x9F\xBBEQ\x1D\xA6j\xFA\x0FR\xA1HI0\xF6 P\x04fK{\xD7\x8A9xdsolcC\0\x08\x13\x003";
const __DEPLOYED_BYTECODE: &[u8] = b"`@`\x80\x81R`\x04\x806\x10\x15a\0\x14W`\0\x80\xFD[`\0\x91\x825`\xE0\x1Cc\x82\x98^\x0B\x14a\0+W`\0\x80\xFD[0\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x14a\x01\xDAW` 6`\x03\x19\x01\x12a\x01\xDAW\x815`\x01`\x01`\xA0\x1B\x03\x80\x82\x16\x90\x81\x83\x03a\x01\xD6W`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\x1C` R`@\x90 T\x92\x83\x15a\x01\xC6W`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R`\x1C` R`@\x90 \x86\x90U`\tT\x86\x91\x16\x80;\x15a\x01\xC2W\x81\x90`$\x86Q\x80\x94\x81\x93clq*\xB9`\xE1\x1B\x83R\x88\x8B\x84\x01RZ\xF1\x80\x15a\x01\xB8Wa\x01\x8AW[P\x81G\x10a\x01tW\x84\x80\x80\x93\x81\x93Z\xF1=\x15a\x01oWg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF=\x81\x81\x11a\x01\\W\x83Q\x91`\x1F\x82\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x83\x01\x90\x81\x11\x83\x82\x10\x17a\x01GW\x84R\x81R\x84` =\x92\x01>[\x15a\x01:W\x82\x80\xF3[Qc\n\x12\xF5!`\xE1\x1B\x81R\xFD[`A\x86cNH{q`\xE0\x1B`\0RR`$`\0\xFD[cNH{q`\xE0\x1B\x86R`A\x85R`$\x86\xFD[a\x011V[\x82Qc\xCDx`Y`\xE0\x1B\x81R0\x81\x86\x01R`$\x90\xFD[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x96\x92\x96\x11a\x01\xA5W\x83R\x938a\0\xE0V[cNH{q`\xE0\x1B\x82R`A\x85R`$\x82\xFD[\x84Q=\x88\x82>=\x90\xFD[P\x80\xFD[\x84Qcg0\x0F\x91`\xE1\x1B\x81R\x86\x90\xFD[\x85\x80\xFD[\x82\x80\xFD\xFE\xA2dipfsX\"\x12 *F+\x8D\x0B-96\x01\x08\x0C\x92\x15J\xB26\x07s\xBEu\xDC:\xA8x\xA5\xA7\x9E\xDC\xBA\xE2\xDD\xA5dsolcC\0\x08\x13\x003";
/// The deployed bytecode of the contract.
pub static LIBSTAKING_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(
__DEPLOYED_BYTECODE,
Expand Down
4 changes: 2 additions & 2 deletions binding/src/lib_staking_change_log.rs
Original file line number Diff line number Diff line change
Expand Up @@ -62,13 +62,13 @@ pub mod lib_staking_change_log {
::ethers::core::abi::Abi,
> = ::ethers::contract::Lazy::new(__abi);
#[rustfmt::skip]
const __BYTECODE: &[u8] = b"`\x80\x80`@R4`\x17W`:\x90\x81`\x1D\x8290\x81PP\xF3[`\0\x80\xFD\xFE`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xFCS\x10-\xAC\x8C\x972\x12R>u\xEC\xC6\xAF\xEFck\x14\xBA\x1A.\xC3\x0BK)T\xE5\x0F\xBD?\x83dsolcC\0\x08\x13\x003";
const __BYTECODE: &[u8] = b"`\x80\x80`@R4`\x17W`:\x90\x81`\x1D\x8290\x81PP\xF3[`\0\x80\xFD\xFE`\0\x80\xFD\xFE\xA2dipfsX\"\x12 %\xC1d\x05\xD2\x82\xDF;\xB3\x94\x91\xB5r+\xD1{\x14~5\x84*S\xA72\xE8\xDE\x97zejS\xC0dsolcC\0\x08\x13\x003";
/// The bytecode of the contract.
pub static LIBSTAKINGCHANGELOG_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(
__BYTECODE,
);
#[rustfmt::skip]
const __DEPLOYED_BYTECODE: &[u8] = b"`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xFCS\x10-\xAC\x8C\x972\x12R>u\xEC\xC6\xAF\xEFck\x14\xBA\x1A.\xC3\x0BK)T\xE5\x0F\xBD?\x83dsolcC\0\x08\x13\x003";
const __DEPLOYED_BYTECODE: &[u8] = b"`\0\x80\xFD\xFE\xA2dipfsX\"\x12 %\xC1d\x05\xD2\x82\xDF;\xB3\x94\x91\xB5r+\xD1{\x14~5\x84*S\xA72\xE8\xDE\x97zejS\xC0dsolcC\0\x08\x13\x003";
/// The deployed bytecode of the contract.
pub static LIBSTAKINGCHANGELOG_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(
__DEPLOYED_BYTECODE,
Expand Down
16 changes: 8 additions & 8 deletions binding/src/register_subnet_facet.rs
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ pub mod register_subnet_facet {
::ethers::core::abi::ethabi::ParamType::Uint(16usize),
::ethers::core::abi::ethabi::ParamType::Uint(256usize),
::ethers::core::abi::ethabi::ParamType::Int(8usize),
::ethers::core::abi::ethabi::ParamType::Bool,
::ethers::core::abi::ethabi::ParamType::Uint(8usize),
],
),
internal_type: ::core::option::Option::Some(
Expand Down Expand Up @@ -154,7 +154,7 @@ pub mod register_subnet_facet {
),
)
}
///Calls the contract's `newSubnetActor` (0xa04962a0) function
///Calls the contract's `newSubnetActor` (0xaa3d1588) function
pub fn new_subnet_actor(
&self,
params: ConstructorParams,
Expand All @@ -163,7 +163,7 @@ pub mod register_subnet_facet {
::ethers::core::types::Address,
> {
self.0
.method_hash([160, 73, 98, 160], (params,))
.method_hash([170, 61, 21, 136], (params,))
.expect("method not found (this should never happen)")
}
///Gets the contract's `SubnetDeployed` event
Expand Down Expand Up @@ -316,7 +316,7 @@ pub mod register_subnet_facet {
pub struct SubnetDeployedFilter {
pub subnet_addr: ::ethers::core::types::Address,
}
///Container type for all input parameters for the `newSubnetActor` function with signature `newSubnetActor(((uint64,address[]),address,uint8,uint256,uint64,uint64,uint8,uint16,uint256,int8,bool))` and selector `0xa04962a0`
///Container type for all input parameters for the `newSubnetActor` function with signature `newSubnetActor(((uint64,address[]),address,uint8,uint256,uint64,uint64,uint8,uint16,uint256,int8,uint8))` and selector `0xaa3d1588`
#[derive(
Clone,
::ethers::contract::EthCall,
Expand All @@ -329,12 +329,12 @@ pub mod register_subnet_facet {
)]
#[ethcall(
name = "newSubnetActor",
abi = "newSubnetActor(((uint64,address[]),address,uint8,uint256,uint64,uint64,uint8,uint16,uint256,int8,bool))"
abi = "newSubnetActor(((uint64,address[]),address,uint8,uint256,uint64,uint64,uint8,uint16,uint256,int8,uint8))"
)]
pub struct NewSubnetActorCall {
pub params: ConstructorParams,
}
///Container type for all return fields from the `newSubnetActor` function with signature `newSubnetActor(((uint64,address[]),address,uint8,uint256,uint64,uint64,uint8,uint16,uint256,int8,bool))` and selector `0xa04962a0`
///Container type for all return fields from the `newSubnetActor` function with signature `newSubnetActor(((uint64,address[]),address,uint8,uint256,uint64,uint64,uint8,uint16,uint256,int8,uint8))` and selector `0xaa3d1588`
#[derive(
Clone,
::ethers::contract::EthAbiType,
Expand All @@ -348,7 +348,7 @@ pub mod register_subnet_facet {
pub struct NewSubnetActorReturn {
pub subnet_addr: ::ethers::core::types::Address,
}
///`ConstructorParams((uint64,address[]),address,uint8,uint256,uint64,uint64,uint8,uint16,uint256,int8,bool)`
///`ConstructorParams((uint64,address[]),address,uint8,uint256,uint64,uint64,uint8,uint16,uint256,int8,uint8)`
#[derive(
Clone,
::ethers::contract::EthAbiType,
Expand All @@ -370,7 +370,7 @@ pub mod register_subnet_facet {
pub active_validators_limit: u16,
pub min_cross_msg_fee: ::ethers::core::types::U256,
pub power_scale: i8,
pub permissioned: bool,
pub permission_mode: u8,
}
///`SubnetID(uint64,address[])`
#[derive(
Expand Down
4 changes: 2 additions & 2 deletions binding/src/subnet_actor_diamond.rs
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ pub mod subnet_actor_diamond {
::ethers::core::abi::ethabi::ParamType::Uint(16usize),
::ethers::core::abi::ethabi::ParamType::Uint(256usize),
::ethers::core::abi::ethabi::ParamType::Int(8usize),
::ethers::core::abi::ethabi::ParamType::Bool,
::ethers::core::abi::ethabi::ParamType::Uint(8usize),
],
),
internal_type: ::core::option::Option::Some(
Expand Down Expand Up @@ -463,7 +463,7 @@ pub mod subnet_actor_diamond {
::ethers::core::abi::Abi,
> = ::ethers::contract::Lazy::new(__abi);
#[rustfmt::skip]
const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R6\x15`\x91W`\0\x805`\x01`\x01`\xE0\x1B\x03\x19\x16\x80\x82R\x7F\x80n\x0C\xBB\x9F\xCE)k\xBC3jH\xF4+\xF1\xDB\xC6\x97\"\xD1\x8D\x90\xD6\xFEp[u\x82\xC2\xBBK\xD2` R`@\x82 T`\x01`\x01`\xA0\x1B\x03\x16\x90\x81\x15`oWP\x81\x80\x916\x82\x807\x816\x91Z\xF4=\x82\x80>\x15`kW=\x90\xF3[=\x90\xFD[c\n\x82\xDDs`\xE3\x1B`\x80R`\x01`\x01`\xE0\x1B\x03\x19\x16`\x84R`\x7F\x19`\xA4\x01`\x80\xFD[`\tT`\x01`\x01`\xA0\x1B\x03\x163\x03`\xA4W\0[c\xE7\xE6\x01\xDB`\xE0\x1B`\x80R`\x04`\x80\xFD\xFE\xA2dipfsX\"\x12 \x1E6RM\xD1\xB3\xE2\x8F\x15z\x9711\x0C\x1A\xF4\xB8\x03\xD7J\xDD\xFC\xA6*+\xC0\x13j\nu\x9E\x1CdsolcC\0\x08\x13\x003";
const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R6\x15`\x91W`\0\x805`\x01`\x01`\xE0\x1B\x03\x19\x16\x80\x82R\x7F\x80n\x0C\xBB\x9F\xCE)k\xBC3jH\xF4+\xF1\xDB\xC6\x97\"\xD1\x8D\x90\xD6\xFEp[u\x82\xC2\xBBK\xD2` R`@\x82 T`\x01`\x01`\xA0\x1B\x03\x16\x90\x81\x15`oWP\x81\x80\x916\x82\x807\x816\x91Z\xF4=\x82\x80>\x15`kW=\x90\xF3[=\x90\xFD[c\n\x82\xDDs`\xE3\x1B`\x80R`\x01`\x01`\xE0\x1B\x03\x19\x16`\x84R`\x7F\x19`\xA4\x01`\x80\xFD[`\tT`\x01`\x01`\xA0\x1B\x03\x163\x03`\xA4W\0[c\xE7\xE6\x01\xDB`\xE0\x1B`\x80R`\x04`\x80\xFD\xFE\xA2dipfsX\"\x12 5\xB5bFK]\x1B\x89Lv\xEC<\xEA0\x7F\xA0\xBEf \x93\x99;\t\x8B7q\xC7,dE\xE6\xD1dsolcC\0\x08\x13\x003";
/// The deployed bytecode of the contract.
pub static SUBNETACTORDIAMOND_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(
__DEPLOYED_BYTECODE,
Expand Down
Loading

0 comments on commit e8b8758

Please sign in to comment.