1#[allow(
169 non_camel_case_types,
170 non_snake_case,
171 clippy::pub_underscore_fields,
172 clippy::style,
173 clippy::empty_structs_with_brackets
174)]
175pub mod ApplicationFactory {
176 use super::*;
177 use alloy::sol_types as alloy_sol_types;
178 #[rustfmt::skip]
184 #[allow(clippy::all)]
185 pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
186 b"`\x80\x80`@R4`\x15Wa\x15\xD3\x90\x81a\0\x1A\x829\xF3[_\x80\xFD\xFE`\x80\x80`@R`\x046\x10\x15a\0\x12W_\x80\xFD[_5`\xE0\x1C\x90\x81c,\xC3\xEF|\x14a\x02\x0BWP\x80cBif{\x14a\x01IWc\x8D\x027\r\x14a\0=W_\x80\xFD[4a\x01EW`\x806`\x03\x19\x01\x12a\x01EW`\x045`\x01`\x01`\xA0\x1B\x03\x81\x16\x90\x81\x81\x03a\x01EW`$5\x91`\x01`\x01`\xA0\x1B\x03\x83\x16\x83\x03a\x01EW`D5\x91`d5g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\x01EWa\0\x9B\x906\x90`\x04\x01a\x02\xA0V[\x93\x90\x91`@Q\x90a\x11\xBD\x80\x83\x01\x90\x83\x82\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x11\x17a\x011W\x85\x85\x8A\x86\x95a\0\xD1\x95\x8C\x95a\x03\xE1\x899a\x03NV[\x03\x90_\xF0\x94\x85\x15a\x01&Wa\x01\x1B\x7F\xD2\x91\xFF\xE9Co,W\xD5\xCE>\x87\xED3Wo\x80\x10S\x94fQ\xA2\xFBO\xECZ@l\xF6\x8C\xC5\x93` \x97`\x01\x80`\xA0\x1B\x03\x16\x96\x87\x91`@Q\x95\x86\x95\x86a\x03\x82V[\x03\x90\xA2`@Q\x90\x81R\xF3[`@Q=_\x82>=\x90\xFD[cNH{q`\xE0\x1B_R`A`\x04R`$_\xFD[_\x80\xFD[4a\x01EW` `\x0Ba\x01\xDC\x82a\x01\xABa\x01b6a\x02\xCEV[\x97\x94\x91\x96\x92\x95\x90\x93a\x01\x9Da\x11\xBD\x95`@Q\x99a\x01\x81\x87\x89\x01\x8Ca\x03\xBEV[\x87\x8BR\x86\x8B\x01\x97a\x03\xE1\x899`@Q\x99\x8A\x94\x88\x86\x01\x97\x88a\x03NV[\x03`\x1F\x19\x81\x01\x87R\x86a\x03\xBEV[`@Q\x94\x85\x93\x83\x85\x01\x97Q\x80\x91\x89^\x84\x01\x90\x83\x82\x01\x90_\x82RQ\x92\x83\x91^\x01\x01_\x81R\x03`\x1F\x19\x81\x01\x83R\x82a\x03\xBEV[Q\x90 \x90`@Q\x91`@\x83\x01R\x83\x82\x01R0\x81R\x01`\xFF\x81S`U\x90 `@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R\xF3[4a\x01EWa\x02\x196a\x02\xCEV[\x90\x94\x95\x92\x91\x92a\x11\xBD\x80\x82\x01\x82\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x011W\x87\x86\x86\x89\x8Ca\x02M\x95\x88\x97a\x03\xE1\x899a\x03NV[\x03\x90_\xF5\x94\x85\x15a\x01&Wa\x01\x1B\x7F\xD2\x91\xFF\xE9Co,W\xD5\xCE>\x87\xED3Wo\x80\x10S\x94fQ\xA2\xFBO\xECZ@l\xF6\x8C\xC5\x93` \x97`\x01\x80`\xA0\x1B\x03\x16\x96\x87\x91`@Q\x95\x86\x95`\x01\x80`\xA0\x1B\x03\x16\x98\x86a\x03\x82V[\x91\x81`\x1F\x84\x01\x12\x15a\x01EW\x825\x91g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x11a\x01EW` \x83\x81\x86\x01\x95\x01\x01\x11a\x01EWV[\x90`\xA0`\x03\x19\x83\x01\x12a\x01EW`\x045`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x03a\x01EW\x91`$5`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x03a\x01EW\x91`D5\x91`d5\x90g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11a\x01EWa\x03&\x91`\x04\x01a\x02\xA0V[\x90\x91`\x845\x90V[\x90\x80` \x93\x92\x81\x84R\x84\x84\x017_\x82\x82\x01\x84\x01R`\x1F\x01`\x1F\x19\x16\x01\x01\x90V[`\x01`\x01`\xA0\x1B\x03\x91\x82\x16\x81R\x91\x16` \x82\x01R`@\x81\x01\x91\x90\x91R`\x80``\x82\x01\x81\x90Ra\x03\x7F\x93\x91\x01\x91a\x03.V[\x90V[\x93a\x03\xAE\x92``\x94\x92\x97\x96\x97`\x01\x80`\xA0\x1B\x03\x16\x86R` \x86\x01R`\x80`@\x86\x01R`\x80\x85\x01\x91a\x03.V[`\x01`\x01`\xA0\x1B\x03\x90\x94\x16\x91\x01RV[\x90`\x1F\x80\x19\x91\x01\x16\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x011W`@RV\xFE`\xC0`@R4a\x02\xB8Wa\x11\xBD\x808\x03\x80a\0\x19\x81a\x02\xBCV[\x92\x839\x81\x01\x90`\x80\x81\x83\x03\x12a\x02\xB8W\x80Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x91\x90\x82\x90\x03a\x02\xB8W` \x81\x01Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x90\x81\x90\x03a\x02\xB8W`@\x82\x01Q``\x83\x01Q\x90\x92`\x01`\x01`@\x1B\x03\x82\x11a\x02\xB8W\x01\x84`\x1F\x82\x01\x12\x15a\x02\xB8W\x80Q\x90`\x01`\x01`@\x1B\x03\x82\x11a\x02\x91Wa\0\x9F`\x1F\x83\x01`\x1F\x19\x16` \x01a\x02\xBCV[\x95\x82\x87R` \x83\x83\x01\x01\x11a\x02\xB8W\x81_\x92` \x80\x93\x01\x83\x89\x01^\x86\x01\x01R\x80\x15a\x02\xA5W_\x80T`\x01`\x01`\xA0\x1B\x03\x19\x81\x16\x83\x17\x82U`\x01`\x01`\xA0\x1B\x03\x16\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x80\xA3`\x01\x80UC`\x80R`\xA0R`\x03\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16\x91\x90\x91\x17\x90U\x80Q`\x01`\x01`@\x1B\x03\x81\x11a\x02\x91W`\x04T`\x01\x81\x81\x1C\x91\x16\x80\x15a\x02\x87W[` \x82\x10\x14a\x02sW`\x1F\x81\x11a\x02\x10W[P` \x91`\x1F\x82\x11`\x01\x14a\x01\xB0W\x91\x81\x92_\x92a\x01\xA5W[PP\x81`\x01\x1B\x91_\x19\x90`\x03\x1B\x1C\x19\x16\x17`\x04U[`@Qa\x0E\xDB\x90\x81a\x02\xE2\x829`\x80Q\x81a\x06\x87\x01R`\xA0Q\x81a\x05g\x01R\xF3[\x01Q\x90P_\x80a\x01oV[`\x1F\x19\x82\x16\x92`\x04_R\x80_ \x91_[\x85\x81\x10a\x01\xF8WP\x83`\x01\x95\x10a\x01\xE0W[PPP\x81\x1B\x01`\x04Ua\x01\x84V[\x01Q_\x19`\xF8\x84`\x03\x1B\x16\x1C\x19\x16\x90U_\x80\x80a\x01\xD2V[\x91\x92` `\x01\x81\x92\x86\x85\x01Q\x81U\x01\x94\x01\x92\x01a\x01\xC0V[`\x04_R\x7F\x8A5\xAC\xFB\xC1_\xF8\x1A9\xAE}4O\xD7\t\xF2\x8E\x86\0\xB4\xAA\x8Ce\xC6\xB6K\xFE\x7F\xE3k\xD1\x9B`\x1F\x83\x01`\x05\x1C\x81\x01\x91` \x84\x10a\x02iW[`\x1F\x01`\x05\x1C\x01\x90[\x81\x81\x10a\x02^WPa\x01VV[_\x81U`\x01\x01a\x02QV[\x90\x91P\x81\x90a\x02HV[cNH{q`\xE0\x1B_R`\"`\x04R`$_\xFD[\x90`\x7F\x16\x90a\x01DV[cNH{q`\xE0\x1B_R`A`\x04R`$_\xFD[c\x1EO\xBD\xF7`\xE0\x1B_R_`\x04R`$_\xFD[_\x80\xFD[`@Q\x91\x90`\x1F\x01`\x1F\x19\x16\x82\x01`\x01`\x01`@\x1B\x03\x81\x11\x83\x82\x10\x17a\x02\x91W`@RV\xFE`\x80`@R`\x046\x10\x15a\0\x1AW[6\x15a\0\x18W_\x80\xFD[\0[_5`\xE0\x1C\x80c\x01\xFF\xC9\xA7\x14a\x01)W\x80c\x08\xEB\x89\xAB\x14a\x01$W\x80c\x15\x0Bz\x02\x14a\x01\x1FW\x80c3\x13{v\x14a\x01\x1AW\x80ca\xB1,f\x14a\x01\x15W\x80cqP\x18\xA6\x14a\x01\x10W\x80cq\x89\x1D\xB0\x14a\x01\x0BW\x80c\x8D\xA5\xCB[\x14a\x01\x06W\x80c\xA9M\xFCZ\x14a\x01\x01W\x80c\xB3\xA1\xAC\xD8\x14a\0\xFCW\x80c\xBC\x19|\x81\x14a\0\xF7W\x80c\xBF\x8A\xBF\xF8\x14a\0\xF2W\x80c\xE6O\xABM\x14a\0\xEDW\x80c\xE8\x8D9\xC0\x14a\0\xE8W\x80c\xF0$x\xDE\x14a\0\xE3W\x80c\xF2:na\x14a\0\xDEWc\xF2\xFD\xE3\x8B\x03a\0\x0EWa\t\xC6V[a\tmV[a\x08~V[a\x08=V[a\x08 V[a\x07\xAFV[a\x07\x11V[a\x06pV[a\x06HV[a\x06!V[a\x05\xE1V[a\x05\x8AV[a\x05PV[a\x03KV[a\x02\x86V[a\x01\x91V[4a\x01\x7FW` 6`\x03\x19\x01\x12a\x01\x7FW`\x045c\xFF\xFF\xFF\xFF`\xE0\x1B\x81\x16\x80\x91\x03a\x01\x7FW` \x90c\x02q\x18\x97`\xE5\x1B\x81\x14\x90\x81\x15a\x01nW[P`@Q\x90\x15\x15\x81R\xF3[c\x01\xFF\xC9\xA7`\xE0\x1B\x14\x90P_a\x01cV[_\x80\xFD[\x90\x81`@\x91\x03\x12a\x01\x7FW\x90V[4a\x01\x7FW`@6`\x03\x19\x01\x12a\x01\x7FW`$5`\x01`\x01`@\x1B\x03\x81\x11a\x01\x7FWa\x01\xC4a\0\x18\x916\x90`\x04\x01a\x01\x83V[`\x045a\nOV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x03a\x01\x7FWV[cNH{q`\xE0\x1B_R`A`\x04R`$_\xFD[\x90`\x1F\x80\x19\x91\x01\x16\x81\x01\x90\x81\x10`\x01`\x01`@\x1B\x03\x82\x11\x17a\x02\x12W`@RV[a\x01\xDDV[`\x01`\x01`@\x1B\x03\x81\x11a\x02\x12W`\x1F\x01`\x1F\x19\x16` \x01\x90V[\x92\x91\x92a\x02>\x82a\x02\x17V[\x91a\x02L`@Q\x93\x84a\x01\xF1V[\x82\x94\x81\x84R\x81\x83\x01\x11a\x01\x7FW\x82\x81` \x93\x84_\x96\x017\x01\x01RV[\x90\x80`\x1F\x83\x01\x12\x15a\x01\x7FW\x81` a\x02\x83\x935\x91\x01a\x022V[\x90V[4a\x01\x7FW`\x806`\x03\x19\x01\x12a\x01\x7FWa\x02\xA2`\x045a\x01\xCCV[a\x02\xAD`$5a\x01\xCCV[`d5`\x01`\x01`@\x1B\x03\x81\x11a\x01\x7FWa\x02\xCC\x906\x90`\x04\x01a\x02hV[P`@Qc\n\x85\xBD\x01`\xE1\x1B\x81R` \x90\xF3[`@`\x03\x19\x82\x01\x12a\x01\x7FW`\x045\x91`\x01`\x01`@\x1B\x03\x83\x11a\x01\x7FW\x81`#\x84\x01\x12\x15a\x01\x7FW\x82`\x04\x015\x92`\x01`\x01`@\x1B\x03\x84\x11a\x01\x7FW\x82`$\x85\x83\x01\x01\x11a\x01\x7FW`$\x01\x92\x91`$5\x90`\x01`\x01`@\x1B\x03\x82\x11a\x01\x7FWa\x02\x83\x91`\x04\x01a\x01\x83V[4a\x01\x7FWa\x03Y6a\x02\xDFV[`\x02`\x01\x93\x92\x93T\x14a\x05AWa\x03\x7F\x90`\x02`\x01Ua\x03z\x81\x85\x85a\x0C\x0EV[a\x0B&V[`\x04\x83\x10a\x05$Wa\x03\x9Aa\x03\x94\x84\x84a\x0BkV[\x90a\x0B\x96V[a\x03\xA5\x84\x80\x85a\x0ByV[\x91`\x01`\x01`\xE0\x1B\x03\x19\x16c#z\x81o`\xE0\x1B\x81\x03a\x04\x95WPa\x03\xE9`\x01`\x01`@\x1B\x03\x84\x16`\xFF`\x01\x91\x80`\x08\x1C_R`\x02` R\x16\x1B`@_ T\x16\x15\x15\x90V[a\x04qW\x93a\x04\x1Ca\x04e\x92\x7F\xCA\xD1\xF3a\xC6\xE8Fd\xE8\x92#\x02\x91\xC8\xE8\xEB\x95Uh>\nj\\\xE8\xEA{ J\xC0\xAC6v\x96a\rMV[a\x04F`\x01`\x01`@\x1B\x03\x84\x16\x80`\x08\x1C_R`\x02` R`\x01`\xFF`@_ \x92\x16\x1B\x81T\x17\x90UV[a\x04Ya\x04T`\x05Ta\x0B\xCCV[`\x05UV[`@Q\x93\x84\x93\x84a\x0B\xEEV[\x03\x90\xA1a\0\x18`\x01\x80UV[PP`@Qc{\x97\xA6\xBB`\xE0\x1B\x81R\x92\x83\x92a\x04\x91\x92P`\x04\x84\x01a\x0BZV[\x03\x90\xFD[c\x102\x1E\x8B`\xE0\x1B\x03a\x05\x04Wa\x04\xCC`\x01`\x01`@\x1B\x03\x84\x16`\xFF`\x01\x91\x80`\x08\x1C_R`\x02` R\x16\x1B`@_ T\x16\x15\x15\x90V[a\x04qW\x93a\x04\xFFa\x04e\x92\x7F\xCA\xD1\xF3a\xC6\xE8Fd\xE8\x92#\x02\x91\xC8\xE8\xEB\x95Uh>\nj\\\xE8\xEA{ J\xC0\xAC6v\x96a\x0C\xE8V[a\x04\x1CV[PP`@QciB`\x0F`\xE1\x1B\x81R\x92\x83\x92a\x04\x91\x92P`\x04\x84\x01a\x0BZV[Pa\x04\x91`@Q\x92\x83\x92ciB`\x0F`\xE1\x1B\x84R`\x04\x84\x01a\x0BZV[c>\xE5\xAE\xB5`\xE0\x1B_R`\x04_\xFD[4a\x01\x7FW_6`\x03\x19\x01\x12a\x01\x7FW` `@Q\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xF3[4a\x01\x7FW_6`\x03\x19\x01\x12a\x01\x7FWa\x05\xA2a\r\xBDV[_\x80T`\x01`\x01`\xA0\x1B\x03\x19\x81\x16\x82U`\x01`\x01`\xA0\x1B\x03\x16\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x82\x80\xA3\0[4a\x01\x7FW` 6`\x03\x19\x01\x12a\x01\x7FW` a\x06\x17`\x045`\xFF`\x01\x91\x80`\x08\x1C_R`\x02` R\x16\x1B`@_ T\x16\x15\x15\x90V[`@Q\x90\x15\x15\x81R\xF3[4a\x01\x7FW_6`\x03\x19\x01\x12a\x01\x7FW_T`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x90\xF3[4a\x01\x7FW_6`\x03\x19\x01\x12a\x01\x7FW`\x03T`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x90\xF3[4a\x01\x7FW_6`\x03\x19\x01\x12a\x01\x7FW` `@Q\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xF3[\x90\x80`\x1F\x83\x01\x12\x15a\x01\x7FW\x815\x91`\x01`\x01`@\x1B\x03\x83\x11a\x02\x12W\x82`\x05\x1B\x90`@Q\x93a\x06\xDD` \x84\x01\x86a\x01\xF1V[\x84R` \x80\x85\x01\x92\x82\x01\x01\x92\x83\x11a\x01\x7FW` \x01\x90[\x82\x82\x10a\x07\x01WPPP\x90V[\x815\x81R` \x91\x82\x01\x91\x01a\x06\xF4V[4a\x01\x7FW`\xA06`\x03\x19\x01\x12a\x01\x7FWa\x07-`\x045a\x01\xCCV[a\x078`$5a\x01\xCCV[`D5`\x01`\x01`@\x1B\x03\x81\x11a\x01\x7FWa\x07W\x906\x90`\x04\x01a\x06\xAAV[P`d5`\x01`\x01`@\x1B\x03\x81\x11a\x01\x7FWa\x07w\x906\x90`\x04\x01a\x06\xAAV[P`\x845`\x01`\x01`@\x1B\x03\x81\x11a\x01\x7FWa\x07\x97\x906\x90`\x04\x01a\x02hV[P`@Qc\xBC\x19|\x81`\xE0\x1B\x81R\x80` \x81\x01[\x03\x90\xF3[4a\x01\x7FW` 6`\x03\x19\x01\x12a\x01\x7FW\x7Fj\xD3\x18\x8B\xA8\xF40\xFB\xA0el\xB0\xA7\xE89\xAB \xD5Xk\xA1\x1A\x14w\xD1\x8Fp\x92\xF8\xBE\xCE`\x045a\x07\xED\x81a\x01\xCCV[a\x07\xF5a\r\xBDV[`\x03\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x91\x82\x17\x90U`@Q\x90\x81R` \x90\xA1\0[4a\x01\x7FW_6`\x03\x19\x01\x12a\x01\x7FW` `\x05T`@Q\x90\x81R\xF3[4a\x01\x7FWa\0\x18a\x08N6a\x02\xDFV[\x91a\x0C\x0EV[` `@\x92\x81\x83R\x80Q\x91\x82\x91\x82\x82\x86\x01R\x01\x84\x84\x01^_\x82\x82\x01\x84\x01R`\x1F\x01`\x1F\x19\x16\x01\x01\x90V[4a\x01\x7FW_6`\x03\x19\x01\x12a\x01\x7FW`@Q_`\x04T\x80`\x01\x1C\x90`\x01\x81\x16\x90\x81\x15a\tcW[` \x83\x10\x82\x14a\tOW\x82\x85R` \x85\x01\x91\x90\x81\x15a\t6WP`\x01\x14a\x08\xE4W[a\x07\xAB\x84a\x08\xD8\x81\x86\x03\x82a\x01\xF1V[`@Q\x91\x82\x91\x82a\x08TV[`\x04_\x90\x81R\x92P\x90\x7F\x8A5\xAC\xFB\xC1_\xF8\x1A9\xAE}4O\xD7\t\xF2\x8E\x86\0\xB4\xAA\x8Ce\xC6\xB6K\xFE\x7F\xE3k\xD1\x9B[\x81\x84\x10a\t\"WPP\x01a\x08\xD8\x82a\x08\xC8V[\x80T\x84\x84\x01R` \x90\x93\x01\x92`\x01\x01a\t\x0FV[`\xFF\x19\x16\x82RP\x90\x15\x15`\x05\x1B\x01\x90Pa\x08\xD8\x82a\x08\xC8V[cNH{q`\xE0\x1B_R`\"`\x04R`$_\xFD[\x91`\x7F\x16\x91a\x08\xA6V[4a\x01\x7FW`\xA06`\x03\x19\x01\x12a\x01\x7FWa\t\x89`\x045a\x01\xCCV[a\t\x94`$5a\x01\xCCV[`\x845`\x01`\x01`@\x1B\x03\x81\x11a\x01\x7FWa\t\xB3\x906\x90`\x04\x01a\x02hV[P`@Qc\xF2:na`\xE0\x1B\x81R` \x90\xF3[4a\x01\x7FW` 6`\x03\x19\x01\x12a\x01\x7FW`\x045a\t\xE3\x81a\x01\xCCV[a\t\xEBa\r\xBDV[`\x01`\x01`\xA0\x1B\x03\x16\x80\x15a\n<W_\x80T`\x01`\x01`\xA0\x1B\x03\x19\x81\x16\x83\x17\x82U`\x01`\x01`\xA0\x1B\x03\x16\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x80\xA3\0[c\x1EO\xBD\xF7`\xE0\x1B_R_`\x04R`$_\xFD[\x91` \x82\x01\x91`?a\na\x84\x83a\x0C,V[\x90P\x03a\x0B\x17W`\x01`\x01`@\x1B\x03a\n\x80a\n\x88\x94\x83\x96\x94\x96a\x0C,V[\x94\x90\x92a\x0B&V[\x16\x93_\x92[\x84\x84\x10\x15a\n\xDEWa\n\xC5`\x01\x91\x85`\x05\x1B\x85\x015\x90\x83\x89\x16\x15_\x14a\n\xCEW\x90a\n\xBE\x91_R` R`@_ \x90V[\x96`\x01\x1C\x90V[\x93\x01\x92\x94a\n\x8DV[a\n\xBE\x91_R` R`@_ \x90V[\x93P\x93\x90Pa\n\xEE\x91P\x15a\r\xE3V[a\n\xFEa\n\xFA\x82a\x0CaV[\x15\x90V[a\x0B\x05WPV[cD\xA1\x92\xFF`\xE0\x1B_R`\x04R`$_\xFD[c],^\x9B`\xE1\x1B_R`\x04_\xFD[5`\x01`\x01`@\x1B\x03\x81\x16\x81\x03a\x01\x7FW\x90V[\x90\x80` \x93\x92\x81\x84R\x84\x84\x017_\x82\x82\x01\x84\x01R`\x1F\x01`\x1F\x19\x16\x01\x01\x90V[\x91` a\x02\x83\x93\x81\x81R\x01\x91a\x0B:V[\x90`\x04\x11a\x01\x7FW\x90`\x04\x90V[\x90\x92\x91\x92\x83`\x04\x11a\x01\x7FW\x83\x11a\x01\x7FW`\x04\x01\x91`\x03\x19\x01\x90V[5`\x01`\x01`\xE0\x1B\x03\x19\x81\x16\x92\x91\x90`\x04\x82\x10a\x0B\xB1WPPV[`\x01`\x01`\xE0\x1B\x03\x19`\x04\x92\x90\x92\x03`\x03\x1B\x82\x90\x1B\x16\x16\x91PV[_\x19\x81\x14a\x0B\xDAW`\x01\x01\x90V[cNH{q`\xE0\x1B_R`\x11`\x04R`$_\xFD[`@\x90`\x01`\x01`@\x1B\x03a\x02\x83\x95\x93\x16\x81R\x81` \x82\x01R\x01\x91a\x0B:V[a\x0C\x1E\x90a\x0C*\x93\x926\x91a\x022V[` \x81Q\x91\x01 a\nOV[V[\x905\x90`\x1E\x19\x816\x03\x01\x82\x12\x15a\x01\x7FW\x01\x805\x90`\x01`\x01`@\x1B\x03\x82\x11a\x01\x7FW` \x01\x91\x81`\x05\x1B6\x03\x83\x13a\x01\x7FWV[`\x03T`@Qc9s!\x99`\xE2\x1B\x81R0`\x04\x82\x01R`$\x81\x01\x92\x90\x92R` \x90\x82\x90`D\x90\x82\x90`\x01`\x01`\xA0\x1B\x03\x16Z\xFA\x90\x81\x15a\x0C\xDDW_\x91a\x0C\xA5WP\x90V[\x90P` \x81=` \x11a\x0C\xD5W[\x81a\x0C\xC0` \x93\x83a\x01\xF1V[\x81\x01\x03\x12a\x01\x7FWQ\x80\x15\x15\x81\x03a\x01\x7FW\x90V[=\x91Pa\x0C\xB3V[`@Q=_\x82>=\x90\xFD[\x90\x81\x01\x90`@\x81\x83\x03\x12a\x01\x7FW\x805a\r\x01\x81a\x01\xCCV[` \x82\x015\x91`\x01`\x01`@\x1B\x03\x83\x11a\x01\x7FW_\x93\x84\x93a\r#\x92\x01a\x02hV[\x80Q\x91` \x90\x91\x01\x90`\x01`\x01`\xA0\x1B\x03\x16Z\xF4a\r?a\x0E.V[\x90\x15a\rHWPV[a\x0E\x94V[\x90\x81\x01``\x82\x82\x03\x12a\x01\x7FW\x815a\re\x81a\x01\xCCV[` \x83\x015\x92`@\x81\x015\x90`\x01`\x01`@\x1B\x03\x82\x11a\x01\x7FWa\r\x9E\x93\x85\x92a\r\x8F\x92\x01a\x02hV[\x91`\x01`\x01`\xA0\x1B\x03\x16a\x0E]V[\x91\x90\x15a\r\xA9WPPV[b\xFA\xE2\xD5`\xE2\x1B_R`\x04R`$R`D_\xFD[_T`\x01`\x01`\xA0\x1B\x03\x163\x03a\r\xD0WV[c\x11\x8C\xDA\xA7`\xE0\x1B_R3`\x04R`$_\xFD[\x15a\r\xEAWV[`d`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R` `$\x82\x01R\x7FLibMerkle32: index out of bounds`D\x82\x01R\xFD[=\x15a\x0EXW=\x90a\x0E?\x82a\x02\x17V[\x91a\x0EM`@Q\x93\x84a\x01\xF1V[\x82R=_` \x84\x01>V[``\x90V[\x90\x92\x91\x92G\x93\x84\x82\x11a\x0E\x8CW_\x92\x83\x92` \x83Q\x93\x01\x91Z\xF1a\x0E\x7Fa\x0E.V[\x90\x15a\rHWP`\x01\x91\x90V[PPP_\x91\x90V[\x80Q\x90\x81a\x0E\xA0W_\x80\xFD[` \x01\xFD\xFE\xA2dipfsX\"\x12 y%\x81\xCD\xB4\xC6\x19\xBA\xE2y\xF0\xC9.\x04z\xADa\xEBL\xF6\xDCo\xA5\x82w\xBA\xEE\xF4'\x18\xD5}dsolcC\0\x08\x1E\x003\xA2dipfsX\"\x12 \xDB\xEE\xC0\xF6\x01\xCDu\x191\x04\xBE\xDB\xC4\x0Cz\xE4\x96\x94\xCDQ\xBEq\x06\xD8\x01\xF0\x8F\0\x0EW0\xEEdsolcC\0\x08\x1E\x003",
187 );
188 #[rustfmt::skip]
194 #[allow(clippy::all)]
195 pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static(
196 b"`\x80\x80`@R`\x046\x10\x15a\0\x12W_\x80\xFD[_5`\xE0\x1C\x90\x81c,\xC3\xEF|\x14a\x02\x0BWP\x80cBif{\x14a\x01IWc\x8D\x027\r\x14a\0=W_\x80\xFD[4a\x01EW`\x806`\x03\x19\x01\x12a\x01EW`\x045`\x01`\x01`\xA0\x1B\x03\x81\x16\x90\x81\x81\x03a\x01EW`$5\x91`\x01`\x01`\xA0\x1B\x03\x83\x16\x83\x03a\x01EW`D5\x91`d5g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\x01EWa\0\x9B\x906\x90`\x04\x01a\x02\xA0V[\x93\x90\x91`@Q\x90a\x11\xBD\x80\x83\x01\x90\x83\x82\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x11\x17a\x011W\x85\x85\x8A\x86\x95a\0\xD1\x95\x8C\x95a\x03\xE1\x899a\x03NV[\x03\x90_\xF0\x94\x85\x15a\x01&Wa\x01\x1B\x7F\xD2\x91\xFF\xE9Co,W\xD5\xCE>\x87\xED3Wo\x80\x10S\x94fQ\xA2\xFBO\xECZ@l\xF6\x8C\xC5\x93` \x97`\x01\x80`\xA0\x1B\x03\x16\x96\x87\x91`@Q\x95\x86\x95\x86a\x03\x82V[\x03\x90\xA2`@Q\x90\x81R\xF3[`@Q=_\x82>=\x90\xFD[cNH{q`\xE0\x1B_R`A`\x04R`$_\xFD[_\x80\xFD[4a\x01EW` `\x0Ba\x01\xDC\x82a\x01\xABa\x01b6a\x02\xCEV[\x97\x94\x91\x96\x92\x95\x90\x93a\x01\x9Da\x11\xBD\x95`@Q\x99a\x01\x81\x87\x89\x01\x8Ca\x03\xBEV[\x87\x8BR\x86\x8B\x01\x97a\x03\xE1\x899`@Q\x99\x8A\x94\x88\x86\x01\x97\x88a\x03NV[\x03`\x1F\x19\x81\x01\x87R\x86a\x03\xBEV[`@Q\x94\x85\x93\x83\x85\x01\x97Q\x80\x91\x89^\x84\x01\x90\x83\x82\x01\x90_\x82RQ\x92\x83\x91^\x01\x01_\x81R\x03`\x1F\x19\x81\x01\x83R\x82a\x03\xBEV[Q\x90 \x90`@Q\x91`@\x83\x01R\x83\x82\x01R0\x81R\x01`\xFF\x81S`U\x90 `@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R\xF3[4a\x01EWa\x02\x196a\x02\xCEV[\x90\x94\x95\x92\x91\x92a\x11\xBD\x80\x82\x01\x82\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x011W\x87\x86\x86\x89\x8Ca\x02M\x95\x88\x97a\x03\xE1\x899a\x03NV[\x03\x90_\xF5\x94\x85\x15a\x01&Wa\x01\x1B\x7F\xD2\x91\xFF\xE9Co,W\xD5\xCE>\x87\xED3Wo\x80\x10S\x94fQ\xA2\xFBO\xECZ@l\xF6\x8C\xC5\x93` \x97`\x01\x80`\xA0\x1B\x03\x16\x96\x87\x91`@Q\x95\x86\x95`\x01\x80`\xA0\x1B\x03\x16\x98\x86a\x03\x82V[\x91\x81`\x1F\x84\x01\x12\x15a\x01EW\x825\x91g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x11a\x01EW` \x83\x81\x86\x01\x95\x01\x01\x11a\x01EWV[\x90`\xA0`\x03\x19\x83\x01\x12a\x01EW`\x045`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x03a\x01EW\x91`$5`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x03a\x01EW\x91`D5\x91`d5\x90g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11a\x01EWa\x03&\x91`\x04\x01a\x02\xA0V[\x90\x91`\x845\x90V[\x90\x80` \x93\x92\x81\x84R\x84\x84\x017_\x82\x82\x01\x84\x01R`\x1F\x01`\x1F\x19\x16\x01\x01\x90V[`\x01`\x01`\xA0\x1B\x03\x91\x82\x16\x81R\x91\x16` \x82\x01R`@\x81\x01\x91\x90\x91R`\x80``\x82\x01\x81\x90Ra\x03\x7F\x93\x91\x01\x91a\x03.V[\x90V[\x93a\x03\xAE\x92``\x94\x92\x97\x96\x97`\x01\x80`\xA0\x1B\x03\x16\x86R` \x86\x01R`\x80`@\x86\x01R`\x80\x85\x01\x91a\x03.V[`\x01`\x01`\xA0\x1B\x03\x90\x94\x16\x91\x01RV[\x90`\x1F\x80\x19\x91\x01\x16\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x011W`@RV\xFE`\xC0`@R4a\x02\xB8Wa\x11\xBD\x808\x03\x80a\0\x19\x81a\x02\xBCV[\x92\x839\x81\x01\x90`\x80\x81\x83\x03\x12a\x02\xB8W\x80Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x91\x90\x82\x90\x03a\x02\xB8W` \x81\x01Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x90\x81\x90\x03a\x02\xB8W`@\x82\x01Q``\x83\x01Q\x90\x92`\x01`\x01`@\x1B\x03\x82\x11a\x02\xB8W\x01\x84`\x1F\x82\x01\x12\x15a\x02\xB8W\x80Q\x90`\x01`\x01`@\x1B\x03\x82\x11a\x02\x91Wa\0\x9F`\x1F\x83\x01`\x1F\x19\x16` \x01a\x02\xBCV[\x95\x82\x87R` \x83\x83\x01\x01\x11a\x02\xB8W\x81_\x92` \x80\x93\x01\x83\x89\x01^\x86\x01\x01R\x80\x15a\x02\xA5W_\x80T`\x01`\x01`\xA0\x1B\x03\x19\x81\x16\x83\x17\x82U`\x01`\x01`\xA0\x1B\x03\x16\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x80\xA3`\x01\x80UC`\x80R`\xA0R`\x03\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16\x91\x90\x91\x17\x90U\x80Q`\x01`\x01`@\x1B\x03\x81\x11a\x02\x91W`\x04T`\x01\x81\x81\x1C\x91\x16\x80\x15a\x02\x87W[` \x82\x10\x14a\x02sW`\x1F\x81\x11a\x02\x10W[P` \x91`\x1F\x82\x11`\x01\x14a\x01\xB0W\x91\x81\x92_\x92a\x01\xA5W[PP\x81`\x01\x1B\x91_\x19\x90`\x03\x1B\x1C\x19\x16\x17`\x04U[`@Qa\x0E\xDB\x90\x81a\x02\xE2\x829`\x80Q\x81a\x06\x87\x01R`\xA0Q\x81a\x05g\x01R\xF3[\x01Q\x90P_\x80a\x01oV[`\x1F\x19\x82\x16\x92`\x04_R\x80_ \x91_[\x85\x81\x10a\x01\xF8WP\x83`\x01\x95\x10a\x01\xE0W[PPP\x81\x1B\x01`\x04Ua\x01\x84V[\x01Q_\x19`\xF8\x84`\x03\x1B\x16\x1C\x19\x16\x90U_\x80\x80a\x01\xD2V[\x91\x92` `\x01\x81\x92\x86\x85\x01Q\x81U\x01\x94\x01\x92\x01a\x01\xC0V[`\x04_R\x7F\x8A5\xAC\xFB\xC1_\xF8\x1A9\xAE}4O\xD7\t\xF2\x8E\x86\0\xB4\xAA\x8Ce\xC6\xB6K\xFE\x7F\xE3k\xD1\x9B`\x1F\x83\x01`\x05\x1C\x81\x01\x91` \x84\x10a\x02iW[`\x1F\x01`\x05\x1C\x01\x90[\x81\x81\x10a\x02^WPa\x01VV[_\x81U`\x01\x01a\x02QV[\x90\x91P\x81\x90a\x02HV[cNH{q`\xE0\x1B_R`\"`\x04R`$_\xFD[\x90`\x7F\x16\x90a\x01DV[cNH{q`\xE0\x1B_R`A`\x04R`$_\xFD[c\x1EO\xBD\xF7`\xE0\x1B_R_`\x04R`$_\xFD[_\x80\xFD[`@Q\x91\x90`\x1F\x01`\x1F\x19\x16\x82\x01`\x01`\x01`@\x1B\x03\x81\x11\x83\x82\x10\x17a\x02\x91W`@RV\xFE`\x80`@R`\x046\x10\x15a\0\x1AW[6\x15a\0\x18W_\x80\xFD[\0[_5`\xE0\x1C\x80c\x01\xFF\xC9\xA7\x14a\x01)W\x80c\x08\xEB\x89\xAB\x14a\x01$W\x80c\x15\x0Bz\x02\x14a\x01\x1FW\x80c3\x13{v\x14a\x01\x1AW\x80ca\xB1,f\x14a\x01\x15W\x80cqP\x18\xA6\x14a\x01\x10W\x80cq\x89\x1D\xB0\x14a\x01\x0BW\x80c\x8D\xA5\xCB[\x14a\x01\x06W\x80c\xA9M\xFCZ\x14a\x01\x01W\x80c\xB3\xA1\xAC\xD8\x14a\0\xFCW\x80c\xBC\x19|\x81\x14a\0\xF7W\x80c\xBF\x8A\xBF\xF8\x14a\0\xF2W\x80c\xE6O\xABM\x14a\0\xEDW\x80c\xE8\x8D9\xC0\x14a\0\xE8W\x80c\xF0$x\xDE\x14a\0\xE3W\x80c\xF2:na\x14a\0\xDEWc\xF2\xFD\xE3\x8B\x03a\0\x0EWa\t\xC6V[a\tmV[a\x08~V[a\x08=V[a\x08 V[a\x07\xAFV[a\x07\x11V[a\x06pV[a\x06HV[a\x06!V[a\x05\xE1V[a\x05\x8AV[a\x05PV[a\x03KV[a\x02\x86V[a\x01\x91V[4a\x01\x7FW` 6`\x03\x19\x01\x12a\x01\x7FW`\x045c\xFF\xFF\xFF\xFF`\xE0\x1B\x81\x16\x80\x91\x03a\x01\x7FW` \x90c\x02q\x18\x97`\xE5\x1B\x81\x14\x90\x81\x15a\x01nW[P`@Q\x90\x15\x15\x81R\xF3[c\x01\xFF\xC9\xA7`\xE0\x1B\x14\x90P_a\x01cV[_\x80\xFD[\x90\x81`@\x91\x03\x12a\x01\x7FW\x90V[4a\x01\x7FW`@6`\x03\x19\x01\x12a\x01\x7FW`$5`\x01`\x01`@\x1B\x03\x81\x11a\x01\x7FWa\x01\xC4a\0\x18\x916\x90`\x04\x01a\x01\x83V[`\x045a\nOV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x03a\x01\x7FWV[cNH{q`\xE0\x1B_R`A`\x04R`$_\xFD[\x90`\x1F\x80\x19\x91\x01\x16\x81\x01\x90\x81\x10`\x01`\x01`@\x1B\x03\x82\x11\x17a\x02\x12W`@RV[a\x01\xDDV[`\x01`\x01`@\x1B\x03\x81\x11a\x02\x12W`\x1F\x01`\x1F\x19\x16` \x01\x90V[\x92\x91\x92a\x02>\x82a\x02\x17V[\x91a\x02L`@Q\x93\x84a\x01\xF1V[\x82\x94\x81\x84R\x81\x83\x01\x11a\x01\x7FW\x82\x81` \x93\x84_\x96\x017\x01\x01RV[\x90\x80`\x1F\x83\x01\x12\x15a\x01\x7FW\x81` a\x02\x83\x935\x91\x01a\x022V[\x90V[4a\x01\x7FW`\x806`\x03\x19\x01\x12a\x01\x7FWa\x02\xA2`\x045a\x01\xCCV[a\x02\xAD`$5a\x01\xCCV[`d5`\x01`\x01`@\x1B\x03\x81\x11a\x01\x7FWa\x02\xCC\x906\x90`\x04\x01a\x02hV[P`@Qc\n\x85\xBD\x01`\xE1\x1B\x81R` \x90\xF3[`@`\x03\x19\x82\x01\x12a\x01\x7FW`\x045\x91`\x01`\x01`@\x1B\x03\x83\x11a\x01\x7FW\x81`#\x84\x01\x12\x15a\x01\x7FW\x82`\x04\x015\x92`\x01`\x01`@\x1B\x03\x84\x11a\x01\x7FW\x82`$\x85\x83\x01\x01\x11a\x01\x7FW`$\x01\x92\x91`$5\x90`\x01`\x01`@\x1B\x03\x82\x11a\x01\x7FWa\x02\x83\x91`\x04\x01a\x01\x83V[4a\x01\x7FWa\x03Y6a\x02\xDFV[`\x02`\x01\x93\x92\x93T\x14a\x05AWa\x03\x7F\x90`\x02`\x01Ua\x03z\x81\x85\x85a\x0C\x0EV[a\x0B&V[`\x04\x83\x10a\x05$Wa\x03\x9Aa\x03\x94\x84\x84a\x0BkV[\x90a\x0B\x96V[a\x03\xA5\x84\x80\x85a\x0ByV[\x91`\x01`\x01`\xE0\x1B\x03\x19\x16c#z\x81o`\xE0\x1B\x81\x03a\x04\x95WPa\x03\xE9`\x01`\x01`@\x1B\x03\x84\x16`\xFF`\x01\x91\x80`\x08\x1C_R`\x02` R\x16\x1B`@_ T\x16\x15\x15\x90V[a\x04qW\x93a\x04\x1Ca\x04e\x92\x7F\xCA\xD1\xF3a\xC6\xE8Fd\xE8\x92#\x02\x91\xC8\xE8\xEB\x95Uh>\nj\\\xE8\xEA{ J\xC0\xAC6v\x96a\rMV[a\x04F`\x01`\x01`@\x1B\x03\x84\x16\x80`\x08\x1C_R`\x02` R`\x01`\xFF`@_ \x92\x16\x1B\x81T\x17\x90UV[a\x04Ya\x04T`\x05Ta\x0B\xCCV[`\x05UV[`@Q\x93\x84\x93\x84a\x0B\xEEV[\x03\x90\xA1a\0\x18`\x01\x80UV[PP`@Qc{\x97\xA6\xBB`\xE0\x1B\x81R\x92\x83\x92a\x04\x91\x92P`\x04\x84\x01a\x0BZV[\x03\x90\xFD[c\x102\x1E\x8B`\xE0\x1B\x03a\x05\x04Wa\x04\xCC`\x01`\x01`@\x1B\x03\x84\x16`\xFF`\x01\x91\x80`\x08\x1C_R`\x02` R\x16\x1B`@_ T\x16\x15\x15\x90V[a\x04qW\x93a\x04\xFFa\x04e\x92\x7F\xCA\xD1\xF3a\xC6\xE8Fd\xE8\x92#\x02\x91\xC8\xE8\xEB\x95Uh>\nj\\\xE8\xEA{ J\xC0\xAC6v\x96a\x0C\xE8V[a\x04\x1CV[PP`@QciB`\x0F`\xE1\x1B\x81R\x92\x83\x92a\x04\x91\x92P`\x04\x84\x01a\x0BZV[Pa\x04\x91`@Q\x92\x83\x92ciB`\x0F`\xE1\x1B\x84R`\x04\x84\x01a\x0BZV[c>\xE5\xAE\xB5`\xE0\x1B_R`\x04_\xFD[4a\x01\x7FW_6`\x03\x19\x01\x12a\x01\x7FW` `@Q\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xF3[4a\x01\x7FW_6`\x03\x19\x01\x12a\x01\x7FWa\x05\xA2a\r\xBDV[_\x80T`\x01`\x01`\xA0\x1B\x03\x19\x81\x16\x82U`\x01`\x01`\xA0\x1B\x03\x16\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x82\x80\xA3\0[4a\x01\x7FW` 6`\x03\x19\x01\x12a\x01\x7FW` a\x06\x17`\x045`\xFF`\x01\x91\x80`\x08\x1C_R`\x02` R\x16\x1B`@_ T\x16\x15\x15\x90V[`@Q\x90\x15\x15\x81R\xF3[4a\x01\x7FW_6`\x03\x19\x01\x12a\x01\x7FW_T`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x90\xF3[4a\x01\x7FW_6`\x03\x19\x01\x12a\x01\x7FW`\x03T`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x90\xF3[4a\x01\x7FW_6`\x03\x19\x01\x12a\x01\x7FW` `@Q\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xF3[\x90\x80`\x1F\x83\x01\x12\x15a\x01\x7FW\x815\x91`\x01`\x01`@\x1B\x03\x83\x11a\x02\x12W\x82`\x05\x1B\x90`@Q\x93a\x06\xDD` \x84\x01\x86a\x01\xF1V[\x84R` \x80\x85\x01\x92\x82\x01\x01\x92\x83\x11a\x01\x7FW` \x01\x90[\x82\x82\x10a\x07\x01WPPP\x90V[\x815\x81R` \x91\x82\x01\x91\x01a\x06\xF4V[4a\x01\x7FW`\xA06`\x03\x19\x01\x12a\x01\x7FWa\x07-`\x045a\x01\xCCV[a\x078`$5a\x01\xCCV[`D5`\x01`\x01`@\x1B\x03\x81\x11a\x01\x7FWa\x07W\x906\x90`\x04\x01a\x06\xAAV[P`d5`\x01`\x01`@\x1B\x03\x81\x11a\x01\x7FWa\x07w\x906\x90`\x04\x01a\x06\xAAV[P`\x845`\x01`\x01`@\x1B\x03\x81\x11a\x01\x7FWa\x07\x97\x906\x90`\x04\x01a\x02hV[P`@Qc\xBC\x19|\x81`\xE0\x1B\x81R\x80` \x81\x01[\x03\x90\xF3[4a\x01\x7FW` 6`\x03\x19\x01\x12a\x01\x7FW\x7Fj\xD3\x18\x8B\xA8\xF40\xFB\xA0el\xB0\xA7\xE89\xAB \xD5Xk\xA1\x1A\x14w\xD1\x8Fp\x92\xF8\xBE\xCE`\x045a\x07\xED\x81a\x01\xCCV[a\x07\xF5a\r\xBDV[`\x03\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x91\x82\x17\x90U`@Q\x90\x81R` \x90\xA1\0[4a\x01\x7FW_6`\x03\x19\x01\x12a\x01\x7FW` `\x05T`@Q\x90\x81R\xF3[4a\x01\x7FWa\0\x18a\x08N6a\x02\xDFV[\x91a\x0C\x0EV[` `@\x92\x81\x83R\x80Q\x91\x82\x91\x82\x82\x86\x01R\x01\x84\x84\x01^_\x82\x82\x01\x84\x01R`\x1F\x01`\x1F\x19\x16\x01\x01\x90V[4a\x01\x7FW_6`\x03\x19\x01\x12a\x01\x7FW`@Q_`\x04T\x80`\x01\x1C\x90`\x01\x81\x16\x90\x81\x15a\tcW[` \x83\x10\x82\x14a\tOW\x82\x85R` \x85\x01\x91\x90\x81\x15a\t6WP`\x01\x14a\x08\xE4W[a\x07\xAB\x84a\x08\xD8\x81\x86\x03\x82a\x01\xF1V[`@Q\x91\x82\x91\x82a\x08TV[`\x04_\x90\x81R\x92P\x90\x7F\x8A5\xAC\xFB\xC1_\xF8\x1A9\xAE}4O\xD7\t\xF2\x8E\x86\0\xB4\xAA\x8Ce\xC6\xB6K\xFE\x7F\xE3k\xD1\x9B[\x81\x84\x10a\t\"WPP\x01a\x08\xD8\x82a\x08\xC8V[\x80T\x84\x84\x01R` \x90\x93\x01\x92`\x01\x01a\t\x0FV[`\xFF\x19\x16\x82RP\x90\x15\x15`\x05\x1B\x01\x90Pa\x08\xD8\x82a\x08\xC8V[cNH{q`\xE0\x1B_R`\"`\x04R`$_\xFD[\x91`\x7F\x16\x91a\x08\xA6V[4a\x01\x7FW`\xA06`\x03\x19\x01\x12a\x01\x7FWa\t\x89`\x045a\x01\xCCV[a\t\x94`$5a\x01\xCCV[`\x845`\x01`\x01`@\x1B\x03\x81\x11a\x01\x7FWa\t\xB3\x906\x90`\x04\x01a\x02hV[P`@Qc\xF2:na`\xE0\x1B\x81R` \x90\xF3[4a\x01\x7FW` 6`\x03\x19\x01\x12a\x01\x7FW`\x045a\t\xE3\x81a\x01\xCCV[a\t\xEBa\r\xBDV[`\x01`\x01`\xA0\x1B\x03\x16\x80\x15a\n<W_\x80T`\x01`\x01`\xA0\x1B\x03\x19\x81\x16\x83\x17\x82U`\x01`\x01`\xA0\x1B\x03\x16\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x80\xA3\0[c\x1EO\xBD\xF7`\xE0\x1B_R_`\x04R`$_\xFD[\x91` \x82\x01\x91`?a\na\x84\x83a\x0C,V[\x90P\x03a\x0B\x17W`\x01`\x01`@\x1B\x03a\n\x80a\n\x88\x94\x83\x96\x94\x96a\x0C,V[\x94\x90\x92a\x0B&V[\x16\x93_\x92[\x84\x84\x10\x15a\n\xDEWa\n\xC5`\x01\x91\x85`\x05\x1B\x85\x015\x90\x83\x89\x16\x15_\x14a\n\xCEW\x90a\n\xBE\x91_R` R`@_ \x90V[\x96`\x01\x1C\x90V[\x93\x01\x92\x94a\n\x8DV[a\n\xBE\x91_R` R`@_ \x90V[\x93P\x93\x90Pa\n\xEE\x91P\x15a\r\xE3V[a\n\xFEa\n\xFA\x82a\x0CaV[\x15\x90V[a\x0B\x05WPV[cD\xA1\x92\xFF`\xE0\x1B_R`\x04R`$_\xFD[c],^\x9B`\xE1\x1B_R`\x04_\xFD[5`\x01`\x01`@\x1B\x03\x81\x16\x81\x03a\x01\x7FW\x90V[\x90\x80` \x93\x92\x81\x84R\x84\x84\x017_\x82\x82\x01\x84\x01R`\x1F\x01`\x1F\x19\x16\x01\x01\x90V[\x91` a\x02\x83\x93\x81\x81R\x01\x91a\x0B:V[\x90`\x04\x11a\x01\x7FW\x90`\x04\x90V[\x90\x92\x91\x92\x83`\x04\x11a\x01\x7FW\x83\x11a\x01\x7FW`\x04\x01\x91`\x03\x19\x01\x90V[5`\x01`\x01`\xE0\x1B\x03\x19\x81\x16\x92\x91\x90`\x04\x82\x10a\x0B\xB1WPPV[`\x01`\x01`\xE0\x1B\x03\x19`\x04\x92\x90\x92\x03`\x03\x1B\x82\x90\x1B\x16\x16\x91PV[_\x19\x81\x14a\x0B\xDAW`\x01\x01\x90V[cNH{q`\xE0\x1B_R`\x11`\x04R`$_\xFD[`@\x90`\x01`\x01`@\x1B\x03a\x02\x83\x95\x93\x16\x81R\x81` \x82\x01R\x01\x91a\x0B:V[a\x0C\x1E\x90a\x0C*\x93\x926\x91a\x022V[` \x81Q\x91\x01 a\nOV[V[\x905\x90`\x1E\x19\x816\x03\x01\x82\x12\x15a\x01\x7FW\x01\x805\x90`\x01`\x01`@\x1B\x03\x82\x11a\x01\x7FW` \x01\x91\x81`\x05\x1B6\x03\x83\x13a\x01\x7FWV[`\x03T`@Qc9s!\x99`\xE2\x1B\x81R0`\x04\x82\x01R`$\x81\x01\x92\x90\x92R` \x90\x82\x90`D\x90\x82\x90`\x01`\x01`\xA0\x1B\x03\x16Z\xFA\x90\x81\x15a\x0C\xDDW_\x91a\x0C\xA5WP\x90V[\x90P` \x81=` \x11a\x0C\xD5W[\x81a\x0C\xC0` \x93\x83a\x01\xF1V[\x81\x01\x03\x12a\x01\x7FWQ\x80\x15\x15\x81\x03a\x01\x7FW\x90V[=\x91Pa\x0C\xB3V[`@Q=_\x82>=\x90\xFD[\x90\x81\x01\x90`@\x81\x83\x03\x12a\x01\x7FW\x805a\r\x01\x81a\x01\xCCV[` \x82\x015\x91`\x01`\x01`@\x1B\x03\x83\x11a\x01\x7FW_\x93\x84\x93a\r#\x92\x01a\x02hV[\x80Q\x91` \x90\x91\x01\x90`\x01`\x01`\xA0\x1B\x03\x16Z\xF4a\r?a\x0E.V[\x90\x15a\rHWPV[a\x0E\x94V[\x90\x81\x01``\x82\x82\x03\x12a\x01\x7FW\x815a\re\x81a\x01\xCCV[` \x83\x015\x92`@\x81\x015\x90`\x01`\x01`@\x1B\x03\x82\x11a\x01\x7FWa\r\x9E\x93\x85\x92a\r\x8F\x92\x01a\x02hV[\x91`\x01`\x01`\xA0\x1B\x03\x16a\x0E]V[\x91\x90\x15a\r\xA9WPPV[b\xFA\xE2\xD5`\xE2\x1B_R`\x04R`$R`D_\xFD[_T`\x01`\x01`\xA0\x1B\x03\x163\x03a\r\xD0WV[c\x11\x8C\xDA\xA7`\xE0\x1B_R3`\x04R`$_\xFD[\x15a\r\xEAWV[`d`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R` `$\x82\x01R\x7FLibMerkle32: index out of bounds`D\x82\x01R\xFD[=\x15a\x0EXW=\x90a\x0E?\x82a\x02\x17V[\x91a\x0EM`@Q\x93\x84a\x01\xF1V[\x82R=_` \x84\x01>V[``\x90V[\x90\x92\x91\x92G\x93\x84\x82\x11a\x0E\x8CW_\x92\x83\x92` \x83Q\x93\x01\x91Z\xF1a\x0E\x7Fa\x0E.V[\x90\x15a\rHWP`\x01\x91\x90V[PPP_\x91\x90V[\x80Q\x90\x81a\x0E\xA0W_\x80\xFD[` \x01\xFD\xFE\xA2dipfsX\"\x12 y%\x81\xCD\xB4\xC6\x19\xBA\xE2y\xF0\xC9.\x04z\xADa\xEBL\xF6\xDCo\xA5\x82w\xBA\xEE\xF4'\x18\xD5}dsolcC\0\x08\x1E\x003\xA2dipfsX\"\x12 \xDB\xEE\xC0\xF6\x01\xCDu\x191\x04\xBE\xDB\xC4\x0Cz\xE4\x96\x94\xCDQ\xBEq\x06\xD8\x01\xF0\x8F\0\x0EW0\xEEdsolcC\0\x08\x1E\x003",
197 );
198 #[derive(serde::Serialize, serde::Deserialize)]
199 #[derive(Default, Debug, PartialEq, Eq, Hash)]
200 #[allow(
205 non_camel_case_types,
206 non_snake_case,
207 clippy::pub_underscore_fields,
208 clippy::style
209 )]
210 #[derive(Clone)]
211 pub struct ApplicationCreated {
212 #[allow(missing_docs)]
213 pub outputsMerkleRootValidator: alloy::sol_types::private::Address,
214 #[allow(missing_docs)]
215 pub appOwner: alloy::sol_types::private::Address,
216 #[allow(missing_docs)]
217 pub templateHash: alloy::sol_types::private::FixedBytes<32>,
218 #[allow(missing_docs)]
219 pub dataAvailability: alloy::sol_types::private::Bytes,
220 #[allow(missing_docs)]
221 pub appContract: alloy::sol_types::private::Address,
222 }
223 #[allow(
224 non_camel_case_types,
225 non_snake_case,
226 clippy::pub_underscore_fields,
227 clippy::style
228 )]
229 const _: () = {
230 use alloy::sol_types as alloy_sol_types;
231 #[automatically_derived]
232 impl alloy_sol_types::SolEvent for ApplicationCreated {
233 type DataTuple<'a> = (
234 alloy::sol_types::sol_data::Address,
235 alloy::sol_types::sol_data::FixedBytes<32>,
236 alloy::sol_types::sol_data::Bytes,
237 alloy::sol_types::sol_data::Address,
238 );
239 type DataToken<'a> = <Self::DataTuple<
240 'a,
241 > as alloy_sol_types::SolType>::Token<'a>;
242 type TopicList = (
243 alloy_sol_types::sol_data::FixedBytes<32>,
244 alloy::sol_types::sol_data::Address,
245 );
246 const SIGNATURE: &'static str = "ApplicationCreated(address,address,bytes32,bytes,address)";
247 const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([
248 210u8, 145u8, 255u8, 233u8, 67u8, 111u8, 44u8, 87u8, 213u8, 206u8, 62u8,
249 135u8, 237u8, 51u8, 87u8, 111u8, 128u8, 16u8, 83u8, 148u8, 102u8, 81u8,
250 162u8, 251u8, 79u8, 236u8, 90u8, 64u8, 108u8, 246u8, 140u8, 197u8,
251 ]);
252 const ANONYMOUS: bool = false;
253 #[allow(unused_variables)]
254 #[inline]
255 fn new(
256 topics: <Self::TopicList as alloy_sol_types::SolType>::RustType,
257 data: <Self::DataTuple<'_> as alloy_sol_types::SolType>::RustType,
258 ) -> Self {
259 Self {
260 outputsMerkleRootValidator: topics.1,
261 appOwner: data.0,
262 templateHash: data.1,
263 dataAvailability: data.2,
264 appContract: data.3,
265 }
266 }
267 #[inline]
268 fn check_signature(
269 topics: &<Self::TopicList as alloy_sol_types::SolType>::RustType,
270 ) -> alloy_sol_types::Result<()> {
271 if topics.0 != Self::SIGNATURE_HASH {
272 return Err(
273 alloy_sol_types::Error::invalid_event_signature_hash(
274 Self::SIGNATURE,
275 topics.0,
276 Self::SIGNATURE_HASH,
277 ),
278 );
279 }
280 Ok(())
281 }
282 #[inline]
283 fn tokenize_body(&self) -> Self::DataToken<'_> {
284 (
285 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
286 &self.appOwner,
287 ),
288 <alloy::sol_types::sol_data::FixedBytes<
289 32,
290 > as alloy_sol_types::SolType>::tokenize(&self.templateHash),
291 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
292 &self.dataAvailability,
293 ),
294 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
295 &self.appContract,
296 ),
297 )
298 }
299 #[inline]
300 fn topics(&self) -> <Self::TopicList as alloy_sol_types::SolType>::RustType {
301 (Self::SIGNATURE_HASH.into(), self.outputsMerkleRootValidator.clone())
302 }
303 #[inline]
304 fn encode_topics_raw(
305 &self,
306 out: &mut [alloy_sol_types::abi::token::WordToken],
307 ) -> alloy_sol_types::Result<()> {
308 if out.len() < <Self::TopicList as alloy_sol_types::TopicList>::COUNT {
309 return Err(alloy_sol_types::Error::Overrun);
310 }
311 out[0usize] = alloy_sol_types::abi::token::WordToken(
312 Self::SIGNATURE_HASH,
313 );
314 out[1usize] = <alloy::sol_types::sol_data::Address as alloy_sol_types::EventTopic>::encode_topic(
315 &self.outputsMerkleRootValidator,
316 );
317 Ok(())
318 }
319 }
320 #[automatically_derived]
321 impl alloy_sol_types::private::IntoLogData for ApplicationCreated {
322 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
323 From::from(self)
324 }
325 fn into_log_data(self) -> alloy_sol_types::private::LogData {
326 From::from(&self)
327 }
328 }
329 #[automatically_derived]
330 impl From<&ApplicationCreated> for alloy_sol_types::private::LogData {
331 #[inline]
332 fn from(this: &ApplicationCreated) -> alloy_sol_types::private::LogData {
333 alloy_sol_types::SolEvent::encode_log_data(this)
334 }
335 }
336 };
337 #[derive(serde::Serialize, serde::Deserialize)]
338 #[derive(Default, Debug, PartialEq, Eq, Hash)]
339 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
344 #[derive(Clone)]
345 pub struct calculateApplicationAddressCall {
346 #[allow(missing_docs)]
347 pub outputsMerkleRootValidator: alloy::sol_types::private::Address,
348 #[allow(missing_docs)]
349 pub appOwner: alloy::sol_types::private::Address,
350 #[allow(missing_docs)]
351 pub templateHash: alloy::sol_types::private::FixedBytes<32>,
352 #[allow(missing_docs)]
353 pub dataAvailability: alloy::sol_types::private::Bytes,
354 #[allow(missing_docs)]
355 pub salt: alloy::sol_types::private::FixedBytes<32>,
356 }
357 #[derive(serde::Serialize, serde::Deserialize)]
358 #[derive(Default, Debug, PartialEq, Eq, Hash)]
359 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
361 #[derive(Clone)]
362 pub struct calculateApplicationAddressReturn {
363 #[allow(missing_docs)]
364 pub _0: alloy::sol_types::private::Address,
365 }
366 #[allow(
367 non_camel_case_types,
368 non_snake_case,
369 clippy::pub_underscore_fields,
370 clippy::style
371 )]
372 const _: () = {
373 use alloy::sol_types as alloy_sol_types;
374 {
375 #[doc(hidden)]
376 #[allow(dead_code)]
377 type UnderlyingSolTuple<'a> = (
378 alloy::sol_types::sol_data::Address,
379 alloy::sol_types::sol_data::Address,
380 alloy::sol_types::sol_data::FixedBytes<32>,
381 alloy::sol_types::sol_data::Bytes,
382 alloy::sol_types::sol_data::FixedBytes<32>,
383 );
384 #[doc(hidden)]
385 type UnderlyingRustTuple<'a> = (
386 alloy::sol_types::private::Address,
387 alloy::sol_types::private::Address,
388 alloy::sol_types::private::FixedBytes<32>,
389 alloy::sol_types::private::Bytes,
390 alloy::sol_types::private::FixedBytes<32>,
391 );
392 #[cfg(test)]
393 #[allow(dead_code, unreachable_patterns)]
394 fn _type_assertion(
395 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
396 ) {
397 match _t {
398 alloy_sol_types::private::AssertTypeEq::<
399 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
400 >(_) => {}
401 }
402 }
403 #[automatically_derived]
404 #[doc(hidden)]
405 impl ::core::convert::From<calculateApplicationAddressCall>
406 for UnderlyingRustTuple<'_> {
407 fn from(value: calculateApplicationAddressCall) -> Self {
408 (
409 value.outputsMerkleRootValidator,
410 value.appOwner,
411 value.templateHash,
412 value.dataAvailability,
413 value.salt,
414 )
415 }
416 }
417 #[automatically_derived]
418 #[doc(hidden)]
419 impl ::core::convert::From<UnderlyingRustTuple<'_>>
420 for calculateApplicationAddressCall {
421 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
422 Self {
423 outputsMerkleRootValidator: tuple.0,
424 appOwner: tuple.1,
425 templateHash: tuple.2,
426 dataAvailability: tuple.3,
427 salt: tuple.4,
428 }
429 }
430 }
431 }
432 {
433 #[doc(hidden)]
434 #[allow(dead_code)]
435 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
436 #[doc(hidden)]
437 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
438 #[cfg(test)]
439 #[allow(dead_code, unreachable_patterns)]
440 fn _type_assertion(
441 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
442 ) {
443 match _t {
444 alloy_sol_types::private::AssertTypeEq::<
445 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
446 >(_) => {}
447 }
448 }
449 #[automatically_derived]
450 #[doc(hidden)]
451 impl ::core::convert::From<calculateApplicationAddressReturn>
452 for UnderlyingRustTuple<'_> {
453 fn from(value: calculateApplicationAddressReturn) -> Self {
454 (value._0,)
455 }
456 }
457 #[automatically_derived]
458 #[doc(hidden)]
459 impl ::core::convert::From<UnderlyingRustTuple<'_>>
460 for calculateApplicationAddressReturn {
461 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
462 Self { _0: tuple.0 }
463 }
464 }
465 }
466 #[automatically_derived]
467 impl alloy_sol_types::SolCall for calculateApplicationAddressCall {
468 type Parameters<'a> = (
469 alloy::sol_types::sol_data::Address,
470 alloy::sol_types::sol_data::Address,
471 alloy::sol_types::sol_data::FixedBytes<32>,
472 alloy::sol_types::sol_data::Bytes,
473 alloy::sol_types::sol_data::FixedBytes<32>,
474 );
475 type Token<'a> = <Self::Parameters<
476 'a,
477 > as alloy_sol_types::SolType>::Token<'a>;
478 type Return = alloy::sol_types::private::Address;
479 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
480 type ReturnToken<'a> = <Self::ReturnTuple<
481 'a,
482 > as alloy_sol_types::SolType>::Token<'a>;
483 const SIGNATURE: &'static str = "calculateApplicationAddress(address,address,bytes32,bytes,bytes32)";
484 const SELECTOR: [u8; 4] = [66u8, 105u8, 102u8, 123u8];
485 #[inline]
486 fn new<'a>(
487 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
488 ) -> Self {
489 tuple.into()
490 }
491 #[inline]
492 fn tokenize(&self) -> Self::Token<'_> {
493 (
494 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
495 &self.outputsMerkleRootValidator,
496 ),
497 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
498 &self.appOwner,
499 ),
500 <alloy::sol_types::sol_data::FixedBytes<
501 32,
502 > as alloy_sol_types::SolType>::tokenize(&self.templateHash),
503 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
504 &self.dataAvailability,
505 ),
506 <alloy::sol_types::sol_data::FixedBytes<
507 32,
508 > as alloy_sol_types::SolType>::tokenize(&self.salt),
509 )
510 }
511 #[inline]
512 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
513 (
514 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
515 ret,
516 ),
517 )
518 }
519 #[inline]
520 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
521 <Self::ReturnTuple<
522 '_,
523 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
524 .map(|r| {
525 let r: calculateApplicationAddressReturn = r.into();
526 r._0
527 })
528 }
529 #[inline]
530 fn abi_decode_returns_validate(
531 data: &[u8],
532 ) -> alloy_sol_types::Result<Self::Return> {
533 <Self::ReturnTuple<
534 '_,
535 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
536 .map(|r| {
537 let r: calculateApplicationAddressReturn = r.into();
538 r._0
539 })
540 }
541 }
542 };
543 #[derive(serde::Serialize, serde::Deserialize)]
544 #[derive(Default, Debug, PartialEq, Eq, Hash)]
545 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
550 #[derive(Clone)]
551 pub struct newApplication_0Call {
552 #[allow(missing_docs)]
553 pub outputsMerkleRootValidator: alloy::sol_types::private::Address,
554 #[allow(missing_docs)]
555 pub appOwner: alloy::sol_types::private::Address,
556 #[allow(missing_docs)]
557 pub templateHash: alloy::sol_types::private::FixedBytes<32>,
558 #[allow(missing_docs)]
559 pub dataAvailability: alloy::sol_types::private::Bytes,
560 #[allow(missing_docs)]
561 pub salt: alloy::sol_types::private::FixedBytes<32>,
562 }
563 #[derive(serde::Serialize, serde::Deserialize)]
564 #[derive(Default, Debug, PartialEq, Eq, Hash)]
565 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
567 #[derive(Clone)]
568 pub struct newApplication_0Return {
569 #[allow(missing_docs)]
570 pub _0: alloy::sol_types::private::Address,
571 }
572 #[allow(
573 non_camel_case_types,
574 non_snake_case,
575 clippy::pub_underscore_fields,
576 clippy::style
577 )]
578 const _: () = {
579 use alloy::sol_types as alloy_sol_types;
580 {
581 #[doc(hidden)]
582 #[allow(dead_code)]
583 type UnderlyingSolTuple<'a> = (
584 alloy::sol_types::sol_data::Address,
585 alloy::sol_types::sol_data::Address,
586 alloy::sol_types::sol_data::FixedBytes<32>,
587 alloy::sol_types::sol_data::Bytes,
588 alloy::sol_types::sol_data::FixedBytes<32>,
589 );
590 #[doc(hidden)]
591 type UnderlyingRustTuple<'a> = (
592 alloy::sol_types::private::Address,
593 alloy::sol_types::private::Address,
594 alloy::sol_types::private::FixedBytes<32>,
595 alloy::sol_types::private::Bytes,
596 alloy::sol_types::private::FixedBytes<32>,
597 );
598 #[cfg(test)]
599 #[allow(dead_code, unreachable_patterns)]
600 fn _type_assertion(
601 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
602 ) {
603 match _t {
604 alloy_sol_types::private::AssertTypeEq::<
605 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
606 >(_) => {}
607 }
608 }
609 #[automatically_derived]
610 #[doc(hidden)]
611 impl ::core::convert::From<newApplication_0Call>
612 for UnderlyingRustTuple<'_> {
613 fn from(value: newApplication_0Call) -> Self {
614 (
615 value.outputsMerkleRootValidator,
616 value.appOwner,
617 value.templateHash,
618 value.dataAvailability,
619 value.salt,
620 )
621 }
622 }
623 #[automatically_derived]
624 #[doc(hidden)]
625 impl ::core::convert::From<UnderlyingRustTuple<'_>>
626 for newApplication_0Call {
627 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
628 Self {
629 outputsMerkleRootValidator: tuple.0,
630 appOwner: tuple.1,
631 templateHash: tuple.2,
632 dataAvailability: tuple.3,
633 salt: tuple.4,
634 }
635 }
636 }
637 }
638 {
639 #[doc(hidden)]
640 #[allow(dead_code)]
641 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
642 #[doc(hidden)]
643 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
644 #[cfg(test)]
645 #[allow(dead_code, unreachable_patterns)]
646 fn _type_assertion(
647 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
648 ) {
649 match _t {
650 alloy_sol_types::private::AssertTypeEq::<
651 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
652 >(_) => {}
653 }
654 }
655 #[automatically_derived]
656 #[doc(hidden)]
657 impl ::core::convert::From<newApplication_0Return>
658 for UnderlyingRustTuple<'_> {
659 fn from(value: newApplication_0Return) -> Self {
660 (value._0,)
661 }
662 }
663 #[automatically_derived]
664 #[doc(hidden)]
665 impl ::core::convert::From<UnderlyingRustTuple<'_>>
666 for newApplication_0Return {
667 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
668 Self { _0: tuple.0 }
669 }
670 }
671 }
672 #[automatically_derived]
673 impl alloy_sol_types::SolCall for newApplication_0Call {
674 type Parameters<'a> = (
675 alloy::sol_types::sol_data::Address,
676 alloy::sol_types::sol_data::Address,
677 alloy::sol_types::sol_data::FixedBytes<32>,
678 alloy::sol_types::sol_data::Bytes,
679 alloy::sol_types::sol_data::FixedBytes<32>,
680 );
681 type Token<'a> = <Self::Parameters<
682 'a,
683 > as alloy_sol_types::SolType>::Token<'a>;
684 type Return = alloy::sol_types::private::Address;
685 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
686 type ReturnToken<'a> = <Self::ReturnTuple<
687 'a,
688 > as alloy_sol_types::SolType>::Token<'a>;
689 const SIGNATURE: &'static str = "newApplication(address,address,bytes32,bytes,bytes32)";
690 const SELECTOR: [u8; 4] = [44u8, 195u8, 239u8, 124u8];
691 #[inline]
692 fn new<'a>(
693 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
694 ) -> Self {
695 tuple.into()
696 }
697 #[inline]
698 fn tokenize(&self) -> Self::Token<'_> {
699 (
700 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
701 &self.outputsMerkleRootValidator,
702 ),
703 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
704 &self.appOwner,
705 ),
706 <alloy::sol_types::sol_data::FixedBytes<
707 32,
708 > as alloy_sol_types::SolType>::tokenize(&self.templateHash),
709 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
710 &self.dataAvailability,
711 ),
712 <alloy::sol_types::sol_data::FixedBytes<
713 32,
714 > as alloy_sol_types::SolType>::tokenize(&self.salt),
715 )
716 }
717 #[inline]
718 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
719 (
720 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
721 ret,
722 ),
723 )
724 }
725 #[inline]
726 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
727 <Self::ReturnTuple<
728 '_,
729 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
730 .map(|r| {
731 let r: newApplication_0Return = r.into();
732 r._0
733 })
734 }
735 #[inline]
736 fn abi_decode_returns_validate(
737 data: &[u8],
738 ) -> alloy_sol_types::Result<Self::Return> {
739 <Self::ReturnTuple<
740 '_,
741 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
742 .map(|r| {
743 let r: newApplication_0Return = r.into();
744 r._0
745 })
746 }
747 }
748 };
749 #[derive(serde::Serialize, serde::Deserialize)]
750 #[derive(Default, Debug, PartialEq, Eq, Hash)]
751 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
756 #[derive(Clone)]
757 pub struct newApplication_1Call {
758 #[allow(missing_docs)]
759 pub outputsMerkleRootValidator: alloy::sol_types::private::Address,
760 #[allow(missing_docs)]
761 pub appOwner: alloy::sol_types::private::Address,
762 #[allow(missing_docs)]
763 pub templateHash: alloy::sol_types::private::FixedBytes<32>,
764 #[allow(missing_docs)]
765 pub dataAvailability: alloy::sol_types::private::Bytes,
766 }
767 #[derive(serde::Serialize, serde::Deserialize)]
768 #[derive(Default, Debug, PartialEq, Eq, Hash)]
769 #[allow(non_camel_case_types, non_snake_case, clippy::pub_underscore_fields)]
771 #[derive(Clone)]
772 pub struct newApplication_1Return {
773 #[allow(missing_docs)]
774 pub _0: alloy::sol_types::private::Address,
775 }
776 #[allow(
777 non_camel_case_types,
778 non_snake_case,
779 clippy::pub_underscore_fields,
780 clippy::style
781 )]
782 const _: () = {
783 use alloy::sol_types as alloy_sol_types;
784 {
785 #[doc(hidden)]
786 #[allow(dead_code)]
787 type UnderlyingSolTuple<'a> = (
788 alloy::sol_types::sol_data::Address,
789 alloy::sol_types::sol_data::Address,
790 alloy::sol_types::sol_data::FixedBytes<32>,
791 alloy::sol_types::sol_data::Bytes,
792 );
793 #[doc(hidden)]
794 type UnderlyingRustTuple<'a> = (
795 alloy::sol_types::private::Address,
796 alloy::sol_types::private::Address,
797 alloy::sol_types::private::FixedBytes<32>,
798 alloy::sol_types::private::Bytes,
799 );
800 #[cfg(test)]
801 #[allow(dead_code, unreachable_patterns)]
802 fn _type_assertion(
803 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
804 ) {
805 match _t {
806 alloy_sol_types::private::AssertTypeEq::<
807 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
808 >(_) => {}
809 }
810 }
811 #[automatically_derived]
812 #[doc(hidden)]
813 impl ::core::convert::From<newApplication_1Call>
814 for UnderlyingRustTuple<'_> {
815 fn from(value: newApplication_1Call) -> Self {
816 (
817 value.outputsMerkleRootValidator,
818 value.appOwner,
819 value.templateHash,
820 value.dataAvailability,
821 )
822 }
823 }
824 #[automatically_derived]
825 #[doc(hidden)]
826 impl ::core::convert::From<UnderlyingRustTuple<'_>>
827 for newApplication_1Call {
828 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
829 Self {
830 outputsMerkleRootValidator: tuple.0,
831 appOwner: tuple.1,
832 templateHash: tuple.2,
833 dataAvailability: tuple.3,
834 }
835 }
836 }
837 }
838 {
839 #[doc(hidden)]
840 #[allow(dead_code)]
841 type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,);
842 #[doc(hidden)]
843 type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,);
844 #[cfg(test)]
845 #[allow(dead_code, unreachable_patterns)]
846 fn _type_assertion(
847 _t: alloy_sol_types::private::AssertTypeEq<UnderlyingRustTuple>,
848 ) {
849 match _t {
850 alloy_sol_types::private::AssertTypeEq::<
851 <UnderlyingSolTuple as alloy_sol_types::SolType>::RustType,
852 >(_) => {}
853 }
854 }
855 #[automatically_derived]
856 #[doc(hidden)]
857 impl ::core::convert::From<newApplication_1Return>
858 for UnderlyingRustTuple<'_> {
859 fn from(value: newApplication_1Return) -> Self {
860 (value._0,)
861 }
862 }
863 #[automatically_derived]
864 #[doc(hidden)]
865 impl ::core::convert::From<UnderlyingRustTuple<'_>>
866 for newApplication_1Return {
867 fn from(tuple: UnderlyingRustTuple<'_>) -> Self {
868 Self { _0: tuple.0 }
869 }
870 }
871 }
872 #[automatically_derived]
873 impl alloy_sol_types::SolCall for newApplication_1Call {
874 type Parameters<'a> = (
875 alloy::sol_types::sol_data::Address,
876 alloy::sol_types::sol_data::Address,
877 alloy::sol_types::sol_data::FixedBytes<32>,
878 alloy::sol_types::sol_data::Bytes,
879 );
880 type Token<'a> = <Self::Parameters<
881 'a,
882 > as alloy_sol_types::SolType>::Token<'a>;
883 type Return = alloy::sol_types::private::Address;
884 type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,);
885 type ReturnToken<'a> = <Self::ReturnTuple<
886 'a,
887 > as alloy_sol_types::SolType>::Token<'a>;
888 const SIGNATURE: &'static str = "newApplication(address,address,bytes32,bytes)";
889 const SELECTOR: [u8; 4] = [141u8, 2u8, 55u8, 13u8];
890 #[inline]
891 fn new<'a>(
892 tuple: <Self::Parameters<'a> as alloy_sol_types::SolType>::RustType,
893 ) -> Self {
894 tuple.into()
895 }
896 #[inline]
897 fn tokenize(&self) -> Self::Token<'_> {
898 (
899 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
900 &self.outputsMerkleRootValidator,
901 ),
902 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
903 &self.appOwner,
904 ),
905 <alloy::sol_types::sol_data::FixedBytes<
906 32,
907 > as alloy_sol_types::SolType>::tokenize(&self.templateHash),
908 <alloy::sol_types::sol_data::Bytes as alloy_sol_types::SolType>::tokenize(
909 &self.dataAvailability,
910 ),
911 )
912 }
913 #[inline]
914 fn tokenize_returns(ret: &Self::Return) -> Self::ReturnToken<'_> {
915 (
916 <alloy::sol_types::sol_data::Address as alloy_sol_types::SolType>::tokenize(
917 ret,
918 ),
919 )
920 }
921 #[inline]
922 fn abi_decode_returns(data: &[u8]) -> alloy_sol_types::Result<Self::Return> {
923 <Self::ReturnTuple<
924 '_,
925 > as alloy_sol_types::SolType>::abi_decode_sequence(data)
926 .map(|r| {
927 let r: newApplication_1Return = r.into();
928 r._0
929 })
930 }
931 #[inline]
932 fn abi_decode_returns_validate(
933 data: &[u8],
934 ) -> alloy_sol_types::Result<Self::Return> {
935 <Self::ReturnTuple<
936 '_,
937 > as alloy_sol_types::SolType>::abi_decode_sequence_validate(data)
938 .map(|r| {
939 let r: newApplication_1Return = r.into();
940 r._0
941 })
942 }
943 }
944 };
945 #[derive(Clone)]
947 #[derive(serde::Serialize, serde::Deserialize)]
948 #[derive()]
949 pub enum ApplicationFactoryCalls {
950 #[allow(missing_docs)]
951 calculateApplicationAddress(calculateApplicationAddressCall),
952 #[allow(missing_docs)]
953 newApplication_0(newApplication_0Call),
954 #[allow(missing_docs)]
955 newApplication_1(newApplication_1Call),
956 }
957 impl ApplicationFactoryCalls {
958 pub const SELECTORS: &'static [[u8; 4usize]] = &[
965 [44u8, 195u8, 239u8, 124u8],
966 [66u8, 105u8, 102u8, 123u8],
967 [141u8, 2u8, 55u8, 13u8],
968 ];
969 pub const VARIANT_NAMES: &'static [&'static str] = &[
971 ::core::stringify!(newApplication_0),
972 ::core::stringify!(calculateApplicationAddress),
973 ::core::stringify!(newApplication_1),
974 ];
975 pub const SIGNATURES: &'static [&'static str] = &[
977 <newApplication_0Call as alloy_sol_types::SolCall>::SIGNATURE,
978 <calculateApplicationAddressCall as alloy_sol_types::SolCall>::SIGNATURE,
979 <newApplication_1Call as alloy_sol_types::SolCall>::SIGNATURE,
980 ];
981 #[inline]
983 pub fn signature_by_selector(
984 selector: [u8; 4usize],
985 ) -> ::core::option::Option<&'static str> {
986 match Self::SELECTORS.binary_search(&selector) {
987 ::core::result::Result::Ok(idx) => {
988 ::core::option::Option::Some(Self::SIGNATURES[idx])
989 }
990 ::core::result::Result::Err(_) => ::core::option::Option::None,
991 }
992 }
993 #[inline]
995 pub fn name_by_selector(
996 selector: [u8; 4usize],
997 ) -> ::core::option::Option<&'static str> {
998 let sig = Self::signature_by_selector(selector)?;
999 sig.split_once('(').map(|(name, _)| name)
1000 }
1001 }
1002 #[automatically_derived]
1003 impl alloy_sol_types::SolInterface for ApplicationFactoryCalls {
1004 const NAME: &'static str = "ApplicationFactoryCalls";
1005 const MIN_DATA_LENGTH: usize = 160usize;
1006 const COUNT: usize = 3usize;
1007 #[inline]
1008 fn selector(&self) -> [u8; 4] {
1009 match self {
1010 Self::calculateApplicationAddress(_) => {
1011 <calculateApplicationAddressCall as alloy_sol_types::SolCall>::SELECTOR
1012 }
1013 Self::newApplication_0(_) => {
1014 <newApplication_0Call as alloy_sol_types::SolCall>::SELECTOR
1015 }
1016 Self::newApplication_1(_) => {
1017 <newApplication_1Call as alloy_sol_types::SolCall>::SELECTOR
1018 }
1019 }
1020 }
1021 #[inline]
1022 fn selector_at(i: usize) -> ::core::option::Option<[u8; 4]> {
1023 Self::SELECTORS.get(i).copied()
1024 }
1025 #[inline]
1026 fn valid_selector(selector: [u8; 4]) -> bool {
1027 Self::SELECTORS.binary_search(&selector).is_ok()
1028 }
1029 #[inline]
1030 #[allow(non_snake_case)]
1031 fn abi_decode_raw(
1032 selector: [u8; 4],
1033 data: &[u8],
1034 ) -> alloy_sol_types::Result<Self> {
1035 static DECODE_SHIMS: &[fn(
1036 &[u8],
1037 ) -> alloy_sol_types::Result<ApplicationFactoryCalls>] = &[
1038 {
1039 fn newApplication_0(
1040 data: &[u8],
1041 ) -> alloy_sol_types::Result<ApplicationFactoryCalls> {
1042 <newApplication_0Call as alloy_sol_types::SolCall>::abi_decode_raw(
1043 data,
1044 )
1045 .map(ApplicationFactoryCalls::newApplication_0)
1046 }
1047 newApplication_0
1048 },
1049 {
1050 fn calculateApplicationAddress(
1051 data: &[u8],
1052 ) -> alloy_sol_types::Result<ApplicationFactoryCalls> {
1053 <calculateApplicationAddressCall as alloy_sol_types::SolCall>::abi_decode_raw(
1054 data,
1055 )
1056 .map(ApplicationFactoryCalls::calculateApplicationAddress)
1057 }
1058 calculateApplicationAddress
1059 },
1060 {
1061 fn newApplication_1(
1062 data: &[u8],
1063 ) -> alloy_sol_types::Result<ApplicationFactoryCalls> {
1064 <newApplication_1Call as alloy_sol_types::SolCall>::abi_decode_raw(
1065 data,
1066 )
1067 .map(ApplicationFactoryCalls::newApplication_1)
1068 }
1069 newApplication_1
1070 },
1071 ];
1072 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
1073 return Err(
1074 alloy_sol_types::Error::unknown_selector(
1075 <Self as alloy_sol_types::SolInterface>::NAME,
1076 selector,
1077 ),
1078 );
1079 };
1080 DECODE_SHIMS[idx](data)
1081 }
1082 #[inline]
1083 #[allow(non_snake_case)]
1084 fn abi_decode_raw_validate(
1085 selector: [u8; 4],
1086 data: &[u8],
1087 ) -> alloy_sol_types::Result<Self> {
1088 static DECODE_VALIDATE_SHIMS: &[fn(
1089 &[u8],
1090 ) -> alloy_sol_types::Result<ApplicationFactoryCalls>] = &[
1091 {
1092 fn newApplication_0(
1093 data: &[u8],
1094 ) -> alloy_sol_types::Result<ApplicationFactoryCalls> {
1095 <newApplication_0Call as alloy_sol_types::SolCall>::abi_decode_raw_validate(
1096 data,
1097 )
1098 .map(ApplicationFactoryCalls::newApplication_0)
1099 }
1100 newApplication_0
1101 },
1102 {
1103 fn calculateApplicationAddress(
1104 data: &[u8],
1105 ) -> alloy_sol_types::Result<ApplicationFactoryCalls> {
1106 <calculateApplicationAddressCall as alloy_sol_types::SolCall>::abi_decode_raw_validate(
1107 data,
1108 )
1109 .map(ApplicationFactoryCalls::calculateApplicationAddress)
1110 }
1111 calculateApplicationAddress
1112 },
1113 {
1114 fn newApplication_1(
1115 data: &[u8],
1116 ) -> alloy_sol_types::Result<ApplicationFactoryCalls> {
1117 <newApplication_1Call as alloy_sol_types::SolCall>::abi_decode_raw_validate(
1118 data,
1119 )
1120 .map(ApplicationFactoryCalls::newApplication_1)
1121 }
1122 newApplication_1
1123 },
1124 ];
1125 let Ok(idx) = Self::SELECTORS.binary_search(&selector) else {
1126 return Err(
1127 alloy_sol_types::Error::unknown_selector(
1128 <Self as alloy_sol_types::SolInterface>::NAME,
1129 selector,
1130 ),
1131 );
1132 };
1133 DECODE_VALIDATE_SHIMS[idx](data)
1134 }
1135 #[inline]
1136 fn abi_encoded_size(&self) -> usize {
1137 match self {
1138 Self::calculateApplicationAddress(inner) => {
1139 <calculateApplicationAddressCall as alloy_sol_types::SolCall>::abi_encoded_size(
1140 inner,
1141 )
1142 }
1143 Self::newApplication_0(inner) => {
1144 <newApplication_0Call as alloy_sol_types::SolCall>::abi_encoded_size(
1145 inner,
1146 )
1147 }
1148 Self::newApplication_1(inner) => {
1149 <newApplication_1Call as alloy_sol_types::SolCall>::abi_encoded_size(
1150 inner,
1151 )
1152 }
1153 }
1154 }
1155 #[inline]
1156 fn abi_encode_raw(&self, out: &mut alloy_sol_types::private::Vec<u8>) {
1157 match self {
1158 Self::calculateApplicationAddress(inner) => {
1159 <calculateApplicationAddressCall as alloy_sol_types::SolCall>::abi_encode_raw(
1160 inner,
1161 out,
1162 )
1163 }
1164 Self::newApplication_0(inner) => {
1165 <newApplication_0Call as alloy_sol_types::SolCall>::abi_encode_raw(
1166 inner,
1167 out,
1168 )
1169 }
1170 Self::newApplication_1(inner) => {
1171 <newApplication_1Call as alloy_sol_types::SolCall>::abi_encode_raw(
1172 inner,
1173 out,
1174 )
1175 }
1176 }
1177 }
1178 }
1179 #[derive(Clone)]
1181 #[derive(serde::Serialize, serde::Deserialize)]
1182 #[derive(Debug, PartialEq, Eq, Hash)]
1183 pub enum ApplicationFactoryEvents {
1184 #[allow(missing_docs)]
1185 ApplicationCreated(ApplicationCreated),
1186 }
1187 impl ApplicationFactoryEvents {
1188 pub const SELECTORS: &'static [[u8; 32usize]] = &[
1195 [
1196 210u8, 145u8, 255u8, 233u8, 67u8, 111u8, 44u8, 87u8, 213u8, 206u8, 62u8,
1197 135u8, 237u8, 51u8, 87u8, 111u8, 128u8, 16u8, 83u8, 148u8, 102u8, 81u8,
1198 162u8, 251u8, 79u8, 236u8, 90u8, 64u8, 108u8, 246u8, 140u8, 197u8,
1199 ],
1200 ];
1201 pub const VARIANT_NAMES: &'static [&'static str] = &[
1203 ::core::stringify!(ApplicationCreated),
1204 ];
1205 pub const SIGNATURES: &'static [&'static str] = &[
1207 <ApplicationCreated as alloy_sol_types::SolEvent>::SIGNATURE,
1208 ];
1209 #[inline]
1211 pub fn signature_by_selector(
1212 selector: [u8; 32usize],
1213 ) -> ::core::option::Option<&'static str> {
1214 match Self::SELECTORS.binary_search(&selector) {
1215 ::core::result::Result::Ok(idx) => {
1216 ::core::option::Option::Some(Self::SIGNATURES[idx])
1217 }
1218 ::core::result::Result::Err(_) => ::core::option::Option::None,
1219 }
1220 }
1221 #[inline]
1223 pub fn name_by_selector(
1224 selector: [u8; 32usize],
1225 ) -> ::core::option::Option<&'static str> {
1226 let sig = Self::signature_by_selector(selector)?;
1227 sig.split_once('(').map(|(name, _)| name)
1228 }
1229 }
1230 #[automatically_derived]
1231 impl alloy_sol_types::SolEventInterface for ApplicationFactoryEvents {
1232 const NAME: &'static str = "ApplicationFactoryEvents";
1233 const COUNT: usize = 1usize;
1234 fn decode_raw_log(
1235 topics: &[alloy_sol_types::Word],
1236 data: &[u8],
1237 ) -> alloy_sol_types::Result<Self> {
1238 match topics.first().copied() {
1239 Some(
1240 <ApplicationCreated as alloy_sol_types::SolEvent>::SIGNATURE_HASH,
1241 ) => {
1242 <ApplicationCreated as alloy_sol_types::SolEvent>::decode_raw_log(
1243 topics,
1244 data,
1245 )
1246 .map(Self::ApplicationCreated)
1247 }
1248 _ => {
1249 alloy_sol_types::private::Err(alloy_sol_types::Error::InvalidLog {
1250 name: <Self as alloy_sol_types::SolEventInterface>::NAME,
1251 log: alloy_sol_types::private::Box::new(
1252 alloy_sol_types::private::LogData::new_unchecked(
1253 topics.to_vec(),
1254 data.to_vec().into(),
1255 ),
1256 ),
1257 })
1258 }
1259 }
1260 }
1261 }
1262 #[automatically_derived]
1263 impl alloy_sol_types::private::IntoLogData for ApplicationFactoryEvents {
1264 fn to_log_data(&self) -> alloy_sol_types::private::LogData {
1265 match self {
1266 Self::ApplicationCreated(inner) => {
1267 alloy_sol_types::private::IntoLogData::to_log_data(inner)
1268 }
1269 }
1270 }
1271 fn into_log_data(self) -> alloy_sol_types::private::LogData {
1272 match self {
1273 Self::ApplicationCreated(inner) => {
1274 alloy_sol_types::private::IntoLogData::into_log_data(inner)
1275 }
1276 }
1277 }
1278 }
1279 use alloy::contract as alloy_contract;
1280 #[inline]
1284 pub const fn new<
1285 P: alloy_contract::private::Provider<N>,
1286 N: alloy_contract::private::Network,
1287 >(
1288 address: alloy_sol_types::private::Address,
1289 __provider: P,
1290 ) -> ApplicationFactoryInstance<P, N> {
1291 ApplicationFactoryInstance::<P, N>::new(address, __provider)
1292 }
1293 #[inline]
1299 pub fn deploy<
1300 P: alloy_contract::private::Provider<N>,
1301 N: alloy_contract::private::Network,
1302 >(
1303 __provider: P,
1304 ) -> impl ::core::future::Future<
1305 Output = alloy_contract::Result<ApplicationFactoryInstance<P, N>>,
1306 > {
1307 ApplicationFactoryInstance::<P, N>::deploy(__provider)
1308 }
1309 #[inline]
1315 pub fn deploy_builder<
1316 P: alloy_contract::private::Provider<N>,
1317 N: alloy_contract::private::Network,
1318 >(__provider: P) -> alloy_contract::RawCallBuilder<P, N> {
1319 ApplicationFactoryInstance::<P, N>::deploy_builder(__provider)
1320 }
1321 #[derive(Clone)]
1333 pub struct ApplicationFactoryInstance<P, N = alloy_contract::private::Ethereum> {
1334 address: alloy_sol_types::private::Address,
1335 provider: P,
1336 _network: ::core::marker::PhantomData<N>,
1337 }
1338 #[automatically_derived]
1339 impl<P, N> ::core::fmt::Debug for ApplicationFactoryInstance<P, N> {
1340 #[inline]
1341 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1342 f.debug_tuple("ApplicationFactoryInstance").field(&self.address).finish()
1343 }
1344 }
1345 impl<
1347 P: alloy_contract::private::Provider<N>,
1348 N: alloy_contract::private::Network,
1349 > ApplicationFactoryInstance<P, N> {
1350 #[inline]
1354 pub const fn new(
1355 address: alloy_sol_types::private::Address,
1356 __provider: P,
1357 ) -> Self {
1358 Self {
1359 address,
1360 provider: __provider,
1361 _network: ::core::marker::PhantomData,
1362 }
1363 }
1364 #[inline]
1370 pub async fn deploy(
1371 __provider: P,
1372 ) -> alloy_contract::Result<ApplicationFactoryInstance<P, N>> {
1373 let call_builder = Self::deploy_builder(__provider);
1374 let contract_address = call_builder.deploy().await?;
1375 Ok(Self::new(contract_address, call_builder.provider))
1376 }
1377 #[inline]
1383 pub fn deploy_builder(__provider: P) -> alloy_contract::RawCallBuilder<P, N> {
1384 alloy_contract::RawCallBuilder::new_raw_deploy(
1385 __provider,
1386 ::core::clone::Clone::clone(&BYTECODE),
1387 )
1388 }
1389 #[inline]
1391 pub const fn address(&self) -> &alloy_sol_types::private::Address {
1392 &self.address
1393 }
1394 #[inline]
1396 pub fn set_address(&mut self, address: alloy_sol_types::private::Address) {
1397 self.address = address;
1398 }
1399 pub fn at(mut self, address: alloy_sol_types::private::Address) -> Self {
1401 self.set_address(address);
1402 self
1403 }
1404 #[inline]
1406 pub const fn provider(&self) -> &P {
1407 &self.provider
1408 }
1409 }
1410 impl<P: ::core::clone::Clone, N> ApplicationFactoryInstance<&P, N> {
1411 #[inline]
1413 pub fn with_cloned_provider(self) -> ApplicationFactoryInstance<P, N> {
1414 ApplicationFactoryInstance {
1415 address: self.address,
1416 provider: ::core::clone::Clone::clone(&self.provider),
1417 _network: ::core::marker::PhantomData,
1418 }
1419 }
1420 }
1421 impl<
1423 P: alloy_contract::private::Provider<N>,
1424 N: alloy_contract::private::Network,
1425 > ApplicationFactoryInstance<P, N> {
1426 pub fn call_builder<C: alloy_sol_types::SolCall>(
1431 &self,
1432 call: &C,
1433 ) -> alloy_contract::SolCallBuilder<&P, C, N> {
1434 alloy_contract::SolCallBuilder::new_sol(&self.provider, &self.address, call)
1435 }
1436 pub fn calculateApplicationAddress(
1438 &self,
1439 outputsMerkleRootValidator: alloy::sol_types::private::Address,
1440 appOwner: alloy::sol_types::private::Address,
1441 templateHash: alloy::sol_types::private::FixedBytes<32>,
1442 dataAvailability: alloy::sol_types::private::Bytes,
1443 salt: alloy::sol_types::private::FixedBytes<32>,
1444 ) -> alloy_contract::SolCallBuilder<&P, calculateApplicationAddressCall, N> {
1445 self.call_builder(
1446 &calculateApplicationAddressCall {
1447 outputsMerkleRootValidator,
1448 appOwner,
1449 templateHash,
1450 dataAvailability,
1451 salt,
1452 },
1453 )
1454 }
1455 pub fn newApplication_0(
1457 &self,
1458 outputsMerkleRootValidator: alloy::sol_types::private::Address,
1459 appOwner: alloy::sol_types::private::Address,
1460 templateHash: alloy::sol_types::private::FixedBytes<32>,
1461 dataAvailability: alloy::sol_types::private::Bytes,
1462 salt: alloy::sol_types::private::FixedBytes<32>,
1463 ) -> alloy_contract::SolCallBuilder<&P, newApplication_0Call, N> {
1464 self.call_builder(
1465 &newApplication_0Call {
1466 outputsMerkleRootValidator,
1467 appOwner,
1468 templateHash,
1469 dataAvailability,
1470 salt,
1471 },
1472 )
1473 }
1474 pub fn newApplication_1(
1476 &self,
1477 outputsMerkleRootValidator: alloy::sol_types::private::Address,
1478 appOwner: alloy::sol_types::private::Address,
1479 templateHash: alloy::sol_types::private::FixedBytes<32>,
1480 dataAvailability: alloy::sol_types::private::Bytes,
1481 ) -> alloy_contract::SolCallBuilder<&P, newApplication_1Call, N> {
1482 self.call_builder(
1483 &newApplication_1Call {
1484 outputsMerkleRootValidator,
1485 appOwner,
1486 templateHash,
1487 dataAvailability,
1488 },
1489 )
1490 }
1491 }
1492 impl<
1494 P: alloy_contract::private::Provider<N>,
1495 N: alloy_contract::private::Network,
1496 > ApplicationFactoryInstance<P, N> {
1497 pub fn event_filter<E: alloy_sol_types::SolEvent>(
1502 &self,
1503 ) -> alloy_contract::Event<&P, E, N> {
1504 alloy_contract::Event::new_sol(&self.provider, &self.address)
1505 }
1506 pub fn ApplicationCreated_filter(
1508 &self,
1509 ) -> alloy_contract::Event<&P, ApplicationCreated, N> {
1510 self.event_filter::<ApplicationCreated>()
1511 }
1512 }
1513}