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