1#[allow(
518 non_camel_case_types,
519 non_snake_case,
520 clippy::pub_underscore_fields,
521 clippy::style,
522 clippy::empty_structs_with_brackets
523)]
524pub mod HoprStakingProxyForNetworkRegistry {
525 use super::*;
526 use alloy::sol_types as alloy_sol_types;
527 #[rustfmt::skip]
533 #[allow(clippy::all)]
534 pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
535 b"`\x80`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\0\x1Cp8\x03\x80b\0\x1Cp\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\x01EV[b\0\0?3b\0\0\x8EV[b\0\0J\x83b\0\0\xDEV[b\0\0U\x82b\0\0\x8EV[`\x02\x81\x90U`@Q\x81\x90\x7F\xAD\xFA\x8E\xCB!\xB6\x96.\xBC\xD0\xAD\xBD\x9A\xB9\x85\xB7\xB4\xC5\xB5\xEB;\r\xEA\xD6\x83\x17\x15e\xC7\xBF\xE1q\x90`\0\x90\xA2PPPb\0\x01\x86V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\x01`\x01`\xA0\x1B\x03\x19\x83\x16\x81\x17\x84U`@Q\x91\x90\x92\x16\x92\x83\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PPV[`\x01\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x90\x91U`@Q\x7FW;\xBF\xA6y\xAFo\xDC\xDB\xD9\xCF\x19\x1C^\xF3\xE5&Y\x9A\xC2\xBFu\xE9\x17}G\xAD\xB8S\x0B\x9Ci\x90`\0\x90\xA2PV[\x80Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\x01@W`\0\x80\xFD[\x91\x90PV[`\0\x80`\0``\x84\x86\x03\x12\x15b\0\x01[W`\0\x80\xFD[b\0\x01f\x84b\0\x01(V[\x92Pb\0\x01v` \x85\x01b\0\x01(V[\x91P`@\x84\x01Q\x90P\x92P\x92P\x92V[a\x1A\xDA\x80b\0\x01\x96`\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\x01\x16W`\x005`\xE0\x1C\x80c\xB0^\x8B\xA9\x11a\0\xA2W\x80c\xDEbl\x0E\x11a\0qW\x80c\xDEbl\x0E\x14a\x02PW\x80c\xEEP\xC7\xC4\x14a\x02cW\x80c\xF1\x1Fw\xF9\x14a\x02vW\x80c\xF2\xFD\xE3\x8B\x14a\x02\x7FW\x80c\xFBf\xACW\x14a\x02\x92W`\0\x80\xFD[\x80c\xB0^\x8B\xA9\x14a\x01\xE6W\x80c\xB3TN\x82\x14a\x01\xF9W\x80c\xBA\x1C\xEF#\x14a\x02\x1AW\x80c\xD8Z\xD0D\x14a\x02-W`\0\x80\xFD[\x80cj;d\xB6\x11a\0\xE9W\x80cj;d\xB6\x14a\x01\x94W\x80cqP\x18\xA6\x14a\x01\xA7W\x80c\x83\x0Cl\xC2\x14a\x01\xAFW\x80c\x8D\xA5\xCB[\x14a\x01\xC2W\x80c\x9B\x97\x07o\x14a\x01\xD3W`\0\x80\xFD[\x80c\x1A\x18b'\x14a\x01\x1BW\x80c,>\xC8\x0B\x14a\x01KW\x80cPdr\xCC\x14a\x01lW\x80ceBQ\xEB\x14a\x01\x81W[`\0\x80\xFD[`\x01Ta\x01.\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\x01^a\x01Y6`\x04a\x13\xB0V[a\x02\xA5V[`@Qa\x01B\x92\x91\x90a\x14\x0FV[a\x01\x7Fa\x01z6`\x04a\x14|V[a\x03]V[\0[a\x01\x7Fa\x01\x8F6`\x04a\x14\xFEV[a\x04#V[a\x01\x7Fa\x01\xA26`\x04a\x15\xB9V[a\x049V[a\x01\x7Fa\x05<V[a\x01\x7Fa\x01\xBD6`\x04a\x16oV[a\x05PV[`\0T`\x01`\x01`\xA0\x1B\x03\x16a\x01.V[a\x01\x7Fa\x01\xE16`\x04a\x14\xFEV[a\x05dV[a\x01\x7Fa\x01\xF46`\x04a\x14|V[a\x05vV[a\x02\x0Ca\x02\x076`\x04a\x16oV[a\x065V[`@Q\x90\x81R` \x01a\x01BV[a\x02\x0Ca\x02(6`\x04a\x13\xB0V[a\t\xEAV[a\x02@a\x02;6`\x04a\x16\x8AV[a\n\x0BV[`@Q\x90\x15\x15\x81R` \x01a\x01BV[a\x01^a\x02^6`\x04a\x13\xB0V[a\n\x14V[a\x01\x7Fa\x02q6`\x04a\x13\xB0V[a\n$V[a\x02\x0C`\x02T\x81V[a\x01\x7Fa\x02\x8D6`\x04a\x16oV[a\n\x81V[a\x01\x7Fa\x02\xA06`\x04a\x14|V[a\n\xFCV[`\x05\x81\x81T\x81\x10a\x02\xB5W`\0\x80\xFD[`\0\x91\x82R` \x90\x91 `\x02\x90\x91\x02\x01\x80T`\x01\x82\x01\x80T\x91\x93P\x90a\x02\xDA\x90a\x16\xBDV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x03\x06\x90a\x16\xBDV[\x80\x15a\x03SW\x80`\x1F\x10a\x03(Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03SV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x036W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x82V[a\x03ea\x0B\xBBV[\x82\x81\x14a\x03\x85W`@QcH\x85\xF5\x9B`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0[\x83\x81\x10\x15a\x04\x1CWa\x04\n\x85\x85\x83\x81\x81\x10a\x03\xA5Wa\x03\xA5a\x16\xF7V[\x90P` \x02\x015\x84\x84\x84\x81\x81\x10a\x03\xBEWa\x03\xBEa\x16\xF7V[\x90P` \x02\x81\x01\x90a\x03\xD0\x91\x90a\x17\rV[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPa\x0C\x15\x92PPPV[\x80a\x04\x14\x81a\x17jV[\x91PPa\x03\x88V[PPPPPV[a\x04+a\x0B\xBBV[a\x045\x82\x82a\rqV[PPV[a\x04Aa\x0B\xBBV[\x84\x83\x14a\x04aW`@QcH\x85\xF5\x9B`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x84\x81\x14a\x04\x81W`@Qc\x19y\x10\xE9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0[\x85\x81\x10\x15a\x053Wa\x05!\x87\x87\x83\x81\x81\x10a\x04\xA1Wa\x04\xA1a\x16\xF7V[\x90P` \x02\x015\x86\x86\x84\x81\x81\x10a\x04\xBAWa\x04\xBAa\x16\xF7V[\x90P` \x02\x81\x01\x90a\x04\xCC\x91\x90a\x17\rV[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RP\x88\x92P\x87\x91P\x86\x90P\x81\x81\x10a\x05\x15Wa\x05\x15a\x16\xF7V[\x90P` \x02\x015a\x0E\xEFV[\x80a\x05+\x81a\x17jV[\x91PPa\x04\x84V[PPPPPPPV[a\x05Da\x0B\xBBV[a\x05N`\0a\x10\xD3V[V[a\x05Xa\x0B\xBBV[a\x05a\x81a\x11#V[PV[a\x05la\x0B\xBBV[a\x045\x82\x82a\x0C\x15V[a\x05~a\x0B\xBBV[\x82\x81\x14a\x05\x9EW`@QcH\x85\xF5\x9B`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0[\x83\x81\x10\x15a\x04\x1CWa\x06#\x85\x85\x83\x81\x81\x10a\x05\xBEWa\x05\xBEa\x16\xF7V[\x90P` \x02\x015\x84\x84\x84\x81\x81\x10a\x05\xD7Wa\x05\xD7a\x16\xF7V[\x90P` \x02\x81\x01\x90a\x05\xE9\x91\x90a\x17\rV[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPa\x11m\x92PPPV[\x80a\x06-\x81a\x17jV[\x91PPa\x05\xA1V[`\0\x80`\0[`\x05T\x81\x10\x15a\x07\xD7W`\0`\x05\x82\x81T\x81\x10a\x06ZWa\x06Za\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`@Q\x80`@\x01`@R\x90\x81`\0\x82\x01T\x81R` \x01`\x01\x82\x01\x80Ta\x06\x8D\x90a\x16\xBDV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x06\xB9\x90a\x16\xBDV[\x80\x15a\x07\x06W\x80`\x1F\x10a\x06\xDBWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x07\x06V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x06\xE9W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPP\x91\x90\x92RPP`\x01T\x82Q` \x84\x01Q`@Qc\x96\xA9\xCD}`\xE0\x1B\x81R\x94\x95P`\x01`\x01`\xA0\x1B\x03\x90\x92\x16\x93c\x96\xA9\xCD}\x93Pa\x07K\x92\x90\x8A\x90`\x04\x01a\x17\x83V[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x07hW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x07\x8C\x91\x90a\x17\xB4V[\x15a\x07\xC4Wa\x07\xC1`\x04\x83\x81T\x81\x10a\x07\xA7Wa\x07\xA7a\x16\xF7V[\x90`\0R` `\0 \x01T\x84a\x13J\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x92P[P\x80a\x07\xCF\x81a\x17jV[\x91PPa\x06;V[P`\x01T`@Qc\xF9x\xFF\xF1`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x81\x16`\x04\x83\x01R`\0\x92\x16\x90c\xF9x\xFF\xF1\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x08#W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x08G\x91\x90a\x17\xD6V[\x90P`\x02T\x81\x10\x15a\x08ZWP\x92\x91PPV[`\0[`\x03T\x81\x10\x15a\t\xE1W`\0`\x03\x82\x81T\x81\x10a\x08|Wa\x08|a\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`@Q\x80`@\x01`@R\x90\x81`\0\x82\x01T\x81R` \x01`\x01\x82\x01\x80Ta\x08\xAF\x90a\x16\xBDV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x08\xDB\x90a\x16\xBDV[\x80\x15a\t(W\x80`\x1F\x10a\x08\xFDWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\t(V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\t\x0BW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPP\x91\x90\x92RPP`\x01T\x82Q` \x84\x01Q`@Qc\x96\xA9\xCD}`\xE0\x1B\x81R\x94\x95P`\x01`\x01`\xA0\x1B\x03\x90\x92\x16\x93c\x96\xA9\xCD}\x93Pa\tm\x92\x90\x8B\x90`\x04\x01a\x17\x83V[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\t\x8AW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\t\xAE\x91\x90a\x17\xB4V[\x15a\t\xCEWa\t\xCB`\x02T\x84a\t\xC4\x91\x90a\x17\xEFV[\x85\x90a\x13JV[\x93P[P\x80a\t\xD9\x81a\x17jV[\x91PPa\x08]V[P\x90\x93\x92PPPV[`\x04\x81\x81T\x81\x10a\t\xFAW`\0\x80\xFD[`\0\x91\x82R` \x90\x91 \x01T\x90P\x81V[`\x01[\x92\x91PPV[`\x03\x81\x81T\x81\x10a\x02\xB5W`\0\x80\xFD[a\n,a\x0B\xBBV[\x80`\x02T\x03a\nNW`@Qc \xE4{\x13`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x02\x81\x90U`@Q\x81\x90\x7F\xAD\xFA\x8E\xCB!\xB6\x96.\xBC\xD0\xAD\xBD\x9A\xB9\x85\xB7\xB4\xC5\xB5\xEB;\r\xEA\xD6\x83\x17\x15e\xC7\xBF\xE1q\x90`\0\x90\xA2PV[a\n\x89a\x0B\xBBV[`\x01`\x01`\xA0\x1B\x03\x81\x16a\n\xF3W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`&`$\x82\x01R\x7FOwnable: new owner is the zero a`D\x82\x01Reddress`\xD0\x1B`d\x82\x01R`\x84\x01[`@Q\x80\x91\x03\x90\xFD[a\x05a\x81a\x10\xD3V[a\x0B\x04a\x0B\xBBV[\x82\x81\x14a\x0B$W`@QcH\x85\xF5\x9B`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0[\x83\x81\x10\x15a\x04\x1CWa\x0B\xA9\x85\x85\x83\x81\x81\x10a\x0BDWa\x0BDa\x16\xF7V[\x90P` \x02\x015\x84\x84\x84\x81\x81\x10a\x0B]Wa\x0B]a\x16\xF7V[\x90P` \x02\x81\x01\x90a\x0Bo\x91\x90a\x17\rV[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPa\rq\x92PPPV[\x80a\x0B\xB3\x81a\x17jV[\x91PPa\x0B'V[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x05NW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01\x81\x90R`$\x82\x01R\x7FOwnable: caller is not the owner`D\x82\x01R`d\x01a\n\xEAV[`\0[`\x03T\x81\x10\x15a\x0C\xAFW\x82`\x03\x82\x81T\x81\x10a\x0C6Wa\x0C6a\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`\0\x01T\x14\x80\x15a\x0C\x93WP\x81\x80Q\x90` \x01 `\x03\x82\x81T\x81\x10a\x0CkWa\x0Cka\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`\x01\x01`@Qa\x0C\x89\x91\x90a\x18\x11V[`@Q\x80\x91\x03\x90 \x14[\x15a\x0C\x9DWPPPV[\x80a\x0C\xA7\x81a\x17jV[\x91PPa\x0C\x18V[P`@\x80Q\x80\x82\x01\x90\x91R\x82\x81R` \x81\x01\x82\x81R`\x03\x80T`\x01\x81\x01\x82U`\0\x91\x90\x91R\x82Q`\x02\x90\x91\x02\x7F\xC2WZ\x0E\x9EY<\0\xF9Y\xF8\xC9/\x12\xDB(i\xC39Z;\x05\x02\xD0^%\x16Doq\xF8[\x81\x01\x91\x82U\x91Q\x90\x91\x7F\xC2WZ\x0E\x9EY<\0\xF9Y\xF8\xC9/\x12\xDB(i\xC39Z;\x05\x02\xD0^%\x16Doq\xF8\\\x01\x90a\r2\x90\x82a\x18\xD5V[PPP\x81\x7F#`\xEE>wHTA\xCF\xA0~0\xE8\xDC[\x03\x1F\xAC8EVG\xC8\x9Av44\xF5\x873\xFC\xC1\x82`@Qa\re\x91\x90a\x19\x95V[`@Q\x80\x91\x03\x90\xA2PPV[`\0[`\x03T\x81\x10\x15a\x0E\xEAW\x82`\x03\x82\x81T\x81\x10a\r\x92Wa\r\x92a\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`\0\x01T\x14\x80\x15a\r\xEFWP\x81\x80Q\x90` \x01 `\x03\x82\x81T\x81\x10a\r\xC7Wa\r\xC7a\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`\x01\x01`@Qa\r\xE5\x91\x90a\x18\x11V[`@Q\x80\x91\x03\x90 \x14[\x15a\x0E\xD8W`\x03\x80Ta\x0E\x04\x90`\x01\x90a\x19\xA8V[\x81T\x81\x10a\x0E\x14Wa\x0E\x14a\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`\x03\x82\x81T\x81\x10a\x0E5Wa\x0E5a\x16\xF7V[`\0\x91\x82R` \x90\x91 \x82T`\x02\x90\x92\x02\x01\x90\x81U`\x01\x80\x82\x01\x90a\x0E\\\x90\x84\x01\x82a\x19\xBBV[P\x90PP`\x03\x80T\x80a\x0EqWa\x0Eqa\x1A\x8EV[`\0\x82\x81R` \x81 `\x02`\0\x19\x90\x93\x01\x92\x83\x02\x01\x81\x81U\x90a\x0E\x97`\x01\x83\x01\x82a\x13bV[PP\x90U\x82\x7F\xB12>B\xD9{+=E\xF9\xD4d\x1B\xF4\xB6\xB3\xF9\xD0\xD0\x1E\x90\x83*\xE7\xB7A1\t\xB7\xA5\xD3G\x83`@Qa\x0E\xCB\x91\x90a\x19\x95V[`@Q\x80\x91\x03\x90\xA2PPPV[\x80a\x0E\xE2\x81a\x17jV[\x91PPa\rtV[PPPV[`\0[`\x05T\x81\x10\x15a\x0F\xE5W\x83`\x05\x82\x81T\x81\x10a\x0F\x10Wa\x0F\x10a\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`\0\x01T\x14\x80\x15a\x0FmWP\x82\x80Q\x90` \x01 `\x05\x82\x81T\x81\x10a\x0FEWa\x0FEa\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`\x01\x01`@Qa\x0Fc\x91\x90a\x18\x11V[`@Q\x80\x91\x03\x90 \x14[\x15a\x0F\xD3W\x81`\x04\x82\x81T\x81\x10a\x0F\x86Wa\x0F\x86a\x16\xF7V[\x90`\0R` `\0 \x01\x81\x90UP\x81\x84\x7F\xE4;\xF5\xF5\xF8\xA1!\x190\xE5rk\xA0\xAB\xCE\xAC\xB1t\x8F\x97\xB2\x96m\xB3\n\x81\x8B\xA1\ta\xCB\xCC\x85`@Qa\x0F\xC5\x91\x90a\x19\x95V[`@Q\x80\x91\x03\x90\xA3PPPPV[\x80a\x0F\xDD\x81a\x17jV[\x91PPa\x0E\xF2V[`@\x80Q\x80\x82\x01\x90\x91R\x84\x81R` \x81\x01\x84\x81R`\x05\x80T`\x01\x81\x01\x82U`\0\x91\x90\x91R\x82Q`\x02\x90\x91\x02\x7F\x03kc\x84\xB5\xEC\xA7\x91\xC6'a\x15-\x0Cy\xBB\x06\x04\xC1\x04\xA5\xFBoN\xB0p?1T\xBB=\xB0\x81\x01\x91\x82U\x91Q\x90\x91\x7F\x03kc\x84\xB5\xEC\xA7\x91\xC6'a\x15-\x0Cy\xBB\x06\x04\xC1\x04\xA5\xFBoN\xB0p?1T\xBB=\xB1\x01\x90a\x10g\x90\x82a\x18\xD5V[PP`\x04\x80T`\x01\x81\x01\x82U`\0\x91\x90\x91R\x7F\x8A5\xAC\xFB\xC1_\xF8\x1A9\xAE}4O\xD7\t\xF2\x8E\x86\0\xB4\xAA\x8Ce\xC6\xB6K\xFE\x7F\xE3k\xD1\x9B\x01\x83\x90UP`@Q\x82\x90\x85\x90\x7F\xE4;\xF5\xF5\xF8\xA1!\x190\xE5rk\xA0\xAB\xCE\xAC\xB1t\x8F\x97\xB2\x96m\xB3\n\x81\x8B\xA1\ta\xCB\xCC\x90a\x0F\xC5\x90\x87\x90a\x19\x95V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\x01`\x01`\xA0\x1B\x03\x19\x83\x16\x81\x17\x84U`@Q\x91\x90\x92\x16\x92\x83\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PPV[`\x01\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x90\x91U`@Q\x7FW;\xBF\xA6y\xAFo\xDC\xDB\xD9\xCF\x19\x1C^\xF3\xE5&Y\x9A\xC2\xBFu\xE9\x17}G\xAD\xB8S\x0B\x9Ci\x90`\0\x90\xA2PV[`\0[`\x05T\x81\x10\x15a\x0E\xEAW\x82`\x05\x82\x81T\x81\x10a\x11\x8EWa\x11\x8Ea\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`\0\x01T\x14\x80\x15a\x11\xEBWP\x81\x80Q\x90` \x01 `\x05\x82\x81T\x81\x10a\x11\xC3Wa\x11\xC3a\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`\x01\x01`@Qa\x11\xE1\x91\x90a\x18\x11V[`@Q\x80\x91\x03\x90 \x14[\x15a\x138W`\x05\x80Ta\x12\0\x90`\x01\x90a\x19\xA8V[\x81T\x81\x10a\x12\x10Wa\x12\x10a\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`\x05\x82\x81T\x81\x10a\x121Wa\x121a\x16\xF7V[`\0\x91\x82R` \x90\x91 \x82T`\x02\x90\x92\x02\x01\x90\x81U`\x01\x80\x82\x01\x90a\x12X\x90\x84\x01\x82a\x19\xBBV[P\x90PP`\x05\x80T\x80a\x12mWa\x12ma\x1A\x8EV[`\0\x82\x81R` \x81 `\x02`\0\x19\x90\x93\x01\x92\x83\x02\x01\x81\x81U\x90a\x12\x93`\x01\x83\x01\x82a\x13bV[PP\x90U`\x04\x80Ta\x12\xA7\x90`\x01\x90a\x19\xA8V[\x81T\x81\x10a\x12\xB7Wa\x12\xB7a\x16\xF7V[\x90`\0R` `\0 \x01T`\x04\x82\x81T\x81\x10a\x12\xD5Wa\x12\xD5a\x16\xF7V[`\0\x91\x82R` \x90\x91 \x01U`\x04\x80T\x80a\x12\xF2Wa\x12\xF2a\x1A\x8EV[`\x01\x90\x03\x81\x81\x90`\0R` `\0 \x01`\0\x90U\x90U\x82\x7F\xDBu\x19\x91\x03PK\xD1\xD3e=\xE7X\xD4)[\xF0\rE\x87\xE1\xD5=\xFC\x11Dd\xCCG\xED\x97\xB7\x83`@Qa\x0E\xCB\x91\x90a\x19\x95V[\x80a\x13B\x81a\x17jV[\x91PPa\x11pV[`\0\x81\x83\x11a\x13YW\x81a\x13[V[\x82[\x93\x92PPPV[P\x80Ta\x13n\x90a\x16\xBDV[`\0\x82U\x80`\x1F\x10a\x13~WPPV[`\x1F\x01` \x90\x04\x90`\0R` `\0 \x90\x81\x01\x90a\x05a\x91\x90[\x80\x82\x11\x15a\x13\xACW`\0\x81U`\x01\x01a\x13\x98V[P\x90V[`\0` \x82\x84\x03\x12\x15a\x13\xC2W`\0\x80\xFD[P5\x91\x90PV[`\0\x81Q\x80\x84R`\0[\x81\x81\x10\x15a\x13\xEFW` \x81\x85\x01\x81\x01Q\x86\x83\x01\x82\x01R\x01a\x13\xD3V[P`\0` \x82\x86\x01\x01R` `\x1F\x19`\x1F\x83\x01\x16\x85\x01\x01\x91PP\x92\x91PPV[\x82\x81R`@` \x82\x01R`\0a\x14(`@\x83\x01\x84a\x13\xC9V[\x94\x93PPPPV[`\0\x80\x83`\x1F\x84\x01\x12a\x14BW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x14ZW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a\x14uW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\x14\x92W`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x14\xAAW`\0\x80\xFD[a\x14\xB6\x88\x83\x89\x01a\x140V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\x14\xCFW`\0\x80\xFD[Pa\x14\xDC\x87\x82\x88\x01a\x140V[\x95\x98\x94\x97P\x95PPPPV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\0\x80`@\x83\x85\x03\x12\x15a\x15\x11W`\0\x80\xFD[\x825\x91P` \x83\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x150W`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x15DW`\0\x80\xFD[\x815\x81\x81\x11\x15a\x15VWa\x15Va\x14\xE8V[`@Q`\x1F\x82\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x83\x82\x11\x81\x83\x10\x17\x15a\x15~Wa\x15~a\x14\xE8V[\x81`@R\x82\x81R\x88` \x84\x87\x01\x01\x11\x15a\x15\x97W`\0\x80\xFD[\x82` \x86\x01` \x83\x017`\0` \x84\x83\x01\x01R\x80\x95PPPPPP\x92P\x92\x90PV[`\0\x80`\0\x80`\0\x80``\x87\x89\x03\x12\x15a\x15\xD2W`\0\x80\xFD[\x865g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x15\xEAW`\0\x80\xFD[a\x15\xF6\x8A\x83\x8B\x01a\x140V[\x90\x98P\x96P` \x89\x015\x91P\x80\x82\x11\x15a\x16\x0FW`\0\x80\xFD[a\x16\x1B\x8A\x83\x8B\x01a\x140V[\x90\x96P\x94P`@\x89\x015\x91P\x80\x82\x11\x15a\x164W`\0\x80\xFD[Pa\x16A\x89\x82\x8A\x01a\x140V[\x97\x9A\x96\x99P\x94\x97P\x92\x95\x93\x94\x92PPPV[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x16jW`\0\x80\xFD[\x91\x90PV[`\0` \x82\x84\x03\x12\x15a\x16\x81W`\0\x80\xFD[a\x13[\x82a\x16SV[`\0\x80`@\x83\x85\x03\x12\x15a\x16\x9DW`\0\x80\xFD[a\x16\xA6\x83a\x16SV[\x91Pa\x16\xB4` \x84\x01a\x16SV[\x90P\x92P\x92\x90PV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x16\xD1W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x16\xF1WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[cNH{q`\xE0\x1B`\0R`2`\x04R`$`\0\xFD[`\0\x80\x835`\x1E\x19\x846\x03\x01\x81\x12a\x17$W`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x17?W`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a\x14uW`\0\x80\xFD[cNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[`\0`\x01\x82\x01a\x17|Wa\x17|a\x17TV[P`\x01\x01\x90V[\x83\x81R``` \x82\x01R`\0a\x17\x9C``\x83\x01\x85a\x13\xC9V[\x90P`\x01\x80`\xA0\x1B\x03\x83\x16`@\x83\x01R\x94\x93PPPPV[`\0` \x82\x84\x03\x12\x15a\x17\xC6W`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14a\x13[W`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a\x17\xE8W`\0\x80\xFD[PQ\x91\x90PV[`\0\x82a\x18\x0CWcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[`\0\x80\x83Ta\x18\x1F\x81a\x16\xBDV[`\x01\x82\x81\x16\x80\x15a\x187W`\x01\x81\x14a\x18LWa\x18{V[`\xFF\x19\x84\x16\x87R\x82\x15\x15\x83\x02\x87\x01\x94Pa\x18{V[\x87`\0R` \x80`\0 `\0[\x85\x81\x10\x15a\x18rW\x81T\x8A\x82\x01R\x90\x84\x01\x90\x82\x01a\x18YV[PPP\x82\x87\x01\x94P[P\x92\x96\x95PPPPPPV[`\x1F\x82\x11\x15a\x0E\xEAW`\0\x81\x81R` \x81 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15a\x18\xAEWP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15a\x18\xCDW\x82\x81U`\x01\x01a\x18\xBAV[PPPPPPV[\x81Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x18\xEFWa\x18\xEFa\x14\xE8V[a\x19\x03\x81a\x18\xFD\x84Ta\x16\xBDV[\x84a\x18\x87V[` \x80`\x1F\x83\x11`\x01\x81\x14a\x198W`\0\x84\x15a\x19 WP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ua\x18\xCDV[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15a\x19gW\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01a\x19HV[P\x85\x82\x10\x15a\x19\x85W\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[` \x81R`\0a\x13[` \x83\x01\x84a\x13\xC9V[\x81\x81\x03\x81\x81\x11\x15a\n\x0EWa\n\x0Ea\x17TV[\x81\x81\x03a\x19\xC6WPPV[a\x19\xD0\x82Ta\x16\xBDV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x19\xE8Wa\x19\xE8a\x14\xE8V[a\x19\xF6\x81a\x18\xFD\x84Ta\x16\xBDV[`\0`\x1F\x82\x11`\x01\x81\x14a\x1A*W`\0\x83\x15a\x1A\x12WP\x84\x82\x01T[`\0\x19`\x03\x85\x90\x1B\x1C\x19\x16`\x01\x84\x90\x1B\x17\x84Ua\x04\x1CV[`\0\x85\x81R` \x90 `\x1F\x19\x84\x16\x90`\0\x86\x81R` \x90 \x84[\x83\x81\x10\x15a\x1AdW\x82\x86\x01T\x82U`\x01\x95\x86\x01\x95\x90\x91\x01\x90` \x01a\x1ADV[P\x85\x83\x10\x15a\x19\x85W\x93\x01T`\0\x19`\xF8`\x03\x87\x90\x1B\x16\x1C\x19\x16\x90\x92UPP`\x01\x90\x81\x1B\x01\x90UPV[cNH{q`\xE0\x1B`\0R`1`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 +\x84 \xA6\xF9\xB1\xBBWX)\x1CmC\x13\xBE\x19\xA0dV(f{\xF2\xCA0\xDF\x8C$ \xC4F\x07dsolcC\0\x08\x13\x003",
536 );
537 #[rustfmt::skip]
543 #[allow(clippy::all)]
544 pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
545 b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\x01\x16W`\x005`\xE0\x1C\x80c\xB0^\x8B\xA9\x11a\0\xA2W\x80c\xDEbl\x0E\x11a\0qW\x80c\xDEbl\x0E\x14a\x02PW\x80c\xEEP\xC7\xC4\x14a\x02cW\x80c\xF1\x1Fw\xF9\x14a\x02vW\x80c\xF2\xFD\xE3\x8B\x14a\x02\x7FW\x80c\xFBf\xACW\x14a\x02\x92W`\0\x80\xFD[\x80c\xB0^\x8B\xA9\x14a\x01\xE6W\x80c\xB3TN\x82\x14a\x01\xF9W\x80c\xBA\x1C\xEF#\x14a\x02\x1AW\x80c\xD8Z\xD0D\x14a\x02-W`\0\x80\xFD[\x80cj;d\xB6\x11a\0\xE9W\x80cj;d\xB6\x14a\x01\x94W\x80cqP\x18\xA6\x14a\x01\xA7W\x80c\x83\x0Cl\xC2\x14a\x01\xAFW\x80c\x8D\xA5\xCB[\x14a\x01\xC2W\x80c\x9B\x97\x07o\x14a\x01\xD3W`\0\x80\xFD[\x80c\x1A\x18b'\x14a\x01\x1BW\x80c,>\xC8\x0B\x14a\x01KW\x80cPdr\xCC\x14a\x01lW\x80ceBQ\xEB\x14a\x01\x81W[`\0\x80\xFD[`\x01Ta\x01.\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\x01^a\x01Y6`\x04a\x13\xB0V[a\x02\xA5V[`@Qa\x01B\x92\x91\x90a\x14\x0FV[a\x01\x7Fa\x01z6`\x04a\x14|V[a\x03]V[\0[a\x01\x7Fa\x01\x8F6`\x04a\x14\xFEV[a\x04#V[a\x01\x7Fa\x01\xA26`\x04a\x15\xB9V[a\x049V[a\x01\x7Fa\x05<V[a\x01\x7Fa\x01\xBD6`\x04a\x16oV[a\x05PV[`\0T`\x01`\x01`\xA0\x1B\x03\x16a\x01.V[a\x01\x7Fa\x01\xE16`\x04a\x14\xFEV[a\x05dV[a\x01\x7Fa\x01\xF46`\x04a\x14|V[a\x05vV[a\x02\x0Ca\x02\x076`\x04a\x16oV[a\x065V[`@Q\x90\x81R` \x01a\x01BV[a\x02\x0Ca\x02(6`\x04a\x13\xB0V[a\t\xEAV[a\x02@a\x02;6`\x04a\x16\x8AV[a\n\x0BV[`@Q\x90\x15\x15\x81R` \x01a\x01BV[a\x01^a\x02^6`\x04a\x13\xB0V[a\n\x14V[a\x01\x7Fa\x02q6`\x04a\x13\xB0V[a\n$V[a\x02\x0C`\x02T\x81V[a\x01\x7Fa\x02\x8D6`\x04a\x16oV[a\n\x81V[a\x01\x7Fa\x02\xA06`\x04a\x14|V[a\n\xFCV[`\x05\x81\x81T\x81\x10a\x02\xB5W`\0\x80\xFD[`\0\x91\x82R` \x90\x91 `\x02\x90\x91\x02\x01\x80T`\x01\x82\x01\x80T\x91\x93P\x90a\x02\xDA\x90a\x16\xBDV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x03\x06\x90a\x16\xBDV[\x80\x15a\x03SW\x80`\x1F\x10a\x03(Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03SV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x036W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x82V[a\x03ea\x0B\xBBV[\x82\x81\x14a\x03\x85W`@QcH\x85\xF5\x9B`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0[\x83\x81\x10\x15a\x04\x1CWa\x04\n\x85\x85\x83\x81\x81\x10a\x03\xA5Wa\x03\xA5a\x16\xF7V[\x90P` \x02\x015\x84\x84\x84\x81\x81\x10a\x03\xBEWa\x03\xBEa\x16\xF7V[\x90P` \x02\x81\x01\x90a\x03\xD0\x91\x90a\x17\rV[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPa\x0C\x15\x92PPPV[\x80a\x04\x14\x81a\x17jV[\x91PPa\x03\x88V[PPPPPV[a\x04+a\x0B\xBBV[a\x045\x82\x82a\rqV[PPV[a\x04Aa\x0B\xBBV[\x84\x83\x14a\x04aW`@QcH\x85\xF5\x9B`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x84\x81\x14a\x04\x81W`@Qc\x19y\x10\xE9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0[\x85\x81\x10\x15a\x053Wa\x05!\x87\x87\x83\x81\x81\x10a\x04\xA1Wa\x04\xA1a\x16\xF7V[\x90P` \x02\x015\x86\x86\x84\x81\x81\x10a\x04\xBAWa\x04\xBAa\x16\xF7V[\x90P` \x02\x81\x01\x90a\x04\xCC\x91\x90a\x17\rV[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RP\x88\x92P\x87\x91P\x86\x90P\x81\x81\x10a\x05\x15Wa\x05\x15a\x16\xF7V[\x90P` \x02\x015a\x0E\xEFV[\x80a\x05+\x81a\x17jV[\x91PPa\x04\x84V[PPPPPPPV[a\x05Da\x0B\xBBV[a\x05N`\0a\x10\xD3V[V[a\x05Xa\x0B\xBBV[a\x05a\x81a\x11#V[PV[a\x05la\x0B\xBBV[a\x045\x82\x82a\x0C\x15V[a\x05~a\x0B\xBBV[\x82\x81\x14a\x05\x9EW`@QcH\x85\xF5\x9B`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0[\x83\x81\x10\x15a\x04\x1CWa\x06#\x85\x85\x83\x81\x81\x10a\x05\xBEWa\x05\xBEa\x16\xF7V[\x90P` \x02\x015\x84\x84\x84\x81\x81\x10a\x05\xD7Wa\x05\xD7a\x16\xF7V[\x90P` \x02\x81\x01\x90a\x05\xE9\x91\x90a\x17\rV[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPa\x11m\x92PPPV[\x80a\x06-\x81a\x17jV[\x91PPa\x05\xA1V[`\0\x80`\0[`\x05T\x81\x10\x15a\x07\xD7W`\0`\x05\x82\x81T\x81\x10a\x06ZWa\x06Za\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`@Q\x80`@\x01`@R\x90\x81`\0\x82\x01T\x81R` \x01`\x01\x82\x01\x80Ta\x06\x8D\x90a\x16\xBDV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x06\xB9\x90a\x16\xBDV[\x80\x15a\x07\x06W\x80`\x1F\x10a\x06\xDBWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x07\x06V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x06\xE9W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPP\x91\x90\x92RPP`\x01T\x82Q` \x84\x01Q`@Qc\x96\xA9\xCD}`\xE0\x1B\x81R\x94\x95P`\x01`\x01`\xA0\x1B\x03\x90\x92\x16\x93c\x96\xA9\xCD}\x93Pa\x07K\x92\x90\x8A\x90`\x04\x01a\x17\x83V[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x07hW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x07\x8C\x91\x90a\x17\xB4V[\x15a\x07\xC4Wa\x07\xC1`\x04\x83\x81T\x81\x10a\x07\xA7Wa\x07\xA7a\x16\xF7V[\x90`\0R` `\0 \x01T\x84a\x13J\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x92P[P\x80a\x07\xCF\x81a\x17jV[\x91PPa\x06;V[P`\x01T`@Qc\xF9x\xFF\xF1`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x81\x16`\x04\x83\x01R`\0\x92\x16\x90c\xF9x\xFF\xF1\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x08#W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x08G\x91\x90a\x17\xD6V[\x90P`\x02T\x81\x10\x15a\x08ZWP\x92\x91PPV[`\0[`\x03T\x81\x10\x15a\t\xE1W`\0`\x03\x82\x81T\x81\x10a\x08|Wa\x08|a\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`@Q\x80`@\x01`@R\x90\x81`\0\x82\x01T\x81R` \x01`\x01\x82\x01\x80Ta\x08\xAF\x90a\x16\xBDV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x08\xDB\x90a\x16\xBDV[\x80\x15a\t(W\x80`\x1F\x10a\x08\xFDWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\t(V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\t\x0BW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPP\x91\x90\x92RPP`\x01T\x82Q` \x84\x01Q`@Qc\x96\xA9\xCD}`\xE0\x1B\x81R\x94\x95P`\x01`\x01`\xA0\x1B\x03\x90\x92\x16\x93c\x96\xA9\xCD}\x93Pa\tm\x92\x90\x8B\x90`\x04\x01a\x17\x83V[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\t\x8AW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\t\xAE\x91\x90a\x17\xB4V[\x15a\t\xCEWa\t\xCB`\x02T\x84a\t\xC4\x91\x90a\x17\xEFV[\x85\x90a\x13JV[\x93P[P\x80a\t\xD9\x81a\x17jV[\x91PPa\x08]V[P\x90\x93\x92PPPV[`\x04\x81\x81T\x81\x10a\t\xFAW`\0\x80\xFD[`\0\x91\x82R` \x90\x91 \x01T\x90P\x81V[`\x01[\x92\x91PPV[`\x03\x81\x81T\x81\x10a\x02\xB5W`\0\x80\xFD[a\n,a\x0B\xBBV[\x80`\x02T\x03a\nNW`@Qc \xE4{\x13`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x02\x81\x90U`@Q\x81\x90\x7F\xAD\xFA\x8E\xCB!\xB6\x96.\xBC\xD0\xAD\xBD\x9A\xB9\x85\xB7\xB4\xC5\xB5\xEB;\r\xEA\xD6\x83\x17\x15e\xC7\xBF\xE1q\x90`\0\x90\xA2PV[a\n\x89a\x0B\xBBV[`\x01`\x01`\xA0\x1B\x03\x81\x16a\n\xF3W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`&`$\x82\x01R\x7FOwnable: new owner is the zero a`D\x82\x01Reddress`\xD0\x1B`d\x82\x01R`\x84\x01[`@Q\x80\x91\x03\x90\xFD[a\x05a\x81a\x10\xD3V[a\x0B\x04a\x0B\xBBV[\x82\x81\x14a\x0B$W`@QcH\x85\xF5\x9B`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0[\x83\x81\x10\x15a\x04\x1CWa\x0B\xA9\x85\x85\x83\x81\x81\x10a\x0BDWa\x0BDa\x16\xF7V[\x90P` \x02\x015\x84\x84\x84\x81\x81\x10a\x0B]Wa\x0B]a\x16\xF7V[\x90P` \x02\x81\x01\x90a\x0Bo\x91\x90a\x17\rV[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPa\rq\x92PPPV[\x80a\x0B\xB3\x81a\x17jV[\x91PPa\x0B'V[`\0T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x05NW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01\x81\x90R`$\x82\x01R\x7FOwnable: caller is not the owner`D\x82\x01R`d\x01a\n\xEAV[`\0[`\x03T\x81\x10\x15a\x0C\xAFW\x82`\x03\x82\x81T\x81\x10a\x0C6Wa\x0C6a\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`\0\x01T\x14\x80\x15a\x0C\x93WP\x81\x80Q\x90` \x01 `\x03\x82\x81T\x81\x10a\x0CkWa\x0Cka\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`\x01\x01`@Qa\x0C\x89\x91\x90a\x18\x11V[`@Q\x80\x91\x03\x90 \x14[\x15a\x0C\x9DWPPPV[\x80a\x0C\xA7\x81a\x17jV[\x91PPa\x0C\x18V[P`@\x80Q\x80\x82\x01\x90\x91R\x82\x81R` \x81\x01\x82\x81R`\x03\x80T`\x01\x81\x01\x82U`\0\x91\x90\x91R\x82Q`\x02\x90\x91\x02\x7F\xC2WZ\x0E\x9EY<\0\xF9Y\xF8\xC9/\x12\xDB(i\xC39Z;\x05\x02\xD0^%\x16Doq\xF8[\x81\x01\x91\x82U\x91Q\x90\x91\x7F\xC2WZ\x0E\x9EY<\0\xF9Y\xF8\xC9/\x12\xDB(i\xC39Z;\x05\x02\xD0^%\x16Doq\xF8\\\x01\x90a\r2\x90\x82a\x18\xD5V[PPP\x81\x7F#`\xEE>wHTA\xCF\xA0~0\xE8\xDC[\x03\x1F\xAC8EVG\xC8\x9Av44\xF5\x873\xFC\xC1\x82`@Qa\re\x91\x90a\x19\x95V[`@Q\x80\x91\x03\x90\xA2PPV[`\0[`\x03T\x81\x10\x15a\x0E\xEAW\x82`\x03\x82\x81T\x81\x10a\r\x92Wa\r\x92a\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`\0\x01T\x14\x80\x15a\r\xEFWP\x81\x80Q\x90` \x01 `\x03\x82\x81T\x81\x10a\r\xC7Wa\r\xC7a\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`\x01\x01`@Qa\r\xE5\x91\x90a\x18\x11V[`@Q\x80\x91\x03\x90 \x14[\x15a\x0E\xD8W`\x03\x80Ta\x0E\x04\x90`\x01\x90a\x19\xA8V[\x81T\x81\x10a\x0E\x14Wa\x0E\x14a\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`\x03\x82\x81T\x81\x10a\x0E5Wa\x0E5a\x16\xF7V[`\0\x91\x82R` \x90\x91 \x82T`\x02\x90\x92\x02\x01\x90\x81U`\x01\x80\x82\x01\x90a\x0E\\\x90\x84\x01\x82a\x19\xBBV[P\x90PP`\x03\x80T\x80a\x0EqWa\x0Eqa\x1A\x8EV[`\0\x82\x81R` \x81 `\x02`\0\x19\x90\x93\x01\x92\x83\x02\x01\x81\x81U\x90a\x0E\x97`\x01\x83\x01\x82a\x13bV[PP\x90U\x82\x7F\xB12>B\xD9{+=E\xF9\xD4d\x1B\xF4\xB6\xB3\xF9\xD0\xD0\x1E\x90\x83*\xE7\xB7A1\t\xB7\xA5\xD3G\x83`@Qa\x0E\xCB\x91\x90a\x19\x95V[`@Q\x80\x91\x03\x90\xA2PPPV[\x80a\x0E\xE2\x81a\x17jV[\x91PPa\rtV[PPPV[`\0[`\x05T\x81\x10\x15a\x0F\xE5W\x83`\x05\x82\x81T\x81\x10a\x0F\x10Wa\x0F\x10a\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`\0\x01T\x14\x80\x15a\x0FmWP\x82\x80Q\x90` \x01 `\x05\x82\x81T\x81\x10a\x0FEWa\x0FEa\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`\x01\x01`@Qa\x0Fc\x91\x90a\x18\x11V[`@Q\x80\x91\x03\x90 \x14[\x15a\x0F\xD3W\x81`\x04\x82\x81T\x81\x10a\x0F\x86Wa\x0F\x86a\x16\xF7V[\x90`\0R` `\0 \x01\x81\x90UP\x81\x84\x7F\xE4;\xF5\xF5\xF8\xA1!\x190\xE5rk\xA0\xAB\xCE\xAC\xB1t\x8F\x97\xB2\x96m\xB3\n\x81\x8B\xA1\ta\xCB\xCC\x85`@Qa\x0F\xC5\x91\x90a\x19\x95V[`@Q\x80\x91\x03\x90\xA3PPPPV[\x80a\x0F\xDD\x81a\x17jV[\x91PPa\x0E\xF2V[`@\x80Q\x80\x82\x01\x90\x91R\x84\x81R` \x81\x01\x84\x81R`\x05\x80T`\x01\x81\x01\x82U`\0\x91\x90\x91R\x82Q`\x02\x90\x91\x02\x7F\x03kc\x84\xB5\xEC\xA7\x91\xC6'a\x15-\x0Cy\xBB\x06\x04\xC1\x04\xA5\xFBoN\xB0p?1T\xBB=\xB0\x81\x01\x91\x82U\x91Q\x90\x91\x7F\x03kc\x84\xB5\xEC\xA7\x91\xC6'a\x15-\x0Cy\xBB\x06\x04\xC1\x04\xA5\xFBoN\xB0p?1T\xBB=\xB1\x01\x90a\x10g\x90\x82a\x18\xD5V[PP`\x04\x80T`\x01\x81\x01\x82U`\0\x91\x90\x91R\x7F\x8A5\xAC\xFB\xC1_\xF8\x1A9\xAE}4O\xD7\t\xF2\x8E\x86\0\xB4\xAA\x8Ce\xC6\xB6K\xFE\x7F\xE3k\xD1\x9B\x01\x83\x90UP`@Q\x82\x90\x85\x90\x7F\xE4;\xF5\xF5\xF8\xA1!\x190\xE5rk\xA0\xAB\xCE\xAC\xB1t\x8F\x97\xB2\x96m\xB3\n\x81\x8B\xA1\ta\xCB\xCC\x90a\x0F\xC5\x90\x87\x90a\x19\x95V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\x01`\x01`\xA0\x1B\x03\x19\x83\x16\x81\x17\x84U`@Q\x91\x90\x92\x16\x92\x83\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PPV[`\x01\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x90\x91U`@Q\x7FW;\xBF\xA6y\xAFo\xDC\xDB\xD9\xCF\x19\x1C^\xF3\xE5&Y\x9A\xC2\xBFu\xE9\x17}G\xAD\xB8S\x0B\x9Ci\x90`\0\x90\xA2PV[`\0[`\x05T\x81\x10\x15a\x0E\xEAW\x82`\x05\x82\x81T\x81\x10a\x11\x8EWa\x11\x8Ea\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`\0\x01T\x14\x80\x15a\x11\xEBWP\x81\x80Q\x90` \x01 `\x05\x82\x81T\x81\x10a\x11\xC3Wa\x11\xC3a\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`\x01\x01`@Qa\x11\xE1\x91\x90a\x18\x11V[`@Q\x80\x91\x03\x90 \x14[\x15a\x138W`\x05\x80Ta\x12\0\x90`\x01\x90a\x19\xA8V[\x81T\x81\x10a\x12\x10Wa\x12\x10a\x16\xF7V[\x90`\0R` `\0 \x90`\x02\x02\x01`\x05\x82\x81T\x81\x10a\x121Wa\x121a\x16\xF7V[`\0\x91\x82R` \x90\x91 \x82T`\x02\x90\x92\x02\x01\x90\x81U`\x01\x80\x82\x01\x90a\x12X\x90\x84\x01\x82a\x19\xBBV[P\x90PP`\x05\x80T\x80a\x12mWa\x12ma\x1A\x8EV[`\0\x82\x81R` \x81 `\x02`\0\x19\x90\x93\x01\x92\x83\x02\x01\x81\x81U\x90a\x12\x93`\x01\x83\x01\x82a\x13bV[PP\x90U`\x04\x80Ta\x12\xA7\x90`\x01\x90a\x19\xA8V[\x81T\x81\x10a\x12\xB7Wa\x12\xB7a\x16\xF7V[\x90`\0R` `\0 \x01T`\x04\x82\x81T\x81\x10a\x12\xD5Wa\x12\xD5a\x16\xF7V[`\0\x91\x82R` \x90\x91 \x01U`\x04\x80T\x80a\x12\xF2Wa\x12\xF2a\x1A\x8EV[`\x01\x90\x03\x81\x81\x90`\0R` `\0 \x01`\0\x90U\x90U\x82\x7F\xDBu\x19\x91\x03PK\xD1\xD3e=\xE7X\xD4)[\xF0\rE\x87\xE1\xD5=\xFC\x11Dd\xCCG\xED\x97\xB7\x83`@Qa\x0E\xCB\x91\x90a\x19\x95V[\x80a\x13B\x81a\x17jV[\x91PPa\x11pV[`\0\x81\x83\x11a\x13YW\x81a\x13[V[\x82[\x93\x92PPPV[P\x80Ta\x13n\x90a\x16\xBDV[`\0\x82U\x80`\x1F\x10a\x13~WPPV[`\x1F\x01` \x90\x04\x90`\0R` `\0 \x90\x81\x01\x90a\x05a\x91\x90[\x80\x82\x11\x15a\x13\xACW`\0\x81U`\x01\x01a\x13\x98V[P\x90V[`\0` \x82\x84\x03\x12\x15a\x13\xC2W`\0\x80\xFD[P5\x91\x90PV[`\0\x81Q\x80\x84R`\0[\x81\x81\x10\x15a\x13\xEFW` \x81\x85\x01\x81\x01Q\x86\x83\x01\x82\x01R\x01a\x13\xD3V[P`\0` \x82\x86\x01\x01R` `\x1F\x19`\x1F\x83\x01\x16\x85\x01\x01\x91PP\x92\x91PPV[\x82\x81R`@` \x82\x01R`\0a\x14(`@\x83\x01\x84a\x13\xC9V[\x94\x93PPPPV[`\0\x80\x83`\x1F\x84\x01\x12a\x14BW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x14ZW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a\x14uW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\x14\x92W`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x14\xAAW`\0\x80\xFD[a\x14\xB6\x88\x83\x89\x01a\x140V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\x14\xCFW`\0\x80\xFD[Pa\x14\xDC\x87\x82\x88\x01a\x140V[\x95\x98\x94\x97P\x95PPPPV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\0\x80`@\x83\x85\x03\x12\x15a\x15\x11W`\0\x80\xFD[\x825\x91P` \x83\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x150W`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x15DW`\0\x80\xFD[\x815\x81\x81\x11\x15a\x15VWa\x15Va\x14\xE8V[`@Q`\x1F\x82\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x83\x82\x11\x81\x83\x10\x17\x15a\x15~Wa\x15~a\x14\xE8V[\x81`@R\x82\x81R\x88` \x84\x87\x01\x01\x11\x15a\x15\x97W`\0\x80\xFD[\x82` \x86\x01` \x83\x017`\0` \x84\x83\x01\x01R\x80\x95PPPPPP\x92P\x92\x90PV[`\0\x80`\0\x80`\0\x80``\x87\x89\x03\x12\x15a\x15\xD2W`\0\x80\xFD[\x865g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x15\xEAW`\0\x80\xFD[a\x15\xF6\x8A\x83\x8B\x01a\x140V[\x90\x98P\x96P` \x89\x015\x91P\x80\x82\x11\x15a\x16\x0FW`\0\x80\xFD[a\x16\x1B\x8A\x83\x8B\x01a\x140V[\x90\x96P\x94P`@\x89\x015\x91P\x80\x82\x11\x15a\x164W`\0\x80\xFD[Pa\x16A\x89\x82\x8A\x01a\x140V[\x97\x9A\x96\x99P\x94\x97P\x92\x95\x93\x94\x92PPPV[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x16jW`\0\x80\xFD[\x91\x90PV[`\0` \x82\x84\x03\x12\x15a\x16\x81W`\0\x80\xFD[a\x13[\x82a\x16SV[`\0\x80`@\x83\x85\x03\x12\x15a\x16\x9DW`\0\x80\xFD[a\x16\xA6\x83a\x16SV[\x91Pa\x16\xB4` \x84\x01a\x16SV[\x90P\x92P\x92\x90PV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x16\xD1W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x16\xF1WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[cNH{q`\xE0\x1B`\0R`2`\x04R`$`\0\xFD[`\0\x80\x835`\x1E\x19\x846\x03\x01\x81\x12a\x17$W`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x17?W`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a\x14uW`\0\x80\xFD[cNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[`\0`\x01\x82\x01a\x17|Wa\x17|a\x17TV[P`\x01\x01\x90V[\x83\x81R``` \x82\x01R`\0a\x17\x9C``\x83\x01\x85a\x13\xC9V[\x90P`\x01\x80`\xA0\x1B\x03\x83\x16`@\x83\x01R\x94\x93PPPPV[`\0` \x82\x84\x03\x12\x15a\x17\xC6W`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14a\x13[W`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a\x17\xE8W`\0\x80\xFD[PQ\x91\x90PV[`\0\x82a\x18\x0CWcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[`\0\x80\x83Ta\x18\x1F\x81a\x16\xBDV[`\x01\x82\x81\x16\x80\x15a\x187W`\x01\x81\x14a\x18LWa\x18{V[`\xFF\x19\x84\x16\x87R\x82\x15\x15\x83\x02\x87\x01\x94Pa\x18{V[\x87`\0R` \x80`\0 `\0[\x85\x81\x10\x15a\x18rW\x81T\x8A\x82\x01R\x90\x84\x01\x90\x82\x01a\x18YV[PPP\x82\x87\x01\x94P[P\x92\x96\x95PPPPPPV[`\x1F\x82\x11\x15a\x0E\xEAW`\0\x81\x81R` \x81 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15a\x18\xAEWP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15a\x18\xCDW\x82\x81U`\x01\x01a\x18\xBAV[PPPPPPV[\x81Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x18\xEFWa\x18\xEFa\x14\xE8V[a\x19\x03\x81a\x18\xFD\x84Ta\x16\xBDV[\x84a\x18\x87V[` \x80`\x1F\x83\x11`\x01\x81\x14a\x198W`\0\x84\x15a\x19 WP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ua\x18\xCDV[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15a\x19gW\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01a\x19HV[P\x85\x82\x10\x15a\x19\x85W\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[` \x81R`\0a\x13[` \x83\x01\x84a\x13\xC9V[\x81\x81\x03\x81\x81\x11\x15a\n\x0EWa\n\x0Ea\x17TV[\x81\x81\x03a\x19\xC6WPPV[a\x19\xD0\x82Ta\x16\xBDV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x19\xE8Wa\x19\xE8a\x14\xE8V[a\x19\xF6\x81a\x18\xFD\x84Ta\x16\xBDV[`\0`\x1F\x82\x11`\x01\x81\x14a\x1A*W`\0\x83\x15a\x1A\x12WP\x84\x82\x01T[`\0\x19`\x03\x85\x90\x1B\x1C\x19\x16`\x01\x84\x90\x1B\x17\x84Ua\x04\x1CV[`\0\x85\x81R` \x90 `\x1F\x19\x84\x16\x90`\0\x86\x81R` \x90 \x84[\x83\x81\x10\x15a\x1AdW\x82\x86\x01T\x82U`\x01\x95\x86\x01\x95\x90\x91\x01\x90` \x01a\x1ADV[P\x85\x83\x10\x15a\x19\x85W\x93\x01T`\0\x19`\xF8`\x03\x87\x90\x1B\x16\x1C\x19\x16\x90\x92UPP`\x01\x90\x81\x1B\x01\x90UPV[cNH{q`\xE0\x1B`\0R`1`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 +\x84 \xA6\xF9\xB1\xBBWX)\x1CmC\x13\xBE\x19\xA0dV(f{\xF2\xCA0\xDF\x8C$ \xC4F\x07dsolcC\0\x08\x13\x003",
546 );
547 #[derive(serde::Serialize, serde::Deserialize)]
548 #[derive(Default, Debug, PartialEq, Eq, Hash)]
549 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
554 #[derive(Clone)]
555 pub struct MaxRegistrationsMismatch;
556 #[allow(
557 non_camel_case_types,
558 non_snake_case,
559 clippy::pub_underscore_fields,
560 clippy::style
561 )]
562 const _: () = {
563 use alloy::sol_types as alloy_sol_types;
564 #[doc(hidden)]
565 type UnderlyingSolTuple<'a> = ();
566 #[doc(hidden)]
567 type UnderlyingRustTuple<'a> = ();
568 #[cfg(test)]
569 #[allow(dead_code, unreachable_patterns)]
570 fn _type_assertion(
571 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
572 ) {
573 match _t {
574 alloy_sol_types::private::AssertTypeEq::<
575 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
576 >(_) => {}
577 }
578 }
579 #[automatically_derived]
580 #[doc(hidden)]
581 impl ::core::convert::From<MaxRegistrationsMismatch>
582 for UnderlyingRustTuple<'_> {
583 fn from(value: MaxRegistrationsMismatch) -> Self {
584 ()
585 }
586 }
587 #[automatically_derived]
588 #[doc(hidden)]
589 impl ::core::convert::From<UnderlyingRustTuple<'_>>
590 for MaxRegistrationsMismatch {
591 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
592 Self
593 }
594 }
595 #[automatically_derived]
596 impl alloy_sol_types::SolError for MaxRegistrationsMismatch {
597 type Parameters<'a> = UnderlyingSolTuple<'a>;
598 type Token<'a> = <Self::Parameters<
599 'a,
600 > as alloy_sol_types::SolType>::Token<'a>;
601 const SIGNATURE: &'static str = "MaxRegistrationsMismatch()";
602 const SELECTOR: [u8; 4] = [25u8, 121u8, 16u8, 233u8];
603 #[inline]
604 fn new<'a>(
605 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
606 ) -> Self {
607 tuple.into()
608 }
609 #[inline]
610 fn tokenize(&self) -> Self::Token<'_> {
611 ()
612 }
613 #[inline]
614 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
615 <Self::Parameters<
616 '_,
617 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
618 .map(Self::new)
619 }
620 }
621 };
622 #[derive(serde::Serialize, serde::Deserialize)]
623 #[derive(Default, Debug, PartialEq, Eq, Hash)]
624 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
629 #[derive(Clone)]
630 pub struct NftRanksMismatch;
631 #[allow(
632 non_camel_case_types,
633 non_snake_case,
634 clippy::pub_underscore_fields,
635 clippy::style
636 )]
637 const _: () = {
638 use alloy::sol_types as alloy_sol_types;
639 #[doc(hidden)]
640 type UnderlyingSolTuple<'a> = ();
641 #[doc(hidden)]
642 type UnderlyingRustTuple<'a> = ();
643 #[cfg(test)]
644 #[allow(dead_code, unreachable_patterns)]
645 fn _type_assertion(
646 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
647 ) {
648 match _t {
649 alloy_sol_types::private::AssertTypeEq::<
650 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
651 >(_) => {}
652 }
653 }
654 #[automatically_derived]
655 #[doc(hidden)]
656 impl ::core::convert::From<NftRanksMismatch> for UnderlyingRustTuple<'_> {
657 fn from(value: NftRanksMismatch) -> Self {
658 ()
659 }
660 }
661 #[automatically_derived]
662 #[doc(hidden)]
663 impl ::core::convert::From<UnderlyingRustTuple<'_>> for NftRanksMismatch {
664 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
665 Self
666 }
667 }
668 #[automatically_derived]
669 impl alloy_sol_types::SolError for NftRanksMismatch {
670 type Parameters<'a> = UnderlyingSolTuple<'a>;
671 type Token<'a> = <Self::Parameters<
672 'a,
673 > as alloy_sol_types::SolType>::Token<'a>;
674 const SIGNATURE: &'static str = "NftRanksMismatch()";
675 const SELECTOR: [u8; 4] = [72u8, 133u8, 245u8, 155u8];
676 #[inline]
677 fn new<'a>(
678 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
679 ) -> Self {
680 tuple.into()
681 }
682 #[inline]
683 fn tokenize(&self) -> Self::Token<'_> {
684 ()
685 }
686 #[inline]
687 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
688 <Self::Parameters<
689 '_,
690 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
691 .map(Self::new)
692 }
693 }
694 };
695 #[derive(serde::Serialize, serde::Deserialize)]
696 #[derive(Default, Debug, PartialEq, Eq, Hash)]
697 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
702 #[derive(Clone)]
703 pub struct SameStakingThreshold;
704 #[allow(
705 non_camel_case_types,
706 non_snake_case,
707 clippy::pub_underscore_fields,
708 clippy::style
709 )]
710 const _: () = {
711 use alloy::sol_types as alloy_sol_types;
712 #[doc(hidden)]
713 type UnderlyingSolTuple<'a> = ();
714 #[doc(hidden)]
715 type UnderlyingRustTuple<'a> = ();
716 #[cfg(test)]
717 #[allow(dead_code, unreachable_patterns)]
718 fn _type_assertion(
719 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
720 ) {
721 match _t {
722 alloy_sol_types::private::AssertTypeEq::<
723 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
724 >(_) => {}
725 }
726 }
727 #[automatically_derived]
728 #[doc(hidden)]
729 impl ::core::convert::From<SameStakingThreshold> for UnderlyingRustTuple<'_> {
730 fn from(value: SameStakingThreshold) -> Self {
731 ()
732 }
733 }
734 #[automatically_derived]
735 #[doc(hidden)]
736 impl ::core::convert::From<UnderlyingRustTuple<'_>> for SameStakingThreshold {
737 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
738 Self
739 }
740 }
741 #[automatically_derived]
742 impl alloy_sol_types::SolError for SameStakingThreshold {
743 type Parameters<'a> = UnderlyingSolTuple<'a>;
744 type Token<'a> = <Self::Parameters<
745 'a,
746 > as alloy_sol_types::SolType>::Token<'a>;
747 const SIGNATURE: &'static str = "SameStakingThreshold()";
748 const SELECTOR: [u8; 4] = [32u8, 228u8, 123u8, 19u8];
749 #[inline]
750 fn new<'a>(
751 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
752 ) -> Self {
753 tuple.into()
754 }
755 #[inline]
756 fn tokenize(&self) -> Self::Token<'_> {
757 ()
758 }
759 #[inline]
760 fn abi_decode_raw_validate(data: &[u8]) -> alloy_sol_types::Result<Self> {
761 <Self::Parameters<
762 '_,
763 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
764 .map(Self::new)
765 }
766 }
767 };
768 #[derive(serde::Serialize, serde::Deserialize)]
769 #[derive(Default, Debug, PartialEq, Eq, Hash)]
770 #[allow(
775 non_camel_case_types,
776 non_snake_case,
777 clippy::pub_underscore_fields,
778 clippy::style
779 )]
780 #[derive(Clone)]
781 pub struct NftTypeAndRankAdded {
782 #[allow(missing_docs)]
783 pub nftType: alloy::sol_types::private::primitives::aliases::U256,
784 #[allow(missing_docs)]
785 pub nftRank: alloy::sol_types::private::String,
786 }
787 #[allow(
788 non_camel_case_types,
789 non_snake_case,
790 clippy::pub_underscore_fields,
791 clippy::style
792 )]
793 const _: () = {
794 use alloy::sol_types as alloy_sol_types;
795 #[automatically_derived]
796 impl alloy_sol_types::SolEvent for NftTypeAndRankAdded {
797 type DataTuple<'a> = (alloy::sol_types::sol_data::String,);
798 type DataToken<'a> = <Self::DataTuple<
799 'a,
800 > as alloy_sol_types::SolType>::Token<'a>;
801 type TopicList = (
802 alloy_sol_types::sol_data::FixedBytes<32>,
803 alloy::sol_types::sol_data::Uint<256>,
804 );
805 const SIGNATURE: &'static str = "NftTypeAndRankAdded(uint256,string)";
806 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
807 35u8, 96u8, 238u8, 62u8, 119u8, 72u8, 84u8, 65u8, 207u8, 160u8, 126u8,
808 48u8, 232u8, 220u8, 91u8, 3u8, 31u8, 172u8, 56u8, 69u8, 86u8, 71u8,
809 200u8, 154u8, 118u8, 52u8, 52u8, 245u8, 135u8, 51u8, 252u8, 193u8,
810 ]);
811 const ANONYMOUS: bool = false;
812 #[allow(unused_variables)]
813 #[inline]
814 fn new(
815 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
816 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
817 ) -> Self {
818 Self {
819 nftType: topics.1,
820 nftRank: data.0,
821 }
822 }
823 #[inline]
824 fn check_signature(
825 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
826 ) -> alloy_sol_types::Result<()> {
827 if topics.0 != Self::SIGNATURE_HASH {
828 return Err(
829 alloy_sol_types::Error::invalid_event_signature_hash(
830 Self::SIGNATURE,
831 topics.0,
832 Self::SIGNATURE_HASH,
833 ),
834 );
835 }
836 Ok(())
837 }
838 #[inline]
839 fn tokenize_body(&self) -> Self::DataToken<'_> {
840 (
841 <alloy::sol_types::sol_data::String as alloy_sol_types::SolType>::tokenize(
842 &self.nftRank,
843 ),
844 )
845 }
846 #[inline]
847 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
848 (Self::SIGNATURE_HASH.into(), self.nftType.clone())
849 }
850 #[inline]
851 fn encode_topics_raw(
852 &self,
853 out: &mut [alloy_sol_types::abi::token::WordToken],
854 ) -> alloy_sol_types::Result<()> {
855 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
856 return Err(alloy_sol_types::Error::Overrun);
857 }
858 out[0usize] = alloy_sol_types::abi::token::WordToken(
859 Self::SIGNATURE_HASH,
860 );
861 out[1usize] = <alloy::sol_types::sol_data::Uint<
862 256,
863 > as alloy_sol_types::EventTopic>::encode_topic(&self.nftType);
864 Ok(())
865 }
866 }
867 #[automatically_derived]
868 impl alloy_sol_types::private::IntoLogData for NftTypeAndRankAdded {
869 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
870 From::from(self)
871 }
872 fn into_log_data(self) -> alloy_sol_types::private::LogData {
873 From::from(&self)
874 }
875 }
876 #[automatically_derived]
877 impl From<&NftTypeAndRankAdded> for alloy_sol_types::private::LogData {
878 #[inline]
879 fn from(this: &NftTypeAndRankAdded) -> alloy_sol_types::private::LogData {
880 alloy_sol_types::SolEvent::encode_log_data(this)
881 }
882 }
883 };
884 #[derive(serde::Serialize, serde::Deserialize)]
885 #[derive(Default, Debug, PartialEq, Eq, Hash)]
886 #[allow(
891 non_camel_case_types,
892 non_snake_case,
893 clippy::pub_underscore_fields,
894 clippy::style
895 )]
896 #[derive(Clone)]
897 pub struct NftTypeAndRankRemoved {
898 #[allow(missing_docs)]
899 pub nftType: alloy::sol_types::private::primitives::aliases::U256,
900 #[allow(missing_docs)]
901 pub nftRank: alloy::sol_types::private::String,
902 }
903 #[allow(
904 non_camel_case_types,
905 non_snake_case,
906 clippy::pub_underscore_fields,
907 clippy::style
908 )]
909 const _: () = {
910 use alloy::sol_types as alloy_sol_types;
911 #[automatically_derived]
912 impl alloy_sol_types::SolEvent for NftTypeAndRankRemoved {
913 type DataTuple<'a> = (alloy::sol_types::sol_data::String,);
914 type DataToken<'a> = <Self::DataTuple<
915 'a,
916 > as alloy_sol_types::SolType>::Token<'a>;
917 type TopicList = (
918 alloy_sol_types::sol_data::FixedBytes<32>,
919 alloy::sol_types::sol_data::Uint<256>,
920 );
921 const SIGNATURE: &'static str = "NftTypeAndRankRemoved(uint256,string)";
922 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
923 177u8, 50u8, 62u8, 66u8, 217u8, 123u8, 43u8, 61u8, 69u8, 249u8, 212u8,
924 100u8, 27u8, 244u8, 182u8, 179u8, 249u8, 208u8, 208u8, 30u8, 144u8,
925 131u8, 42u8, 231u8, 183u8, 65u8, 49u8, 9u8, 183u8, 165u8, 211u8, 71u8,
926 ]);
927 const ANONYMOUS: bool = false;
928 #[allow(unused_variables)]
929 #[inline]
930 fn new(
931 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
932 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
933 ) -> Self {
934 Self {
935 nftType: topics.1,
936 nftRank: data.0,
937 }
938 }
939 #[inline]
940 fn check_signature(
941 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
942 ) -> alloy_sol_types::Result<()> {
943 if topics.0 != Self::SIGNATURE_HASH {
944 return Err(
945 alloy_sol_types::Error::invalid_event_signature_hash(
946 Self::SIGNATURE,
947 topics.0,
948 Self::SIGNATURE_HASH,
949 ),
950 );
951 }
952 Ok(())
953 }
954 #[inline]
955 fn tokenize_body(&self) -> Self::DataToken<'_> {
956 (
957 <alloy::sol_types::sol_data::String as alloy_sol_types::SolType>::tokenize(
958 &self.nftRank,
959 ),
960 )
961 }
962 #[inline]
963 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
964 (Self::SIGNATURE_HASH.into(), self.nftType.clone())
965 }
966 #[inline]
967 fn encode_topics_raw(
968 &self,
969 out: &mut [alloy_sol_types::abi::token::WordToken],
970 ) -> alloy_sol_types::Result<()> {
971 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
972 return Err(alloy_sol_types::Error::Overrun);
973 }
974 out[0usize] = alloy_sol_types::abi::token::WordToken(
975 Self::SIGNATURE_HASH,
976 );
977 out[1usize] = <alloy::sol_types::sol_data::Uint<
978 256,
979 > as alloy_sol_types::EventTopic>::encode_topic(&self.nftType);
980 Ok(())
981 }
982 }
983 #[automatically_derived]
984 impl alloy_sol_types::private::IntoLogData for NftTypeAndRankRemoved {
985 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
986 From::from(self)
987 }
988 fn into_log_data(self) -> alloy_sol_types::private::LogData {
989 From::from(&self)
990 }
991 }
992 #[automatically_derived]
993 impl From<&NftTypeAndRankRemoved> for alloy_sol_types::private::LogData {
994 #[inline]
995 fn from(this: &NftTypeAndRankRemoved) -> alloy_sol_types::private::LogData {
996 alloy_sol_types::SolEvent::encode_log_data(this)
997 }
998 }
999 };
1000 #[derive(serde::Serialize, serde::Deserialize)]
1001 #[derive(Default, Debug, PartialEq, Eq, Hash)]
1002 #[allow(
1007 non_camel_case_types,
1008 non_snake_case,
1009 clippy::pub_underscore_fields,
1010 clippy::style
1011 )]
1012 #[derive(Clone)]
1013 pub struct OwnershipTransferred {
1014 #[allow(missing_docs)]
1015 pub previousOwner: alloy::sol_types::private::Address,
1016 #[allow(missing_docs)]
1017 pub newOwner: alloy::sol_types::private::Address,
1018 }
1019 #[allow(
1020 non_camel_case_types,
1021 non_snake_case,
1022 clippy::pub_underscore_fields,
1023 clippy::style
1024 )]
1025 const _: () = {
1026 use alloy::sol_types as alloy_sol_types;
1027 #[automatically_derived]
1028 impl alloy_sol_types::SolEvent for OwnershipTransferred {
1029 type DataTuple<'a> = ();
1030 type DataToken<'a> = <Self::DataTuple<
1031 'a,
1032 > as alloy_sol_types::SolType>::Token<'a>;
1033 type TopicList = (
1034 alloy_sol_types::sol_data::FixedBytes<32>,
1035 alloy::sol_types::sol_data::Address,
1036 alloy::sol_types::sol_data::Address,
1037 );
1038 const SIGNATURE: &'static str = "OwnershipTransferred(address,address)";
1039 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
1040 139u8, 224u8, 7u8, 156u8, 83u8, 22u8, 89u8, 20u8, 19u8, 68u8, 205u8,
1041 31u8, 208u8, 164u8, 242u8, 132u8, 25u8, 73u8, 127u8, 151u8, 34u8, 163u8,
1042 218u8, 175u8, 227u8, 180u8, 24u8, 111u8, 107u8, 100u8, 87u8, 224u8,
1043 ]);
1044 const ANONYMOUS: bool = false;
1045 #[allow(unused_variables)]
1046 #[inline]
1047 fn new(
1048 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
1049 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
1050 ) -> Self {
1051 Self {
1052 previousOwner: topics.1,
1053 newOwner: topics.2,
1054 }
1055 }
1056 #[inline]
1057 fn check_signature(
1058 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
1059 ) -> alloy_sol_types::Result<()> {
1060 if topics.0 != Self::SIGNATURE_HASH {
1061 return Err(
1062 alloy_sol_types::Error::invalid_event_signature_hash(
1063 Self::SIGNATURE,
1064 topics.0,
1065 Self::SIGNATURE_HASH,
1066 ),
1067 );
1068 }
1069 Ok(())
1070 }
1071 #[inline]
1072 fn tokenize_body(&self) -> Self::DataToken<'_> {
1073 ()
1074 }
1075 #[inline]
1076 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
1077 (
1078 Self::SIGNATURE_HASH.into(),
1079 self.previousOwner.clone(),
1080 self.newOwner.clone(),
1081 )
1082 }
1083 #[inline]
1084 fn encode_topics_raw(
1085 &self,
1086 out: &mut [alloy_sol_types::abi::token::WordToken],
1087 ) -> alloy_sol_types::Result<()> {
1088 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
1089 return Err(alloy_sol_types::Error::Overrun);
1090 }
1091 out[0usize] = alloy_sol_types::abi::token::WordToken(
1092 Self::SIGNATURE_HASH,
1093 );
1094 out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
1095 &self.previousOwner,
1096 );
1097 out[2usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
1098 &self.newOwner,
1099 );
1100 Ok(())
1101 }
1102 }
1103 #[automatically_derived]
1104 impl alloy_sol_types::private::IntoLogData for OwnershipTransferred {
1105 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
1106 From::from(self)
1107 }
1108 fn into_log_data(self) -> alloy_sol_types::private::LogData {
1109 From::from(&self)
1110 }
1111 }
1112 #[automatically_derived]
1113 impl From<&OwnershipTransferred> for alloy_sol_types::private::LogData {
1114 #[inline]
1115 fn from(this: &OwnershipTransferred) -> alloy_sol_types::private::LogData {
1116 alloy_sol_types::SolEvent::encode_log_data(this)
1117 }
1118 }
1119 };
1120 #[derive(serde::Serialize, serde::Deserialize)]
1121 #[derive(Default, Debug, PartialEq, Eq, Hash)]
1122 #[allow(
1127 non_camel_case_types,
1128 non_snake_case,
1129 clippy::pub_underscore_fields,
1130 clippy::style
1131 )]
1132 #[derive(Clone)]
1133 pub struct SpecialNftTypeAndRankAdded {
1134 #[allow(missing_docs)]
1135 pub nftType: alloy::sol_types::private::primitives::aliases::U256,
1136 #[allow(missing_docs)]
1137 pub nftRank: alloy::sol_types::private::String,
1138 #[allow(missing_docs)]
1139 pub maxRegistration: alloy::sol_types::private::primitives::aliases::U256,
1140 }
1141 #[allow(
1142 non_camel_case_types,
1143 non_snake_case,
1144 clippy::pub_underscore_fields,
1145 clippy::style
1146 )]
1147 const _: () = {
1148 use alloy::sol_types as alloy_sol_types;
1149 #[automatically_derived]
1150 impl alloy_sol_types::SolEvent for SpecialNftTypeAndRankAdded {
1151 type DataTuple<'a> = (alloy::sol_types::sol_data::String,);
1152 type DataToken<'a> = <Self::DataTuple<
1153 'a,
1154 > as alloy_sol_types::SolType>::Token<'a>;
1155 type TopicList = (
1156 alloy_sol_types::sol_data::FixedBytes<32>,
1157 alloy::sol_types::sol_data::Uint<256>,
1158 alloy::sol_types::sol_data::Uint<256>,
1159 );
1160 const SIGNATURE: &'static str = "SpecialNftTypeAndRankAdded(uint256,string,uint256)";
1161 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
1162 228u8, 59u8, 245u8, 245u8, 248u8, 161u8, 33u8, 25u8, 48u8, 229u8, 114u8,
1163 107u8, 160u8, 171u8, 206u8, 172u8, 177u8, 116u8, 143u8, 151u8, 178u8,
1164 150u8, 109u8, 179u8, 10u8, 129u8, 139u8, 161u8, 9u8, 97u8, 203u8, 204u8,
1165 ]);
1166 const ANONYMOUS: bool = false;
1167 #[allow(unused_variables)]
1168 #[inline]
1169 fn new(
1170 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
1171 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
1172 ) -> Self {
1173 Self {
1174 nftType: topics.1,
1175 nftRank: data.0,
1176 maxRegistration: topics.2,
1177 }
1178 }
1179 #[inline]
1180 fn check_signature(
1181 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
1182 ) -> alloy_sol_types::Result<()> {
1183 if topics.0 != Self::SIGNATURE_HASH {
1184 return Err(
1185 alloy_sol_types::Error::invalid_event_signature_hash(
1186 Self::SIGNATURE,
1187 topics.0,
1188 Self::SIGNATURE_HASH,
1189 ),
1190 );
1191 }
1192 Ok(())
1193 }
1194 #[inline]
1195 fn tokenize_body(&self) -> Self::DataToken<'_> {
1196 (
1197 <alloy::sol_types::sol_data::String as alloy_sol_types::SolType>::tokenize(
1198 &self.nftRank,
1199 ),
1200 )
1201 }
1202 #[inline]
1203 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
1204 (
1205 Self::SIGNATURE_HASH.into(),
1206 self.nftType.clone(),
1207 self.maxRegistration.clone(),
1208 )
1209 }
1210 #[inline]
1211 fn encode_topics_raw(
1212 &self,
1213 out: &mut [alloy_sol_types::abi::token::WordToken],
1214 ) -> alloy_sol_types::Result<()> {
1215 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
1216 return Err(alloy_sol_types::Error::Overrun);
1217 }
1218 out[0usize] = alloy_sol_types::abi::token::WordToken(
1219 Self::SIGNATURE_HASH,
1220 );
1221 out[1usize] = <alloy::sol_types::sol_data::Uint<
1222 256,
1223 > as alloy_sol_types::EventTopic>::encode_topic(&self.nftType);
1224 out[2usize] = <alloy::sol_types::sol_data::Uint<
1225 256,
1226 > as alloy_sol_types::EventTopic>::encode_topic(&self.maxRegistration);
1227 Ok(())
1228 }
1229 }
1230 #[automatically_derived]
1231 impl alloy_sol_types::private::IntoLogData for SpecialNftTypeAndRankAdded {
1232 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
1233 From::from(self)
1234 }
1235 fn into_log_data(self) -> alloy_sol_types::private::LogData {
1236 From::from(&self)
1237 }
1238 }
1239 #[automatically_derived]
1240 impl From<&SpecialNftTypeAndRankAdded> for alloy_sol_types::private::LogData {
1241 #[inline]
1242 fn from(
1243 this: &SpecialNftTypeAndRankAdded,
1244 ) -> alloy_sol_types::private::LogData {
1245 alloy_sol_types::SolEvent::encode_log_data(this)
1246 }
1247 }
1248 };
1249 #[derive(serde::Serialize, serde::Deserialize)]
1250 #[derive(Default, Debug, PartialEq, Eq, Hash)]
1251 #[allow(
1256 non_camel_case_types,
1257 non_snake_case,
1258 clippy::pub_underscore_fields,
1259 clippy::style
1260 )]
1261 #[derive(Clone)]
1262 pub struct SpecialNftTypeAndRankRemoved {
1263 #[allow(missing_docs)]
1264 pub nftType: alloy::sol_types::private::primitives::aliases::U256,
1265 #[allow(missing_docs)]
1266 pub nftRank: alloy::sol_types::private::String,
1267 }
1268 #[allow(
1269 non_camel_case_types,
1270 non_snake_case,
1271 clippy::pub_underscore_fields,
1272 clippy::style
1273 )]
1274 const _: () = {
1275 use alloy::sol_types as alloy_sol_types;
1276 #[automatically_derived]
1277 impl alloy_sol_types::SolEvent for SpecialNftTypeAndRankRemoved {
1278 type DataTuple<'a> = (alloy::sol_types::sol_data::String,);
1279 type DataToken<'a> = <Self::DataTuple<
1280 'a,
1281 > as alloy_sol_types::SolType>::Token<'a>;
1282 type TopicList = (
1283 alloy_sol_types::sol_data::FixedBytes<32>,
1284 alloy::sol_types::sol_data::Uint<256>,
1285 );
1286 const SIGNATURE: &'static str = "SpecialNftTypeAndRankRemoved(uint256,string)";
1287 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
1288 219u8, 117u8, 25u8, 145u8, 3u8, 80u8, 75u8, 209u8, 211u8, 101u8, 61u8,
1289 231u8, 88u8, 212u8, 41u8, 91u8, 240u8, 13u8, 69u8, 135u8, 225u8, 213u8,
1290 61u8, 252u8, 17u8, 68u8, 100u8, 204u8, 71u8, 237u8, 151u8, 183u8,
1291 ]);
1292 const ANONYMOUS: bool = false;
1293 #[allow(unused_variables)]
1294 #[inline]
1295 fn new(
1296 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
1297 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
1298 ) -> Self {
1299 Self {
1300 nftType: topics.1,
1301 nftRank: data.0,
1302 }
1303 }
1304 #[inline]
1305 fn check_signature(
1306 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
1307 ) -> alloy_sol_types::Result<()> {
1308 if topics.0 != Self::SIGNATURE_HASH {
1309 return Err(
1310 alloy_sol_types::Error::invalid_event_signature_hash(
1311 Self::SIGNATURE,
1312 topics.0,
1313 Self::SIGNATURE_HASH,
1314 ),
1315 );
1316 }
1317 Ok(())
1318 }
1319 #[inline]
1320 fn tokenize_body(&self) -> Self::DataToken<'_> {
1321 (
1322 <alloy::sol_types::sol_data::String as alloy_sol_types::SolType>::tokenize(
1323 &self.nftRank,
1324 ),
1325 )
1326 }
1327 #[inline]
1328 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
1329 (Self::SIGNATURE_HASH.into(), self.nftType.clone())
1330 }
1331 #[inline]
1332 fn encode_topics_raw(
1333 &self,
1334 out: &mut [alloy_sol_types::abi::token::WordToken],
1335 ) -> alloy_sol_types::Result<()> {
1336 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
1337 return Err(alloy_sol_types::Error::Overrun);
1338 }
1339 out[0usize] = alloy_sol_types::abi::token::WordToken(
1340 Self::SIGNATURE_HASH,
1341 );
1342 out[1usize] = <alloy::sol_types::sol_data::Uint<
1343 256,
1344 > as alloy_sol_types::EventTopic>::encode_topic(&self.nftType);
1345 Ok(())
1346 }
1347 }
1348 #[automatically_derived]
1349 impl alloy_sol_types::private::IntoLogData for SpecialNftTypeAndRankRemoved {
1350 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
1351 From::from(self)
1352 }
1353 fn into_log_data(self) -> alloy_sol_types::private::LogData {
1354 From::from(&self)
1355 }
1356 }
1357 #[automatically_derived]
1358 impl From<&SpecialNftTypeAndRankRemoved> for alloy_sol_types::private::LogData {
1359 #[inline]
1360 fn from(
1361 this: &SpecialNftTypeAndRankRemoved,
1362 ) -> alloy_sol_types::private::LogData {
1363 alloy_sol_types::SolEvent::encode_log_data(this)
1364 }
1365 }
1366 };
1367 #[derive(serde::Serialize, serde::Deserialize)]
1368 #[derive(Default, Debug, PartialEq, Eq, Hash)]
1369 #[allow(
1374 non_camel_case_types,
1375 non_snake_case,
1376 clippy::pub_underscore_fields,
1377 clippy::style
1378 )]
1379 #[derive(Clone)]
1380 pub struct StakeContractUpdated {
1381 #[allow(missing_docs)]
1382 pub stakeContract: alloy::sol_types::private::Address,
1383 }
1384 #[allow(
1385 non_camel_case_types,
1386 non_snake_case,
1387 clippy::pub_underscore_fields,
1388 clippy::style
1389 )]
1390 const _: () = {
1391 use alloy::sol_types as alloy_sol_types;
1392 #[automatically_derived]
1393 impl alloy_sol_types::SolEvent for StakeContractUpdated {
1394 type DataTuple<'a> = ();
1395 type DataToken<'a> = <Self::DataTuple<
1396 'a,
1397 > as alloy_sol_types::SolType>::Token<'a>;
1398 type TopicList = (
1399 alloy_sol_types::sol_data::FixedBytes<32>,
1400 alloy::sol_types::sol_data::Address,
1401 );
1402 const SIGNATURE: &'static str = "StakeContractUpdated(address)";
1403 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
1404 87u8, 59u8, 191u8, 166u8, 121u8, 175u8, 111u8, 220u8, 219u8, 217u8,
1405 207u8, 25u8, 28u8, 94u8, 243u8, 229u8, 38u8, 89u8, 154u8, 194u8, 191u8,
1406 117u8, 233u8, 23u8, 125u8, 71u8, 173u8, 184u8, 83u8, 11u8, 156u8, 105u8,
1407 ]);
1408 const ANONYMOUS: bool = false;
1409 #[allow(unused_variables)]
1410 #[inline]
1411 fn new(
1412 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
1413 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
1414 ) -> Self {
1415 Self { stakeContract: topics.1 }
1416 }
1417 #[inline]
1418 fn check_signature(
1419 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
1420 ) -> alloy_sol_types::Result<()> {
1421 if topics.0 != Self::SIGNATURE_HASH {
1422 return Err(
1423 alloy_sol_types::Error::invalid_event_signature_hash(
1424 Self::SIGNATURE,
1425 topics.0,
1426 Self::SIGNATURE_HASH,
1427 ),
1428 );
1429 }
1430 Ok(())
1431 }
1432 #[inline]
1433 fn tokenize_body(&self) -> Self::DataToken<'_> {
1434 ()
1435 }
1436 #[inline]
1437 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
1438 (Self::SIGNATURE_HASH.into(), self.stakeContract.clone())
1439 }
1440 #[inline]
1441 fn encode_topics_raw(
1442 &self,
1443 out: &mut [alloy_sol_types::abi::token::WordToken],
1444 ) -> alloy_sol_types::Result<()> {
1445 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
1446 return Err(alloy_sol_types::Error::Overrun);
1447 }
1448 out[0usize] = alloy_sol_types::abi::token::WordToken(
1449 Self::SIGNATURE_HASH,
1450 );
1451 out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
1452 &self.stakeContract,
1453 );
1454 Ok(())
1455 }
1456 }
1457 #[automatically_derived]
1458 impl alloy_sol_types::private::IntoLogData for StakeContractUpdated {
1459 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
1460 From::from(self)
1461 }
1462 fn into_log_data(self) -> alloy_sol_types::private::LogData {
1463 From::from(&self)
1464 }
1465 }
1466 #[automatically_derived]
1467 impl From<&StakeContractUpdated> for alloy_sol_types::private::LogData {
1468 #[inline]
1469 fn from(this: &StakeContractUpdated) -> alloy_sol_types::private::LogData {
1470 alloy_sol_types::SolEvent::encode_log_data(this)
1471 }
1472 }
1473 };
1474 #[derive(serde::Serialize, serde::Deserialize)]
1475 #[derive(Default, Debug, PartialEq, Eq, Hash)]
1476 #[allow(
1481 non_camel_case_types,
1482 non_snake_case,
1483 clippy::pub_underscore_fields,
1484 clippy::style
1485 )]
1486 #[derive(Clone)]
1487 pub struct ThresholdUpdated {
1488 #[allow(missing_docs)]
1489 pub threshold: alloy::sol_types::private::primitives::aliases::U256,
1490 }
1491 #[allow(
1492 non_camel_case_types,
1493 non_snake_case,
1494 clippy::pub_underscore_fields,
1495 clippy::style
1496 )]
1497 const _: () = {
1498 use alloy::sol_types as alloy_sol_types;
1499 #[automatically_derived]
1500 impl alloy_sol_types::SolEvent for ThresholdUpdated {
1501 type DataTuple<'a> = ();
1502 type DataToken<'a> = <Self::DataTuple<
1503 'a,
1504 > as alloy_sol_types::SolType>::Token<'a>;
1505 type TopicList = (
1506 alloy_sol_types::sol_data::FixedBytes<32>,
1507 alloy::sol_types::sol_data::Uint<256>,
1508 );
1509 const SIGNATURE: &'static str = "ThresholdUpdated(uint256)";
1510 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
1511 173u8, 250u8, 142u8, 203u8, 33u8, 182u8, 150u8, 46u8, 188u8, 208u8,
1512 173u8, 189u8, 154u8, 185u8, 133u8, 183u8, 180u8, 197u8, 181u8, 235u8,
1513 59u8, 13u8, 234u8, 214u8, 131u8, 23u8, 21u8, 101u8, 199u8, 191u8, 225u8,
1514 113u8,
1515 ]);
1516 const ANONYMOUS: bool = false;
1517 #[allow(unused_variables)]
1518 #[inline]
1519 fn new(
1520 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
1521 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
1522 ) -> Self {
1523 Self { threshold: topics.1 }
1524 }
1525 #[inline]
1526 fn check_signature(
1527 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
1528 ) -> alloy_sol_types::Result<()> {
1529 if topics.0 != Self::SIGNATURE_HASH {
1530 return Err(
1531 alloy_sol_types::Error::invalid_event_signature_hash(
1532 Self::SIGNATURE,
1533 topics.0,
1534 Self::SIGNATURE_HASH,
1535 ),
1536 );
1537 }
1538 Ok(())
1539 }
1540 #[inline]
1541 fn tokenize_body(&self) -> Self::DataToken<'_> {
1542 ()
1543 }
1544 #[inline]
1545 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
1546 (Self::SIGNATURE_HASH.into(), self.threshold.clone())
1547 }
1548 #[inline]
1549 fn encode_topics_raw(
1550 &self,
1551 out: &mut [alloy_sol_types::abi::token::WordToken],
1552 ) -> alloy_sol_types::Result<()> {
1553 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
1554 return Err(alloy_sol_types::Error::Overrun);
1555 }
1556 out[0usize] = alloy_sol_types::abi::token::WordToken(
1557 Self::SIGNATURE_HASH,
1558 );
1559 out[1usize] = <alloy::sol_types::sol_data::Uint<
1560 256,
1561 > as alloy_sol_types::EventTopic>::encode_topic(&self.threshold);
1562 Ok(())
1563 }
1564 }
1565 #[automatically_derived]
1566 impl alloy_sol_types::private::IntoLogData for ThresholdUpdated {
1567 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
1568 From::from(self)
1569 }
1570 fn into_log_data(self) -> alloy_sol_types::private::LogData {
1571 From::from(&self)
1572 }
1573 }
1574 #[automatically_derived]
1575 impl From<&ThresholdUpdated> for alloy_sol_types::private::LogData {
1576 #[inline]
1577 fn from(this: &ThresholdUpdated) -> alloy_sol_types::private::LogData {
1578 alloy_sol_types::SolEvent::encode_log_data(this)
1579 }
1580 }
1581 };
1582 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
1587 #[derive(Clone)]
1588 pub struct constructorCall {
1589 #[allow(missing_docs)]
1590 pub _stakeContract: alloy::sol_types::private::Address,
1591 #[allow(missing_docs)]
1592 pub _newOwner: alloy::sol_types::private::Address,
1593 #[allow(missing_docs)]
1594 pub _minStake: alloy::sol_types::private::primitives::aliases::U256,
1595 }
1596 const _: () = {
1597 use alloy::sol_types as alloy_sol_types;
1598 {
1599 #[doc(hidden)]
1600 type UnderlyingSolTuple<'a> = (
1601 alloy::sol_types::sol_data::Address,
1602 alloy::sol_types::sol_data::Address,
1603 alloy::sol_types::sol_data::Uint<256>,
1604 );
1605 #[doc(hidden)]
1606 type UnderlyingRustTuple<'a> = (
1607 alloy::sol_types::private::Address,
1608 alloy::sol_types::private::Address,
1609 alloy::sol_types::private::primitives::aliases::U256,
1610 );
1611 #[cfg(test)]
1612 #[allow(dead_code, unreachable_patterns)]
1613 fn _type_assertion(
1614 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
1615 ) {
1616 match _t {
1617 alloy_sol_types::private::AssertTypeEq::<
1618 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
1619 >(_) => {}
1620 }
1621 }
1622 #[automatically_derived]
1623 #[doc(hidden)]
1624 impl ::core::convert::From<constructorCall> for UnderlyingRustTuple<'_> {
1625 fn from(value: constructorCall) -> Self {
1626 (value._stakeContract, value._newOwner, value._minStake)
1627 }
1628 }
1629 #[automatically_derived]
1630 #[doc(hidden)]
1631 impl ::core::convert::From<UnderlyingRustTuple<'_>> for constructorCall {
1632 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
1633 Self {
1634 _stakeContract: tuple.0,
1635 _newOwner: tuple.1,
1636 _minStake: tuple.2,
1637 }
1638 }
1639 }
1640 }
1641 #[automatically_derived]
1642 impl alloy_sol_types::SolConstructor for constructorCall {
1643 type Parameters<'a> = (
1644 alloy::sol_types::sol_data::Address,
1645 alloy::sol_types::sol_data::Address,
1646 alloy::sol_types::sol_data::Uint<256>,
1647 );
1648 type Token<'a> = <Self::Parameters<
1649 'a,
1650 > as alloy_sol_types::SolType>::Token<'a>;
1651 #[inline]
1652 fn new<'a>(
1653 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
1654 ) -> Self {
1655 tuple.into()
1656 }
1657 #[inline]
1658 fn tokenize(&self) -> Self::Token<'_> {
1659 (
1660 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
1661 &self._stakeContract,
1662 ),
1663 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
1664 &self._newOwner,
1665 ),
1666 <alloy::sol_types::sol_data::Uint<
1667 256,
1668 > as alloy_sol_types::SolType>::tokenize(&self._minStake),
1669 )
1670 }
1671 }
1672 };
1673 #[derive(serde::Serialize, serde::Deserialize)]
1674 #[derive(Default, Debug, PartialEq, Eq, Hash)]
1675 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
1680 #[derive(Clone)]
1681 pub struct canOperateForCall {
1682 #[allow(missing_docs)]
1683 pub _0: alloy::sol_types::private::Address,
1684 #[allow(missing_docs)]
1685 pub _1: alloy::sol_types::private::Address,
1686 }
1687 #[derive(serde::Serialize, serde::Deserialize)]
1688 #[derive(Default, Debug, PartialEq, Eq, Hash)]
1689 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
1691 #[derive(Clone)]
1692 pub struct canOperateForReturn {
1693 #[allow(missing_docs)]
1694 pub eligiblity: bool,
1695 }
1696 #[allow(
1697 non_camel_case_types,
1698 non_snake_case,
1699 clippy::pub_underscore_fields,
1700 clippy::style
1701 )]
1702 const _: () = {
1703 use alloy::sol_types as alloy_sol_types;
1704 {
1705 #[doc(hidden)]
1706 type UnderlyingSolTuple<'a> = (
1707 alloy::sol_types::sol_data::Address,
1708 alloy::sol_types::sol_data::Address,
1709 );
1710 #[doc(hidden)]
1711 type UnderlyingRustTuple<'a> = (
1712 alloy::sol_types::private::Address,
1713 alloy::sol_types::private::Address,
1714 );
1715 #[cfg(test)]
1716 #[allow(dead_code, unreachable_patterns)]
1717 fn _type_assertion(
1718 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
1719 ) {
1720 match _t {
1721 alloy_sol_types::private::AssertTypeEq::<
1722 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
1723 >(_) => {}
1724 }
1725 }
1726 #[automatically_derived]
1727 #[doc(hidden)]
1728 impl ::core::convert::From<canOperateForCall> for UnderlyingRustTuple<'_> {
1729 fn from(value: canOperateForCall) -> Self {
1730 (value._0, value._1)
1731 }
1732 }
1733 #[automatically_derived]
1734 #[doc(hidden)]
1735 impl ::core::convert::From<UnderlyingRustTuple<'_>> for canOperateForCall {
1736 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
1737 Self { _0: tuple.0, _1: tuple.1 }
1738 }
1739 }
1740 }
1741 {
1742 #[doc(hidden)]
1743 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Bool,);
1744 #[doc(hidden)]
1745 type UnderlyingRustTuple<'a> = (bool,);
1746 #[cfg(test)]
1747 #[allow(dead_code, unreachable_patterns)]
1748 fn _type_assertion(
1749 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
1750 ) {
1751 match _t {
1752 alloy_sol_types::private::AssertTypeEq::<
1753 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
1754 >(_) => {}
1755 }
1756 }
1757 #[automatically_derived]
1758 #[doc(hidden)]
1759 impl ::core::convert::From<canOperateForReturn> for UnderlyingRustTuple<'_> {
1760 fn from(value: canOperateForReturn) -> Self {
1761 (value.eligiblity,)
1762 }
1763 }
1764 #[automatically_derived]
1765 #[doc(hidden)]
1766 impl ::core::convert::From<UnderlyingRustTuple<'_>> for canOperateForReturn {
1767 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
1768 Self { eligiblity: tuple.0 }
1769 }
1770 }
1771 }
1772 #[automatically_derived]
1773 impl alloy_sol_types::SolCall for canOperateForCall {
1774 type Parameters<'a> = (
1775 alloy::sol_types::sol_data::Address,
1776 alloy::sol_types::sol_data::Address,
1777 );
1778 type Token<'a> = <Self::Parameters<
1779 'a,
1780 > as alloy_sol_types::SolType>::Token<'a>;
1781 type Return = bool;
1782 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Bool,);
1783 type ReturnToken<'a> = <Self::ReturnTuple<
1784 'a,
1785 > as alloy_sol_types::SolType>::Token<'a>;
1786 const SIGNATURE: &'static str = "canOperateFor(address,address)";
1787 const SELECTOR: [u8; 4] = [216u8, 90u8, 208u8, 68u8];
1788 #[inline]
1789 fn new<'a>(
1790 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
1791 ) -> Self {
1792 tuple.into()
1793 }
1794 #[inline]
1795 fn tokenize(&self) -> Self::Token<'_> {
1796 (
1797 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
1798 &self._0,
1799 ),
1800 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
1801 &self._1,
1802 ),
1803 )
1804 }
1805 #[inline]
1806 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
1807 (
1808 <alloy::sol_types::sol_data::Bool as alloy_sol_types::SolType>::tokenize(
1809 ret,
1810 ),
1811 )
1812 }
1813 #[inline]
1814 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
1815 <Self::ReturnTuple<
1816 '_,
1817 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
1818 .map(|r| {
1819 let r: canOperateForReturn = r.into();
1820 r.eligiblity
1821 })
1822 }
1823 #[inline]
1824 fn abi_decode_returns_validate(
1825 data: &[u8],
1826 ) -> alloy_sol_types::Result<Self::Return> {
1827 <Self::ReturnTuple<
1828 '_,
1829 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
1830 .map(|r| {
1831 let r: canOperateForReturn = r.into();
1832 r.eligiblity
1833 })
1834 }
1835 }
1836 };
1837 #[derive(serde::Serialize, serde::Deserialize)]
1838 #[derive(Default, Debug, PartialEq, Eq, Hash)]
1839 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
1844 #[derive(Clone)]
1845 pub struct eligibleNftTypeAndRankCall(
1846 pub alloy::sol_types::private::primitives::aliases::U256,
1847 );
1848 #[derive(serde::Serialize, serde::Deserialize)]
1849 #[derive(Default, Debug, PartialEq, Eq, Hash)]
1850 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
1852 #[derive(Clone)]
1853 pub struct eligibleNftTypeAndRankReturn {
1854 #[allow(missing_docs)]
1855 pub nftType: alloy::sol_types::private::primitives::aliases::U256,
1856 #[allow(missing_docs)]
1857 pub nftRank: alloy::sol_types::private::String,
1858 }
1859 #[allow(
1860 non_camel_case_types,
1861 non_snake_case,
1862 clippy::pub_underscore_fields,
1863 clippy::style
1864 )]
1865 const _: () = {
1866 use alloy::sol_types as alloy_sol_types;
1867 {
1868 #[doc(hidden)]
1869 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
1870 #[doc(hidden)]
1871 type UnderlyingRustTuple<'a> = (
1872 alloy::sol_types::private::primitives::aliases::U256,
1873 );
1874 #[cfg(test)]
1875 #[allow(dead_code, unreachable_patterns)]
1876 fn _type_assertion(
1877 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
1878 ) {
1879 match _t {
1880 alloy_sol_types::private::AssertTypeEq::<
1881 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
1882 >(_) => {}
1883 }
1884 }
1885 #[automatically_derived]
1886 #[doc(hidden)]
1887 impl ::core::convert::From<eligibleNftTypeAndRankCall>
1888 for UnderlyingRustTuple<'_> {
1889 fn from(value: eligibleNftTypeAndRankCall) -> Self {
1890 (value.0,)
1891 }
1892 }
1893 #[automatically_derived]
1894 #[doc(hidden)]
1895 impl ::core::convert::From<UnderlyingRustTuple<'_>>
1896 for eligibleNftTypeAndRankCall {
1897 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
1898 Self(tuple.0)
1899 }
1900 }
1901 }
1902 {
1903 #[doc(hidden)]
1904 type UnderlyingSolTuple<'a> = (
1905 alloy::sol_types::sol_data::Uint<256>,
1906 alloy::sol_types::sol_data::String,
1907 );
1908 #[doc(hidden)]
1909 type UnderlyingRustTuple<'a> = (
1910 alloy::sol_types::private::primitives::aliases::U256,
1911 alloy::sol_types::private::String,
1912 );
1913 #[cfg(test)]
1914 #[allow(dead_code, unreachable_patterns)]
1915 fn _type_assertion(
1916 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
1917 ) {
1918 match _t {
1919 alloy_sol_types::private::AssertTypeEq::<
1920 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
1921 >(_) => {}
1922 }
1923 }
1924 #[automatically_derived]
1925 #[doc(hidden)]
1926 impl ::core::convert::From<eligibleNftTypeAndRankReturn>
1927 for UnderlyingRustTuple<'_> {
1928 fn from(value: eligibleNftTypeAndRankReturn) -> Self {
1929 (value.nftType, value.nftRank)
1930 }
1931 }
1932 #[automatically_derived]
1933 #[doc(hidden)]
1934 impl ::core::convert::From<UnderlyingRustTuple<'_>>
1935 for eligibleNftTypeAndRankReturn {
1936 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
1937 Self {
1938 nftType: tuple.0,
1939 nftRank: tuple.1,
1940 }
1941 }
1942 }
1943 }
1944 impl eligibleNftTypeAndRankReturn {
1945 fn _tokenize(
1946 &self,
1947 ) -> <eligibleNftTypeAndRankCall as alloy_sol_types::SolCall>::ReturnToken<
1948 '_,
1949 > {
1950 (
1951 <alloy::sol_types::sol_data::Uint<
1952 256,
1953 > as alloy_sol_types::SolType>::tokenize(&self.nftType),
1954 <alloy::sol_types::sol_data::String as alloy_sol_types::SolType>::tokenize(
1955 &self.nftRank,
1956 ),
1957 )
1958 }
1959 }
1960 #[automatically_derived]
1961 impl alloy_sol_types::SolCall for eligibleNftTypeAndRankCall {
1962 type Parameters<'a> = (alloy::sol_types::sol_data::Uint<256>,);
1963 type Token<'a> = <Self::Parameters<
1964 'a,
1965 > as alloy_sol_types::SolType>::Token<'a>;
1966 type Return = eligibleNftTypeAndRankReturn;
1967 type ReturnTuple<'a> = (
1968 alloy::sol_types::sol_data::Uint<256>,
1969 alloy::sol_types::sol_data::String,
1970 );
1971 type ReturnToken<'a> = <Self::ReturnTuple<
1972 'a,
1973 > as alloy_sol_types::SolType>::Token<'a>;
1974 const SIGNATURE: &'static str = "eligibleNftTypeAndRank(uint256)";
1975 const SELECTOR: [u8; 4] = [222u8, 98u8, 108u8, 14u8];
1976 #[inline]
1977 fn new<'a>(
1978 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
1979 ) -> Self {
1980 tuple.into()
1981 }
1982 #[inline]
1983 fn tokenize(&self) -> Self::Token<'_> {
1984 (
1985 <alloy::sol_types::sol_data::Uint<
1986 256,
1987 > as alloy_sol_types::SolType>::tokenize(&self.0),
1988 )
1989 }
1990 #[inline]
1991 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
1992 eligibleNftTypeAndRankReturn::_tokenize(ret)
1993 }
1994 #[inline]
1995 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
1996 <Self::ReturnTuple<
1997 '_,
1998 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
1999 .map(Into::into)
2000 }
2001 #[inline]
2002 fn abi_decode_returns_validate(
2003 data: &[u8],
2004 ) -> alloy_sol_types::Result<Self::Return> {
2005 <Self::ReturnTuple<
2006 '_,
2007 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
2008 .map(Into::into)
2009 }
2010 }
2011 };
2012 #[derive(serde::Serialize, serde::Deserialize)]
2013 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2014 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2019 #[derive(Clone)]
2020 pub struct maxAllowedRegistrationsCall {
2021 #[allow(missing_docs)]
2022 pub account: alloy::sol_types::private::Address,
2023 }
2024 #[derive(serde::Serialize, serde::Deserialize)]
2025 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2026 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2028 #[derive(Clone)]
2029 pub struct maxAllowedRegistrationsReturn {
2030 #[allow(missing_docs)]
2031 pub _0: alloy::sol_types::private::primitives::aliases::U256,
2032 }
2033 #[allow(
2034 non_camel_case_types,
2035 non_snake_case,
2036 clippy::pub_underscore_fields,
2037 clippy::style
2038 )]
2039 const _: () = {
2040 use alloy::sol_types as alloy_sol_types;
2041 {
2042 #[doc(hidden)]
2043 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
2044 #[doc(hidden)]
2045 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
2046 #[cfg(test)]
2047 #[allow(dead_code, unreachable_patterns)]
2048 fn _type_assertion(
2049 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2050 ) {
2051 match _t {
2052 alloy_sol_types::private::AssertTypeEq::<
2053 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2054 >(_) => {}
2055 }
2056 }
2057 #[automatically_derived]
2058 #[doc(hidden)]
2059 impl ::core::convert::From<maxAllowedRegistrationsCall>
2060 for UnderlyingRustTuple<'_> {
2061 fn from(value: maxAllowedRegistrationsCall) -> Self {
2062 (value.account,)
2063 }
2064 }
2065 #[automatically_derived]
2066 #[doc(hidden)]
2067 impl ::core::convert::From<UnderlyingRustTuple<'_>>
2068 for maxAllowedRegistrationsCall {
2069 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2070 Self { account: tuple.0 }
2071 }
2072 }
2073 }
2074 {
2075 #[doc(hidden)]
2076 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
2077 #[doc(hidden)]
2078 type UnderlyingRustTuple<'a> = (
2079 alloy::sol_types::private::primitives::aliases::U256,
2080 );
2081 #[cfg(test)]
2082 #[allow(dead_code, unreachable_patterns)]
2083 fn _type_assertion(
2084 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2085 ) {
2086 match _t {
2087 alloy_sol_types::private::AssertTypeEq::<
2088 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2089 >(_) => {}
2090 }
2091 }
2092 #[automatically_derived]
2093 #[doc(hidden)]
2094 impl ::core::convert::From<maxAllowedRegistrationsReturn>
2095 for UnderlyingRustTuple<'_> {
2096 fn from(value: maxAllowedRegistrationsReturn) -> Self {
2097 (value._0,)
2098 }
2099 }
2100 #[automatically_derived]
2101 #[doc(hidden)]
2102 impl ::core::convert::From<UnderlyingRustTuple<'_>>
2103 for maxAllowedRegistrationsReturn {
2104 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2105 Self { _0: tuple.0 }
2106 }
2107 }
2108 }
2109 #[automatically_derived]
2110 impl alloy_sol_types::SolCall for maxAllowedRegistrationsCall {
2111 type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
2112 type Token<'a> = <Self::Parameters<
2113 'a,
2114 > as alloy_sol_types::SolType>::Token<'a>;
2115 type Return = alloy::sol_types::private::primitives::aliases::U256;
2116 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
2117 type ReturnToken<'a> = <Self::ReturnTuple<
2118 'a,
2119 > as alloy_sol_types::SolType>::Token<'a>;
2120 const SIGNATURE: &'static str = "maxAllowedRegistrations(address)";
2121 const SELECTOR: [u8; 4] = [179u8, 84u8, 78u8, 130u8];
2122 #[inline]
2123 fn new<'a>(
2124 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2125 ) -> Self {
2126 tuple.into()
2127 }
2128 #[inline]
2129 fn tokenize(&self) -> Self::Token<'_> {
2130 (
2131 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
2132 &self.account,
2133 ),
2134 )
2135 }
2136 #[inline]
2137 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
2138 (
2139 <alloy::sol_types::sol_data::Uint<
2140 256,
2141 > as alloy_sol_types::SolType>::tokenize(ret),
2142 )
2143 }
2144 #[inline]
2145 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
2146 <Self::ReturnTuple<
2147 '_,
2148 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
2149 .map(|r| {
2150 let r: maxAllowedRegistrationsReturn = r.into();
2151 r._0
2152 })
2153 }
2154 #[inline]
2155 fn abi_decode_returns_validate(
2156 data: &[u8],
2157 ) -> alloy_sol_types::Result<Self::Return> {
2158 <Self::ReturnTuple<
2159 '_,
2160 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
2161 .map(|r| {
2162 let r: maxAllowedRegistrationsReturn = r.into();
2163 r._0
2164 })
2165 }
2166 }
2167 };
2168 #[derive(serde::Serialize, serde::Deserialize)]
2169 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2170 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2175 #[derive(Clone)]
2176 pub struct maxRegistrationsPerSpecialNftCall(
2177 pub alloy::sol_types::private::primitives::aliases::U256,
2178 );
2179 #[derive(serde::Serialize, serde::Deserialize)]
2180 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2181 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2183 #[derive(Clone)]
2184 pub struct maxRegistrationsPerSpecialNftReturn {
2185 #[allow(missing_docs)]
2186 pub _0: alloy::sol_types::private::primitives::aliases::U256,
2187 }
2188 #[allow(
2189 non_camel_case_types,
2190 non_snake_case,
2191 clippy::pub_underscore_fields,
2192 clippy::style
2193 )]
2194 const _: () = {
2195 use alloy::sol_types as alloy_sol_types;
2196 {
2197 #[doc(hidden)]
2198 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
2199 #[doc(hidden)]
2200 type UnderlyingRustTuple<'a> = (
2201 alloy::sol_types::private::primitives::aliases::U256,
2202 );
2203 #[cfg(test)]
2204 #[allow(dead_code, unreachable_patterns)]
2205 fn _type_assertion(
2206 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2207 ) {
2208 match _t {
2209 alloy_sol_types::private::AssertTypeEq::<
2210 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2211 >(_) => {}
2212 }
2213 }
2214 #[automatically_derived]
2215 #[doc(hidden)]
2216 impl ::core::convert::From<maxRegistrationsPerSpecialNftCall>
2217 for UnderlyingRustTuple<'_> {
2218 fn from(value: maxRegistrationsPerSpecialNftCall) -> Self {
2219 (value.0,)
2220 }
2221 }
2222 #[automatically_derived]
2223 #[doc(hidden)]
2224 impl ::core::convert::From<UnderlyingRustTuple<'_>>
2225 for maxRegistrationsPerSpecialNftCall {
2226 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2227 Self(tuple.0)
2228 }
2229 }
2230 }
2231 {
2232 #[doc(hidden)]
2233 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
2234 #[doc(hidden)]
2235 type UnderlyingRustTuple<'a> = (
2236 alloy::sol_types::private::primitives::aliases::U256,
2237 );
2238 #[cfg(test)]
2239 #[allow(dead_code, unreachable_patterns)]
2240 fn _type_assertion(
2241 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2242 ) {
2243 match _t {
2244 alloy_sol_types::private::AssertTypeEq::<
2245 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2246 >(_) => {}
2247 }
2248 }
2249 #[automatically_derived]
2250 #[doc(hidden)]
2251 impl ::core::convert::From<maxRegistrationsPerSpecialNftReturn>
2252 for UnderlyingRustTuple<'_> {
2253 fn from(value: maxRegistrationsPerSpecialNftReturn) -> Self {
2254 (value._0,)
2255 }
2256 }
2257 #[automatically_derived]
2258 #[doc(hidden)]
2259 impl ::core::convert::From<UnderlyingRustTuple<'_>>
2260 for maxRegistrationsPerSpecialNftReturn {
2261 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2262 Self { _0: tuple.0 }
2263 }
2264 }
2265 }
2266 #[automatically_derived]
2267 impl alloy_sol_types::SolCall for maxRegistrationsPerSpecialNftCall {
2268 type Parameters<'a> = (alloy::sol_types::sol_data::Uint<256>,);
2269 type Token<'a> = <Self::Parameters<
2270 'a,
2271 > as alloy_sol_types::SolType>::Token<'a>;
2272 type Return = alloy::sol_types::private::primitives::aliases::U256;
2273 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
2274 type ReturnToken<'a> = <Self::ReturnTuple<
2275 'a,
2276 > as alloy_sol_types::SolType>::Token<'a>;
2277 const SIGNATURE: &'static str = "maxRegistrationsPerSpecialNft(uint256)";
2278 const SELECTOR: [u8; 4] = [186u8, 28u8, 239u8, 35u8];
2279 #[inline]
2280 fn new<'a>(
2281 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2282 ) -> Self {
2283 tuple.into()
2284 }
2285 #[inline]
2286 fn tokenize(&self) -> Self::Token<'_> {
2287 (
2288 <alloy::sol_types::sol_data::Uint<
2289 256,
2290 > as alloy_sol_types::SolType>::tokenize(&self.0),
2291 )
2292 }
2293 #[inline]
2294 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
2295 (
2296 <alloy::sol_types::sol_data::Uint<
2297 256,
2298 > as alloy_sol_types::SolType>::tokenize(ret),
2299 )
2300 }
2301 #[inline]
2302 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
2303 <Self::ReturnTuple<
2304 '_,
2305 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
2306 .map(|r| {
2307 let r: maxRegistrationsPerSpecialNftReturn = r.into();
2308 r._0
2309 })
2310 }
2311 #[inline]
2312 fn abi_decode_returns_validate(
2313 data: &[u8],
2314 ) -> alloy_sol_types::Result<Self::Return> {
2315 <Self::ReturnTuple<
2316 '_,
2317 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
2318 .map(|r| {
2319 let r: maxRegistrationsPerSpecialNftReturn = r.into();
2320 r._0
2321 })
2322 }
2323 }
2324 };
2325 #[derive(serde::Serialize, serde::Deserialize)]
2326 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2327 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2332 #[derive(Clone)]
2333 pub struct ownerCall;
2334 #[derive(serde::Serialize, serde::Deserialize)]
2335 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2336 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2338 #[derive(Clone)]
2339 pub struct ownerReturn {
2340 #[allow(missing_docs)]
2341 pub _0: alloy::sol_types::private::Address,
2342 }
2343 #[allow(
2344 non_camel_case_types,
2345 non_snake_case,
2346 clippy::pub_underscore_fields,
2347 clippy::style
2348 )]
2349 const _: () = {
2350 use alloy::sol_types as alloy_sol_types;
2351 {
2352 #[doc(hidden)]
2353 type UnderlyingSolTuple<'a> = ();
2354 #[doc(hidden)]
2355 type UnderlyingRustTuple<'a> = ();
2356 #[cfg(test)]
2357 #[allow(dead_code, unreachable_patterns)]
2358 fn _type_assertion(
2359 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2360 ) {
2361 match _t {
2362 alloy_sol_types::private::AssertTypeEq::<
2363 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2364 >(_) => {}
2365 }
2366 }
2367 #[automatically_derived]
2368 #[doc(hidden)]
2369 impl ::core::convert::From<ownerCall> for UnderlyingRustTuple<'_> {
2370 fn from(value: ownerCall) -> Self {
2371 ()
2372 }
2373 }
2374 #[automatically_derived]
2375 #[doc(hidden)]
2376 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ownerCall {
2377 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2378 Self
2379 }
2380 }
2381 }
2382 {
2383 #[doc(hidden)]
2384 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
2385 #[doc(hidden)]
2386 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
2387 #[cfg(test)]
2388 #[allow(dead_code, unreachable_patterns)]
2389 fn _type_assertion(
2390 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2391 ) {
2392 match _t {
2393 alloy_sol_types::private::AssertTypeEq::<
2394 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2395 >(_) => {}
2396 }
2397 }
2398 #[automatically_derived]
2399 #[doc(hidden)]
2400 impl ::core::convert::From<ownerReturn> for UnderlyingRustTuple<'_> {
2401 fn from(value: ownerReturn) -> Self {
2402 (value._0,)
2403 }
2404 }
2405 #[automatically_derived]
2406 #[doc(hidden)]
2407 impl ::core::convert::From<UnderlyingRustTuple<'_>> for ownerReturn {
2408 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2409 Self { _0: tuple.0 }
2410 }
2411 }
2412 }
2413 #[automatically_derived]
2414 impl alloy_sol_types::SolCall for ownerCall {
2415 type Parameters<'a> = ();
2416 type Token<'a> = <Self::Parameters<
2417 'a,
2418 > as alloy_sol_types::SolType>::Token<'a>;
2419 type Return = alloy::sol_types::private::Address;
2420 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
2421 type ReturnToken<'a> = <Self::ReturnTuple<
2422 'a,
2423 > as alloy_sol_types::SolType>::Token<'a>;
2424 const SIGNATURE: &'static str = "owner()";
2425 const SELECTOR: [u8; 4] = [141u8, 165u8, 203u8, 91u8];
2426 #[inline]
2427 fn new<'a>(
2428 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2429 ) -> Self {
2430 tuple.into()
2431 }
2432 #[inline]
2433 fn tokenize(&self) -> Self::Token<'_> {
2434 ()
2435 }
2436 #[inline]
2437 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
2438 (
2439 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
2440 ret,
2441 ),
2442 )
2443 }
2444 #[inline]
2445 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
2446 <Self::ReturnTuple<
2447 '_,
2448 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
2449 .map(|r| {
2450 let r: ownerReturn = r.into();
2451 r._0
2452 })
2453 }
2454 #[inline]
2455 fn abi_decode_returns_validate(
2456 data: &[u8],
2457 ) -> alloy_sol_types::Result<Self::Return> {
2458 <Self::ReturnTuple<
2459 '_,
2460 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
2461 .map(|r| {
2462 let r: ownerReturn = r.into();
2463 r._0
2464 })
2465 }
2466 }
2467 };
2468 #[derive(serde::Serialize, serde::Deserialize)]
2469 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2470 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2475 #[derive(Clone)]
2476 pub struct ownerAddNftTypeAndRankCall {
2477 #[allow(missing_docs)]
2478 pub nftType: alloy::sol_types::private::primitives::aliases::U256,
2479 #[allow(missing_docs)]
2480 pub nftRank: alloy::sol_types::private::String,
2481 }
2482 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2484 #[derive(Clone)]
2485 pub struct ownerAddNftTypeAndRankReturn {}
2486 #[allow(
2487 non_camel_case_types,
2488 non_snake_case,
2489 clippy::pub_underscore_fields,
2490 clippy::style
2491 )]
2492 const _: () = {
2493 use alloy::sol_types as alloy_sol_types;
2494 {
2495 #[doc(hidden)]
2496 type UnderlyingSolTuple<'a> = (
2497 alloy::sol_types::sol_data::Uint<256>,
2498 alloy::sol_types::sol_data::String,
2499 );
2500 #[doc(hidden)]
2501 type UnderlyingRustTuple<'a> = (
2502 alloy::sol_types::private::primitives::aliases::U256,
2503 alloy::sol_types::private::String,
2504 );
2505 #[cfg(test)]
2506 #[allow(dead_code, unreachable_patterns)]
2507 fn _type_assertion(
2508 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2509 ) {
2510 match _t {
2511 alloy_sol_types::private::AssertTypeEq::<
2512 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2513 >(_) => {}
2514 }
2515 }
2516 #[automatically_derived]
2517 #[doc(hidden)]
2518 impl ::core::convert::From<ownerAddNftTypeAndRankCall>
2519 for UnderlyingRustTuple<'_> {
2520 fn from(value: ownerAddNftTypeAndRankCall) -> Self {
2521 (value.nftType, value.nftRank)
2522 }
2523 }
2524 #[automatically_derived]
2525 #[doc(hidden)]
2526 impl ::core::convert::From<UnderlyingRustTuple<'_>>
2527 for ownerAddNftTypeAndRankCall {
2528 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2529 Self {
2530 nftType: tuple.0,
2531 nftRank: tuple.1,
2532 }
2533 }
2534 }
2535 }
2536 {
2537 #[doc(hidden)]
2538 type UnderlyingSolTuple<'a> = ();
2539 #[doc(hidden)]
2540 type UnderlyingRustTuple<'a> = ();
2541 #[cfg(test)]
2542 #[allow(dead_code, unreachable_patterns)]
2543 fn _type_assertion(
2544 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2545 ) {
2546 match _t {
2547 alloy_sol_types::private::AssertTypeEq::<
2548 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2549 >(_) => {}
2550 }
2551 }
2552 #[automatically_derived]
2553 #[doc(hidden)]
2554 impl ::core::convert::From<ownerAddNftTypeAndRankReturn>
2555 for UnderlyingRustTuple<'_> {
2556 fn from(value: ownerAddNftTypeAndRankReturn) -> Self {
2557 ()
2558 }
2559 }
2560 #[automatically_derived]
2561 #[doc(hidden)]
2562 impl ::core::convert::From<UnderlyingRustTuple<'_>>
2563 for ownerAddNftTypeAndRankReturn {
2564 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2565 Self {}
2566 }
2567 }
2568 }
2569 impl ownerAddNftTypeAndRankReturn {
2570 fn _tokenize(
2571 &self,
2572 ) -> <ownerAddNftTypeAndRankCall as alloy_sol_types::SolCall>::ReturnToken<
2573 '_,
2574 > {
2575 ()
2576 }
2577 }
2578 #[automatically_derived]
2579 impl alloy_sol_types::SolCall for ownerAddNftTypeAndRankCall {
2580 type Parameters<'a> = (
2581 alloy::sol_types::sol_data::Uint<256>,
2582 alloy::sol_types::sol_data::String,
2583 );
2584 type Token<'a> = <Self::Parameters<
2585 'a,
2586 > as alloy_sol_types::SolType>::Token<'a>;
2587 type Return = ownerAddNftTypeAndRankReturn;
2588 type ReturnTuple<'a> = ();
2589 type ReturnToken<'a> = <Self::ReturnTuple<
2590 'a,
2591 > as alloy_sol_types::SolType>::Token<'a>;
2592 const SIGNATURE: &'static str = "ownerAddNftTypeAndRank(uint256,string)";
2593 const SELECTOR: [u8; 4] = [155u8, 151u8, 7u8, 111u8];
2594 #[inline]
2595 fn new<'a>(
2596 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2597 ) -> Self {
2598 tuple.into()
2599 }
2600 #[inline]
2601 fn tokenize(&self) -> Self::Token<'_> {
2602 (
2603 <alloy::sol_types::sol_data::Uint<
2604 256,
2605 > as alloy_sol_types::SolType>::tokenize(&self.nftType),
2606 <alloy::sol_types::sol_data::String as alloy_sol_types::SolType>::tokenize(
2607 &self.nftRank,
2608 ),
2609 )
2610 }
2611 #[inline]
2612 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
2613 ownerAddNftTypeAndRankReturn::_tokenize(ret)
2614 }
2615 #[inline]
2616 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
2617 <Self::ReturnTuple<
2618 '_,
2619 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
2620 .map(Into::into)
2621 }
2622 #[inline]
2623 fn abi_decode_returns_validate(
2624 data: &[u8],
2625 ) -> alloy_sol_types::Result<Self::Return> {
2626 <Self::ReturnTuple<
2627 '_,
2628 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
2629 .map(Into::into)
2630 }
2631 }
2632 };
2633 #[derive(serde::Serialize, serde::Deserialize)]
2634 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2635 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2640 #[derive(Clone)]
2641 pub struct ownerBatchAddNftTypeAndRankCall {
2642 #[allow(missing_docs)]
2643 pub nftTypes: alloy::sol_types::private::Vec<
2644 alloy::sol_types::private::primitives::aliases::U256,
2645 >,
2646 #[allow(missing_docs)]
2647 pub nftRanks: alloy::sol_types::private::Vec<alloy::sol_types::private::String>,
2648 }
2649 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2651 #[derive(Clone)]
2652 pub struct ownerBatchAddNftTypeAndRankReturn {}
2653 #[allow(
2654 non_camel_case_types,
2655 non_snake_case,
2656 clippy::pub_underscore_fields,
2657 clippy::style
2658 )]
2659 const _: () = {
2660 use alloy::sol_types as alloy_sol_types;
2661 {
2662 #[doc(hidden)]
2663 type UnderlyingSolTuple<'a> = (
2664 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<256>>,
2665 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::String>,
2666 );
2667 #[doc(hidden)]
2668 type UnderlyingRustTuple<'a> = (
2669 alloy::sol_types::private::Vec<
2670 alloy::sol_types::private::primitives::aliases::U256,
2671 >,
2672 alloy::sol_types::private::Vec<alloy::sol_types::private::String>,
2673 );
2674 #[cfg(test)]
2675 #[allow(dead_code, unreachable_patterns)]
2676 fn _type_assertion(
2677 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2678 ) {
2679 match _t {
2680 alloy_sol_types::private::AssertTypeEq::<
2681 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2682 >(_) => {}
2683 }
2684 }
2685 #[automatically_derived]
2686 #[doc(hidden)]
2687 impl ::core::convert::From<ownerBatchAddNftTypeAndRankCall>
2688 for UnderlyingRustTuple<'_> {
2689 fn from(value: ownerBatchAddNftTypeAndRankCall) -> Self {
2690 (value.nftTypes, value.nftRanks)
2691 }
2692 }
2693 #[automatically_derived]
2694 #[doc(hidden)]
2695 impl ::core::convert::From<UnderlyingRustTuple<'_>>
2696 for ownerBatchAddNftTypeAndRankCall {
2697 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2698 Self {
2699 nftTypes: tuple.0,
2700 nftRanks: tuple.1,
2701 }
2702 }
2703 }
2704 }
2705 {
2706 #[doc(hidden)]
2707 type UnderlyingSolTuple<'a> = ();
2708 #[doc(hidden)]
2709 type UnderlyingRustTuple<'a> = ();
2710 #[cfg(test)]
2711 #[allow(dead_code, unreachable_patterns)]
2712 fn _type_assertion(
2713 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2714 ) {
2715 match _t {
2716 alloy_sol_types::private::AssertTypeEq::<
2717 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2718 >(_) => {}
2719 }
2720 }
2721 #[automatically_derived]
2722 #[doc(hidden)]
2723 impl ::core::convert::From<ownerBatchAddNftTypeAndRankReturn>
2724 for UnderlyingRustTuple<'_> {
2725 fn from(value: ownerBatchAddNftTypeAndRankReturn) -> Self {
2726 ()
2727 }
2728 }
2729 #[automatically_derived]
2730 #[doc(hidden)]
2731 impl ::core::convert::From<UnderlyingRustTuple<'_>>
2732 for ownerBatchAddNftTypeAndRankReturn {
2733 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2734 Self {}
2735 }
2736 }
2737 }
2738 impl ownerBatchAddNftTypeAndRankReturn {
2739 fn _tokenize(
2740 &self,
2741 ) -> <ownerBatchAddNftTypeAndRankCall as alloy_sol_types::SolCall>::ReturnToken<
2742 '_,
2743 > {
2744 ()
2745 }
2746 }
2747 #[automatically_derived]
2748 impl alloy_sol_types::SolCall for ownerBatchAddNftTypeAndRankCall {
2749 type Parameters<'a> = (
2750 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<256>>,
2751 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::String>,
2752 );
2753 type Token<'a> = <Self::Parameters<
2754 'a,
2755 > as alloy_sol_types::SolType>::Token<'a>;
2756 type Return = ownerBatchAddNftTypeAndRankReturn;
2757 type ReturnTuple<'a> = ();
2758 type ReturnToken<'a> = <Self::ReturnTuple<
2759 'a,
2760 > as alloy_sol_types::SolType>::Token<'a>;
2761 const SIGNATURE: &'static str = "ownerBatchAddNftTypeAndRank(uint256[],string[])";
2762 const SELECTOR: [u8; 4] = [80u8, 100u8, 114u8, 204u8];
2763 #[inline]
2764 fn new<'a>(
2765 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2766 ) -> Self {
2767 tuple.into()
2768 }
2769 #[inline]
2770 fn tokenize(&self) -> Self::Token<'_> {
2771 (
2772 <alloy::sol_types::sol_data::Array<
2773 alloy::sol_types::sol_data::Uint<256>,
2774 > as alloy_sol_types::SolType>::tokenize(&self.nftTypes),
2775 <alloy::sol_types::sol_data::Array<
2776 alloy::sol_types::sol_data::String,
2777 > as alloy_sol_types::SolType>::tokenize(&self.nftRanks),
2778 )
2779 }
2780 #[inline]
2781 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
2782 ownerBatchAddNftTypeAndRankReturn::_tokenize(ret)
2783 }
2784 #[inline]
2785 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
2786 <Self::ReturnTuple<
2787 '_,
2788 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
2789 .map(Into::into)
2790 }
2791 #[inline]
2792 fn abi_decode_returns_validate(
2793 data: &[u8],
2794 ) -> alloy_sol_types::Result<Self::Return> {
2795 <Self::ReturnTuple<
2796 '_,
2797 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
2798 .map(Into::into)
2799 }
2800 }
2801 };
2802 #[derive(serde::Serialize, serde::Deserialize)]
2803 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2804 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2809 #[derive(Clone)]
2810 pub struct ownerBatchAddSpecialNftTypeAndRankCall {
2811 #[allow(missing_docs)]
2812 pub nftTypes: alloy::sol_types::private::Vec<
2813 alloy::sol_types::private::primitives::aliases::U256,
2814 >,
2815 #[allow(missing_docs)]
2816 pub nftRanks: alloy::sol_types::private::Vec<alloy::sol_types::private::String>,
2817 #[allow(missing_docs)]
2818 pub maxRegistrations: alloy::sol_types::private::Vec<
2819 alloy::sol_types::private::primitives::aliases::U256,
2820 >,
2821 }
2822 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2824 #[derive(Clone)]
2825 pub struct ownerBatchAddSpecialNftTypeAndRankReturn {}
2826 #[allow(
2827 non_camel_case_types,
2828 non_snake_case,
2829 clippy::pub_underscore_fields,
2830 clippy::style
2831 )]
2832 const _: () = {
2833 use alloy::sol_types as alloy_sol_types;
2834 {
2835 #[doc(hidden)]
2836 type UnderlyingSolTuple<'a> = (
2837 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<256>>,
2838 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::String>,
2839 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<256>>,
2840 );
2841 #[doc(hidden)]
2842 type UnderlyingRustTuple<'a> = (
2843 alloy::sol_types::private::Vec<
2844 alloy::sol_types::private::primitives::aliases::U256,
2845 >,
2846 alloy::sol_types::private::Vec<alloy::sol_types::private::String>,
2847 alloy::sol_types::private::Vec<
2848 alloy::sol_types::private::primitives::aliases::U256,
2849 >,
2850 );
2851 #[cfg(test)]
2852 #[allow(dead_code, unreachable_patterns)]
2853 fn _type_assertion(
2854 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2855 ) {
2856 match _t {
2857 alloy_sol_types::private::AssertTypeEq::<
2858 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2859 >(_) => {}
2860 }
2861 }
2862 #[automatically_derived]
2863 #[doc(hidden)]
2864 impl ::core::convert::From<ownerBatchAddSpecialNftTypeAndRankCall>
2865 for UnderlyingRustTuple<'_> {
2866 fn from(value: ownerBatchAddSpecialNftTypeAndRankCall) -> Self {
2867 (value.nftTypes, value.nftRanks, value.maxRegistrations)
2868 }
2869 }
2870 #[automatically_derived]
2871 #[doc(hidden)]
2872 impl ::core::convert::From<UnderlyingRustTuple<'_>>
2873 for ownerBatchAddSpecialNftTypeAndRankCall {
2874 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2875 Self {
2876 nftTypes: tuple.0,
2877 nftRanks: tuple.1,
2878 maxRegistrations: tuple.2,
2879 }
2880 }
2881 }
2882 }
2883 {
2884 #[doc(hidden)]
2885 type UnderlyingSolTuple<'a> = ();
2886 #[doc(hidden)]
2887 type UnderlyingRustTuple<'a> = ();
2888 #[cfg(test)]
2889 #[allow(dead_code, unreachable_patterns)]
2890 fn _type_assertion(
2891 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2892 ) {
2893 match _t {
2894 alloy_sol_types::private::AssertTypeEq::<
2895 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2896 >(_) => {}
2897 }
2898 }
2899 #[automatically_derived]
2900 #[doc(hidden)]
2901 impl ::core::convert::From<ownerBatchAddSpecialNftTypeAndRankReturn>
2902 for UnderlyingRustTuple<'_> {
2903 fn from(value: ownerBatchAddSpecialNftTypeAndRankReturn) -> Self {
2904 ()
2905 }
2906 }
2907 #[automatically_derived]
2908 #[doc(hidden)]
2909 impl ::core::convert::From<UnderlyingRustTuple<'_>>
2910 for ownerBatchAddSpecialNftTypeAndRankReturn {
2911 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2912 Self {}
2913 }
2914 }
2915 }
2916 impl ownerBatchAddSpecialNftTypeAndRankReturn {
2917 fn _tokenize(
2918 &self,
2919 ) -> <ownerBatchAddSpecialNftTypeAndRankCall as alloy_sol_types::SolCall>::ReturnToken<
2920 '_,
2921 > {
2922 ()
2923 }
2924 }
2925 #[automatically_derived]
2926 impl alloy_sol_types::SolCall for ownerBatchAddSpecialNftTypeAndRankCall {
2927 type Parameters<'a> = (
2928 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<256>>,
2929 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::String>,
2930 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<256>>,
2931 );
2932 type Token<'a> = <Self::Parameters<
2933 'a,
2934 > as alloy_sol_types::SolType>::Token<'a>;
2935 type Return = ownerBatchAddSpecialNftTypeAndRankReturn;
2936 type ReturnTuple<'a> = ();
2937 type ReturnToken<'a> = <Self::ReturnTuple<
2938 'a,
2939 > as alloy_sol_types::SolType>::Token<'a>;
2940 const SIGNATURE: &'static str = "ownerBatchAddSpecialNftTypeAndRank(uint256[],string[],uint256[])";
2941 const SELECTOR: [u8; 4] = [106u8, 59u8, 100u8, 182u8];
2942 #[inline]
2943 fn new<'a>(
2944 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2945 ) -> Self {
2946 tuple.into()
2947 }
2948 #[inline]
2949 fn tokenize(&self) -> Self::Token<'_> {
2950 (
2951 <alloy::sol_types::sol_data::Array<
2952 alloy::sol_types::sol_data::Uint<256>,
2953 > as alloy_sol_types::SolType>::tokenize(&self.nftTypes),
2954 <alloy::sol_types::sol_data::Array<
2955 alloy::sol_types::sol_data::String,
2956 > as alloy_sol_types::SolType>::tokenize(&self.nftRanks),
2957 <alloy::sol_types::sol_data::Array<
2958 alloy::sol_types::sol_data::Uint<256>,
2959 > as alloy_sol_types::SolType>::tokenize(&self.maxRegistrations),
2960 )
2961 }
2962 #[inline]
2963 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
2964 ownerBatchAddSpecialNftTypeAndRankReturn::_tokenize(ret)
2965 }
2966 #[inline]
2967 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
2968 <Self::ReturnTuple<
2969 '_,
2970 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
2971 .map(Into::into)
2972 }
2973 #[inline]
2974 fn abi_decode_returns_validate(
2975 data: &[u8],
2976 ) -> alloy_sol_types::Result<Self::Return> {
2977 <Self::ReturnTuple<
2978 '_,
2979 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
2980 .map(Into::into)
2981 }
2982 }
2983 };
2984 #[derive(serde::Serialize, serde::Deserialize)]
2985 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2986 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2991 #[derive(Clone)]
2992 pub struct ownerBatchRemoveNftTypeAndRankCall {
2993 #[allow(missing_docs)]
2994 pub nftTypes: alloy::sol_types::private::Vec<
2995 alloy::sol_types::private::primitives::aliases::U256,
2996 >,
2997 #[allow(missing_docs)]
2998 pub nftRanks: alloy::sol_types::private::Vec<alloy::sol_types::private::String>,
2999 }
3000 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3002 #[derive(Clone)]
3003 pub struct ownerBatchRemoveNftTypeAndRankReturn {}
3004 #[allow(
3005 non_camel_case_types,
3006 non_snake_case,
3007 clippy::pub_underscore_fields,
3008 clippy::style
3009 )]
3010 const _: () = {
3011 use alloy::sol_types as alloy_sol_types;
3012 {
3013 #[doc(hidden)]
3014 type UnderlyingSolTuple<'a> = (
3015 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<256>>,
3016 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::String>,
3017 );
3018 #[doc(hidden)]
3019 type UnderlyingRustTuple<'a> = (
3020 alloy::sol_types::private::Vec<
3021 alloy::sol_types::private::primitives::aliases::U256,
3022 >,
3023 alloy::sol_types::private::Vec<alloy::sol_types::private::String>,
3024 );
3025 #[cfg(test)]
3026 #[allow(dead_code, unreachable_patterns)]
3027 fn _type_assertion(
3028 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3029 ) {
3030 match _t {
3031 alloy_sol_types::private::AssertTypeEq::<
3032 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3033 >(_) => {}
3034 }
3035 }
3036 #[automatically_derived]
3037 #[doc(hidden)]
3038 impl ::core::convert::From<ownerBatchRemoveNftTypeAndRankCall>
3039 for UnderlyingRustTuple<'_> {
3040 fn from(value: ownerBatchRemoveNftTypeAndRankCall) -> Self {
3041 (value.nftTypes, value.nftRanks)
3042 }
3043 }
3044 #[automatically_derived]
3045 #[doc(hidden)]
3046 impl ::core::convert::From<UnderlyingRustTuple<'_>>
3047 for ownerBatchRemoveNftTypeAndRankCall {
3048 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3049 Self {
3050 nftTypes: tuple.0,
3051 nftRanks: tuple.1,
3052 }
3053 }
3054 }
3055 }
3056 {
3057 #[doc(hidden)]
3058 type UnderlyingSolTuple<'a> = ();
3059 #[doc(hidden)]
3060 type UnderlyingRustTuple<'a> = ();
3061 #[cfg(test)]
3062 #[allow(dead_code, unreachable_patterns)]
3063 fn _type_assertion(
3064 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3065 ) {
3066 match _t {
3067 alloy_sol_types::private::AssertTypeEq::<
3068 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3069 >(_) => {}
3070 }
3071 }
3072 #[automatically_derived]
3073 #[doc(hidden)]
3074 impl ::core::convert::From<ownerBatchRemoveNftTypeAndRankReturn>
3075 for UnderlyingRustTuple<'_> {
3076 fn from(value: ownerBatchRemoveNftTypeAndRankReturn) -> Self {
3077 ()
3078 }
3079 }
3080 #[automatically_derived]
3081 #[doc(hidden)]
3082 impl ::core::convert::From<UnderlyingRustTuple<'_>>
3083 for ownerBatchRemoveNftTypeAndRankReturn {
3084 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3085 Self {}
3086 }
3087 }
3088 }
3089 impl ownerBatchRemoveNftTypeAndRankReturn {
3090 fn _tokenize(
3091 &self,
3092 ) -> <ownerBatchRemoveNftTypeAndRankCall as alloy_sol_types::SolCall>::ReturnToken<
3093 '_,
3094 > {
3095 ()
3096 }
3097 }
3098 #[automatically_derived]
3099 impl alloy_sol_types::SolCall for ownerBatchRemoveNftTypeAndRankCall {
3100 type Parameters<'a> = (
3101 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<256>>,
3102 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::String>,
3103 );
3104 type Token<'a> = <Self::Parameters<
3105 'a,
3106 > as alloy_sol_types::SolType>::Token<'a>;
3107 type Return = ownerBatchRemoveNftTypeAndRankReturn;
3108 type ReturnTuple<'a> = ();
3109 type ReturnToken<'a> = <Self::ReturnTuple<
3110 'a,
3111 > as alloy_sol_types::SolType>::Token<'a>;
3112 const SIGNATURE: &'static str = "ownerBatchRemoveNftTypeAndRank(uint256[],string[])";
3113 const SELECTOR: [u8; 4] = [251u8, 102u8, 172u8, 87u8];
3114 #[inline]
3115 fn new<'a>(
3116 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3117 ) -> Self {
3118 tuple.into()
3119 }
3120 #[inline]
3121 fn tokenize(&self) -> Self::Token<'_> {
3122 (
3123 <alloy::sol_types::sol_data::Array<
3124 alloy::sol_types::sol_data::Uint<256>,
3125 > as alloy_sol_types::SolType>::tokenize(&self.nftTypes),
3126 <alloy::sol_types::sol_data::Array<
3127 alloy::sol_types::sol_data::String,
3128 > as alloy_sol_types::SolType>::tokenize(&self.nftRanks),
3129 )
3130 }
3131 #[inline]
3132 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
3133 ownerBatchRemoveNftTypeAndRankReturn::_tokenize(ret)
3134 }
3135 #[inline]
3136 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
3137 <Self::ReturnTuple<
3138 '_,
3139 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
3140 .map(Into::into)
3141 }
3142 #[inline]
3143 fn abi_decode_returns_validate(
3144 data: &[u8],
3145 ) -> alloy_sol_types::Result<Self::Return> {
3146 <Self::ReturnTuple<
3147 '_,
3148 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3149 .map(Into::into)
3150 }
3151 }
3152 };
3153 #[derive(serde::Serialize, serde::Deserialize)]
3154 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3155 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3160 #[derive(Clone)]
3161 pub struct ownerBatchRemoveSpecialNftTypeAndRankCall {
3162 #[allow(missing_docs)]
3163 pub nftTypes: alloy::sol_types::private::Vec<
3164 alloy::sol_types::private::primitives::aliases::U256,
3165 >,
3166 #[allow(missing_docs)]
3167 pub nftRanks: alloy::sol_types::private::Vec<alloy::sol_types::private::String>,
3168 }
3169 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3171 #[derive(Clone)]
3172 pub struct ownerBatchRemoveSpecialNftTypeAndRankReturn {}
3173 #[allow(
3174 non_camel_case_types,
3175 non_snake_case,
3176 clippy::pub_underscore_fields,
3177 clippy::style
3178 )]
3179 const _: () = {
3180 use alloy::sol_types as alloy_sol_types;
3181 {
3182 #[doc(hidden)]
3183 type UnderlyingSolTuple<'a> = (
3184 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<256>>,
3185 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::String>,
3186 );
3187 #[doc(hidden)]
3188 type UnderlyingRustTuple<'a> = (
3189 alloy::sol_types::private::Vec<
3190 alloy::sol_types::private::primitives::aliases::U256,
3191 >,
3192 alloy::sol_types::private::Vec<alloy::sol_types::private::String>,
3193 );
3194 #[cfg(test)]
3195 #[allow(dead_code, unreachable_patterns)]
3196 fn _type_assertion(
3197 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3198 ) {
3199 match _t {
3200 alloy_sol_types::private::AssertTypeEq::<
3201 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3202 >(_) => {}
3203 }
3204 }
3205 #[automatically_derived]
3206 #[doc(hidden)]
3207 impl ::core::convert::From<ownerBatchRemoveSpecialNftTypeAndRankCall>
3208 for UnderlyingRustTuple<'_> {
3209 fn from(value: ownerBatchRemoveSpecialNftTypeAndRankCall) -> Self {
3210 (value.nftTypes, value.nftRanks)
3211 }
3212 }
3213 #[automatically_derived]
3214 #[doc(hidden)]
3215 impl ::core::convert::From<UnderlyingRustTuple<'_>>
3216 for ownerBatchRemoveSpecialNftTypeAndRankCall {
3217 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3218 Self {
3219 nftTypes: tuple.0,
3220 nftRanks: tuple.1,
3221 }
3222 }
3223 }
3224 }
3225 {
3226 #[doc(hidden)]
3227 type UnderlyingSolTuple<'a> = ();
3228 #[doc(hidden)]
3229 type UnderlyingRustTuple<'a> = ();
3230 #[cfg(test)]
3231 #[allow(dead_code, unreachable_patterns)]
3232 fn _type_assertion(
3233 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3234 ) {
3235 match _t {
3236 alloy_sol_types::private::AssertTypeEq::<
3237 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3238 >(_) => {}
3239 }
3240 }
3241 #[automatically_derived]
3242 #[doc(hidden)]
3243 impl ::core::convert::From<ownerBatchRemoveSpecialNftTypeAndRankReturn>
3244 for UnderlyingRustTuple<'_> {
3245 fn from(value: ownerBatchRemoveSpecialNftTypeAndRankReturn) -> Self {
3246 ()
3247 }
3248 }
3249 #[automatically_derived]
3250 #[doc(hidden)]
3251 impl ::core::convert::From<UnderlyingRustTuple<'_>>
3252 for ownerBatchRemoveSpecialNftTypeAndRankReturn {
3253 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3254 Self {}
3255 }
3256 }
3257 }
3258 impl ownerBatchRemoveSpecialNftTypeAndRankReturn {
3259 fn _tokenize(
3260 &self,
3261 ) -> <ownerBatchRemoveSpecialNftTypeAndRankCall as alloy_sol_types::SolCall>::ReturnToken<
3262 '_,
3263 > {
3264 ()
3265 }
3266 }
3267 #[automatically_derived]
3268 impl alloy_sol_types::SolCall for ownerBatchRemoveSpecialNftTypeAndRankCall {
3269 type Parameters<'a> = (
3270 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Uint<256>>,
3271 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::String>,
3272 );
3273 type Token<'a> = <Self::Parameters<
3274 'a,
3275 > as alloy_sol_types::SolType>::Token<'a>;
3276 type Return = ownerBatchRemoveSpecialNftTypeAndRankReturn;
3277 type ReturnTuple<'a> = ();
3278 type ReturnToken<'a> = <Self::ReturnTuple<
3279 'a,
3280 > as alloy_sol_types::SolType>::Token<'a>;
3281 const SIGNATURE: &'static str = "ownerBatchRemoveSpecialNftTypeAndRank(uint256[],string[])";
3282 const SELECTOR: [u8; 4] = [176u8, 94u8, 139u8, 169u8];
3283 #[inline]
3284 fn new<'a>(
3285 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3286 ) -> Self {
3287 tuple.into()
3288 }
3289 #[inline]
3290 fn tokenize(&self) -> Self::Token<'_> {
3291 (
3292 <alloy::sol_types::sol_data::Array<
3293 alloy::sol_types::sol_data::Uint<256>,
3294 > as alloy_sol_types::SolType>::tokenize(&self.nftTypes),
3295 <alloy::sol_types::sol_data::Array<
3296 alloy::sol_types::sol_data::String,
3297 > as alloy_sol_types::SolType>::tokenize(&self.nftRanks),
3298 )
3299 }
3300 #[inline]
3301 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
3302 ownerBatchRemoveSpecialNftTypeAndRankReturn::_tokenize(ret)
3303 }
3304 #[inline]
3305 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
3306 <Self::ReturnTuple<
3307 '_,
3308 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
3309 .map(Into::into)
3310 }
3311 #[inline]
3312 fn abi_decode_returns_validate(
3313 data: &[u8],
3314 ) -> alloy_sol_types::Result<Self::Return> {
3315 <Self::ReturnTuple<
3316 '_,
3317 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3318 .map(Into::into)
3319 }
3320 }
3321 };
3322 #[derive(serde::Serialize, serde::Deserialize)]
3323 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3324 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3329 #[derive(Clone)]
3330 pub struct ownerRemoveNftTypeAndRankCall {
3331 #[allow(missing_docs)]
3332 pub nftType: alloy::sol_types::private::primitives::aliases::U256,
3333 #[allow(missing_docs)]
3334 pub nftRank: alloy::sol_types::private::String,
3335 }
3336 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3338 #[derive(Clone)]
3339 pub struct ownerRemoveNftTypeAndRankReturn {}
3340 #[allow(
3341 non_camel_case_types,
3342 non_snake_case,
3343 clippy::pub_underscore_fields,
3344 clippy::style
3345 )]
3346 const _: () = {
3347 use alloy::sol_types as alloy_sol_types;
3348 {
3349 #[doc(hidden)]
3350 type UnderlyingSolTuple<'a> = (
3351 alloy::sol_types::sol_data::Uint<256>,
3352 alloy::sol_types::sol_data::String,
3353 );
3354 #[doc(hidden)]
3355 type UnderlyingRustTuple<'a> = (
3356 alloy::sol_types::private::primitives::aliases::U256,
3357 alloy::sol_types::private::String,
3358 );
3359 #[cfg(test)]
3360 #[allow(dead_code, unreachable_patterns)]
3361 fn _type_assertion(
3362 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3363 ) {
3364 match _t {
3365 alloy_sol_types::private::AssertTypeEq::<
3366 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3367 >(_) => {}
3368 }
3369 }
3370 #[automatically_derived]
3371 #[doc(hidden)]
3372 impl ::core::convert::From<ownerRemoveNftTypeAndRankCall>
3373 for UnderlyingRustTuple<'_> {
3374 fn from(value: ownerRemoveNftTypeAndRankCall) -> Self {
3375 (value.nftType, value.nftRank)
3376 }
3377 }
3378 #[automatically_derived]
3379 #[doc(hidden)]
3380 impl ::core::convert::From<UnderlyingRustTuple<'_>>
3381 for ownerRemoveNftTypeAndRankCall {
3382 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3383 Self {
3384 nftType: tuple.0,
3385 nftRank: tuple.1,
3386 }
3387 }
3388 }
3389 }
3390 {
3391 #[doc(hidden)]
3392 type UnderlyingSolTuple<'a> = ();
3393 #[doc(hidden)]
3394 type UnderlyingRustTuple<'a> = ();
3395 #[cfg(test)]
3396 #[allow(dead_code, unreachable_patterns)]
3397 fn _type_assertion(
3398 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3399 ) {
3400 match _t {
3401 alloy_sol_types::private::AssertTypeEq::<
3402 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3403 >(_) => {}
3404 }
3405 }
3406 #[automatically_derived]
3407 #[doc(hidden)]
3408 impl ::core::convert::From<ownerRemoveNftTypeAndRankReturn>
3409 for UnderlyingRustTuple<'_> {
3410 fn from(value: ownerRemoveNftTypeAndRankReturn) -> Self {
3411 ()
3412 }
3413 }
3414 #[automatically_derived]
3415 #[doc(hidden)]
3416 impl ::core::convert::From<UnderlyingRustTuple<'_>>
3417 for ownerRemoveNftTypeAndRankReturn {
3418 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3419 Self {}
3420 }
3421 }
3422 }
3423 impl ownerRemoveNftTypeAndRankReturn {
3424 fn _tokenize(
3425 &self,
3426 ) -> <ownerRemoveNftTypeAndRankCall as alloy_sol_types::SolCall>::ReturnToken<
3427 '_,
3428 > {
3429 ()
3430 }
3431 }
3432 #[automatically_derived]
3433 impl alloy_sol_types::SolCall for ownerRemoveNftTypeAndRankCall {
3434 type Parameters<'a> = (
3435 alloy::sol_types::sol_data::Uint<256>,
3436 alloy::sol_types::sol_data::String,
3437 );
3438 type Token<'a> = <Self::Parameters<
3439 'a,
3440 > as alloy_sol_types::SolType>::Token<'a>;
3441 type Return = ownerRemoveNftTypeAndRankReturn;
3442 type ReturnTuple<'a> = ();
3443 type ReturnToken<'a> = <Self::ReturnTuple<
3444 'a,
3445 > as alloy_sol_types::SolType>::Token<'a>;
3446 const SIGNATURE: &'static str = "ownerRemoveNftTypeAndRank(uint256,string)";
3447 const SELECTOR: [u8; 4] = [101u8, 66u8, 81u8, 235u8];
3448 #[inline]
3449 fn new<'a>(
3450 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3451 ) -> Self {
3452 tuple.into()
3453 }
3454 #[inline]
3455 fn tokenize(&self) -> Self::Token<'_> {
3456 (
3457 <alloy::sol_types::sol_data::Uint<
3458 256,
3459 > as alloy_sol_types::SolType>::tokenize(&self.nftType),
3460 <alloy::sol_types::sol_data::String as alloy_sol_types::SolType>::tokenize(
3461 &self.nftRank,
3462 ),
3463 )
3464 }
3465 #[inline]
3466 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
3467 ownerRemoveNftTypeAndRankReturn::_tokenize(ret)
3468 }
3469 #[inline]
3470 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
3471 <Self::ReturnTuple<
3472 '_,
3473 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
3474 .map(Into::into)
3475 }
3476 #[inline]
3477 fn abi_decode_returns_validate(
3478 data: &[u8],
3479 ) -> alloy_sol_types::Result<Self::Return> {
3480 <Self::ReturnTuple<
3481 '_,
3482 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3483 .map(Into::into)
3484 }
3485 }
3486 };
3487 #[derive(serde::Serialize, serde::Deserialize)]
3488 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3489 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3494 #[derive(Clone)]
3495 pub struct ownerUpdateThresholdCall {
3496 #[allow(missing_docs)]
3497 pub newThreshold: alloy::sol_types::private::primitives::aliases::U256,
3498 }
3499 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3501 #[derive(Clone)]
3502 pub struct ownerUpdateThresholdReturn {}
3503 #[allow(
3504 non_camel_case_types,
3505 non_snake_case,
3506 clippy::pub_underscore_fields,
3507 clippy::style
3508 )]
3509 const _: () = {
3510 use alloy::sol_types as alloy_sol_types;
3511 {
3512 #[doc(hidden)]
3513 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
3514 #[doc(hidden)]
3515 type UnderlyingRustTuple<'a> = (
3516 alloy::sol_types::private::primitives::aliases::U256,
3517 );
3518 #[cfg(test)]
3519 #[allow(dead_code, unreachable_patterns)]
3520 fn _type_assertion(
3521 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3522 ) {
3523 match _t {
3524 alloy_sol_types::private::AssertTypeEq::<
3525 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3526 >(_) => {}
3527 }
3528 }
3529 #[automatically_derived]
3530 #[doc(hidden)]
3531 impl ::core::convert::From<ownerUpdateThresholdCall>
3532 for UnderlyingRustTuple<'_> {
3533 fn from(value: ownerUpdateThresholdCall) -> Self {
3534 (value.newThreshold,)
3535 }
3536 }
3537 #[automatically_derived]
3538 #[doc(hidden)]
3539 impl ::core::convert::From<UnderlyingRustTuple<'_>>
3540 for ownerUpdateThresholdCall {
3541 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3542 Self { newThreshold: tuple.0 }
3543 }
3544 }
3545 }
3546 {
3547 #[doc(hidden)]
3548 type UnderlyingSolTuple<'a> = ();
3549 #[doc(hidden)]
3550 type UnderlyingRustTuple<'a> = ();
3551 #[cfg(test)]
3552 #[allow(dead_code, unreachable_patterns)]
3553 fn _type_assertion(
3554 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3555 ) {
3556 match _t {
3557 alloy_sol_types::private::AssertTypeEq::<
3558 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3559 >(_) => {}
3560 }
3561 }
3562 #[automatically_derived]
3563 #[doc(hidden)]
3564 impl ::core::convert::From<ownerUpdateThresholdReturn>
3565 for UnderlyingRustTuple<'_> {
3566 fn from(value: ownerUpdateThresholdReturn) -> Self {
3567 ()
3568 }
3569 }
3570 #[automatically_derived]
3571 #[doc(hidden)]
3572 impl ::core::convert::From<UnderlyingRustTuple<'_>>
3573 for ownerUpdateThresholdReturn {
3574 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3575 Self {}
3576 }
3577 }
3578 }
3579 impl ownerUpdateThresholdReturn {
3580 fn _tokenize(
3581 &self,
3582 ) -> <ownerUpdateThresholdCall as alloy_sol_types::SolCall>::ReturnToken<
3583 '_,
3584 > {
3585 ()
3586 }
3587 }
3588 #[automatically_derived]
3589 impl alloy_sol_types::SolCall for ownerUpdateThresholdCall {
3590 type Parameters<'a> = (alloy::sol_types::sol_data::Uint<256>,);
3591 type Token<'a> = <Self::Parameters<
3592 'a,
3593 > as alloy_sol_types::SolType>::Token<'a>;
3594 type Return = ownerUpdateThresholdReturn;
3595 type ReturnTuple<'a> = ();
3596 type ReturnToken<'a> = <Self::ReturnTuple<
3597 'a,
3598 > as alloy_sol_types::SolType>::Token<'a>;
3599 const SIGNATURE: &'static str = "ownerUpdateThreshold(uint256)";
3600 const SELECTOR: [u8; 4] = [238u8, 80u8, 199u8, 196u8];
3601 #[inline]
3602 fn new<'a>(
3603 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3604 ) -> Self {
3605 tuple.into()
3606 }
3607 #[inline]
3608 fn tokenize(&self) -> Self::Token<'_> {
3609 (
3610 <alloy::sol_types::sol_data::Uint<
3611 256,
3612 > as alloy_sol_types::SolType>::tokenize(&self.newThreshold),
3613 )
3614 }
3615 #[inline]
3616 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
3617 ownerUpdateThresholdReturn::_tokenize(ret)
3618 }
3619 #[inline]
3620 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
3621 <Self::ReturnTuple<
3622 '_,
3623 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
3624 .map(Into::into)
3625 }
3626 #[inline]
3627 fn abi_decode_returns_validate(
3628 data: &[u8],
3629 ) -> alloy_sol_types::Result<Self::Return> {
3630 <Self::ReturnTuple<
3631 '_,
3632 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3633 .map(Into::into)
3634 }
3635 }
3636 };
3637 #[derive(serde::Serialize, serde::Deserialize)]
3638 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3639 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3644 #[derive(Clone)]
3645 pub struct renounceOwnershipCall;
3646 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3648 #[derive(Clone)]
3649 pub struct renounceOwnershipReturn {}
3650 #[allow(
3651 non_camel_case_types,
3652 non_snake_case,
3653 clippy::pub_underscore_fields,
3654 clippy::style
3655 )]
3656 const _: () = {
3657 use alloy::sol_types as alloy_sol_types;
3658 {
3659 #[doc(hidden)]
3660 type UnderlyingSolTuple<'a> = ();
3661 #[doc(hidden)]
3662 type UnderlyingRustTuple<'a> = ();
3663 #[cfg(test)]
3664 #[allow(dead_code, unreachable_patterns)]
3665 fn _type_assertion(
3666 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3667 ) {
3668 match _t {
3669 alloy_sol_types::private::AssertTypeEq::<
3670 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3671 >(_) => {}
3672 }
3673 }
3674 #[automatically_derived]
3675 #[doc(hidden)]
3676 impl ::core::convert::From<renounceOwnershipCall>
3677 for UnderlyingRustTuple<'_> {
3678 fn from(value: renounceOwnershipCall) -> Self {
3679 ()
3680 }
3681 }
3682 #[automatically_derived]
3683 #[doc(hidden)]
3684 impl ::core::convert::From<UnderlyingRustTuple<'_>>
3685 for renounceOwnershipCall {
3686 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3687 Self
3688 }
3689 }
3690 }
3691 {
3692 #[doc(hidden)]
3693 type UnderlyingSolTuple<'a> = ();
3694 #[doc(hidden)]
3695 type UnderlyingRustTuple<'a> = ();
3696 #[cfg(test)]
3697 #[allow(dead_code, unreachable_patterns)]
3698 fn _type_assertion(
3699 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3700 ) {
3701 match _t {
3702 alloy_sol_types::private::AssertTypeEq::<
3703 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3704 >(_) => {}
3705 }
3706 }
3707 #[automatically_derived]
3708 #[doc(hidden)]
3709 impl ::core::convert::From<renounceOwnershipReturn>
3710 for UnderlyingRustTuple<'_> {
3711 fn from(value: renounceOwnershipReturn) -> Self {
3712 ()
3713 }
3714 }
3715 #[automatically_derived]
3716 #[doc(hidden)]
3717 impl ::core::convert::From<UnderlyingRustTuple<'_>>
3718 for renounceOwnershipReturn {
3719 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3720 Self {}
3721 }
3722 }
3723 }
3724 impl renounceOwnershipReturn {
3725 fn _tokenize(
3726 &self,
3727 ) -> <renounceOwnershipCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
3728 ()
3729 }
3730 }
3731 #[automatically_derived]
3732 impl alloy_sol_types::SolCall for renounceOwnershipCall {
3733 type Parameters<'a> = ();
3734 type Token<'a> = <Self::Parameters<
3735 'a,
3736 > as alloy_sol_types::SolType>::Token<'a>;
3737 type Return = renounceOwnershipReturn;
3738 type ReturnTuple<'a> = ();
3739 type ReturnToken<'a> = <Self::ReturnTuple<
3740 'a,
3741 > as alloy_sol_types::SolType>::Token<'a>;
3742 const SIGNATURE: &'static str = "renounceOwnership()";
3743 const SELECTOR: [u8; 4] = [113u8, 80u8, 24u8, 166u8];
3744 #[inline]
3745 fn new<'a>(
3746 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3747 ) -> Self {
3748 tuple.into()
3749 }
3750 #[inline]
3751 fn tokenize(&self) -> Self::Token<'_> {
3752 ()
3753 }
3754 #[inline]
3755 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
3756 renounceOwnershipReturn::_tokenize(ret)
3757 }
3758 #[inline]
3759 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
3760 <Self::ReturnTuple<
3761 '_,
3762 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
3763 .map(Into::into)
3764 }
3765 #[inline]
3766 fn abi_decode_returns_validate(
3767 data: &[u8],
3768 ) -> alloy_sol_types::Result<Self::Return> {
3769 <Self::ReturnTuple<
3770 '_,
3771 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3772 .map(Into::into)
3773 }
3774 }
3775 };
3776 #[derive(serde::Serialize, serde::Deserialize)]
3777 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3778 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3783 #[derive(Clone)]
3784 pub struct specialNftTypeAndRankCall(
3785 pub alloy::sol_types::private::primitives::aliases::U256,
3786 );
3787 #[derive(serde::Serialize, serde::Deserialize)]
3788 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3789 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3791 #[derive(Clone)]
3792 pub struct specialNftTypeAndRankReturn {
3793 #[allow(missing_docs)]
3794 pub nftType: alloy::sol_types::private::primitives::aliases::U256,
3795 #[allow(missing_docs)]
3796 pub nftRank: alloy::sol_types::private::String,
3797 }
3798 #[allow(
3799 non_camel_case_types,
3800 non_snake_case,
3801 clippy::pub_underscore_fields,
3802 clippy::style
3803 )]
3804 const _: () = {
3805 use alloy::sol_types as alloy_sol_types;
3806 {
3807 #[doc(hidden)]
3808 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
3809 #[doc(hidden)]
3810 type UnderlyingRustTuple<'a> = (
3811 alloy::sol_types::private::primitives::aliases::U256,
3812 );
3813 #[cfg(test)]
3814 #[allow(dead_code, unreachable_patterns)]
3815 fn _type_assertion(
3816 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3817 ) {
3818 match _t {
3819 alloy_sol_types::private::AssertTypeEq::<
3820 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3821 >(_) => {}
3822 }
3823 }
3824 #[automatically_derived]
3825 #[doc(hidden)]
3826 impl ::core::convert::From<specialNftTypeAndRankCall>
3827 for UnderlyingRustTuple<'_> {
3828 fn from(value: specialNftTypeAndRankCall) -> Self {
3829 (value.0,)
3830 }
3831 }
3832 #[automatically_derived]
3833 #[doc(hidden)]
3834 impl ::core::convert::From<UnderlyingRustTuple<'_>>
3835 for specialNftTypeAndRankCall {
3836 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3837 Self(tuple.0)
3838 }
3839 }
3840 }
3841 {
3842 #[doc(hidden)]
3843 type UnderlyingSolTuple<'a> = (
3844 alloy::sol_types::sol_data::Uint<256>,
3845 alloy::sol_types::sol_data::String,
3846 );
3847 #[doc(hidden)]
3848 type UnderlyingRustTuple<'a> = (
3849 alloy::sol_types::private::primitives::aliases::U256,
3850 alloy::sol_types::private::String,
3851 );
3852 #[cfg(test)]
3853 #[allow(dead_code, unreachable_patterns)]
3854 fn _type_assertion(
3855 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3856 ) {
3857 match _t {
3858 alloy_sol_types::private::AssertTypeEq::<
3859 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3860 >(_) => {}
3861 }
3862 }
3863 #[automatically_derived]
3864 #[doc(hidden)]
3865 impl ::core::convert::From<specialNftTypeAndRankReturn>
3866 for UnderlyingRustTuple<'_> {
3867 fn from(value: specialNftTypeAndRankReturn) -> Self {
3868 (value.nftType, value.nftRank)
3869 }
3870 }
3871 #[automatically_derived]
3872 #[doc(hidden)]
3873 impl ::core::convert::From<UnderlyingRustTuple<'_>>
3874 for specialNftTypeAndRankReturn {
3875 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3876 Self {
3877 nftType: tuple.0,
3878 nftRank: tuple.1,
3879 }
3880 }
3881 }
3882 }
3883 impl specialNftTypeAndRankReturn {
3884 fn _tokenize(
3885 &self,
3886 ) -> <specialNftTypeAndRankCall as alloy_sol_types::SolCall>::ReturnToken<
3887 '_,
3888 > {
3889 (
3890 <alloy::sol_types::sol_data::Uint<
3891 256,
3892 > as alloy_sol_types::SolType>::tokenize(&self.nftType),
3893 <alloy::sol_types::sol_data::String as alloy_sol_types::SolType>::tokenize(
3894 &self.nftRank,
3895 ),
3896 )
3897 }
3898 }
3899 #[automatically_derived]
3900 impl alloy_sol_types::SolCall for specialNftTypeAndRankCall {
3901 type Parameters<'a> = (alloy::sol_types::sol_data::Uint<256>,);
3902 type Token<'a> = <Self::Parameters<
3903 'a,
3904 > as alloy_sol_types::SolType>::Token<'a>;
3905 type Return = specialNftTypeAndRankReturn;
3906 type ReturnTuple<'a> = (
3907 alloy::sol_types::sol_data::Uint<256>,
3908 alloy::sol_types::sol_data::String,
3909 );
3910 type ReturnToken<'a> = <Self::ReturnTuple<
3911 'a,
3912 > as alloy_sol_types::SolType>::Token<'a>;
3913 const SIGNATURE: &'static str = "specialNftTypeAndRank(uint256)";
3914 const SELECTOR: [u8; 4] = [44u8, 62u8, 200u8, 11u8];
3915 #[inline]
3916 fn new<'a>(
3917 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3918 ) -> Self {
3919 tuple.into()
3920 }
3921 #[inline]
3922 fn tokenize(&self) -> Self::Token<'_> {
3923 (
3924 <alloy::sol_types::sol_data::Uint<
3925 256,
3926 > as alloy_sol_types::SolType>::tokenize(&self.0),
3927 )
3928 }
3929 #[inline]
3930 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
3931 specialNftTypeAndRankReturn::_tokenize(ret)
3932 }
3933 #[inline]
3934 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
3935 <Self::ReturnTuple<
3936 '_,
3937 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
3938 .map(Into::into)
3939 }
3940 #[inline]
3941 fn abi_decode_returns_validate(
3942 data: &[u8],
3943 ) -> alloy_sol_types::Result<Self::Return> {
3944 <Self::ReturnTuple<
3945 '_,
3946 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3947 .map(Into::into)
3948 }
3949 }
3950 };
3951 #[derive(serde::Serialize, serde::Deserialize)]
3952 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3953 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3958 #[derive(Clone)]
3959 pub struct stakeContractCall;
3960 #[derive(serde::Serialize, serde::Deserialize)]
3961 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3962 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3964 #[derive(Clone)]
3965 pub struct stakeContractReturn {
3966 #[allow(missing_docs)]
3967 pub _0: alloy::sol_types::private::Address,
3968 }
3969 #[allow(
3970 non_camel_case_types,
3971 non_snake_case,
3972 clippy::pub_underscore_fields,
3973 clippy::style
3974 )]
3975 const _: () = {
3976 use alloy::sol_types as alloy_sol_types;
3977 {
3978 #[doc(hidden)]
3979 type UnderlyingSolTuple<'a> = ();
3980 #[doc(hidden)]
3981 type UnderlyingRustTuple<'a> = ();
3982 #[cfg(test)]
3983 #[allow(dead_code, unreachable_patterns)]
3984 fn _type_assertion(
3985 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3986 ) {
3987 match _t {
3988 alloy_sol_types::private::AssertTypeEq::<
3989 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3990 >(_) => {}
3991 }
3992 }
3993 #[automatically_derived]
3994 #[doc(hidden)]
3995 impl ::core::convert::From<stakeContractCall> for UnderlyingRustTuple<'_> {
3996 fn from(value: stakeContractCall) -> Self {
3997 ()
3998 }
3999 }
4000 #[automatically_derived]
4001 #[doc(hidden)]
4002 impl ::core::convert::From<UnderlyingRustTuple<'_>> for stakeContractCall {
4003 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4004 Self
4005 }
4006 }
4007 }
4008 {
4009 #[doc(hidden)]
4010 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
4011 #[doc(hidden)]
4012 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
4013 #[cfg(test)]
4014 #[allow(dead_code, unreachable_patterns)]
4015 fn _type_assertion(
4016 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4017 ) {
4018 match _t {
4019 alloy_sol_types::private::AssertTypeEq::<
4020 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4021 >(_) => {}
4022 }
4023 }
4024 #[automatically_derived]
4025 #[doc(hidden)]
4026 impl ::core::convert::From<stakeContractReturn> for UnderlyingRustTuple<'_> {
4027 fn from(value: stakeContractReturn) -> Self {
4028 (value._0,)
4029 }
4030 }
4031 #[automatically_derived]
4032 #[doc(hidden)]
4033 impl ::core::convert::From<UnderlyingRustTuple<'_>> for stakeContractReturn {
4034 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4035 Self { _0: tuple.0 }
4036 }
4037 }
4038 }
4039 #[automatically_derived]
4040 impl alloy_sol_types::SolCall for stakeContractCall {
4041 type Parameters<'a> = ();
4042 type Token<'a> = <Self::Parameters<
4043 'a,
4044 > as alloy_sol_types::SolType>::Token<'a>;
4045 type Return = alloy::sol_types::private::Address;
4046 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
4047 type ReturnToken<'a> = <Self::ReturnTuple<
4048 'a,
4049 > as alloy_sol_types::SolType>::Token<'a>;
4050 const SIGNATURE: &'static str = "stakeContract()";
4051 const SELECTOR: [u8; 4] = [26u8, 24u8, 98u8, 39u8];
4052 #[inline]
4053 fn new<'a>(
4054 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4055 ) -> Self {
4056 tuple.into()
4057 }
4058 #[inline]
4059 fn tokenize(&self) -> Self::Token<'_> {
4060 ()
4061 }
4062 #[inline]
4063 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
4064 (
4065 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
4066 ret,
4067 ),
4068 )
4069 }
4070 #[inline]
4071 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
4072 <Self::ReturnTuple<
4073 '_,
4074 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
4075 .map(|r| {
4076 let r: stakeContractReturn = r.into();
4077 r._0
4078 })
4079 }
4080 #[inline]
4081 fn abi_decode_returns_validate(
4082 data: &[u8],
4083 ) -> alloy_sol_types::Result<Self::Return> {
4084 <Self::ReturnTuple<
4085 '_,
4086 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4087 .map(|r| {
4088 let r: stakeContractReturn = r.into();
4089 r._0
4090 })
4091 }
4092 }
4093 };
4094 #[derive(serde::Serialize, serde::Deserialize)]
4095 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4096 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4101 #[derive(Clone)]
4102 pub struct stakeThresholdCall;
4103 #[derive(serde::Serialize, serde::Deserialize)]
4104 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4105 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4107 #[derive(Clone)]
4108 pub struct stakeThresholdReturn {
4109 #[allow(missing_docs)]
4110 pub _0: alloy::sol_types::private::primitives::aliases::U256,
4111 }
4112 #[allow(
4113 non_camel_case_types,
4114 non_snake_case,
4115 clippy::pub_underscore_fields,
4116 clippy::style
4117 )]
4118 const _: () = {
4119 use alloy::sol_types as alloy_sol_types;
4120 {
4121 #[doc(hidden)]
4122 type UnderlyingSolTuple<'a> = ();
4123 #[doc(hidden)]
4124 type UnderlyingRustTuple<'a> = ();
4125 #[cfg(test)]
4126 #[allow(dead_code, unreachable_patterns)]
4127 fn _type_assertion(
4128 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4129 ) {
4130 match _t {
4131 alloy_sol_types::private::AssertTypeEq::<
4132 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4133 >(_) => {}
4134 }
4135 }
4136 #[automatically_derived]
4137 #[doc(hidden)]
4138 impl ::core::convert::From<stakeThresholdCall> for UnderlyingRustTuple<'_> {
4139 fn from(value: stakeThresholdCall) -> Self {
4140 ()
4141 }
4142 }
4143 #[automatically_derived]
4144 #[doc(hidden)]
4145 impl ::core::convert::From<UnderlyingRustTuple<'_>> for stakeThresholdCall {
4146 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4147 Self
4148 }
4149 }
4150 }
4151 {
4152 #[doc(hidden)]
4153 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
4154 #[doc(hidden)]
4155 type UnderlyingRustTuple<'a> = (
4156 alloy::sol_types::private::primitives::aliases::U256,
4157 );
4158 #[cfg(test)]
4159 #[allow(dead_code, unreachable_patterns)]
4160 fn _type_assertion(
4161 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4162 ) {
4163 match _t {
4164 alloy_sol_types::private::AssertTypeEq::<
4165 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4166 >(_) => {}
4167 }
4168 }
4169 #[automatically_derived]
4170 #[doc(hidden)]
4171 impl ::core::convert::From<stakeThresholdReturn>
4172 for UnderlyingRustTuple<'_> {
4173 fn from(value: stakeThresholdReturn) -> Self {
4174 (value._0,)
4175 }
4176 }
4177 #[automatically_derived]
4178 #[doc(hidden)]
4179 impl ::core::convert::From<UnderlyingRustTuple<'_>>
4180 for stakeThresholdReturn {
4181 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4182 Self { _0: tuple.0 }
4183 }
4184 }
4185 }
4186 #[automatically_derived]
4187 impl alloy_sol_types::SolCall for stakeThresholdCall {
4188 type Parameters<'a> = ();
4189 type Token<'a> = <Self::Parameters<
4190 'a,
4191 > as alloy_sol_types::SolType>::Token<'a>;
4192 type Return = alloy::sol_types::private::primitives::aliases::U256;
4193 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
4194 type ReturnToken<'a> = <Self::ReturnTuple<
4195 'a,
4196 > as alloy_sol_types::SolType>::Token<'a>;
4197 const SIGNATURE: &'static str = "stakeThreshold()";
4198 const SELECTOR: [u8; 4] = [241u8, 31u8, 119u8, 249u8];
4199 #[inline]
4200 fn new<'a>(
4201 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4202 ) -> Self {
4203 tuple.into()
4204 }
4205 #[inline]
4206 fn tokenize(&self) -> Self::Token<'_> {
4207 ()
4208 }
4209 #[inline]
4210 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
4211 (
4212 <alloy::sol_types::sol_data::Uint<
4213 256,
4214 > as alloy_sol_types::SolType>::tokenize(ret),
4215 )
4216 }
4217 #[inline]
4218 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
4219 <Self::ReturnTuple<
4220 '_,
4221 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
4222 .map(|r| {
4223 let r: stakeThresholdReturn = r.into();
4224 r._0
4225 })
4226 }
4227 #[inline]
4228 fn abi_decode_returns_validate(
4229 data: &[u8],
4230 ) -> alloy_sol_types::Result<Self::Return> {
4231 <Self::ReturnTuple<
4232 '_,
4233 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4234 .map(|r| {
4235 let r: stakeThresholdReturn = r.into();
4236 r._0
4237 })
4238 }
4239 }
4240 };
4241 #[derive(serde::Serialize, serde::Deserialize)]
4242 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4243 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4248 #[derive(Clone)]
4249 pub struct transferOwnershipCall {
4250 #[allow(missing_docs)]
4251 pub newOwner: alloy::sol_types::private::Address,
4252 }
4253 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4255 #[derive(Clone)]
4256 pub struct transferOwnershipReturn {}
4257 #[allow(
4258 non_camel_case_types,
4259 non_snake_case,
4260 clippy::pub_underscore_fields,
4261 clippy::style
4262 )]
4263 const _: () = {
4264 use alloy::sol_types as alloy_sol_types;
4265 {
4266 #[doc(hidden)]
4267 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
4268 #[doc(hidden)]
4269 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
4270 #[cfg(test)]
4271 #[allow(dead_code, unreachable_patterns)]
4272 fn _type_assertion(
4273 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4274 ) {
4275 match _t {
4276 alloy_sol_types::private::AssertTypeEq::<
4277 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4278 >(_) => {}
4279 }
4280 }
4281 #[automatically_derived]
4282 #[doc(hidden)]
4283 impl ::core::convert::From<transferOwnershipCall>
4284 for UnderlyingRustTuple<'_> {
4285 fn from(value: transferOwnershipCall) -> Self {
4286 (value.newOwner,)
4287 }
4288 }
4289 #[automatically_derived]
4290 #[doc(hidden)]
4291 impl ::core::convert::From<UnderlyingRustTuple<'_>>
4292 for transferOwnershipCall {
4293 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4294 Self { newOwner: tuple.0 }
4295 }
4296 }
4297 }
4298 {
4299 #[doc(hidden)]
4300 type UnderlyingSolTuple<'a> = ();
4301 #[doc(hidden)]
4302 type UnderlyingRustTuple<'a> = ();
4303 #[cfg(test)]
4304 #[allow(dead_code, unreachable_patterns)]
4305 fn _type_assertion(
4306 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4307 ) {
4308 match _t {
4309 alloy_sol_types::private::AssertTypeEq::<
4310 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4311 >(_) => {}
4312 }
4313 }
4314 #[automatically_derived]
4315 #[doc(hidden)]
4316 impl ::core::convert::From<transferOwnershipReturn>
4317 for UnderlyingRustTuple<'_> {
4318 fn from(value: transferOwnershipReturn) -> Self {
4319 ()
4320 }
4321 }
4322 #[automatically_derived]
4323 #[doc(hidden)]
4324 impl ::core::convert::From<UnderlyingRustTuple<'_>>
4325 for transferOwnershipReturn {
4326 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4327 Self {}
4328 }
4329 }
4330 }
4331 impl transferOwnershipReturn {
4332 fn _tokenize(
4333 &self,
4334 ) -> <transferOwnershipCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
4335 ()
4336 }
4337 }
4338 #[automatically_derived]
4339 impl alloy_sol_types::SolCall for transferOwnershipCall {
4340 type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
4341 type Token<'a> = <Self::Parameters<
4342 'a,
4343 > as alloy_sol_types::SolType>::Token<'a>;
4344 type Return = transferOwnershipReturn;
4345 type ReturnTuple<'a> = ();
4346 type ReturnToken<'a> = <Self::ReturnTuple<
4347 'a,
4348 > as alloy_sol_types::SolType>::Token<'a>;
4349 const SIGNATURE: &'static str = "transferOwnership(address)";
4350 const SELECTOR: [u8; 4] = [242u8, 253u8, 227u8, 139u8];
4351 #[inline]
4352 fn new<'a>(
4353 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4354 ) -> Self {
4355 tuple.into()
4356 }
4357 #[inline]
4358 fn tokenize(&self) -> Self::Token<'_> {
4359 (
4360 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
4361 &self.newOwner,
4362 ),
4363 )
4364 }
4365 #[inline]
4366 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
4367 transferOwnershipReturn::_tokenize(ret)
4368 }
4369 #[inline]
4370 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
4371 <Self::ReturnTuple<
4372 '_,
4373 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
4374 .map(Into::into)
4375 }
4376 #[inline]
4377 fn abi_decode_returns_validate(
4378 data: &[u8],
4379 ) -> alloy_sol_types::Result<Self::Return> {
4380 <Self::ReturnTuple<
4381 '_,
4382 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4383 .map(Into::into)
4384 }
4385 }
4386 };
4387 #[derive(serde::Serialize, serde::Deserialize)]
4388 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4389 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4394 #[derive(Clone)]
4395 pub struct updateStakeContractCall {
4396 #[allow(missing_docs)]
4397 pub _stakeContract: alloy::sol_types::private::Address,
4398 }
4399 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4401 #[derive(Clone)]
4402 pub struct updateStakeContractReturn {}
4403 #[allow(
4404 non_camel_case_types,
4405 non_snake_case,
4406 clippy::pub_underscore_fields,
4407 clippy::style
4408 )]
4409 const _: () = {
4410 use alloy::sol_types as alloy_sol_types;
4411 {
4412 #[doc(hidden)]
4413 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
4414 #[doc(hidden)]
4415 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
4416 #[cfg(test)]
4417 #[allow(dead_code, unreachable_patterns)]
4418 fn _type_assertion(
4419 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4420 ) {
4421 match _t {
4422 alloy_sol_types::private::AssertTypeEq::<
4423 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4424 >(_) => {}
4425 }
4426 }
4427 #[automatically_derived]
4428 #[doc(hidden)]
4429 impl ::core::convert::From<updateStakeContractCall>
4430 for UnderlyingRustTuple<'_> {
4431 fn from(value: updateStakeContractCall) -> Self {
4432 (value._stakeContract,)
4433 }
4434 }
4435 #[automatically_derived]
4436 #[doc(hidden)]
4437 impl ::core::convert::From<UnderlyingRustTuple<'_>>
4438 for updateStakeContractCall {
4439 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4440 Self { _stakeContract: tuple.0 }
4441 }
4442 }
4443 }
4444 {
4445 #[doc(hidden)]
4446 type UnderlyingSolTuple<'a> = ();
4447 #[doc(hidden)]
4448 type UnderlyingRustTuple<'a> = ();
4449 #[cfg(test)]
4450 #[allow(dead_code, unreachable_patterns)]
4451 fn _type_assertion(
4452 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4453 ) {
4454 match _t {
4455 alloy_sol_types::private::AssertTypeEq::<
4456 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4457 >(_) => {}
4458 }
4459 }
4460 #[automatically_derived]
4461 #[doc(hidden)]
4462 impl ::core::convert::From<updateStakeContractReturn>
4463 for UnderlyingRustTuple<'_> {
4464 fn from(value: updateStakeContractReturn) -> Self {
4465 ()
4466 }
4467 }
4468 #[automatically_derived]
4469 #[doc(hidden)]
4470 impl ::core::convert::From<UnderlyingRustTuple<'_>>
4471 for updateStakeContractReturn {
4472 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4473 Self {}
4474 }
4475 }
4476 }
4477 impl updateStakeContractReturn {
4478 fn _tokenize(
4479 &self,
4480 ) -> <updateStakeContractCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
4481 ()
4482 }
4483 }
4484 #[automatically_derived]
4485 impl alloy_sol_types::SolCall for updateStakeContractCall {
4486 type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
4487 type Token<'a> = <Self::Parameters<
4488 'a,
4489 > as alloy_sol_types::SolType>::Token<'a>;
4490 type Return = updateStakeContractReturn;
4491 type ReturnTuple<'a> = ();
4492 type ReturnToken<'a> = <Self::ReturnTuple<
4493 'a,
4494 > as alloy_sol_types::SolType>::Token<'a>;
4495 const SIGNATURE: &'static str = "updateStakeContract(address)";
4496 const SELECTOR: [u8; 4] = [131u8, 12u8, 108u8, 194u8];
4497 #[inline]
4498 fn new<'a>(
4499 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4500 ) -> Self {
4501 tuple.into()
4502 }
4503 #[inline]
4504 fn tokenize(&self) -> Self::Token<'_> {
4505 (
4506 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
4507 &self._stakeContract,
4508 ),
4509 )
4510 }
4511 #[inline]
4512 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
4513 updateStakeContractReturn::_tokenize(ret)
4514 }
4515 #[inline]
4516 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
4517 <Self::ReturnTuple<
4518 '_,
4519 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
4520 .map(Into::into)
4521 }
4522 #[inline]
4523 fn abi_decode_returns_validate(
4524 data: &[u8],
4525 ) -> alloy_sol_types::Result<Self::Return> {
4526 <Self::ReturnTuple<
4527 '_,
4528 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4529 .map(Into::into)
4530 }
4531 }
4532 };
4533 #[derive(serde::Serialize, serde::Deserialize)]
4535 #[derive()]
4536 pub enum HoprStakingProxyForNetworkRegistryCalls {
4537 #[allow(missing_docs)]
4538 canOperateFor(canOperateForCall),
4539 #[allow(missing_docs)]
4540 eligibleNftTypeAndRank(eligibleNftTypeAndRankCall),
4541 #[allow(missing_docs)]
4542 maxAllowedRegistrations(maxAllowedRegistrationsCall),
4543 #[allow(missing_docs)]
4544 maxRegistrationsPerSpecialNft(maxRegistrationsPerSpecialNftCall),
4545 #[allow(missing_docs)]
4546 owner(ownerCall),
4547 #[allow(missing_docs)]
4548 ownerAddNftTypeAndRank(ownerAddNftTypeAndRankCall),
4549 #[allow(missing_docs)]
4550 ownerBatchAddNftTypeAndRank(ownerBatchAddNftTypeAndRankCall),
4551 #[allow(missing_docs)]
4552 ownerBatchAddSpecialNftTypeAndRank(ownerBatchAddSpecialNftTypeAndRankCall),
4553 #[allow(missing_docs)]
4554 ownerBatchRemoveNftTypeAndRank(ownerBatchRemoveNftTypeAndRankCall),
4555 #[allow(missing_docs)]
4556 ownerBatchRemoveSpecialNftTypeAndRank(ownerBatchRemoveSpecialNftTypeAndRankCall),
4557 #[allow(missing_docs)]
4558 ownerRemoveNftTypeAndRank(ownerRemoveNftTypeAndRankCall),
4559 #[allow(missing_docs)]
4560 ownerUpdateThreshold(ownerUpdateThresholdCall),
4561 #[allow(missing_docs)]
4562 renounceOwnership(renounceOwnershipCall),
4563 #[allow(missing_docs)]
4564 specialNftTypeAndRank(specialNftTypeAndRankCall),
4565 #[allow(missing_docs)]
4566 stakeContract(stakeContractCall),
4567 #[allow(missing_docs)]
4568 stakeThreshold(stakeThresholdCall),
4569 #[allow(missing_docs)]
4570 transferOwnership(transferOwnershipCall),
4571 #[allow(missing_docs)]
4572 updateStakeContract(updateStakeContractCall),
4573 }
4574 #[automatically_derived]
4575 impl HoprStakingProxyForNetworkRegistryCalls {
4576 pub const SELECTORS: &'static [[u8; 4usize]] = &[
4583 [26u8, 24u8, 98u8, 39u8],
4584 [44u8, 62u8, 200u8, 11u8],
4585 [80u8, 100u8, 114u8, 204u8],
4586 [101u8, 66u8, 81u8, 235u8],
4587 [106u8, 59u8, 100u8, 182u8],
4588 [113u8, 80u8, 24u8, 166u8],
4589 [131u8, 12u8, 108u8, 194u8],
4590 [141u8, 165u8, 203u8, 91u8],
4591 [155u8, 151u8, 7u8, 111u8],
4592 [176u8, 94u8, 139u8, 169u8],
4593 [179u8, 84u8, 78u8, 130u8],
4594 [186u8, 28u8, 239u8, 35u8],
4595 [216u8, 90u8, 208u8, 68u8],
4596 [222u8, 98u8, 108u8, 14u8],
4597 [238u8, 80u8, 199u8, 196u8],
4598 [241u8, 31u8, 119u8, 249u8],
4599 [242u8, 253u8, 227u8, 139u8],
4600 [251u8, 102u8, 172u8, 87u8],
4601 ];
4602 }
4603 #[automatically_derived]
4604 impl alloy_sol_types::SolInterface for HoprStakingProxyForNetworkRegistryCalls {
4605 const NAME: &'static str = "HoprStakingProxyForNetworkRegistryCalls";
4606 const MIN_DATA_LENGTH: usize = 0usize;
4607 const COUNT: usize = 18usize;
4608 #[inline]
4609 fn selector(&self) -> [u8; 4] {
4610 match self {
4611 Self::canOperateFor(_) => {
4612 <canOperateForCall as alloy_sol_types::SolCall>::SELECTOR
4613 }
4614 Self::eligibleNftTypeAndRank(_) => {
4615 <eligibleNftTypeAndRankCall as alloy_sol_types::SolCall>::SELECTOR
4616 }
4617 Self::maxAllowedRegistrations(_) => {
4618 <maxAllowedRegistrationsCall as alloy_sol_types::SolCall>::SELECTOR
4619 }
4620 Self::maxRegistrationsPerSpecialNft(_) => {
4621 <maxRegistrationsPerSpecialNftCall as alloy_sol_types::SolCall>::SELECTOR
4622 }
4623 Self::owner(_) => <ownerCall as alloy_sol_types::SolCall>::SELECTOR,
4624 Self::ownerAddNftTypeAndRank(_) => {
4625 <ownerAddNftTypeAndRankCall as alloy_sol_types::SolCall>::SELECTOR
4626 }
4627 Self::ownerBatchAddNftTypeAndRank(_) => {
4628 <ownerBatchAddNftTypeAndRankCall as alloy_sol_types::SolCall>::SELECTOR
4629 }
4630 Self::ownerBatchAddSpecialNftTypeAndRank(_) => {
4631 <ownerBatchAddSpecialNftTypeAndRankCall as alloy_sol_types::SolCall>::SELECTOR
4632 }
4633 Self::ownerBatchRemoveNftTypeAndRank(_) => {
4634 <ownerBatchRemoveNftTypeAndRankCall as alloy_sol_types::SolCall>::SELECTOR
4635 }
4636 Self::ownerBatchRemoveSpecialNftTypeAndRank(_) => {
4637 <ownerBatchRemoveSpecialNftTypeAndRankCall as alloy_sol_types::SolCall>::SELECTOR
4638 }
4639 Self::ownerRemoveNftTypeAndRank(_) => {
4640 <ownerRemoveNftTypeAndRankCall as alloy_sol_types::SolCall>::SELECTOR
4641 }
4642 Self::ownerUpdateThreshold(_) => {
4643 <ownerUpdateThresholdCall as alloy_sol_types::SolCall>::SELECTOR
4644 }
4645 Self::renounceOwnership(_) => {
4646 <renounceOwnershipCall as alloy_sol_types::SolCall>::SELECTOR
4647 }
4648 Self::specialNftTypeAndRank(_) => {
4649 <specialNftTypeAndRankCall as alloy_sol_types::SolCall>::SELECTOR
4650 }
4651 Self::stakeContract(_) => {
4652 <stakeContractCall as alloy_sol_types::SolCall>::SELECTOR
4653 }
4654 Self::stakeThreshold(_) => {
4655 <stakeThresholdCall as alloy_sol_types::SolCall>::SELECTOR
4656 }
4657 Self::transferOwnership(_) => {
4658 <transferOwnershipCall as alloy_sol_types::SolCall>::SELECTOR
4659 }
4660 Self::updateStakeContract(_) => {
4661 <updateStakeContractCall as alloy_sol_types::SolCall>::SELECTOR
4662 }
4663 }
4664 }
4665 #[inline]
4666 fn selector_at(i: usize) -> ::core::option::Option<[u8; 4]> {
4667 Self::SELECTORS.get(i).copied()
4668 }
4669 #[inline]
4670 fn valid_selector(selector: [u8; 4]) -> bool {
4671 Self::SELECTORS.binary_search(&selector).is_ok()
4672 }
4673 #[inline]
4674 #[allow(non_snake_case)]
4675 fn abi_decode_raw(
4676 selector: [u8; 4],
4677 data: &[u8],
4678 ) -> alloy_sol_types::Result<Self> {
4679 static DECODE_SHIMS: &[fn(
4680 &[u8],
4681 ) -> alloy_sol_types::Result<HoprStakingProxyForNetworkRegistryCalls>] = &[
4682 {
4683 fn stakeContract(
4684 data: &[u8],
4685 ) -> alloy_sol_types::Result<
4686 HoprStakingProxyForNetworkRegistryCalls,
4687 > {
4688 <stakeContractCall as alloy_sol_types::SolCall>::abi_decode_raw(
4689 data,
4690 )
4691 .map(HoprStakingProxyForNetworkRegistryCalls::stakeContract)
4692 }
4693 stakeContract
4694 },
4695 {
4696 fn specialNftTypeAndRank(
4697 data: &[u8],
4698 ) -> alloy_sol_types::Result<
4699 HoprStakingProxyForNetworkRegistryCalls,
4700 > {
4701 <specialNftTypeAndRankCall as alloy_sol_types::SolCall>::abi_decode_raw(
4702 data,
4703 )
4704 .map(
4705 HoprStakingProxyForNetworkRegistryCalls::specialNftTypeAndRank,
4706 )
4707 }
4708 specialNftTypeAndRank
4709 },
4710 {
4711 fn ownerBatchAddNftTypeAndRank(
4712 data: &[u8],
4713 ) -> alloy_sol_types::Result<
4714 HoprStakingProxyForNetworkRegistryCalls,
4715 > {
4716 <ownerBatchAddNftTypeAndRankCall as alloy_sol_types::SolCall>::abi_decode_raw(
4717 data,
4718 )
4719 .map(
4720 HoprStakingProxyForNetworkRegistryCalls::ownerBatchAddNftTypeAndRank,
4721 )
4722 }
4723 ownerBatchAddNftTypeAndRank
4724 },
4725 {
4726 fn ownerRemoveNftTypeAndRank(
4727 data: &[u8],
4728 ) -> alloy_sol_types::Result<
4729 HoprStakingProxyForNetworkRegistryCalls,
4730 > {
4731 <ownerRemoveNftTypeAndRankCall as alloy_sol_types::SolCall>::abi_decode_raw(
4732 data,
4733 )
4734 .map(
4735 HoprStakingProxyForNetworkRegistryCalls::ownerRemoveNftTypeAndRank,
4736 )
4737 }
4738 ownerRemoveNftTypeAndRank
4739 },
4740 {
4741 fn ownerBatchAddSpecialNftTypeAndRank(
4742 data: &[u8],
4743 ) -> alloy_sol_types::Result<
4744 HoprStakingProxyForNetworkRegistryCalls,
4745 > {
4746 <ownerBatchAddSpecialNftTypeAndRankCall as alloy_sol_types::SolCall>::abi_decode_raw(
4747 data,
4748 )
4749 .map(
4750 HoprStakingProxyForNetworkRegistryCalls::ownerBatchAddSpecialNftTypeAndRank,
4751 )
4752 }
4753 ownerBatchAddSpecialNftTypeAndRank
4754 },
4755 {
4756 fn renounceOwnership(
4757 data: &[u8],
4758 ) -> alloy_sol_types::Result<
4759 HoprStakingProxyForNetworkRegistryCalls,
4760 > {
4761 <renounceOwnershipCall as alloy_sol_types::SolCall>::abi_decode_raw(
4762 data,
4763 )
4764 .map(
4765 HoprStakingProxyForNetworkRegistryCalls::renounceOwnership,
4766 )
4767 }
4768 renounceOwnership
4769 },
4770 {
4771 fn updateStakeContract(
4772 data: &[u8],
4773 ) -> alloy_sol_types::Result<
4774 HoprStakingProxyForNetworkRegistryCalls,
4775 > {
4776 <updateStakeContractCall as alloy_sol_types::SolCall>::abi_decode_raw(
4777 data,
4778 )
4779 .map(
4780 HoprStakingProxyForNetworkRegistryCalls::updateStakeContract,
4781 )
4782 }
4783 updateStakeContract
4784 },
4785 {
4786 fn owner(
4787 data: &[u8],
4788 ) -> alloy_sol_types::Result<
4789 HoprStakingProxyForNetworkRegistryCalls,
4790 > {
4791 <ownerCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
4792 .map(HoprStakingProxyForNetworkRegistryCalls::owner)
4793 }
4794 owner
4795 },
4796 {
4797 fn ownerAddNftTypeAndRank(
4798 data: &[u8],
4799 ) -> alloy_sol_types::Result<
4800 HoprStakingProxyForNetworkRegistryCalls,
4801 > {
4802 <ownerAddNftTypeAndRankCall as alloy_sol_types::SolCall>::abi_decode_raw(
4803 data,
4804 )
4805 .map(
4806 HoprStakingProxyForNetworkRegistryCalls::ownerAddNftTypeAndRank,
4807 )
4808 }
4809 ownerAddNftTypeAndRank
4810 },
4811 {
4812 fn ownerBatchRemoveSpecialNftTypeAndRank(
4813 data: &[u8],
4814 ) -> alloy_sol_types::Result<
4815 HoprStakingProxyForNetworkRegistryCalls,
4816 > {
4817 <ownerBatchRemoveSpecialNftTypeAndRankCall as alloy_sol_types::SolCall>::abi_decode_raw(
4818 data,
4819 )
4820 .map(
4821 HoprStakingProxyForNetworkRegistryCalls::ownerBatchRemoveSpecialNftTypeAndRank,
4822 )
4823 }
4824 ownerBatchRemoveSpecialNftTypeAndRank
4825 },
4826 {
4827 fn maxAllowedRegistrations(
4828 data: &[u8],
4829 ) -> alloy_sol_types::Result<
4830 HoprStakingProxyForNetworkRegistryCalls,
4831 > {
4832 <maxAllowedRegistrationsCall as alloy_sol_types::SolCall>::abi_decode_raw(
4833 data,
4834 )
4835 .map(
4836 HoprStakingProxyForNetworkRegistryCalls::maxAllowedRegistrations,
4837 )
4838 }
4839 maxAllowedRegistrations
4840 },
4841 {
4842 fn maxRegistrationsPerSpecialNft(
4843 data: &[u8],
4844 ) -> alloy_sol_types::Result<
4845 HoprStakingProxyForNetworkRegistryCalls,
4846 > {
4847 <maxRegistrationsPerSpecialNftCall as alloy_sol_types::SolCall>::abi_decode_raw(
4848 data,
4849 )
4850 .map(
4851 HoprStakingProxyForNetworkRegistryCalls::maxRegistrationsPerSpecialNft,
4852 )
4853 }
4854 maxRegistrationsPerSpecialNft
4855 },
4856 {
4857 fn canOperateFor(
4858 data: &[u8],
4859 ) -> alloy_sol_types::Result<
4860 HoprStakingProxyForNetworkRegistryCalls,
4861 > {
4862 <canOperateForCall as alloy_sol_types::SolCall>::abi_decode_raw(
4863 data,
4864 )
4865 .map(HoprStakingProxyForNetworkRegistryCalls::canOperateFor)
4866 }
4867 canOperateFor
4868 },
4869 {
4870 fn eligibleNftTypeAndRank(
4871 data: &[u8],
4872 ) -> alloy_sol_types::Result<
4873 HoprStakingProxyForNetworkRegistryCalls,
4874 > {
4875 <eligibleNftTypeAndRankCall as alloy_sol_types::SolCall>::abi_decode_raw(
4876 data,
4877 )
4878 .map(
4879 HoprStakingProxyForNetworkRegistryCalls::eligibleNftTypeAndRank,
4880 )
4881 }
4882 eligibleNftTypeAndRank
4883 },
4884 {
4885 fn ownerUpdateThreshold(
4886 data: &[u8],
4887 ) -> alloy_sol_types::Result<
4888 HoprStakingProxyForNetworkRegistryCalls,
4889 > {
4890 <ownerUpdateThresholdCall as alloy_sol_types::SolCall>::abi_decode_raw(
4891 data,
4892 )
4893 .map(
4894 HoprStakingProxyForNetworkRegistryCalls::ownerUpdateThreshold,
4895 )
4896 }
4897 ownerUpdateThreshold
4898 },
4899 {
4900 fn stakeThreshold(
4901 data: &[u8],
4902 ) -> alloy_sol_types::Result<
4903 HoprStakingProxyForNetworkRegistryCalls,
4904 > {
4905 <stakeThresholdCall as alloy_sol_types::SolCall>::abi_decode_raw(
4906 data,
4907 )
4908 .map(HoprStakingProxyForNetworkRegistryCalls::stakeThreshold)
4909 }
4910 stakeThreshold
4911 },
4912 {
4913 fn transferOwnership(
4914 data: &[u8],
4915 ) -> alloy_sol_types::Result<
4916 HoprStakingProxyForNetworkRegistryCalls,
4917 > {
4918 <transferOwnershipCall as alloy_sol_types::SolCall>::abi_decode_raw(
4919 data,
4920 )
4921 .map(
4922 HoprStakingProxyForNetworkRegistryCalls::transferOwnership,
4923 )
4924 }
4925 transferOwnership
4926 },
4927 {
4928 fn ownerBatchRemoveNftTypeAndRank(
4929 data: &[u8],
4930 ) -> alloy_sol_types::Result<
4931 HoprStakingProxyForNetworkRegistryCalls,
4932 > {
4933 <ownerBatchRemoveNftTypeAndRankCall as alloy_sol_types::SolCall>::abi_decode_raw(
4934 data,
4935 )
4936 .map(
4937 HoprStakingProxyForNetworkRegistryCalls::ownerBatchRemoveNftTypeAndRank,
4938 )
4939 }
4940 ownerBatchRemoveNftTypeAndRank
4941 },
4942 ];
4943 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
4944 return Err(
4945 alloy_sol_types::Error::unknown_selector(
4946 <Self as alloy_sol_types::SolInterface>::NAME,
4947 selector,
4948 ),
4949 );
4950 };
4951 DECODE_SHIMS[idx](data)
4952 }
4953 #[inline]
4954 #[allow(non_snake_case)]
4955 fn abi_decode_raw_validate(
4956 selector: [u8; 4],
4957 data: &[u8],
4958 ) -> alloy_sol_types::Result<Self> {
4959 static DECODE_VALIDATE_SHIMS: &[fn(
4960 &[u8],
4961 ) -> alloy_sol_types::Result<HoprStakingProxyForNetworkRegistryCalls>] = &[
4962 {
4963 fn stakeContract(
4964 data: &[u8],
4965 ) -> alloy_sol_types::Result<
4966 HoprStakingProxyForNetworkRegistryCalls,
4967 > {
4968 <stakeContractCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
4969 data,
4970 )
4971 .map(HoprStakingProxyForNetworkRegistryCalls::stakeContract)
4972 }
4973 stakeContract
4974 },
4975 {
4976 fn specialNftTypeAndRank(
4977 data: &[u8],
4978 ) -> alloy_sol_types::Result<
4979 HoprStakingProxyForNetworkRegistryCalls,
4980 > {
4981 <specialNftTypeAndRankCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
4982 data,
4983 )
4984 .map(
4985 HoprStakingProxyForNetworkRegistryCalls::specialNftTypeAndRank,
4986 )
4987 }
4988 specialNftTypeAndRank
4989 },
4990 {
4991 fn ownerBatchAddNftTypeAndRank(
4992 data: &[u8],
4993 ) -> alloy_sol_types::Result<
4994 HoprStakingProxyForNetworkRegistryCalls,
4995 > {
4996 <ownerBatchAddNftTypeAndRankCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
4997 data,
4998 )
4999 .map(
5000 HoprStakingProxyForNetworkRegistryCalls::ownerBatchAddNftTypeAndRank,
5001 )
5002 }
5003 ownerBatchAddNftTypeAndRank
5004 },
5005 {
5006 fn ownerRemoveNftTypeAndRank(
5007 data: &[u8],
5008 ) -> alloy_sol_types::Result<
5009 HoprStakingProxyForNetworkRegistryCalls,
5010 > {
5011 <ownerRemoveNftTypeAndRankCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
5012 data,
5013 )
5014 .map(
5015 HoprStakingProxyForNetworkRegistryCalls::ownerRemoveNftTypeAndRank,
5016 )
5017 }
5018 ownerRemoveNftTypeAndRank
5019 },
5020 {
5021 fn ownerBatchAddSpecialNftTypeAndRank(
5022 data: &[u8],
5023 ) -> alloy_sol_types::Result<
5024 HoprStakingProxyForNetworkRegistryCalls,
5025 > {
5026 <ownerBatchAddSpecialNftTypeAndRankCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
5027 data,
5028 )
5029 .map(
5030 HoprStakingProxyForNetworkRegistryCalls::ownerBatchAddSpecialNftTypeAndRank,
5031 )
5032 }
5033 ownerBatchAddSpecialNftTypeAndRank
5034 },
5035 {
5036 fn renounceOwnership(
5037 data: &[u8],
5038 ) -> alloy_sol_types::Result<
5039 HoprStakingProxyForNetworkRegistryCalls,
5040 > {
5041 <renounceOwnershipCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
5042 data,
5043 )
5044 .map(
5045 HoprStakingProxyForNetworkRegistryCalls::renounceOwnership,
5046 )
5047 }
5048 renounceOwnership
5049 },
5050 {
5051 fn updateStakeContract(
5052 data: &[u8],
5053 ) -> alloy_sol_types::Result<
5054 HoprStakingProxyForNetworkRegistryCalls,
5055 > {
5056 <updateStakeContractCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
5057 data,
5058 )
5059 .map(
5060 HoprStakingProxyForNetworkRegistryCalls::updateStakeContract,
5061 )
5062 }
5063 updateStakeContract
5064 },
5065 {
5066 fn owner(
5067 data: &[u8],
5068 ) -> alloy_sol_types::Result<
5069 HoprStakingProxyForNetworkRegistryCalls,
5070 > {
5071 <ownerCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
5072 data,
5073 )
5074 .map(HoprStakingProxyForNetworkRegistryCalls::owner)
5075 }
5076 owner
5077 },
5078 {
5079 fn ownerAddNftTypeAndRank(
5080 data: &[u8],
5081 ) -> alloy_sol_types::Result<
5082 HoprStakingProxyForNetworkRegistryCalls,
5083 > {
5084 <ownerAddNftTypeAndRankCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
5085 data,
5086 )
5087 .map(
5088 HoprStakingProxyForNetworkRegistryCalls::ownerAddNftTypeAndRank,
5089 )
5090 }
5091 ownerAddNftTypeAndRank
5092 },
5093 {
5094 fn ownerBatchRemoveSpecialNftTypeAndRank(
5095 data: &[u8],
5096 ) -> alloy_sol_types::Result<
5097 HoprStakingProxyForNetworkRegistryCalls,
5098 > {
5099 <ownerBatchRemoveSpecialNftTypeAndRankCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
5100 data,
5101 )
5102 .map(
5103 HoprStakingProxyForNetworkRegistryCalls::ownerBatchRemoveSpecialNftTypeAndRank,
5104 )
5105 }
5106 ownerBatchRemoveSpecialNftTypeAndRank
5107 },
5108 {
5109 fn maxAllowedRegistrations(
5110 data: &[u8],
5111 ) -> alloy_sol_types::Result<
5112 HoprStakingProxyForNetworkRegistryCalls,
5113 > {
5114 <maxAllowedRegistrationsCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
5115 data,
5116 )
5117 .map(
5118 HoprStakingProxyForNetworkRegistryCalls::maxAllowedRegistrations,
5119 )
5120 }
5121 maxAllowedRegistrations
5122 },
5123 {
5124 fn maxRegistrationsPerSpecialNft(
5125 data: &[u8],
5126 ) -> alloy_sol_types::Result<
5127 HoprStakingProxyForNetworkRegistryCalls,
5128 > {
5129 <maxRegistrationsPerSpecialNftCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
5130 data,
5131 )
5132 .map(
5133 HoprStakingProxyForNetworkRegistryCalls::maxRegistrationsPerSpecialNft,
5134 )
5135 }
5136 maxRegistrationsPerSpecialNft
5137 },
5138 {
5139 fn canOperateFor(
5140 data: &[u8],
5141 ) -> alloy_sol_types::Result<
5142 HoprStakingProxyForNetworkRegistryCalls,
5143 > {
5144 <canOperateForCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
5145 data,
5146 )
5147 .map(HoprStakingProxyForNetworkRegistryCalls::canOperateFor)
5148 }
5149 canOperateFor
5150 },
5151 {
5152 fn eligibleNftTypeAndRank(
5153 data: &[u8],
5154 ) -> alloy_sol_types::Result<
5155 HoprStakingProxyForNetworkRegistryCalls,
5156 > {
5157 <eligibleNftTypeAndRankCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
5158 data,
5159 )
5160 .map(
5161 HoprStakingProxyForNetworkRegistryCalls::eligibleNftTypeAndRank,
5162 )
5163 }
5164 eligibleNftTypeAndRank
5165 },
5166 {
5167 fn ownerUpdateThreshold(
5168 data: &[u8],
5169 ) -> alloy_sol_types::Result<
5170 HoprStakingProxyForNetworkRegistryCalls,
5171 > {
5172 <ownerUpdateThresholdCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
5173 data,
5174 )
5175 .map(
5176 HoprStakingProxyForNetworkRegistryCalls::ownerUpdateThreshold,
5177 )
5178 }
5179 ownerUpdateThreshold
5180 },
5181 {
5182 fn stakeThreshold(
5183 data: &[u8],
5184 ) -> alloy_sol_types::Result<
5185 HoprStakingProxyForNetworkRegistryCalls,
5186 > {
5187 <stakeThresholdCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
5188 data,
5189 )
5190 .map(HoprStakingProxyForNetworkRegistryCalls::stakeThreshold)
5191 }
5192 stakeThreshold
5193 },
5194 {
5195 fn transferOwnership(
5196 data: &[u8],
5197 ) -> alloy_sol_types::Result<
5198 HoprStakingProxyForNetworkRegistryCalls,
5199 > {
5200 <transferOwnershipCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
5201 data,
5202 )
5203 .map(
5204 HoprStakingProxyForNetworkRegistryCalls::transferOwnership,
5205 )
5206 }
5207 transferOwnership
5208 },
5209 {
5210 fn ownerBatchRemoveNftTypeAndRank(
5211 data: &[u8],
5212 ) -> alloy_sol_types::Result<
5213 HoprStakingProxyForNetworkRegistryCalls,
5214 > {
5215 <ownerBatchRemoveNftTypeAndRankCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
5216 data,
5217 )
5218 .map(
5219 HoprStakingProxyForNetworkRegistryCalls::ownerBatchRemoveNftTypeAndRank,
5220 )
5221 }
5222 ownerBatchRemoveNftTypeAndRank
5223 },
5224 ];
5225 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
5226 return Err(
5227 alloy_sol_types::Error::unknown_selector(
5228 <Self as alloy_sol_types::SolInterface>::NAME,
5229 selector,
5230 ),
5231 );
5232 };
5233 DECODE_VALIDATE_SHIMS[idx](data)
5234 }
5235 #[inline]
5236 fn abi_encoded_size(&self) -> usize {
5237 match self {
5238 Self::canOperateFor(inner) => {
5239 <canOperateForCall as alloy_sol_types::SolCall>::abi_encoded_size(
5240 inner,
5241 )
5242 }
5243 Self::eligibleNftTypeAndRank(inner) => {
5244 <eligibleNftTypeAndRankCall as alloy_sol_types::SolCall>::abi_encoded_size(
5245 inner,
5246 )
5247 }
5248 Self::maxAllowedRegistrations(inner) => {
5249 <maxAllowedRegistrationsCall as alloy_sol_types::SolCall>::abi_encoded_size(
5250 inner,
5251 )
5252 }
5253 Self::maxRegistrationsPerSpecialNft(inner) => {
5254 <maxRegistrationsPerSpecialNftCall as alloy_sol_types::SolCall>::abi_encoded_size(
5255 inner,
5256 )
5257 }
5258 Self::owner(inner) => {
5259 <ownerCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
5260 }
5261 Self::ownerAddNftTypeAndRank(inner) => {
5262 <ownerAddNftTypeAndRankCall as alloy_sol_types::SolCall>::abi_encoded_size(
5263 inner,
5264 )
5265 }
5266 Self::ownerBatchAddNftTypeAndRank(inner) => {
5267 <ownerBatchAddNftTypeAndRankCall as alloy_sol_types::SolCall>::abi_encoded_size(
5268 inner,
5269 )
5270 }
5271 Self::ownerBatchAddSpecialNftTypeAndRank(inner) => {
5272 <ownerBatchAddSpecialNftTypeAndRankCall as alloy_sol_types::SolCall>::abi_encoded_size(
5273 inner,
5274 )
5275 }
5276 Self::ownerBatchRemoveNftTypeAndRank(inner) => {
5277 <ownerBatchRemoveNftTypeAndRankCall as alloy_sol_types::SolCall>::abi_encoded_size(
5278 inner,
5279 )
5280 }
5281 Self::ownerBatchRemoveSpecialNftTypeAndRank(inner) => {
5282 <ownerBatchRemoveSpecialNftTypeAndRankCall as alloy_sol_types::SolCall>::abi_encoded_size(
5283 inner,
5284 )
5285 }
5286 Self::ownerRemoveNftTypeAndRank(inner) => {
5287 <ownerRemoveNftTypeAndRankCall as alloy_sol_types::SolCall>::abi_encoded_size(
5288 inner,
5289 )
5290 }
5291 Self::ownerUpdateThreshold(inner) => {
5292 <ownerUpdateThresholdCall as alloy_sol_types::SolCall>::abi_encoded_size(
5293 inner,
5294 )
5295 }
5296 Self::renounceOwnership(inner) => {
5297 <renounceOwnershipCall as alloy_sol_types::SolCall>::abi_encoded_size(
5298 inner,
5299 )
5300 }
5301 Self::specialNftTypeAndRank(inner) => {
5302 <specialNftTypeAndRankCall as alloy_sol_types::SolCall>::abi_encoded_size(
5303 inner,
5304 )
5305 }
5306 Self::stakeContract(inner) => {
5307 <stakeContractCall as alloy_sol_types::SolCall>::abi_encoded_size(
5308 inner,
5309 )
5310 }
5311 Self::stakeThreshold(inner) => {
5312 <stakeThresholdCall as alloy_sol_types::SolCall>::abi_encoded_size(
5313 inner,
5314 )
5315 }
5316 Self::transferOwnership(inner) => {
5317 <transferOwnershipCall as alloy_sol_types::SolCall>::abi_encoded_size(
5318 inner,
5319 )
5320 }
5321 Self::updateStakeContract(inner) => {
5322 <updateStakeContractCall as alloy_sol_types::SolCall>::abi_encoded_size(
5323 inner,
5324 )
5325 }
5326 }
5327 }
5328 #[inline]
5329 fn abi_encode_raw(&self, out: &mut alloy_sol_types::private::Vec<u8>) {
5330 match self {
5331 Self::canOperateFor(inner) => {
5332 <canOperateForCall as alloy_sol_types::SolCall>::abi_encode_raw(
5333 inner,
5334 out,
5335 )
5336 }
5337 Self::eligibleNftTypeAndRank(inner) => {
5338 <eligibleNftTypeAndRankCall as alloy_sol_types::SolCall>::abi_encode_raw(
5339 inner,
5340 out,
5341 )
5342 }
5343 Self::maxAllowedRegistrations(inner) => {
5344 <maxAllowedRegistrationsCall as alloy_sol_types::SolCall>::abi_encode_raw(
5345 inner,
5346 out,
5347 )
5348 }
5349 Self::maxRegistrationsPerSpecialNft(inner) => {
5350 <maxRegistrationsPerSpecialNftCall as alloy_sol_types::SolCall>::abi_encode_raw(
5351 inner,
5352 out,
5353 )
5354 }
5355 Self::owner(inner) => {
5356 <ownerCall as alloy_sol_types::SolCall>::abi_encode_raw(inner, out)
5357 }
5358 Self::ownerAddNftTypeAndRank(inner) => {
5359 <ownerAddNftTypeAndRankCall as alloy_sol_types::SolCall>::abi_encode_raw(
5360 inner,
5361 out,
5362 )
5363 }
5364 Self::ownerBatchAddNftTypeAndRank(inner) => {
5365 <ownerBatchAddNftTypeAndRankCall as alloy_sol_types::SolCall>::abi_encode_raw(
5366 inner,
5367 out,
5368 )
5369 }
5370 Self::ownerBatchAddSpecialNftTypeAndRank(inner) => {
5371 <ownerBatchAddSpecialNftTypeAndRankCall as alloy_sol_types::SolCall>::abi_encode_raw(
5372 inner,
5373 out,
5374 )
5375 }
5376 Self::ownerBatchRemoveNftTypeAndRank(inner) => {
5377 <ownerBatchRemoveNftTypeAndRankCall as alloy_sol_types::SolCall>::abi_encode_raw(
5378 inner,
5379 out,
5380 )
5381 }
5382 Self::ownerBatchRemoveSpecialNftTypeAndRank(inner) => {
5383 <ownerBatchRemoveSpecialNftTypeAndRankCall as alloy_sol_types::SolCall>::abi_encode_raw(
5384 inner,
5385 out,
5386 )
5387 }
5388 Self::ownerRemoveNftTypeAndRank(inner) => {
5389 <ownerRemoveNftTypeAndRankCall as alloy_sol_types::SolCall>::abi_encode_raw(
5390 inner,
5391 out,
5392 )
5393 }
5394 Self::ownerUpdateThreshold(inner) => {
5395 <ownerUpdateThresholdCall as alloy_sol_types::SolCall>::abi_encode_raw(
5396 inner,
5397 out,
5398 )
5399 }
5400 Self::renounceOwnership(inner) => {
5401 <renounceOwnershipCall as alloy_sol_types::SolCall>::abi_encode_raw(
5402 inner,
5403 out,
5404 )
5405 }
5406 Self::specialNftTypeAndRank(inner) => {
5407 <specialNftTypeAndRankCall as alloy_sol_types::SolCall>::abi_encode_raw(
5408 inner,
5409 out,
5410 )
5411 }
5412 Self::stakeContract(inner) => {
5413 <stakeContractCall as alloy_sol_types::SolCall>::abi_encode_raw(
5414 inner,
5415 out,
5416 )
5417 }
5418 Self::stakeThreshold(inner) => {
5419 <stakeThresholdCall as alloy_sol_types::SolCall>::abi_encode_raw(
5420 inner,
5421 out,
5422 )
5423 }
5424 Self::transferOwnership(inner) => {
5425 <transferOwnershipCall as alloy_sol_types::SolCall>::abi_encode_raw(
5426 inner,
5427 out,
5428 )
5429 }
5430 Self::updateStakeContract(inner) => {
5431 <updateStakeContractCall as alloy_sol_types::SolCall>::abi_encode_raw(
5432 inner,
5433 out,
5434 )
5435 }
5436 }
5437 }
5438 }
5439 #[derive(serde::Serialize, serde::Deserialize)]
5441 #[derive(Debug, PartialEq, Eq, Hash)]
5442 pub enum HoprStakingProxyForNetworkRegistryErrors {
5443 #[allow(missing_docs)]
5444 MaxRegistrationsMismatch(MaxRegistrationsMismatch),
5445 #[allow(missing_docs)]
5446 NftRanksMismatch(NftRanksMismatch),
5447 #[allow(missing_docs)]
5448 SameStakingThreshold(SameStakingThreshold),
5449 }
5450 #[automatically_derived]
5451 impl HoprStakingProxyForNetworkRegistryErrors {
5452 pub const SELECTORS: &'static [[u8; 4usize]] = &[
5459 [25u8, 121u8, 16u8, 233u8],
5460 [32u8, 228u8, 123u8, 19u8],
5461 [72u8, 133u8, 245u8, 155u8],
5462 ];
5463 }
5464 #[automatically_derived]
5465 impl alloy_sol_types::SolInterface for HoprStakingProxyForNetworkRegistryErrors {
5466 const NAME: &'static str = "HoprStakingProxyForNetworkRegistryErrors";
5467 const MIN_DATA_LENGTH: usize = 0usize;
5468 const COUNT: usize = 3usize;
5469 #[inline]
5470 fn selector(&self) -> [u8; 4] {
5471 match self {
5472 Self::MaxRegistrationsMismatch(_) => {
5473 <MaxRegistrationsMismatch as alloy_sol_types::SolError>::SELECTOR
5474 }
5475 Self::NftRanksMismatch(_) => {
5476 <NftRanksMismatch as alloy_sol_types::SolError>::SELECTOR
5477 }
5478 Self::SameStakingThreshold(_) => {
5479 <SameStakingThreshold as alloy_sol_types::SolError>::SELECTOR
5480 }
5481 }
5482 }
5483 #[inline]
5484 fn selector_at(i: usize) -> ::core::option::Option<[u8; 4]> {
5485 Self::SELECTORS.get(i).copied()
5486 }
5487 #[inline]
5488 fn valid_selector(selector: [u8; 4]) -> bool {
5489 Self::SELECTORS.binary_search(&selector).is_ok()
5490 }
5491 #[inline]
5492 #[allow(non_snake_case)]
5493 fn abi_decode_raw(
5494 selector: [u8; 4],
5495 data: &[u8],
5496 ) -> alloy_sol_types::Result<Self> {
5497 static DECODE_SHIMS: &[fn(
5498 &[u8],
5499 ) -> alloy_sol_types::Result<HoprStakingProxyForNetworkRegistryErrors>] = &[
5500 {
5501 fn MaxRegistrationsMismatch(
5502 data: &[u8],
5503 ) -> alloy_sol_types::Result<
5504 HoprStakingProxyForNetworkRegistryErrors,
5505 > {
5506 <MaxRegistrationsMismatch as alloy_sol_types::SolError>::abi_decode_raw(
5507 data,
5508 )
5509 .map(
5510 HoprStakingProxyForNetworkRegistryErrors::MaxRegistrationsMismatch,
5511 )
5512 }
5513 MaxRegistrationsMismatch
5514 },
5515 {
5516 fn SameStakingThreshold(
5517 data: &[u8],
5518 ) -> alloy_sol_types::Result<
5519 HoprStakingProxyForNetworkRegistryErrors,
5520 > {
5521 <SameStakingThreshold as alloy_sol_types::SolError>::abi_decode_raw(
5522 data,
5523 )
5524 .map(
5525 HoprStakingProxyForNetworkRegistryErrors::SameStakingThreshold,
5526 )
5527 }
5528 SameStakingThreshold
5529 },
5530 {
5531 fn NftRanksMismatch(
5532 data: &[u8],
5533 ) -> alloy_sol_types::Result<
5534 HoprStakingProxyForNetworkRegistryErrors,
5535 > {
5536 <NftRanksMismatch as alloy_sol_types::SolError>::abi_decode_raw(
5537 data,
5538 )
5539 .map(
5540 HoprStakingProxyForNetworkRegistryErrors::NftRanksMismatch,
5541 )
5542 }
5543 NftRanksMismatch
5544 },
5545 ];
5546 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
5547 return Err(
5548 alloy_sol_types::Error::unknown_selector(
5549 <Self as alloy_sol_types::SolInterface>::NAME,
5550 selector,
5551 ),
5552 );
5553 };
5554 DECODE_SHIMS[idx](data)
5555 }
5556 #[inline]
5557 #[allow(non_snake_case)]
5558 fn abi_decode_raw_validate(
5559 selector: [u8; 4],
5560 data: &[u8],
5561 ) -> alloy_sol_types::Result<Self> {
5562 static DECODE_VALIDATE_SHIMS: &[fn(
5563 &[u8],
5564 ) -> alloy_sol_types::Result<HoprStakingProxyForNetworkRegistryErrors>] = &[
5565 {
5566 fn MaxRegistrationsMismatch(
5567 data: &[u8],
5568 ) -> alloy_sol_types::Result<
5569 HoprStakingProxyForNetworkRegistryErrors,
5570 > {
5571 <MaxRegistrationsMismatch as alloy_sol_types::SolError>::abi_decode_raw_validate(
5572 data,
5573 )
5574 .map(
5575 HoprStakingProxyForNetworkRegistryErrors::MaxRegistrationsMismatch,
5576 )
5577 }
5578 MaxRegistrationsMismatch
5579 },
5580 {
5581 fn SameStakingThreshold(
5582 data: &[u8],
5583 ) -> alloy_sol_types::Result<
5584 HoprStakingProxyForNetworkRegistryErrors,
5585 > {
5586 <SameStakingThreshold as alloy_sol_types::SolError>::abi_decode_raw_validate(
5587 data,
5588 )
5589 .map(
5590 HoprStakingProxyForNetworkRegistryErrors::SameStakingThreshold,
5591 )
5592 }
5593 SameStakingThreshold
5594 },
5595 {
5596 fn NftRanksMismatch(
5597 data: &[u8],
5598 ) -> alloy_sol_types::Result<
5599 HoprStakingProxyForNetworkRegistryErrors,
5600 > {
5601 <NftRanksMismatch as alloy_sol_types::SolError>::abi_decode_raw_validate(
5602 data,
5603 )
5604 .map(
5605 HoprStakingProxyForNetworkRegistryErrors::NftRanksMismatch,
5606 )
5607 }
5608 NftRanksMismatch
5609 },
5610 ];
5611 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
5612 return Err(
5613 alloy_sol_types::Error::unknown_selector(
5614 <Self as alloy_sol_types::SolInterface>::NAME,
5615 selector,
5616 ),
5617 );
5618 };
5619 DECODE_VALIDATE_SHIMS[idx](data)
5620 }
5621 #[inline]
5622 fn abi_encoded_size(&self) -> usize {
5623 match self {
5624 Self::MaxRegistrationsMismatch(inner) => {
5625 <MaxRegistrationsMismatch as alloy_sol_types::SolError>::abi_encoded_size(
5626 inner,
5627 )
5628 }
5629 Self::NftRanksMismatch(inner) => {
5630 <NftRanksMismatch as alloy_sol_types::SolError>::abi_encoded_size(
5631 inner,
5632 )
5633 }
5634 Self::SameStakingThreshold(inner) => {
5635 <SameStakingThreshold as alloy_sol_types::SolError>::abi_encoded_size(
5636 inner,
5637 )
5638 }
5639 }
5640 }
5641 #[inline]
5642 fn abi_encode_raw(&self, out: &mut alloy_sol_types::private::Vec<u8>) {
5643 match self {
5644 Self::MaxRegistrationsMismatch(inner) => {
5645 <MaxRegistrationsMismatch as alloy_sol_types::SolError>::abi_encode_raw(
5646 inner,
5647 out,
5648 )
5649 }
5650 Self::NftRanksMismatch(inner) => {
5651 <NftRanksMismatch as alloy_sol_types::SolError>::abi_encode_raw(
5652 inner,
5653 out,
5654 )
5655 }
5656 Self::SameStakingThreshold(inner) => {
5657 <SameStakingThreshold as alloy_sol_types::SolError>::abi_encode_raw(
5658 inner,
5659 out,
5660 )
5661 }
5662 }
5663 }
5664 }
5665 #[derive(serde::Serialize, serde::Deserialize)]
5667 #[derive(Debug, PartialEq, Eq, Hash)]
5668 pub enum HoprStakingProxyForNetworkRegistryEvents {
5669 #[allow(missing_docs)]
5670 NftTypeAndRankAdded(NftTypeAndRankAdded),
5671 #[allow(missing_docs)]
5672 NftTypeAndRankRemoved(NftTypeAndRankRemoved),
5673 #[allow(missing_docs)]
5674 OwnershipTransferred(OwnershipTransferred),
5675 #[allow(missing_docs)]
5676 SpecialNftTypeAndRankAdded(SpecialNftTypeAndRankAdded),
5677 #[allow(missing_docs)]
5678 SpecialNftTypeAndRankRemoved(SpecialNftTypeAndRankRemoved),
5679 #[allow(missing_docs)]
5680 StakeContractUpdated(StakeContractUpdated),
5681 #[allow(missing_docs)]
5682 ThresholdUpdated(ThresholdUpdated),
5683 }
5684 #[automatically_derived]
5685 impl HoprStakingProxyForNetworkRegistryEvents {
5686 pub const SELECTORS: &'static [[u8; 32usize]] = &[
5693 [
5694 35u8, 96u8, 238u8, 62u8, 119u8, 72u8, 84u8, 65u8, 207u8, 160u8, 126u8,
5695 48u8, 232u8, 220u8, 91u8, 3u8, 31u8, 172u8, 56u8, 69u8, 86u8, 71u8,
5696 200u8, 154u8, 118u8, 52u8, 52u8, 245u8, 135u8, 51u8, 252u8, 193u8,
5697 ],
5698 [
5699 87u8, 59u8, 191u8, 166u8, 121u8, 175u8, 111u8, 220u8, 219u8, 217u8,
5700 207u8, 25u8, 28u8, 94u8, 243u8, 229u8, 38u8, 89u8, 154u8, 194u8, 191u8,
5701 117u8, 233u8, 23u8, 125u8, 71u8, 173u8, 184u8, 83u8, 11u8, 156u8, 105u8,
5702 ],
5703 [
5704 139u8, 224u8, 7u8, 156u8, 83u8, 22u8, 89u8, 20u8, 19u8, 68u8, 205u8,
5705 31u8, 208u8, 164u8, 242u8, 132u8, 25u8, 73u8, 127u8, 151u8, 34u8, 163u8,
5706 218u8, 175u8, 227u8, 180u8, 24u8, 111u8, 107u8, 100u8, 87u8, 224u8,
5707 ],
5708 [
5709 173u8, 250u8, 142u8, 203u8, 33u8, 182u8, 150u8, 46u8, 188u8, 208u8,
5710 173u8, 189u8, 154u8, 185u8, 133u8, 183u8, 180u8, 197u8, 181u8, 235u8,
5711 59u8, 13u8, 234u8, 214u8, 131u8, 23u8, 21u8, 101u8, 199u8, 191u8, 225u8,
5712 113u8,
5713 ],
5714 [
5715 177u8, 50u8, 62u8, 66u8, 217u8, 123u8, 43u8, 61u8, 69u8, 249u8, 212u8,
5716 100u8, 27u8, 244u8, 182u8, 179u8, 249u8, 208u8, 208u8, 30u8, 144u8,
5717 131u8, 42u8, 231u8, 183u8, 65u8, 49u8, 9u8, 183u8, 165u8, 211u8, 71u8,
5718 ],
5719 [
5720 219u8, 117u8, 25u8, 145u8, 3u8, 80u8, 75u8, 209u8, 211u8, 101u8, 61u8,
5721 231u8, 88u8, 212u8, 41u8, 91u8, 240u8, 13u8, 69u8, 135u8, 225u8, 213u8,
5722 61u8, 252u8, 17u8, 68u8, 100u8, 204u8, 71u8, 237u8, 151u8, 183u8,
5723 ],
5724 [
5725 228u8, 59u8, 245u8, 245u8, 248u8, 161u8, 33u8, 25u8, 48u8, 229u8, 114u8,
5726 107u8, 160u8, 171u8, 206u8, 172u8, 177u8, 116u8, 143u8, 151u8, 178u8,
5727 150u8, 109u8, 179u8, 10u8, 129u8, 139u8, 161u8, 9u8, 97u8, 203u8, 204u8,
5728 ],
5729 ];
5730 }
5731 #[automatically_derived]
5732 impl alloy_sol_types::SolEventInterface
5733 for HoprStakingProxyForNetworkRegistryEvents {
5734 const NAME: &'static str = "HoprStakingProxyForNetworkRegistryEvents";
5735 const COUNT: usize = 7usize;
5736 fn decode_raw_log(
5737 topics: &[alloy_sol_types::Word],
5738 data: &[u8],
5739 ) -> alloy_sol_types::Result<Self> {
5740 match topics.first().copied() {
5741 Some(
5742 <NftTypeAndRankAdded as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
5743 ) => {
5744 <NftTypeAndRankAdded as alloy_sol_types::SolEvent>::decode_raw_log(
5745 topics,
5746 data,
5747 )
5748 .map(Self::NftTypeAndRankAdded)
5749 }
5750 Some(
5751 <NftTypeAndRankRemoved as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
5752 ) => {
5753 <NftTypeAndRankRemoved as alloy_sol_types::SolEvent>::decode_raw_log(
5754 topics,
5755 data,
5756 )
5757 .map(Self::NftTypeAndRankRemoved)
5758 }
5759 Some(
5760 <OwnershipTransferred as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
5761 ) => {
5762 <OwnershipTransferred as alloy_sol_types::SolEvent>::decode_raw_log(
5763 topics,
5764 data,
5765 )
5766 .map(Self::OwnershipTransferred)
5767 }
5768 Some(
5769 <SpecialNftTypeAndRankAdded as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
5770 ) => {
5771 <SpecialNftTypeAndRankAdded as alloy_sol_types::SolEvent>::decode_raw_log(
5772 topics,
5773 data,
5774 )
5775 .map(Self::SpecialNftTypeAndRankAdded)
5776 }
5777 Some(
5778 <SpecialNftTypeAndRankRemoved as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
5779 ) => {
5780 <SpecialNftTypeAndRankRemoved as alloy_sol_types::SolEvent>::decode_raw_log(
5781 topics,
5782 data,
5783 )
5784 .map(Self::SpecialNftTypeAndRankRemoved)
5785 }
5786 Some(
5787 <StakeContractUpdated as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
5788 ) => {
5789 <StakeContractUpdated as alloy_sol_types::SolEvent>::decode_raw_log(
5790 topics,
5791 data,
5792 )
5793 .map(Self::StakeContractUpdated)
5794 }
5795 Some(<ThresholdUpdated as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
5796 <ThresholdUpdated as alloy_sol_types::SolEvent>::decode_raw_log(
5797 topics,
5798 data,
5799 )
5800 .map(Self::ThresholdUpdated)
5801 }
5802 _ => {
5803 alloy_sol_types::private::Err(alloy_sol_types::Error::InvalidLog {
5804 name: <Self as alloy_sol_types::SolEventInterface>::NAME,
5805 log: alloy_sol_types::private::Box::new(
5806 alloy_sol_types::private::LogData::new_unchecked(
5807 topics.to_vec(),
5808 data.to_vec().into(),
5809 ),
5810 ),
5811 })
5812 }
5813 }
5814 }
5815 }
5816 #[automatically_derived]
5817 impl alloy_sol_types::private::IntoLogData
5818 for HoprStakingProxyForNetworkRegistryEvents {
5819 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
5820 match self {
5821 Self::NftTypeAndRankAdded(inner) => {
5822 alloy_sol_types::private::IntoLogData::to_log_data(inner)
5823 }
5824 Self::NftTypeAndRankRemoved(inner) => {
5825 alloy_sol_types::private::IntoLogData::to_log_data(inner)
5826 }
5827 Self::OwnershipTransferred(inner) => {
5828 alloy_sol_types::private::IntoLogData::to_log_data(inner)
5829 }
5830 Self::SpecialNftTypeAndRankAdded(inner) => {
5831 alloy_sol_types::private::IntoLogData::to_log_data(inner)
5832 }
5833 Self::SpecialNftTypeAndRankRemoved(inner) => {
5834 alloy_sol_types::private::IntoLogData::to_log_data(inner)
5835 }
5836 Self::StakeContractUpdated(inner) => {
5837 alloy_sol_types::private::IntoLogData::to_log_data(inner)
5838 }
5839 Self::ThresholdUpdated(inner) => {
5840 alloy_sol_types::private::IntoLogData::to_log_data(inner)
5841 }
5842 }
5843 }
5844 fn into_log_data(self) -> alloy_sol_types::private::LogData {
5845 match self {
5846 Self::NftTypeAndRankAdded(inner) => {
5847 alloy_sol_types::private::IntoLogData::into_log_data(inner)
5848 }
5849 Self::NftTypeAndRankRemoved(inner) => {
5850 alloy_sol_types::private::IntoLogData::into_log_data(inner)
5851 }
5852 Self::OwnershipTransferred(inner) => {
5853 alloy_sol_types::private::IntoLogData::into_log_data(inner)
5854 }
5855 Self::SpecialNftTypeAndRankAdded(inner) => {
5856 alloy_sol_types::private::IntoLogData::into_log_data(inner)
5857 }
5858 Self::SpecialNftTypeAndRankRemoved(inner) => {
5859 alloy_sol_types::private::IntoLogData::into_log_data(inner)
5860 }
5861 Self::StakeContractUpdated(inner) => {
5862 alloy_sol_types::private::IntoLogData::into_log_data(inner)
5863 }
5864 Self::ThresholdUpdated(inner) => {
5865 alloy_sol_types::private::IntoLogData::into_log_data(inner)
5866 }
5867 }
5868 }
5869 }
5870 use alloy::contract as alloy_contract;
5871 #[inline]
5875 pub const fn new<
5876 P: alloy_contract::private::Provider<N>,
5877 N: alloy_contract::private::Network,
5878 >(
5879 address: alloy_sol_types::private::Address,
5880 provider: P,
5881 ) -> HoprStakingProxyForNetworkRegistryInstance<P, N> {
5882 HoprStakingProxyForNetworkRegistryInstance::<P, N>::new(address, provider)
5883 }
5884 #[inline]
5890 pub fn deploy<
5891 P: alloy_contract::private::Provider<N>,
5892 N: alloy_contract::private::Network,
5893 >(
5894 provider: P,
5895 _stakeContract: alloy::sol_types::private::Address,
5896 _newOwner: alloy::sol_types::private::Address,
5897 _minStake: alloy::sol_types::private::primitives::aliases::U256,
5898 ) -> impl ::core::future::Future<
5899 Output = alloy_contract::Result<HoprStakingProxyForNetworkRegistryInstance<P, N>>,
5900 > {
5901 HoprStakingProxyForNetworkRegistryInstance::<
5902 P,
5903 N,
5904 >::deploy(provider, _stakeContract, _newOwner, _minStake)
5905 }
5906 #[inline]
5912 pub fn deploy_builder<
5913 P: alloy_contract::private::Provider<N>,
5914 N: alloy_contract::private::Network,
5915 >(
5916 provider: P,
5917 _stakeContract: alloy::sol_types::private::Address,
5918 _newOwner: alloy::sol_types::private::Address,
5919 _minStake: alloy::sol_types::private::primitives::aliases::U256,
5920 ) -> alloy_contract::RawCallBuilder<P, N> {
5921 HoprStakingProxyForNetworkRegistryInstance::<
5922 P,
5923 N,
5924 >::deploy_builder(provider, _stakeContract, _newOwner, _minStake)
5925 }
5926 #[derive(Clone)]
5938 pub struct HoprStakingProxyForNetworkRegistryInstance<
5939 P,
5940 N = alloy_contract::private::Ethereum,
5941 > {
5942 address: alloy_sol_types::private::Address,
5943 provider: P,
5944 _network: ::core::marker::PhantomData<N>,
5945 }
5946 #[automatically_derived]
5947 impl<P, N> ::core::fmt::Debug for HoprStakingProxyForNetworkRegistryInstance<P, N> {
5948 #[inline]
5949 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5950 f.debug_tuple("HoprStakingProxyForNetworkRegistryInstance")
5951 .field(&self.address)
5952 .finish()
5953 }
5954 }
5955 #[automatically_derived]
5957 impl<
5958 P: alloy_contract::private::Provider<N>,
5959 N: alloy_contract::private::Network,
5960 > HoprStakingProxyForNetworkRegistryInstance<P, N> {
5961 #[inline]
5965 pub const fn new(
5966 address: alloy_sol_types::private::Address,
5967 provider: P,
5968 ) -> Self {
5969 Self {
5970 address,
5971 provider,
5972 _network: ::core::marker::PhantomData,
5973 }
5974 }
5975 #[inline]
5981 pub async fn deploy(
5982 provider: P,
5983 _stakeContract: alloy::sol_types::private::Address,
5984 _newOwner: alloy::sol_types::private::Address,
5985 _minStake: alloy::sol_types::private::primitives::aliases::U256,
5986 ) -> alloy_contract::Result<HoprStakingProxyForNetworkRegistryInstance<P, N>> {
5987 let call_builder = Self::deploy_builder(
5988 provider,
5989 _stakeContract,
5990 _newOwner,
5991 _minStake,
5992 );
5993 let contract_address = call_builder.deploy().await?;
5994 Ok(Self::new(contract_address, call_builder.provider))
5995 }
5996 #[inline]
6002 pub fn deploy_builder(
6003 provider: P,
6004 _stakeContract: alloy::sol_types::private::Address,
6005 _newOwner: alloy::sol_types::private::Address,
6006 _minStake: alloy::sol_types::private::primitives::aliases::U256,
6007 ) -> alloy_contract::RawCallBuilder<P, N> {
6008 alloy_contract::RawCallBuilder::new_raw_deploy(
6009 provider,
6010 [
6011 &BYTECODE[..],
6012 &alloy_sol_types::SolConstructor::abi_encode(
6013 &constructorCall {
6014 _stakeContract,
6015 _newOwner,
6016 _minStake,
6017 },
6018 )[..],
6019 ]
6020 .concat()
6021 .into(),
6022 )
6023 }
6024 #[inline]
6026 pub const fn address(&self) -> &alloy_sol_types::private::Address {
6027 &self.address
6028 }
6029 #[inline]
6031 pub fn set_address(&mut self, address: alloy_sol_types::private::Address) {
6032 self.address = address;
6033 }
6034 pub fn at(mut self, address: alloy_sol_types::private::Address) -> Self {
6036 self.set_address(address);
6037 self
6038 }
6039 #[inline]
6041 pub const fn provider(&self) -> &P {
6042 &self.provider
6043 }
6044 }
6045 impl<P: ::core::clone::Clone, N> HoprStakingProxyForNetworkRegistryInstance<&P, N> {
6046 #[inline]
6048 pub fn with_cloned_provider(
6049 self,
6050 ) -> HoprStakingProxyForNetworkRegistryInstance<P, N> {
6051 HoprStakingProxyForNetworkRegistryInstance {
6052 address: self.address,
6053 provider: ::core::clone::Clone::clone(&self.provider),
6054 _network: ::core::marker::PhantomData,
6055 }
6056 }
6057 }
6058 #[automatically_derived]
6060 impl<
6061 P: alloy_contract::private::Provider<N>,
6062 N: alloy_contract::private::Network,
6063 > HoprStakingProxyForNetworkRegistryInstance<P, N> {
6064 pub fn call_builder<C: alloy_sol_types::SolCall>(
6069 &self,
6070 call: &C,
6071 ) -> alloy_contract::SolCallBuilder<&P, C, N> {
6072 alloy_contract::SolCallBuilder::new_sol(&self.provider, &self.address, call)
6073 }
6074 pub fn canOperateFor(
6076 &self,
6077 _0: alloy::sol_types::private::Address,
6078 _1: alloy::sol_types::private::Address,
6079 ) -> alloy_contract::SolCallBuilder<&P, canOperateForCall, N> {
6080 self.call_builder(&canOperateForCall { _0, _1 })
6081 }
6082 pub fn eligibleNftTypeAndRank(
6084 &self,
6085 _0: alloy::sol_types::private::primitives::aliases::U256,
6086 ) -> alloy_contract::SolCallBuilder<&P, eligibleNftTypeAndRankCall, N> {
6087 self.call_builder(&eligibleNftTypeAndRankCall(_0))
6088 }
6089 pub fn maxAllowedRegistrations(
6091 &self,
6092 account: alloy::sol_types::private::Address,
6093 ) -> alloy_contract::SolCallBuilder<&P, maxAllowedRegistrationsCall, N> {
6094 self.call_builder(
6095 &maxAllowedRegistrationsCall {
6096 account,
6097 },
6098 )
6099 }
6100 pub fn maxRegistrationsPerSpecialNft(
6102 &self,
6103 _0: alloy::sol_types::private::primitives::aliases::U256,
6104 ) -> alloy_contract::SolCallBuilder<&P, maxRegistrationsPerSpecialNftCall, N> {
6105 self.call_builder(&maxRegistrationsPerSpecialNftCall(_0))
6106 }
6107 pub fn owner(&self) -> alloy_contract::SolCallBuilder<&P, ownerCall, N> {
6109 self.call_builder(&ownerCall)
6110 }
6111 pub fn ownerAddNftTypeAndRank(
6113 &self,
6114 nftType: alloy::sol_types::private::primitives::aliases::U256,
6115 nftRank: alloy::sol_types::private::String,
6116 ) -> alloy_contract::SolCallBuilder<&P, ownerAddNftTypeAndRankCall, N> {
6117 self.call_builder(
6118 &ownerAddNftTypeAndRankCall {
6119 nftType,
6120 nftRank,
6121 },
6122 )
6123 }
6124 pub fn ownerBatchAddNftTypeAndRank(
6126 &self,
6127 nftTypes: alloy::sol_types::private::Vec<
6128 alloy::sol_types::private::primitives::aliases::U256,
6129 >,
6130 nftRanks: alloy::sol_types::private::Vec<alloy::sol_types::private::String>,
6131 ) -> alloy_contract::SolCallBuilder<&P, ownerBatchAddNftTypeAndRankCall, N> {
6132 self.call_builder(
6133 &ownerBatchAddNftTypeAndRankCall {
6134 nftTypes,
6135 nftRanks,
6136 },
6137 )
6138 }
6139 pub fn ownerBatchAddSpecialNftTypeAndRank(
6141 &self,
6142 nftTypes: alloy::sol_types::private::Vec<
6143 alloy::sol_types::private::primitives::aliases::U256,
6144 >,
6145 nftRanks: alloy::sol_types::private::Vec<alloy::sol_types::private::String>,
6146 maxRegistrations: alloy::sol_types::private::Vec<
6147 alloy::sol_types::private::primitives::aliases::U256,
6148 >,
6149 ) -> alloy_contract::SolCallBuilder<
6150 &P,
6151 ownerBatchAddSpecialNftTypeAndRankCall,
6152 N,
6153 > {
6154 self.call_builder(
6155 &ownerBatchAddSpecialNftTypeAndRankCall {
6156 nftTypes,
6157 nftRanks,
6158 maxRegistrations,
6159 },
6160 )
6161 }
6162 pub fn ownerBatchRemoveNftTypeAndRank(
6164 &self,
6165 nftTypes: alloy::sol_types::private::Vec<
6166 alloy::sol_types::private::primitives::aliases::U256,
6167 >,
6168 nftRanks: alloy::sol_types::private::Vec<alloy::sol_types::private::String>,
6169 ) -> alloy_contract::SolCallBuilder<&P, ownerBatchRemoveNftTypeAndRankCall, N> {
6170 self.call_builder(
6171 &ownerBatchRemoveNftTypeAndRankCall {
6172 nftTypes,
6173 nftRanks,
6174 },
6175 )
6176 }
6177 pub fn ownerBatchRemoveSpecialNftTypeAndRank(
6179 &self,
6180 nftTypes: alloy::sol_types::private::Vec<
6181 alloy::sol_types::private::primitives::aliases::U256,
6182 >,
6183 nftRanks: alloy::sol_types::private::Vec<alloy::sol_types::private::String>,
6184 ) -> alloy_contract::SolCallBuilder<
6185 &P,
6186 ownerBatchRemoveSpecialNftTypeAndRankCall,
6187 N,
6188 > {
6189 self.call_builder(
6190 &ownerBatchRemoveSpecialNftTypeAndRankCall {
6191 nftTypes,
6192 nftRanks,
6193 },
6194 )
6195 }
6196 pub fn ownerRemoveNftTypeAndRank(
6198 &self,
6199 nftType: alloy::sol_types::private::primitives::aliases::U256,
6200 nftRank: alloy::sol_types::private::String,
6201 ) -> alloy_contract::SolCallBuilder<&P, ownerRemoveNftTypeAndRankCall, N> {
6202 self.call_builder(
6203 &ownerRemoveNftTypeAndRankCall {
6204 nftType,
6205 nftRank,
6206 },
6207 )
6208 }
6209 pub fn ownerUpdateThreshold(
6211 &self,
6212 newThreshold: alloy::sol_types::private::primitives::aliases::U256,
6213 ) -> alloy_contract::SolCallBuilder<&P, ownerUpdateThresholdCall, N> {
6214 self.call_builder(
6215 &ownerUpdateThresholdCall {
6216 newThreshold,
6217 },
6218 )
6219 }
6220 pub fn renounceOwnership(
6222 &self,
6223 ) -> alloy_contract::SolCallBuilder<&P, renounceOwnershipCall, N> {
6224 self.call_builder(&renounceOwnershipCall)
6225 }
6226 pub fn specialNftTypeAndRank(
6228 &self,
6229 _0: alloy::sol_types::private::primitives::aliases::U256,
6230 ) -> alloy_contract::SolCallBuilder<&P, specialNftTypeAndRankCall, N> {
6231 self.call_builder(&specialNftTypeAndRankCall(_0))
6232 }
6233 pub fn stakeContract(
6235 &self,
6236 ) -> alloy_contract::SolCallBuilder<&P, stakeContractCall, N> {
6237 self.call_builder(&stakeContractCall)
6238 }
6239 pub fn stakeThreshold(
6241 &self,
6242 ) -> alloy_contract::SolCallBuilder<&P, stakeThresholdCall, N> {
6243 self.call_builder(&stakeThresholdCall)
6244 }
6245 pub fn transferOwnership(
6247 &self,
6248 newOwner: alloy::sol_types::private::Address,
6249 ) -> alloy_contract::SolCallBuilder<&P, transferOwnershipCall, N> {
6250 self.call_builder(&transferOwnershipCall { newOwner })
6251 }
6252 pub fn updateStakeContract(
6254 &self,
6255 _stakeContract: alloy::sol_types::private::Address,
6256 ) -> alloy_contract::SolCallBuilder<&P, updateStakeContractCall, N> {
6257 self.call_builder(
6258 &updateStakeContractCall {
6259 _stakeContract,
6260 },
6261 )
6262 }
6263 }
6264 #[automatically_derived]
6266 impl<
6267 P: alloy_contract::private::Provider<N>,
6268 N: alloy_contract::private::Network,
6269 > HoprStakingProxyForNetworkRegistryInstance<P, N> {
6270 pub fn event_filter<E: alloy_sol_types::SolEvent>(
6275 &self,
6276 ) -> alloy_contract::Event<&P, E, N> {
6277 alloy_contract::Event::new_sol(&self.provider, &self.address)
6278 }
6279 pub fn NftTypeAndRankAdded_filter(
6281 &self,
6282 ) -> alloy_contract::Event<&P, NftTypeAndRankAdded, N> {
6283 self.event_filter::<NftTypeAndRankAdded>()
6284 }
6285 pub fn NftTypeAndRankRemoved_filter(
6287 &self,
6288 ) -> alloy_contract::Event<&P, NftTypeAndRankRemoved, N> {
6289 self.event_filter::<NftTypeAndRankRemoved>()
6290 }
6291 pub fn OwnershipTransferred_filter(
6293 &self,
6294 ) -> alloy_contract::Event<&P, OwnershipTransferred, N> {
6295 self.event_filter::<OwnershipTransferred>()
6296 }
6297 pub fn SpecialNftTypeAndRankAdded_filter(
6299 &self,
6300 ) -> alloy_contract::Event<&P, SpecialNftTypeAndRankAdded, N> {
6301 self.event_filter::<SpecialNftTypeAndRankAdded>()
6302 }
6303 pub fn SpecialNftTypeAndRankRemoved_filter(
6305 &self,
6306 ) -> alloy_contract::Event<&P, SpecialNftTypeAndRankRemoved, N> {
6307 self.event_filter::<SpecialNftTypeAndRankRemoved>()
6308 }
6309 pub fn StakeContractUpdated_filter(
6311 &self,
6312 ) -> alloy_contract::Event<&P, StakeContractUpdated, N> {
6313 self.event_filter::<StakeContractUpdated>()
6314 }
6315 pub fn ThresholdUpdated_filter(
6317 &self,
6318 ) -> alloy_contract::Event<&P, ThresholdUpdated, N> {
6319 self.event_filter::<ThresholdUpdated>()
6320 }
6321 }
6322}