1#[allow(
1005 non_camel_case_types,
1006 non_snake_case,
1007 clippy::pub_underscore_fields,
1008 clippy::style,
1009 clippy::empty_structs_with_brackets
1010)]
1011pub mod HoprToken {
1012 use super::*;
1013 use alloy::sol_types as alloy_sol_types;
1014 #[rustfmt::skip]
1020 #[allow(clippy::all)]
1021 pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
1022 b"`\x80`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@\x80Q\x80\x82\x01\x82R`\n\x81Ri$'\xA8)\x10*7\xB5\xB2\xB7`\xB1\x1B` \x80\x83\x01\x91\x90\x91R\x82Q\x80\x84\x01\x84R`\x05\x81Rd6\xA4'\xA8)`\xD9\x1B\x81\x83\x01R\x83Q`\0\x81R\x91\x82\x01\x90\x93R\x90\x91\x90`\x04b\0\0k\x84\x82b\0\x04\xBBV[P`\x05b\0\0z\x83\x82b\0\x04\xBBV[P\x80Qb\0\0\x90\x90`\x06\x90` \x84\x01\x90b\0\x03\x96V[P`\0[`\x06T\x81\x10\x15b\0\x01\x04W`\x01`\x07`\0`\x06\x84\x81T\x81\x10b\0\0\xBBWb\0\0\xBBb\0\x05\x87V[`\0\x91\x82R` \x80\x83 \x91\x90\x91\x01T`\x01`\x01`\xA0\x1B\x03\x16\x83R\x82\x01\x92\x90\x92R`@\x01\x90 \x80T`\xFF\x19\x16\x91\x15\x15\x91\x90\x91\x17\x90U\x80b\0\0\xFB\x81b\0\x05\x9DV[\x91PPb\0\0\x94V[P`@Qc)\x96Z\x1D`\xE0\x1B\x81R0`\x04\x82\x01\x81\x90R\x7F\xAC\x7F\xBA\xB5\xF5J<\xA8\x19AgR<gS\xBF\xEB\x96\xA4E'\x92\x94\xB6\x12[h\xCC\xE2\x17pT`$\x83\x01R`D\x82\x01Rs\x18 \xA4\xB7a\x8B\xDEq\xDC\xE8\xCD\xC7:\xABl\x95\x90_\xAD$\x90c)\x96Z\x1D\x90`d\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x01\x7FW`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x01\x94W=`\0\x80>=`\0\xFD[PP`@Qc)\x96Z\x1D`\xE0\x1B\x81R0`\x04\x82\x01\x81\x90R\x7F\xAE\xA1\x99\xE3\x1AYbi\xB4,\xDA\xFD\x93@\x7F\x14Cm\xB6\xE4\xCA\xD6T\x17\x99L.\xB3s\x81\xE0Z`$\x83\x01R`D\x82\x01Rs\x18 \xA4\xB7a\x8B\xDEq\xDC\xE8\xCD\xC7:\xABl\x95\x90_\xAD$\x92Pc)\x96Z\x1D\x91P`d\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x02\x12W`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x02'W=`\0\x80>=`\0\xFD[PPPPPPPb\0\x02C`\0\x80\x1B3b\0\x02I` \x1B` \x1CV[b\0\x05\xC5V[b\0\x02U\x82\x82b\0\x02YV[PPV[b\0\x02e\x82\x82b\0\x02\x84V[`\0\x82\x81R`\x01` R`@\x90 b\0\x02\x7F\x90\x82b\0\x03$V[PPPV[`\0\x82\x81R` \x81\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x85\x16\x84R\x90\x91R\x90 T`\xFF\x16b\0\x02UW`\0\x82\x81R` \x81\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x85\x16\x84R\x90\x91R\x90 \x80T`\xFF\x19\x16`\x01\x17\x90Ub\0\x02\xE03\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x81`\x01`\x01`\xA0\x1B\x03\x16\x83\x7F/\x87\x88\x11~~\xFF\x1D\x82\xE9&\xECyI\x01\xD1|x\x02JP'\t@0E@\xA73eo\r`@Q`@Q\x80\x91\x03\x90\xA4PPV[`\0b\0\x03;\x83`\x01`\x01`\xA0\x1B\x03\x84\x16b\0\x03DV[\x90P[\x92\x91PPV[`\0\x81\x81R`\x01\x83\x01` R`@\x81 Tb\0\x03\x8DWP\x81T`\x01\x81\x81\x01\x84U`\0\x84\x81R` \x80\x82 \x90\x93\x01\x84\x90U\x84T\x84\x82R\x82\x86\x01\x90\x93R`@\x90 \x91\x90\x91Ub\0\x03>V[P`\0b\0\x03>V[\x82\x80T\x82\x82U\x90`\0R` `\0 \x90\x81\x01\x92\x82\x15b\0\x03\xEEW\x91` \x02\x82\x01[\x82\x81\x11\x15b\0\x03\xEEW\x82Q\x82T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x17\x82U` \x90\x92\x01\x91`\x01\x90\x91\x01\x90b\0\x03\xB7V[Pb\0\x03\xFC\x92\x91Pb\0\x04\0V[P\x90V[[\x80\x82\x11\x15b\0\x03\xFCW`\0\x81U`\x01\x01b\0\x04\x01V[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\x01\x81\x81\x1C\x90\x82\x16\x80b\0\x04BW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03b\0\x04cWcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15b\0\x02\x7FW`\0\x81\x81R` \x81 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15b\0\x04\x92WP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15b\0\x04\xB3W\x82\x81U`\x01\x01b\0\x04\x9EV[PPPPPPV[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15b\0\x04\xD7Wb\0\x04\xD7b\0\x04\x17V[b\0\x04\xEF\x81b\0\x04\xE8\x84Tb\0\x04-V[\x84b\0\x04iV[` \x80`\x1F\x83\x11`\x01\x81\x14b\0\x05'W`\0\x84\x15b\0\x05\x0EWP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ub\0\x04\xB3V[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15b\0\x05XW\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01b\0\x057V[P\x85\x82\x10\x15b\0\x05wW\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[cNH{q`\xE0\x1B`\0R`2`\x04R`$`\0\xFD[`\0`\x01\x82\x01b\0\x05\xBEWcNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[P`\x01\x01\x90V[a(\xF1\x80b\0\x05\xD5`\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\x01\xFBW`\x005`\xE0\x1C\x80c\x94yu\xD9\x11a\x01\x1AW\x80c\xD59\x13\x93\x11a\0\xADW\x80c\xDDb\xED>\x11a\0|W\x80c\xDDb\xED>\x14a\x04zW\x80c\xF7r\xA0\x92\x14a\x04\xB3W\x80c\xFA\xD8\xB3*\x14a\x04\xC6W\x80c\xFCg<O\x14a\x04\xD9W\x80c\xFE\x9D\x93\x03\x14a\x04\xECW`\0\x80\xFD[\x80c\xD59\x13\x93\x14a\x04\x1AW\x80c\xD5Gt\x1F\x14a\x04AW\x80c\xD9[cq\x14a\x04TW\x80c\xDC\xDC}\xD0\x14a\x04gW`\0\x80\xFD[\x80c\xA2\x17\xFD\xDF\x11a\0\xE9W\x80c\xA2\x17\xFD\xDF\x14a\x03\xD9W\x80c\xA9\x05\x9C\xBB\x14a\x03\xE1W\x80c\xB7\xD7\x8B\x1A\x14a\x03\xF4W\x80c\xCA\x15\xC8s\x14a\x04\x07W`\0\x80\xFD[\x80c\x94yu\xD9\x14a\x03\x98W\x80c\x95\x9B\x8C?\x14a\x03\xABW\x80c\x95\xD8\x9BA\x14a\x03\xBEW\x80c\x9B\xD9\xBB\xC6\x14a\x03\xC6W`\0\x80\xFD[\x80c//\xF1]\x11a\x01\x92W\x80cb\xAD\x1B\x83\x11a\x01aW\x80cb\xAD\x1B\x83\x14a\x03\x1EW\x80cp\xA0\x821\x14a\x031W\x80c\x90\x10\xD0|\x14a\x03ZW\x80c\x91\xD1HT\x14a\x03\x85W`\0\x80\xFD[\x80c//\xF1]\x14a\x02\xE0W\x80c1<\xE5g\x14a\x02\xF5W\x80c6V\x8A\xBE\x14a\x03\x04W\x80cUo\r\xC7\x14a\x03\x17W`\0\x80\xFD[\x80c\x18\x16\r\xDD\x11a\x01\xCEW\x80c\x18\x16\r\xDD\x14a\x02eW\x80c#\xB8r\xDD\x14a\x02wW\x80c$\x8A\x9C\xA3\x14a\x02\x8AW\x80c$\x97\xAE\xE6\x14a\x02\xADW`\0\x80\xFD[\x80c\x01\xFF\xC9\xA7\x14a\x02\0W\x80c\x06\xE4\x858\x14a\x02(W\x80c\x06\xFD\xDE\x03\x14a\x02=W\x80c\t^\xA7\xB3\x14a\x02RW[`\0\x80\xFD[a\x02\x13a\x02\x0E6`\x04a \xCEV[a\x04\xFFV[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\x020a\x05*V[`@Qa\x02\x1F\x91\x90a \xF8V[a\x02Ea\x05\x8CV[`@Qa\x02\x1F\x91\x90a!\x95V[a\x02\x13a\x02`6`\x04a!\xC0V[a\x06\x15V[`\x03T[`@Q\x90\x81R` \x01a\x02\x1FV[a\x02\x13a\x02\x856`\x04a!\xECV[a\x06-V[a\x02ia\x02\x986`\x04a\"-V[`\0\x90\x81R` \x81\x90R`@\x90 `\x01\x01T\x90V[a\x02\xC0a\x02\xBB6`\x04a!\xC0V[a\x07\xADV[`@\x80Q`\x01`\x01`\x80\x1B\x03\x93\x84\x16\x81R\x92\x90\x91\x16` \x83\x01R\x01a\x02\x1FV[a\x02\xF3a\x02\xEE6`\x04a\"FV[a\x07\xF0V[\0[`@Q`\x12\x81R` \x01a\x02\x1FV[a\x02\xF3a\x03\x126`\x04a\"FV[a\x08\x1BV[`\x01a\x02iV[a\x02\xF3a\x03,6`\x04a#\x19V[a\x08\x99V[a\x02ia\x03?6`\x04a#\xACV[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R`\x02` R`@\x90 T\x90V[a\x03ma\x03h6`\x04a#\xC9V[a\x08\xD5V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x02\x1FV[a\x02\x13a\x03\x936`\x04a\"FV[a\x08\xF4V[a\x02ia\x03\xA66`\x04a$\x07V[a\t\x1DV[a\x02\xF3a\x03\xB96`\x04a#\xACV[a\t*V[a\x02Ea\nGV[a\x02\xF3a\x03\xD46`\x04a$\"V[a\nVV[a\x02i`\0\x81V[a\x02\x13a\x03\xEF6`\x04a!\xC0V[a\ntV[a\x02\xC0a\x04\x026`\x04a\"-V[a\x0B'V[a\x02ia\x04\x156`\x04a\"-V[a\x0B\\V[a\x02i\x7F\x9F-\xF0\xFE\xD2\xC7vH\xDEX`\xA4\xCCP\x8C\xD0\x81\x8C\x85\xB8\xB8\xA1\xABL\xEE\xEF\x8D\x98\x1C\x89V\xA6\x81V[a\x02\xF3a\x04O6`\x04a\"FV[a\x0BsV[a\x02\x13a\x04b6`\x04a${V[a\x0B\x99V[a\x02\xF3a\x04u6`\x04a$\xA9V[a\x0C:V[a\x02ia\x04\x886`\x04a${V[`\x01`\x01`\xA0\x1B\x03\x91\x82\x16`\0\x90\x81R`\n` \x90\x81R`@\x80\x83 \x93\x90\x94\x16\x82R\x91\x90\x91R T\x90V[a\x02ia\x04\xC16`\x04a%)V[a\x0C\xC2V[a\x02\xF3a\x04\xD46`\x04a#\xACV[a\x0C\xE4V[a\x02\xF3a\x04\xE76`\x04a$\xA9V[a\r\xFFV[a\x02\xF3a\x04\xFA6`\x04a%^V[a\x0E1V[`\0`\x01`\x01`\xE0\x1B\x03\x19\x82\x16cZ\x05\x18\x0F`\xE0\x1B\x14\x80a\x05$WPa\x05$\x82a\x0ELV[\x92\x91PPV[```\x06\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x05\x82W` \x02\x82\x01\x91\x90`\0R` `\0 \x90[\x81T`\x01`\x01`\xA0\x1B\x03\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x05dW[PPPPP\x90P\x90V[```\x04\x80Ta\x05\x9B\x90a%\xA5V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x05\xC7\x90a%\xA5V[\x80\x15a\x05\x82W\x80`\x1F\x10a\x05\xE9Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x05\x82V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x05\xF7WP\x93\x95\x94PPPPPV[`\x003a\x06#\x81\x85\x85a\x0E\x81V[P`\x01\x93\x92PPPV[`\0`\x01`\x01`\xA0\x1B\x03\x83\x16a\x06^W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06U\x90a%\xDFV[`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x84\x16a\x06\xC3W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`&`$\x82\x01R\x7FERC777: transfer from the zero a`D\x82\x01Reddress`\xD0\x1B`d\x82\x01R`\x84\x01a\x06UV[`\x003\x90Pa\x06\xF4\x81\x86\x86\x86`@Q\x80` \x01`@R\x80`\0\x81RP`@Q\x80` \x01`@R\x80`\0\x81RPa\x0F\xA8V[a\x07 \x81\x86\x86\x86`@Q\x80` \x01`@R\x80`\0\x81RP`@Q\x80` \x01`@R\x80`\0\x81RPa\x10\xD0V[a\x07t\x85\x82a\x07o\x86`@Q\x80``\x01`@R\x80`)\x81R` \x01a(p`)\x919`\x01`\x01`\xA0\x1B\x03\x80\x8C\x16`\0\x90\x81R`\n` \x90\x81R`@\x80\x83 \x93\x8B\x16\x83R\x92\x90R T\x91\x90a\x11\xFEV[a\x0E\x81V[a\x07\xA2\x81\x86\x86\x86`@Q\x80` \x01`@R\x80`\0\x81RP`@Q\x80` \x01`@R\x80`\0\x81RP`\0a\x12*V[P`\x01\x94\x93PPPPV[`\x0B` R\x81`\0R`@`\0 \x81\x81T\x81\x10a\x07\xC9W`\0\x80\xFD[`\0\x91\x82R` \x90\x91 \x01T`\x01`\x01`\x80\x1B\x03\x80\x82\x16\x93P`\x01`\x80\x1B\x90\x91\x04\x16\x90P\x82V[`\0\x82\x81R` \x81\x90R`@\x90 `\x01\x01Ta\x08\x0C\x813a\x13\xEFV[a\x08\x16\x83\x83a\x14SV[PPPV[`\x01`\x01`\xA0\x1B\x03\x81\x163\x14a\x08\x8BW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`/`$\x82\x01R\x7FAccessControl: can only renounce`D\x82\x01Rn\x1097\xB62\xB9\x9037\xB9\x109\xB2\xB63`\x89\x1B`d\x82\x01R`\x84\x01a\x06UV[a\x08\x95\x82\x82a\x14uV[PPV[a\x08\xA33\x86a\x0B\x99V[a\x08\xBFW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06U\x90a&#V[a\x08\xCE\x85\x85\x85\x85\x85`\x01a\x14\x97V[PPPPPV[`\0\x82\x81R`\x01` R`@\x81 a\x08\xED\x90\x83a\x15zV[\x93\x92PPPV[`\0\x91\x82R` \x82\x81R`@\x80\x84 `\x01`\x01`\xA0\x1B\x03\x93\x90\x93\x16\x84R\x91\x90R\x90 T`\xFF\x16\x90V[`\0a\x05$`\x0C\x83a\x15\x86V[`\x01`\x01`\xA0\x1B\x03\x81\x163\x03a\t\x8EW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`$\x80\x82\x01R\x7FERC777: authorizing self as oper`D\x82\x01Rc0\xBA7\xB9`\xE1\x1B`d\x82\x01R`\x84\x01a\x06UV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\x07` R`@\x90 T`\xFF\x16\x15a\t\xDFW3`\0\x90\x81R`\t` \x90\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x85\x16\x84R\x90\x91R\x90 \x80T`\xFF\x19\x16\x90Ua\n\x0EV[3`\0\x90\x81R`\x08` \x90\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x85\x16\x84R\x90\x91R\x90 \x80T`\xFF\x19\x16`\x01\x17\x90U[`@Q3\x90`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7F\xF4\xCA\xEB-l\xA8\x93*!Z5=\x07\x03\xC3&\xEC-\x81\xFCh\x17\x0F2\x0E\xB2\xABI\xE9\xDFa\xF9\x90`\0\x90\xA3PV[```\x05\x80Ta\x05\x9B\x90a%\xA5V[a\x08\x163\x84\x84\x84`@Q\x80` \x01`@R\x80`\0\x81RP`\x01a\x14\x97V[`\0`\x01`\x01`\xA0\x1B\x03\x83\x16a\n\x9CW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06U\x90a%\xDFV[`\x003\x90Pa\n\xCD\x81\x82\x86\x86`@Q\x80` \x01`@R\x80`\0\x81RP`@Q\x80` \x01`@R\x80`\0\x81RPa\x0F\xA8V[a\n\xF9\x81\x82\x86\x86`@Q\x80` \x01`@R\x80`\0\x81RP`@Q\x80` \x01`@R\x80`\0\x81RPa\x10\xD0V[a\x06#\x81\x82\x86\x86`@Q\x80` \x01`@R\x80`\0\x81RP`@Q\x80` \x01`@R\x80`\0\x81RP`\0a\x12*V[`\x0C\x81\x81T\x81\x10a\x0B7W`\0\x80\xFD[`\0\x91\x82R` \x90\x91 \x01T`\x01`\x01`\x80\x1B\x03\x80\x82\x16\x92P`\x01`\x80\x1B\x90\x91\x04\x16\x82V[`\0\x81\x81R`\x01` R`@\x81 a\x05$\x90a\x17iV[`\0\x82\x81R` \x81\x90R`@\x90 `\x01\x01Ta\x0B\x8F\x813a\x13\xEFV[a\x08\x16\x83\x83a\x14uV[`\0\x81`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x14\x80a\x0C\x04WP`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\x07` R`@\x90 T`\xFF\x16\x80\x15a\x0C\x04WP`\x01`\x01`\xA0\x1B\x03\x80\x83\x16`\0\x90\x81R`\t` \x90\x81R`@\x80\x83 \x93\x87\x16\x83R\x92\x90R T`\xFF\x16\x15[\x80a\x08\xEDWPP`\x01`\x01`\xA0\x1B\x03\x90\x81\x16`\0\x90\x81R`\x08` \x90\x81R`@\x80\x83 \x94\x90\x93\x16\x82R\x92\x90\x92R\x90 T`\xFF\x16\x90V[a\x0Cd\x7F\x9F-\xF0\xFE\xD2\xC7vH\xDEX`\xA4\xCCP\x8C\xD0\x81\x8C\x85\xB8\xB8\xA1\xABL\xEE\xEF\x8D\x98\x1C\x89V\xA63a\x08\xF4V[a\x0C\xB0W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01\x81\x90R`$\x82\x01R\x7Fcaller does not have minter role`D\x82\x01R`d\x01a\x06UV[a\x0C\xBC\x84\x84\x84\x84a\x17sV[PPPPV[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R`\x0B` R`@\x81 a\x08\xED\x90\x83a\x15\x86V[3`\x01`\x01`\xA0\x1B\x03\x82\x16\x03a\rFW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`!`$\x82\x01R\x7FERC777: revoking self as operato`D\x82\x01R`9`\xF9\x1B`d\x82\x01R`\x84\x01a\x06UV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\x07` R`@\x90 T`\xFF\x16\x15a\r\x9AW3`\0\x90\x81R`\t` \x90\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x85\x16\x84R\x90\x91R\x90 \x80T`\xFF\x19\x16`\x01\x17\x90Ua\r\xC6V[3`\0\x90\x81R`\x08` \x90\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x85\x16\x84R\x90\x91R\x90 \x80T`\xFF\x19\x16\x90U[`@Q3\x90`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7FPTnf\xE5\xF4Mr\x83e\xDC9\x08\xC6;\xC5\xCF\xEE\xABG\x07\"\xC1g~0s\xA6\xAC)J\xA1\x90`\0\x90\xA3PV[a\x0E\t3\x85a\x0B\x99V[a\x0E%W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06U\x90a&#V[a\x0C\xBC\x84\x84\x84\x84a\x18\xCFV[a\x08\x953\x83\x83`@Q\x80` \x01`@R\x80`\0\x81RPa\x18\xCFV[`\0`\x01`\x01`\xE0\x1B\x03\x19\x82\x16cye\xDB\x0B`\xE0\x1B\x14\x80a\x05$WPc\x01\xFF\xC9\xA7`\xE0\x1B`\x01`\x01`\xE0\x1B\x03\x19\x83\x16\x14a\x05$V[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x0E\xE5W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`%`$\x82\x01R\x7FERC777: approve from the zero ad`D\x82\x01Rddress`\xD8\x1B`d\x82\x01R`\x84\x01a\x06UV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x0FGW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`#`$\x82\x01R\x7FERC777: approve to the zero addr`D\x82\x01Rbess`\xE8\x1B`d\x82\x01R`\x84\x01a\x06UV[`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\0\x81\x81R`\n` \x90\x81R`@\x80\x83 \x94\x87\x16\x80\x84R\x94\x82R\x91\x82\x90 \x85\x90U\x90Q\x84\x81R\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x91\x01`@Q\x80\x91\x03\x90\xA3PPPV[`@QcU]\xDCe`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x86\x16`\x04\x82\x01R\x7F)\xDD\xB5\x89\xB1\xFB_\xC7\xCF9Ia\xC1\xAD\xF5\xF8\xC6EGa\xAD\xF7\x95\xE6\x7F\xE1I\xF6X\xAB\xE8\x95`$\x82\x01R`\0\x90s\x18 \xA4\xB7a\x8B\xDEq\xDC\xE8\xCD\xC7:\xABl\x95\x90_\xAD$\x90c\xAA\xBB\xB8\xCA\x90`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x10)W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x10M\x91\x90a&oV[\x90P`\x01`\x01`\xA0\x1B\x03\x81\x16\x15a\x10\xC7W`@Qc:\xD5\xCB\xC1`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16\x90cu\xAB\x97\x82\x90a\x10\x94\x90\x8A\x90\x8A\x90\x8A\x90\x8A\x90\x8A\x90\x8A\x90`\x04\x01a&\x8CV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x10\xAEW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x10\xC2W=`\0\x80>=`\0\xFD[PPPP[PPPPPPPV[a\x10\xDC\x86\x86\x86\x86a\x1ACV[a\x11\x19\x83`@Q\x80``\x01`@R\x80`'\x81R` \x01a(I`'\x919`\x01`\x01`\xA0\x1B\x03\x88\x16`\0\x90\x81R`\x02` R`@\x90 T\x91\x90a\x11\xFEV[`\x01`\x01`\xA0\x1B\x03\x80\x87\x16`\0\x90\x81R`\x02` R`@\x80\x82 \x93\x90\x93U\x90\x86\x16\x81R Ta\x11H\x90\x84a\x1BzV[`\x01`\x01`\xA0\x1B\x03\x80\x86\x16`\0\x81\x81R`\x02` R`@\x90\x81\x90 \x93\x90\x93U\x91Q\x87\x82\x16\x91\x89\x16\x90\x7F\x06\xB5A\xDD\xAAr\r\xB2\xB1\nM\x0C\xDA\xC3\x9B\x8D6\x04%\xFC\x070\x85\xFA\xC1\x9B\xC8&\x14gy\x87\x90a\x11\xA1\x90\x88\x90\x88\x90\x88\x90a&\xE6V[`@Q\x80\x91\x03\x90\xA4\x83`\x01`\x01`\xA0\x1B\x03\x16\x85`\x01`\x01`\xA0\x1B\x03\x16\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x85`@Qa\x11\xEE\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPPPPV[`\0\x81\x84\x84\x11\x15a\x12\"W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06U\x91\x90a!\x95V[PPP\x90\x03\x90V[`@QcU]\xDCe`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x86\x16`\x04\x82\x01R\x7F\xB2\x81\xFC\x8C\x12\x95M\"TM\xB4]\xE3\x15\x9A9'(\x95\xB1i\xA8R\xB3\x14\xF9\xCCv.D\xC5;`$\x82\x01R`\0\x90s\x18 \xA4\xB7a\x8B\xDEq\xDC\xE8\xCD\xC7:\xABl\x95\x90_\xAD$\x90c\xAA\xBB\xB8\xCA\x90`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x12\xABW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x12\xCF\x91\x90a&oV[\x90P`\x01`\x01`\xA0\x1B\x03\x81\x16\x15a\x13KW`@Qb#\xDE)`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16\x90b#\xDE)\x90a\x13\x14\x90\x8B\x90\x8B\x90\x8B\x90\x8B\x90\x8B\x90\x8B\x90`\x04\x01a&\x8CV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x13.W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x13BW=`\0\x80>=`\0\xFD[PPPPa\x13\xE5V[\x81\x15a\x13\xE5W`\x01`\x01`\xA0\x1B\x03\x86\x16;\x15a\x13\xE5W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`M`$\x82\x01R\x7FERC777: token recipient contract`D\x82\x01R\x7F has no implementer for ERC777To`d\x82\x01Rl\x1A\xD9[\x9C\xD4\x99X\xDA\\\x1AY[\x9D`\x9A\x1B`\x84\x82\x01R`\xA4\x01a\x06UV[PPPPPPPPV[a\x13\xF9\x82\x82a\x08\xF4V[a\x08\x95Wa\x14\x11\x81`\x01`\x01`\xA0\x1B\x03\x16`\x14a\x1B\x86V[a\x14\x1C\x83` a\x1B\x86V[`@Q` \x01a\x14-\x92\x91\x90a'\x1BV[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x90\x82\x90RbF\x1B\xCD`\xE5\x1B\x82Ra\x06U\x91`\x04\x01a!\x95V[a\x14]\x82\x82a\x1D\"V[`\0\x82\x81R`\x01` R`@\x90 a\x08\x16\x90\x82a\x1D\xA6V[a\x14\x7F\x82\x82a\x1D\xBBV[`\0\x82\x81R`\x01` R`@\x90 a\x08\x16\x90\x82a\x1E V[`\x01`\x01`\xA0\x1B\x03\x86\x16a\x14\xF8W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\"`$\x82\x01R\x7FERC777: send from the zero addre`D\x82\x01Rass`\xF0\x1B`d\x82\x01R`\x84\x01a\x06UV[`\x01`\x01`\xA0\x1B\x03\x85\x16a\x15NW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01\x81\x90R`$\x82\x01R\x7FERC777: send to the zero address`D\x82\x01R`d\x01a\x06UV[3a\x15]\x81\x88\x88\x88\x88\x88a\x0F\xA8V[a\x15k\x81\x88\x88\x88\x88\x88a\x10\xD0V[a\x10\xC7\x81\x88\x88\x88\x88\x88\x88a\x12*V[`\0a\x08\xED\x83\x83a\x1E5V[\x81T`\0\x90\x80\x82\x03a\x15\x9CW`\0\x91PPa\x05$V[\x83a\x15\xA8`\x01\x83a'\xA6V[\x81T\x81\x10a\x15\xB8Wa\x15\xB8a'\xB9V[`\0\x91\x82R` \x90\x91 \x01T`\x01`\x01`\x80\x1B\x03\x90\x81\x16\x90\x84\x16\x10a\x16\x18W\x83a\x15\xE3`\x01\x83a'\xA6V[\x81T\x81\x10a\x15\xF3Wa\x15\xF3a'\xB9V[`\0\x91\x82R` \x90\x91 \x01T`\x01`\x80\x1B\x90\x04`\x01`\x01`\x80\x1B\x03\x16\x91Pa\x05$\x90PV[\x83`\0\x81T\x81\x10a\x16+Wa\x16+a'\xB9V[`\0\x91\x82R` \x90\x91 \x01T`\x01`\x01`\x80\x1B\x03\x90\x81\x16\x90\x84\x16\x10\x15a\x16UW`\0\x91PPa\x05$V[`\0\x80a\x16c`\x01\x84a'\xA6V[\x90P[\x81\x81\x11\x15a\x171W`\0`\x02a\x16|\x84\x84a'\xCFV[a\x16\x87\x90`\x01a'\xCFV[a\x16\x91\x91\x90a'\xE2V[\x90P`\0\x87\x82\x81T\x81\x10a\x16\xA7Wa\x16\xA7a'\xB9V[`\0\x91\x82R` \x90\x91 \x01T`\x01`\x01`\x80\x1B\x03\x90\x81\x16\x91P\x87\x16\x81\x03a\x17\x03W\x87\x82\x81T\x81\x10a\x16\xDAWa\x16\xDAa'\xB9V[`\0\x91\x82R` \x90\x91 \x01T`\x01`\x80\x1B\x90\x04`\x01`\x01`\x80\x1B\x03\x16\x95Pa\x05$\x94PPPPPV[\x86`\x01`\x01`\x80\x1B\x03\x16\x81\x10\x15a\x17\x1CW\x81\x93Pa\x17*V[a\x17'`\x01\x83a'\xA6V[\x92P[PPa\x16fV[\x85\x82\x81T\x81\x10a\x17CWa\x17Ca'\xB9V[`\0\x91\x82R` \x90\x91 \x01T`\x01`\x80\x1B\x90\x04`\x01`\x01`\x80\x1B\x03\x16\x96\x95PPPPPPV[`\0a\x05$\x82T\x90V[`\x01`\x01`\xA0\x1B\x03\x84\x16a\x17\xC9W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01\x81\x90R`$\x82\x01R\x7FERC777: mint to the zero address`D\x82\x01R`d\x01a\x06UV[3a\x17\xD7\x81`\0\x87\x87a\x1ACV[`\x03Ta\x17\xE4\x90\x85a\x1BzV[`\x03U`\x01`\x01`\xA0\x1B\x03\x85\x16`\0\x90\x81R`\x02` R`@\x90 Ta\x18\n\x90\x85a\x1BzV[`\x01`\x01`\xA0\x1B\x03\x86\x16`\0\x90\x81R`\x02` R`@\x81 \x91\x90\x91Ua\x187\x90\x82\x90\x87\x87\x87\x87`\x01a\x12*V[\x84`\x01`\x01`\xA0\x1B\x03\x16\x81`\x01`\x01`\xA0\x1B\x03\x16\x7F/\xE5\xBE\x01F\xF7L[\xCE6\xC0\xB8\t\x11\xAFl}\x86\xFF'\xE8\x9D\\\xFAa\xFCh\x13'\x95N]\x86\x86\x86`@Qa\x18~\x93\x92\x91\x90a&\xE6V[`@Q\x80\x91\x03\x90\xA3`@Q\x84\x81R`\x01`\x01`\xA0\x1B\x03\x86\x16\x90`\0\x90\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x90` \x01[`@Q\x80\x91\x03\x90\xA3PPPPPV[`\x01`\x01`\xA0\x1B\x03\x84\x16a\x190W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\"`$\x82\x01R\x7FERC777: burn from the zero addre`D\x82\x01Rass`\xF0\x1B`d\x82\x01R`\x84\x01a\x06UV[3a\x19@\x81\x86`\0\x87\x87\x87a\x0F\xA8V[a\x19M\x81\x86`\0\x87a\x1ACV[a\x19\x8A\x84`@Q\x80``\x01`@R\x80`#\x81R` \x01a(\x99`#\x919`\x01`\x01`\xA0\x1B\x03\x88\x16`\0\x90\x81R`\x02` R`@\x90 T\x91\x90a\x11\xFEV[`\x01`\x01`\xA0\x1B\x03\x86\x16`\0\x90\x81R`\x02` R`@\x90 U`\x03Ta\x19\xB0\x90\x85a\x1E_V[`\x03\x81\x90UP\x84`\x01`\x01`\xA0\x1B\x03\x16\x81`\x01`\x01`\xA0\x1B\x03\x16\x7F\xA7\x8A\x9B\xE3\xA7\xB8b\xD2i3\xAD\x85\xFB\x11\xD8\x0E\xF6k\x8F\x97-|\xBB\xA0f!\xD5\x83\x94:@\x98\x86\x86\x86`@Qa\x19\xFD\x93\x92\x91\x90a&\xE6V[`@Q\x80\x91\x03\x90\xA3`@Q\x84\x81R`\0\x90`\x01`\x01`\xA0\x1B\x03\x87\x16\x90\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x90` \x01a\x18\xC0V[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x1A\xA3W`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R`\x0B` \x90\x81R`@\x80\x83 `\x02\x90\x92R\x90\x91 Ta\x1A\x8C\x91\x90a\x1A\x87\x90\x84\x90[\x90a\x1BzV[a\x1EkV[a\x1A\x9E`\x0Ca\x1A\x87\x83a\x1A\x81`\x03T\x90V[a\x0C\xBCV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x1A\xF9W`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\x0B` \x90\x81R`@\x80\x83 `\x02\x90\x92R\x90\x91 Ta\x1A\xE7\x91\x90a\x1A\x87\x90\x84\x90[\x90a\x1E_V[a\x1A\x9E`\x0Ca\x1A\x87\x83a\x1A\xE1`\x03T\x90V[\x81`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x14a\x0C\xBCW`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\x0B` \x90\x81R`@\x80\x83 `\x02\x90\x92R\x90\x91 Ta\x1BF\x91\x90a\x1A\x87\x90\x84\x90a\x1A\xE1V[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R`\x0B` \x90\x81R`@\x80\x83 `\x02\x90\x92R\x90\x91 Ta\x0C\xBC\x91\x90a\x1A\x87\x90\x84\x90a\x1A\x81V[`\0a\x08\xED\x82\x84a'\xCFV[```\0a\x1B\x95\x83`\x02a(\x04V[a\x1B\xA0\x90`\x02a'\xCFV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1B\xB8Wa\x1B\xB8a\"vV[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a\x1B\xE2W` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\x03`\xFC\x1B\x81`\0\x81Q\x81\x10a\x1B\xFDWa\x1B\xFDa'\xB9V[` \x01\x01\x90`\x01`\x01`\xF8\x1B\x03\x19\x16\x90\x81`\0\x1A\x90SP`\x0F`\xFB\x1B\x81`\x01\x81Q\x81\x10a\x1C,Wa\x1C,a'\xB9V[` \x01\x01\x90`\x01`\x01`\xF8\x1B\x03\x19\x16\x90\x81`\0\x1A\x90SP`\0a\x1CP\x84`\x02a(\x04V[a\x1C[\x90`\x01a'\xCFV[\x90P[`\x01\x81\x11\x15a\x1C\xD3Wo\x18\x18\x99\x19\x9A\x1A\x9B\x1B\x9C\x1C\xB0\xB11\xB22\xB3`\x81\x1B\x85`\x0F\x16`\x10\x81\x10a\x1C\x8FWa\x1C\x8Fa'\xB9V[\x1A`\xF8\x1B\x82\x82\x81Q\x81\x10a\x1C\xA5Wa\x1C\xA5a'\xB9V[` \x01\x01\x90`\x01`\x01`\xF8\x1B\x03\x19\x16\x90\x81`\0\x1A\x90SP`\x04\x94\x90\x94\x1C\x93a\x1C\xCC\x81a(\x1BV[\x90Pa\x1C^V[P\x83\x15a\x08\xEDW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01\x81\x90R`$\x82\x01R\x7FStrings: hex length insufficient`D\x82\x01R`d\x01a\x06UV[a\x1D,\x82\x82a\x08\xF4V[a\x08\x95W`\0\x82\x81R` \x81\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x85\x16\x84R\x90\x91R\x90 \x80T`\xFF\x19\x16`\x01\x17\x90Ua\x1Db3\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x81`\x01`\x01`\xA0\x1B\x03\x16\x83\x7F/\x87\x88\x11~~\xFF\x1D\x82\xE9&\xECyI\x01\xD1|x\x02JP'\t@0E@\xA73eo\r`@Q`@Q\x80\x91\x03\x90\xA4PPV[`\0a\x08\xED\x83`\x01`\x01`\xA0\x1B\x03\x84\x16a\x1F\x8CV[a\x1D\xC5\x82\x82a\x08\xF4V[\x15a\x08\x95W`\0\x82\x81R` \x81\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x85\x16\x80\x85R\x92R\x80\x83 \x80T`\xFF\x19\x16\x90UQ3\x92\x85\x91\x7F\xF69\x1F\\2\xD9\xC6\x9D*G\xEAg\x0BD)t\xB595\xD1\xED\xC7\xFDd\xEB!\xE0G\xA89\x17\x1B\x91\x90\xA4PPV[`\0a\x08\xED\x83`\x01`\x01`\xA0\x1B\x03\x84\x16a\x1F\xDBV[`\0\x82`\0\x01\x82\x81T\x81\x10a\x1ELWa\x1ELa'\xB9V[\x90`\0R` `\0 \x01T\x90P\x92\x91PPV[`\0a\x08\xED\x82\x84a'\xA6V[`\x01`\x01`\x80\x1B\x03\x81\x11\x15a\x1E\xB5W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x10`$\x82\x01Rocasting overflow`\x80\x1B`D\x82\x01R`d\x01a\x06UV[\x81T\x80\x15\x80a\x1E\xF3WPC\x83a\x1E\xCC`\x01\x84a'\xA6V[\x81T\x81\x10a\x1E\xDCWa\x1E\xDCa'\xB9V[`\0\x91\x82R` \x90\x91 \x01T`\x01`\x01`\x80\x1B\x03\x16\x10[\x15a\x1FDW`@\x80Q\x80\x82\x01\x90\x91R`\x01`\x01`\x80\x1B\x03C\x81\x16\x82R\x83\x81\x16` \x80\x84\x01\x91\x82R\x86T`\x01\x81\x01\x88U`\0\x88\x81R\x91\x90\x91 \x93Q\x91Q\x83\x16`\x01`\x80\x1B\x02\x91\x90\x92\x16\x17\x91\x01UPPPV[\x81\x83a\x1FQ`\x01\x84a'\xA6V[\x81T\x81\x10a\x1FaWa\x1Faa'\xB9V[`\0\x91\x82R` \x90\x91 \x01\x80T`\x01`\x01`\x80\x1B\x03\x92\x83\x16`\x01`\x80\x1B\x02\x92\x16\x91\x90\x91\x17\x90UPPPV[`\0\x81\x81R`\x01\x83\x01` R`@\x81 Ta\x1F\xD3WP\x81T`\x01\x81\x81\x01\x84U`\0\x84\x81R` \x80\x82 \x90\x93\x01\x84\x90U\x84T\x84\x82R\x82\x86\x01\x90\x93R`@\x90 \x91\x90\x91Ua\x05$V[P`\0a\x05$V[`\0\x81\x81R`\x01\x83\x01` R`@\x81 T\x80\x15a \xC4W`\0a\x1F\xFF`\x01\x83a'\xA6V[\x85T\x90\x91P`\0\x90a \x13\x90`\x01\x90a'\xA6V[\x90P\x81\x81\x14a xW`\0\x86`\0\x01\x82\x81T\x81\x10a 3Wa 3a'\xB9V[\x90`\0R` `\0 \x01T\x90P\x80\x87`\0\x01\x84\x81T\x81\x10a VWa Va'\xB9V[`\0\x91\x82R` \x80\x83 \x90\x91\x01\x92\x90\x92U\x91\x82R`\x01\x88\x01\x90R`@\x90 \x83\x90U[\x85T\x86\x90\x80a \x89Wa \x89a(2V[`\x01\x90\x03\x81\x81\x90`\0R` `\0 \x01`\0\x90U\x90U\x85`\x01\x01`\0\x86\x81R` \x01\x90\x81R` \x01`\0 `\0\x90U`\x01\x93PPPPa\x05$V[`\0\x91PPa\x05$V[`\0` \x82\x84\x03\x12\x15a \xE0W`\0\x80\xFD[\x815`\x01`\x01`\xE0\x1B\x03\x19\x81\x16\x81\x14a\x08\xEDW`\0\x80\xFD[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90\x84\x82\x01\x90`@\x85\x01\x90\x84[\x81\x81\x10\x15a!9W\x83Q`\x01`\x01`\xA0\x1B\x03\x16\x83R\x92\x84\x01\x92\x91\x84\x01\x91`\x01\x01a!\x14V[P\x90\x96\x95PPPPPPV[`\0[\x83\x81\x10\x15a!`W\x81\x81\x01Q\x83\x82\x01R` \x01a!HV[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra!\x81\x81` \x86\x01` \x86\x01a!EV[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[` \x81R`\0a\x08\xED` \x83\x01\x84a!iV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a!\xBDW`\0\x80\xFD[PV[`\0\x80`@\x83\x85\x03\x12\x15a!\xD3W`\0\x80\xFD[\x825a!\xDE\x81a!\xA8V[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\"\x01W`\0\x80\xFD[\x835a\"\x0C\x81a!\xA8V[\x92P` \x84\x015a\"\x1C\x81a!\xA8V[\x92\x95\x92\x94PPP`@\x91\x90\x91\x015\x90V[`\0` \x82\x84\x03\x12\x15a\"?W`\0\x80\xFD[P5\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\"YW`\0\x80\xFD[\x825\x91P` \x83\x015a\"k\x81a!\xA8V[\x80\x91PP\x92P\x92\x90PV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\0\x82`\x1F\x83\x01\x12a\"\x9DW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\"\xB8Wa\"\xB8a\"vV[`@Q`\x1F\x83\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x82\x82\x11\x81\x83\x10\x17\x15a\"\xE0Wa\"\xE0a\"vV[\x81`@R\x83\x81R\x86` \x85\x88\x01\x01\x11\x15a\"\xF9W`\0\x80\xFD[\x83` \x87\x01` \x83\x017`\0` \x85\x83\x01\x01R\x80\x94PPPPP\x92\x91PPV[`\0\x80`\0\x80`\0`\xA0\x86\x88\x03\x12\x15a#1W`\0\x80\xFD[\x855a#<\x81a!\xA8V[\x94P` \x86\x015a#L\x81a!\xA8V[\x93P`@\x86\x015\x92P``\x86\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a#pW`\0\x80\xFD[a#|\x89\x83\x8A\x01a\"\x8CV[\x93P`\x80\x88\x015\x91P\x80\x82\x11\x15a#\x92W`\0\x80\xFD[Pa#\x9F\x88\x82\x89\x01a\"\x8CV[\x91PP\x92\x95P\x92\x95\x90\x93PV[`\0` \x82\x84\x03\x12\x15a#\xBEW`\0\x80\xFD[\x815a\x08\xED\x81a!\xA8V[`\0\x80`@\x83\x85\x03\x12\x15a#\xDCW`\0\x80\xFD[PP\x805\x92` \x90\x91\x015\x91PV[\x805`\x01`\x01`\x80\x1B\x03\x81\x16\x81\x14a$\x02W`\0\x80\xFD[\x91\x90PV[`\0` \x82\x84\x03\x12\x15a$\x19W`\0\x80\xFD[a\x08\xED\x82a#\xEBV[`\0\x80`\0``\x84\x86\x03\x12\x15a$7W`\0\x80\xFD[\x835a$B\x81a!\xA8V[\x92P` \x84\x015\x91P`@\x84\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a$eW`\0\x80\xFD[a$q\x86\x82\x87\x01a\"\x8CV[\x91PP\x92P\x92P\x92V[`\0\x80`@\x83\x85\x03\x12\x15a$\x8EW`\0\x80\xFD[\x825a$\x99\x81a!\xA8V[\x91P` \x83\x015a\"k\x81a!\xA8V[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15a$\xBFW`\0\x80\xFD[\x845a$\xCA\x81a!\xA8V[\x93P` \x85\x015\x92P`@\x85\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a$\xEEW`\0\x80\xFD[a$\xFA\x88\x83\x89\x01a\"\x8CV[\x93P``\x87\x015\x91P\x80\x82\x11\x15a%\x10W`\0\x80\xFD[Pa%\x1D\x87\x82\x88\x01a\"\x8CV[\x91PP\x92\x95\x91\x94P\x92PV[`\0\x80`@\x83\x85\x03\x12\x15a%<W`\0\x80\xFD[\x825a%G\x81a!\xA8V[\x91Pa%U` \x84\x01a#\xEBV[\x90P\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a%qW`\0\x80\xFD[\x825\x91P` \x83\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a%\x8FW`\0\x80\xFD[a%\x9B\x85\x82\x86\x01a\"\x8CV[\x91PP\x92P\x92\x90PV[`\x01\x81\x81\x1C\x90\x82\x16\x80a%\xB9W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a%\xD9WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[` \x80\x82R`$\x90\x82\x01R\x7FERC777: transfer to the zero add`@\x82\x01Rcress`\xE0\x1B``\x82\x01R`\x80\x01\x90V[` \x80\x82R`,\x90\x82\x01R\x7FERC777: caller is not an operato`@\x82\x01Rk9\x1037\xB9\x1047\xB622\xB9`\xA1\x1B``\x82\x01R`\x80\x01\x90V[`\0` \x82\x84\x03\x12\x15a&\x81W`\0\x80\xFD[\x81Qa\x08\xED\x81a!\xA8V[`\x01`\x01`\xA0\x1B\x03\x87\x81\x16\x82R\x86\x81\x16` \x83\x01R\x85\x16`@\x82\x01R``\x81\x01\x84\x90R`\xC0`\x80\x82\x01\x81\x90R`\0\x90a&\xC7\x90\x83\x01\x85a!iV[\x82\x81\x03`\xA0\x84\x01Ra&\xD9\x81\x85a!iV[\x99\x98PPPPPPPPPV[\x83\x81R``` \x82\x01R`\0a&\xFF``\x83\x01\x85a!iV[\x82\x81\x03`@\x84\x01Ra'\x11\x81\x85a!iV[\x96\x95PPPPPPV[\x7FAccessControl: account \0\0\0\0\0\0\0\0\0\x81R`\0\x83Qa'S\x81`\x17\x85\x01` \x88\x01a!EV[p\x01\x03K\x99\x03kK\x9B\x9BKs9\x03\x93{c)`}\x1B`\x17\x91\x84\x01\x91\x82\x01R\x83Qa'\x84\x81`(\x84\x01` \x88\x01a!EV[\x01`(\x01\x94\x93PPPPV[cNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[\x81\x81\x03\x81\x81\x11\x15a\x05$Wa\x05$a'\x90V[cNH{q`\xE0\x1B`\0R`2`\x04R`$`\0\xFD[\x80\x82\x01\x80\x82\x11\x15a\x05$Wa\x05$a'\x90V[`\0\x82a'\xFFWcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x05$Wa\x05$a'\x90V[`\0\x81a(*Wa(*a'\x90V[P`\0\x19\x01\x90V[cNH{q`\xE0\x1B`\0R`1`\x04R`$`\0\xFD\xFEERC777: transfer amount exceeds balanceERC777: transfer amount exceeds allowanceERC777: burn amount exceeds balance\xA2dipfsX\"\x12 \x83\x18\x90Iy\xF9[\xE02\xF9\x95\xB7[\x0F\xA0a\x84\xE9\x86Gx\xB44\xC6\xCC)\x8F:f;\xD8\x01dsolcC\0\x08\x13\x003",
1023 );
1024 #[rustfmt::skip]
1030 #[allow(clippy::all)]
1031 pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
1032 b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\x01\xFBW`\x005`\xE0\x1C\x80c\x94yu\xD9\x11a\x01\x1AW\x80c\xD59\x13\x93\x11a\0\xADW\x80c\xDDb\xED>\x11a\0|W\x80c\xDDb\xED>\x14a\x04zW\x80c\xF7r\xA0\x92\x14a\x04\xB3W\x80c\xFA\xD8\xB3*\x14a\x04\xC6W\x80c\xFCg<O\x14a\x04\xD9W\x80c\xFE\x9D\x93\x03\x14a\x04\xECW`\0\x80\xFD[\x80c\xD59\x13\x93\x14a\x04\x1AW\x80c\xD5Gt\x1F\x14a\x04AW\x80c\xD9[cq\x14a\x04TW\x80c\xDC\xDC}\xD0\x14a\x04gW`\0\x80\xFD[\x80c\xA2\x17\xFD\xDF\x11a\0\xE9W\x80c\xA2\x17\xFD\xDF\x14a\x03\xD9W\x80c\xA9\x05\x9C\xBB\x14a\x03\xE1W\x80c\xB7\xD7\x8B\x1A\x14a\x03\xF4W\x80c\xCA\x15\xC8s\x14a\x04\x07W`\0\x80\xFD[\x80c\x94yu\xD9\x14a\x03\x98W\x80c\x95\x9B\x8C?\x14a\x03\xABW\x80c\x95\xD8\x9BA\x14a\x03\xBEW\x80c\x9B\xD9\xBB\xC6\x14a\x03\xC6W`\0\x80\xFD[\x80c//\xF1]\x11a\x01\x92W\x80cb\xAD\x1B\x83\x11a\x01aW\x80cb\xAD\x1B\x83\x14a\x03\x1EW\x80cp\xA0\x821\x14a\x031W\x80c\x90\x10\xD0|\x14a\x03ZW\x80c\x91\xD1HT\x14a\x03\x85W`\0\x80\xFD[\x80c//\xF1]\x14a\x02\xE0W\x80c1<\xE5g\x14a\x02\xF5W\x80c6V\x8A\xBE\x14a\x03\x04W\x80cUo\r\xC7\x14a\x03\x17W`\0\x80\xFD[\x80c\x18\x16\r\xDD\x11a\x01\xCEW\x80c\x18\x16\r\xDD\x14a\x02eW\x80c#\xB8r\xDD\x14a\x02wW\x80c$\x8A\x9C\xA3\x14a\x02\x8AW\x80c$\x97\xAE\xE6\x14a\x02\xADW`\0\x80\xFD[\x80c\x01\xFF\xC9\xA7\x14a\x02\0W\x80c\x06\xE4\x858\x14a\x02(W\x80c\x06\xFD\xDE\x03\x14a\x02=W\x80c\t^\xA7\xB3\x14a\x02RW[`\0\x80\xFD[a\x02\x13a\x02\x0E6`\x04a \xCEV[a\x04\xFFV[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\x020a\x05*V[`@Qa\x02\x1F\x91\x90a \xF8V[a\x02Ea\x05\x8CV[`@Qa\x02\x1F\x91\x90a!\x95V[a\x02\x13a\x02`6`\x04a!\xC0V[a\x06\x15V[`\x03T[`@Q\x90\x81R` \x01a\x02\x1FV[a\x02\x13a\x02\x856`\x04a!\xECV[a\x06-V[a\x02ia\x02\x986`\x04a\"-V[`\0\x90\x81R` \x81\x90R`@\x90 `\x01\x01T\x90V[a\x02\xC0a\x02\xBB6`\x04a!\xC0V[a\x07\xADV[`@\x80Q`\x01`\x01`\x80\x1B\x03\x93\x84\x16\x81R\x92\x90\x91\x16` \x83\x01R\x01a\x02\x1FV[a\x02\xF3a\x02\xEE6`\x04a\"FV[a\x07\xF0V[\0[`@Q`\x12\x81R` \x01a\x02\x1FV[a\x02\xF3a\x03\x126`\x04a\"FV[a\x08\x1BV[`\x01a\x02iV[a\x02\xF3a\x03,6`\x04a#\x19V[a\x08\x99V[a\x02ia\x03?6`\x04a#\xACV[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R`\x02` R`@\x90 T\x90V[a\x03ma\x03h6`\x04a#\xC9V[a\x08\xD5V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x02\x1FV[a\x02\x13a\x03\x936`\x04a\"FV[a\x08\xF4V[a\x02ia\x03\xA66`\x04a$\x07V[a\t\x1DV[a\x02\xF3a\x03\xB96`\x04a#\xACV[a\t*V[a\x02Ea\nGV[a\x02\xF3a\x03\xD46`\x04a$\"V[a\nVV[a\x02i`\0\x81V[a\x02\x13a\x03\xEF6`\x04a!\xC0V[a\ntV[a\x02\xC0a\x04\x026`\x04a\"-V[a\x0B'V[a\x02ia\x04\x156`\x04a\"-V[a\x0B\\V[a\x02i\x7F\x9F-\xF0\xFE\xD2\xC7vH\xDEX`\xA4\xCCP\x8C\xD0\x81\x8C\x85\xB8\xB8\xA1\xABL\xEE\xEF\x8D\x98\x1C\x89V\xA6\x81V[a\x02\xF3a\x04O6`\x04a\"FV[a\x0BsV[a\x02\x13a\x04b6`\x04a${V[a\x0B\x99V[a\x02\xF3a\x04u6`\x04a$\xA9V[a\x0C:V[a\x02ia\x04\x886`\x04a${V[`\x01`\x01`\xA0\x1B\x03\x91\x82\x16`\0\x90\x81R`\n` \x90\x81R`@\x80\x83 \x93\x90\x94\x16\x82R\x91\x90\x91R T\x90V[a\x02ia\x04\xC16`\x04a%)V[a\x0C\xC2V[a\x02\xF3a\x04\xD46`\x04a#\xACV[a\x0C\xE4V[a\x02\xF3a\x04\xE76`\x04a$\xA9V[a\r\xFFV[a\x02\xF3a\x04\xFA6`\x04a%^V[a\x0E1V[`\0`\x01`\x01`\xE0\x1B\x03\x19\x82\x16cZ\x05\x18\x0F`\xE0\x1B\x14\x80a\x05$WPa\x05$\x82a\x0ELV[\x92\x91PPV[```\x06\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x05\x82W` \x02\x82\x01\x91\x90`\0R` `\0 \x90[\x81T`\x01`\x01`\xA0\x1B\x03\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x05dW[PPPPP\x90P\x90V[```\x04\x80Ta\x05\x9B\x90a%\xA5V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x05\xC7\x90a%\xA5V[\x80\x15a\x05\x82W\x80`\x1F\x10a\x05\xE9Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x05\x82V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x05\xF7WP\x93\x95\x94PPPPPV[`\x003a\x06#\x81\x85\x85a\x0E\x81V[P`\x01\x93\x92PPPV[`\0`\x01`\x01`\xA0\x1B\x03\x83\x16a\x06^W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06U\x90a%\xDFV[`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x84\x16a\x06\xC3W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`&`$\x82\x01R\x7FERC777: transfer from the zero a`D\x82\x01Reddress`\xD0\x1B`d\x82\x01R`\x84\x01a\x06UV[`\x003\x90Pa\x06\xF4\x81\x86\x86\x86`@Q\x80` \x01`@R\x80`\0\x81RP`@Q\x80` \x01`@R\x80`\0\x81RPa\x0F\xA8V[a\x07 \x81\x86\x86\x86`@Q\x80` \x01`@R\x80`\0\x81RP`@Q\x80` \x01`@R\x80`\0\x81RPa\x10\xD0V[a\x07t\x85\x82a\x07o\x86`@Q\x80``\x01`@R\x80`)\x81R` \x01a(p`)\x919`\x01`\x01`\xA0\x1B\x03\x80\x8C\x16`\0\x90\x81R`\n` \x90\x81R`@\x80\x83 \x93\x8B\x16\x83R\x92\x90R T\x91\x90a\x11\xFEV[a\x0E\x81V[a\x07\xA2\x81\x86\x86\x86`@Q\x80` \x01`@R\x80`\0\x81RP`@Q\x80` \x01`@R\x80`\0\x81RP`\0a\x12*V[P`\x01\x94\x93PPPPV[`\x0B` R\x81`\0R`@`\0 \x81\x81T\x81\x10a\x07\xC9W`\0\x80\xFD[`\0\x91\x82R` \x90\x91 \x01T`\x01`\x01`\x80\x1B\x03\x80\x82\x16\x93P`\x01`\x80\x1B\x90\x91\x04\x16\x90P\x82V[`\0\x82\x81R` \x81\x90R`@\x90 `\x01\x01Ta\x08\x0C\x813a\x13\xEFV[a\x08\x16\x83\x83a\x14SV[PPPV[`\x01`\x01`\xA0\x1B\x03\x81\x163\x14a\x08\x8BW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`/`$\x82\x01R\x7FAccessControl: can only renounce`D\x82\x01Rn\x1097\xB62\xB9\x9037\xB9\x109\xB2\xB63`\x89\x1B`d\x82\x01R`\x84\x01a\x06UV[a\x08\x95\x82\x82a\x14uV[PPV[a\x08\xA33\x86a\x0B\x99V[a\x08\xBFW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06U\x90a&#V[a\x08\xCE\x85\x85\x85\x85\x85`\x01a\x14\x97V[PPPPPV[`\0\x82\x81R`\x01` R`@\x81 a\x08\xED\x90\x83a\x15zV[\x93\x92PPPV[`\0\x91\x82R` \x82\x81R`@\x80\x84 `\x01`\x01`\xA0\x1B\x03\x93\x90\x93\x16\x84R\x91\x90R\x90 T`\xFF\x16\x90V[`\0a\x05$`\x0C\x83a\x15\x86V[`\x01`\x01`\xA0\x1B\x03\x81\x163\x03a\t\x8EW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`$\x80\x82\x01R\x7FERC777: authorizing self as oper`D\x82\x01Rc0\xBA7\xB9`\xE1\x1B`d\x82\x01R`\x84\x01a\x06UV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\x07` R`@\x90 T`\xFF\x16\x15a\t\xDFW3`\0\x90\x81R`\t` \x90\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x85\x16\x84R\x90\x91R\x90 \x80T`\xFF\x19\x16\x90Ua\n\x0EV[3`\0\x90\x81R`\x08` \x90\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x85\x16\x84R\x90\x91R\x90 \x80T`\xFF\x19\x16`\x01\x17\x90U[`@Q3\x90`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7F\xF4\xCA\xEB-l\xA8\x93*!Z5=\x07\x03\xC3&\xEC-\x81\xFCh\x17\x0F2\x0E\xB2\xABI\xE9\xDFa\xF9\x90`\0\x90\xA3PV[```\x05\x80Ta\x05\x9B\x90a%\xA5V[a\x08\x163\x84\x84\x84`@Q\x80` \x01`@R\x80`\0\x81RP`\x01a\x14\x97V[`\0`\x01`\x01`\xA0\x1B\x03\x83\x16a\n\x9CW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06U\x90a%\xDFV[`\x003\x90Pa\n\xCD\x81\x82\x86\x86`@Q\x80` \x01`@R\x80`\0\x81RP`@Q\x80` \x01`@R\x80`\0\x81RPa\x0F\xA8V[a\n\xF9\x81\x82\x86\x86`@Q\x80` \x01`@R\x80`\0\x81RP`@Q\x80` \x01`@R\x80`\0\x81RPa\x10\xD0V[a\x06#\x81\x82\x86\x86`@Q\x80` \x01`@R\x80`\0\x81RP`@Q\x80` \x01`@R\x80`\0\x81RP`\0a\x12*V[`\x0C\x81\x81T\x81\x10a\x0B7W`\0\x80\xFD[`\0\x91\x82R` \x90\x91 \x01T`\x01`\x01`\x80\x1B\x03\x80\x82\x16\x92P`\x01`\x80\x1B\x90\x91\x04\x16\x82V[`\0\x81\x81R`\x01` R`@\x81 a\x05$\x90a\x17iV[`\0\x82\x81R` \x81\x90R`@\x90 `\x01\x01Ta\x0B\x8F\x813a\x13\xEFV[a\x08\x16\x83\x83a\x14uV[`\0\x81`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x14\x80a\x0C\x04WP`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\x07` R`@\x90 T`\xFF\x16\x80\x15a\x0C\x04WP`\x01`\x01`\xA0\x1B\x03\x80\x83\x16`\0\x90\x81R`\t` \x90\x81R`@\x80\x83 \x93\x87\x16\x83R\x92\x90R T`\xFF\x16\x15[\x80a\x08\xEDWPP`\x01`\x01`\xA0\x1B\x03\x90\x81\x16`\0\x90\x81R`\x08` \x90\x81R`@\x80\x83 \x94\x90\x93\x16\x82R\x92\x90\x92R\x90 T`\xFF\x16\x90V[a\x0Cd\x7F\x9F-\xF0\xFE\xD2\xC7vH\xDEX`\xA4\xCCP\x8C\xD0\x81\x8C\x85\xB8\xB8\xA1\xABL\xEE\xEF\x8D\x98\x1C\x89V\xA63a\x08\xF4V[a\x0C\xB0W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01\x81\x90R`$\x82\x01R\x7Fcaller does not have minter role`D\x82\x01R`d\x01a\x06UV[a\x0C\xBC\x84\x84\x84\x84a\x17sV[PPPPV[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R`\x0B` R`@\x81 a\x08\xED\x90\x83a\x15\x86V[3`\x01`\x01`\xA0\x1B\x03\x82\x16\x03a\rFW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`!`$\x82\x01R\x7FERC777: revoking self as operato`D\x82\x01R`9`\xF9\x1B`d\x82\x01R`\x84\x01a\x06UV[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\x07` R`@\x90 T`\xFF\x16\x15a\r\x9AW3`\0\x90\x81R`\t` \x90\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x85\x16\x84R\x90\x91R\x90 \x80T`\xFF\x19\x16`\x01\x17\x90Ua\r\xC6V[3`\0\x90\x81R`\x08` \x90\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x85\x16\x84R\x90\x91R\x90 \x80T`\xFF\x19\x16\x90U[`@Q3\x90`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x7FPTnf\xE5\xF4Mr\x83e\xDC9\x08\xC6;\xC5\xCF\xEE\xABG\x07\"\xC1g~0s\xA6\xAC)J\xA1\x90`\0\x90\xA3PV[a\x0E\t3\x85a\x0B\x99V[a\x0E%W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06U\x90a&#V[a\x0C\xBC\x84\x84\x84\x84a\x18\xCFV[a\x08\x953\x83\x83`@Q\x80` \x01`@R\x80`\0\x81RPa\x18\xCFV[`\0`\x01`\x01`\xE0\x1B\x03\x19\x82\x16cye\xDB\x0B`\xE0\x1B\x14\x80a\x05$WPc\x01\xFF\xC9\xA7`\xE0\x1B`\x01`\x01`\xE0\x1B\x03\x19\x83\x16\x14a\x05$V[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x0E\xE5W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`%`$\x82\x01R\x7FERC777: approve from the zero ad`D\x82\x01Rddress`\xD8\x1B`d\x82\x01R`\x84\x01a\x06UV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x0FGW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`#`$\x82\x01R\x7FERC777: approve to the zero addr`D\x82\x01Rbess`\xE8\x1B`d\x82\x01R`\x84\x01a\x06UV[`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\0\x81\x81R`\n` \x90\x81R`@\x80\x83 \x94\x87\x16\x80\x84R\x94\x82R\x91\x82\x90 \x85\x90U\x90Q\x84\x81R\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x91\x01`@Q\x80\x91\x03\x90\xA3PPPV[`@QcU]\xDCe`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x86\x16`\x04\x82\x01R\x7F)\xDD\xB5\x89\xB1\xFB_\xC7\xCF9Ia\xC1\xAD\xF5\xF8\xC6EGa\xAD\xF7\x95\xE6\x7F\xE1I\xF6X\xAB\xE8\x95`$\x82\x01R`\0\x90s\x18 \xA4\xB7a\x8B\xDEq\xDC\xE8\xCD\xC7:\xABl\x95\x90_\xAD$\x90c\xAA\xBB\xB8\xCA\x90`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x10)W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x10M\x91\x90a&oV[\x90P`\x01`\x01`\xA0\x1B\x03\x81\x16\x15a\x10\xC7W`@Qc:\xD5\xCB\xC1`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16\x90cu\xAB\x97\x82\x90a\x10\x94\x90\x8A\x90\x8A\x90\x8A\x90\x8A\x90\x8A\x90\x8A\x90`\x04\x01a&\x8CV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x10\xAEW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x10\xC2W=`\0\x80>=`\0\xFD[PPPP[PPPPPPPV[a\x10\xDC\x86\x86\x86\x86a\x1ACV[a\x11\x19\x83`@Q\x80``\x01`@R\x80`'\x81R` \x01a(I`'\x919`\x01`\x01`\xA0\x1B\x03\x88\x16`\0\x90\x81R`\x02` R`@\x90 T\x91\x90a\x11\xFEV[`\x01`\x01`\xA0\x1B\x03\x80\x87\x16`\0\x90\x81R`\x02` R`@\x80\x82 \x93\x90\x93U\x90\x86\x16\x81R Ta\x11H\x90\x84a\x1BzV[`\x01`\x01`\xA0\x1B\x03\x80\x86\x16`\0\x81\x81R`\x02` R`@\x90\x81\x90 \x93\x90\x93U\x91Q\x87\x82\x16\x91\x89\x16\x90\x7F\x06\xB5A\xDD\xAAr\r\xB2\xB1\nM\x0C\xDA\xC3\x9B\x8D6\x04%\xFC\x070\x85\xFA\xC1\x9B\xC8&\x14gy\x87\x90a\x11\xA1\x90\x88\x90\x88\x90\x88\x90a&\xE6V[`@Q\x80\x91\x03\x90\xA4\x83`\x01`\x01`\xA0\x1B\x03\x16\x85`\x01`\x01`\xA0\x1B\x03\x16\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x85`@Qa\x11\xEE\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPPPPV[`\0\x81\x84\x84\x11\x15a\x12\"W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x06U\x91\x90a!\x95V[PPP\x90\x03\x90V[`@QcU]\xDCe`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x86\x16`\x04\x82\x01R\x7F\xB2\x81\xFC\x8C\x12\x95M\"TM\xB4]\xE3\x15\x9A9'(\x95\xB1i\xA8R\xB3\x14\xF9\xCCv.D\xC5;`$\x82\x01R`\0\x90s\x18 \xA4\xB7a\x8B\xDEq\xDC\xE8\xCD\xC7:\xABl\x95\x90_\xAD$\x90c\xAA\xBB\xB8\xCA\x90`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x12\xABW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x12\xCF\x91\x90a&oV[\x90P`\x01`\x01`\xA0\x1B\x03\x81\x16\x15a\x13KW`@Qb#\xDE)`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x82\x16\x90b#\xDE)\x90a\x13\x14\x90\x8B\x90\x8B\x90\x8B\x90\x8B\x90\x8B\x90\x8B\x90`\x04\x01a&\x8CV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x13.W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x13BW=`\0\x80>=`\0\xFD[PPPPa\x13\xE5V[\x81\x15a\x13\xE5W`\x01`\x01`\xA0\x1B\x03\x86\x16;\x15a\x13\xE5W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`M`$\x82\x01R\x7FERC777: token recipient contract`D\x82\x01R\x7F has no implementer for ERC777To`d\x82\x01Rl\x1A\xD9[\x9C\xD4\x99X\xDA\\\x1AY[\x9D`\x9A\x1B`\x84\x82\x01R`\xA4\x01a\x06UV[PPPPPPPPV[a\x13\xF9\x82\x82a\x08\xF4V[a\x08\x95Wa\x14\x11\x81`\x01`\x01`\xA0\x1B\x03\x16`\x14a\x1B\x86V[a\x14\x1C\x83` a\x1B\x86V[`@Q` \x01a\x14-\x92\x91\x90a'\x1BV[`@\x80Q`\x1F\x19\x81\x84\x03\x01\x81R\x90\x82\x90RbF\x1B\xCD`\xE5\x1B\x82Ra\x06U\x91`\x04\x01a!\x95V[a\x14]\x82\x82a\x1D\"V[`\0\x82\x81R`\x01` R`@\x90 a\x08\x16\x90\x82a\x1D\xA6V[a\x14\x7F\x82\x82a\x1D\xBBV[`\0\x82\x81R`\x01` R`@\x90 a\x08\x16\x90\x82a\x1E V[`\x01`\x01`\xA0\x1B\x03\x86\x16a\x14\xF8W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\"`$\x82\x01R\x7FERC777: send from the zero addre`D\x82\x01Rass`\xF0\x1B`d\x82\x01R`\x84\x01a\x06UV[`\x01`\x01`\xA0\x1B\x03\x85\x16a\x15NW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01\x81\x90R`$\x82\x01R\x7FERC777: send to the zero address`D\x82\x01R`d\x01a\x06UV[3a\x15]\x81\x88\x88\x88\x88\x88a\x0F\xA8V[a\x15k\x81\x88\x88\x88\x88\x88a\x10\xD0V[a\x10\xC7\x81\x88\x88\x88\x88\x88\x88a\x12*V[`\0a\x08\xED\x83\x83a\x1E5V[\x81T`\0\x90\x80\x82\x03a\x15\x9CW`\0\x91PPa\x05$V[\x83a\x15\xA8`\x01\x83a'\xA6V[\x81T\x81\x10a\x15\xB8Wa\x15\xB8a'\xB9V[`\0\x91\x82R` \x90\x91 \x01T`\x01`\x01`\x80\x1B\x03\x90\x81\x16\x90\x84\x16\x10a\x16\x18W\x83a\x15\xE3`\x01\x83a'\xA6V[\x81T\x81\x10a\x15\xF3Wa\x15\xF3a'\xB9V[`\0\x91\x82R` \x90\x91 \x01T`\x01`\x80\x1B\x90\x04`\x01`\x01`\x80\x1B\x03\x16\x91Pa\x05$\x90PV[\x83`\0\x81T\x81\x10a\x16+Wa\x16+a'\xB9V[`\0\x91\x82R` \x90\x91 \x01T`\x01`\x01`\x80\x1B\x03\x90\x81\x16\x90\x84\x16\x10\x15a\x16UW`\0\x91PPa\x05$V[`\0\x80a\x16c`\x01\x84a'\xA6V[\x90P[\x81\x81\x11\x15a\x171W`\0`\x02a\x16|\x84\x84a'\xCFV[a\x16\x87\x90`\x01a'\xCFV[a\x16\x91\x91\x90a'\xE2V[\x90P`\0\x87\x82\x81T\x81\x10a\x16\xA7Wa\x16\xA7a'\xB9V[`\0\x91\x82R` \x90\x91 \x01T`\x01`\x01`\x80\x1B\x03\x90\x81\x16\x91P\x87\x16\x81\x03a\x17\x03W\x87\x82\x81T\x81\x10a\x16\xDAWa\x16\xDAa'\xB9V[`\0\x91\x82R` \x90\x91 \x01T`\x01`\x80\x1B\x90\x04`\x01`\x01`\x80\x1B\x03\x16\x95Pa\x05$\x94PPPPPV[\x86`\x01`\x01`\x80\x1B\x03\x16\x81\x10\x15a\x17\x1CW\x81\x93Pa\x17*V[a\x17'`\x01\x83a'\xA6V[\x92P[PPa\x16fV[\x85\x82\x81T\x81\x10a\x17CWa\x17Ca'\xB9V[`\0\x91\x82R` \x90\x91 \x01T`\x01`\x80\x1B\x90\x04`\x01`\x01`\x80\x1B\x03\x16\x96\x95PPPPPPV[`\0a\x05$\x82T\x90V[`\x01`\x01`\xA0\x1B\x03\x84\x16a\x17\xC9W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01\x81\x90R`$\x82\x01R\x7FERC777: mint to the zero address`D\x82\x01R`d\x01a\x06UV[3a\x17\xD7\x81`\0\x87\x87a\x1ACV[`\x03Ta\x17\xE4\x90\x85a\x1BzV[`\x03U`\x01`\x01`\xA0\x1B\x03\x85\x16`\0\x90\x81R`\x02` R`@\x90 Ta\x18\n\x90\x85a\x1BzV[`\x01`\x01`\xA0\x1B\x03\x86\x16`\0\x90\x81R`\x02` R`@\x81 \x91\x90\x91Ua\x187\x90\x82\x90\x87\x87\x87\x87`\x01a\x12*V[\x84`\x01`\x01`\xA0\x1B\x03\x16\x81`\x01`\x01`\xA0\x1B\x03\x16\x7F/\xE5\xBE\x01F\xF7L[\xCE6\xC0\xB8\t\x11\xAFl}\x86\xFF'\xE8\x9D\\\xFAa\xFCh\x13'\x95N]\x86\x86\x86`@Qa\x18~\x93\x92\x91\x90a&\xE6V[`@Q\x80\x91\x03\x90\xA3`@Q\x84\x81R`\x01`\x01`\xA0\x1B\x03\x86\x16\x90`\0\x90\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x90` \x01[`@Q\x80\x91\x03\x90\xA3PPPPPV[`\x01`\x01`\xA0\x1B\x03\x84\x16a\x190W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\"`$\x82\x01R\x7FERC777: burn from the zero addre`D\x82\x01Rass`\xF0\x1B`d\x82\x01R`\x84\x01a\x06UV[3a\x19@\x81\x86`\0\x87\x87\x87a\x0F\xA8V[a\x19M\x81\x86`\0\x87a\x1ACV[a\x19\x8A\x84`@Q\x80``\x01`@R\x80`#\x81R` \x01a(\x99`#\x919`\x01`\x01`\xA0\x1B\x03\x88\x16`\0\x90\x81R`\x02` R`@\x90 T\x91\x90a\x11\xFEV[`\x01`\x01`\xA0\x1B\x03\x86\x16`\0\x90\x81R`\x02` R`@\x90 U`\x03Ta\x19\xB0\x90\x85a\x1E_V[`\x03\x81\x90UP\x84`\x01`\x01`\xA0\x1B\x03\x16\x81`\x01`\x01`\xA0\x1B\x03\x16\x7F\xA7\x8A\x9B\xE3\xA7\xB8b\xD2i3\xAD\x85\xFB\x11\xD8\x0E\xF6k\x8F\x97-|\xBB\xA0f!\xD5\x83\x94:@\x98\x86\x86\x86`@Qa\x19\xFD\x93\x92\x91\x90a&\xE6V[`@Q\x80\x91\x03\x90\xA3`@Q\x84\x81R`\0\x90`\x01`\x01`\xA0\x1B\x03\x87\x16\x90\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x90` \x01a\x18\xC0V[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x1A\xA3W`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R`\x0B` \x90\x81R`@\x80\x83 `\x02\x90\x92R\x90\x91 Ta\x1A\x8C\x91\x90a\x1A\x87\x90\x84\x90[\x90a\x1BzV[a\x1EkV[a\x1A\x9E`\x0Ca\x1A\x87\x83a\x1A\x81`\x03T\x90V[a\x0C\xBCV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x1A\xF9W`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\x0B` \x90\x81R`@\x80\x83 `\x02\x90\x92R\x90\x91 Ta\x1A\xE7\x91\x90a\x1A\x87\x90\x84\x90[\x90a\x1E_V[a\x1A\x9E`\x0Ca\x1A\x87\x83a\x1A\xE1`\x03T\x90V[\x81`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x14a\x0C\xBCW`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R`\x0B` \x90\x81R`@\x80\x83 `\x02\x90\x92R\x90\x91 Ta\x1BF\x91\x90a\x1A\x87\x90\x84\x90a\x1A\xE1V[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R`\x0B` \x90\x81R`@\x80\x83 `\x02\x90\x92R\x90\x91 Ta\x0C\xBC\x91\x90a\x1A\x87\x90\x84\x90a\x1A\x81V[`\0a\x08\xED\x82\x84a'\xCFV[```\0a\x1B\x95\x83`\x02a(\x04V[a\x1B\xA0\x90`\x02a'\xCFV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1B\xB8Wa\x1B\xB8a\"vV[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a\x1B\xE2W` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\x03`\xFC\x1B\x81`\0\x81Q\x81\x10a\x1B\xFDWa\x1B\xFDa'\xB9V[` \x01\x01\x90`\x01`\x01`\xF8\x1B\x03\x19\x16\x90\x81`\0\x1A\x90SP`\x0F`\xFB\x1B\x81`\x01\x81Q\x81\x10a\x1C,Wa\x1C,a'\xB9V[` \x01\x01\x90`\x01`\x01`\xF8\x1B\x03\x19\x16\x90\x81`\0\x1A\x90SP`\0a\x1CP\x84`\x02a(\x04V[a\x1C[\x90`\x01a'\xCFV[\x90P[`\x01\x81\x11\x15a\x1C\xD3Wo\x18\x18\x99\x19\x9A\x1A\x9B\x1B\x9C\x1C\xB0\xB11\xB22\xB3`\x81\x1B\x85`\x0F\x16`\x10\x81\x10a\x1C\x8FWa\x1C\x8Fa'\xB9V[\x1A`\xF8\x1B\x82\x82\x81Q\x81\x10a\x1C\xA5Wa\x1C\xA5a'\xB9V[` \x01\x01\x90`\x01`\x01`\xF8\x1B\x03\x19\x16\x90\x81`\0\x1A\x90SP`\x04\x94\x90\x94\x1C\x93a\x1C\xCC\x81a(\x1BV[\x90Pa\x1C^V[P\x83\x15a\x08\xEDW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01\x81\x90R`$\x82\x01R\x7FStrings: hex length insufficient`D\x82\x01R`d\x01a\x06UV[a\x1D,\x82\x82a\x08\xF4V[a\x08\x95W`\0\x82\x81R` \x81\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x85\x16\x84R\x90\x91R\x90 \x80T`\xFF\x19\x16`\x01\x17\x90Ua\x1Db3\x90V[`\x01`\x01`\xA0\x1B\x03\x16\x81`\x01`\x01`\xA0\x1B\x03\x16\x83\x7F/\x87\x88\x11~~\xFF\x1D\x82\xE9&\xECyI\x01\xD1|x\x02JP'\t@0E@\xA73eo\r`@Q`@Q\x80\x91\x03\x90\xA4PPV[`\0a\x08\xED\x83`\x01`\x01`\xA0\x1B\x03\x84\x16a\x1F\x8CV[a\x1D\xC5\x82\x82a\x08\xF4V[\x15a\x08\x95W`\0\x82\x81R` \x81\x81R`@\x80\x83 `\x01`\x01`\xA0\x1B\x03\x85\x16\x80\x85R\x92R\x80\x83 \x80T`\xFF\x19\x16\x90UQ3\x92\x85\x91\x7F\xF69\x1F\\2\xD9\xC6\x9D*G\xEAg\x0BD)t\xB595\xD1\xED\xC7\xFDd\xEB!\xE0G\xA89\x17\x1B\x91\x90\xA4PPV[`\0a\x08\xED\x83`\x01`\x01`\xA0\x1B\x03\x84\x16a\x1F\xDBV[`\0\x82`\0\x01\x82\x81T\x81\x10a\x1ELWa\x1ELa'\xB9V[\x90`\0R` `\0 \x01T\x90P\x92\x91PPV[`\0a\x08\xED\x82\x84a'\xA6V[`\x01`\x01`\x80\x1B\x03\x81\x11\x15a\x1E\xB5W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\x10`$\x82\x01Rocasting overflow`\x80\x1B`D\x82\x01R`d\x01a\x06UV[\x81T\x80\x15\x80a\x1E\xF3WPC\x83a\x1E\xCC`\x01\x84a'\xA6V[\x81T\x81\x10a\x1E\xDCWa\x1E\xDCa'\xB9V[`\0\x91\x82R` \x90\x91 \x01T`\x01`\x01`\x80\x1B\x03\x16\x10[\x15a\x1FDW`@\x80Q\x80\x82\x01\x90\x91R`\x01`\x01`\x80\x1B\x03C\x81\x16\x82R\x83\x81\x16` \x80\x84\x01\x91\x82R\x86T`\x01\x81\x01\x88U`\0\x88\x81R\x91\x90\x91 \x93Q\x91Q\x83\x16`\x01`\x80\x1B\x02\x91\x90\x92\x16\x17\x91\x01UPPPV[\x81\x83a\x1FQ`\x01\x84a'\xA6V[\x81T\x81\x10a\x1FaWa\x1Faa'\xB9V[`\0\x91\x82R` \x90\x91 \x01\x80T`\x01`\x01`\x80\x1B\x03\x92\x83\x16`\x01`\x80\x1B\x02\x92\x16\x91\x90\x91\x17\x90UPPPV[`\0\x81\x81R`\x01\x83\x01` R`@\x81 Ta\x1F\xD3WP\x81T`\x01\x81\x81\x01\x84U`\0\x84\x81R` \x80\x82 \x90\x93\x01\x84\x90U\x84T\x84\x82R\x82\x86\x01\x90\x93R`@\x90 \x91\x90\x91Ua\x05$V[P`\0a\x05$V[`\0\x81\x81R`\x01\x83\x01` R`@\x81 T\x80\x15a \xC4W`\0a\x1F\xFF`\x01\x83a'\xA6V[\x85T\x90\x91P`\0\x90a \x13\x90`\x01\x90a'\xA6V[\x90P\x81\x81\x14a xW`\0\x86`\0\x01\x82\x81T\x81\x10a 3Wa 3a'\xB9V[\x90`\0R` `\0 \x01T\x90P\x80\x87`\0\x01\x84\x81T\x81\x10a VWa Va'\xB9V[`\0\x91\x82R` \x80\x83 \x90\x91\x01\x92\x90\x92U\x91\x82R`\x01\x88\x01\x90R`@\x90 \x83\x90U[\x85T\x86\x90\x80a \x89Wa \x89a(2V[`\x01\x90\x03\x81\x81\x90`\0R` `\0 \x01`\0\x90U\x90U\x85`\x01\x01`\0\x86\x81R` \x01\x90\x81R` \x01`\0 `\0\x90U`\x01\x93PPPPa\x05$V[`\0\x91PPa\x05$V[`\0` \x82\x84\x03\x12\x15a \xE0W`\0\x80\xFD[\x815`\x01`\x01`\xE0\x1B\x03\x19\x81\x16\x81\x14a\x08\xEDW`\0\x80\xFD[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90\x84\x82\x01\x90`@\x85\x01\x90\x84[\x81\x81\x10\x15a!9W\x83Q`\x01`\x01`\xA0\x1B\x03\x16\x83R\x92\x84\x01\x92\x91\x84\x01\x91`\x01\x01a!\x14V[P\x90\x96\x95PPPPPPV[`\0[\x83\x81\x10\x15a!`W\x81\x81\x01Q\x83\x82\x01R` \x01a!HV[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra!\x81\x81` \x86\x01` \x86\x01a!EV[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[` \x81R`\0a\x08\xED` \x83\x01\x84a!iV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a!\xBDW`\0\x80\xFD[PV[`\0\x80`@\x83\x85\x03\x12\x15a!\xD3W`\0\x80\xFD[\x825a!\xDE\x81a!\xA8V[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\"\x01W`\0\x80\xFD[\x835a\"\x0C\x81a!\xA8V[\x92P` \x84\x015a\"\x1C\x81a!\xA8V[\x92\x95\x92\x94PPP`@\x91\x90\x91\x015\x90V[`\0` \x82\x84\x03\x12\x15a\"?W`\0\x80\xFD[P5\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\"YW`\0\x80\xFD[\x825\x91P` \x83\x015a\"k\x81a!\xA8V[\x80\x91PP\x92P\x92\x90PV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\0\x82`\x1F\x83\x01\x12a\"\x9DW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\"\xB8Wa\"\xB8a\"vV[`@Q`\x1F\x83\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x82\x82\x11\x81\x83\x10\x17\x15a\"\xE0Wa\"\xE0a\"vV[\x81`@R\x83\x81R\x86` \x85\x88\x01\x01\x11\x15a\"\xF9W`\0\x80\xFD[\x83` \x87\x01` \x83\x017`\0` \x85\x83\x01\x01R\x80\x94PPPPP\x92\x91PPV[`\0\x80`\0\x80`\0`\xA0\x86\x88\x03\x12\x15a#1W`\0\x80\xFD[\x855a#<\x81a!\xA8V[\x94P` \x86\x015a#L\x81a!\xA8V[\x93P`@\x86\x015\x92P``\x86\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a#pW`\0\x80\xFD[a#|\x89\x83\x8A\x01a\"\x8CV[\x93P`\x80\x88\x015\x91P\x80\x82\x11\x15a#\x92W`\0\x80\xFD[Pa#\x9F\x88\x82\x89\x01a\"\x8CV[\x91PP\x92\x95P\x92\x95\x90\x93PV[`\0` \x82\x84\x03\x12\x15a#\xBEW`\0\x80\xFD[\x815a\x08\xED\x81a!\xA8V[`\0\x80`@\x83\x85\x03\x12\x15a#\xDCW`\0\x80\xFD[PP\x805\x92` \x90\x91\x015\x91PV[\x805`\x01`\x01`\x80\x1B\x03\x81\x16\x81\x14a$\x02W`\0\x80\xFD[\x91\x90PV[`\0` \x82\x84\x03\x12\x15a$\x19W`\0\x80\xFD[a\x08\xED\x82a#\xEBV[`\0\x80`\0``\x84\x86\x03\x12\x15a$7W`\0\x80\xFD[\x835a$B\x81a!\xA8V[\x92P` \x84\x015\x91P`@\x84\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a$eW`\0\x80\xFD[a$q\x86\x82\x87\x01a\"\x8CV[\x91PP\x92P\x92P\x92V[`\0\x80`@\x83\x85\x03\x12\x15a$\x8EW`\0\x80\xFD[\x825a$\x99\x81a!\xA8V[\x91P` \x83\x015a\"k\x81a!\xA8V[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15a$\xBFW`\0\x80\xFD[\x845a$\xCA\x81a!\xA8V[\x93P` \x85\x015\x92P`@\x85\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a$\xEEW`\0\x80\xFD[a$\xFA\x88\x83\x89\x01a\"\x8CV[\x93P``\x87\x015\x91P\x80\x82\x11\x15a%\x10W`\0\x80\xFD[Pa%\x1D\x87\x82\x88\x01a\"\x8CV[\x91PP\x92\x95\x91\x94P\x92PV[`\0\x80`@\x83\x85\x03\x12\x15a%<W`\0\x80\xFD[\x825a%G\x81a!\xA8V[\x91Pa%U` \x84\x01a#\xEBV[\x90P\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a%qW`\0\x80\xFD[\x825\x91P` \x83\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a%\x8FW`\0\x80\xFD[a%\x9B\x85\x82\x86\x01a\"\x8CV[\x91PP\x92P\x92\x90PV[`\x01\x81\x81\x1C\x90\x82\x16\x80a%\xB9W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a%\xD9WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[` \x80\x82R`$\x90\x82\x01R\x7FERC777: transfer to the zero add`@\x82\x01Rcress`\xE0\x1B``\x82\x01R`\x80\x01\x90V[` \x80\x82R`,\x90\x82\x01R\x7FERC777: caller is not an operato`@\x82\x01Rk9\x1037\xB9\x1047\xB622\xB9`\xA1\x1B``\x82\x01R`\x80\x01\x90V[`\0` \x82\x84\x03\x12\x15a&\x81W`\0\x80\xFD[\x81Qa\x08\xED\x81a!\xA8V[`\x01`\x01`\xA0\x1B\x03\x87\x81\x16\x82R\x86\x81\x16` \x83\x01R\x85\x16`@\x82\x01R``\x81\x01\x84\x90R`\xC0`\x80\x82\x01\x81\x90R`\0\x90a&\xC7\x90\x83\x01\x85a!iV[\x82\x81\x03`\xA0\x84\x01Ra&\xD9\x81\x85a!iV[\x99\x98PPPPPPPPPV[\x83\x81R``` \x82\x01R`\0a&\xFF``\x83\x01\x85a!iV[\x82\x81\x03`@\x84\x01Ra'\x11\x81\x85a!iV[\x96\x95PPPPPPV[\x7FAccessControl: account \0\0\0\0\0\0\0\0\0\x81R`\0\x83Qa'S\x81`\x17\x85\x01` \x88\x01a!EV[p\x01\x03K\x99\x03kK\x9B\x9BKs9\x03\x93{c)`}\x1B`\x17\x91\x84\x01\x91\x82\x01R\x83Qa'\x84\x81`(\x84\x01` \x88\x01a!EV[\x01`(\x01\x94\x93PPPPV[cNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[\x81\x81\x03\x81\x81\x11\x15a\x05$Wa\x05$a'\x90V[cNH{q`\xE0\x1B`\0R`2`\x04R`$`\0\xFD[\x80\x82\x01\x80\x82\x11\x15a\x05$Wa\x05$a'\x90V[`\0\x82a'\xFFWcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x05$Wa\x05$a'\x90V[`\0\x81a(*Wa(*a'\x90V[P`\0\x19\x01\x90V[cNH{q`\xE0\x1B`\0R`1`\x04R`$`\0\xFD\xFEERC777: transfer amount exceeds balanceERC777: transfer amount exceeds allowanceERC777: burn amount exceeds balance\xA2dipfsX\"\x12 \x83\x18\x90Iy\xF9[\xE02\xF9\x95\xB7[\x0F\xA0a\x84\xE9\x86Gx\xB44\xC6\xCC)\x8F:f;\xD8\x01dsolcC\0\x08\x13\x003",
1033 );
1034 #[derive(serde::Serialize, serde::Deserialize)]
1035 #[derive(Default, Debug, PartialEq, Eq, Hash)]
1036 #[allow(
1041 non_camel_case_types,
1042 non_snake_case,
1043 clippy::pub_underscore_fields,
1044 clippy::style
1045 )]
1046 #[derive(Clone)]
1047 pub struct Approval {
1048 #[allow(missing_docs)]
1049 pub owner: alloy::sol_types::private::Address,
1050 #[allow(missing_docs)]
1051 pub spender: alloy::sol_types::private::Address,
1052 #[allow(missing_docs)]
1053 pub value: alloy::sol_types::private::primitives::aliases::U256,
1054 }
1055 #[allow(
1056 non_camel_case_types,
1057 non_snake_case,
1058 clippy::pub_underscore_fields,
1059 clippy::style
1060 )]
1061 const _: () = {
1062 use alloy::sol_types as alloy_sol_types;
1063 #[automatically_derived]
1064 impl alloy_sol_types::SolEvent for Approval {
1065 type DataTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
1066 type DataToken<'a> = <Self::DataTuple<
1067 'a,
1068 > as alloy_sol_types::SolType>::Token<'a>;
1069 type TopicList = (
1070 alloy_sol_types::sol_data::FixedBytes<32>,
1071 alloy::sol_types::sol_data::Address,
1072 alloy::sol_types::sol_data::Address,
1073 );
1074 const SIGNATURE: &'static str = "Approval(address,address,uint256)";
1075 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
1076 140u8, 91u8, 225u8, 229u8, 235u8, 236u8, 125u8, 91u8, 209u8, 79u8, 113u8,
1077 66u8, 125u8, 30u8, 132u8, 243u8, 221u8, 3u8, 20u8, 192u8, 247u8, 178u8,
1078 41u8, 30u8, 91u8, 32u8, 10u8, 200u8, 199u8, 195u8, 185u8, 37u8,
1079 ]);
1080 const ANONYMOUS: bool = false;
1081 #[allow(unused_variables)]
1082 #[inline]
1083 fn new(
1084 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
1085 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
1086 ) -> Self {
1087 Self {
1088 owner: topics.1,
1089 spender: topics.2,
1090 value: data.0,
1091 }
1092 }
1093 #[inline]
1094 fn check_signature(
1095 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
1096 ) -> alloy_sol_types::Result<()> {
1097 if topics.0 != Self::SIGNATURE_HASH {
1098 return Err(
1099 alloy_sol_types::Error::invalid_event_signature_hash(
1100 Self::SIGNATURE,
1101 topics.0,
1102 Self::SIGNATURE_HASH,
1103 ),
1104 );
1105 }
1106 Ok(())
1107 }
1108 #[inline]
1109 fn tokenize_body(&self) -> Self::DataToken<'_> {
1110 (
1111 <alloy::sol_types::sol_data::Uint<
1112 256,
1113 > as alloy_sol_types::SolType>::tokenize(&self.value),
1114 )
1115 }
1116 #[inline]
1117 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
1118 (Self::SIGNATURE_HASH.into(), self.owner.clone(), self.spender.clone())
1119 }
1120 #[inline]
1121 fn encode_topics_raw(
1122 &self,
1123 out: &mut [alloy_sol_types::abi::token::WordToken],
1124 ) -> alloy_sol_types::Result<()> {
1125 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
1126 return Err(alloy_sol_types::Error::Overrun);
1127 }
1128 out[0usize] = alloy_sol_types::abi::token::WordToken(
1129 Self::SIGNATURE_HASH,
1130 );
1131 out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
1132 &self.owner,
1133 );
1134 out[2usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
1135 &self.spender,
1136 );
1137 Ok(())
1138 }
1139 }
1140 #[automatically_derived]
1141 impl alloy_sol_types::private::IntoLogData for Approval {
1142 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
1143 From::from(self)
1144 }
1145 fn into_log_data(self) -> alloy_sol_types::private::LogData {
1146 From::from(&self)
1147 }
1148 }
1149 #[automatically_derived]
1150 impl From<&Approval> for alloy_sol_types::private::LogData {
1151 #[inline]
1152 fn from(this: &Approval) -> alloy_sol_types::private::LogData {
1153 alloy_sol_types::SolEvent::encode_log_data(this)
1154 }
1155 }
1156 };
1157 #[derive(serde::Serialize, serde::Deserialize)]
1158 #[derive(Default, Debug, PartialEq, Eq, Hash)]
1159 #[allow(
1164 non_camel_case_types,
1165 non_snake_case,
1166 clippy::pub_underscore_fields,
1167 clippy::style
1168 )]
1169 #[derive(Clone)]
1170 pub struct AuthorizedOperator {
1171 #[allow(missing_docs)]
1172 pub operator: alloy::sol_types::private::Address,
1173 #[allow(missing_docs)]
1174 pub tokenHolder: alloy::sol_types::private::Address,
1175 }
1176 #[allow(
1177 non_camel_case_types,
1178 non_snake_case,
1179 clippy::pub_underscore_fields,
1180 clippy::style
1181 )]
1182 const _: () = {
1183 use alloy::sol_types as alloy_sol_types;
1184 #[automatically_derived]
1185 impl alloy_sol_types::SolEvent for AuthorizedOperator {
1186 type DataTuple<'a> = ();
1187 type DataToken<'a> = <Self::DataTuple<
1188 'a,
1189 > as alloy_sol_types::SolType>::Token<'a>;
1190 type TopicList = (
1191 alloy_sol_types::sol_data::FixedBytes<32>,
1192 alloy::sol_types::sol_data::Address,
1193 alloy::sol_types::sol_data::Address,
1194 );
1195 const SIGNATURE: &'static str = "AuthorizedOperator(address,address)";
1196 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
1197 244u8, 202u8, 235u8, 45u8, 108u8, 168u8, 147u8, 42u8, 33u8, 90u8, 53u8,
1198 61u8, 7u8, 3u8, 195u8, 38u8, 236u8, 45u8, 129u8, 252u8, 104u8, 23u8,
1199 15u8, 50u8, 14u8, 178u8, 171u8, 73u8, 233u8, 223u8, 97u8, 249u8,
1200 ]);
1201 const ANONYMOUS: bool = false;
1202 #[allow(unused_variables)]
1203 #[inline]
1204 fn new(
1205 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
1206 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
1207 ) -> Self {
1208 Self {
1209 operator: topics.1,
1210 tokenHolder: topics.2,
1211 }
1212 }
1213 #[inline]
1214 fn check_signature(
1215 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
1216 ) -> alloy_sol_types::Result<()> {
1217 if topics.0 != Self::SIGNATURE_HASH {
1218 return Err(
1219 alloy_sol_types::Error::invalid_event_signature_hash(
1220 Self::SIGNATURE,
1221 topics.0,
1222 Self::SIGNATURE_HASH,
1223 ),
1224 );
1225 }
1226 Ok(())
1227 }
1228 #[inline]
1229 fn tokenize_body(&self) -> Self::DataToken<'_> {
1230 ()
1231 }
1232 #[inline]
1233 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
1234 (
1235 Self::SIGNATURE_HASH.into(),
1236 self.operator.clone(),
1237 self.tokenHolder.clone(),
1238 )
1239 }
1240 #[inline]
1241 fn encode_topics_raw(
1242 &self,
1243 out: &mut [alloy_sol_types::abi::token::WordToken],
1244 ) -> alloy_sol_types::Result<()> {
1245 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
1246 return Err(alloy_sol_types::Error::Overrun);
1247 }
1248 out[0usize] = alloy_sol_types::abi::token::WordToken(
1249 Self::SIGNATURE_HASH,
1250 );
1251 out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
1252 &self.operator,
1253 );
1254 out[2usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
1255 &self.tokenHolder,
1256 );
1257 Ok(())
1258 }
1259 }
1260 #[automatically_derived]
1261 impl alloy_sol_types::private::IntoLogData for AuthorizedOperator {
1262 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
1263 From::from(self)
1264 }
1265 fn into_log_data(self) -> alloy_sol_types::private::LogData {
1266 From::from(&self)
1267 }
1268 }
1269 #[automatically_derived]
1270 impl From<&AuthorizedOperator> for alloy_sol_types::private::LogData {
1271 #[inline]
1272 fn from(this: &AuthorizedOperator) -> alloy_sol_types::private::LogData {
1273 alloy_sol_types::SolEvent::encode_log_data(this)
1274 }
1275 }
1276 };
1277 #[derive(serde::Serialize, serde::Deserialize)]
1278 #[derive(Default, Debug, PartialEq, Eq, Hash)]
1279 #[allow(
1284 non_camel_case_types,
1285 non_snake_case,
1286 clippy::pub_underscore_fields,
1287 clippy::style
1288 )]
1289 #[derive(Clone)]
1290 pub struct Burned {
1291 #[allow(missing_docs)]
1292 pub operator: alloy::sol_types::private::Address,
1293 #[allow(missing_docs)]
1294 pub from: alloy::sol_types::private::Address,
1295 #[allow(missing_docs)]
1296 pub amount: alloy::sol_types::private::primitives::aliases::U256,
1297 #[allow(missing_docs)]
1298 pub data: alloy::sol_types::private::Bytes,
1299 #[allow(missing_docs)]
1300 pub operatorData: alloy::sol_types::private::Bytes,
1301 }
1302 #[allow(
1303 non_camel_case_types,
1304 non_snake_case,
1305 clippy::pub_underscore_fields,
1306 clippy::style
1307 )]
1308 const _: () = {
1309 use alloy::sol_types as alloy_sol_types;
1310 #[automatically_derived]
1311 impl alloy_sol_types::SolEvent for Burned {
1312 type DataTuple<'a> = (
1313 alloy::sol_types::sol_data::Uint<256>,
1314 alloy::sol_types::sol_data::Bytes,
1315 alloy::sol_types::sol_data::Bytes,
1316 );
1317 type DataToken<'a> = <Self::DataTuple<
1318 'a,
1319 > as alloy_sol_types::SolType>::Token<'a>;
1320 type TopicList = (
1321 alloy_sol_types::sol_data::FixedBytes<32>,
1322 alloy::sol_types::sol_data::Address,
1323 alloy::sol_types::sol_data::Address,
1324 );
1325 const SIGNATURE: &'static str = "Burned(address,address,uint256,bytes,bytes)";
1326 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
1327 167u8, 138u8, 155u8, 227u8, 167u8, 184u8, 98u8, 210u8, 105u8, 51u8,
1328 173u8, 133u8, 251u8, 17u8, 216u8, 14u8, 246u8, 107u8, 143u8, 151u8, 45u8,
1329 124u8, 187u8, 160u8, 102u8, 33u8, 213u8, 131u8, 148u8, 58u8, 64u8, 152u8,
1330 ]);
1331 const ANONYMOUS: bool = false;
1332 #[allow(unused_variables)]
1333 #[inline]
1334 fn new(
1335 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
1336 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
1337 ) -> Self {
1338 Self {
1339 operator: topics.1,
1340 from: topics.2,
1341 amount: data.0,
1342 data: data.1,
1343 operatorData: data.2,
1344 }
1345 }
1346 #[inline]
1347 fn check_signature(
1348 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
1349 ) -> alloy_sol_types::Result<()> {
1350 if topics.0 != Self::SIGNATURE_HASH {
1351 return Err(
1352 alloy_sol_types::Error::invalid_event_signature_hash(
1353 Self::SIGNATURE,
1354 topics.0,
1355 Self::SIGNATURE_HASH,
1356 ),
1357 );
1358 }
1359 Ok(())
1360 }
1361 #[inline]
1362 fn tokenize_body(&self) -> Self::DataToken<'_> {
1363 (
1364 <alloy::sol_types::sol_data::Uint<
1365 256,
1366 > as alloy_sol_types::SolType>::tokenize(&self.amount),
1367 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
1368 &self.data,
1369 ),
1370 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
1371 &self.operatorData,
1372 ),
1373 )
1374 }
1375 #[inline]
1376 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
1377 (Self::SIGNATURE_HASH.into(), self.operator.clone(), self.from.clone())
1378 }
1379 #[inline]
1380 fn encode_topics_raw(
1381 &self,
1382 out: &mut [alloy_sol_types::abi::token::WordToken],
1383 ) -> alloy_sol_types::Result<()> {
1384 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
1385 return Err(alloy_sol_types::Error::Overrun);
1386 }
1387 out[0usize] = alloy_sol_types::abi::token::WordToken(
1388 Self::SIGNATURE_HASH,
1389 );
1390 out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
1391 &self.operator,
1392 );
1393 out[2usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
1394 &self.from,
1395 );
1396 Ok(())
1397 }
1398 }
1399 #[automatically_derived]
1400 impl alloy_sol_types::private::IntoLogData for Burned {
1401 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
1402 From::from(self)
1403 }
1404 fn into_log_data(self) -> alloy_sol_types::private::LogData {
1405 From::from(&self)
1406 }
1407 }
1408 #[automatically_derived]
1409 impl From<&Burned> for alloy_sol_types::private::LogData {
1410 #[inline]
1411 fn from(this: &Burned) -> alloy_sol_types::private::LogData {
1412 alloy_sol_types::SolEvent::encode_log_data(this)
1413 }
1414 }
1415 };
1416 #[derive(serde::Serialize, serde::Deserialize)]
1417 #[derive(Default, Debug, PartialEq, Eq, Hash)]
1418 #[allow(
1423 non_camel_case_types,
1424 non_snake_case,
1425 clippy::pub_underscore_fields,
1426 clippy::style
1427 )]
1428 #[derive(Clone)]
1429 pub struct Minted {
1430 #[allow(missing_docs)]
1431 pub operator: alloy::sol_types::private::Address,
1432 #[allow(missing_docs)]
1433 pub to: alloy::sol_types::private::Address,
1434 #[allow(missing_docs)]
1435 pub amount: alloy::sol_types::private::primitives::aliases::U256,
1436 #[allow(missing_docs)]
1437 pub data: alloy::sol_types::private::Bytes,
1438 #[allow(missing_docs)]
1439 pub operatorData: alloy::sol_types::private::Bytes,
1440 }
1441 #[allow(
1442 non_camel_case_types,
1443 non_snake_case,
1444 clippy::pub_underscore_fields,
1445 clippy::style
1446 )]
1447 const _: () = {
1448 use alloy::sol_types as alloy_sol_types;
1449 #[automatically_derived]
1450 impl alloy_sol_types::SolEvent for Minted {
1451 type DataTuple<'a> = (
1452 alloy::sol_types::sol_data::Uint<256>,
1453 alloy::sol_types::sol_data::Bytes,
1454 alloy::sol_types::sol_data::Bytes,
1455 );
1456 type DataToken<'a> = <Self::DataTuple<
1457 'a,
1458 > as alloy_sol_types::SolType>::Token<'a>;
1459 type TopicList = (
1460 alloy_sol_types::sol_data::FixedBytes<32>,
1461 alloy::sol_types::sol_data::Address,
1462 alloy::sol_types::sol_data::Address,
1463 );
1464 const SIGNATURE: &'static str = "Minted(address,address,uint256,bytes,bytes)";
1465 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
1466 47u8, 229u8, 190u8, 1u8, 70u8, 247u8, 76u8, 91u8, 206u8, 54u8, 192u8,
1467 184u8, 9u8, 17u8, 175u8, 108u8, 125u8, 134u8, 255u8, 39u8, 232u8, 157u8,
1468 92u8, 250u8, 97u8, 252u8, 104u8, 19u8, 39u8, 149u8, 78u8, 93u8,
1469 ]);
1470 const ANONYMOUS: bool = false;
1471 #[allow(unused_variables)]
1472 #[inline]
1473 fn new(
1474 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
1475 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
1476 ) -> Self {
1477 Self {
1478 operator: topics.1,
1479 to: topics.2,
1480 amount: data.0,
1481 data: data.1,
1482 operatorData: data.2,
1483 }
1484 }
1485 #[inline]
1486 fn check_signature(
1487 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
1488 ) -> alloy_sol_types::Result<()> {
1489 if topics.0 != Self::SIGNATURE_HASH {
1490 return Err(
1491 alloy_sol_types::Error::invalid_event_signature_hash(
1492 Self::SIGNATURE,
1493 topics.0,
1494 Self::SIGNATURE_HASH,
1495 ),
1496 );
1497 }
1498 Ok(())
1499 }
1500 #[inline]
1501 fn tokenize_body(&self) -> Self::DataToken<'_> {
1502 (
1503 <alloy::sol_types::sol_data::Uint<
1504 256,
1505 > as alloy_sol_types::SolType>::tokenize(&self.amount),
1506 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
1507 &self.data,
1508 ),
1509 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
1510 &self.operatorData,
1511 ),
1512 )
1513 }
1514 #[inline]
1515 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
1516 (Self::SIGNATURE_HASH.into(), self.operator.clone(), self.to.clone())
1517 }
1518 #[inline]
1519 fn encode_topics_raw(
1520 &self,
1521 out: &mut [alloy_sol_types::abi::token::WordToken],
1522 ) -> alloy_sol_types::Result<()> {
1523 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
1524 return Err(alloy_sol_types::Error::Overrun);
1525 }
1526 out[0usize] = alloy_sol_types::abi::token::WordToken(
1527 Self::SIGNATURE_HASH,
1528 );
1529 out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
1530 &self.operator,
1531 );
1532 out[2usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
1533 &self.to,
1534 );
1535 Ok(())
1536 }
1537 }
1538 #[automatically_derived]
1539 impl alloy_sol_types::private::IntoLogData for Minted {
1540 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
1541 From::from(self)
1542 }
1543 fn into_log_data(self) -> alloy_sol_types::private::LogData {
1544 From::from(&self)
1545 }
1546 }
1547 #[automatically_derived]
1548 impl From<&Minted> for alloy_sol_types::private::LogData {
1549 #[inline]
1550 fn from(this: &Minted) -> alloy_sol_types::private::LogData {
1551 alloy_sol_types::SolEvent::encode_log_data(this)
1552 }
1553 }
1554 };
1555 #[derive(serde::Serialize, serde::Deserialize)]
1556 #[derive(Default, Debug, PartialEq, Eq, Hash)]
1557 #[allow(
1562 non_camel_case_types,
1563 non_snake_case,
1564 clippy::pub_underscore_fields,
1565 clippy::style
1566 )]
1567 #[derive(Clone)]
1568 pub struct RevokedOperator {
1569 #[allow(missing_docs)]
1570 pub operator: alloy::sol_types::private::Address,
1571 #[allow(missing_docs)]
1572 pub tokenHolder: alloy::sol_types::private::Address,
1573 }
1574 #[allow(
1575 non_camel_case_types,
1576 non_snake_case,
1577 clippy::pub_underscore_fields,
1578 clippy::style
1579 )]
1580 const _: () = {
1581 use alloy::sol_types as alloy_sol_types;
1582 #[automatically_derived]
1583 impl alloy_sol_types::SolEvent for RevokedOperator {
1584 type DataTuple<'a> = ();
1585 type DataToken<'a> = <Self::DataTuple<
1586 'a,
1587 > as alloy_sol_types::SolType>::Token<'a>;
1588 type TopicList = (
1589 alloy_sol_types::sol_data::FixedBytes<32>,
1590 alloy::sol_types::sol_data::Address,
1591 alloy::sol_types::sol_data::Address,
1592 );
1593 const SIGNATURE: &'static str = "RevokedOperator(address,address)";
1594 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
1595 80u8, 84u8, 110u8, 102u8, 229u8, 244u8, 77u8, 114u8, 131u8, 101u8, 220u8,
1596 57u8, 8u8, 198u8, 59u8, 197u8, 207u8, 238u8, 171u8, 71u8, 7u8, 34u8,
1597 193u8, 103u8, 126u8, 48u8, 115u8, 166u8, 172u8, 41u8, 74u8, 161u8,
1598 ]);
1599 const ANONYMOUS: bool = false;
1600 #[allow(unused_variables)]
1601 #[inline]
1602 fn new(
1603 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
1604 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
1605 ) -> Self {
1606 Self {
1607 operator: topics.1,
1608 tokenHolder: topics.2,
1609 }
1610 }
1611 #[inline]
1612 fn check_signature(
1613 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
1614 ) -> alloy_sol_types::Result<()> {
1615 if topics.0 != Self::SIGNATURE_HASH {
1616 return Err(
1617 alloy_sol_types::Error::invalid_event_signature_hash(
1618 Self::SIGNATURE,
1619 topics.0,
1620 Self::SIGNATURE_HASH,
1621 ),
1622 );
1623 }
1624 Ok(())
1625 }
1626 #[inline]
1627 fn tokenize_body(&self) -> Self::DataToken<'_> {
1628 ()
1629 }
1630 #[inline]
1631 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
1632 (
1633 Self::SIGNATURE_HASH.into(),
1634 self.operator.clone(),
1635 self.tokenHolder.clone(),
1636 )
1637 }
1638 #[inline]
1639 fn encode_topics_raw(
1640 &self,
1641 out: &mut [alloy_sol_types::abi::token::WordToken],
1642 ) -> alloy_sol_types::Result<()> {
1643 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
1644 return Err(alloy_sol_types::Error::Overrun);
1645 }
1646 out[0usize] = alloy_sol_types::abi::token::WordToken(
1647 Self::SIGNATURE_HASH,
1648 );
1649 out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
1650 &self.operator,
1651 );
1652 out[2usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
1653 &self.tokenHolder,
1654 );
1655 Ok(())
1656 }
1657 }
1658 #[automatically_derived]
1659 impl alloy_sol_types::private::IntoLogData for RevokedOperator {
1660 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
1661 From::from(self)
1662 }
1663 fn into_log_data(self) -> alloy_sol_types::private::LogData {
1664 From::from(&self)
1665 }
1666 }
1667 #[automatically_derived]
1668 impl From<&RevokedOperator> for alloy_sol_types::private::LogData {
1669 #[inline]
1670 fn from(this: &RevokedOperator) -> alloy_sol_types::private::LogData {
1671 alloy_sol_types::SolEvent::encode_log_data(this)
1672 }
1673 }
1674 };
1675 #[derive(serde::Serialize, serde::Deserialize)]
1676 #[derive(Default, Debug, PartialEq, Eq, Hash)]
1677 #[allow(
1682 non_camel_case_types,
1683 non_snake_case,
1684 clippy::pub_underscore_fields,
1685 clippy::style
1686 )]
1687 #[derive(Clone)]
1688 pub struct RoleAdminChanged {
1689 #[allow(missing_docs)]
1690 pub role: alloy::sol_types::private::FixedBytes<32>,
1691 #[allow(missing_docs)]
1692 pub previousAdminRole: alloy::sol_types::private::FixedBytes<32>,
1693 #[allow(missing_docs)]
1694 pub newAdminRole: alloy::sol_types::private::FixedBytes<32>,
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 #[automatically_derived]
1705 impl alloy_sol_types::SolEvent for RoleAdminChanged {
1706 type DataTuple<'a> = ();
1707 type DataToken<'a> = <Self::DataTuple<
1708 'a,
1709 > as alloy_sol_types::SolType>::Token<'a>;
1710 type TopicList = (
1711 alloy_sol_types::sol_data::FixedBytes<32>,
1712 alloy::sol_types::sol_data::FixedBytes<32>,
1713 alloy::sol_types::sol_data::FixedBytes<32>,
1714 alloy::sol_types::sol_data::FixedBytes<32>,
1715 );
1716 const SIGNATURE: &'static str = "RoleAdminChanged(bytes32,bytes32,bytes32)";
1717 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
1718 189u8, 121u8, 184u8, 111u8, 254u8, 10u8, 184u8, 232u8, 119u8, 97u8, 81u8,
1719 81u8, 66u8, 23u8, 205u8, 124u8, 172u8, 213u8, 44u8, 144u8, 159u8, 102u8,
1720 71u8, 92u8, 58u8, 244u8, 78u8, 18u8, 159u8, 11u8, 0u8, 255u8,
1721 ]);
1722 const ANONYMOUS: bool = false;
1723 #[allow(unused_variables)]
1724 #[inline]
1725 fn new(
1726 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
1727 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
1728 ) -> Self {
1729 Self {
1730 role: topics.1,
1731 previousAdminRole: topics.2,
1732 newAdminRole: topics.3,
1733 }
1734 }
1735 #[inline]
1736 fn check_signature(
1737 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
1738 ) -> alloy_sol_types::Result<()> {
1739 if topics.0 != Self::SIGNATURE_HASH {
1740 return Err(
1741 alloy_sol_types::Error::invalid_event_signature_hash(
1742 Self::SIGNATURE,
1743 topics.0,
1744 Self::SIGNATURE_HASH,
1745 ),
1746 );
1747 }
1748 Ok(())
1749 }
1750 #[inline]
1751 fn tokenize_body(&self) -> Self::DataToken<'_> {
1752 ()
1753 }
1754 #[inline]
1755 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
1756 (
1757 Self::SIGNATURE_HASH.into(),
1758 self.role.clone(),
1759 self.previousAdminRole.clone(),
1760 self.newAdminRole.clone(),
1761 )
1762 }
1763 #[inline]
1764 fn encode_topics_raw(
1765 &self,
1766 out: &mut [alloy_sol_types::abi::token::WordToken],
1767 ) -> alloy_sol_types::Result<()> {
1768 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
1769 return Err(alloy_sol_types::Error::Overrun);
1770 }
1771 out[0usize] = alloy_sol_types::abi::token::WordToken(
1772 Self::SIGNATURE_HASH,
1773 );
1774 out[1usize] = <alloy::sol_types::sol_data::FixedBytes<
1775 32,
1776 > as alloy_sol_types::EventTopic>::encode_topic(&self.role);
1777 out[2usize] = <alloy::sol_types::sol_data::FixedBytes<
1778 32,
1779 > as alloy_sol_types::EventTopic>::encode_topic(&self.previousAdminRole);
1780 out[3usize] = <alloy::sol_types::sol_data::FixedBytes<
1781 32,
1782 > as alloy_sol_types::EventTopic>::encode_topic(&self.newAdminRole);
1783 Ok(())
1784 }
1785 }
1786 #[automatically_derived]
1787 impl alloy_sol_types::private::IntoLogData for RoleAdminChanged {
1788 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
1789 From::from(self)
1790 }
1791 fn into_log_data(self) -> alloy_sol_types::private::LogData {
1792 From::from(&self)
1793 }
1794 }
1795 #[automatically_derived]
1796 impl From<&RoleAdminChanged> for alloy_sol_types::private::LogData {
1797 #[inline]
1798 fn from(this: &RoleAdminChanged) -> alloy_sol_types::private::LogData {
1799 alloy_sol_types::SolEvent::encode_log_data(this)
1800 }
1801 }
1802 };
1803 #[derive(serde::Serialize, serde::Deserialize)]
1804 #[derive(Default, Debug, PartialEq, Eq, Hash)]
1805 #[allow(
1810 non_camel_case_types,
1811 non_snake_case,
1812 clippy::pub_underscore_fields,
1813 clippy::style
1814 )]
1815 #[derive(Clone)]
1816 pub struct RoleGranted {
1817 #[allow(missing_docs)]
1818 pub role: alloy::sol_types::private::FixedBytes<32>,
1819 #[allow(missing_docs)]
1820 pub account: alloy::sol_types::private::Address,
1821 #[allow(missing_docs)]
1822 pub sender: alloy::sol_types::private::Address,
1823 }
1824 #[allow(
1825 non_camel_case_types,
1826 non_snake_case,
1827 clippy::pub_underscore_fields,
1828 clippy::style
1829 )]
1830 const _: () = {
1831 use alloy::sol_types as alloy_sol_types;
1832 #[automatically_derived]
1833 impl alloy_sol_types::SolEvent for RoleGranted {
1834 type DataTuple<'a> = ();
1835 type DataToken<'a> = <Self::DataTuple<
1836 'a,
1837 > as alloy_sol_types::SolType>::Token<'a>;
1838 type TopicList = (
1839 alloy_sol_types::sol_data::FixedBytes<32>,
1840 alloy::sol_types::sol_data::FixedBytes<32>,
1841 alloy::sol_types::sol_data::Address,
1842 alloy::sol_types::sol_data::Address,
1843 );
1844 const SIGNATURE: &'static str = "RoleGranted(bytes32,address,address)";
1845 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
1846 47u8, 135u8, 136u8, 17u8, 126u8, 126u8, 255u8, 29u8, 130u8, 233u8, 38u8,
1847 236u8, 121u8, 73u8, 1u8, 209u8, 124u8, 120u8, 2u8, 74u8, 80u8, 39u8, 9u8,
1848 64u8, 48u8, 69u8, 64u8, 167u8, 51u8, 101u8, 111u8, 13u8,
1849 ]);
1850 const ANONYMOUS: bool = false;
1851 #[allow(unused_variables)]
1852 #[inline]
1853 fn new(
1854 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
1855 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
1856 ) -> Self {
1857 Self {
1858 role: topics.1,
1859 account: topics.2,
1860 sender: topics.3,
1861 }
1862 }
1863 #[inline]
1864 fn check_signature(
1865 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
1866 ) -> alloy_sol_types::Result<()> {
1867 if topics.0 != Self::SIGNATURE_HASH {
1868 return Err(
1869 alloy_sol_types::Error::invalid_event_signature_hash(
1870 Self::SIGNATURE,
1871 topics.0,
1872 Self::SIGNATURE_HASH,
1873 ),
1874 );
1875 }
1876 Ok(())
1877 }
1878 #[inline]
1879 fn tokenize_body(&self) -> Self::DataToken<'_> {
1880 ()
1881 }
1882 #[inline]
1883 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
1884 (
1885 Self::SIGNATURE_HASH.into(),
1886 self.role.clone(),
1887 self.account.clone(),
1888 self.sender.clone(),
1889 )
1890 }
1891 #[inline]
1892 fn encode_topics_raw(
1893 &self,
1894 out: &mut [alloy_sol_types::abi::token::WordToken],
1895 ) -> alloy_sol_types::Result<()> {
1896 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
1897 return Err(alloy_sol_types::Error::Overrun);
1898 }
1899 out[0usize] = alloy_sol_types::abi::token::WordToken(
1900 Self::SIGNATURE_HASH,
1901 );
1902 out[1usize] = <alloy::sol_types::sol_data::FixedBytes<
1903 32,
1904 > as alloy_sol_types::EventTopic>::encode_topic(&self.role);
1905 out[2usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
1906 &self.account,
1907 );
1908 out[3usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
1909 &self.sender,
1910 );
1911 Ok(())
1912 }
1913 }
1914 #[automatically_derived]
1915 impl alloy_sol_types::private::IntoLogData for RoleGranted {
1916 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
1917 From::from(self)
1918 }
1919 fn into_log_data(self) -> alloy_sol_types::private::LogData {
1920 From::from(&self)
1921 }
1922 }
1923 #[automatically_derived]
1924 impl From<&RoleGranted> for alloy_sol_types::private::LogData {
1925 #[inline]
1926 fn from(this: &RoleGranted) -> alloy_sol_types::private::LogData {
1927 alloy_sol_types::SolEvent::encode_log_data(this)
1928 }
1929 }
1930 };
1931 #[derive(serde::Serialize, serde::Deserialize)]
1932 #[derive(Default, Debug, PartialEq, Eq, Hash)]
1933 #[allow(
1938 non_camel_case_types,
1939 non_snake_case,
1940 clippy::pub_underscore_fields,
1941 clippy::style
1942 )]
1943 #[derive(Clone)]
1944 pub struct RoleRevoked {
1945 #[allow(missing_docs)]
1946 pub role: alloy::sol_types::private::FixedBytes<32>,
1947 #[allow(missing_docs)]
1948 pub account: alloy::sol_types::private::Address,
1949 #[allow(missing_docs)]
1950 pub sender: alloy::sol_types::private::Address,
1951 }
1952 #[allow(
1953 non_camel_case_types,
1954 non_snake_case,
1955 clippy::pub_underscore_fields,
1956 clippy::style
1957 )]
1958 const _: () = {
1959 use alloy::sol_types as alloy_sol_types;
1960 #[automatically_derived]
1961 impl alloy_sol_types::SolEvent for RoleRevoked {
1962 type DataTuple<'a> = ();
1963 type DataToken<'a> = <Self::DataTuple<
1964 'a,
1965 > as alloy_sol_types::SolType>::Token<'a>;
1966 type TopicList = (
1967 alloy_sol_types::sol_data::FixedBytes<32>,
1968 alloy::sol_types::sol_data::FixedBytes<32>,
1969 alloy::sol_types::sol_data::Address,
1970 alloy::sol_types::sol_data::Address,
1971 );
1972 const SIGNATURE: &'static str = "RoleRevoked(bytes32,address,address)";
1973 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
1974 246u8, 57u8, 31u8, 92u8, 50u8, 217u8, 198u8, 157u8, 42u8, 71u8, 234u8,
1975 103u8, 11u8, 68u8, 41u8, 116u8, 181u8, 57u8, 53u8, 209u8, 237u8, 199u8,
1976 253u8, 100u8, 235u8, 33u8, 224u8, 71u8, 168u8, 57u8, 23u8, 27u8,
1977 ]);
1978 const ANONYMOUS: bool = false;
1979 #[allow(unused_variables)]
1980 #[inline]
1981 fn new(
1982 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
1983 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
1984 ) -> Self {
1985 Self {
1986 role: topics.1,
1987 account: topics.2,
1988 sender: topics.3,
1989 }
1990 }
1991 #[inline]
1992 fn check_signature(
1993 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
1994 ) -> alloy_sol_types::Result<()> {
1995 if topics.0 != Self::SIGNATURE_HASH {
1996 return Err(
1997 alloy_sol_types::Error::invalid_event_signature_hash(
1998 Self::SIGNATURE,
1999 topics.0,
2000 Self::SIGNATURE_HASH,
2001 ),
2002 );
2003 }
2004 Ok(())
2005 }
2006 #[inline]
2007 fn tokenize_body(&self) -> Self::DataToken<'_> {
2008 ()
2009 }
2010 #[inline]
2011 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
2012 (
2013 Self::SIGNATURE_HASH.into(),
2014 self.role.clone(),
2015 self.account.clone(),
2016 self.sender.clone(),
2017 )
2018 }
2019 #[inline]
2020 fn encode_topics_raw(
2021 &self,
2022 out: &mut [alloy_sol_types::abi::token::WordToken],
2023 ) -> alloy_sol_types::Result<()> {
2024 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
2025 return Err(alloy_sol_types::Error::Overrun);
2026 }
2027 out[0usize] = alloy_sol_types::abi::token::WordToken(
2028 Self::SIGNATURE_HASH,
2029 );
2030 out[1usize] = <alloy::sol_types::sol_data::FixedBytes<
2031 32,
2032 > as alloy_sol_types::EventTopic>::encode_topic(&self.role);
2033 out[2usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
2034 &self.account,
2035 );
2036 out[3usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
2037 &self.sender,
2038 );
2039 Ok(())
2040 }
2041 }
2042 #[automatically_derived]
2043 impl alloy_sol_types::private::IntoLogData for RoleRevoked {
2044 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
2045 From::from(self)
2046 }
2047 fn into_log_data(self) -> alloy_sol_types::private::LogData {
2048 From::from(&self)
2049 }
2050 }
2051 #[automatically_derived]
2052 impl From<&RoleRevoked> for alloy_sol_types::private::LogData {
2053 #[inline]
2054 fn from(this: &RoleRevoked) -> alloy_sol_types::private::LogData {
2055 alloy_sol_types::SolEvent::encode_log_data(this)
2056 }
2057 }
2058 };
2059 #[derive(serde::Serialize, serde::Deserialize)]
2060 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2061 #[allow(
2066 non_camel_case_types,
2067 non_snake_case,
2068 clippy::pub_underscore_fields,
2069 clippy::style
2070 )]
2071 #[derive(Clone)]
2072 pub struct Sent {
2073 #[allow(missing_docs)]
2074 pub operator: alloy::sol_types::private::Address,
2075 #[allow(missing_docs)]
2076 pub from: alloy::sol_types::private::Address,
2077 #[allow(missing_docs)]
2078 pub to: alloy::sol_types::private::Address,
2079 #[allow(missing_docs)]
2080 pub amount: alloy::sol_types::private::primitives::aliases::U256,
2081 #[allow(missing_docs)]
2082 pub data: alloy::sol_types::private::Bytes,
2083 #[allow(missing_docs)]
2084 pub operatorData: alloy::sol_types::private::Bytes,
2085 }
2086 #[allow(
2087 non_camel_case_types,
2088 non_snake_case,
2089 clippy::pub_underscore_fields,
2090 clippy::style
2091 )]
2092 const _: () = {
2093 use alloy::sol_types as alloy_sol_types;
2094 #[automatically_derived]
2095 impl alloy_sol_types::SolEvent for Sent {
2096 type DataTuple<'a> = (
2097 alloy::sol_types::sol_data::Uint<256>,
2098 alloy::sol_types::sol_data::Bytes,
2099 alloy::sol_types::sol_data::Bytes,
2100 );
2101 type DataToken<'a> = <Self::DataTuple<
2102 'a,
2103 > as alloy_sol_types::SolType>::Token<'a>;
2104 type TopicList = (
2105 alloy_sol_types::sol_data::FixedBytes<32>,
2106 alloy::sol_types::sol_data::Address,
2107 alloy::sol_types::sol_data::Address,
2108 alloy::sol_types::sol_data::Address,
2109 );
2110 const SIGNATURE: &'static str = "Sent(address,address,address,uint256,bytes,bytes)";
2111 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
2112 6u8, 181u8, 65u8, 221u8, 170u8, 114u8, 13u8, 178u8, 177u8, 10u8, 77u8,
2113 12u8, 218u8, 195u8, 155u8, 141u8, 54u8, 4u8, 37u8, 252u8, 7u8, 48u8,
2114 133u8, 250u8, 193u8, 155u8, 200u8, 38u8, 20u8, 103u8, 121u8, 135u8,
2115 ]);
2116 const ANONYMOUS: bool = false;
2117 #[allow(unused_variables)]
2118 #[inline]
2119 fn new(
2120 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
2121 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
2122 ) -> Self {
2123 Self {
2124 operator: topics.1,
2125 from: topics.2,
2126 to: topics.3,
2127 amount: data.0,
2128 data: data.1,
2129 operatorData: data.2,
2130 }
2131 }
2132 #[inline]
2133 fn check_signature(
2134 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
2135 ) -> alloy_sol_types::Result<()> {
2136 if topics.0 != Self::SIGNATURE_HASH {
2137 return Err(
2138 alloy_sol_types::Error::invalid_event_signature_hash(
2139 Self::SIGNATURE,
2140 topics.0,
2141 Self::SIGNATURE_HASH,
2142 ),
2143 );
2144 }
2145 Ok(())
2146 }
2147 #[inline]
2148 fn tokenize_body(&self) -> Self::DataToken<'_> {
2149 (
2150 <alloy::sol_types::sol_data::Uint<
2151 256,
2152 > as alloy_sol_types::SolType>::tokenize(&self.amount),
2153 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
2154 &self.data,
2155 ),
2156 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
2157 &self.operatorData,
2158 ),
2159 )
2160 }
2161 #[inline]
2162 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
2163 (
2164 Self::SIGNATURE_HASH.into(),
2165 self.operator.clone(),
2166 self.from.clone(),
2167 self.to.clone(),
2168 )
2169 }
2170 #[inline]
2171 fn encode_topics_raw(
2172 &self,
2173 out: &mut [alloy_sol_types::abi::token::WordToken],
2174 ) -> alloy_sol_types::Result<()> {
2175 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
2176 return Err(alloy_sol_types::Error::Overrun);
2177 }
2178 out[0usize] = alloy_sol_types::abi::token::WordToken(
2179 Self::SIGNATURE_HASH,
2180 );
2181 out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
2182 &self.operator,
2183 );
2184 out[2usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
2185 &self.from,
2186 );
2187 out[3usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
2188 &self.to,
2189 );
2190 Ok(())
2191 }
2192 }
2193 #[automatically_derived]
2194 impl alloy_sol_types::private::IntoLogData for Sent {
2195 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
2196 From::from(self)
2197 }
2198 fn into_log_data(self) -> alloy_sol_types::private::LogData {
2199 From::from(&self)
2200 }
2201 }
2202 #[automatically_derived]
2203 impl From<&Sent> for alloy_sol_types::private::LogData {
2204 #[inline]
2205 fn from(this: &Sent) -> alloy_sol_types::private::LogData {
2206 alloy_sol_types::SolEvent::encode_log_data(this)
2207 }
2208 }
2209 };
2210 #[derive(serde::Serialize, serde::Deserialize)]
2211 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2212 #[allow(
2217 non_camel_case_types,
2218 non_snake_case,
2219 clippy::pub_underscore_fields,
2220 clippy::style
2221 )]
2222 #[derive(Clone)]
2223 pub struct Transfer {
2224 #[allow(missing_docs)]
2225 pub from: alloy::sol_types::private::Address,
2226 #[allow(missing_docs)]
2227 pub to: alloy::sol_types::private::Address,
2228 #[allow(missing_docs)]
2229 pub value: alloy::sol_types::private::primitives::aliases::U256,
2230 }
2231 #[allow(
2232 non_camel_case_types,
2233 non_snake_case,
2234 clippy::pub_underscore_fields,
2235 clippy::style
2236 )]
2237 const _: () = {
2238 use alloy::sol_types as alloy_sol_types;
2239 #[automatically_derived]
2240 impl alloy_sol_types::SolEvent for Transfer {
2241 type DataTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
2242 type DataToken<'a> = <Self::DataTuple<
2243 'a,
2244 > as alloy_sol_types::SolType>::Token<'a>;
2245 type TopicList = (
2246 alloy_sol_types::sol_data::FixedBytes<32>,
2247 alloy::sol_types::sol_data::Address,
2248 alloy::sol_types::sol_data::Address,
2249 );
2250 const SIGNATURE: &'static str = "Transfer(address,address,uint256)";
2251 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
2252 221u8, 242u8, 82u8, 173u8, 27u8, 226u8, 200u8, 155u8, 105u8, 194u8,
2253 176u8, 104u8, 252u8, 55u8, 141u8, 170u8, 149u8, 43u8, 167u8, 241u8, 99u8,
2254 196u8, 161u8, 22u8, 40u8, 245u8, 90u8, 77u8, 245u8, 35u8, 179u8, 239u8,
2255 ]);
2256 const ANONYMOUS: bool = false;
2257 #[allow(unused_variables)]
2258 #[inline]
2259 fn new(
2260 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
2261 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
2262 ) -> Self {
2263 Self {
2264 from: topics.1,
2265 to: topics.2,
2266 value: data.0,
2267 }
2268 }
2269 #[inline]
2270 fn check_signature(
2271 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
2272 ) -> alloy_sol_types::Result<()> {
2273 if topics.0 != Self::SIGNATURE_HASH {
2274 return Err(
2275 alloy_sol_types::Error::invalid_event_signature_hash(
2276 Self::SIGNATURE,
2277 topics.0,
2278 Self::SIGNATURE_HASH,
2279 ),
2280 );
2281 }
2282 Ok(())
2283 }
2284 #[inline]
2285 fn tokenize_body(&self) -> Self::DataToken<'_> {
2286 (
2287 <alloy::sol_types::sol_data::Uint<
2288 256,
2289 > as alloy_sol_types::SolType>::tokenize(&self.value),
2290 )
2291 }
2292 #[inline]
2293 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
2294 (Self::SIGNATURE_HASH.into(), self.from.clone(), self.to.clone())
2295 }
2296 #[inline]
2297 fn encode_topics_raw(
2298 &self,
2299 out: &mut [alloy_sol_types::abi::token::WordToken],
2300 ) -> alloy_sol_types::Result<()> {
2301 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
2302 return Err(alloy_sol_types::Error::Overrun);
2303 }
2304 out[0usize] = alloy_sol_types::abi::token::WordToken(
2305 Self::SIGNATURE_HASH,
2306 );
2307 out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
2308 &self.from,
2309 );
2310 out[2usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
2311 &self.to,
2312 );
2313 Ok(())
2314 }
2315 }
2316 #[automatically_derived]
2317 impl alloy_sol_types::private::IntoLogData for Transfer {
2318 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
2319 From::from(self)
2320 }
2321 fn into_log_data(self) -> alloy_sol_types::private::LogData {
2322 From::from(&self)
2323 }
2324 }
2325 #[automatically_derived]
2326 impl From<&Transfer> for alloy_sol_types::private::LogData {
2327 #[inline]
2328 fn from(this: &Transfer) -> alloy_sol_types::private::LogData {
2329 alloy_sol_types::SolEvent::encode_log_data(this)
2330 }
2331 }
2332 };
2333 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2338 #[derive(Clone)]
2339 pub struct constructorCall {}
2340 const _: () = {
2341 use alloy::sol_types as alloy_sol_types;
2342 {
2343 #[doc(hidden)]
2344 type UnderlyingSolTuple<'a> = ();
2345 #[doc(hidden)]
2346 type UnderlyingRustTuple<'a> = ();
2347 #[cfg(test)]
2348 #[allow(dead_code, unreachable_patterns)]
2349 fn _type_assertion(
2350 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2351 ) {
2352 match _t {
2353 alloy_sol_types::private::AssertTypeEq::<
2354 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2355 >(_) => {}
2356 }
2357 }
2358 #[automatically_derived]
2359 #[doc(hidden)]
2360 impl ::core::convert::From<constructorCall> for UnderlyingRustTuple<'_> {
2361 fn from(value: constructorCall) -> Self {
2362 ()
2363 }
2364 }
2365 #[automatically_derived]
2366 #[doc(hidden)]
2367 impl ::core::convert::From<UnderlyingRustTuple<'_>> for constructorCall {
2368 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2369 Self {}
2370 }
2371 }
2372 }
2373 #[automatically_derived]
2374 impl alloy_sol_types::SolConstructor for constructorCall {
2375 type Parameters<'a> = ();
2376 type Token<'a> = <Self::Parameters<
2377 'a,
2378 > as alloy_sol_types::SolType>::Token<'a>;
2379 #[inline]
2380 fn new<'a>(
2381 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2382 ) -> Self {
2383 tuple.into()
2384 }
2385 #[inline]
2386 fn tokenize(&self) -> Self::Token<'_> {
2387 ()
2388 }
2389 }
2390 };
2391 #[derive(serde::Serialize, serde::Deserialize)]
2392 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2393 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2398 #[derive(Clone)]
2399 pub struct DEFAULT_ADMIN_ROLECall;
2400 #[derive(serde::Serialize, serde::Deserialize)]
2401 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2402 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2404 #[derive(Clone)]
2405 pub struct DEFAULT_ADMIN_ROLEReturn {
2406 #[allow(missing_docs)]
2407 pub _0: alloy::sol_types::private::FixedBytes<32>,
2408 }
2409 #[allow(
2410 non_camel_case_types,
2411 non_snake_case,
2412 clippy::pub_underscore_fields,
2413 clippy::style
2414 )]
2415 const _: () = {
2416 use alloy::sol_types as alloy_sol_types;
2417 {
2418 #[doc(hidden)]
2419 type UnderlyingSolTuple<'a> = ();
2420 #[doc(hidden)]
2421 type UnderlyingRustTuple<'a> = ();
2422 #[cfg(test)]
2423 #[allow(dead_code, unreachable_patterns)]
2424 fn _type_assertion(
2425 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2426 ) {
2427 match _t {
2428 alloy_sol_types::private::AssertTypeEq::<
2429 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2430 >(_) => {}
2431 }
2432 }
2433 #[automatically_derived]
2434 #[doc(hidden)]
2435 impl ::core::convert::From<DEFAULT_ADMIN_ROLECall>
2436 for UnderlyingRustTuple<'_> {
2437 fn from(value: DEFAULT_ADMIN_ROLECall) -> Self {
2438 ()
2439 }
2440 }
2441 #[automatically_derived]
2442 #[doc(hidden)]
2443 impl ::core::convert::From<UnderlyingRustTuple<'_>>
2444 for DEFAULT_ADMIN_ROLECall {
2445 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2446 Self
2447 }
2448 }
2449 }
2450 {
2451 #[doc(hidden)]
2452 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
2453 #[doc(hidden)]
2454 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>,);
2455 #[cfg(test)]
2456 #[allow(dead_code, unreachable_patterns)]
2457 fn _type_assertion(
2458 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2459 ) {
2460 match _t {
2461 alloy_sol_types::private::AssertTypeEq::<
2462 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2463 >(_) => {}
2464 }
2465 }
2466 #[automatically_derived]
2467 #[doc(hidden)]
2468 impl ::core::convert::From<DEFAULT_ADMIN_ROLEReturn>
2469 for UnderlyingRustTuple<'_> {
2470 fn from(value: DEFAULT_ADMIN_ROLEReturn) -> Self {
2471 (value._0,)
2472 }
2473 }
2474 #[automatically_derived]
2475 #[doc(hidden)]
2476 impl ::core::convert::From<UnderlyingRustTuple<'_>>
2477 for DEFAULT_ADMIN_ROLEReturn {
2478 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2479 Self { _0: tuple.0 }
2480 }
2481 }
2482 }
2483 #[automatically_derived]
2484 impl alloy_sol_types::SolCall for DEFAULT_ADMIN_ROLECall {
2485 type Parameters<'a> = ();
2486 type Token<'a> = <Self::Parameters<
2487 'a,
2488 > as alloy_sol_types::SolType>::Token<'a>;
2489 type Return = alloy::sol_types::private::FixedBytes<32>;
2490 type ReturnTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
2491 type ReturnToken<'a> = <Self::ReturnTuple<
2492 'a,
2493 > as alloy_sol_types::SolType>::Token<'a>;
2494 const SIGNATURE: &'static str = "DEFAULT_ADMIN_ROLE()";
2495 const SELECTOR: [u8; 4] = [162u8, 23u8, 253u8, 223u8];
2496 #[inline]
2497 fn new<'a>(
2498 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2499 ) -> Self {
2500 tuple.into()
2501 }
2502 #[inline]
2503 fn tokenize(&self) -> Self::Token<'_> {
2504 ()
2505 }
2506 #[inline]
2507 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
2508 (
2509 <alloy::sol_types::sol_data::FixedBytes<
2510 32,
2511 > as alloy_sol_types::SolType>::tokenize(ret),
2512 )
2513 }
2514 #[inline]
2515 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
2516 <Self::ReturnTuple<
2517 '_,
2518 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
2519 .map(|r| {
2520 let r: DEFAULT_ADMIN_ROLEReturn = r.into();
2521 r._0
2522 })
2523 }
2524 #[inline]
2525 fn abi_decode_returns_validate(
2526 data: &[u8],
2527 ) -> alloy_sol_types::Result<Self::Return> {
2528 <Self::ReturnTuple<
2529 '_,
2530 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
2531 .map(|r| {
2532 let r: DEFAULT_ADMIN_ROLEReturn = r.into();
2533 r._0
2534 })
2535 }
2536 }
2537 };
2538 #[derive(serde::Serialize, serde::Deserialize)]
2539 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2540 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2545 #[derive(Clone)]
2546 pub struct MINTER_ROLECall;
2547 #[derive(serde::Serialize, serde::Deserialize)]
2548 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2549 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2551 #[derive(Clone)]
2552 pub struct MINTER_ROLEReturn {
2553 #[allow(missing_docs)]
2554 pub _0: alloy::sol_types::private::FixedBytes<32>,
2555 }
2556 #[allow(
2557 non_camel_case_types,
2558 non_snake_case,
2559 clippy::pub_underscore_fields,
2560 clippy::style
2561 )]
2562 const _: () = {
2563 use alloy::sol_types as alloy_sol_types;
2564 {
2565 #[doc(hidden)]
2566 type UnderlyingSolTuple<'a> = ();
2567 #[doc(hidden)]
2568 type UnderlyingRustTuple<'a> = ();
2569 #[cfg(test)]
2570 #[allow(dead_code, unreachable_patterns)]
2571 fn _type_assertion(
2572 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2573 ) {
2574 match _t {
2575 alloy_sol_types::private::AssertTypeEq::<
2576 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2577 >(_) => {}
2578 }
2579 }
2580 #[automatically_derived]
2581 #[doc(hidden)]
2582 impl ::core::convert::From<MINTER_ROLECall> for UnderlyingRustTuple<'_> {
2583 fn from(value: MINTER_ROLECall) -> Self {
2584 ()
2585 }
2586 }
2587 #[automatically_derived]
2588 #[doc(hidden)]
2589 impl ::core::convert::From<UnderlyingRustTuple<'_>> for MINTER_ROLECall {
2590 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2591 Self
2592 }
2593 }
2594 }
2595 {
2596 #[doc(hidden)]
2597 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
2598 #[doc(hidden)]
2599 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>,);
2600 #[cfg(test)]
2601 #[allow(dead_code, unreachable_patterns)]
2602 fn _type_assertion(
2603 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2604 ) {
2605 match _t {
2606 alloy_sol_types::private::AssertTypeEq::<
2607 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2608 >(_) => {}
2609 }
2610 }
2611 #[automatically_derived]
2612 #[doc(hidden)]
2613 impl ::core::convert::From<MINTER_ROLEReturn> for UnderlyingRustTuple<'_> {
2614 fn from(value: MINTER_ROLEReturn) -> Self {
2615 (value._0,)
2616 }
2617 }
2618 #[automatically_derived]
2619 #[doc(hidden)]
2620 impl ::core::convert::From<UnderlyingRustTuple<'_>> for MINTER_ROLEReturn {
2621 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2622 Self { _0: tuple.0 }
2623 }
2624 }
2625 }
2626 #[automatically_derived]
2627 impl alloy_sol_types::SolCall for MINTER_ROLECall {
2628 type Parameters<'a> = ();
2629 type Token<'a> = <Self::Parameters<
2630 'a,
2631 > as alloy_sol_types::SolType>::Token<'a>;
2632 type Return = alloy::sol_types::private::FixedBytes<32>;
2633 type ReturnTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
2634 type ReturnToken<'a> = <Self::ReturnTuple<
2635 'a,
2636 > as alloy_sol_types::SolType>::Token<'a>;
2637 const SIGNATURE: &'static str = "MINTER_ROLE()";
2638 const SELECTOR: [u8; 4] = [213u8, 57u8, 19u8, 147u8];
2639 #[inline]
2640 fn new<'a>(
2641 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2642 ) -> Self {
2643 tuple.into()
2644 }
2645 #[inline]
2646 fn tokenize(&self) -> Self::Token<'_> {
2647 ()
2648 }
2649 #[inline]
2650 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
2651 (
2652 <alloy::sol_types::sol_data::FixedBytes<
2653 32,
2654 > as alloy_sol_types::SolType>::tokenize(ret),
2655 )
2656 }
2657 #[inline]
2658 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
2659 <Self::ReturnTuple<
2660 '_,
2661 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
2662 .map(|r| {
2663 let r: MINTER_ROLEReturn = r.into();
2664 r._0
2665 })
2666 }
2667 #[inline]
2668 fn abi_decode_returns_validate(
2669 data: &[u8],
2670 ) -> alloy_sol_types::Result<Self::Return> {
2671 <Self::ReturnTuple<
2672 '_,
2673 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
2674 .map(|r| {
2675 let r: MINTER_ROLEReturn = r.into();
2676 r._0
2677 })
2678 }
2679 }
2680 };
2681 #[derive(serde::Serialize, serde::Deserialize)]
2682 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2683 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2688 #[derive(Clone)]
2689 pub struct accountSnapshotsCall {
2690 #[allow(missing_docs)]
2691 pub _0: alloy::sol_types::private::Address,
2692 #[allow(missing_docs)]
2693 pub _1: alloy::sol_types::private::primitives::aliases::U256,
2694 }
2695 #[derive(serde::Serialize, serde::Deserialize)]
2696 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2697 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2699 #[derive(Clone)]
2700 pub struct accountSnapshotsReturn {
2701 #[allow(missing_docs)]
2702 pub fromBlock: u128,
2703 #[allow(missing_docs)]
2704 pub value: u128,
2705 }
2706 #[allow(
2707 non_camel_case_types,
2708 non_snake_case,
2709 clippy::pub_underscore_fields,
2710 clippy::style
2711 )]
2712 const _: () = {
2713 use alloy::sol_types as alloy_sol_types;
2714 {
2715 #[doc(hidden)]
2716 type UnderlyingSolTuple<'a> = (
2717 alloy::sol_types::sol_data::Address,
2718 alloy::sol_types::sol_data::Uint<256>,
2719 );
2720 #[doc(hidden)]
2721 type UnderlyingRustTuple<'a> = (
2722 alloy::sol_types::private::Address,
2723 alloy::sol_types::private::primitives::aliases::U256,
2724 );
2725 #[cfg(test)]
2726 #[allow(dead_code, unreachable_patterns)]
2727 fn _type_assertion(
2728 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2729 ) {
2730 match _t {
2731 alloy_sol_types::private::AssertTypeEq::<
2732 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2733 >(_) => {}
2734 }
2735 }
2736 #[automatically_derived]
2737 #[doc(hidden)]
2738 impl ::core::convert::From<accountSnapshotsCall>
2739 for UnderlyingRustTuple<'_> {
2740 fn from(value: accountSnapshotsCall) -> Self {
2741 (value._0, value._1)
2742 }
2743 }
2744 #[automatically_derived]
2745 #[doc(hidden)]
2746 impl ::core::convert::From<UnderlyingRustTuple<'_>>
2747 for accountSnapshotsCall {
2748 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2749 Self { _0: tuple.0, _1: tuple.1 }
2750 }
2751 }
2752 }
2753 {
2754 #[doc(hidden)]
2755 type UnderlyingSolTuple<'a> = (
2756 alloy::sol_types::sol_data::Uint<128>,
2757 alloy::sol_types::sol_data::Uint<128>,
2758 );
2759 #[doc(hidden)]
2760 type UnderlyingRustTuple<'a> = (u128, u128);
2761 #[cfg(test)]
2762 #[allow(dead_code, unreachable_patterns)]
2763 fn _type_assertion(
2764 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2765 ) {
2766 match _t {
2767 alloy_sol_types::private::AssertTypeEq::<
2768 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2769 >(_) => {}
2770 }
2771 }
2772 #[automatically_derived]
2773 #[doc(hidden)]
2774 impl ::core::convert::From<accountSnapshotsReturn>
2775 for UnderlyingRustTuple<'_> {
2776 fn from(value: accountSnapshotsReturn) -> Self {
2777 (value.fromBlock, value.value)
2778 }
2779 }
2780 #[automatically_derived]
2781 #[doc(hidden)]
2782 impl ::core::convert::From<UnderlyingRustTuple<'_>>
2783 for accountSnapshotsReturn {
2784 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2785 Self {
2786 fromBlock: tuple.0,
2787 value: tuple.1,
2788 }
2789 }
2790 }
2791 }
2792 impl accountSnapshotsReturn {
2793 fn _tokenize(
2794 &self,
2795 ) -> <accountSnapshotsCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
2796 (
2797 <alloy::sol_types::sol_data::Uint<
2798 128,
2799 > as alloy_sol_types::SolType>::tokenize(&self.fromBlock),
2800 <alloy::sol_types::sol_data::Uint<
2801 128,
2802 > as alloy_sol_types::SolType>::tokenize(&self.value),
2803 )
2804 }
2805 }
2806 #[automatically_derived]
2807 impl alloy_sol_types::SolCall for accountSnapshotsCall {
2808 type Parameters<'a> = (
2809 alloy::sol_types::sol_data::Address,
2810 alloy::sol_types::sol_data::Uint<256>,
2811 );
2812 type Token<'a> = <Self::Parameters<
2813 'a,
2814 > as alloy_sol_types::SolType>::Token<'a>;
2815 type Return = accountSnapshotsReturn;
2816 type ReturnTuple<'a> = (
2817 alloy::sol_types::sol_data::Uint<128>,
2818 alloy::sol_types::sol_data::Uint<128>,
2819 );
2820 type ReturnToken<'a> = <Self::ReturnTuple<
2821 'a,
2822 > as alloy_sol_types::SolType>::Token<'a>;
2823 const SIGNATURE: &'static str = "accountSnapshots(address,uint256)";
2824 const SELECTOR: [u8; 4] = [36u8, 151u8, 174u8, 230u8];
2825 #[inline]
2826 fn new<'a>(
2827 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2828 ) -> Self {
2829 tuple.into()
2830 }
2831 #[inline]
2832 fn tokenize(&self) -> Self::Token<'_> {
2833 (
2834 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
2835 &self._0,
2836 ),
2837 <alloy::sol_types::sol_data::Uint<
2838 256,
2839 > as alloy_sol_types::SolType>::tokenize(&self._1),
2840 )
2841 }
2842 #[inline]
2843 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
2844 accountSnapshotsReturn::_tokenize(ret)
2845 }
2846 #[inline]
2847 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
2848 <Self::ReturnTuple<
2849 '_,
2850 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
2851 .map(Into::into)
2852 }
2853 #[inline]
2854 fn abi_decode_returns_validate(
2855 data: &[u8],
2856 ) -> alloy_sol_types::Result<Self::Return> {
2857 <Self::ReturnTuple<
2858 '_,
2859 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
2860 .map(Into::into)
2861 }
2862 }
2863 };
2864 #[derive(serde::Serialize, serde::Deserialize)]
2865 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2866 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2871 #[derive(Clone)]
2872 pub struct allowanceCall {
2873 #[allow(missing_docs)]
2874 pub holder: alloy::sol_types::private::Address,
2875 #[allow(missing_docs)]
2876 pub spender: alloy::sol_types::private::Address,
2877 }
2878 #[derive(serde::Serialize, serde::Deserialize)]
2879 #[derive(Default, Debug, PartialEq, Eq, Hash)]
2880 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
2882 #[derive(Clone)]
2883 pub struct allowanceReturn {
2884 #[allow(missing_docs)]
2885 pub _0: alloy::sol_types::private::primitives::aliases::U256,
2886 }
2887 #[allow(
2888 non_camel_case_types,
2889 non_snake_case,
2890 clippy::pub_underscore_fields,
2891 clippy::style
2892 )]
2893 const _: () = {
2894 use alloy::sol_types as alloy_sol_types;
2895 {
2896 #[doc(hidden)]
2897 type UnderlyingSolTuple<'a> = (
2898 alloy::sol_types::sol_data::Address,
2899 alloy::sol_types::sol_data::Address,
2900 );
2901 #[doc(hidden)]
2902 type UnderlyingRustTuple<'a> = (
2903 alloy::sol_types::private::Address,
2904 alloy::sol_types::private::Address,
2905 );
2906 #[cfg(test)]
2907 #[allow(dead_code, unreachable_patterns)]
2908 fn _type_assertion(
2909 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2910 ) {
2911 match _t {
2912 alloy_sol_types::private::AssertTypeEq::<
2913 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2914 >(_) => {}
2915 }
2916 }
2917 #[automatically_derived]
2918 #[doc(hidden)]
2919 impl ::core::convert::From<allowanceCall> for UnderlyingRustTuple<'_> {
2920 fn from(value: allowanceCall) -> Self {
2921 (value.holder, value.spender)
2922 }
2923 }
2924 #[automatically_derived]
2925 #[doc(hidden)]
2926 impl ::core::convert::From<UnderlyingRustTuple<'_>> for allowanceCall {
2927 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2928 Self {
2929 holder: tuple.0,
2930 spender: tuple.1,
2931 }
2932 }
2933 }
2934 }
2935 {
2936 #[doc(hidden)]
2937 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
2938 #[doc(hidden)]
2939 type UnderlyingRustTuple<'a> = (
2940 alloy::sol_types::private::primitives::aliases::U256,
2941 );
2942 #[cfg(test)]
2943 #[allow(dead_code, unreachable_patterns)]
2944 fn _type_assertion(
2945 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
2946 ) {
2947 match _t {
2948 alloy_sol_types::private::AssertTypeEq::<
2949 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
2950 >(_) => {}
2951 }
2952 }
2953 #[automatically_derived]
2954 #[doc(hidden)]
2955 impl ::core::convert::From<allowanceReturn> for UnderlyingRustTuple<'_> {
2956 fn from(value: allowanceReturn) -> Self {
2957 (value._0,)
2958 }
2959 }
2960 #[automatically_derived]
2961 #[doc(hidden)]
2962 impl ::core::convert::From<UnderlyingRustTuple<'_>> for allowanceReturn {
2963 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
2964 Self { _0: tuple.0 }
2965 }
2966 }
2967 }
2968 #[automatically_derived]
2969 impl alloy_sol_types::SolCall for allowanceCall {
2970 type Parameters<'a> = (
2971 alloy::sol_types::sol_data::Address,
2972 alloy::sol_types::sol_data::Address,
2973 );
2974 type Token<'a> = <Self::Parameters<
2975 'a,
2976 > as alloy_sol_types::SolType>::Token<'a>;
2977 type Return = alloy::sol_types::private::primitives::aliases::U256;
2978 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
2979 type ReturnToken<'a> = <Self::ReturnTuple<
2980 'a,
2981 > as alloy_sol_types::SolType>::Token<'a>;
2982 const SIGNATURE: &'static str = "allowance(address,address)";
2983 const SELECTOR: [u8; 4] = [221u8, 98u8, 237u8, 62u8];
2984 #[inline]
2985 fn new<'a>(
2986 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
2987 ) -> Self {
2988 tuple.into()
2989 }
2990 #[inline]
2991 fn tokenize(&self) -> Self::Token<'_> {
2992 (
2993 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
2994 &self.holder,
2995 ),
2996 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
2997 &self.spender,
2998 ),
2999 )
3000 }
3001 #[inline]
3002 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
3003 (
3004 <alloy::sol_types::sol_data::Uint<
3005 256,
3006 > as alloy_sol_types::SolType>::tokenize(ret),
3007 )
3008 }
3009 #[inline]
3010 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
3011 <Self::ReturnTuple<
3012 '_,
3013 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
3014 .map(|r| {
3015 let r: allowanceReturn = r.into();
3016 r._0
3017 })
3018 }
3019 #[inline]
3020 fn abi_decode_returns_validate(
3021 data: &[u8],
3022 ) -> alloy_sol_types::Result<Self::Return> {
3023 <Self::ReturnTuple<
3024 '_,
3025 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3026 .map(|r| {
3027 let r: allowanceReturn = r.into();
3028 r._0
3029 })
3030 }
3031 }
3032 };
3033 #[derive(serde::Serialize, serde::Deserialize)]
3034 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3035 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3040 #[derive(Clone)]
3041 pub struct approveCall {
3042 #[allow(missing_docs)]
3043 pub spender: alloy::sol_types::private::Address,
3044 #[allow(missing_docs)]
3045 pub value: alloy::sol_types::private::primitives::aliases::U256,
3046 }
3047 #[derive(serde::Serialize, serde::Deserialize)]
3048 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3049 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3051 #[derive(Clone)]
3052 pub struct approveReturn {
3053 #[allow(missing_docs)]
3054 pub _0: bool,
3055 }
3056 #[allow(
3057 non_camel_case_types,
3058 non_snake_case,
3059 clippy::pub_underscore_fields,
3060 clippy::style
3061 )]
3062 const _: () = {
3063 use alloy::sol_types as alloy_sol_types;
3064 {
3065 #[doc(hidden)]
3066 type UnderlyingSolTuple<'a> = (
3067 alloy::sol_types::sol_data::Address,
3068 alloy::sol_types::sol_data::Uint<256>,
3069 );
3070 #[doc(hidden)]
3071 type UnderlyingRustTuple<'a> = (
3072 alloy::sol_types::private::Address,
3073 alloy::sol_types::private::primitives::aliases::U256,
3074 );
3075 #[cfg(test)]
3076 #[allow(dead_code, unreachable_patterns)]
3077 fn _type_assertion(
3078 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3079 ) {
3080 match _t {
3081 alloy_sol_types::private::AssertTypeEq::<
3082 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3083 >(_) => {}
3084 }
3085 }
3086 #[automatically_derived]
3087 #[doc(hidden)]
3088 impl ::core::convert::From<approveCall> for UnderlyingRustTuple<'_> {
3089 fn from(value: approveCall) -> Self {
3090 (value.spender, value.value)
3091 }
3092 }
3093 #[automatically_derived]
3094 #[doc(hidden)]
3095 impl ::core::convert::From<UnderlyingRustTuple<'_>> for approveCall {
3096 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3097 Self {
3098 spender: tuple.0,
3099 value: tuple.1,
3100 }
3101 }
3102 }
3103 }
3104 {
3105 #[doc(hidden)]
3106 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Bool,);
3107 #[doc(hidden)]
3108 type UnderlyingRustTuple<'a> = (bool,);
3109 #[cfg(test)]
3110 #[allow(dead_code, unreachable_patterns)]
3111 fn _type_assertion(
3112 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3113 ) {
3114 match _t {
3115 alloy_sol_types::private::AssertTypeEq::<
3116 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3117 >(_) => {}
3118 }
3119 }
3120 #[automatically_derived]
3121 #[doc(hidden)]
3122 impl ::core::convert::From<approveReturn> for UnderlyingRustTuple<'_> {
3123 fn from(value: approveReturn) -> Self {
3124 (value._0,)
3125 }
3126 }
3127 #[automatically_derived]
3128 #[doc(hidden)]
3129 impl ::core::convert::From<UnderlyingRustTuple<'_>> for approveReturn {
3130 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3131 Self { _0: tuple.0 }
3132 }
3133 }
3134 }
3135 #[automatically_derived]
3136 impl alloy_sol_types::SolCall for approveCall {
3137 type Parameters<'a> = (
3138 alloy::sol_types::sol_data::Address,
3139 alloy::sol_types::sol_data::Uint<256>,
3140 );
3141 type Token<'a> = <Self::Parameters<
3142 'a,
3143 > as alloy_sol_types::SolType>::Token<'a>;
3144 type Return = bool;
3145 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Bool,);
3146 type ReturnToken<'a> = <Self::ReturnTuple<
3147 'a,
3148 > as alloy_sol_types::SolType>::Token<'a>;
3149 const SIGNATURE: &'static str = "approve(address,uint256)";
3150 const SELECTOR: [u8; 4] = [9u8, 94u8, 167u8, 179u8];
3151 #[inline]
3152 fn new<'a>(
3153 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3154 ) -> Self {
3155 tuple.into()
3156 }
3157 #[inline]
3158 fn tokenize(&self) -> Self::Token<'_> {
3159 (
3160 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
3161 &self.spender,
3162 ),
3163 <alloy::sol_types::sol_data::Uint<
3164 256,
3165 > as alloy_sol_types::SolType>::tokenize(&self.value),
3166 )
3167 }
3168 #[inline]
3169 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
3170 (
3171 <alloy::sol_types::sol_data::Bool as alloy_sol_types::SolType>::tokenize(
3172 ret,
3173 ),
3174 )
3175 }
3176 #[inline]
3177 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
3178 <Self::ReturnTuple<
3179 '_,
3180 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
3181 .map(|r| {
3182 let r: approveReturn = r.into();
3183 r._0
3184 })
3185 }
3186 #[inline]
3187 fn abi_decode_returns_validate(
3188 data: &[u8],
3189 ) -> alloy_sol_types::Result<Self::Return> {
3190 <Self::ReturnTuple<
3191 '_,
3192 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3193 .map(|r| {
3194 let r: approveReturn = r.into();
3195 r._0
3196 })
3197 }
3198 }
3199 };
3200 #[derive(serde::Serialize, serde::Deserialize)]
3201 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3202 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3207 #[derive(Clone)]
3208 pub struct authorizeOperatorCall {
3209 #[allow(missing_docs)]
3210 pub operator: alloy::sol_types::private::Address,
3211 }
3212 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3214 #[derive(Clone)]
3215 pub struct authorizeOperatorReturn {}
3216 #[allow(
3217 non_camel_case_types,
3218 non_snake_case,
3219 clippy::pub_underscore_fields,
3220 clippy::style
3221 )]
3222 const _: () = {
3223 use alloy::sol_types as alloy_sol_types;
3224 {
3225 #[doc(hidden)]
3226 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
3227 #[doc(hidden)]
3228 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
3229 #[cfg(test)]
3230 #[allow(dead_code, unreachable_patterns)]
3231 fn _type_assertion(
3232 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3233 ) {
3234 match _t {
3235 alloy_sol_types::private::AssertTypeEq::<
3236 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3237 >(_) => {}
3238 }
3239 }
3240 #[automatically_derived]
3241 #[doc(hidden)]
3242 impl ::core::convert::From<authorizeOperatorCall>
3243 for UnderlyingRustTuple<'_> {
3244 fn from(value: authorizeOperatorCall) -> Self {
3245 (value.operator,)
3246 }
3247 }
3248 #[automatically_derived]
3249 #[doc(hidden)]
3250 impl ::core::convert::From<UnderlyingRustTuple<'_>>
3251 for authorizeOperatorCall {
3252 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3253 Self { operator: tuple.0 }
3254 }
3255 }
3256 }
3257 {
3258 #[doc(hidden)]
3259 type UnderlyingSolTuple<'a> = ();
3260 #[doc(hidden)]
3261 type UnderlyingRustTuple<'a> = ();
3262 #[cfg(test)]
3263 #[allow(dead_code, unreachable_patterns)]
3264 fn _type_assertion(
3265 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3266 ) {
3267 match _t {
3268 alloy_sol_types::private::AssertTypeEq::<
3269 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3270 >(_) => {}
3271 }
3272 }
3273 #[automatically_derived]
3274 #[doc(hidden)]
3275 impl ::core::convert::From<authorizeOperatorReturn>
3276 for UnderlyingRustTuple<'_> {
3277 fn from(value: authorizeOperatorReturn) -> Self {
3278 ()
3279 }
3280 }
3281 #[automatically_derived]
3282 #[doc(hidden)]
3283 impl ::core::convert::From<UnderlyingRustTuple<'_>>
3284 for authorizeOperatorReturn {
3285 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3286 Self {}
3287 }
3288 }
3289 }
3290 impl authorizeOperatorReturn {
3291 fn _tokenize(
3292 &self,
3293 ) -> <authorizeOperatorCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
3294 ()
3295 }
3296 }
3297 #[automatically_derived]
3298 impl alloy_sol_types::SolCall for authorizeOperatorCall {
3299 type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
3300 type Token<'a> = <Self::Parameters<
3301 'a,
3302 > as alloy_sol_types::SolType>::Token<'a>;
3303 type Return = authorizeOperatorReturn;
3304 type ReturnTuple<'a> = ();
3305 type ReturnToken<'a> = <Self::ReturnTuple<
3306 'a,
3307 > as alloy_sol_types::SolType>::Token<'a>;
3308 const SIGNATURE: &'static str = "authorizeOperator(address)";
3309 const SELECTOR: [u8; 4] = [149u8, 155u8, 140u8, 63u8];
3310 #[inline]
3311 fn new<'a>(
3312 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3313 ) -> Self {
3314 tuple.into()
3315 }
3316 #[inline]
3317 fn tokenize(&self) -> Self::Token<'_> {
3318 (
3319 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
3320 &self.operator,
3321 ),
3322 )
3323 }
3324 #[inline]
3325 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
3326 authorizeOperatorReturn::_tokenize(ret)
3327 }
3328 #[inline]
3329 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
3330 <Self::ReturnTuple<
3331 '_,
3332 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
3333 .map(Into::into)
3334 }
3335 #[inline]
3336 fn abi_decode_returns_validate(
3337 data: &[u8],
3338 ) -> alloy_sol_types::Result<Self::Return> {
3339 <Self::ReturnTuple<
3340 '_,
3341 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3342 .map(Into::into)
3343 }
3344 }
3345 };
3346 #[derive(serde::Serialize, serde::Deserialize)]
3347 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3348 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3353 #[derive(Clone)]
3354 pub struct balanceOfCall {
3355 #[allow(missing_docs)]
3356 pub tokenHolder: alloy::sol_types::private::Address,
3357 }
3358 #[derive(serde::Serialize, serde::Deserialize)]
3359 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3360 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3362 #[derive(Clone)]
3363 pub struct balanceOfReturn {
3364 #[allow(missing_docs)]
3365 pub _0: alloy::sol_types::private::primitives::aliases::U256,
3366 }
3367 #[allow(
3368 non_camel_case_types,
3369 non_snake_case,
3370 clippy::pub_underscore_fields,
3371 clippy::style
3372 )]
3373 const _: () = {
3374 use alloy::sol_types as alloy_sol_types;
3375 {
3376 #[doc(hidden)]
3377 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
3378 #[doc(hidden)]
3379 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
3380 #[cfg(test)]
3381 #[allow(dead_code, unreachable_patterns)]
3382 fn _type_assertion(
3383 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3384 ) {
3385 match _t {
3386 alloy_sol_types::private::AssertTypeEq::<
3387 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3388 >(_) => {}
3389 }
3390 }
3391 #[automatically_derived]
3392 #[doc(hidden)]
3393 impl ::core::convert::From<balanceOfCall> for UnderlyingRustTuple<'_> {
3394 fn from(value: balanceOfCall) -> Self {
3395 (value.tokenHolder,)
3396 }
3397 }
3398 #[automatically_derived]
3399 #[doc(hidden)]
3400 impl ::core::convert::From<UnderlyingRustTuple<'_>> for balanceOfCall {
3401 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3402 Self { tokenHolder: tuple.0 }
3403 }
3404 }
3405 }
3406 {
3407 #[doc(hidden)]
3408 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
3409 #[doc(hidden)]
3410 type UnderlyingRustTuple<'a> = (
3411 alloy::sol_types::private::primitives::aliases::U256,
3412 );
3413 #[cfg(test)]
3414 #[allow(dead_code, unreachable_patterns)]
3415 fn _type_assertion(
3416 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3417 ) {
3418 match _t {
3419 alloy_sol_types::private::AssertTypeEq::<
3420 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3421 >(_) => {}
3422 }
3423 }
3424 #[automatically_derived]
3425 #[doc(hidden)]
3426 impl ::core::convert::From<balanceOfReturn> for UnderlyingRustTuple<'_> {
3427 fn from(value: balanceOfReturn) -> Self {
3428 (value._0,)
3429 }
3430 }
3431 #[automatically_derived]
3432 #[doc(hidden)]
3433 impl ::core::convert::From<UnderlyingRustTuple<'_>> for balanceOfReturn {
3434 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3435 Self { _0: tuple.0 }
3436 }
3437 }
3438 }
3439 #[automatically_derived]
3440 impl alloy_sol_types::SolCall for balanceOfCall {
3441 type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
3442 type Token<'a> = <Self::Parameters<
3443 'a,
3444 > as alloy_sol_types::SolType>::Token<'a>;
3445 type Return = alloy::sol_types::private::primitives::aliases::U256;
3446 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
3447 type ReturnToken<'a> = <Self::ReturnTuple<
3448 'a,
3449 > as alloy_sol_types::SolType>::Token<'a>;
3450 const SIGNATURE: &'static str = "balanceOf(address)";
3451 const SELECTOR: [u8; 4] = [112u8, 160u8, 130u8, 49u8];
3452 #[inline]
3453 fn new<'a>(
3454 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3455 ) -> Self {
3456 tuple.into()
3457 }
3458 #[inline]
3459 fn tokenize(&self) -> Self::Token<'_> {
3460 (
3461 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
3462 &self.tokenHolder,
3463 ),
3464 )
3465 }
3466 #[inline]
3467 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
3468 (
3469 <alloy::sol_types::sol_data::Uint<
3470 256,
3471 > as alloy_sol_types::SolType>::tokenize(ret),
3472 )
3473 }
3474 #[inline]
3475 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
3476 <Self::ReturnTuple<
3477 '_,
3478 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
3479 .map(|r| {
3480 let r: balanceOfReturn = r.into();
3481 r._0
3482 })
3483 }
3484 #[inline]
3485 fn abi_decode_returns_validate(
3486 data: &[u8],
3487 ) -> alloy_sol_types::Result<Self::Return> {
3488 <Self::ReturnTuple<
3489 '_,
3490 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3491 .map(|r| {
3492 let r: balanceOfReturn = r.into();
3493 r._0
3494 })
3495 }
3496 }
3497 };
3498 #[derive(serde::Serialize, serde::Deserialize)]
3499 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3500 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3505 #[derive(Clone)]
3506 pub struct balanceOfAtCall {
3507 #[allow(missing_docs)]
3508 pub _owner: alloy::sol_types::private::Address,
3509 #[allow(missing_docs)]
3510 pub _blockNumber: u128,
3511 }
3512 #[derive(serde::Serialize, serde::Deserialize)]
3513 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3514 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3516 #[derive(Clone)]
3517 pub struct balanceOfAtReturn {
3518 #[allow(missing_docs)]
3519 pub _0: alloy::sol_types::private::primitives::aliases::U256,
3520 }
3521 #[allow(
3522 non_camel_case_types,
3523 non_snake_case,
3524 clippy::pub_underscore_fields,
3525 clippy::style
3526 )]
3527 const _: () = {
3528 use alloy::sol_types as alloy_sol_types;
3529 {
3530 #[doc(hidden)]
3531 type UnderlyingSolTuple<'a> = (
3532 alloy::sol_types::sol_data::Address,
3533 alloy::sol_types::sol_data::Uint<128>,
3534 );
3535 #[doc(hidden)]
3536 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address, u128);
3537 #[cfg(test)]
3538 #[allow(dead_code, unreachable_patterns)]
3539 fn _type_assertion(
3540 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3541 ) {
3542 match _t {
3543 alloy_sol_types::private::AssertTypeEq::<
3544 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3545 >(_) => {}
3546 }
3547 }
3548 #[automatically_derived]
3549 #[doc(hidden)]
3550 impl ::core::convert::From<balanceOfAtCall> for UnderlyingRustTuple<'_> {
3551 fn from(value: balanceOfAtCall) -> Self {
3552 (value._owner, value._blockNumber)
3553 }
3554 }
3555 #[automatically_derived]
3556 #[doc(hidden)]
3557 impl ::core::convert::From<UnderlyingRustTuple<'_>> for balanceOfAtCall {
3558 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3559 Self {
3560 _owner: tuple.0,
3561 _blockNumber: tuple.1,
3562 }
3563 }
3564 }
3565 }
3566 {
3567 #[doc(hidden)]
3568 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
3569 #[doc(hidden)]
3570 type UnderlyingRustTuple<'a> = (
3571 alloy::sol_types::private::primitives::aliases::U256,
3572 );
3573 #[cfg(test)]
3574 #[allow(dead_code, unreachable_patterns)]
3575 fn _type_assertion(
3576 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3577 ) {
3578 match _t {
3579 alloy_sol_types::private::AssertTypeEq::<
3580 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3581 >(_) => {}
3582 }
3583 }
3584 #[automatically_derived]
3585 #[doc(hidden)]
3586 impl ::core::convert::From<balanceOfAtReturn> for UnderlyingRustTuple<'_> {
3587 fn from(value: balanceOfAtReturn) -> Self {
3588 (value._0,)
3589 }
3590 }
3591 #[automatically_derived]
3592 #[doc(hidden)]
3593 impl ::core::convert::From<UnderlyingRustTuple<'_>> for balanceOfAtReturn {
3594 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3595 Self { _0: tuple.0 }
3596 }
3597 }
3598 }
3599 #[automatically_derived]
3600 impl alloy_sol_types::SolCall for balanceOfAtCall {
3601 type Parameters<'a> = (
3602 alloy::sol_types::sol_data::Address,
3603 alloy::sol_types::sol_data::Uint<128>,
3604 );
3605 type Token<'a> = <Self::Parameters<
3606 'a,
3607 > as alloy_sol_types::SolType>::Token<'a>;
3608 type Return = alloy::sol_types::private::primitives::aliases::U256;
3609 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
3610 type ReturnToken<'a> = <Self::ReturnTuple<
3611 'a,
3612 > as alloy_sol_types::SolType>::Token<'a>;
3613 const SIGNATURE: &'static str = "balanceOfAt(address,uint128)";
3614 const SELECTOR: [u8; 4] = [247u8, 114u8, 160u8, 146u8];
3615 #[inline]
3616 fn new<'a>(
3617 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3618 ) -> Self {
3619 tuple.into()
3620 }
3621 #[inline]
3622 fn tokenize(&self) -> Self::Token<'_> {
3623 (
3624 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
3625 &self._owner,
3626 ),
3627 <alloy::sol_types::sol_data::Uint<
3628 128,
3629 > as alloy_sol_types::SolType>::tokenize(&self._blockNumber),
3630 )
3631 }
3632 #[inline]
3633 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
3634 (
3635 <alloy::sol_types::sol_data::Uint<
3636 256,
3637 > as alloy_sol_types::SolType>::tokenize(ret),
3638 )
3639 }
3640 #[inline]
3641 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
3642 <Self::ReturnTuple<
3643 '_,
3644 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
3645 .map(|r| {
3646 let r: balanceOfAtReturn = r.into();
3647 r._0
3648 })
3649 }
3650 #[inline]
3651 fn abi_decode_returns_validate(
3652 data: &[u8],
3653 ) -> alloy_sol_types::Result<Self::Return> {
3654 <Self::ReturnTuple<
3655 '_,
3656 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3657 .map(|r| {
3658 let r: balanceOfAtReturn = r.into();
3659 r._0
3660 })
3661 }
3662 }
3663 };
3664 #[derive(serde::Serialize, serde::Deserialize)]
3665 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3666 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3671 #[derive(Clone)]
3672 pub struct burnCall {
3673 #[allow(missing_docs)]
3674 pub amount: alloy::sol_types::private::primitives::aliases::U256,
3675 #[allow(missing_docs)]
3676 pub data: alloy::sol_types::private::Bytes,
3677 }
3678 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3680 #[derive(Clone)]
3681 pub struct burnReturn {}
3682 #[allow(
3683 non_camel_case_types,
3684 non_snake_case,
3685 clippy::pub_underscore_fields,
3686 clippy::style
3687 )]
3688 const _: () = {
3689 use alloy::sol_types as alloy_sol_types;
3690 {
3691 #[doc(hidden)]
3692 type UnderlyingSolTuple<'a> = (
3693 alloy::sol_types::sol_data::Uint<256>,
3694 alloy::sol_types::sol_data::Bytes,
3695 );
3696 #[doc(hidden)]
3697 type UnderlyingRustTuple<'a> = (
3698 alloy::sol_types::private::primitives::aliases::U256,
3699 alloy::sol_types::private::Bytes,
3700 );
3701 #[cfg(test)]
3702 #[allow(dead_code, unreachable_patterns)]
3703 fn _type_assertion(
3704 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3705 ) {
3706 match _t {
3707 alloy_sol_types::private::AssertTypeEq::<
3708 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3709 >(_) => {}
3710 }
3711 }
3712 #[automatically_derived]
3713 #[doc(hidden)]
3714 impl ::core::convert::From<burnCall> for UnderlyingRustTuple<'_> {
3715 fn from(value: burnCall) -> Self {
3716 (value.amount, value.data)
3717 }
3718 }
3719 #[automatically_derived]
3720 #[doc(hidden)]
3721 impl ::core::convert::From<UnderlyingRustTuple<'_>> for burnCall {
3722 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3723 Self {
3724 amount: tuple.0,
3725 data: tuple.1,
3726 }
3727 }
3728 }
3729 }
3730 {
3731 #[doc(hidden)]
3732 type UnderlyingSolTuple<'a> = ();
3733 #[doc(hidden)]
3734 type UnderlyingRustTuple<'a> = ();
3735 #[cfg(test)]
3736 #[allow(dead_code, unreachable_patterns)]
3737 fn _type_assertion(
3738 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3739 ) {
3740 match _t {
3741 alloy_sol_types::private::AssertTypeEq::<
3742 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3743 >(_) => {}
3744 }
3745 }
3746 #[automatically_derived]
3747 #[doc(hidden)]
3748 impl ::core::convert::From<burnReturn> for UnderlyingRustTuple<'_> {
3749 fn from(value: burnReturn) -> Self {
3750 ()
3751 }
3752 }
3753 #[automatically_derived]
3754 #[doc(hidden)]
3755 impl ::core::convert::From<UnderlyingRustTuple<'_>> for burnReturn {
3756 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3757 Self {}
3758 }
3759 }
3760 }
3761 impl burnReturn {
3762 fn _tokenize(
3763 &self,
3764 ) -> <burnCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
3765 ()
3766 }
3767 }
3768 #[automatically_derived]
3769 impl alloy_sol_types::SolCall for burnCall {
3770 type Parameters<'a> = (
3771 alloy::sol_types::sol_data::Uint<256>,
3772 alloy::sol_types::sol_data::Bytes,
3773 );
3774 type Token<'a> = <Self::Parameters<
3775 'a,
3776 > as alloy_sol_types::SolType>::Token<'a>;
3777 type Return = burnReturn;
3778 type ReturnTuple<'a> = ();
3779 type ReturnToken<'a> = <Self::ReturnTuple<
3780 'a,
3781 > as alloy_sol_types::SolType>::Token<'a>;
3782 const SIGNATURE: &'static str = "burn(uint256,bytes)";
3783 const SELECTOR: [u8; 4] = [254u8, 157u8, 147u8, 3u8];
3784 #[inline]
3785 fn new<'a>(
3786 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3787 ) -> Self {
3788 tuple.into()
3789 }
3790 #[inline]
3791 fn tokenize(&self) -> Self::Token<'_> {
3792 (
3793 <alloy::sol_types::sol_data::Uint<
3794 256,
3795 > as alloy_sol_types::SolType>::tokenize(&self.amount),
3796 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
3797 &self.data,
3798 ),
3799 )
3800 }
3801 #[inline]
3802 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
3803 burnReturn::_tokenize(ret)
3804 }
3805 #[inline]
3806 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
3807 <Self::ReturnTuple<
3808 '_,
3809 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
3810 .map(Into::into)
3811 }
3812 #[inline]
3813 fn abi_decode_returns_validate(
3814 data: &[u8],
3815 ) -> alloy_sol_types::Result<Self::Return> {
3816 <Self::ReturnTuple<
3817 '_,
3818 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3819 .map(Into::into)
3820 }
3821 }
3822 };
3823 #[derive(serde::Serialize, serde::Deserialize)]
3824 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3825 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3830 #[derive(Clone)]
3831 pub struct decimalsCall;
3832 #[derive(serde::Serialize, serde::Deserialize)]
3833 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3834 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3836 #[derive(Clone)]
3837 pub struct decimalsReturn {
3838 #[allow(missing_docs)]
3839 pub _0: u8,
3840 }
3841 #[allow(
3842 non_camel_case_types,
3843 non_snake_case,
3844 clippy::pub_underscore_fields,
3845 clippy::style
3846 )]
3847 const _: () = {
3848 use alloy::sol_types as alloy_sol_types;
3849 {
3850 #[doc(hidden)]
3851 type UnderlyingSolTuple<'a> = ();
3852 #[doc(hidden)]
3853 type UnderlyingRustTuple<'a> = ();
3854 #[cfg(test)]
3855 #[allow(dead_code, unreachable_patterns)]
3856 fn _type_assertion(
3857 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3858 ) {
3859 match _t {
3860 alloy_sol_types::private::AssertTypeEq::<
3861 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3862 >(_) => {}
3863 }
3864 }
3865 #[automatically_derived]
3866 #[doc(hidden)]
3867 impl ::core::convert::From<decimalsCall> for UnderlyingRustTuple<'_> {
3868 fn from(value: decimalsCall) -> Self {
3869 ()
3870 }
3871 }
3872 #[automatically_derived]
3873 #[doc(hidden)]
3874 impl ::core::convert::From<UnderlyingRustTuple<'_>> for decimalsCall {
3875 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3876 Self
3877 }
3878 }
3879 }
3880 {
3881 #[doc(hidden)]
3882 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<8>,);
3883 #[doc(hidden)]
3884 type UnderlyingRustTuple<'a> = (u8,);
3885 #[cfg(test)]
3886 #[allow(dead_code, unreachable_patterns)]
3887 fn _type_assertion(
3888 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
3889 ) {
3890 match _t {
3891 alloy_sol_types::private::AssertTypeEq::<
3892 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
3893 >(_) => {}
3894 }
3895 }
3896 #[automatically_derived]
3897 #[doc(hidden)]
3898 impl ::core::convert::From<decimalsReturn> for UnderlyingRustTuple<'_> {
3899 fn from(value: decimalsReturn) -> Self {
3900 (value._0,)
3901 }
3902 }
3903 #[automatically_derived]
3904 #[doc(hidden)]
3905 impl ::core::convert::From<UnderlyingRustTuple<'_>> for decimalsReturn {
3906 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
3907 Self { _0: tuple.0 }
3908 }
3909 }
3910 }
3911 #[automatically_derived]
3912 impl alloy_sol_types::SolCall for decimalsCall {
3913 type Parameters<'a> = ();
3914 type Token<'a> = <Self::Parameters<
3915 'a,
3916 > as alloy_sol_types::SolType>::Token<'a>;
3917 type Return = u8;
3918 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<8>,);
3919 type ReturnToken<'a> = <Self::ReturnTuple<
3920 'a,
3921 > as alloy_sol_types::SolType>::Token<'a>;
3922 const SIGNATURE: &'static str = "decimals()";
3923 const SELECTOR: [u8; 4] = [49u8, 60u8, 229u8, 103u8];
3924 #[inline]
3925 fn new<'a>(
3926 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
3927 ) -> Self {
3928 tuple.into()
3929 }
3930 #[inline]
3931 fn tokenize(&self) -> Self::Token<'_> {
3932 ()
3933 }
3934 #[inline]
3935 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
3936 (
3937 <alloy::sol_types::sol_data::Uint<
3938 8,
3939 > as alloy_sol_types::SolType>::tokenize(ret),
3940 )
3941 }
3942 #[inline]
3943 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
3944 <Self::ReturnTuple<
3945 '_,
3946 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
3947 .map(|r| {
3948 let r: decimalsReturn = r.into();
3949 r._0
3950 })
3951 }
3952 #[inline]
3953 fn abi_decode_returns_validate(
3954 data: &[u8],
3955 ) -> alloy_sol_types::Result<Self::Return> {
3956 <Self::ReturnTuple<
3957 '_,
3958 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
3959 .map(|r| {
3960 let r: decimalsReturn = r.into();
3961 r._0
3962 })
3963 }
3964 }
3965 };
3966 #[derive(serde::Serialize, serde::Deserialize)]
3967 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3968 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3973 #[derive(Clone)]
3974 pub struct defaultOperatorsCall;
3975 #[derive(serde::Serialize, serde::Deserialize)]
3976 #[derive(Default, Debug, PartialEq, Eq, Hash)]
3977 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
3979 #[derive(Clone)]
3980 pub struct defaultOperatorsReturn {
3981 #[allow(missing_docs)]
3982 pub _0: alloy::sol_types::private::Vec<alloy::sol_types::private::Address>,
3983 }
3984 #[allow(
3985 non_camel_case_types,
3986 non_snake_case,
3987 clippy::pub_underscore_fields,
3988 clippy::style
3989 )]
3990 const _: () = {
3991 use alloy::sol_types as alloy_sol_types;
3992 {
3993 #[doc(hidden)]
3994 type UnderlyingSolTuple<'a> = ();
3995 #[doc(hidden)]
3996 type UnderlyingRustTuple<'a> = ();
3997 #[cfg(test)]
3998 #[allow(dead_code, unreachable_patterns)]
3999 fn _type_assertion(
4000 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4001 ) {
4002 match _t {
4003 alloy_sol_types::private::AssertTypeEq::<
4004 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4005 >(_) => {}
4006 }
4007 }
4008 #[automatically_derived]
4009 #[doc(hidden)]
4010 impl ::core::convert::From<defaultOperatorsCall>
4011 for UnderlyingRustTuple<'_> {
4012 fn from(value: defaultOperatorsCall) -> Self {
4013 ()
4014 }
4015 }
4016 #[automatically_derived]
4017 #[doc(hidden)]
4018 impl ::core::convert::From<UnderlyingRustTuple<'_>>
4019 for defaultOperatorsCall {
4020 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4021 Self
4022 }
4023 }
4024 }
4025 {
4026 #[doc(hidden)]
4027 type UnderlyingSolTuple<'a> = (
4028 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
4029 );
4030 #[doc(hidden)]
4031 type UnderlyingRustTuple<'a> = (
4032 alloy::sol_types::private::Vec<alloy::sol_types::private::Address>,
4033 );
4034 #[cfg(test)]
4035 #[allow(dead_code, unreachable_patterns)]
4036 fn _type_assertion(
4037 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4038 ) {
4039 match _t {
4040 alloy_sol_types::private::AssertTypeEq::<
4041 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4042 >(_) => {}
4043 }
4044 }
4045 #[automatically_derived]
4046 #[doc(hidden)]
4047 impl ::core::convert::From<defaultOperatorsReturn>
4048 for UnderlyingRustTuple<'_> {
4049 fn from(value: defaultOperatorsReturn) -> Self {
4050 (value._0,)
4051 }
4052 }
4053 #[automatically_derived]
4054 #[doc(hidden)]
4055 impl ::core::convert::From<UnderlyingRustTuple<'_>>
4056 for defaultOperatorsReturn {
4057 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4058 Self { _0: tuple.0 }
4059 }
4060 }
4061 }
4062 #[automatically_derived]
4063 impl alloy_sol_types::SolCall for defaultOperatorsCall {
4064 type Parameters<'a> = ();
4065 type Token<'a> = <Self::Parameters<
4066 'a,
4067 > as alloy_sol_types::SolType>::Token<'a>;
4068 type Return = alloy::sol_types::private::Vec<
4069 alloy::sol_types::private::Address,
4070 >;
4071 type ReturnTuple<'a> = (
4072 alloy::sol_types::sol_data::Array<alloy::sol_types::sol_data::Address>,
4073 );
4074 type ReturnToken<'a> = <Self::ReturnTuple<
4075 'a,
4076 > as alloy_sol_types::SolType>::Token<'a>;
4077 const SIGNATURE: &'static str = "defaultOperators()";
4078 const SELECTOR: [u8; 4] = [6u8, 228u8, 133u8, 56u8];
4079 #[inline]
4080 fn new<'a>(
4081 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4082 ) -> Self {
4083 tuple.into()
4084 }
4085 #[inline]
4086 fn tokenize(&self) -> Self::Token<'_> {
4087 ()
4088 }
4089 #[inline]
4090 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
4091 (
4092 <alloy::sol_types::sol_data::Array<
4093 alloy::sol_types::sol_data::Address,
4094 > as alloy_sol_types::SolType>::tokenize(ret),
4095 )
4096 }
4097 #[inline]
4098 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
4099 <Self::ReturnTuple<
4100 '_,
4101 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
4102 .map(|r| {
4103 let r: defaultOperatorsReturn = r.into();
4104 r._0
4105 })
4106 }
4107 #[inline]
4108 fn abi_decode_returns_validate(
4109 data: &[u8],
4110 ) -> alloy_sol_types::Result<Self::Return> {
4111 <Self::ReturnTuple<
4112 '_,
4113 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4114 .map(|r| {
4115 let r: defaultOperatorsReturn = r.into();
4116 r._0
4117 })
4118 }
4119 }
4120 };
4121 #[derive(serde::Serialize, serde::Deserialize)]
4122 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4123 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4128 #[derive(Clone)]
4129 pub struct getRoleAdminCall {
4130 #[allow(missing_docs)]
4131 pub role: alloy::sol_types::private::FixedBytes<32>,
4132 }
4133 #[derive(serde::Serialize, serde::Deserialize)]
4134 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4135 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4137 #[derive(Clone)]
4138 pub struct getRoleAdminReturn {
4139 #[allow(missing_docs)]
4140 pub _0: alloy::sol_types::private::FixedBytes<32>,
4141 }
4142 #[allow(
4143 non_camel_case_types,
4144 non_snake_case,
4145 clippy::pub_underscore_fields,
4146 clippy::style
4147 )]
4148 const _: () = {
4149 use alloy::sol_types as alloy_sol_types;
4150 {
4151 #[doc(hidden)]
4152 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
4153 #[doc(hidden)]
4154 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>,);
4155 #[cfg(test)]
4156 #[allow(dead_code, unreachable_patterns)]
4157 fn _type_assertion(
4158 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4159 ) {
4160 match _t {
4161 alloy_sol_types::private::AssertTypeEq::<
4162 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4163 >(_) => {}
4164 }
4165 }
4166 #[automatically_derived]
4167 #[doc(hidden)]
4168 impl ::core::convert::From<getRoleAdminCall> for UnderlyingRustTuple<'_> {
4169 fn from(value: getRoleAdminCall) -> Self {
4170 (value.role,)
4171 }
4172 }
4173 #[automatically_derived]
4174 #[doc(hidden)]
4175 impl ::core::convert::From<UnderlyingRustTuple<'_>> for getRoleAdminCall {
4176 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4177 Self { role: tuple.0 }
4178 }
4179 }
4180 }
4181 {
4182 #[doc(hidden)]
4183 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
4184 #[doc(hidden)]
4185 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>,);
4186 #[cfg(test)]
4187 #[allow(dead_code, unreachable_patterns)]
4188 fn _type_assertion(
4189 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4190 ) {
4191 match _t {
4192 alloy_sol_types::private::AssertTypeEq::<
4193 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4194 >(_) => {}
4195 }
4196 }
4197 #[automatically_derived]
4198 #[doc(hidden)]
4199 impl ::core::convert::From<getRoleAdminReturn> for UnderlyingRustTuple<'_> {
4200 fn from(value: getRoleAdminReturn) -> Self {
4201 (value._0,)
4202 }
4203 }
4204 #[automatically_derived]
4205 #[doc(hidden)]
4206 impl ::core::convert::From<UnderlyingRustTuple<'_>> for getRoleAdminReturn {
4207 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4208 Self { _0: tuple.0 }
4209 }
4210 }
4211 }
4212 #[automatically_derived]
4213 impl alloy_sol_types::SolCall for getRoleAdminCall {
4214 type Parameters<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
4215 type Token<'a> = <Self::Parameters<
4216 'a,
4217 > as alloy_sol_types::SolType>::Token<'a>;
4218 type Return = alloy::sol_types::private::FixedBytes<32>;
4219 type ReturnTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
4220 type ReturnToken<'a> = <Self::ReturnTuple<
4221 'a,
4222 > as alloy_sol_types::SolType>::Token<'a>;
4223 const SIGNATURE: &'static str = "getRoleAdmin(bytes32)";
4224 const SELECTOR: [u8; 4] = [36u8, 138u8, 156u8, 163u8];
4225 #[inline]
4226 fn new<'a>(
4227 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4228 ) -> Self {
4229 tuple.into()
4230 }
4231 #[inline]
4232 fn tokenize(&self) -> Self::Token<'_> {
4233 (
4234 <alloy::sol_types::sol_data::FixedBytes<
4235 32,
4236 > as alloy_sol_types::SolType>::tokenize(&self.role),
4237 )
4238 }
4239 #[inline]
4240 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
4241 (
4242 <alloy::sol_types::sol_data::FixedBytes<
4243 32,
4244 > as alloy_sol_types::SolType>::tokenize(ret),
4245 )
4246 }
4247 #[inline]
4248 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
4249 <Self::ReturnTuple<
4250 '_,
4251 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
4252 .map(|r| {
4253 let r: getRoleAdminReturn = r.into();
4254 r._0
4255 })
4256 }
4257 #[inline]
4258 fn abi_decode_returns_validate(
4259 data: &[u8],
4260 ) -> alloy_sol_types::Result<Self::Return> {
4261 <Self::ReturnTuple<
4262 '_,
4263 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4264 .map(|r| {
4265 let r: getRoleAdminReturn = r.into();
4266 r._0
4267 })
4268 }
4269 }
4270 };
4271 #[derive(serde::Serialize, serde::Deserialize)]
4272 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4273 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4278 #[derive(Clone)]
4279 pub struct getRoleMemberCall {
4280 #[allow(missing_docs)]
4281 pub role: alloy::sol_types::private::FixedBytes<32>,
4282 #[allow(missing_docs)]
4283 pub index: alloy::sol_types::private::primitives::aliases::U256,
4284 }
4285 #[derive(serde::Serialize, serde::Deserialize)]
4286 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4287 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4289 #[derive(Clone)]
4290 pub struct getRoleMemberReturn {
4291 #[allow(missing_docs)]
4292 pub _0: alloy::sol_types::private::Address,
4293 }
4294 #[allow(
4295 non_camel_case_types,
4296 non_snake_case,
4297 clippy::pub_underscore_fields,
4298 clippy::style
4299 )]
4300 const _: () = {
4301 use alloy::sol_types as alloy_sol_types;
4302 {
4303 #[doc(hidden)]
4304 type UnderlyingSolTuple<'a> = (
4305 alloy::sol_types::sol_data::FixedBytes<32>,
4306 alloy::sol_types::sol_data::Uint<256>,
4307 );
4308 #[doc(hidden)]
4309 type UnderlyingRustTuple<'a> = (
4310 alloy::sol_types::private::FixedBytes<32>,
4311 alloy::sol_types::private::primitives::aliases::U256,
4312 );
4313 #[cfg(test)]
4314 #[allow(dead_code, unreachable_patterns)]
4315 fn _type_assertion(
4316 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4317 ) {
4318 match _t {
4319 alloy_sol_types::private::AssertTypeEq::<
4320 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4321 >(_) => {}
4322 }
4323 }
4324 #[automatically_derived]
4325 #[doc(hidden)]
4326 impl ::core::convert::From<getRoleMemberCall> for UnderlyingRustTuple<'_> {
4327 fn from(value: getRoleMemberCall) -> Self {
4328 (value.role, value.index)
4329 }
4330 }
4331 #[automatically_derived]
4332 #[doc(hidden)]
4333 impl ::core::convert::From<UnderlyingRustTuple<'_>> for getRoleMemberCall {
4334 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4335 Self {
4336 role: tuple.0,
4337 index: tuple.1,
4338 }
4339 }
4340 }
4341 }
4342 {
4343 #[doc(hidden)]
4344 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
4345 #[doc(hidden)]
4346 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
4347 #[cfg(test)]
4348 #[allow(dead_code, unreachable_patterns)]
4349 fn _type_assertion(
4350 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4351 ) {
4352 match _t {
4353 alloy_sol_types::private::AssertTypeEq::<
4354 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4355 >(_) => {}
4356 }
4357 }
4358 #[automatically_derived]
4359 #[doc(hidden)]
4360 impl ::core::convert::From<getRoleMemberReturn> for UnderlyingRustTuple<'_> {
4361 fn from(value: getRoleMemberReturn) -> Self {
4362 (value._0,)
4363 }
4364 }
4365 #[automatically_derived]
4366 #[doc(hidden)]
4367 impl ::core::convert::From<UnderlyingRustTuple<'_>> for getRoleMemberReturn {
4368 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4369 Self { _0: tuple.0 }
4370 }
4371 }
4372 }
4373 #[automatically_derived]
4374 impl alloy_sol_types::SolCall for getRoleMemberCall {
4375 type Parameters<'a> = (
4376 alloy::sol_types::sol_data::FixedBytes<32>,
4377 alloy::sol_types::sol_data::Uint<256>,
4378 );
4379 type Token<'a> = <Self::Parameters<
4380 'a,
4381 > as alloy_sol_types::SolType>::Token<'a>;
4382 type Return = alloy::sol_types::private::Address;
4383 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
4384 type ReturnToken<'a> = <Self::ReturnTuple<
4385 'a,
4386 > as alloy_sol_types::SolType>::Token<'a>;
4387 const SIGNATURE: &'static str = "getRoleMember(bytes32,uint256)";
4388 const SELECTOR: [u8; 4] = [144u8, 16u8, 208u8, 124u8];
4389 #[inline]
4390 fn new<'a>(
4391 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4392 ) -> Self {
4393 tuple.into()
4394 }
4395 #[inline]
4396 fn tokenize(&self) -> Self::Token<'_> {
4397 (
4398 <alloy::sol_types::sol_data::FixedBytes<
4399 32,
4400 > as alloy_sol_types::SolType>::tokenize(&self.role),
4401 <alloy::sol_types::sol_data::Uint<
4402 256,
4403 > as alloy_sol_types::SolType>::tokenize(&self.index),
4404 )
4405 }
4406 #[inline]
4407 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
4408 (
4409 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
4410 ret,
4411 ),
4412 )
4413 }
4414 #[inline]
4415 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
4416 <Self::ReturnTuple<
4417 '_,
4418 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
4419 .map(|r| {
4420 let r: getRoleMemberReturn = r.into();
4421 r._0
4422 })
4423 }
4424 #[inline]
4425 fn abi_decode_returns_validate(
4426 data: &[u8],
4427 ) -> alloy_sol_types::Result<Self::Return> {
4428 <Self::ReturnTuple<
4429 '_,
4430 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4431 .map(|r| {
4432 let r: getRoleMemberReturn = r.into();
4433 r._0
4434 })
4435 }
4436 }
4437 };
4438 #[derive(serde::Serialize, serde::Deserialize)]
4439 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4440 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4445 #[derive(Clone)]
4446 pub struct getRoleMemberCountCall {
4447 #[allow(missing_docs)]
4448 pub role: alloy::sol_types::private::FixedBytes<32>,
4449 }
4450 #[derive(serde::Serialize, serde::Deserialize)]
4451 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4452 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4454 #[derive(Clone)]
4455 pub struct getRoleMemberCountReturn {
4456 #[allow(missing_docs)]
4457 pub _0: alloy::sol_types::private::primitives::aliases::U256,
4458 }
4459 #[allow(
4460 non_camel_case_types,
4461 non_snake_case,
4462 clippy::pub_underscore_fields,
4463 clippy::style
4464 )]
4465 const _: () = {
4466 use alloy::sol_types as alloy_sol_types;
4467 {
4468 #[doc(hidden)]
4469 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
4470 #[doc(hidden)]
4471 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<32>,);
4472 #[cfg(test)]
4473 #[allow(dead_code, unreachable_patterns)]
4474 fn _type_assertion(
4475 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4476 ) {
4477 match _t {
4478 alloy_sol_types::private::AssertTypeEq::<
4479 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4480 >(_) => {}
4481 }
4482 }
4483 #[automatically_derived]
4484 #[doc(hidden)]
4485 impl ::core::convert::From<getRoleMemberCountCall>
4486 for UnderlyingRustTuple<'_> {
4487 fn from(value: getRoleMemberCountCall) -> Self {
4488 (value.role,)
4489 }
4490 }
4491 #[automatically_derived]
4492 #[doc(hidden)]
4493 impl ::core::convert::From<UnderlyingRustTuple<'_>>
4494 for getRoleMemberCountCall {
4495 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4496 Self { role: tuple.0 }
4497 }
4498 }
4499 }
4500 {
4501 #[doc(hidden)]
4502 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
4503 #[doc(hidden)]
4504 type UnderlyingRustTuple<'a> = (
4505 alloy::sol_types::private::primitives::aliases::U256,
4506 );
4507 #[cfg(test)]
4508 #[allow(dead_code, unreachable_patterns)]
4509 fn _type_assertion(
4510 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4511 ) {
4512 match _t {
4513 alloy_sol_types::private::AssertTypeEq::<
4514 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4515 >(_) => {}
4516 }
4517 }
4518 #[automatically_derived]
4519 #[doc(hidden)]
4520 impl ::core::convert::From<getRoleMemberCountReturn>
4521 for UnderlyingRustTuple<'_> {
4522 fn from(value: getRoleMemberCountReturn) -> Self {
4523 (value._0,)
4524 }
4525 }
4526 #[automatically_derived]
4527 #[doc(hidden)]
4528 impl ::core::convert::From<UnderlyingRustTuple<'_>>
4529 for getRoleMemberCountReturn {
4530 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4531 Self { _0: tuple.0 }
4532 }
4533 }
4534 }
4535 #[automatically_derived]
4536 impl alloy_sol_types::SolCall for getRoleMemberCountCall {
4537 type Parameters<'a> = (alloy::sol_types::sol_data::FixedBytes<32>,);
4538 type Token<'a> = <Self::Parameters<
4539 'a,
4540 > as alloy_sol_types::SolType>::Token<'a>;
4541 type Return = alloy::sol_types::private::primitives::aliases::U256;
4542 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
4543 type ReturnToken<'a> = <Self::ReturnTuple<
4544 'a,
4545 > as alloy_sol_types::SolType>::Token<'a>;
4546 const SIGNATURE: &'static str = "getRoleMemberCount(bytes32)";
4547 const SELECTOR: [u8; 4] = [202u8, 21u8, 200u8, 115u8];
4548 #[inline]
4549 fn new<'a>(
4550 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4551 ) -> Self {
4552 tuple.into()
4553 }
4554 #[inline]
4555 fn tokenize(&self) -> Self::Token<'_> {
4556 (
4557 <alloy::sol_types::sol_data::FixedBytes<
4558 32,
4559 > as alloy_sol_types::SolType>::tokenize(&self.role),
4560 )
4561 }
4562 #[inline]
4563 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
4564 (
4565 <alloy::sol_types::sol_data::Uint<
4566 256,
4567 > as alloy_sol_types::SolType>::tokenize(ret),
4568 )
4569 }
4570 #[inline]
4571 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
4572 <Self::ReturnTuple<
4573 '_,
4574 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
4575 .map(|r| {
4576 let r: getRoleMemberCountReturn = r.into();
4577 r._0
4578 })
4579 }
4580 #[inline]
4581 fn abi_decode_returns_validate(
4582 data: &[u8],
4583 ) -> alloy_sol_types::Result<Self::Return> {
4584 <Self::ReturnTuple<
4585 '_,
4586 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4587 .map(|r| {
4588 let r: getRoleMemberCountReturn = r.into();
4589 r._0
4590 })
4591 }
4592 }
4593 };
4594 #[derive(serde::Serialize, serde::Deserialize)]
4595 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4596 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4601 #[derive(Clone)]
4602 pub struct grantRoleCall {
4603 #[allow(missing_docs)]
4604 pub role: alloy::sol_types::private::FixedBytes<32>,
4605 #[allow(missing_docs)]
4606 pub account: alloy::sol_types::private::Address,
4607 }
4608 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4610 #[derive(Clone)]
4611 pub struct grantRoleReturn {}
4612 #[allow(
4613 non_camel_case_types,
4614 non_snake_case,
4615 clippy::pub_underscore_fields,
4616 clippy::style
4617 )]
4618 const _: () = {
4619 use alloy::sol_types as alloy_sol_types;
4620 {
4621 #[doc(hidden)]
4622 type UnderlyingSolTuple<'a> = (
4623 alloy::sol_types::sol_data::FixedBytes<32>,
4624 alloy::sol_types::sol_data::Address,
4625 );
4626 #[doc(hidden)]
4627 type UnderlyingRustTuple<'a> = (
4628 alloy::sol_types::private::FixedBytes<32>,
4629 alloy::sol_types::private::Address,
4630 );
4631 #[cfg(test)]
4632 #[allow(dead_code, unreachable_patterns)]
4633 fn _type_assertion(
4634 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4635 ) {
4636 match _t {
4637 alloy_sol_types::private::AssertTypeEq::<
4638 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4639 >(_) => {}
4640 }
4641 }
4642 #[automatically_derived]
4643 #[doc(hidden)]
4644 impl ::core::convert::From<grantRoleCall> for UnderlyingRustTuple<'_> {
4645 fn from(value: grantRoleCall) -> Self {
4646 (value.role, value.account)
4647 }
4648 }
4649 #[automatically_derived]
4650 #[doc(hidden)]
4651 impl ::core::convert::From<UnderlyingRustTuple<'_>> for grantRoleCall {
4652 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4653 Self {
4654 role: tuple.0,
4655 account: tuple.1,
4656 }
4657 }
4658 }
4659 }
4660 {
4661 #[doc(hidden)]
4662 type UnderlyingSolTuple<'a> = ();
4663 #[doc(hidden)]
4664 type UnderlyingRustTuple<'a> = ();
4665 #[cfg(test)]
4666 #[allow(dead_code, unreachable_patterns)]
4667 fn _type_assertion(
4668 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4669 ) {
4670 match _t {
4671 alloy_sol_types::private::AssertTypeEq::<
4672 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4673 >(_) => {}
4674 }
4675 }
4676 #[automatically_derived]
4677 #[doc(hidden)]
4678 impl ::core::convert::From<grantRoleReturn> for UnderlyingRustTuple<'_> {
4679 fn from(value: grantRoleReturn) -> Self {
4680 ()
4681 }
4682 }
4683 #[automatically_derived]
4684 #[doc(hidden)]
4685 impl ::core::convert::From<UnderlyingRustTuple<'_>> for grantRoleReturn {
4686 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4687 Self {}
4688 }
4689 }
4690 }
4691 impl grantRoleReturn {
4692 fn _tokenize(
4693 &self,
4694 ) -> <grantRoleCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
4695 ()
4696 }
4697 }
4698 #[automatically_derived]
4699 impl alloy_sol_types::SolCall for grantRoleCall {
4700 type Parameters<'a> = (
4701 alloy::sol_types::sol_data::FixedBytes<32>,
4702 alloy::sol_types::sol_data::Address,
4703 );
4704 type Token<'a> = <Self::Parameters<
4705 'a,
4706 > as alloy_sol_types::SolType>::Token<'a>;
4707 type Return = grantRoleReturn;
4708 type ReturnTuple<'a> = ();
4709 type ReturnToken<'a> = <Self::ReturnTuple<
4710 'a,
4711 > as alloy_sol_types::SolType>::Token<'a>;
4712 const SIGNATURE: &'static str = "grantRole(bytes32,address)";
4713 const SELECTOR: [u8; 4] = [47u8, 47u8, 241u8, 93u8];
4714 #[inline]
4715 fn new<'a>(
4716 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4717 ) -> Self {
4718 tuple.into()
4719 }
4720 #[inline]
4721 fn tokenize(&self) -> Self::Token<'_> {
4722 (
4723 <alloy::sol_types::sol_data::FixedBytes<
4724 32,
4725 > as alloy_sol_types::SolType>::tokenize(&self.role),
4726 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
4727 &self.account,
4728 ),
4729 )
4730 }
4731 #[inline]
4732 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
4733 grantRoleReturn::_tokenize(ret)
4734 }
4735 #[inline]
4736 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
4737 <Self::ReturnTuple<
4738 '_,
4739 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
4740 .map(Into::into)
4741 }
4742 #[inline]
4743 fn abi_decode_returns_validate(
4744 data: &[u8],
4745 ) -> alloy_sol_types::Result<Self::Return> {
4746 <Self::ReturnTuple<
4747 '_,
4748 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4749 .map(Into::into)
4750 }
4751 }
4752 };
4753 #[derive(serde::Serialize, serde::Deserialize)]
4754 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4755 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4760 #[derive(Clone)]
4761 pub struct granularityCall;
4762 #[derive(serde::Serialize, serde::Deserialize)]
4763 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4764 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4766 #[derive(Clone)]
4767 pub struct granularityReturn {
4768 #[allow(missing_docs)]
4769 pub _0: alloy::sol_types::private::primitives::aliases::U256,
4770 }
4771 #[allow(
4772 non_camel_case_types,
4773 non_snake_case,
4774 clippy::pub_underscore_fields,
4775 clippy::style
4776 )]
4777 const _: () = {
4778 use alloy::sol_types as alloy_sol_types;
4779 {
4780 #[doc(hidden)]
4781 type UnderlyingSolTuple<'a> = ();
4782 #[doc(hidden)]
4783 type UnderlyingRustTuple<'a> = ();
4784 #[cfg(test)]
4785 #[allow(dead_code, unreachable_patterns)]
4786 fn _type_assertion(
4787 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4788 ) {
4789 match _t {
4790 alloy_sol_types::private::AssertTypeEq::<
4791 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4792 >(_) => {}
4793 }
4794 }
4795 #[automatically_derived]
4796 #[doc(hidden)]
4797 impl ::core::convert::From<granularityCall> for UnderlyingRustTuple<'_> {
4798 fn from(value: granularityCall) -> Self {
4799 ()
4800 }
4801 }
4802 #[automatically_derived]
4803 #[doc(hidden)]
4804 impl ::core::convert::From<UnderlyingRustTuple<'_>> for granularityCall {
4805 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4806 Self
4807 }
4808 }
4809 }
4810 {
4811 #[doc(hidden)]
4812 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
4813 #[doc(hidden)]
4814 type UnderlyingRustTuple<'a> = (
4815 alloy::sol_types::private::primitives::aliases::U256,
4816 );
4817 #[cfg(test)]
4818 #[allow(dead_code, unreachable_patterns)]
4819 fn _type_assertion(
4820 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4821 ) {
4822 match _t {
4823 alloy_sol_types::private::AssertTypeEq::<
4824 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4825 >(_) => {}
4826 }
4827 }
4828 #[automatically_derived]
4829 #[doc(hidden)]
4830 impl ::core::convert::From<granularityReturn> for UnderlyingRustTuple<'_> {
4831 fn from(value: granularityReturn) -> Self {
4832 (value._0,)
4833 }
4834 }
4835 #[automatically_derived]
4836 #[doc(hidden)]
4837 impl ::core::convert::From<UnderlyingRustTuple<'_>> for granularityReturn {
4838 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4839 Self { _0: tuple.0 }
4840 }
4841 }
4842 }
4843 #[automatically_derived]
4844 impl alloy_sol_types::SolCall for granularityCall {
4845 type Parameters<'a> = ();
4846 type Token<'a> = <Self::Parameters<
4847 'a,
4848 > as alloy_sol_types::SolType>::Token<'a>;
4849 type Return = alloy::sol_types::private::primitives::aliases::U256;
4850 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
4851 type ReturnToken<'a> = <Self::ReturnTuple<
4852 'a,
4853 > as alloy_sol_types::SolType>::Token<'a>;
4854 const SIGNATURE: &'static str = "granularity()";
4855 const SELECTOR: [u8; 4] = [85u8, 111u8, 13u8, 199u8];
4856 #[inline]
4857 fn new<'a>(
4858 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
4859 ) -> Self {
4860 tuple.into()
4861 }
4862 #[inline]
4863 fn tokenize(&self) -> Self::Token<'_> {
4864 ()
4865 }
4866 #[inline]
4867 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
4868 (
4869 <alloy::sol_types::sol_data::Uint<
4870 256,
4871 > as alloy_sol_types::SolType>::tokenize(ret),
4872 )
4873 }
4874 #[inline]
4875 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
4876 <Self::ReturnTuple<
4877 '_,
4878 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
4879 .map(|r| {
4880 let r: granularityReturn = r.into();
4881 r._0
4882 })
4883 }
4884 #[inline]
4885 fn abi_decode_returns_validate(
4886 data: &[u8],
4887 ) -> alloy_sol_types::Result<Self::Return> {
4888 <Self::ReturnTuple<
4889 '_,
4890 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
4891 .map(|r| {
4892 let r: granularityReturn = r.into();
4893 r._0
4894 })
4895 }
4896 }
4897 };
4898 #[derive(serde::Serialize, serde::Deserialize)]
4899 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4900 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4905 #[derive(Clone)]
4906 pub struct hasRoleCall {
4907 #[allow(missing_docs)]
4908 pub role: alloy::sol_types::private::FixedBytes<32>,
4909 #[allow(missing_docs)]
4910 pub account: alloy::sol_types::private::Address,
4911 }
4912 #[derive(serde::Serialize, serde::Deserialize)]
4913 #[derive(Default, Debug, PartialEq, Eq, Hash)]
4914 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
4916 #[derive(Clone)]
4917 pub struct hasRoleReturn {
4918 #[allow(missing_docs)]
4919 pub _0: bool,
4920 }
4921 #[allow(
4922 non_camel_case_types,
4923 non_snake_case,
4924 clippy::pub_underscore_fields,
4925 clippy::style
4926 )]
4927 const _: () = {
4928 use alloy::sol_types as alloy_sol_types;
4929 {
4930 #[doc(hidden)]
4931 type UnderlyingSolTuple<'a> = (
4932 alloy::sol_types::sol_data::FixedBytes<32>,
4933 alloy::sol_types::sol_data::Address,
4934 );
4935 #[doc(hidden)]
4936 type UnderlyingRustTuple<'a> = (
4937 alloy::sol_types::private::FixedBytes<32>,
4938 alloy::sol_types::private::Address,
4939 );
4940 #[cfg(test)]
4941 #[allow(dead_code, unreachable_patterns)]
4942 fn _type_assertion(
4943 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4944 ) {
4945 match _t {
4946 alloy_sol_types::private::AssertTypeEq::<
4947 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4948 >(_) => {}
4949 }
4950 }
4951 #[automatically_derived]
4952 #[doc(hidden)]
4953 impl ::core::convert::From<hasRoleCall> for UnderlyingRustTuple<'_> {
4954 fn from(value: hasRoleCall) -> Self {
4955 (value.role, value.account)
4956 }
4957 }
4958 #[automatically_derived]
4959 #[doc(hidden)]
4960 impl ::core::convert::From<UnderlyingRustTuple<'_>> for hasRoleCall {
4961 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4962 Self {
4963 role: tuple.0,
4964 account: tuple.1,
4965 }
4966 }
4967 }
4968 }
4969 {
4970 #[doc(hidden)]
4971 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Bool,);
4972 #[doc(hidden)]
4973 type UnderlyingRustTuple<'a> = (bool,);
4974 #[cfg(test)]
4975 #[allow(dead_code, unreachable_patterns)]
4976 fn _type_assertion(
4977 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
4978 ) {
4979 match _t {
4980 alloy_sol_types::private::AssertTypeEq::<
4981 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
4982 >(_) => {}
4983 }
4984 }
4985 #[automatically_derived]
4986 #[doc(hidden)]
4987 impl ::core::convert::From<hasRoleReturn> for UnderlyingRustTuple<'_> {
4988 fn from(value: hasRoleReturn) -> Self {
4989 (value._0,)
4990 }
4991 }
4992 #[automatically_derived]
4993 #[doc(hidden)]
4994 impl ::core::convert::From<UnderlyingRustTuple<'_>> for hasRoleReturn {
4995 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
4996 Self { _0: tuple.0 }
4997 }
4998 }
4999 }
5000 #[automatically_derived]
5001 impl alloy_sol_types::SolCall for hasRoleCall {
5002 type Parameters<'a> = (
5003 alloy::sol_types::sol_data::FixedBytes<32>,
5004 alloy::sol_types::sol_data::Address,
5005 );
5006 type Token<'a> = <Self::Parameters<
5007 'a,
5008 > as alloy_sol_types::SolType>::Token<'a>;
5009 type Return = bool;
5010 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Bool,);
5011 type ReturnToken<'a> = <Self::ReturnTuple<
5012 'a,
5013 > as alloy_sol_types::SolType>::Token<'a>;
5014 const SIGNATURE: &'static str = "hasRole(bytes32,address)";
5015 const SELECTOR: [u8; 4] = [145u8, 209u8, 72u8, 84u8];
5016 #[inline]
5017 fn new<'a>(
5018 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5019 ) -> Self {
5020 tuple.into()
5021 }
5022 #[inline]
5023 fn tokenize(&self) -> Self::Token<'_> {
5024 (
5025 <alloy::sol_types::sol_data::FixedBytes<
5026 32,
5027 > as alloy_sol_types::SolType>::tokenize(&self.role),
5028 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
5029 &self.account,
5030 ),
5031 )
5032 }
5033 #[inline]
5034 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
5035 (
5036 <alloy::sol_types::sol_data::Bool as alloy_sol_types::SolType>::tokenize(
5037 ret,
5038 ),
5039 )
5040 }
5041 #[inline]
5042 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
5043 <Self::ReturnTuple<
5044 '_,
5045 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
5046 .map(|r| {
5047 let r: hasRoleReturn = r.into();
5048 r._0
5049 })
5050 }
5051 #[inline]
5052 fn abi_decode_returns_validate(
5053 data: &[u8],
5054 ) -> alloy_sol_types::Result<Self::Return> {
5055 <Self::ReturnTuple<
5056 '_,
5057 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
5058 .map(|r| {
5059 let r: hasRoleReturn = r.into();
5060 r._0
5061 })
5062 }
5063 }
5064 };
5065 #[derive(serde::Serialize, serde::Deserialize)]
5066 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5067 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5072 #[derive(Clone)]
5073 pub struct isOperatorForCall {
5074 #[allow(missing_docs)]
5075 pub operator: alloy::sol_types::private::Address,
5076 #[allow(missing_docs)]
5077 pub tokenHolder: alloy::sol_types::private::Address,
5078 }
5079 #[derive(serde::Serialize, serde::Deserialize)]
5080 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5081 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5083 #[derive(Clone)]
5084 pub struct isOperatorForReturn {
5085 #[allow(missing_docs)]
5086 pub _0: bool,
5087 }
5088 #[allow(
5089 non_camel_case_types,
5090 non_snake_case,
5091 clippy::pub_underscore_fields,
5092 clippy::style
5093 )]
5094 const _: () = {
5095 use alloy::sol_types as alloy_sol_types;
5096 {
5097 #[doc(hidden)]
5098 type UnderlyingSolTuple<'a> = (
5099 alloy::sol_types::sol_data::Address,
5100 alloy::sol_types::sol_data::Address,
5101 );
5102 #[doc(hidden)]
5103 type UnderlyingRustTuple<'a> = (
5104 alloy::sol_types::private::Address,
5105 alloy::sol_types::private::Address,
5106 );
5107 #[cfg(test)]
5108 #[allow(dead_code, unreachable_patterns)]
5109 fn _type_assertion(
5110 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5111 ) {
5112 match _t {
5113 alloy_sol_types::private::AssertTypeEq::<
5114 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5115 >(_) => {}
5116 }
5117 }
5118 #[automatically_derived]
5119 #[doc(hidden)]
5120 impl ::core::convert::From<isOperatorForCall> for UnderlyingRustTuple<'_> {
5121 fn from(value: isOperatorForCall) -> Self {
5122 (value.operator, value.tokenHolder)
5123 }
5124 }
5125 #[automatically_derived]
5126 #[doc(hidden)]
5127 impl ::core::convert::From<UnderlyingRustTuple<'_>> for isOperatorForCall {
5128 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5129 Self {
5130 operator: tuple.0,
5131 tokenHolder: tuple.1,
5132 }
5133 }
5134 }
5135 }
5136 {
5137 #[doc(hidden)]
5138 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Bool,);
5139 #[doc(hidden)]
5140 type UnderlyingRustTuple<'a> = (bool,);
5141 #[cfg(test)]
5142 #[allow(dead_code, unreachable_patterns)]
5143 fn _type_assertion(
5144 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5145 ) {
5146 match _t {
5147 alloy_sol_types::private::AssertTypeEq::<
5148 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5149 >(_) => {}
5150 }
5151 }
5152 #[automatically_derived]
5153 #[doc(hidden)]
5154 impl ::core::convert::From<isOperatorForReturn> for UnderlyingRustTuple<'_> {
5155 fn from(value: isOperatorForReturn) -> Self {
5156 (value._0,)
5157 }
5158 }
5159 #[automatically_derived]
5160 #[doc(hidden)]
5161 impl ::core::convert::From<UnderlyingRustTuple<'_>> for isOperatorForReturn {
5162 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5163 Self { _0: tuple.0 }
5164 }
5165 }
5166 }
5167 #[automatically_derived]
5168 impl alloy_sol_types::SolCall for isOperatorForCall {
5169 type Parameters<'a> = (
5170 alloy::sol_types::sol_data::Address,
5171 alloy::sol_types::sol_data::Address,
5172 );
5173 type Token<'a> = <Self::Parameters<
5174 'a,
5175 > as alloy_sol_types::SolType>::Token<'a>;
5176 type Return = bool;
5177 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Bool,);
5178 type ReturnToken<'a> = <Self::ReturnTuple<
5179 'a,
5180 > as alloy_sol_types::SolType>::Token<'a>;
5181 const SIGNATURE: &'static str = "isOperatorFor(address,address)";
5182 const SELECTOR: [u8; 4] = [217u8, 91u8, 99u8, 113u8];
5183 #[inline]
5184 fn new<'a>(
5185 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5186 ) -> Self {
5187 tuple.into()
5188 }
5189 #[inline]
5190 fn tokenize(&self) -> Self::Token<'_> {
5191 (
5192 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
5193 &self.operator,
5194 ),
5195 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
5196 &self.tokenHolder,
5197 ),
5198 )
5199 }
5200 #[inline]
5201 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
5202 (
5203 <alloy::sol_types::sol_data::Bool as alloy_sol_types::SolType>::tokenize(
5204 ret,
5205 ),
5206 )
5207 }
5208 #[inline]
5209 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
5210 <Self::ReturnTuple<
5211 '_,
5212 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
5213 .map(|r| {
5214 let r: isOperatorForReturn = r.into();
5215 r._0
5216 })
5217 }
5218 #[inline]
5219 fn abi_decode_returns_validate(
5220 data: &[u8],
5221 ) -> alloy_sol_types::Result<Self::Return> {
5222 <Self::ReturnTuple<
5223 '_,
5224 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
5225 .map(|r| {
5226 let r: isOperatorForReturn = r.into();
5227 r._0
5228 })
5229 }
5230 }
5231 };
5232 #[derive(serde::Serialize, serde::Deserialize)]
5233 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5234 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5239 #[derive(Clone)]
5240 pub struct mintCall {
5241 #[allow(missing_docs)]
5242 pub account: alloy::sol_types::private::Address,
5243 #[allow(missing_docs)]
5244 pub amount: alloy::sol_types::private::primitives::aliases::U256,
5245 #[allow(missing_docs)]
5246 pub userData: alloy::sol_types::private::Bytes,
5247 #[allow(missing_docs)]
5248 pub operatorData: alloy::sol_types::private::Bytes,
5249 }
5250 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5252 #[derive(Clone)]
5253 pub struct mintReturn {}
5254 #[allow(
5255 non_camel_case_types,
5256 non_snake_case,
5257 clippy::pub_underscore_fields,
5258 clippy::style
5259 )]
5260 const _: () = {
5261 use alloy::sol_types as alloy_sol_types;
5262 {
5263 #[doc(hidden)]
5264 type UnderlyingSolTuple<'a> = (
5265 alloy::sol_types::sol_data::Address,
5266 alloy::sol_types::sol_data::Uint<256>,
5267 alloy::sol_types::sol_data::Bytes,
5268 alloy::sol_types::sol_data::Bytes,
5269 );
5270 #[doc(hidden)]
5271 type UnderlyingRustTuple<'a> = (
5272 alloy::sol_types::private::Address,
5273 alloy::sol_types::private::primitives::aliases::U256,
5274 alloy::sol_types::private::Bytes,
5275 alloy::sol_types::private::Bytes,
5276 );
5277 #[cfg(test)]
5278 #[allow(dead_code, unreachable_patterns)]
5279 fn _type_assertion(
5280 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5281 ) {
5282 match _t {
5283 alloy_sol_types::private::AssertTypeEq::<
5284 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5285 >(_) => {}
5286 }
5287 }
5288 #[automatically_derived]
5289 #[doc(hidden)]
5290 impl ::core::convert::From<mintCall> for UnderlyingRustTuple<'_> {
5291 fn from(value: mintCall) -> Self {
5292 (value.account, value.amount, value.userData, value.operatorData)
5293 }
5294 }
5295 #[automatically_derived]
5296 #[doc(hidden)]
5297 impl ::core::convert::From<UnderlyingRustTuple<'_>> for mintCall {
5298 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5299 Self {
5300 account: tuple.0,
5301 amount: tuple.1,
5302 userData: tuple.2,
5303 operatorData: tuple.3,
5304 }
5305 }
5306 }
5307 }
5308 {
5309 #[doc(hidden)]
5310 type UnderlyingSolTuple<'a> = ();
5311 #[doc(hidden)]
5312 type UnderlyingRustTuple<'a> = ();
5313 #[cfg(test)]
5314 #[allow(dead_code, unreachable_patterns)]
5315 fn _type_assertion(
5316 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5317 ) {
5318 match _t {
5319 alloy_sol_types::private::AssertTypeEq::<
5320 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5321 >(_) => {}
5322 }
5323 }
5324 #[automatically_derived]
5325 #[doc(hidden)]
5326 impl ::core::convert::From<mintReturn> for UnderlyingRustTuple<'_> {
5327 fn from(value: mintReturn) -> Self {
5328 ()
5329 }
5330 }
5331 #[automatically_derived]
5332 #[doc(hidden)]
5333 impl ::core::convert::From<UnderlyingRustTuple<'_>> for mintReturn {
5334 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5335 Self {}
5336 }
5337 }
5338 }
5339 impl mintReturn {
5340 fn _tokenize(
5341 &self,
5342 ) -> <mintCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
5343 ()
5344 }
5345 }
5346 #[automatically_derived]
5347 impl alloy_sol_types::SolCall for mintCall {
5348 type Parameters<'a> = (
5349 alloy::sol_types::sol_data::Address,
5350 alloy::sol_types::sol_data::Uint<256>,
5351 alloy::sol_types::sol_data::Bytes,
5352 alloy::sol_types::sol_data::Bytes,
5353 );
5354 type Token<'a> = <Self::Parameters<
5355 'a,
5356 > as alloy_sol_types::SolType>::Token<'a>;
5357 type Return = mintReturn;
5358 type ReturnTuple<'a> = ();
5359 type ReturnToken<'a> = <Self::ReturnTuple<
5360 'a,
5361 > as alloy_sol_types::SolType>::Token<'a>;
5362 const SIGNATURE: &'static str = "mint(address,uint256,bytes,bytes)";
5363 const SELECTOR: [u8; 4] = [220u8, 220u8, 125u8, 208u8];
5364 #[inline]
5365 fn new<'a>(
5366 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5367 ) -> Self {
5368 tuple.into()
5369 }
5370 #[inline]
5371 fn tokenize(&self) -> Self::Token<'_> {
5372 (
5373 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
5374 &self.account,
5375 ),
5376 <alloy::sol_types::sol_data::Uint<
5377 256,
5378 > as alloy_sol_types::SolType>::tokenize(&self.amount),
5379 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
5380 &self.userData,
5381 ),
5382 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
5383 &self.operatorData,
5384 ),
5385 )
5386 }
5387 #[inline]
5388 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
5389 mintReturn::_tokenize(ret)
5390 }
5391 #[inline]
5392 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
5393 <Self::ReturnTuple<
5394 '_,
5395 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
5396 .map(Into::into)
5397 }
5398 #[inline]
5399 fn abi_decode_returns_validate(
5400 data: &[u8],
5401 ) -> alloy_sol_types::Result<Self::Return> {
5402 <Self::ReturnTuple<
5403 '_,
5404 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
5405 .map(Into::into)
5406 }
5407 }
5408 };
5409 #[derive(serde::Serialize, serde::Deserialize)]
5410 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5411 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5416 #[derive(Clone)]
5417 pub struct nameCall;
5418 #[derive(serde::Serialize, serde::Deserialize)]
5419 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5420 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5422 #[derive(Clone)]
5423 pub struct nameReturn {
5424 #[allow(missing_docs)]
5425 pub _0: alloy::sol_types::private::String,
5426 }
5427 #[allow(
5428 non_camel_case_types,
5429 non_snake_case,
5430 clippy::pub_underscore_fields,
5431 clippy::style
5432 )]
5433 const _: () = {
5434 use alloy::sol_types as alloy_sol_types;
5435 {
5436 #[doc(hidden)]
5437 type UnderlyingSolTuple<'a> = ();
5438 #[doc(hidden)]
5439 type UnderlyingRustTuple<'a> = ();
5440 #[cfg(test)]
5441 #[allow(dead_code, unreachable_patterns)]
5442 fn _type_assertion(
5443 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5444 ) {
5445 match _t {
5446 alloy_sol_types::private::AssertTypeEq::<
5447 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5448 >(_) => {}
5449 }
5450 }
5451 #[automatically_derived]
5452 #[doc(hidden)]
5453 impl ::core::convert::From<nameCall> for UnderlyingRustTuple<'_> {
5454 fn from(value: nameCall) -> Self {
5455 ()
5456 }
5457 }
5458 #[automatically_derived]
5459 #[doc(hidden)]
5460 impl ::core::convert::From<UnderlyingRustTuple<'_>> for nameCall {
5461 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5462 Self
5463 }
5464 }
5465 }
5466 {
5467 #[doc(hidden)]
5468 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::String,);
5469 #[doc(hidden)]
5470 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::String,);
5471 #[cfg(test)]
5472 #[allow(dead_code, unreachable_patterns)]
5473 fn _type_assertion(
5474 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5475 ) {
5476 match _t {
5477 alloy_sol_types::private::AssertTypeEq::<
5478 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5479 >(_) => {}
5480 }
5481 }
5482 #[automatically_derived]
5483 #[doc(hidden)]
5484 impl ::core::convert::From<nameReturn> for UnderlyingRustTuple<'_> {
5485 fn from(value: nameReturn) -> Self {
5486 (value._0,)
5487 }
5488 }
5489 #[automatically_derived]
5490 #[doc(hidden)]
5491 impl ::core::convert::From<UnderlyingRustTuple<'_>> for nameReturn {
5492 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5493 Self { _0: tuple.0 }
5494 }
5495 }
5496 }
5497 #[automatically_derived]
5498 impl alloy_sol_types::SolCall for nameCall {
5499 type Parameters<'a> = ();
5500 type Token<'a> = <Self::Parameters<
5501 'a,
5502 > as alloy_sol_types::SolType>::Token<'a>;
5503 type Return = alloy::sol_types::private::String;
5504 type ReturnTuple<'a> = (alloy::sol_types::sol_data::String,);
5505 type ReturnToken<'a> = <Self::ReturnTuple<
5506 'a,
5507 > as alloy_sol_types::SolType>::Token<'a>;
5508 const SIGNATURE: &'static str = "name()";
5509 const SELECTOR: [u8; 4] = [6u8, 253u8, 222u8, 3u8];
5510 #[inline]
5511 fn new<'a>(
5512 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5513 ) -> Self {
5514 tuple.into()
5515 }
5516 #[inline]
5517 fn tokenize(&self) -> Self::Token<'_> {
5518 ()
5519 }
5520 #[inline]
5521 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
5522 (
5523 <alloy::sol_types::sol_data::String as alloy_sol_types::SolType>::tokenize(
5524 ret,
5525 ),
5526 )
5527 }
5528 #[inline]
5529 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
5530 <Self::ReturnTuple<
5531 '_,
5532 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
5533 .map(|r| {
5534 let r: nameReturn = r.into();
5535 r._0
5536 })
5537 }
5538 #[inline]
5539 fn abi_decode_returns_validate(
5540 data: &[u8],
5541 ) -> alloy_sol_types::Result<Self::Return> {
5542 <Self::ReturnTuple<
5543 '_,
5544 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
5545 .map(|r| {
5546 let r: nameReturn = r.into();
5547 r._0
5548 })
5549 }
5550 }
5551 };
5552 #[derive(serde::Serialize, serde::Deserialize)]
5553 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5554 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5559 #[derive(Clone)]
5560 pub struct operatorBurnCall {
5561 #[allow(missing_docs)]
5562 pub account: alloy::sol_types::private::Address,
5563 #[allow(missing_docs)]
5564 pub amount: alloy::sol_types::private::primitives::aliases::U256,
5565 #[allow(missing_docs)]
5566 pub data: alloy::sol_types::private::Bytes,
5567 #[allow(missing_docs)]
5568 pub operatorData: alloy::sol_types::private::Bytes,
5569 }
5570 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5572 #[derive(Clone)]
5573 pub struct operatorBurnReturn {}
5574 #[allow(
5575 non_camel_case_types,
5576 non_snake_case,
5577 clippy::pub_underscore_fields,
5578 clippy::style
5579 )]
5580 const _: () = {
5581 use alloy::sol_types as alloy_sol_types;
5582 {
5583 #[doc(hidden)]
5584 type UnderlyingSolTuple<'a> = (
5585 alloy::sol_types::sol_data::Address,
5586 alloy::sol_types::sol_data::Uint<256>,
5587 alloy::sol_types::sol_data::Bytes,
5588 alloy::sol_types::sol_data::Bytes,
5589 );
5590 #[doc(hidden)]
5591 type UnderlyingRustTuple<'a> = (
5592 alloy::sol_types::private::Address,
5593 alloy::sol_types::private::primitives::aliases::U256,
5594 alloy::sol_types::private::Bytes,
5595 alloy::sol_types::private::Bytes,
5596 );
5597 #[cfg(test)]
5598 #[allow(dead_code, unreachable_patterns)]
5599 fn _type_assertion(
5600 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5601 ) {
5602 match _t {
5603 alloy_sol_types::private::AssertTypeEq::<
5604 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5605 >(_) => {}
5606 }
5607 }
5608 #[automatically_derived]
5609 #[doc(hidden)]
5610 impl ::core::convert::From<operatorBurnCall> for UnderlyingRustTuple<'_> {
5611 fn from(value: operatorBurnCall) -> Self {
5612 (value.account, value.amount, value.data, value.operatorData)
5613 }
5614 }
5615 #[automatically_derived]
5616 #[doc(hidden)]
5617 impl ::core::convert::From<UnderlyingRustTuple<'_>> for operatorBurnCall {
5618 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5619 Self {
5620 account: tuple.0,
5621 amount: tuple.1,
5622 data: tuple.2,
5623 operatorData: tuple.3,
5624 }
5625 }
5626 }
5627 }
5628 {
5629 #[doc(hidden)]
5630 type UnderlyingSolTuple<'a> = ();
5631 #[doc(hidden)]
5632 type UnderlyingRustTuple<'a> = ();
5633 #[cfg(test)]
5634 #[allow(dead_code, unreachable_patterns)]
5635 fn _type_assertion(
5636 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5637 ) {
5638 match _t {
5639 alloy_sol_types::private::AssertTypeEq::<
5640 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5641 >(_) => {}
5642 }
5643 }
5644 #[automatically_derived]
5645 #[doc(hidden)]
5646 impl ::core::convert::From<operatorBurnReturn> for UnderlyingRustTuple<'_> {
5647 fn from(value: operatorBurnReturn) -> Self {
5648 ()
5649 }
5650 }
5651 #[automatically_derived]
5652 #[doc(hidden)]
5653 impl ::core::convert::From<UnderlyingRustTuple<'_>> for operatorBurnReturn {
5654 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5655 Self {}
5656 }
5657 }
5658 }
5659 impl operatorBurnReturn {
5660 fn _tokenize(
5661 &self,
5662 ) -> <operatorBurnCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
5663 ()
5664 }
5665 }
5666 #[automatically_derived]
5667 impl alloy_sol_types::SolCall for operatorBurnCall {
5668 type Parameters<'a> = (
5669 alloy::sol_types::sol_data::Address,
5670 alloy::sol_types::sol_data::Uint<256>,
5671 alloy::sol_types::sol_data::Bytes,
5672 alloy::sol_types::sol_data::Bytes,
5673 );
5674 type Token<'a> = <Self::Parameters<
5675 'a,
5676 > as alloy_sol_types::SolType>::Token<'a>;
5677 type Return = operatorBurnReturn;
5678 type ReturnTuple<'a> = ();
5679 type ReturnToken<'a> = <Self::ReturnTuple<
5680 'a,
5681 > as alloy_sol_types::SolType>::Token<'a>;
5682 const SIGNATURE: &'static str = "operatorBurn(address,uint256,bytes,bytes)";
5683 const SELECTOR: [u8; 4] = [252u8, 103u8, 60u8, 79u8];
5684 #[inline]
5685 fn new<'a>(
5686 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5687 ) -> Self {
5688 tuple.into()
5689 }
5690 #[inline]
5691 fn tokenize(&self) -> Self::Token<'_> {
5692 (
5693 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
5694 &self.account,
5695 ),
5696 <alloy::sol_types::sol_data::Uint<
5697 256,
5698 > as alloy_sol_types::SolType>::tokenize(&self.amount),
5699 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
5700 &self.data,
5701 ),
5702 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
5703 &self.operatorData,
5704 ),
5705 )
5706 }
5707 #[inline]
5708 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
5709 operatorBurnReturn::_tokenize(ret)
5710 }
5711 #[inline]
5712 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
5713 <Self::ReturnTuple<
5714 '_,
5715 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
5716 .map(Into::into)
5717 }
5718 #[inline]
5719 fn abi_decode_returns_validate(
5720 data: &[u8],
5721 ) -> alloy_sol_types::Result<Self::Return> {
5722 <Self::ReturnTuple<
5723 '_,
5724 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
5725 .map(Into::into)
5726 }
5727 }
5728 };
5729 #[derive(serde::Serialize, serde::Deserialize)]
5730 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5731 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5736 #[derive(Clone)]
5737 pub struct operatorSendCall {
5738 #[allow(missing_docs)]
5739 pub sender: alloy::sol_types::private::Address,
5740 #[allow(missing_docs)]
5741 pub recipient: alloy::sol_types::private::Address,
5742 #[allow(missing_docs)]
5743 pub amount: alloy::sol_types::private::primitives::aliases::U256,
5744 #[allow(missing_docs)]
5745 pub data: alloy::sol_types::private::Bytes,
5746 #[allow(missing_docs)]
5747 pub operatorData: alloy::sol_types::private::Bytes,
5748 }
5749 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5751 #[derive(Clone)]
5752 pub struct operatorSendReturn {}
5753 #[allow(
5754 non_camel_case_types,
5755 non_snake_case,
5756 clippy::pub_underscore_fields,
5757 clippy::style
5758 )]
5759 const _: () = {
5760 use alloy::sol_types as alloy_sol_types;
5761 {
5762 #[doc(hidden)]
5763 type UnderlyingSolTuple<'a> = (
5764 alloy::sol_types::sol_data::Address,
5765 alloy::sol_types::sol_data::Address,
5766 alloy::sol_types::sol_data::Uint<256>,
5767 alloy::sol_types::sol_data::Bytes,
5768 alloy::sol_types::sol_data::Bytes,
5769 );
5770 #[doc(hidden)]
5771 type UnderlyingRustTuple<'a> = (
5772 alloy::sol_types::private::Address,
5773 alloy::sol_types::private::Address,
5774 alloy::sol_types::private::primitives::aliases::U256,
5775 alloy::sol_types::private::Bytes,
5776 alloy::sol_types::private::Bytes,
5777 );
5778 #[cfg(test)]
5779 #[allow(dead_code, unreachable_patterns)]
5780 fn _type_assertion(
5781 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5782 ) {
5783 match _t {
5784 alloy_sol_types::private::AssertTypeEq::<
5785 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5786 >(_) => {}
5787 }
5788 }
5789 #[automatically_derived]
5790 #[doc(hidden)]
5791 impl ::core::convert::From<operatorSendCall> for UnderlyingRustTuple<'_> {
5792 fn from(value: operatorSendCall) -> Self {
5793 (
5794 value.sender,
5795 value.recipient,
5796 value.amount,
5797 value.data,
5798 value.operatorData,
5799 )
5800 }
5801 }
5802 #[automatically_derived]
5803 #[doc(hidden)]
5804 impl ::core::convert::From<UnderlyingRustTuple<'_>> for operatorSendCall {
5805 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5806 Self {
5807 sender: tuple.0,
5808 recipient: tuple.1,
5809 amount: tuple.2,
5810 data: tuple.3,
5811 operatorData: tuple.4,
5812 }
5813 }
5814 }
5815 }
5816 {
5817 #[doc(hidden)]
5818 type UnderlyingSolTuple<'a> = ();
5819 #[doc(hidden)]
5820 type UnderlyingRustTuple<'a> = ();
5821 #[cfg(test)]
5822 #[allow(dead_code, unreachable_patterns)]
5823 fn _type_assertion(
5824 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5825 ) {
5826 match _t {
5827 alloy_sol_types::private::AssertTypeEq::<
5828 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5829 >(_) => {}
5830 }
5831 }
5832 #[automatically_derived]
5833 #[doc(hidden)]
5834 impl ::core::convert::From<operatorSendReturn> for UnderlyingRustTuple<'_> {
5835 fn from(value: operatorSendReturn) -> Self {
5836 ()
5837 }
5838 }
5839 #[automatically_derived]
5840 #[doc(hidden)]
5841 impl ::core::convert::From<UnderlyingRustTuple<'_>> for operatorSendReturn {
5842 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5843 Self {}
5844 }
5845 }
5846 }
5847 impl operatorSendReturn {
5848 fn _tokenize(
5849 &self,
5850 ) -> <operatorSendCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
5851 ()
5852 }
5853 }
5854 #[automatically_derived]
5855 impl alloy_sol_types::SolCall for operatorSendCall {
5856 type Parameters<'a> = (
5857 alloy::sol_types::sol_data::Address,
5858 alloy::sol_types::sol_data::Address,
5859 alloy::sol_types::sol_data::Uint<256>,
5860 alloy::sol_types::sol_data::Bytes,
5861 alloy::sol_types::sol_data::Bytes,
5862 );
5863 type Token<'a> = <Self::Parameters<
5864 'a,
5865 > as alloy_sol_types::SolType>::Token<'a>;
5866 type Return = operatorSendReturn;
5867 type ReturnTuple<'a> = ();
5868 type ReturnToken<'a> = <Self::ReturnTuple<
5869 'a,
5870 > as alloy_sol_types::SolType>::Token<'a>;
5871 const SIGNATURE: &'static str = "operatorSend(address,address,uint256,bytes,bytes)";
5872 const SELECTOR: [u8; 4] = [98u8, 173u8, 27u8, 131u8];
5873 #[inline]
5874 fn new<'a>(
5875 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
5876 ) -> Self {
5877 tuple.into()
5878 }
5879 #[inline]
5880 fn tokenize(&self) -> Self::Token<'_> {
5881 (
5882 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
5883 &self.sender,
5884 ),
5885 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
5886 &self.recipient,
5887 ),
5888 <alloy::sol_types::sol_data::Uint<
5889 256,
5890 > as alloy_sol_types::SolType>::tokenize(&self.amount),
5891 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
5892 &self.data,
5893 ),
5894 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
5895 &self.operatorData,
5896 ),
5897 )
5898 }
5899 #[inline]
5900 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
5901 operatorSendReturn::_tokenize(ret)
5902 }
5903 #[inline]
5904 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
5905 <Self::ReturnTuple<
5906 '_,
5907 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
5908 .map(Into::into)
5909 }
5910 #[inline]
5911 fn abi_decode_returns_validate(
5912 data: &[u8],
5913 ) -> alloy_sol_types::Result<Self::Return> {
5914 <Self::ReturnTuple<
5915 '_,
5916 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
5917 .map(Into::into)
5918 }
5919 }
5920 };
5921 #[derive(serde::Serialize, serde::Deserialize)]
5922 #[derive(Default, Debug, PartialEq, Eq, Hash)]
5923 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5928 #[derive(Clone)]
5929 pub struct renounceRoleCall {
5930 #[allow(missing_docs)]
5931 pub role: alloy::sol_types::private::FixedBytes<32>,
5932 #[allow(missing_docs)]
5933 pub account: alloy::sol_types::private::Address,
5934 }
5935 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
5937 #[derive(Clone)]
5938 pub struct renounceRoleReturn {}
5939 #[allow(
5940 non_camel_case_types,
5941 non_snake_case,
5942 clippy::pub_underscore_fields,
5943 clippy::style
5944 )]
5945 const _: () = {
5946 use alloy::sol_types as alloy_sol_types;
5947 {
5948 #[doc(hidden)]
5949 type UnderlyingSolTuple<'a> = (
5950 alloy::sol_types::sol_data::FixedBytes<32>,
5951 alloy::sol_types::sol_data::Address,
5952 );
5953 #[doc(hidden)]
5954 type UnderlyingRustTuple<'a> = (
5955 alloy::sol_types::private::FixedBytes<32>,
5956 alloy::sol_types::private::Address,
5957 );
5958 #[cfg(test)]
5959 #[allow(dead_code, unreachable_patterns)]
5960 fn _type_assertion(
5961 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5962 ) {
5963 match _t {
5964 alloy_sol_types::private::AssertTypeEq::<
5965 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
5966 >(_) => {}
5967 }
5968 }
5969 #[automatically_derived]
5970 #[doc(hidden)]
5971 impl ::core::convert::From<renounceRoleCall> for UnderlyingRustTuple<'_> {
5972 fn from(value: renounceRoleCall) -> Self {
5973 (value.role, value.account)
5974 }
5975 }
5976 #[automatically_derived]
5977 #[doc(hidden)]
5978 impl ::core::convert::From<UnderlyingRustTuple<'_>> for renounceRoleCall {
5979 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
5980 Self {
5981 role: tuple.0,
5982 account: tuple.1,
5983 }
5984 }
5985 }
5986 }
5987 {
5988 #[doc(hidden)]
5989 type UnderlyingSolTuple<'a> = ();
5990 #[doc(hidden)]
5991 type UnderlyingRustTuple<'a> = ();
5992 #[cfg(test)]
5993 #[allow(dead_code, unreachable_patterns)]
5994 fn _type_assertion(
5995 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
5996 ) {
5997 match _t {
5998 alloy_sol_types::private::AssertTypeEq::<
5999 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6000 >(_) => {}
6001 }
6002 }
6003 #[automatically_derived]
6004 #[doc(hidden)]
6005 impl ::core::convert::From<renounceRoleReturn> for UnderlyingRustTuple<'_> {
6006 fn from(value: renounceRoleReturn) -> Self {
6007 ()
6008 }
6009 }
6010 #[automatically_derived]
6011 #[doc(hidden)]
6012 impl ::core::convert::From<UnderlyingRustTuple<'_>> for renounceRoleReturn {
6013 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6014 Self {}
6015 }
6016 }
6017 }
6018 impl renounceRoleReturn {
6019 fn _tokenize(
6020 &self,
6021 ) -> <renounceRoleCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
6022 ()
6023 }
6024 }
6025 #[automatically_derived]
6026 impl alloy_sol_types::SolCall for renounceRoleCall {
6027 type Parameters<'a> = (
6028 alloy::sol_types::sol_data::FixedBytes<32>,
6029 alloy::sol_types::sol_data::Address,
6030 );
6031 type Token<'a> = <Self::Parameters<
6032 'a,
6033 > as alloy_sol_types::SolType>::Token<'a>;
6034 type Return = renounceRoleReturn;
6035 type ReturnTuple<'a> = ();
6036 type ReturnToken<'a> = <Self::ReturnTuple<
6037 'a,
6038 > as alloy_sol_types::SolType>::Token<'a>;
6039 const SIGNATURE: &'static str = "renounceRole(bytes32,address)";
6040 const SELECTOR: [u8; 4] = [54u8, 86u8, 138u8, 190u8];
6041 #[inline]
6042 fn new<'a>(
6043 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6044 ) -> Self {
6045 tuple.into()
6046 }
6047 #[inline]
6048 fn tokenize(&self) -> Self::Token<'_> {
6049 (
6050 <alloy::sol_types::sol_data::FixedBytes<
6051 32,
6052 > as alloy_sol_types::SolType>::tokenize(&self.role),
6053 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
6054 &self.account,
6055 ),
6056 )
6057 }
6058 #[inline]
6059 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
6060 renounceRoleReturn::_tokenize(ret)
6061 }
6062 #[inline]
6063 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6064 <Self::ReturnTuple<
6065 '_,
6066 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
6067 .map(Into::into)
6068 }
6069 #[inline]
6070 fn abi_decode_returns_validate(
6071 data: &[u8],
6072 ) -> alloy_sol_types::Result<Self::Return> {
6073 <Self::ReturnTuple<
6074 '_,
6075 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
6076 .map(Into::into)
6077 }
6078 }
6079 };
6080 #[derive(serde::Serialize, serde::Deserialize)]
6081 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6082 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6087 #[derive(Clone)]
6088 pub struct revokeOperatorCall {
6089 #[allow(missing_docs)]
6090 pub operator: alloy::sol_types::private::Address,
6091 }
6092 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6094 #[derive(Clone)]
6095 pub struct revokeOperatorReturn {}
6096 #[allow(
6097 non_camel_case_types,
6098 non_snake_case,
6099 clippy::pub_underscore_fields,
6100 clippy::style
6101 )]
6102 const _: () = {
6103 use alloy::sol_types as alloy_sol_types;
6104 {
6105 #[doc(hidden)]
6106 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
6107 #[doc(hidden)]
6108 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
6109 #[cfg(test)]
6110 #[allow(dead_code, unreachable_patterns)]
6111 fn _type_assertion(
6112 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6113 ) {
6114 match _t {
6115 alloy_sol_types::private::AssertTypeEq::<
6116 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6117 >(_) => {}
6118 }
6119 }
6120 #[automatically_derived]
6121 #[doc(hidden)]
6122 impl ::core::convert::From<revokeOperatorCall> for UnderlyingRustTuple<'_> {
6123 fn from(value: revokeOperatorCall) -> Self {
6124 (value.operator,)
6125 }
6126 }
6127 #[automatically_derived]
6128 #[doc(hidden)]
6129 impl ::core::convert::From<UnderlyingRustTuple<'_>> for revokeOperatorCall {
6130 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6131 Self { operator: tuple.0 }
6132 }
6133 }
6134 }
6135 {
6136 #[doc(hidden)]
6137 type UnderlyingSolTuple<'a> = ();
6138 #[doc(hidden)]
6139 type UnderlyingRustTuple<'a> = ();
6140 #[cfg(test)]
6141 #[allow(dead_code, unreachable_patterns)]
6142 fn _type_assertion(
6143 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6144 ) {
6145 match _t {
6146 alloy_sol_types::private::AssertTypeEq::<
6147 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6148 >(_) => {}
6149 }
6150 }
6151 #[automatically_derived]
6152 #[doc(hidden)]
6153 impl ::core::convert::From<revokeOperatorReturn>
6154 for UnderlyingRustTuple<'_> {
6155 fn from(value: revokeOperatorReturn) -> Self {
6156 ()
6157 }
6158 }
6159 #[automatically_derived]
6160 #[doc(hidden)]
6161 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6162 for revokeOperatorReturn {
6163 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6164 Self {}
6165 }
6166 }
6167 }
6168 impl revokeOperatorReturn {
6169 fn _tokenize(
6170 &self,
6171 ) -> <revokeOperatorCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
6172 ()
6173 }
6174 }
6175 #[automatically_derived]
6176 impl alloy_sol_types::SolCall for revokeOperatorCall {
6177 type Parameters<'a> = (alloy::sol_types::sol_data::Address,);
6178 type Token<'a> = <Self::Parameters<
6179 'a,
6180 > as alloy_sol_types::SolType>::Token<'a>;
6181 type Return = revokeOperatorReturn;
6182 type ReturnTuple<'a> = ();
6183 type ReturnToken<'a> = <Self::ReturnTuple<
6184 'a,
6185 > as alloy_sol_types::SolType>::Token<'a>;
6186 const SIGNATURE: &'static str = "revokeOperator(address)";
6187 const SELECTOR: [u8; 4] = [250u8, 216u8, 179u8, 42u8];
6188 #[inline]
6189 fn new<'a>(
6190 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6191 ) -> Self {
6192 tuple.into()
6193 }
6194 #[inline]
6195 fn tokenize(&self) -> Self::Token<'_> {
6196 (
6197 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
6198 &self.operator,
6199 ),
6200 )
6201 }
6202 #[inline]
6203 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
6204 revokeOperatorReturn::_tokenize(ret)
6205 }
6206 #[inline]
6207 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6208 <Self::ReturnTuple<
6209 '_,
6210 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
6211 .map(Into::into)
6212 }
6213 #[inline]
6214 fn abi_decode_returns_validate(
6215 data: &[u8],
6216 ) -> alloy_sol_types::Result<Self::Return> {
6217 <Self::ReturnTuple<
6218 '_,
6219 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
6220 .map(Into::into)
6221 }
6222 }
6223 };
6224 #[derive(serde::Serialize, serde::Deserialize)]
6225 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6226 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6231 #[derive(Clone)]
6232 pub struct revokeRoleCall {
6233 #[allow(missing_docs)]
6234 pub role: alloy::sol_types::private::FixedBytes<32>,
6235 #[allow(missing_docs)]
6236 pub account: alloy::sol_types::private::Address,
6237 }
6238 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6240 #[derive(Clone)]
6241 pub struct revokeRoleReturn {}
6242 #[allow(
6243 non_camel_case_types,
6244 non_snake_case,
6245 clippy::pub_underscore_fields,
6246 clippy::style
6247 )]
6248 const _: () = {
6249 use alloy::sol_types as alloy_sol_types;
6250 {
6251 #[doc(hidden)]
6252 type UnderlyingSolTuple<'a> = (
6253 alloy::sol_types::sol_data::FixedBytes<32>,
6254 alloy::sol_types::sol_data::Address,
6255 );
6256 #[doc(hidden)]
6257 type UnderlyingRustTuple<'a> = (
6258 alloy::sol_types::private::FixedBytes<32>,
6259 alloy::sol_types::private::Address,
6260 );
6261 #[cfg(test)]
6262 #[allow(dead_code, unreachable_patterns)]
6263 fn _type_assertion(
6264 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6265 ) {
6266 match _t {
6267 alloy_sol_types::private::AssertTypeEq::<
6268 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6269 >(_) => {}
6270 }
6271 }
6272 #[automatically_derived]
6273 #[doc(hidden)]
6274 impl ::core::convert::From<revokeRoleCall> for UnderlyingRustTuple<'_> {
6275 fn from(value: revokeRoleCall) -> Self {
6276 (value.role, value.account)
6277 }
6278 }
6279 #[automatically_derived]
6280 #[doc(hidden)]
6281 impl ::core::convert::From<UnderlyingRustTuple<'_>> for revokeRoleCall {
6282 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6283 Self {
6284 role: tuple.0,
6285 account: tuple.1,
6286 }
6287 }
6288 }
6289 }
6290 {
6291 #[doc(hidden)]
6292 type UnderlyingSolTuple<'a> = ();
6293 #[doc(hidden)]
6294 type UnderlyingRustTuple<'a> = ();
6295 #[cfg(test)]
6296 #[allow(dead_code, unreachable_patterns)]
6297 fn _type_assertion(
6298 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6299 ) {
6300 match _t {
6301 alloy_sol_types::private::AssertTypeEq::<
6302 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6303 >(_) => {}
6304 }
6305 }
6306 #[automatically_derived]
6307 #[doc(hidden)]
6308 impl ::core::convert::From<revokeRoleReturn> for UnderlyingRustTuple<'_> {
6309 fn from(value: revokeRoleReturn) -> Self {
6310 ()
6311 }
6312 }
6313 #[automatically_derived]
6314 #[doc(hidden)]
6315 impl ::core::convert::From<UnderlyingRustTuple<'_>> for revokeRoleReturn {
6316 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6317 Self {}
6318 }
6319 }
6320 }
6321 impl revokeRoleReturn {
6322 fn _tokenize(
6323 &self,
6324 ) -> <revokeRoleCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
6325 ()
6326 }
6327 }
6328 #[automatically_derived]
6329 impl alloy_sol_types::SolCall for revokeRoleCall {
6330 type Parameters<'a> = (
6331 alloy::sol_types::sol_data::FixedBytes<32>,
6332 alloy::sol_types::sol_data::Address,
6333 );
6334 type Token<'a> = <Self::Parameters<
6335 'a,
6336 > as alloy_sol_types::SolType>::Token<'a>;
6337 type Return = revokeRoleReturn;
6338 type ReturnTuple<'a> = ();
6339 type ReturnToken<'a> = <Self::ReturnTuple<
6340 'a,
6341 > as alloy_sol_types::SolType>::Token<'a>;
6342 const SIGNATURE: &'static str = "revokeRole(bytes32,address)";
6343 const SELECTOR: [u8; 4] = [213u8, 71u8, 116u8, 31u8];
6344 #[inline]
6345 fn new<'a>(
6346 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6347 ) -> Self {
6348 tuple.into()
6349 }
6350 #[inline]
6351 fn tokenize(&self) -> Self::Token<'_> {
6352 (
6353 <alloy::sol_types::sol_data::FixedBytes<
6354 32,
6355 > as alloy_sol_types::SolType>::tokenize(&self.role),
6356 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
6357 &self.account,
6358 ),
6359 )
6360 }
6361 #[inline]
6362 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
6363 revokeRoleReturn::_tokenize(ret)
6364 }
6365 #[inline]
6366 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6367 <Self::ReturnTuple<
6368 '_,
6369 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
6370 .map(Into::into)
6371 }
6372 #[inline]
6373 fn abi_decode_returns_validate(
6374 data: &[u8],
6375 ) -> alloy_sol_types::Result<Self::Return> {
6376 <Self::ReturnTuple<
6377 '_,
6378 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
6379 .map(Into::into)
6380 }
6381 }
6382 };
6383 #[derive(serde::Serialize, serde::Deserialize)]
6384 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6385 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6390 #[derive(Clone)]
6391 pub struct sendCall {
6392 #[allow(missing_docs)]
6393 pub recipient: alloy::sol_types::private::Address,
6394 #[allow(missing_docs)]
6395 pub amount: alloy::sol_types::private::primitives::aliases::U256,
6396 #[allow(missing_docs)]
6397 pub data: alloy::sol_types::private::Bytes,
6398 }
6399 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6401 #[derive(Clone)]
6402 pub struct sendReturn {}
6403 #[allow(
6404 non_camel_case_types,
6405 non_snake_case,
6406 clippy::pub_underscore_fields,
6407 clippy::style
6408 )]
6409 const _: () = {
6410 use alloy::sol_types as alloy_sol_types;
6411 {
6412 #[doc(hidden)]
6413 type UnderlyingSolTuple<'a> = (
6414 alloy::sol_types::sol_data::Address,
6415 alloy::sol_types::sol_data::Uint<256>,
6416 alloy::sol_types::sol_data::Bytes,
6417 );
6418 #[doc(hidden)]
6419 type UnderlyingRustTuple<'a> = (
6420 alloy::sol_types::private::Address,
6421 alloy::sol_types::private::primitives::aliases::U256,
6422 alloy::sol_types::private::Bytes,
6423 );
6424 #[cfg(test)]
6425 #[allow(dead_code, unreachable_patterns)]
6426 fn _type_assertion(
6427 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6428 ) {
6429 match _t {
6430 alloy_sol_types::private::AssertTypeEq::<
6431 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6432 >(_) => {}
6433 }
6434 }
6435 #[automatically_derived]
6436 #[doc(hidden)]
6437 impl ::core::convert::From<sendCall> for UnderlyingRustTuple<'_> {
6438 fn from(value: sendCall) -> Self {
6439 (value.recipient, value.amount, value.data)
6440 }
6441 }
6442 #[automatically_derived]
6443 #[doc(hidden)]
6444 impl ::core::convert::From<UnderlyingRustTuple<'_>> for sendCall {
6445 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6446 Self {
6447 recipient: tuple.0,
6448 amount: tuple.1,
6449 data: tuple.2,
6450 }
6451 }
6452 }
6453 }
6454 {
6455 #[doc(hidden)]
6456 type UnderlyingSolTuple<'a> = ();
6457 #[doc(hidden)]
6458 type UnderlyingRustTuple<'a> = ();
6459 #[cfg(test)]
6460 #[allow(dead_code, unreachable_patterns)]
6461 fn _type_assertion(
6462 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6463 ) {
6464 match _t {
6465 alloy_sol_types::private::AssertTypeEq::<
6466 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6467 >(_) => {}
6468 }
6469 }
6470 #[automatically_derived]
6471 #[doc(hidden)]
6472 impl ::core::convert::From<sendReturn> for UnderlyingRustTuple<'_> {
6473 fn from(value: sendReturn) -> Self {
6474 ()
6475 }
6476 }
6477 #[automatically_derived]
6478 #[doc(hidden)]
6479 impl ::core::convert::From<UnderlyingRustTuple<'_>> for sendReturn {
6480 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6481 Self {}
6482 }
6483 }
6484 }
6485 impl sendReturn {
6486 fn _tokenize(
6487 &self,
6488 ) -> <sendCall as alloy_sol_types::SolCall>::ReturnToken<'_> {
6489 ()
6490 }
6491 }
6492 #[automatically_derived]
6493 impl alloy_sol_types::SolCall for sendCall {
6494 type Parameters<'a> = (
6495 alloy::sol_types::sol_data::Address,
6496 alloy::sol_types::sol_data::Uint<256>,
6497 alloy::sol_types::sol_data::Bytes,
6498 );
6499 type Token<'a> = <Self::Parameters<
6500 'a,
6501 > as alloy_sol_types::SolType>::Token<'a>;
6502 type Return = sendReturn;
6503 type ReturnTuple<'a> = ();
6504 type ReturnToken<'a> = <Self::ReturnTuple<
6505 'a,
6506 > as alloy_sol_types::SolType>::Token<'a>;
6507 const SIGNATURE: &'static str = "send(address,uint256,bytes)";
6508 const SELECTOR: [u8; 4] = [155u8, 217u8, 187u8, 198u8];
6509 #[inline]
6510 fn new<'a>(
6511 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6512 ) -> Self {
6513 tuple.into()
6514 }
6515 #[inline]
6516 fn tokenize(&self) -> Self::Token<'_> {
6517 (
6518 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
6519 &self.recipient,
6520 ),
6521 <alloy::sol_types::sol_data::Uint<
6522 256,
6523 > as alloy_sol_types::SolType>::tokenize(&self.amount),
6524 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
6525 &self.data,
6526 ),
6527 )
6528 }
6529 #[inline]
6530 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
6531 sendReturn::_tokenize(ret)
6532 }
6533 #[inline]
6534 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6535 <Self::ReturnTuple<
6536 '_,
6537 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
6538 .map(Into::into)
6539 }
6540 #[inline]
6541 fn abi_decode_returns_validate(
6542 data: &[u8],
6543 ) -> alloy_sol_types::Result<Self::Return> {
6544 <Self::ReturnTuple<
6545 '_,
6546 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
6547 .map(Into::into)
6548 }
6549 }
6550 };
6551 #[derive(serde::Serialize, serde::Deserialize)]
6552 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6553 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6558 #[derive(Clone)]
6559 pub struct supportsInterfaceCall {
6560 #[allow(missing_docs)]
6561 pub interfaceId: alloy::sol_types::private::FixedBytes<4>,
6562 }
6563 #[derive(serde::Serialize, serde::Deserialize)]
6564 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6565 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6567 #[derive(Clone)]
6568 pub struct supportsInterfaceReturn {
6569 #[allow(missing_docs)]
6570 pub _0: bool,
6571 }
6572 #[allow(
6573 non_camel_case_types,
6574 non_snake_case,
6575 clippy::pub_underscore_fields,
6576 clippy::style
6577 )]
6578 const _: () = {
6579 use alloy::sol_types as alloy_sol_types;
6580 {
6581 #[doc(hidden)]
6582 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::FixedBytes<4>,);
6583 #[doc(hidden)]
6584 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::FixedBytes<4>,);
6585 #[cfg(test)]
6586 #[allow(dead_code, unreachable_patterns)]
6587 fn _type_assertion(
6588 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6589 ) {
6590 match _t {
6591 alloy_sol_types::private::AssertTypeEq::<
6592 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6593 >(_) => {}
6594 }
6595 }
6596 #[automatically_derived]
6597 #[doc(hidden)]
6598 impl ::core::convert::From<supportsInterfaceCall>
6599 for UnderlyingRustTuple<'_> {
6600 fn from(value: supportsInterfaceCall) -> Self {
6601 (value.interfaceId,)
6602 }
6603 }
6604 #[automatically_derived]
6605 #[doc(hidden)]
6606 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6607 for supportsInterfaceCall {
6608 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6609 Self { interfaceId: tuple.0 }
6610 }
6611 }
6612 }
6613 {
6614 #[doc(hidden)]
6615 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Bool,);
6616 #[doc(hidden)]
6617 type UnderlyingRustTuple<'a> = (bool,);
6618 #[cfg(test)]
6619 #[allow(dead_code, unreachable_patterns)]
6620 fn _type_assertion(
6621 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6622 ) {
6623 match _t {
6624 alloy_sol_types::private::AssertTypeEq::<
6625 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6626 >(_) => {}
6627 }
6628 }
6629 #[automatically_derived]
6630 #[doc(hidden)]
6631 impl ::core::convert::From<supportsInterfaceReturn>
6632 for UnderlyingRustTuple<'_> {
6633 fn from(value: supportsInterfaceReturn) -> Self {
6634 (value._0,)
6635 }
6636 }
6637 #[automatically_derived]
6638 #[doc(hidden)]
6639 impl ::core::convert::From<UnderlyingRustTuple<'_>>
6640 for supportsInterfaceReturn {
6641 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6642 Self { _0: tuple.0 }
6643 }
6644 }
6645 }
6646 #[automatically_derived]
6647 impl alloy_sol_types::SolCall for supportsInterfaceCall {
6648 type Parameters<'a> = (alloy::sol_types::sol_data::FixedBytes<4>,);
6649 type Token<'a> = <Self::Parameters<
6650 'a,
6651 > as alloy_sol_types::SolType>::Token<'a>;
6652 type Return = bool;
6653 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Bool,);
6654 type ReturnToken<'a> = <Self::ReturnTuple<
6655 'a,
6656 > as alloy_sol_types::SolType>::Token<'a>;
6657 const SIGNATURE: &'static str = "supportsInterface(bytes4)";
6658 const SELECTOR: [u8; 4] = [1u8, 255u8, 201u8, 167u8];
6659 #[inline]
6660 fn new<'a>(
6661 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6662 ) -> Self {
6663 tuple.into()
6664 }
6665 #[inline]
6666 fn tokenize(&self) -> Self::Token<'_> {
6667 (
6668 <alloy::sol_types::sol_data::FixedBytes<
6669 4,
6670 > as alloy_sol_types::SolType>::tokenize(&self.interfaceId),
6671 )
6672 }
6673 #[inline]
6674 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
6675 (
6676 <alloy::sol_types::sol_data::Bool as alloy_sol_types::SolType>::tokenize(
6677 ret,
6678 ),
6679 )
6680 }
6681 #[inline]
6682 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6683 <Self::ReturnTuple<
6684 '_,
6685 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
6686 .map(|r| {
6687 let r: supportsInterfaceReturn = r.into();
6688 r._0
6689 })
6690 }
6691 #[inline]
6692 fn abi_decode_returns_validate(
6693 data: &[u8],
6694 ) -> alloy_sol_types::Result<Self::Return> {
6695 <Self::ReturnTuple<
6696 '_,
6697 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
6698 .map(|r| {
6699 let r: supportsInterfaceReturn = r.into();
6700 r._0
6701 })
6702 }
6703 }
6704 };
6705 #[derive(serde::Serialize, serde::Deserialize)]
6706 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6707 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6712 #[derive(Clone)]
6713 pub struct symbolCall;
6714 #[derive(serde::Serialize, serde::Deserialize)]
6715 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6716 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6718 #[derive(Clone)]
6719 pub struct symbolReturn {
6720 #[allow(missing_docs)]
6721 pub _0: alloy::sol_types::private::String,
6722 }
6723 #[allow(
6724 non_camel_case_types,
6725 non_snake_case,
6726 clippy::pub_underscore_fields,
6727 clippy::style
6728 )]
6729 const _: () = {
6730 use alloy::sol_types as alloy_sol_types;
6731 {
6732 #[doc(hidden)]
6733 type UnderlyingSolTuple<'a> = ();
6734 #[doc(hidden)]
6735 type UnderlyingRustTuple<'a> = ();
6736 #[cfg(test)]
6737 #[allow(dead_code, unreachable_patterns)]
6738 fn _type_assertion(
6739 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6740 ) {
6741 match _t {
6742 alloy_sol_types::private::AssertTypeEq::<
6743 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6744 >(_) => {}
6745 }
6746 }
6747 #[automatically_derived]
6748 #[doc(hidden)]
6749 impl ::core::convert::From<symbolCall> for UnderlyingRustTuple<'_> {
6750 fn from(value: symbolCall) -> Self {
6751 ()
6752 }
6753 }
6754 #[automatically_derived]
6755 #[doc(hidden)]
6756 impl ::core::convert::From<UnderlyingRustTuple<'_>> for symbolCall {
6757 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6758 Self
6759 }
6760 }
6761 }
6762 {
6763 #[doc(hidden)]
6764 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::String,);
6765 #[doc(hidden)]
6766 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::String,);
6767 #[cfg(test)]
6768 #[allow(dead_code, unreachable_patterns)]
6769 fn _type_assertion(
6770 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6771 ) {
6772 match _t {
6773 alloy_sol_types::private::AssertTypeEq::<
6774 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6775 >(_) => {}
6776 }
6777 }
6778 #[automatically_derived]
6779 #[doc(hidden)]
6780 impl ::core::convert::From<symbolReturn> for UnderlyingRustTuple<'_> {
6781 fn from(value: symbolReturn) -> Self {
6782 (value._0,)
6783 }
6784 }
6785 #[automatically_derived]
6786 #[doc(hidden)]
6787 impl ::core::convert::From<UnderlyingRustTuple<'_>> for symbolReturn {
6788 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6789 Self { _0: tuple.0 }
6790 }
6791 }
6792 }
6793 #[automatically_derived]
6794 impl alloy_sol_types::SolCall for symbolCall {
6795 type Parameters<'a> = ();
6796 type Token<'a> = <Self::Parameters<
6797 'a,
6798 > as alloy_sol_types::SolType>::Token<'a>;
6799 type Return = alloy::sol_types::private::String;
6800 type ReturnTuple<'a> = (alloy::sol_types::sol_data::String,);
6801 type ReturnToken<'a> = <Self::ReturnTuple<
6802 'a,
6803 > as alloy_sol_types::SolType>::Token<'a>;
6804 const SIGNATURE: &'static str = "symbol()";
6805 const SELECTOR: [u8; 4] = [149u8, 216u8, 155u8, 65u8];
6806 #[inline]
6807 fn new<'a>(
6808 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6809 ) -> Self {
6810 tuple.into()
6811 }
6812 #[inline]
6813 fn tokenize(&self) -> Self::Token<'_> {
6814 ()
6815 }
6816 #[inline]
6817 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
6818 (
6819 <alloy::sol_types::sol_data::String as alloy_sol_types::SolType>::tokenize(
6820 ret,
6821 ),
6822 )
6823 }
6824 #[inline]
6825 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6826 <Self::ReturnTuple<
6827 '_,
6828 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
6829 .map(|r| {
6830 let r: symbolReturn = r.into();
6831 r._0
6832 })
6833 }
6834 #[inline]
6835 fn abi_decode_returns_validate(
6836 data: &[u8],
6837 ) -> alloy_sol_types::Result<Self::Return> {
6838 <Self::ReturnTuple<
6839 '_,
6840 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
6841 .map(|r| {
6842 let r: symbolReturn = r.into();
6843 r._0
6844 })
6845 }
6846 }
6847 };
6848 #[derive(serde::Serialize, serde::Deserialize)]
6849 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6850 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6855 #[derive(Clone)]
6856 pub struct totalSupplyCall;
6857 #[derive(serde::Serialize, serde::Deserialize)]
6858 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6859 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
6861 #[derive(Clone)]
6862 pub struct totalSupplyReturn {
6863 #[allow(missing_docs)]
6864 pub _0: alloy::sol_types::private::primitives::aliases::U256,
6865 }
6866 #[allow(
6867 non_camel_case_types,
6868 non_snake_case,
6869 clippy::pub_underscore_fields,
6870 clippy::style
6871 )]
6872 const _: () = {
6873 use alloy::sol_types as alloy_sol_types;
6874 {
6875 #[doc(hidden)]
6876 type UnderlyingSolTuple<'a> = ();
6877 #[doc(hidden)]
6878 type UnderlyingRustTuple<'a> = ();
6879 #[cfg(test)]
6880 #[allow(dead_code, unreachable_patterns)]
6881 fn _type_assertion(
6882 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6883 ) {
6884 match _t {
6885 alloy_sol_types::private::AssertTypeEq::<
6886 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6887 >(_) => {}
6888 }
6889 }
6890 #[automatically_derived]
6891 #[doc(hidden)]
6892 impl ::core::convert::From<totalSupplyCall> for UnderlyingRustTuple<'_> {
6893 fn from(value: totalSupplyCall) -> Self {
6894 ()
6895 }
6896 }
6897 #[automatically_derived]
6898 #[doc(hidden)]
6899 impl ::core::convert::From<UnderlyingRustTuple<'_>> for totalSupplyCall {
6900 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6901 Self
6902 }
6903 }
6904 }
6905 {
6906 #[doc(hidden)]
6907 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
6908 #[doc(hidden)]
6909 type UnderlyingRustTuple<'a> = (
6910 alloy::sol_types::private::primitives::aliases::U256,
6911 );
6912 #[cfg(test)]
6913 #[allow(dead_code, unreachable_patterns)]
6914 fn _type_assertion(
6915 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
6916 ) {
6917 match _t {
6918 alloy_sol_types::private::AssertTypeEq::<
6919 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
6920 >(_) => {}
6921 }
6922 }
6923 #[automatically_derived]
6924 #[doc(hidden)]
6925 impl ::core::convert::From<totalSupplyReturn> for UnderlyingRustTuple<'_> {
6926 fn from(value: totalSupplyReturn) -> Self {
6927 (value._0,)
6928 }
6929 }
6930 #[automatically_derived]
6931 #[doc(hidden)]
6932 impl ::core::convert::From<UnderlyingRustTuple<'_>> for totalSupplyReturn {
6933 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
6934 Self { _0: tuple.0 }
6935 }
6936 }
6937 }
6938 #[automatically_derived]
6939 impl alloy_sol_types::SolCall for totalSupplyCall {
6940 type Parameters<'a> = ();
6941 type Token<'a> = <Self::Parameters<
6942 'a,
6943 > as alloy_sol_types::SolType>::Token<'a>;
6944 type Return = alloy::sol_types::private::primitives::aliases::U256;
6945 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
6946 type ReturnToken<'a> = <Self::ReturnTuple<
6947 'a,
6948 > as alloy_sol_types::SolType>::Token<'a>;
6949 const SIGNATURE: &'static str = "totalSupply()";
6950 const SELECTOR: [u8; 4] = [24u8, 22u8, 13u8, 221u8];
6951 #[inline]
6952 fn new<'a>(
6953 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
6954 ) -> Self {
6955 tuple.into()
6956 }
6957 #[inline]
6958 fn tokenize(&self) -> Self::Token<'_> {
6959 ()
6960 }
6961 #[inline]
6962 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
6963 (
6964 <alloy::sol_types::sol_data::Uint<
6965 256,
6966 > as alloy_sol_types::SolType>::tokenize(ret),
6967 )
6968 }
6969 #[inline]
6970 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
6971 <Self::ReturnTuple<
6972 '_,
6973 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
6974 .map(|r| {
6975 let r: totalSupplyReturn = r.into();
6976 r._0
6977 })
6978 }
6979 #[inline]
6980 fn abi_decode_returns_validate(
6981 data: &[u8],
6982 ) -> alloy_sol_types::Result<Self::Return> {
6983 <Self::ReturnTuple<
6984 '_,
6985 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
6986 .map(|r| {
6987 let r: totalSupplyReturn = r.into();
6988 r._0
6989 })
6990 }
6991 }
6992 };
6993 #[derive(serde::Serialize, serde::Deserialize)]
6994 #[derive(Default, Debug, PartialEq, Eq, Hash)]
6995 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7000 #[derive(Clone)]
7001 pub struct totalSupplyAtCall {
7002 #[allow(missing_docs)]
7003 pub _blockNumber: u128,
7004 }
7005 #[derive(serde::Serialize, serde::Deserialize)]
7006 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7007 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7009 #[derive(Clone)]
7010 pub struct totalSupplyAtReturn {
7011 #[allow(missing_docs)]
7012 pub _0: alloy::sol_types::private::primitives::aliases::U256,
7013 }
7014 #[allow(
7015 non_camel_case_types,
7016 non_snake_case,
7017 clippy::pub_underscore_fields,
7018 clippy::style
7019 )]
7020 const _: () = {
7021 use alloy::sol_types as alloy_sol_types;
7022 {
7023 #[doc(hidden)]
7024 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<128>,);
7025 #[doc(hidden)]
7026 type UnderlyingRustTuple<'a> = (u128,);
7027 #[cfg(test)]
7028 #[allow(dead_code, unreachable_patterns)]
7029 fn _type_assertion(
7030 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7031 ) {
7032 match _t {
7033 alloy_sol_types::private::AssertTypeEq::<
7034 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7035 >(_) => {}
7036 }
7037 }
7038 #[automatically_derived]
7039 #[doc(hidden)]
7040 impl ::core::convert::From<totalSupplyAtCall> for UnderlyingRustTuple<'_> {
7041 fn from(value: totalSupplyAtCall) -> Self {
7042 (value._blockNumber,)
7043 }
7044 }
7045 #[automatically_derived]
7046 #[doc(hidden)]
7047 impl ::core::convert::From<UnderlyingRustTuple<'_>> for totalSupplyAtCall {
7048 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7049 Self { _blockNumber: tuple.0 }
7050 }
7051 }
7052 }
7053 {
7054 #[doc(hidden)]
7055 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
7056 #[doc(hidden)]
7057 type UnderlyingRustTuple<'a> = (
7058 alloy::sol_types::private::primitives::aliases::U256,
7059 );
7060 #[cfg(test)]
7061 #[allow(dead_code, unreachable_patterns)]
7062 fn _type_assertion(
7063 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7064 ) {
7065 match _t {
7066 alloy_sol_types::private::AssertTypeEq::<
7067 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7068 >(_) => {}
7069 }
7070 }
7071 #[automatically_derived]
7072 #[doc(hidden)]
7073 impl ::core::convert::From<totalSupplyAtReturn> for UnderlyingRustTuple<'_> {
7074 fn from(value: totalSupplyAtReturn) -> Self {
7075 (value._0,)
7076 }
7077 }
7078 #[automatically_derived]
7079 #[doc(hidden)]
7080 impl ::core::convert::From<UnderlyingRustTuple<'_>> for totalSupplyAtReturn {
7081 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7082 Self { _0: tuple.0 }
7083 }
7084 }
7085 }
7086 #[automatically_derived]
7087 impl alloy_sol_types::SolCall for totalSupplyAtCall {
7088 type Parameters<'a> = (alloy::sol_types::sol_data::Uint<128>,);
7089 type Token<'a> = <Self::Parameters<
7090 'a,
7091 > as alloy_sol_types::SolType>::Token<'a>;
7092 type Return = alloy::sol_types::private::primitives::aliases::U256;
7093 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
7094 type ReturnToken<'a> = <Self::ReturnTuple<
7095 'a,
7096 > as alloy_sol_types::SolType>::Token<'a>;
7097 const SIGNATURE: &'static str = "totalSupplyAt(uint128)";
7098 const SELECTOR: [u8; 4] = [148u8, 121u8, 117u8, 217u8];
7099 #[inline]
7100 fn new<'a>(
7101 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7102 ) -> Self {
7103 tuple.into()
7104 }
7105 #[inline]
7106 fn tokenize(&self) -> Self::Token<'_> {
7107 (
7108 <alloy::sol_types::sol_data::Uint<
7109 128,
7110 > as alloy_sol_types::SolType>::tokenize(&self._blockNumber),
7111 )
7112 }
7113 #[inline]
7114 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
7115 (
7116 <alloy::sol_types::sol_data::Uint<
7117 256,
7118 > as alloy_sol_types::SolType>::tokenize(ret),
7119 )
7120 }
7121 #[inline]
7122 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7123 <Self::ReturnTuple<
7124 '_,
7125 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
7126 .map(|r| {
7127 let r: totalSupplyAtReturn = r.into();
7128 r._0
7129 })
7130 }
7131 #[inline]
7132 fn abi_decode_returns_validate(
7133 data: &[u8],
7134 ) -> alloy_sol_types::Result<Self::Return> {
7135 <Self::ReturnTuple<
7136 '_,
7137 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
7138 .map(|r| {
7139 let r: totalSupplyAtReturn = r.into();
7140 r._0
7141 })
7142 }
7143 }
7144 };
7145 #[derive(serde::Serialize, serde::Deserialize)]
7146 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7147 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7152 #[derive(Clone)]
7153 pub struct totalSupplySnapshotsCall(
7154 pub alloy::sol_types::private::primitives::aliases::U256,
7155 );
7156 #[derive(serde::Serialize, serde::Deserialize)]
7157 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7158 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7160 #[derive(Clone)]
7161 pub struct totalSupplySnapshotsReturn {
7162 #[allow(missing_docs)]
7163 pub fromBlock: u128,
7164 #[allow(missing_docs)]
7165 pub value: u128,
7166 }
7167 #[allow(
7168 non_camel_case_types,
7169 non_snake_case,
7170 clippy::pub_underscore_fields,
7171 clippy::style
7172 )]
7173 const _: () = {
7174 use alloy::sol_types as alloy_sol_types;
7175 {
7176 #[doc(hidden)]
7177 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Uint<256>,);
7178 #[doc(hidden)]
7179 type UnderlyingRustTuple<'a> = (
7180 alloy::sol_types::private::primitives::aliases::U256,
7181 );
7182 #[cfg(test)]
7183 #[allow(dead_code, unreachable_patterns)]
7184 fn _type_assertion(
7185 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7186 ) {
7187 match _t {
7188 alloy_sol_types::private::AssertTypeEq::<
7189 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7190 >(_) => {}
7191 }
7192 }
7193 #[automatically_derived]
7194 #[doc(hidden)]
7195 impl ::core::convert::From<totalSupplySnapshotsCall>
7196 for UnderlyingRustTuple<'_> {
7197 fn from(value: totalSupplySnapshotsCall) -> Self {
7198 (value.0,)
7199 }
7200 }
7201 #[automatically_derived]
7202 #[doc(hidden)]
7203 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7204 for totalSupplySnapshotsCall {
7205 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7206 Self(tuple.0)
7207 }
7208 }
7209 }
7210 {
7211 #[doc(hidden)]
7212 type UnderlyingSolTuple<'a> = (
7213 alloy::sol_types::sol_data::Uint<128>,
7214 alloy::sol_types::sol_data::Uint<128>,
7215 );
7216 #[doc(hidden)]
7217 type UnderlyingRustTuple<'a> = (u128, u128);
7218 #[cfg(test)]
7219 #[allow(dead_code, unreachable_patterns)]
7220 fn _type_assertion(
7221 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7222 ) {
7223 match _t {
7224 alloy_sol_types::private::AssertTypeEq::<
7225 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7226 >(_) => {}
7227 }
7228 }
7229 #[automatically_derived]
7230 #[doc(hidden)]
7231 impl ::core::convert::From<totalSupplySnapshotsReturn>
7232 for UnderlyingRustTuple<'_> {
7233 fn from(value: totalSupplySnapshotsReturn) -> Self {
7234 (value.fromBlock, value.value)
7235 }
7236 }
7237 #[automatically_derived]
7238 #[doc(hidden)]
7239 impl ::core::convert::From<UnderlyingRustTuple<'_>>
7240 for totalSupplySnapshotsReturn {
7241 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7242 Self {
7243 fromBlock: tuple.0,
7244 value: tuple.1,
7245 }
7246 }
7247 }
7248 }
7249 impl totalSupplySnapshotsReturn {
7250 fn _tokenize(
7251 &self,
7252 ) -> <totalSupplySnapshotsCall as alloy_sol_types::SolCall>::ReturnToken<
7253 '_,
7254 > {
7255 (
7256 <alloy::sol_types::sol_data::Uint<
7257 128,
7258 > as alloy_sol_types::SolType>::tokenize(&self.fromBlock),
7259 <alloy::sol_types::sol_data::Uint<
7260 128,
7261 > as alloy_sol_types::SolType>::tokenize(&self.value),
7262 )
7263 }
7264 }
7265 #[automatically_derived]
7266 impl alloy_sol_types::SolCall for totalSupplySnapshotsCall {
7267 type Parameters<'a> = (alloy::sol_types::sol_data::Uint<256>,);
7268 type Token<'a> = <Self::Parameters<
7269 'a,
7270 > as alloy_sol_types::SolType>::Token<'a>;
7271 type Return = totalSupplySnapshotsReturn;
7272 type ReturnTuple<'a> = (
7273 alloy::sol_types::sol_data::Uint<128>,
7274 alloy::sol_types::sol_data::Uint<128>,
7275 );
7276 type ReturnToken<'a> = <Self::ReturnTuple<
7277 'a,
7278 > as alloy_sol_types::SolType>::Token<'a>;
7279 const SIGNATURE: &'static str = "totalSupplySnapshots(uint256)";
7280 const SELECTOR: [u8; 4] = [183u8, 215u8, 139u8, 26u8];
7281 #[inline]
7282 fn new<'a>(
7283 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7284 ) -> Self {
7285 tuple.into()
7286 }
7287 #[inline]
7288 fn tokenize(&self) -> Self::Token<'_> {
7289 (
7290 <alloy::sol_types::sol_data::Uint<
7291 256,
7292 > as alloy_sol_types::SolType>::tokenize(&self.0),
7293 )
7294 }
7295 #[inline]
7296 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
7297 totalSupplySnapshotsReturn::_tokenize(ret)
7298 }
7299 #[inline]
7300 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7301 <Self::ReturnTuple<
7302 '_,
7303 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
7304 .map(Into::into)
7305 }
7306 #[inline]
7307 fn abi_decode_returns_validate(
7308 data: &[u8],
7309 ) -> alloy_sol_types::Result<Self::Return> {
7310 <Self::ReturnTuple<
7311 '_,
7312 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
7313 .map(Into::into)
7314 }
7315 }
7316 };
7317 #[derive(serde::Serialize, serde::Deserialize)]
7318 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7319 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7324 #[derive(Clone)]
7325 pub struct transferCall {
7326 #[allow(missing_docs)]
7327 pub recipient: alloy::sol_types::private::Address,
7328 #[allow(missing_docs)]
7329 pub amount: alloy::sol_types::private::primitives::aliases::U256,
7330 }
7331 #[derive(serde::Serialize, serde::Deserialize)]
7332 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7333 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7335 #[derive(Clone)]
7336 pub struct transferReturn {
7337 #[allow(missing_docs)]
7338 pub _0: bool,
7339 }
7340 #[allow(
7341 non_camel_case_types,
7342 non_snake_case,
7343 clippy::pub_underscore_fields,
7344 clippy::style
7345 )]
7346 const _: () = {
7347 use alloy::sol_types as alloy_sol_types;
7348 {
7349 #[doc(hidden)]
7350 type UnderlyingSolTuple<'a> = (
7351 alloy::sol_types::sol_data::Address,
7352 alloy::sol_types::sol_data::Uint<256>,
7353 );
7354 #[doc(hidden)]
7355 type UnderlyingRustTuple<'a> = (
7356 alloy::sol_types::private::Address,
7357 alloy::sol_types::private::primitives::aliases::U256,
7358 );
7359 #[cfg(test)]
7360 #[allow(dead_code, unreachable_patterns)]
7361 fn _type_assertion(
7362 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7363 ) {
7364 match _t {
7365 alloy_sol_types::private::AssertTypeEq::<
7366 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7367 >(_) => {}
7368 }
7369 }
7370 #[automatically_derived]
7371 #[doc(hidden)]
7372 impl ::core::convert::From<transferCall> for UnderlyingRustTuple<'_> {
7373 fn from(value: transferCall) -> Self {
7374 (value.recipient, value.amount)
7375 }
7376 }
7377 #[automatically_derived]
7378 #[doc(hidden)]
7379 impl ::core::convert::From<UnderlyingRustTuple<'_>> for transferCall {
7380 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7381 Self {
7382 recipient: tuple.0,
7383 amount: tuple.1,
7384 }
7385 }
7386 }
7387 }
7388 {
7389 #[doc(hidden)]
7390 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Bool,);
7391 #[doc(hidden)]
7392 type UnderlyingRustTuple<'a> = (bool,);
7393 #[cfg(test)]
7394 #[allow(dead_code, unreachable_patterns)]
7395 fn _type_assertion(
7396 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7397 ) {
7398 match _t {
7399 alloy_sol_types::private::AssertTypeEq::<
7400 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7401 >(_) => {}
7402 }
7403 }
7404 #[automatically_derived]
7405 #[doc(hidden)]
7406 impl ::core::convert::From<transferReturn> for UnderlyingRustTuple<'_> {
7407 fn from(value: transferReturn) -> Self {
7408 (value._0,)
7409 }
7410 }
7411 #[automatically_derived]
7412 #[doc(hidden)]
7413 impl ::core::convert::From<UnderlyingRustTuple<'_>> for transferReturn {
7414 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7415 Self { _0: tuple.0 }
7416 }
7417 }
7418 }
7419 #[automatically_derived]
7420 impl alloy_sol_types::SolCall for transferCall {
7421 type Parameters<'a> = (
7422 alloy::sol_types::sol_data::Address,
7423 alloy::sol_types::sol_data::Uint<256>,
7424 );
7425 type Token<'a> = <Self::Parameters<
7426 'a,
7427 > as alloy_sol_types::SolType>::Token<'a>;
7428 type Return = bool;
7429 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Bool,);
7430 type ReturnToken<'a> = <Self::ReturnTuple<
7431 'a,
7432 > as alloy_sol_types::SolType>::Token<'a>;
7433 const SIGNATURE: &'static str = "transfer(address,uint256)";
7434 const SELECTOR: [u8; 4] = [169u8, 5u8, 156u8, 187u8];
7435 #[inline]
7436 fn new<'a>(
7437 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7438 ) -> Self {
7439 tuple.into()
7440 }
7441 #[inline]
7442 fn tokenize(&self) -> Self::Token<'_> {
7443 (
7444 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
7445 &self.recipient,
7446 ),
7447 <alloy::sol_types::sol_data::Uint<
7448 256,
7449 > as alloy_sol_types::SolType>::tokenize(&self.amount),
7450 )
7451 }
7452 #[inline]
7453 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
7454 (
7455 <alloy::sol_types::sol_data::Bool as alloy_sol_types::SolType>::tokenize(
7456 ret,
7457 ),
7458 )
7459 }
7460 #[inline]
7461 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7462 <Self::ReturnTuple<
7463 '_,
7464 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
7465 .map(|r| {
7466 let r: transferReturn = r.into();
7467 r._0
7468 })
7469 }
7470 #[inline]
7471 fn abi_decode_returns_validate(
7472 data: &[u8],
7473 ) -> alloy_sol_types::Result<Self::Return> {
7474 <Self::ReturnTuple<
7475 '_,
7476 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
7477 .map(|r| {
7478 let r: transferReturn = r.into();
7479 r._0
7480 })
7481 }
7482 }
7483 };
7484 #[derive(serde::Serialize, serde::Deserialize)]
7485 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7486 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7491 #[derive(Clone)]
7492 pub struct transferFromCall {
7493 #[allow(missing_docs)]
7494 pub holder: alloy::sol_types::private::Address,
7495 #[allow(missing_docs)]
7496 pub recipient: alloy::sol_types::private::Address,
7497 #[allow(missing_docs)]
7498 pub amount: alloy::sol_types::private::primitives::aliases::U256,
7499 }
7500 #[derive(serde::Serialize, serde::Deserialize)]
7501 #[derive(Default, Debug, PartialEq, Eq, Hash)]
7502 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
7504 #[derive(Clone)]
7505 pub struct transferFromReturn {
7506 #[allow(missing_docs)]
7507 pub _0: bool,
7508 }
7509 #[allow(
7510 non_camel_case_types,
7511 non_snake_case,
7512 clippy::pub_underscore_fields,
7513 clippy::style
7514 )]
7515 const _: () = {
7516 use alloy::sol_types as alloy_sol_types;
7517 {
7518 #[doc(hidden)]
7519 type UnderlyingSolTuple<'a> = (
7520 alloy::sol_types::sol_data::Address,
7521 alloy::sol_types::sol_data::Address,
7522 alloy::sol_types::sol_data::Uint<256>,
7523 );
7524 #[doc(hidden)]
7525 type UnderlyingRustTuple<'a> = (
7526 alloy::sol_types::private::Address,
7527 alloy::sol_types::private::Address,
7528 alloy::sol_types::private::primitives::aliases::U256,
7529 );
7530 #[cfg(test)]
7531 #[allow(dead_code, unreachable_patterns)]
7532 fn _type_assertion(
7533 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7534 ) {
7535 match _t {
7536 alloy_sol_types::private::AssertTypeEq::<
7537 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7538 >(_) => {}
7539 }
7540 }
7541 #[automatically_derived]
7542 #[doc(hidden)]
7543 impl ::core::convert::From<transferFromCall> for UnderlyingRustTuple<'_> {
7544 fn from(value: transferFromCall) -> Self {
7545 (value.holder, value.recipient, value.amount)
7546 }
7547 }
7548 #[automatically_derived]
7549 #[doc(hidden)]
7550 impl ::core::convert::From<UnderlyingRustTuple<'_>> for transferFromCall {
7551 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7552 Self {
7553 holder: tuple.0,
7554 recipient: tuple.1,
7555 amount: tuple.2,
7556 }
7557 }
7558 }
7559 }
7560 {
7561 #[doc(hidden)]
7562 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Bool,);
7563 #[doc(hidden)]
7564 type UnderlyingRustTuple<'a> = (bool,);
7565 #[cfg(test)]
7566 #[allow(dead_code, unreachable_patterns)]
7567 fn _type_assertion(
7568 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
7569 ) {
7570 match _t {
7571 alloy_sol_types::private::AssertTypeEq::<
7572 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
7573 >(_) => {}
7574 }
7575 }
7576 #[automatically_derived]
7577 #[doc(hidden)]
7578 impl ::core::convert::From<transferFromReturn> for UnderlyingRustTuple<'_> {
7579 fn from(value: transferFromReturn) -> Self {
7580 (value._0,)
7581 }
7582 }
7583 #[automatically_derived]
7584 #[doc(hidden)]
7585 impl ::core::convert::From<UnderlyingRustTuple<'_>> for transferFromReturn {
7586 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
7587 Self { _0: tuple.0 }
7588 }
7589 }
7590 }
7591 #[automatically_derived]
7592 impl alloy_sol_types::SolCall for transferFromCall {
7593 type Parameters<'a> = (
7594 alloy::sol_types::sol_data::Address,
7595 alloy::sol_types::sol_data::Address,
7596 alloy::sol_types::sol_data::Uint<256>,
7597 );
7598 type Token<'a> = <Self::Parameters<
7599 'a,
7600 > as alloy_sol_types::SolType>::Token<'a>;
7601 type Return = bool;
7602 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Bool,);
7603 type ReturnToken<'a> = <Self::ReturnTuple<
7604 'a,
7605 > as alloy_sol_types::SolType>::Token<'a>;
7606 const SIGNATURE: &'static str = "transferFrom(address,address,uint256)";
7607 const SELECTOR: [u8; 4] = [35u8, 184u8, 114u8, 221u8];
7608 #[inline]
7609 fn new<'a>(
7610 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
7611 ) -> Self {
7612 tuple.into()
7613 }
7614 #[inline]
7615 fn tokenize(&self) -> Self::Token<'_> {
7616 (
7617 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
7618 &self.holder,
7619 ),
7620 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
7621 &self.recipient,
7622 ),
7623 <alloy::sol_types::sol_data::Uint<
7624 256,
7625 > as alloy_sol_types::SolType>::tokenize(&self.amount),
7626 )
7627 }
7628 #[inline]
7629 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
7630 (
7631 <alloy::sol_types::sol_data::Bool as alloy_sol_types::SolType>::tokenize(
7632 ret,
7633 ),
7634 )
7635 }
7636 #[inline]
7637 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
7638 <Self::ReturnTuple<
7639 '_,
7640 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
7641 .map(|r| {
7642 let r: transferFromReturn = r.into();
7643 r._0
7644 })
7645 }
7646 #[inline]
7647 fn abi_decode_returns_validate(
7648 data: &[u8],
7649 ) -> alloy_sol_types::Result<Self::Return> {
7650 <Self::ReturnTuple<
7651 '_,
7652 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
7653 .map(|r| {
7654 let r: transferFromReturn = r.into();
7655 r._0
7656 })
7657 }
7658 }
7659 };
7660 #[derive(serde::Serialize, serde::Deserialize)]
7662 #[derive()]
7663 pub enum HoprTokenCalls {
7664 #[allow(missing_docs)]
7665 DEFAULT_ADMIN_ROLE(DEFAULT_ADMIN_ROLECall),
7666 #[allow(missing_docs)]
7667 MINTER_ROLE(MINTER_ROLECall),
7668 #[allow(missing_docs)]
7669 accountSnapshots(accountSnapshotsCall),
7670 #[allow(missing_docs)]
7671 allowance(allowanceCall),
7672 #[allow(missing_docs)]
7673 approve(approveCall),
7674 #[allow(missing_docs)]
7675 authorizeOperator(authorizeOperatorCall),
7676 #[allow(missing_docs)]
7677 balanceOf(balanceOfCall),
7678 #[allow(missing_docs)]
7679 balanceOfAt(balanceOfAtCall),
7680 #[allow(missing_docs)]
7681 burn(burnCall),
7682 #[allow(missing_docs)]
7683 decimals(decimalsCall),
7684 #[allow(missing_docs)]
7685 defaultOperators(defaultOperatorsCall),
7686 #[allow(missing_docs)]
7687 getRoleAdmin(getRoleAdminCall),
7688 #[allow(missing_docs)]
7689 getRoleMember(getRoleMemberCall),
7690 #[allow(missing_docs)]
7691 getRoleMemberCount(getRoleMemberCountCall),
7692 #[allow(missing_docs)]
7693 grantRole(grantRoleCall),
7694 #[allow(missing_docs)]
7695 granularity(granularityCall),
7696 #[allow(missing_docs)]
7697 hasRole(hasRoleCall),
7698 #[allow(missing_docs)]
7699 isOperatorFor(isOperatorForCall),
7700 #[allow(missing_docs)]
7701 mint(mintCall),
7702 #[allow(missing_docs)]
7703 name(nameCall),
7704 #[allow(missing_docs)]
7705 operatorBurn(operatorBurnCall),
7706 #[allow(missing_docs)]
7707 operatorSend(operatorSendCall),
7708 #[allow(missing_docs)]
7709 renounceRole(renounceRoleCall),
7710 #[allow(missing_docs)]
7711 revokeOperator(revokeOperatorCall),
7712 #[allow(missing_docs)]
7713 revokeRole(revokeRoleCall),
7714 #[allow(missing_docs)]
7715 send(sendCall),
7716 #[allow(missing_docs)]
7717 supportsInterface(supportsInterfaceCall),
7718 #[allow(missing_docs)]
7719 symbol(symbolCall),
7720 #[allow(missing_docs)]
7721 totalSupply(totalSupplyCall),
7722 #[allow(missing_docs)]
7723 totalSupplyAt(totalSupplyAtCall),
7724 #[allow(missing_docs)]
7725 totalSupplySnapshots(totalSupplySnapshotsCall),
7726 #[allow(missing_docs)]
7727 transfer(transferCall),
7728 #[allow(missing_docs)]
7729 transferFrom(transferFromCall),
7730 }
7731 #[automatically_derived]
7732 impl HoprTokenCalls {
7733 pub const SELECTORS: &'static [[u8; 4usize]] = &[
7740 [1u8, 255u8, 201u8, 167u8],
7741 [6u8, 228u8, 133u8, 56u8],
7742 [6u8, 253u8, 222u8, 3u8],
7743 [9u8, 94u8, 167u8, 179u8],
7744 [24u8, 22u8, 13u8, 221u8],
7745 [35u8, 184u8, 114u8, 221u8],
7746 [36u8, 138u8, 156u8, 163u8],
7747 [36u8, 151u8, 174u8, 230u8],
7748 [47u8, 47u8, 241u8, 93u8],
7749 [49u8, 60u8, 229u8, 103u8],
7750 [54u8, 86u8, 138u8, 190u8],
7751 [85u8, 111u8, 13u8, 199u8],
7752 [98u8, 173u8, 27u8, 131u8],
7753 [112u8, 160u8, 130u8, 49u8],
7754 [144u8, 16u8, 208u8, 124u8],
7755 [145u8, 209u8, 72u8, 84u8],
7756 [148u8, 121u8, 117u8, 217u8],
7757 [149u8, 155u8, 140u8, 63u8],
7758 [149u8, 216u8, 155u8, 65u8],
7759 [155u8, 217u8, 187u8, 198u8],
7760 [162u8, 23u8, 253u8, 223u8],
7761 [169u8, 5u8, 156u8, 187u8],
7762 [183u8, 215u8, 139u8, 26u8],
7763 [202u8, 21u8, 200u8, 115u8],
7764 [213u8, 57u8, 19u8, 147u8],
7765 [213u8, 71u8, 116u8, 31u8],
7766 [217u8, 91u8, 99u8, 113u8],
7767 [220u8, 220u8, 125u8, 208u8],
7768 [221u8, 98u8, 237u8, 62u8],
7769 [247u8, 114u8, 160u8, 146u8],
7770 [250u8, 216u8, 179u8, 42u8],
7771 [252u8, 103u8, 60u8, 79u8],
7772 [254u8, 157u8, 147u8, 3u8],
7773 ];
7774 }
7775 #[automatically_derived]
7776 impl alloy_sol_types::SolInterface for HoprTokenCalls {
7777 const NAME: &'static str = "HoprTokenCalls";
7778 const MIN_DATA_LENGTH: usize = 0usize;
7779 const COUNT: usize = 33usize;
7780 #[inline]
7781 fn selector(&self) -> [u8; 4] {
7782 match self {
7783 Self::DEFAULT_ADMIN_ROLE(_) => {
7784 <DEFAULT_ADMIN_ROLECall as alloy_sol_types::SolCall>::SELECTOR
7785 }
7786 Self::MINTER_ROLE(_) => {
7787 <MINTER_ROLECall as alloy_sol_types::SolCall>::SELECTOR
7788 }
7789 Self::accountSnapshots(_) => {
7790 <accountSnapshotsCall as alloy_sol_types::SolCall>::SELECTOR
7791 }
7792 Self::allowance(_) => {
7793 <allowanceCall as alloy_sol_types::SolCall>::SELECTOR
7794 }
7795 Self::approve(_) => <approveCall as alloy_sol_types::SolCall>::SELECTOR,
7796 Self::authorizeOperator(_) => {
7797 <authorizeOperatorCall as alloy_sol_types::SolCall>::SELECTOR
7798 }
7799 Self::balanceOf(_) => {
7800 <balanceOfCall as alloy_sol_types::SolCall>::SELECTOR
7801 }
7802 Self::balanceOfAt(_) => {
7803 <balanceOfAtCall as alloy_sol_types::SolCall>::SELECTOR
7804 }
7805 Self::burn(_) => <burnCall as alloy_sol_types::SolCall>::SELECTOR,
7806 Self::decimals(_) => <decimalsCall as alloy_sol_types::SolCall>::SELECTOR,
7807 Self::defaultOperators(_) => {
7808 <defaultOperatorsCall as alloy_sol_types::SolCall>::SELECTOR
7809 }
7810 Self::getRoleAdmin(_) => {
7811 <getRoleAdminCall as alloy_sol_types::SolCall>::SELECTOR
7812 }
7813 Self::getRoleMember(_) => {
7814 <getRoleMemberCall as alloy_sol_types::SolCall>::SELECTOR
7815 }
7816 Self::getRoleMemberCount(_) => {
7817 <getRoleMemberCountCall as alloy_sol_types::SolCall>::SELECTOR
7818 }
7819 Self::grantRole(_) => {
7820 <grantRoleCall as alloy_sol_types::SolCall>::SELECTOR
7821 }
7822 Self::granularity(_) => {
7823 <granularityCall as alloy_sol_types::SolCall>::SELECTOR
7824 }
7825 Self::hasRole(_) => <hasRoleCall as alloy_sol_types::SolCall>::SELECTOR,
7826 Self::isOperatorFor(_) => {
7827 <isOperatorForCall as alloy_sol_types::SolCall>::SELECTOR
7828 }
7829 Self::mint(_) => <mintCall as alloy_sol_types::SolCall>::SELECTOR,
7830 Self::name(_) => <nameCall as alloy_sol_types::SolCall>::SELECTOR,
7831 Self::operatorBurn(_) => {
7832 <operatorBurnCall as alloy_sol_types::SolCall>::SELECTOR
7833 }
7834 Self::operatorSend(_) => {
7835 <operatorSendCall as alloy_sol_types::SolCall>::SELECTOR
7836 }
7837 Self::renounceRole(_) => {
7838 <renounceRoleCall as alloy_sol_types::SolCall>::SELECTOR
7839 }
7840 Self::revokeOperator(_) => {
7841 <revokeOperatorCall as alloy_sol_types::SolCall>::SELECTOR
7842 }
7843 Self::revokeRole(_) => {
7844 <revokeRoleCall as alloy_sol_types::SolCall>::SELECTOR
7845 }
7846 Self::send(_) => <sendCall as alloy_sol_types::SolCall>::SELECTOR,
7847 Self::supportsInterface(_) => {
7848 <supportsInterfaceCall as alloy_sol_types::SolCall>::SELECTOR
7849 }
7850 Self::symbol(_) => <symbolCall as alloy_sol_types::SolCall>::SELECTOR,
7851 Self::totalSupply(_) => {
7852 <totalSupplyCall as alloy_sol_types::SolCall>::SELECTOR
7853 }
7854 Self::totalSupplyAt(_) => {
7855 <totalSupplyAtCall as alloy_sol_types::SolCall>::SELECTOR
7856 }
7857 Self::totalSupplySnapshots(_) => {
7858 <totalSupplySnapshotsCall as alloy_sol_types::SolCall>::SELECTOR
7859 }
7860 Self::transfer(_) => <transferCall as alloy_sol_types::SolCall>::SELECTOR,
7861 Self::transferFrom(_) => {
7862 <transferFromCall as alloy_sol_types::SolCall>::SELECTOR
7863 }
7864 }
7865 }
7866 #[inline]
7867 fn selector_at(i: usize) -> ::core::option::Option<[u8; 4]> {
7868 Self::SELECTORS.get(i).copied()
7869 }
7870 #[inline]
7871 fn valid_selector(selector: [u8; 4]) -> bool {
7872 Self::SELECTORS.binary_search(&selector).is_ok()
7873 }
7874 #[inline]
7875 #[allow(non_snake_case)]
7876 fn abi_decode_raw(
7877 selector: [u8; 4],
7878 data: &[u8],
7879 ) -> alloy_sol_types::Result<Self> {
7880 static DECODE_SHIMS: &[fn(
7881 &[u8],
7882 ) -> alloy_sol_types::Result<HoprTokenCalls>] = &[
7883 {
7884 fn supportsInterface(
7885 data: &[u8],
7886 ) -> alloy_sol_types::Result<HoprTokenCalls> {
7887 <supportsInterfaceCall as alloy_sol_types::SolCall>::abi_decode_raw(
7888 data,
7889 )
7890 .map(HoprTokenCalls::supportsInterface)
7891 }
7892 supportsInterface
7893 },
7894 {
7895 fn defaultOperators(
7896 data: &[u8],
7897 ) -> alloy_sol_types::Result<HoprTokenCalls> {
7898 <defaultOperatorsCall as alloy_sol_types::SolCall>::abi_decode_raw(
7899 data,
7900 )
7901 .map(HoprTokenCalls::defaultOperators)
7902 }
7903 defaultOperators
7904 },
7905 {
7906 fn name(data: &[u8]) -> alloy_sol_types::Result<HoprTokenCalls> {
7907 <nameCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
7908 .map(HoprTokenCalls::name)
7909 }
7910 name
7911 },
7912 {
7913 fn approve(data: &[u8]) -> alloy_sol_types::Result<HoprTokenCalls> {
7914 <approveCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
7915 .map(HoprTokenCalls::approve)
7916 }
7917 approve
7918 },
7919 {
7920 fn totalSupply(
7921 data: &[u8],
7922 ) -> alloy_sol_types::Result<HoprTokenCalls> {
7923 <totalSupplyCall as alloy_sol_types::SolCall>::abi_decode_raw(
7924 data,
7925 )
7926 .map(HoprTokenCalls::totalSupply)
7927 }
7928 totalSupply
7929 },
7930 {
7931 fn transferFrom(
7932 data: &[u8],
7933 ) -> alloy_sol_types::Result<HoprTokenCalls> {
7934 <transferFromCall as alloy_sol_types::SolCall>::abi_decode_raw(
7935 data,
7936 )
7937 .map(HoprTokenCalls::transferFrom)
7938 }
7939 transferFrom
7940 },
7941 {
7942 fn getRoleAdmin(
7943 data: &[u8],
7944 ) -> alloy_sol_types::Result<HoprTokenCalls> {
7945 <getRoleAdminCall as alloy_sol_types::SolCall>::abi_decode_raw(
7946 data,
7947 )
7948 .map(HoprTokenCalls::getRoleAdmin)
7949 }
7950 getRoleAdmin
7951 },
7952 {
7953 fn accountSnapshots(
7954 data: &[u8],
7955 ) -> alloy_sol_types::Result<HoprTokenCalls> {
7956 <accountSnapshotsCall as alloy_sol_types::SolCall>::abi_decode_raw(
7957 data,
7958 )
7959 .map(HoprTokenCalls::accountSnapshots)
7960 }
7961 accountSnapshots
7962 },
7963 {
7964 fn grantRole(
7965 data: &[u8],
7966 ) -> alloy_sol_types::Result<HoprTokenCalls> {
7967 <grantRoleCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
7968 .map(HoprTokenCalls::grantRole)
7969 }
7970 grantRole
7971 },
7972 {
7973 fn decimals(data: &[u8]) -> alloy_sol_types::Result<HoprTokenCalls> {
7974 <decimalsCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
7975 .map(HoprTokenCalls::decimals)
7976 }
7977 decimals
7978 },
7979 {
7980 fn renounceRole(
7981 data: &[u8],
7982 ) -> alloy_sol_types::Result<HoprTokenCalls> {
7983 <renounceRoleCall as alloy_sol_types::SolCall>::abi_decode_raw(
7984 data,
7985 )
7986 .map(HoprTokenCalls::renounceRole)
7987 }
7988 renounceRole
7989 },
7990 {
7991 fn granularity(
7992 data: &[u8],
7993 ) -> alloy_sol_types::Result<HoprTokenCalls> {
7994 <granularityCall as alloy_sol_types::SolCall>::abi_decode_raw(
7995 data,
7996 )
7997 .map(HoprTokenCalls::granularity)
7998 }
7999 granularity
8000 },
8001 {
8002 fn operatorSend(
8003 data: &[u8],
8004 ) -> alloy_sol_types::Result<HoprTokenCalls> {
8005 <operatorSendCall as alloy_sol_types::SolCall>::abi_decode_raw(
8006 data,
8007 )
8008 .map(HoprTokenCalls::operatorSend)
8009 }
8010 operatorSend
8011 },
8012 {
8013 fn balanceOf(
8014 data: &[u8],
8015 ) -> alloy_sol_types::Result<HoprTokenCalls> {
8016 <balanceOfCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
8017 .map(HoprTokenCalls::balanceOf)
8018 }
8019 balanceOf
8020 },
8021 {
8022 fn getRoleMember(
8023 data: &[u8],
8024 ) -> alloy_sol_types::Result<HoprTokenCalls> {
8025 <getRoleMemberCall as alloy_sol_types::SolCall>::abi_decode_raw(
8026 data,
8027 )
8028 .map(HoprTokenCalls::getRoleMember)
8029 }
8030 getRoleMember
8031 },
8032 {
8033 fn hasRole(data: &[u8]) -> alloy_sol_types::Result<HoprTokenCalls> {
8034 <hasRoleCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
8035 .map(HoprTokenCalls::hasRole)
8036 }
8037 hasRole
8038 },
8039 {
8040 fn totalSupplyAt(
8041 data: &[u8],
8042 ) -> alloy_sol_types::Result<HoprTokenCalls> {
8043 <totalSupplyAtCall as alloy_sol_types::SolCall>::abi_decode_raw(
8044 data,
8045 )
8046 .map(HoprTokenCalls::totalSupplyAt)
8047 }
8048 totalSupplyAt
8049 },
8050 {
8051 fn authorizeOperator(
8052 data: &[u8],
8053 ) -> alloy_sol_types::Result<HoprTokenCalls> {
8054 <authorizeOperatorCall as alloy_sol_types::SolCall>::abi_decode_raw(
8055 data,
8056 )
8057 .map(HoprTokenCalls::authorizeOperator)
8058 }
8059 authorizeOperator
8060 },
8061 {
8062 fn symbol(data: &[u8]) -> alloy_sol_types::Result<HoprTokenCalls> {
8063 <symbolCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
8064 .map(HoprTokenCalls::symbol)
8065 }
8066 symbol
8067 },
8068 {
8069 fn send(data: &[u8]) -> alloy_sol_types::Result<HoprTokenCalls> {
8070 <sendCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
8071 .map(HoprTokenCalls::send)
8072 }
8073 send
8074 },
8075 {
8076 fn DEFAULT_ADMIN_ROLE(
8077 data: &[u8],
8078 ) -> alloy_sol_types::Result<HoprTokenCalls> {
8079 <DEFAULT_ADMIN_ROLECall as alloy_sol_types::SolCall>::abi_decode_raw(
8080 data,
8081 )
8082 .map(HoprTokenCalls::DEFAULT_ADMIN_ROLE)
8083 }
8084 DEFAULT_ADMIN_ROLE
8085 },
8086 {
8087 fn transfer(data: &[u8]) -> alloy_sol_types::Result<HoprTokenCalls> {
8088 <transferCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
8089 .map(HoprTokenCalls::transfer)
8090 }
8091 transfer
8092 },
8093 {
8094 fn totalSupplySnapshots(
8095 data: &[u8],
8096 ) -> alloy_sol_types::Result<HoprTokenCalls> {
8097 <totalSupplySnapshotsCall as alloy_sol_types::SolCall>::abi_decode_raw(
8098 data,
8099 )
8100 .map(HoprTokenCalls::totalSupplySnapshots)
8101 }
8102 totalSupplySnapshots
8103 },
8104 {
8105 fn getRoleMemberCount(
8106 data: &[u8],
8107 ) -> alloy_sol_types::Result<HoprTokenCalls> {
8108 <getRoleMemberCountCall as alloy_sol_types::SolCall>::abi_decode_raw(
8109 data,
8110 )
8111 .map(HoprTokenCalls::getRoleMemberCount)
8112 }
8113 getRoleMemberCount
8114 },
8115 {
8116 fn MINTER_ROLE(
8117 data: &[u8],
8118 ) -> alloy_sol_types::Result<HoprTokenCalls> {
8119 <MINTER_ROLECall as alloy_sol_types::SolCall>::abi_decode_raw(
8120 data,
8121 )
8122 .map(HoprTokenCalls::MINTER_ROLE)
8123 }
8124 MINTER_ROLE
8125 },
8126 {
8127 fn revokeRole(
8128 data: &[u8],
8129 ) -> alloy_sol_types::Result<HoprTokenCalls> {
8130 <revokeRoleCall as alloy_sol_types::SolCall>::abi_decode_raw(
8131 data,
8132 )
8133 .map(HoprTokenCalls::revokeRole)
8134 }
8135 revokeRole
8136 },
8137 {
8138 fn isOperatorFor(
8139 data: &[u8],
8140 ) -> alloy_sol_types::Result<HoprTokenCalls> {
8141 <isOperatorForCall as alloy_sol_types::SolCall>::abi_decode_raw(
8142 data,
8143 )
8144 .map(HoprTokenCalls::isOperatorFor)
8145 }
8146 isOperatorFor
8147 },
8148 {
8149 fn mint(data: &[u8]) -> alloy_sol_types::Result<HoprTokenCalls> {
8150 <mintCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
8151 .map(HoprTokenCalls::mint)
8152 }
8153 mint
8154 },
8155 {
8156 fn allowance(
8157 data: &[u8],
8158 ) -> alloy_sol_types::Result<HoprTokenCalls> {
8159 <allowanceCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
8160 .map(HoprTokenCalls::allowance)
8161 }
8162 allowance
8163 },
8164 {
8165 fn balanceOfAt(
8166 data: &[u8],
8167 ) -> alloy_sol_types::Result<HoprTokenCalls> {
8168 <balanceOfAtCall as alloy_sol_types::SolCall>::abi_decode_raw(
8169 data,
8170 )
8171 .map(HoprTokenCalls::balanceOfAt)
8172 }
8173 balanceOfAt
8174 },
8175 {
8176 fn revokeOperator(
8177 data: &[u8],
8178 ) -> alloy_sol_types::Result<HoprTokenCalls> {
8179 <revokeOperatorCall as alloy_sol_types::SolCall>::abi_decode_raw(
8180 data,
8181 )
8182 .map(HoprTokenCalls::revokeOperator)
8183 }
8184 revokeOperator
8185 },
8186 {
8187 fn operatorBurn(
8188 data: &[u8],
8189 ) -> alloy_sol_types::Result<HoprTokenCalls> {
8190 <operatorBurnCall as alloy_sol_types::SolCall>::abi_decode_raw(
8191 data,
8192 )
8193 .map(HoprTokenCalls::operatorBurn)
8194 }
8195 operatorBurn
8196 },
8197 {
8198 fn burn(data: &[u8]) -> alloy_sol_types::Result<HoprTokenCalls> {
8199 <burnCall as alloy_sol_types::SolCall>::abi_decode_raw(data)
8200 .map(HoprTokenCalls::burn)
8201 }
8202 burn
8203 },
8204 ];
8205 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
8206 return Err(
8207 alloy_sol_types::Error::unknown_selector(
8208 <Self as alloy_sol_types::SolInterface>::NAME,
8209 selector,
8210 ),
8211 );
8212 };
8213 DECODE_SHIMS[idx](data)
8214 }
8215 #[inline]
8216 #[allow(non_snake_case)]
8217 fn abi_decode_raw_validate(
8218 selector: [u8; 4],
8219 data: &[u8],
8220 ) -> alloy_sol_types::Result<Self> {
8221 static DECODE_VALIDATE_SHIMS: &[fn(
8222 &[u8],
8223 ) -> alloy_sol_types::Result<HoprTokenCalls>] = &[
8224 {
8225 fn supportsInterface(
8226 data: &[u8],
8227 ) -> alloy_sol_types::Result<HoprTokenCalls> {
8228 <supportsInterfaceCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
8229 data,
8230 )
8231 .map(HoprTokenCalls::supportsInterface)
8232 }
8233 supportsInterface
8234 },
8235 {
8236 fn defaultOperators(
8237 data: &[u8],
8238 ) -> alloy_sol_types::Result<HoprTokenCalls> {
8239 <defaultOperatorsCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
8240 data,
8241 )
8242 .map(HoprTokenCalls::defaultOperators)
8243 }
8244 defaultOperators
8245 },
8246 {
8247 fn name(data: &[u8]) -> alloy_sol_types::Result<HoprTokenCalls> {
8248 <nameCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
8249 data,
8250 )
8251 .map(HoprTokenCalls::name)
8252 }
8253 name
8254 },
8255 {
8256 fn approve(data: &[u8]) -> alloy_sol_types::Result<HoprTokenCalls> {
8257 <approveCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
8258 data,
8259 )
8260 .map(HoprTokenCalls::approve)
8261 }
8262 approve
8263 },
8264 {
8265 fn totalSupply(
8266 data: &[u8],
8267 ) -> alloy_sol_types::Result<HoprTokenCalls> {
8268 <totalSupplyCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
8269 data,
8270 )
8271 .map(HoprTokenCalls::totalSupply)
8272 }
8273 totalSupply
8274 },
8275 {
8276 fn transferFrom(
8277 data: &[u8],
8278 ) -> alloy_sol_types::Result<HoprTokenCalls> {
8279 <transferFromCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
8280 data,
8281 )
8282 .map(HoprTokenCalls::transferFrom)
8283 }
8284 transferFrom
8285 },
8286 {
8287 fn getRoleAdmin(
8288 data: &[u8],
8289 ) -> alloy_sol_types::Result<HoprTokenCalls> {
8290 <getRoleAdminCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
8291 data,
8292 )
8293 .map(HoprTokenCalls::getRoleAdmin)
8294 }
8295 getRoleAdmin
8296 },
8297 {
8298 fn accountSnapshots(
8299 data: &[u8],
8300 ) -> alloy_sol_types::Result<HoprTokenCalls> {
8301 <accountSnapshotsCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
8302 data,
8303 )
8304 .map(HoprTokenCalls::accountSnapshots)
8305 }
8306 accountSnapshots
8307 },
8308 {
8309 fn grantRole(
8310 data: &[u8],
8311 ) -> alloy_sol_types::Result<HoprTokenCalls> {
8312 <grantRoleCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
8313 data,
8314 )
8315 .map(HoprTokenCalls::grantRole)
8316 }
8317 grantRole
8318 },
8319 {
8320 fn decimals(data: &[u8]) -> alloy_sol_types::Result<HoprTokenCalls> {
8321 <decimalsCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
8322 data,
8323 )
8324 .map(HoprTokenCalls::decimals)
8325 }
8326 decimals
8327 },
8328 {
8329 fn renounceRole(
8330 data: &[u8],
8331 ) -> alloy_sol_types::Result<HoprTokenCalls> {
8332 <renounceRoleCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
8333 data,
8334 )
8335 .map(HoprTokenCalls::renounceRole)
8336 }
8337 renounceRole
8338 },
8339 {
8340 fn granularity(
8341 data: &[u8],
8342 ) -> alloy_sol_types::Result<HoprTokenCalls> {
8343 <granularityCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
8344 data,
8345 )
8346 .map(HoprTokenCalls::granularity)
8347 }
8348 granularity
8349 },
8350 {
8351 fn operatorSend(
8352 data: &[u8],
8353 ) -> alloy_sol_types::Result<HoprTokenCalls> {
8354 <operatorSendCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
8355 data,
8356 )
8357 .map(HoprTokenCalls::operatorSend)
8358 }
8359 operatorSend
8360 },
8361 {
8362 fn balanceOf(
8363 data: &[u8],
8364 ) -> alloy_sol_types::Result<HoprTokenCalls> {
8365 <balanceOfCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
8366 data,
8367 )
8368 .map(HoprTokenCalls::balanceOf)
8369 }
8370 balanceOf
8371 },
8372 {
8373 fn getRoleMember(
8374 data: &[u8],
8375 ) -> alloy_sol_types::Result<HoprTokenCalls> {
8376 <getRoleMemberCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
8377 data,
8378 )
8379 .map(HoprTokenCalls::getRoleMember)
8380 }
8381 getRoleMember
8382 },
8383 {
8384 fn hasRole(data: &[u8]) -> alloy_sol_types::Result<HoprTokenCalls> {
8385 <hasRoleCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
8386 data,
8387 )
8388 .map(HoprTokenCalls::hasRole)
8389 }
8390 hasRole
8391 },
8392 {
8393 fn totalSupplyAt(
8394 data: &[u8],
8395 ) -> alloy_sol_types::Result<HoprTokenCalls> {
8396 <totalSupplyAtCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
8397 data,
8398 )
8399 .map(HoprTokenCalls::totalSupplyAt)
8400 }
8401 totalSupplyAt
8402 },
8403 {
8404 fn authorizeOperator(
8405 data: &[u8],
8406 ) -> alloy_sol_types::Result<HoprTokenCalls> {
8407 <authorizeOperatorCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
8408 data,
8409 )
8410 .map(HoprTokenCalls::authorizeOperator)
8411 }
8412 authorizeOperator
8413 },
8414 {
8415 fn symbol(data: &[u8]) -> alloy_sol_types::Result<HoprTokenCalls> {
8416 <symbolCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
8417 data,
8418 )
8419 .map(HoprTokenCalls::symbol)
8420 }
8421 symbol
8422 },
8423 {
8424 fn send(data: &[u8]) -> alloy_sol_types::Result<HoprTokenCalls> {
8425 <sendCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
8426 data,
8427 )
8428 .map(HoprTokenCalls::send)
8429 }
8430 send
8431 },
8432 {
8433 fn DEFAULT_ADMIN_ROLE(
8434 data: &[u8],
8435 ) -> alloy_sol_types::Result<HoprTokenCalls> {
8436 <DEFAULT_ADMIN_ROLECall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
8437 data,
8438 )
8439 .map(HoprTokenCalls::DEFAULT_ADMIN_ROLE)
8440 }
8441 DEFAULT_ADMIN_ROLE
8442 },
8443 {
8444 fn transfer(data: &[u8]) -> alloy_sol_types::Result<HoprTokenCalls> {
8445 <transferCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
8446 data,
8447 )
8448 .map(HoprTokenCalls::transfer)
8449 }
8450 transfer
8451 },
8452 {
8453 fn totalSupplySnapshots(
8454 data: &[u8],
8455 ) -> alloy_sol_types::Result<HoprTokenCalls> {
8456 <totalSupplySnapshotsCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
8457 data,
8458 )
8459 .map(HoprTokenCalls::totalSupplySnapshots)
8460 }
8461 totalSupplySnapshots
8462 },
8463 {
8464 fn getRoleMemberCount(
8465 data: &[u8],
8466 ) -> alloy_sol_types::Result<HoprTokenCalls> {
8467 <getRoleMemberCountCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
8468 data,
8469 )
8470 .map(HoprTokenCalls::getRoleMemberCount)
8471 }
8472 getRoleMemberCount
8473 },
8474 {
8475 fn MINTER_ROLE(
8476 data: &[u8],
8477 ) -> alloy_sol_types::Result<HoprTokenCalls> {
8478 <MINTER_ROLECall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
8479 data,
8480 )
8481 .map(HoprTokenCalls::MINTER_ROLE)
8482 }
8483 MINTER_ROLE
8484 },
8485 {
8486 fn revokeRole(
8487 data: &[u8],
8488 ) -> alloy_sol_types::Result<HoprTokenCalls> {
8489 <revokeRoleCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
8490 data,
8491 )
8492 .map(HoprTokenCalls::revokeRole)
8493 }
8494 revokeRole
8495 },
8496 {
8497 fn isOperatorFor(
8498 data: &[u8],
8499 ) -> alloy_sol_types::Result<HoprTokenCalls> {
8500 <isOperatorForCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
8501 data,
8502 )
8503 .map(HoprTokenCalls::isOperatorFor)
8504 }
8505 isOperatorFor
8506 },
8507 {
8508 fn mint(data: &[u8]) -> alloy_sol_types::Result<HoprTokenCalls> {
8509 <mintCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
8510 data,
8511 )
8512 .map(HoprTokenCalls::mint)
8513 }
8514 mint
8515 },
8516 {
8517 fn allowance(
8518 data: &[u8],
8519 ) -> alloy_sol_types::Result<HoprTokenCalls> {
8520 <allowanceCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
8521 data,
8522 )
8523 .map(HoprTokenCalls::allowance)
8524 }
8525 allowance
8526 },
8527 {
8528 fn balanceOfAt(
8529 data: &[u8],
8530 ) -> alloy_sol_types::Result<HoprTokenCalls> {
8531 <balanceOfAtCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
8532 data,
8533 )
8534 .map(HoprTokenCalls::balanceOfAt)
8535 }
8536 balanceOfAt
8537 },
8538 {
8539 fn revokeOperator(
8540 data: &[u8],
8541 ) -> alloy_sol_types::Result<HoprTokenCalls> {
8542 <revokeOperatorCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
8543 data,
8544 )
8545 .map(HoprTokenCalls::revokeOperator)
8546 }
8547 revokeOperator
8548 },
8549 {
8550 fn operatorBurn(
8551 data: &[u8],
8552 ) -> alloy_sol_types::Result<HoprTokenCalls> {
8553 <operatorBurnCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
8554 data,
8555 )
8556 .map(HoprTokenCalls::operatorBurn)
8557 }
8558 operatorBurn
8559 },
8560 {
8561 fn burn(data: &[u8]) -> alloy_sol_types::Result<HoprTokenCalls> {
8562 <burnCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
8563 data,
8564 )
8565 .map(HoprTokenCalls::burn)
8566 }
8567 burn
8568 },
8569 ];
8570 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
8571 return Err(
8572 alloy_sol_types::Error::unknown_selector(
8573 <Self as alloy_sol_types::SolInterface>::NAME,
8574 selector,
8575 ),
8576 );
8577 };
8578 DECODE_VALIDATE_SHIMS[idx](data)
8579 }
8580 #[inline]
8581 fn abi_encoded_size(&self) -> usize {
8582 match self {
8583 Self::DEFAULT_ADMIN_ROLE(inner) => {
8584 <DEFAULT_ADMIN_ROLECall as alloy_sol_types::SolCall>::abi_encoded_size(
8585 inner,
8586 )
8587 }
8588 Self::MINTER_ROLE(inner) => {
8589 <MINTER_ROLECall as alloy_sol_types::SolCall>::abi_encoded_size(
8590 inner,
8591 )
8592 }
8593 Self::accountSnapshots(inner) => {
8594 <accountSnapshotsCall as alloy_sol_types::SolCall>::abi_encoded_size(
8595 inner,
8596 )
8597 }
8598 Self::allowance(inner) => {
8599 <allowanceCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
8600 }
8601 Self::approve(inner) => {
8602 <approveCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
8603 }
8604 Self::authorizeOperator(inner) => {
8605 <authorizeOperatorCall as alloy_sol_types::SolCall>::abi_encoded_size(
8606 inner,
8607 )
8608 }
8609 Self::balanceOf(inner) => {
8610 <balanceOfCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
8611 }
8612 Self::balanceOfAt(inner) => {
8613 <balanceOfAtCall as alloy_sol_types::SolCall>::abi_encoded_size(
8614 inner,
8615 )
8616 }
8617 Self::burn(inner) => {
8618 <burnCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
8619 }
8620 Self::decimals(inner) => {
8621 <decimalsCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
8622 }
8623 Self::defaultOperators(inner) => {
8624 <defaultOperatorsCall as alloy_sol_types::SolCall>::abi_encoded_size(
8625 inner,
8626 )
8627 }
8628 Self::getRoleAdmin(inner) => {
8629 <getRoleAdminCall as alloy_sol_types::SolCall>::abi_encoded_size(
8630 inner,
8631 )
8632 }
8633 Self::getRoleMember(inner) => {
8634 <getRoleMemberCall as alloy_sol_types::SolCall>::abi_encoded_size(
8635 inner,
8636 )
8637 }
8638 Self::getRoleMemberCount(inner) => {
8639 <getRoleMemberCountCall as alloy_sol_types::SolCall>::abi_encoded_size(
8640 inner,
8641 )
8642 }
8643 Self::grantRole(inner) => {
8644 <grantRoleCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
8645 }
8646 Self::granularity(inner) => {
8647 <granularityCall as alloy_sol_types::SolCall>::abi_encoded_size(
8648 inner,
8649 )
8650 }
8651 Self::hasRole(inner) => {
8652 <hasRoleCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
8653 }
8654 Self::isOperatorFor(inner) => {
8655 <isOperatorForCall as alloy_sol_types::SolCall>::abi_encoded_size(
8656 inner,
8657 )
8658 }
8659 Self::mint(inner) => {
8660 <mintCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
8661 }
8662 Self::name(inner) => {
8663 <nameCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
8664 }
8665 Self::operatorBurn(inner) => {
8666 <operatorBurnCall as alloy_sol_types::SolCall>::abi_encoded_size(
8667 inner,
8668 )
8669 }
8670 Self::operatorSend(inner) => {
8671 <operatorSendCall as alloy_sol_types::SolCall>::abi_encoded_size(
8672 inner,
8673 )
8674 }
8675 Self::renounceRole(inner) => {
8676 <renounceRoleCall as alloy_sol_types::SolCall>::abi_encoded_size(
8677 inner,
8678 )
8679 }
8680 Self::revokeOperator(inner) => {
8681 <revokeOperatorCall as alloy_sol_types::SolCall>::abi_encoded_size(
8682 inner,
8683 )
8684 }
8685 Self::revokeRole(inner) => {
8686 <revokeRoleCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
8687 }
8688 Self::send(inner) => {
8689 <sendCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
8690 }
8691 Self::supportsInterface(inner) => {
8692 <supportsInterfaceCall as alloy_sol_types::SolCall>::abi_encoded_size(
8693 inner,
8694 )
8695 }
8696 Self::symbol(inner) => {
8697 <symbolCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
8698 }
8699 Self::totalSupply(inner) => {
8700 <totalSupplyCall as alloy_sol_types::SolCall>::abi_encoded_size(
8701 inner,
8702 )
8703 }
8704 Self::totalSupplyAt(inner) => {
8705 <totalSupplyAtCall as alloy_sol_types::SolCall>::abi_encoded_size(
8706 inner,
8707 )
8708 }
8709 Self::totalSupplySnapshots(inner) => {
8710 <totalSupplySnapshotsCall as alloy_sol_types::SolCall>::abi_encoded_size(
8711 inner,
8712 )
8713 }
8714 Self::transfer(inner) => {
8715 <transferCall as alloy_sol_types::SolCall>::abi_encoded_size(inner)
8716 }
8717 Self::transferFrom(inner) => {
8718 <transferFromCall as alloy_sol_types::SolCall>::abi_encoded_size(
8719 inner,
8720 )
8721 }
8722 }
8723 }
8724 #[inline]
8725 fn abi_encode_raw(&self, out: &mut alloy_sol_types::private::Vec<u8>) {
8726 match self {
8727 Self::DEFAULT_ADMIN_ROLE(inner) => {
8728 <DEFAULT_ADMIN_ROLECall as alloy_sol_types::SolCall>::abi_encode_raw(
8729 inner,
8730 out,
8731 )
8732 }
8733 Self::MINTER_ROLE(inner) => {
8734 <MINTER_ROLECall as alloy_sol_types::SolCall>::abi_encode_raw(
8735 inner,
8736 out,
8737 )
8738 }
8739 Self::accountSnapshots(inner) => {
8740 <accountSnapshotsCall as alloy_sol_types::SolCall>::abi_encode_raw(
8741 inner,
8742 out,
8743 )
8744 }
8745 Self::allowance(inner) => {
8746 <allowanceCall as alloy_sol_types::SolCall>::abi_encode_raw(
8747 inner,
8748 out,
8749 )
8750 }
8751 Self::approve(inner) => {
8752 <approveCall as alloy_sol_types::SolCall>::abi_encode_raw(inner, out)
8753 }
8754 Self::authorizeOperator(inner) => {
8755 <authorizeOperatorCall as alloy_sol_types::SolCall>::abi_encode_raw(
8756 inner,
8757 out,
8758 )
8759 }
8760 Self::balanceOf(inner) => {
8761 <balanceOfCall as alloy_sol_types::SolCall>::abi_encode_raw(
8762 inner,
8763 out,
8764 )
8765 }
8766 Self::balanceOfAt(inner) => {
8767 <balanceOfAtCall as alloy_sol_types::SolCall>::abi_encode_raw(
8768 inner,
8769 out,
8770 )
8771 }
8772 Self::burn(inner) => {
8773 <burnCall as alloy_sol_types::SolCall>::abi_encode_raw(inner, out)
8774 }
8775 Self::decimals(inner) => {
8776 <decimalsCall as alloy_sol_types::SolCall>::abi_encode_raw(
8777 inner,
8778 out,
8779 )
8780 }
8781 Self::defaultOperators(inner) => {
8782 <defaultOperatorsCall as alloy_sol_types::SolCall>::abi_encode_raw(
8783 inner,
8784 out,
8785 )
8786 }
8787 Self::getRoleAdmin(inner) => {
8788 <getRoleAdminCall as alloy_sol_types::SolCall>::abi_encode_raw(
8789 inner,
8790 out,
8791 )
8792 }
8793 Self::getRoleMember(inner) => {
8794 <getRoleMemberCall as alloy_sol_types::SolCall>::abi_encode_raw(
8795 inner,
8796 out,
8797 )
8798 }
8799 Self::getRoleMemberCount(inner) => {
8800 <getRoleMemberCountCall as alloy_sol_types::SolCall>::abi_encode_raw(
8801 inner,
8802 out,
8803 )
8804 }
8805 Self::grantRole(inner) => {
8806 <grantRoleCall as alloy_sol_types::SolCall>::abi_encode_raw(
8807 inner,
8808 out,
8809 )
8810 }
8811 Self::granularity(inner) => {
8812 <granularityCall as alloy_sol_types::SolCall>::abi_encode_raw(
8813 inner,
8814 out,
8815 )
8816 }
8817 Self::hasRole(inner) => {
8818 <hasRoleCall as alloy_sol_types::SolCall>::abi_encode_raw(inner, out)
8819 }
8820 Self::isOperatorFor(inner) => {
8821 <isOperatorForCall as alloy_sol_types::SolCall>::abi_encode_raw(
8822 inner,
8823 out,
8824 )
8825 }
8826 Self::mint(inner) => {
8827 <mintCall as alloy_sol_types::SolCall>::abi_encode_raw(inner, out)
8828 }
8829 Self::name(inner) => {
8830 <nameCall as alloy_sol_types::SolCall>::abi_encode_raw(inner, out)
8831 }
8832 Self::operatorBurn(inner) => {
8833 <operatorBurnCall as alloy_sol_types::SolCall>::abi_encode_raw(
8834 inner,
8835 out,
8836 )
8837 }
8838 Self::operatorSend(inner) => {
8839 <operatorSendCall as alloy_sol_types::SolCall>::abi_encode_raw(
8840 inner,
8841 out,
8842 )
8843 }
8844 Self::renounceRole(inner) => {
8845 <renounceRoleCall as alloy_sol_types::SolCall>::abi_encode_raw(
8846 inner,
8847 out,
8848 )
8849 }
8850 Self::revokeOperator(inner) => {
8851 <revokeOperatorCall as alloy_sol_types::SolCall>::abi_encode_raw(
8852 inner,
8853 out,
8854 )
8855 }
8856 Self::revokeRole(inner) => {
8857 <revokeRoleCall as alloy_sol_types::SolCall>::abi_encode_raw(
8858 inner,
8859 out,
8860 )
8861 }
8862 Self::send(inner) => {
8863 <sendCall as alloy_sol_types::SolCall>::abi_encode_raw(inner, out)
8864 }
8865 Self::supportsInterface(inner) => {
8866 <supportsInterfaceCall as alloy_sol_types::SolCall>::abi_encode_raw(
8867 inner,
8868 out,
8869 )
8870 }
8871 Self::symbol(inner) => {
8872 <symbolCall as alloy_sol_types::SolCall>::abi_encode_raw(inner, out)
8873 }
8874 Self::totalSupply(inner) => {
8875 <totalSupplyCall as alloy_sol_types::SolCall>::abi_encode_raw(
8876 inner,
8877 out,
8878 )
8879 }
8880 Self::totalSupplyAt(inner) => {
8881 <totalSupplyAtCall as alloy_sol_types::SolCall>::abi_encode_raw(
8882 inner,
8883 out,
8884 )
8885 }
8886 Self::totalSupplySnapshots(inner) => {
8887 <totalSupplySnapshotsCall as alloy_sol_types::SolCall>::abi_encode_raw(
8888 inner,
8889 out,
8890 )
8891 }
8892 Self::transfer(inner) => {
8893 <transferCall as alloy_sol_types::SolCall>::abi_encode_raw(
8894 inner,
8895 out,
8896 )
8897 }
8898 Self::transferFrom(inner) => {
8899 <transferFromCall as alloy_sol_types::SolCall>::abi_encode_raw(
8900 inner,
8901 out,
8902 )
8903 }
8904 }
8905 }
8906 }
8907 #[derive(serde::Serialize, serde::Deserialize)]
8909 #[derive(Debug, PartialEq, Eq, Hash)]
8910 pub enum HoprTokenEvents {
8911 #[allow(missing_docs)]
8912 Approval(Approval),
8913 #[allow(missing_docs)]
8914 AuthorizedOperator(AuthorizedOperator),
8915 #[allow(missing_docs)]
8916 Burned(Burned),
8917 #[allow(missing_docs)]
8918 Minted(Minted),
8919 #[allow(missing_docs)]
8920 RevokedOperator(RevokedOperator),
8921 #[allow(missing_docs)]
8922 RoleAdminChanged(RoleAdminChanged),
8923 #[allow(missing_docs)]
8924 RoleGranted(RoleGranted),
8925 #[allow(missing_docs)]
8926 RoleRevoked(RoleRevoked),
8927 #[allow(missing_docs)]
8928 Sent(Sent),
8929 #[allow(missing_docs)]
8930 Transfer(Transfer),
8931 }
8932 #[automatically_derived]
8933 impl HoprTokenEvents {
8934 pub const SELECTORS: &'static [[u8; 32usize]] = &[
8941 [
8942 6u8, 181u8, 65u8, 221u8, 170u8, 114u8, 13u8, 178u8, 177u8, 10u8, 77u8,
8943 12u8, 218u8, 195u8, 155u8, 141u8, 54u8, 4u8, 37u8, 252u8, 7u8, 48u8,
8944 133u8, 250u8, 193u8, 155u8, 200u8, 38u8, 20u8, 103u8, 121u8, 135u8,
8945 ],
8946 [
8947 47u8, 135u8, 136u8, 17u8, 126u8, 126u8, 255u8, 29u8, 130u8, 233u8, 38u8,
8948 236u8, 121u8, 73u8, 1u8, 209u8, 124u8, 120u8, 2u8, 74u8, 80u8, 39u8, 9u8,
8949 64u8, 48u8, 69u8, 64u8, 167u8, 51u8, 101u8, 111u8, 13u8,
8950 ],
8951 [
8952 47u8, 229u8, 190u8, 1u8, 70u8, 247u8, 76u8, 91u8, 206u8, 54u8, 192u8,
8953 184u8, 9u8, 17u8, 175u8, 108u8, 125u8, 134u8, 255u8, 39u8, 232u8, 157u8,
8954 92u8, 250u8, 97u8, 252u8, 104u8, 19u8, 39u8, 149u8, 78u8, 93u8,
8955 ],
8956 [
8957 80u8, 84u8, 110u8, 102u8, 229u8, 244u8, 77u8, 114u8, 131u8, 101u8, 220u8,
8958 57u8, 8u8, 198u8, 59u8, 197u8, 207u8, 238u8, 171u8, 71u8, 7u8, 34u8,
8959 193u8, 103u8, 126u8, 48u8, 115u8, 166u8, 172u8, 41u8, 74u8, 161u8,
8960 ],
8961 [
8962 140u8, 91u8, 225u8, 229u8, 235u8, 236u8, 125u8, 91u8, 209u8, 79u8, 113u8,
8963 66u8, 125u8, 30u8, 132u8, 243u8, 221u8, 3u8, 20u8, 192u8, 247u8, 178u8,
8964 41u8, 30u8, 91u8, 32u8, 10u8, 200u8, 199u8, 195u8, 185u8, 37u8,
8965 ],
8966 [
8967 167u8, 138u8, 155u8, 227u8, 167u8, 184u8, 98u8, 210u8, 105u8, 51u8,
8968 173u8, 133u8, 251u8, 17u8, 216u8, 14u8, 246u8, 107u8, 143u8, 151u8, 45u8,
8969 124u8, 187u8, 160u8, 102u8, 33u8, 213u8, 131u8, 148u8, 58u8, 64u8, 152u8,
8970 ],
8971 [
8972 189u8, 121u8, 184u8, 111u8, 254u8, 10u8, 184u8, 232u8, 119u8, 97u8, 81u8,
8973 81u8, 66u8, 23u8, 205u8, 124u8, 172u8, 213u8, 44u8, 144u8, 159u8, 102u8,
8974 71u8, 92u8, 58u8, 244u8, 78u8, 18u8, 159u8, 11u8, 0u8, 255u8,
8975 ],
8976 [
8977 221u8, 242u8, 82u8, 173u8, 27u8, 226u8, 200u8, 155u8, 105u8, 194u8,
8978 176u8, 104u8, 252u8, 55u8, 141u8, 170u8, 149u8, 43u8, 167u8, 241u8, 99u8,
8979 196u8, 161u8, 22u8, 40u8, 245u8, 90u8, 77u8, 245u8, 35u8, 179u8, 239u8,
8980 ],
8981 [
8982 244u8, 202u8, 235u8, 45u8, 108u8, 168u8, 147u8, 42u8, 33u8, 90u8, 53u8,
8983 61u8, 7u8, 3u8, 195u8, 38u8, 236u8, 45u8, 129u8, 252u8, 104u8, 23u8,
8984 15u8, 50u8, 14u8, 178u8, 171u8, 73u8, 233u8, 223u8, 97u8, 249u8,
8985 ],
8986 [
8987 246u8, 57u8, 31u8, 92u8, 50u8, 217u8, 198u8, 157u8, 42u8, 71u8, 234u8,
8988 103u8, 11u8, 68u8, 41u8, 116u8, 181u8, 57u8, 53u8, 209u8, 237u8, 199u8,
8989 253u8, 100u8, 235u8, 33u8, 224u8, 71u8, 168u8, 57u8, 23u8, 27u8,
8990 ],
8991 ];
8992 }
8993 #[automatically_derived]
8994 impl alloy_sol_types::SolEventInterface for HoprTokenEvents {
8995 const NAME: &'static str = "HoprTokenEvents";
8996 const COUNT: usize = 10usize;
8997 fn decode_raw_log(
8998 topics: &[alloy_sol_types::Word],
8999 data: &[u8],
9000 ) -> alloy_sol_types::Result<Self> {
9001 match topics.first().copied() {
9002 Some(<Approval as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
9003 <Approval as alloy_sol_types::SolEvent>::decode_raw_log(topics, data)
9004 .map(Self::Approval)
9005 }
9006 Some(
9007 <AuthorizedOperator as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
9008 ) => {
9009 <AuthorizedOperator as alloy_sol_types::SolEvent>::decode_raw_log(
9010 topics,
9011 data,
9012 )
9013 .map(Self::AuthorizedOperator)
9014 }
9015 Some(<Burned as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
9016 <Burned as alloy_sol_types::SolEvent>::decode_raw_log(topics, data)
9017 .map(Self::Burned)
9018 }
9019 Some(<Minted as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
9020 <Minted as alloy_sol_types::SolEvent>::decode_raw_log(topics, data)
9021 .map(Self::Minted)
9022 }
9023 Some(<RevokedOperator as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
9024 <RevokedOperator as alloy_sol_types::SolEvent>::decode_raw_log(
9025 topics,
9026 data,
9027 )
9028 .map(Self::RevokedOperator)
9029 }
9030 Some(<RoleAdminChanged as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
9031 <RoleAdminChanged as alloy_sol_types::SolEvent>::decode_raw_log(
9032 topics,
9033 data,
9034 )
9035 .map(Self::RoleAdminChanged)
9036 }
9037 Some(<RoleGranted as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
9038 <RoleGranted as alloy_sol_types::SolEvent>::decode_raw_log(
9039 topics,
9040 data,
9041 )
9042 .map(Self::RoleGranted)
9043 }
9044 Some(<RoleRevoked as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
9045 <RoleRevoked as alloy_sol_types::SolEvent>::decode_raw_log(
9046 topics,
9047 data,
9048 )
9049 .map(Self::RoleRevoked)
9050 }
9051 Some(<Sent as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
9052 <Sent as alloy_sol_types::SolEvent>::decode_raw_log(topics, data)
9053 .map(Self::Sent)
9054 }
9055 Some(<Transfer as alloy_sol_types::SolEvent>::SIGNATURE_HASH) => {
9056 <Transfer as alloy_sol_types::SolEvent>::decode_raw_log(topics, data)
9057 .map(Self::Transfer)
9058 }
9059 _ => {
9060 alloy_sol_types::private::Err(alloy_sol_types::Error::InvalidLog {
9061 name: <Self as alloy_sol_types::SolEventInterface>::NAME,
9062 log: alloy_sol_types::private::Box::new(
9063 alloy_sol_types::private::LogData::new_unchecked(
9064 topics.to_vec(),
9065 data.to_vec().into(),
9066 ),
9067 ),
9068 })
9069 }
9070 }
9071 }
9072 }
9073 #[automatically_derived]
9074 impl alloy_sol_types::private::IntoLogData for HoprTokenEvents {
9075 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
9076 match self {
9077 Self::Approval(inner) => {
9078 alloy_sol_types::private::IntoLogData::to_log_data(inner)
9079 }
9080 Self::AuthorizedOperator(inner) => {
9081 alloy_sol_types::private::IntoLogData::to_log_data(inner)
9082 }
9083 Self::Burned(inner) => {
9084 alloy_sol_types::private::IntoLogData::to_log_data(inner)
9085 }
9086 Self::Minted(inner) => {
9087 alloy_sol_types::private::IntoLogData::to_log_data(inner)
9088 }
9089 Self::RevokedOperator(inner) => {
9090 alloy_sol_types::private::IntoLogData::to_log_data(inner)
9091 }
9092 Self::RoleAdminChanged(inner) => {
9093 alloy_sol_types::private::IntoLogData::to_log_data(inner)
9094 }
9095 Self::RoleGranted(inner) => {
9096 alloy_sol_types::private::IntoLogData::to_log_data(inner)
9097 }
9098 Self::RoleRevoked(inner) => {
9099 alloy_sol_types::private::IntoLogData::to_log_data(inner)
9100 }
9101 Self::Sent(inner) => {
9102 alloy_sol_types::private::IntoLogData::to_log_data(inner)
9103 }
9104 Self::Transfer(inner) => {
9105 alloy_sol_types::private::IntoLogData::to_log_data(inner)
9106 }
9107 }
9108 }
9109 fn into_log_data(self) -> alloy_sol_types::private::LogData {
9110 match self {
9111 Self::Approval(inner) => {
9112 alloy_sol_types::private::IntoLogData::into_log_data(inner)
9113 }
9114 Self::AuthorizedOperator(inner) => {
9115 alloy_sol_types::private::IntoLogData::into_log_data(inner)
9116 }
9117 Self::Burned(inner) => {
9118 alloy_sol_types::private::IntoLogData::into_log_data(inner)
9119 }
9120 Self::Minted(inner) => {
9121 alloy_sol_types::private::IntoLogData::into_log_data(inner)
9122 }
9123 Self::RevokedOperator(inner) => {
9124 alloy_sol_types::private::IntoLogData::into_log_data(inner)
9125 }
9126 Self::RoleAdminChanged(inner) => {
9127 alloy_sol_types::private::IntoLogData::into_log_data(inner)
9128 }
9129 Self::RoleGranted(inner) => {
9130 alloy_sol_types::private::IntoLogData::into_log_data(inner)
9131 }
9132 Self::RoleRevoked(inner) => {
9133 alloy_sol_types::private::IntoLogData::into_log_data(inner)
9134 }
9135 Self::Sent(inner) => {
9136 alloy_sol_types::private::IntoLogData::into_log_data(inner)
9137 }
9138 Self::Transfer(inner) => {
9139 alloy_sol_types::private::IntoLogData::into_log_data(inner)
9140 }
9141 }
9142 }
9143 }
9144 use alloy::contract as alloy_contract;
9145 #[inline]
9149 pub const fn new<
9150 P: alloy_contract::private::Provider<N>,
9151 N: alloy_contract::private::Network,
9152 >(
9153 address: alloy_sol_types::private::Address,
9154 provider: P,
9155 ) -> HoprTokenInstance<P, N> {
9156 HoprTokenInstance::<P, N>::new(address, provider)
9157 }
9158 #[inline]
9164 pub fn deploy<
9165 P: alloy_contract::private::Provider<N>,
9166 N: alloy_contract::private::Network,
9167 >(
9168 provider: P,
9169 ) -> impl ::core::future::Future<
9170 Output = alloy_contract::Result<HoprTokenInstance<P, N>>,
9171 > {
9172 HoprTokenInstance::<P, N>::deploy(provider)
9173 }
9174 #[inline]
9180 pub fn deploy_builder<
9181 P: alloy_contract::private::Provider<N>,
9182 N: alloy_contract::private::Network,
9183 >(provider: P) -> alloy_contract::RawCallBuilder<P, N> {
9184 HoprTokenInstance::<P, N>::deploy_builder(provider)
9185 }
9186 #[derive(Clone)]
9198 pub struct HoprTokenInstance<P, N = alloy_contract::private::Ethereum> {
9199 address: alloy_sol_types::private::Address,
9200 provider: P,
9201 _network: ::core::marker::PhantomData<N>,
9202 }
9203 #[automatically_derived]
9204 impl<P, N> ::core::fmt::Debug for HoprTokenInstance<P, N> {
9205 #[inline]
9206 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9207 f.debug_tuple("HoprTokenInstance").field(&self.address).finish()
9208 }
9209 }
9210 #[automatically_derived]
9212 impl<
9213 P: alloy_contract::private::Provider<N>,
9214 N: alloy_contract::private::Network,
9215 > HoprTokenInstance<P, N> {
9216 #[inline]
9220 pub const fn new(
9221 address: alloy_sol_types::private::Address,
9222 provider: P,
9223 ) -> Self {
9224 Self {
9225 address,
9226 provider,
9227 _network: ::core::marker::PhantomData,
9228 }
9229 }
9230 #[inline]
9236 pub async fn deploy(
9237 provider: P,
9238 ) -> alloy_contract::Result<HoprTokenInstance<P, N>> {
9239 let call_builder = Self::deploy_builder(provider);
9240 let contract_address = call_builder.deploy().await?;
9241 Ok(Self::new(contract_address, call_builder.provider))
9242 }
9243 #[inline]
9249 pub fn deploy_builder(provider: P) -> alloy_contract::RawCallBuilder<P, N> {
9250 alloy_contract::RawCallBuilder::new_raw_deploy(
9251 provider,
9252 ::core::clone::Clone::clone(&BYTECODE),
9253 )
9254 }
9255 #[inline]
9257 pub const fn address(&self) -> &alloy_sol_types::private::Address {
9258 &self.address
9259 }
9260 #[inline]
9262 pub fn set_address(&mut self, address: alloy_sol_types::private::Address) {
9263 self.address = address;
9264 }
9265 pub fn at(mut self, address: alloy_sol_types::private::Address) -> Self {
9267 self.set_address(address);
9268 self
9269 }
9270 #[inline]
9272 pub const fn provider(&self) -> &P {
9273 &self.provider
9274 }
9275 }
9276 impl<P: ::core::clone::Clone, N> HoprTokenInstance<&P, N> {
9277 #[inline]
9279 pub fn with_cloned_provider(self) -> HoprTokenInstance<P, N> {
9280 HoprTokenInstance {
9281 address: self.address,
9282 provider: ::core::clone::Clone::clone(&self.provider),
9283 _network: ::core::marker::PhantomData,
9284 }
9285 }
9286 }
9287 #[automatically_derived]
9289 impl<
9290 P: alloy_contract::private::Provider<N>,
9291 N: alloy_contract::private::Network,
9292 > HoprTokenInstance<P, N> {
9293 pub fn call_builder<C: alloy_sol_types::SolCall>(
9298 &self,
9299 call: &C,
9300 ) -> alloy_contract::SolCallBuilder<&P, C, N> {
9301 alloy_contract::SolCallBuilder::new_sol(&self.provider, &self.address, call)
9302 }
9303 pub fn DEFAULT_ADMIN_ROLE(
9305 &self,
9306 ) -> alloy_contract::SolCallBuilder<&P, DEFAULT_ADMIN_ROLECall, N> {
9307 self.call_builder(&DEFAULT_ADMIN_ROLECall)
9308 }
9309 pub fn MINTER_ROLE(
9311 &self,
9312 ) -> alloy_contract::SolCallBuilder<&P, MINTER_ROLECall, N> {
9313 self.call_builder(&MINTER_ROLECall)
9314 }
9315 pub fn accountSnapshots(
9317 &self,
9318 _0: alloy::sol_types::private::Address,
9319 _1: alloy::sol_types::private::primitives::aliases::U256,
9320 ) -> alloy_contract::SolCallBuilder<&P, accountSnapshotsCall, N> {
9321 self.call_builder(&accountSnapshotsCall { _0, _1 })
9322 }
9323 pub fn allowance(
9325 &self,
9326 holder: alloy::sol_types::private::Address,
9327 spender: alloy::sol_types::private::Address,
9328 ) -> alloy_contract::SolCallBuilder<&P, allowanceCall, N> {
9329 self.call_builder(&allowanceCall { holder, spender })
9330 }
9331 pub fn approve(
9333 &self,
9334 spender: alloy::sol_types::private::Address,
9335 value: alloy::sol_types::private::primitives::aliases::U256,
9336 ) -> alloy_contract::SolCallBuilder<&P, approveCall, N> {
9337 self.call_builder(&approveCall { spender, value })
9338 }
9339 pub fn authorizeOperator(
9341 &self,
9342 operator: alloy::sol_types::private::Address,
9343 ) -> alloy_contract::SolCallBuilder<&P, authorizeOperatorCall, N> {
9344 self.call_builder(&authorizeOperatorCall { operator })
9345 }
9346 pub fn balanceOf(
9348 &self,
9349 tokenHolder: alloy::sol_types::private::Address,
9350 ) -> alloy_contract::SolCallBuilder<&P, balanceOfCall, N> {
9351 self.call_builder(&balanceOfCall { tokenHolder })
9352 }
9353 pub fn balanceOfAt(
9355 &self,
9356 _owner: alloy::sol_types::private::Address,
9357 _blockNumber: u128,
9358 ) -> alloy_contract::SolCallBuilder<&P, balanceOfAtCall, N> {
9359 self.call_builder(
9360 &balanceOfAtCall {
9361 _owner,
9362 _blockNumber,
9363 },
9364 )
9365 }
9366 pub fn burn(
9368 &self,
9369 amount: alloy::sol_types::private::primitives::aliases::U256,
9370 data: alloy::sol_types::private::Bytes,
9371 ) -> alloy_contract::SolCallBuilder<&P, burnCall, N> {
9372 self.call_builder(&burnCall { amount, data })
9373 }
9374 pub fn decimals(&self) -> alloy_contract::SolCallBuilder<&P, decimalsCall, N> {
9376 self.call_builder(&decimalsCall)
9377 }
9378 pub fn defaultOperators(
9380 &self,
9381 ) -> alloy_contract::SolCallBuilder<&P, defaultOperatorsCall, N> {
9382 self.call_builder(&defaultOperatorsCall)
9383 }
9384 pub fn getRoleAdmin(
9386 &self,
9387 role: alloy::sol_types::private::FixedBytes<32>,
9388 ) -> alloy_contract::SolCallBuilder<&P, getRoleAdminCall, N> {
9389 self.call_builder(&getRoleAdminCall { role })
9390 }
9391 pub fn getRoleMember(
9393 &self,
9394 role: alloy::sol_types::private::FixedBytes<32>,
9395 index: alloy::sol_types::private::primitives::aliases::U256,
9396 ) -> alloy_contract::SolCallBuilder<&P, getRoleMemberCall, N> {
9397 self.call_builder(&getRoleMemberCall { role, index })
9398 }
9399 pub fn getRoleMemberCount(
9401 &self,
9402 role: alloy::sol_types::private::FixedBytes<32>,
9403 ) -> alloy_contract::SolCallBuilder<&P, getRoleMemberCountCall, N> {
9404 self.call_builder(&getRoleMemberCountCall { role })
9405 }
9406 pub fn grantRole(
9408 &self,
9409 role: alloy::sol_types::private::FixedBytes<32>,
9410 account: alloy::sol_types::private::Address,
9411 ) -> alloy_contract::SolCallBuilder<&P, grantRoleCall, N> {
9412 self.call_builder(&grantRoleCall { role, account })
9413 }
9414 pub fn granularity(
9416 &self,
9417 ) -> alloy_contract::SolCallBuilder<&P, granularityCall, N> {
9418 self.call_builder(&granularityCall)
9419 }
9420 pub fn hasRole(
9422 &self,
9423 role: alloy::sol_types::private::FixedBytes<32>,
9424 account: alloy::sol_types::private::Address,
9425 ) -> alloy_contract::SolCallBuilder<&P, hasRoleCall, N> {
9426 self.call_builder(&hasRoleCall { role, account })
9427 }
9428 pub fn isOperatorFor(
9430 &self,
9431 operator: alloy::sol_types::private::Address,
9432 tokenHolder: alloy::sol_types::private::Address,
9433 ) -> alloy_contract::SolCallBuilder<&P, isOperatorForCall, N> {
9434 self.call_builder(
9435 &isOperatorForCall {
9436 operator,
9437 tokenHolder,
9438 },
9439 )
9440 }
9441 pub fn mint(
9443 &self,
9444 account: alloy::sol_types::private::Address,
9445 amount: alloy::sol_types::private::primitives::aliases::U256,
9446 userData: alloy::sol_types::private::Bytes,
9447 operatorData: alloy::sol_types::private::Bytes,
9448 ) -> alloy_contract::SolCallBuilder<&P, mintCall, N> {
9449 self.call_builder(
9450 &mintCall {
9451 account,
9452 amount,
9453 userData,
9454 operatorData,
9455 },
9456 )
9457 }
9458 pub fn name(&self) -> alloy_contract::SolCallBuilder<&P, nameCall, N> {
9460 self.call_builder(&nameCall)
9461 }
9462 pub fn operatorBurn(
9464 &self,
9465 account: alloy::sol_types::private::Address,
9466 amount: alloy::sol_types::private::primitives::aliases::U256,
9467 data: alloy::sol_types::private::Bytes,
9468 operatorData: alloy::sol_types::private::Bytes,
9469 ) -> alloy_contract::SolCallBuilder<&P, operatorBurnCall, N> {
9470 self.call_builder(
9471 &operatorBurnCall {
9472 account,
9473 amount,
9474 data,
9475 operatorData,
9476 },
9477 )
9478 }
9479 pub fn operatorSend(
9481 &self,
9482 sender: alloy::sol_types::private::Address,
9483 recipient: alloy::sol_types::private::Address,
9484 amount: alloy::sol_types::private::primitives::aliases::U256,
9485 data: alloy::sol_types::private::Bytes,
9486 operatorData: alloy::sol_types::private::Bytes,
9487 ) -> alloy_contract::SolCallBuilder<&P, operatorSendCall, N> {
9488 self.call_builder(
9489 &operatorSendCall {
9490 sender,
9491 recipient,
9492 amount,
9493 data,
9494 operatorData,
9495 },
9496 )
9497 }
9498 pub fn renounceRole(
9500 &self,
9501 role: alloy::sol_types::private::FixedBytes<32>,
9502 account: alloy::sol_types::private::Address,
9503 ) -> alloy_contract::SolCallBuilder<&P, renounceRoleCall, N> {
9504 self.call_builder(&renounceRoleCall { role, account })
9505 }
9506 pub fn revokeOperator(
9508 &self,
9509 operator: alloy::sol_types::private::Address,
9510 ) -> alloy_contract::SolCallBuilder<&P, revokeOperatorCall, N> {
9511 self.call_builder(&revokeOperatorCall { operator })
9512 }
9513 pub fn revokeRole(
9515 &self,
9516 role: alloy::sol_types::private::FixedBytes<32>,
9517 account: alloy::sol_types::private::Address,
9518 ) -> alloy_contract::SolCallBuilder<&P, revokeRoleCall, N> {
9519 self.call_builder(&revokeRoleCall { role, account })
9520 }
9521 pub fn send(
9523 &self,
9524 recipient: alloy::sol_types::private::Address,
9525 amount: alloy::sol_types::private::primitives::aliases::U256,
9526 data: alloy::sol_types::private::Bytes,
9527 ) -> alloy_contract::SolCallBuilder<&P, sendCall, N> {
9528 self.call_builder(
9529 &sendCall {
9530 recipient,
9531 amount,
9532 data,
9533 },
9534 )
9535 }
9536 pub fn supportsInterface(
9538 &self,
9539 interfaceId: alloy::sol_types::private::FixedBytes<4>,
9540 ) -> alloy_contract::SolCallBuilder<&P, supportsInterfaceCall, N> {
9541 self.call_builder(
9542 &supportsInterfaceCall {
9543 interfaceId,
9544 },
9545 )
9546 }
9547 pub fn symbol(&self) -> alloy_contract::SolCallBuilder<&P, symbolCall, N> {
9549 self.call_builder(&symbolCall)
9550 }
9551 pub fn totalSupply(
9553 &self,
9554 ) -> alloy_contract::SolCallBuilder<&P, totalSupplyCall, N> {
9555 self.call_builder(&totalSupplyCall)
9556 }
9557 pub fn totalSupplyAt(
9559 &self,
9560 _blockNumber: u128,
9561 ) -> alloy_contract::SolCallBuilder<&P, totalSupplyAtCall, N> {
9562 self.call_builder(&totalSupplyAtCall { _blockNumber })
9563 }
9564 pub fn totalSupplySnapshots(
9566 &self,
9567 _0: alloy::sol_types::private::primitives::aliases::U256,
9568 ) -> alloy_contract::SolCallBuilder<&P, totalSupplySnapshotsCall, N> {
9569 self.call_builder(&totalSupplySnapshotsCall(_0))
9570 }
9571 pub fn transfer(
9573 &self,
9574 recipient: alloy::sol_types::private::Address,
9575 amount: alloy::sol_types::private::primitives::aliases::U256,
9576 ) -> alloy_contract::SolCallBuilder<&P, transferCall, N> {
9577 self.call_builder(&transferCall { recipient, amount })
9578 }
9579 pub fn transferFrom(
9581 &self,
9582 holder: alloy::sol_types::private::Address,
9583 recipient: alloy::sol_types::private::Address,
9584 amount: alloy::sol_types::private::primitives::aliases::U256,
9585 ) -> alloy_contract::SolCallBuilder<&P, transferFromCall, N> {
9586 self.call_builder(
9587 &transferFromCall {
9588 holder,
9589 recipient,
9590 amount,
9591 },
9592 )
9593 }
9594 }
9595 #[automatically_derived]
9597 impl<
9598 P: alloy_contract::private::Provider<N>,
9599 N: alloy_contract::private::Network,
9600 > HoprTokenInstance<P, N> {
9601 pub fn event_filter<E: alloy_sol_types::SolEvent>(
9606 &self,
9607 ) -> alloy_contract::Event<&P, E, N> {
9608 alloy_contract::Event::new_sol(&self.provider, &self.address)
9609 }
9610 pub fn Approval_filter(&self) -> alloy_contract::Event<&P, Approval, N> {
9612 self.event_filter::<Approval>()
9613 }
9614 pub fn AuthorizedOperator_filter(
9616 &self,
9617 ) -> alloy_contract::Event<&P, AuthorizedOperator, N> {
9618 self.event_filter::<AuthorizedOperator>()
9619 }
9620 pub fn Burned_filter(&self) -> alloy_contract::Event<&P, Burned, N> {
9622 self.event_filter::<Burned>()
9623 }
9624 pub fn Minted_filter(&self) -> alloy_contract::Event<&P, Minted, N> {
9626 self.event_filter::<Minted>()
9627 }
9628 pub fn RevokedOperator_filter(
9630 &self,
9631 ) -> alloy_contract::Event<&P, RevokedOperator, N> {
9632 self.event_filter::<RevokedOperator>()
9633 }
9634 pub fn RoleAdminChanged_filter(
9636 &self,
9637 ) -> alloy_contract::Event<&P, RoleAdminChanged, N> {
9638 self.event_filter::<RoleAdminChanged>()
9639 }
9640 pub fn RoleGranted_filter(&self) -> alloy_contract::Event<&P, RoleGranted, N> {
9642 self.event_filter::<RoleGranted>()
9643 }
9644 pub fn RoleRevoked_filter(&self) -> alloy_contract::Event<&P, RoleRevoked, N> {
9646 self.event_filter::<RoleRevoked>()
9647 }
9648 pub fn Sent_filter(&self) -> alloy_contract::Event<&P, Sent, N> {
9650 self.event_filter::<Sent>()
9651 }
9652 pub fn Transfer_filter(&self) -> alloy_contract::Event<&P, Transfer, N> {
9654 self.event_filter::<Transfer>()
9655 }
9656 }
9657}