1pub use hopr_forwarder::*;
2#[allow(
5 clippy::enum_variant_names,
6 clippy::too_many_arguments,
7 clippy::upper_case_acronyms,
8 clippy::type_complexity,
9 dead_code,
10 non_camel_case_types,
11)]
12pub mod hopr_forwarder {
13 #[allow(deprecated)]
14 fn __abi() -> ::ethers::core::abi::Abi {
15 ::ethers::core::abi::ethabi::Contract {
16 constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor {
17 inputs: ::std::vec![],
18 }),
19 functions: ::core::convert::From::from([
20 (
21 ::std::borrow::ToOwned::to_owned("ERC1820_REGISTRY"),
22 ::std::vec![
23 ::ethers::core::abi::ethabi::Function {
24 name: ::std::borrow::ToOwned::to_owned("ERC1820_REGISTRY"),
25 inputs: ::std::vec![],
26 outputs: ::std::vec![
27 ::ethers::core::abi::ethabi::Param {
28 name: ::std::string::String::new(),
29 kind: ::ethers::core::abi::ethabi::ParamType::Address,
30 internal_type: ::core::option::Option::Some(
31 ::std::borrow::ToOwned::to_owned(
32 "contract IERC1820Registry",
33 ),
34 ),
35 },
36 ],
37 constant: ::core::option::Option::None,
38 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
39 },
40 ],
41 ),
42 (
43 ::std::borrow::ToOwned::to_owned("HOPR_TOKEN"),
44 ::std::vec![
45 ::ethers::core::abi::ethabi::Function {
46 name: ::std::borrow::ToOwned::to_owned("HOPR_TOKEN"),
47 inputs: ::std::vec![],
48 outputs: ::std::vec![
49 ::ethers::core::abi::ethabi::Param {
50 name: ::std::string::String::new(),
51 kind: ::ethers::core::abi::ethabi::ParamType::Address,
52 internal_type: ::core::option::Option::Some(
53 ::std::borrow::ToOwned::to_owned("address"),
54 ),
55 },
56 ],
57 constant: ::core::option::Option::None,
58 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
59 },
60 ],
61 ),
62 (
63 ::std::borrow::ToOwned::to_owned("MULTISIG"),
64 ::std::vec![
65 ::ethers::core::abi::ethabi::Function {
66 name: ::std::borrow::ToOwned::to_owned("MULTISIG"),
67 inputs: ::std::vec![],
68 outputs: ::std::vec![
69 ::ethers::core::abi::ethabi::Param {
70 name: ::std::string::String::new(),
71 kind: ::ethers::core::abi::ethabi::ParamType::Address,
72 internal_type: ::core::option::Option::Some(
73 ::std::borrow::ToOwned::to_owned("address payable"),
74 ),
75 },
76 ],
77 constant: ::core::option::Option::None,
78 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
79 },
80 ],
81 ),
82 (
83 ::std::borrow::ToOwned::to_owned("TOKENS_RECIPIENT_INTERFACE_HASH"),
84 ::std::vec![
85 ::ethers::core::abi::ethabi::Function {
86 name: ::std::borrow::ToOwned::to_owned(
87 "TOKENS_RECIPIENT_INTERFACE_HASH",
88 ),
89 inputs: ::std::vec![],
90 outputs: ::std::vec![
91 ::ethers::core::abi::ethabi::Param {
92 name: ::std::string::String::new(),
93 kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
94 32usize,
95 ),
96 internal_type: ::core::option::Option::Some(
97 ::std::borrow::ToOwned::to_owned("bytes32"),
98 ),
99 },
100 ],
101 constant: ::core::option::Option::None,
102 state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
103 },
104 ],
105 ),
106 (
107 ::std::borrow::ToOwned::to_owned("recoverTokens"),
108 ::std::vec![
109 ::ethers::core::abi::ethabi::Function {
110 name: ::std::borrow::ToOwned::to_owned("recoverTokens"),
111 inputs: ::std::vec![
112 ::ethers::core::abi::ethabi::Param {
113 name: ::std::borrow::ToOwned::to_owned("token"),
114 kind: ::ethers::core::abi::ethabi::ParamType::Address,
115 internal_type: ::core::option::Option::Some(
116 ::std::borrow::ToOwned::to_owned("address"),
117 ),
118 },
119 ],
120 outputs: ::std::vec![],
121 constant: ::core::option::Option::None,
122 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
123 },
124 ],
125 ),
126 (
127 ::std::borrow::ToOwned::to_owned("tokensReceived"),
128 ::std::vec![
129 ::ethers::core::abi::ethabi::Function {
130 name: ::std::borrow::ToOwned::to_owned("tokensReceived"),
131 inputs: ::std::vec![
132 ::ethers::core::abi::ethabi::Param {
133 name: ::std::string::String::new(),
134 kind: ::ethers::core::abi::ethabi::ParamType::Address,
135 internal_type: ::core::option::Option::Some(
136 ::std::borrow::ToOwned::to_owned("address"),
137 ),
138 },
139 ::ethers::core::abi::ethabi::Param {
140 name: ::std::borrow::ToOwned::to_owned("from"),
141 kind: ::ethers::core::abi::ethabi::ParamType::Address,
142 internal_type: ::core::option::Option::Some(
143 ::std::borrow::ToOwned::to_owned("address"),
144 ),
145 },
146 ::ethers::core::abi::ethabi::Param {
147 name: ::std::borrow::ToOwned::to_owned("to"),
148 kind: ::ethers::core::abi::ethabi::ParamType::Address,
149 internal_type: ::core::option::Option::Some(
150 ::std::borrow::ToOwned::to_owned("address"),
151 ),
152 },
153 ::ethers::core::abi::ethabi::Param {
154 name: ::std::borrow::ToOwned::to_owned("amount"),
155 kind: ::ethers::core::abi::ethabi::ParamType::Uint(
156 256usize,
157 ),
158 internal_type: ::core::option::Option::Some(
159 ::std::borrow::ToOwned::to_owned("uint256"),
160 ),
161 },
162 ::ethers::core::abi::ethabi::Param {
163 name: ::std::string::String::new(),
164 kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
165 internal_type: ::core::option::Option::Some(
166 ::std::borrow::ToOwned::to_owned("bytes"),
167 ),
168 },
169 ::ethers::core::abi::ethabi::Param {
170 name: ::std::string::String::new(),
171 kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
172 internal_type: ::core::option::Option::Some(
173 ::std::borrow::ToOwned::to_owned("bytes"),
174 ),
175 },
176 ],
177 outputs: ::std::vec![],
178 constant: ::core::option::Option::None,
179 state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
180 },
181 ],
182 ),
183 ]),
184 events: ::std::collections::BTreeMap::new(),
185 errors: ::std::collections::BTreeMap::new(),
186 receive: false,
187 fallback: false,
188 }
189 }
190 pub static HOPRFORWARDER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new(
192 __abi,
193 );
194 #[rustfmt::skip]
195 const __BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`@Qc)\x96Z\x1D`\xE0\x1B\x81R0`\x04\x82\x01\x81\x90R\x7F\xB2\x81\xFC\x8C\x12\x95M\"TM\xB4]\xE3\x15\x9A9'(\x95\xB1i\xA8R\xB3\x14\xF9\xCCv.D\xC5;`$\x83\x01R`D\x82\x01Rs\x18 \xA4\xB7a\x8B\xDEq\xDC\xE8\xCD\xC7:\xABl\x95\x90_\xAD$\x90c)\x96Z\x1D\x90`d\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\0\x8AW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\0\x9EW=`\0\x80>=`\0\xFD[PPPPa\x08c\x80a\0\xB1`\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0aW`\x005`\xE0\x1C\x80b#\xDE)\x14a\0fW\x80c\x01>\xB1w\x14a\0{W\x80c\x16\x11J\xCD\x14a\0\xB3W\x80c\x1B\xA6\xBA\xC2\x14a\0\xC6W\x80c%0\xB1E\x14a\0\xE1W\x80crX\x1C\xC0\x14a\0\xFCW[`\0\x80\xFD[a\0ya\0t6`\x04a\x06\xB9V[a\x011V[\0[a\0\x96s\x18 \xA4\xB7a\x8B\xDEq\xDC\xE8\xCD\xC7:\xABl\x95\x90_\xAD$\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0ya\0\xC16`\x04a\x07dV[a\x02\xC9V[a\0\x96s\xF5X\x1D\xFE\xFD\x8F\xB0\xE4\xAE\xC5&\xBEe\x9C\xFA\xB1\xF8\xC7\x81\xDA\x81V[a\0\x96sOP\xABN\x93\x12\x894JW\xF2\xFEK\xBD\x10Tjo\xDC\x17\x81V[a\x01#\x7F\xB2\x81\xFC\x8C\x12\x95M\"TM\xB4]\xE3\x15\x9A9'(\x95\xB1i\xA8R\xB3\x14\xF9\xCCv.D\xC5;\x81V[`@Q\x90\x81R` \x01a\0\xAAV[3s\xF5X\x1D\xFE\xFD\x8F\xB0\xE4\xAE\xC5&\xBEe\x9C\xFA\xB1\xF8\xC7\x81\xDA\x14a\x01\xABW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`)`$\x82\x01R\x7FHoprMinterWrapper: Only accept H`D\x82\x01Rh'\xA8)\x10:7\xB5\xB2\xB7`\xB9\x1B`d\x82\x01R`\x84\x01[`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x87\x16\x15a\x02\x0EW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`$\x80\x82\x01R\x7FHoprMinterWrapper: Only receive `D\x82\x01Rc\x1BZ[\x9D`\xE2\x1B`d\x82\x01R`\x84\x01a\x01\xA2V[`\x01`\x01`\xA0\x1B\x03\x86\x160\x14a\x02\x8CW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`?`$\x82\x01R\x7FHoprMinterWrapper: Must be sendi`D\x82\x01R\x7Fng tokens to the minter wrapper\0`d\x82\x01R`\x84\x01a\x01\xA2V[a\x02\xBFs\xF5X\x1D\xFE\xFD\x8F\xB0\xE4\xAE\xC5&\xBEe\x9C\xFA\xB1\xF8\xC7\x81\xDAsOP\xABN\x93\x12\x894JW\xF2\xFEK\xBD\x10Tjo\xDC\x17\x87a\x03\xB1V[PPPPPPPPV[`\x01`\x01`\xA0\x1B\x03\x81\x16a\x03\x1BW`@QsOP\xABN\x93\x12\x894JW\xF2\xFEK\xBD\x10Tjo\xDC\x17\x90G\x80\x15a\x08\xFC\x02\x91`\0\x81\x81\x81\x85\x88\x88\xF1\x93PPPP\x15\x80\x15a\x03\x17W=`\0\x80>=`\0\xFD[PPV[`@Qcp\xA0\x821`\xE0\x1B\x81R0`\x04\x82\x01Ra\x03\xAE\x90sOP\xABN\x93\x12\x894JW\xF2\xFEK\xBD\x10Tjo\xDC\x17\x90`\x01`\x01`\xA0\x1B\x03\x84\x16\x90cp\xA0\x821\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x03yW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x03\x9D\x91\x90a\x07\x7FV[`\x01`\x01`\xA0\x1B\x03\x84\x16\x91\x90a\x03\xB1V[PV[`@\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\x04\x03\x90\x84\x90a\x04\x08V[PPPV[`\0a\x04]\x82`@Q\x80`@\x01`@R\x80` \x81R` \x01\x7FSafeERC20: low-level call failed\x81RP\x85`\x01`\x01`\xA0\x1B\x03\x16a\x04\xDA\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x80Q\x90\x91P\x15a\x04\x03W\x80\x80` \x01\x90Q\x81\x01\x90a\x04{\x91\x90a\x07\x98V[a\x04\x03W`@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\x01\xA2V[``a\x04\xE9\x84\x84`\0\x85a\x04\xF3V[\x90P[\x93\x92PPPV[``\x82G\x10\x15a\x05TW`@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\x01\xA2V[\x84;a\x05\xA2W`@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\x01\xA2V[`\0\x80\x86`\x01`\x01`\xA0\x1B\x03\x16\x85\x87`@Qa\x05\xBE\x91\x90a\x07\xDEV[`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x05\xFBW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x06\0V[``\x91P[P\x91P\x91Pa\x06\x10\x82\x82\x86a\x06\x1BV[\x97\x96PPPPPPPV[``\x83\x15a\x06*WP\x81a\x04\xECV[\x82Q\x15a\x06:W\x82Q\x80\x84` \x01\xFD[\x81`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x01\xA2\x91\x90a\x07\xFAV[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x06kW`\0\x80\xFD[\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a\x06\x82W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x06\x9AW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x06\xB2W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`\0\x80`\0\x80`\xC0\x89\x8B\x03\x12\x15a\x06\xD5W`\0\x80\xFD[a\x06\xDE\x89a\x06TV[\x97Pa\x06\xEC` \x8A\x01a\x06TV[\x96Pa\x06\xFA`@\x8A\x01a\x06TV[\x95P``\x89\x015\x94P`\x80\x89\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x07\x1EW`\0\x80\xFD[a\x07*\x8C\x83\x8D\x01a\x06pV[\x90\x96P\x94P`\xA0\x8B\x015\x91P\x80\x82\x11\x15a\x07CW`\0\x80\xFD[Pa\x07P\x8B\x82\x8C\x01a\x06pV[\x99\x9C\x98\x9BP\x96\x99P\x94\x97\x93\x96\x92\x95\x94PPPV[`\0` \x82\x84\x03\x12\x15a\x07vW`\0\x80\xFD[a\x04\xEC\x82a\x06TV[`\0` \x82\x84\x03\x12\x15a\x07\x91W`\0\x80\xFD[PQ\x91\x90PV[`\0` \x82\x84\x03\x12\x15a\x07\xAAW`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14a\x04\xECW`\0\x80\xFD[`\0[\x83\x81\x10\x15a\x07\xD5W\x81\x81\x01Q\x83\x82\x01R` \x01a\x07\xBDV[PP`\0\x91\x01RV[`\0\x82Qa\x07\xF0\x81\x84` \x87\x01a\x07\xBAV[\x91\x90\x91\x01\x92\x91PPV[` \x81R`\0\x82Q\x80` \x84\x01Ra\x08\x19\x81`@\x85\x01` \x87\x01a\x07\xBAV[`\x1F\x01`\x1F\x19\x16\x91\x90\x91\x01`@\x01\x92\x91PPV\xFE\xA2dipfsX\"\x12 \x89\xEA\xBC\xAE\xAE<L\xAB\xF9v\x92C\x8E{'\xD1\x9A\xF2\xD5\xCA\x94k\xB71\xCA\xF9{\x88\xAD\xA5\x8C\xA5dsolcC\0\x08\x13\x003";
196 pub static HOPRFORWARDER_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(
198 __BYTECODE,
199 );
200 #[rustfmt::skip]
201 const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0aW`\x005`\xE0\x1C\x80b#\xDE)\x14a\0fW\x80c\x01>\xB1w\x14a\0{W\x80c\x16\x11J\xCD\x14a\0\xB3W\x80c\x1B\xA6\xBA\xC2\x14a\0\xC6W\x80c%0\xB1E\x14a\0\xE1W\x80crX\x1C\xC0\x14a\0\xFCW[`\0\x80\xFD[a\0ya\0t6`\x04a\x06\xB9V[a\x011V[\0[a\0\x96s\x18 \xA4\xB7a\x8B\xDEq\xDC\xE8\xCD\xC7:\xABl\x95\x90_\xAD$\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0ya\0\xC16`\x04a\x07dV[a\x02\xC9V[a\0\x96s\xF5X\x1D\xFE\xFD\x8F\xB0\xE4\xAE\xC5&\xBEe\x9C\xFA\xB1\xF8\xC7\x81\xDA\x81V[a\0\x96sOP\xABN\x93\x12\x894JW\xF2\xFEK\xBD\x10Tjo\xDC\x17\x81V[a\x01#\x7F\xB2\x81\xFC\x8C\x12\x95M\"TM\xB4]\xE3\x15\x9A9'(\x95\xB1i\xA8R\xB3\x14\xF9\xCCv.D\xC5;\x81V[`@Q\x90\x81R` \x01a\0\xAAV[3s\xF5X\x1D\xFE\xFD\x8F\xB0\xE4\xAE\xC5&\xBEe\x9C\xFA\xB1\xF8\xC7\x81\xDA\x14a\x01\xABW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`)`$\x82\x01R\x7FHoprMinterWrapper: Only accept H`D\x82\x01Rh'\xA8)\x10:7\xB5\xB2\xB7`\xB9\x1B`d\x82\x01R`\x84\x01[`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x87\x16\x15a\x02\x0EW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`$\x80\x82\x01R\x7FHoprMinterWrapper: Only receive `D\x82\x01Rc\x1BZ[\x9D`\xE2\x1B`d\x82\x01R`\x84\x01a\x01\xA2V[`\x01`\x01`\xA0\x1B\x03\x86\x160\x14a\x02\x8CW`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`?`$\x82\x01R\x7FHoprMinterWrapper: Must be sendi`D\x82\x01R\x7Fng tokens to the minter wrapper\0`d\x82\x01R`\x84\x01a\x01\xA2V[a\x02\xBFs\xF5X\x1D\xFE\xFD\x8F\xB0\xE4\xAE\xC5&\xBEe\x9C\xFA\xB1\xF8\xC7\x81\xDAsOP\xABN\x93\x12\x894JW\xF2\xFEK\xBD\x10Tjo\xDC\x17\x87a\x03\xB1V[PPPPPPPPV[`\x01`\x01`\xA0\x1B\x03\x81\x16a\x03\x1BW`@QsOP\xABN\x93\x12\x894JW\xF2\xFEK\xBD\x10Tjo\xDC\x17\x90G\x80\x15a\x08\xFC\x02\x91`\0\x81\x81\x81\x85\x88\x88\xF1\x93PPPP\x15\x80\x15a\x03\x17W=`\0\x80>=`\0\xFD[PPV[`@Qcp\xA0\x821`\xE0\x1B\x81R0`\x04\x82\x01Ra\x03\xAE\x90sOP\xABN\x93\x12\x894JW\xF2\xFEK\xBD\x10Tjo\xDC\x17\x90`\x01`\x01`\xA0\x1B\x03\x84\x16\x90cp\xA0\x821\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x03yW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x03\x9D\x91\x90a\x07\x7FV[`\x01`\x01`\xA0\x1B\x03\x84\x16\x91\x90a\x03\xB1V[PV[`@\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\x04\x03\x90\x84\x90a\x04\x08V[PPPV[`\0a\x04]\x82`@Q\x80`@\x01`@R\x80` \x81R` \x01\x7FSafeERC20: low-level call failed\x81RP\x85`\x01`\x01`\xA0\x1B\x03\x16a\x04\xDA\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x80Q\x90\x91P\x15a\x04\x03W\x80\x80` \x01\x90Q\x81\x01\x90a\x04{\x91\x90a\x07\x98V[a\x04\x03W`@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\x01\xA2V[``a\x04\xE9\x84\x84`\0\x85a\x04\xF3V[\x90P[\x93\x92PPPV[``\x82G\x10\x15a\x05TW`@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\x01\xA2V[\x84;a\x05\xA2W`@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\x01\xA2V[`\0\x80\x86`\x01`\x01`\xA0\x1B\x03\x16\x85\x87`@Qa\x05\xBE\x91\x90a\x07\xDEV[`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x05\xFBW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x06\0V[``\x91P[P\x91P\x91Pa\x06\x10\x82\x82\x86a\x06\x1BV[\x97\x96PPPPPPPV[``\x83\x15a\x06*WP\x81a\x04\xECV[\x82Q\x15a\x06:W\x82Q\x80\x84` \x01\xFD[\x81`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x01\xA2\x91\x90a\x07\xFAV[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x06kW`\0\x80\xFD[\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a\x06\x82W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x06\x9AW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x06\xB2W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`\0\x80`\0\x80`\xC0\x89\x8B\x03\x12\x15a\x06\xD5W`\0\x80\xFD[a\x06\xDE\x89a\x06TV[\x97Pa\x06\xEC` \x8A\x01a\x06TV[\x96Pa\x06\xFA`@\x8A\x01a\x06TV[\x95P``\x89\x015\x94P`\x80\x89\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x07\x1EW`\0\x80\xFD[a\x07*\x8C\x83\x8D\x01a\x06pV[\x90\x96P\x94P`\xA0\x8B\x015\x91P\x80\x82\x11\x15a\x07CW`\0\x80\xFD[Pa\x07P\x8B\x82\x8C\x01a\x06pV[\x99\x9C\x98\x9BP\x96\x99P\x94\x97\x93\x96\x92\x95\x94PPPV[`\0` \x82\x84\x03\x12\x15a\x07vW`\0\x80\xFD[a\x04\xEC\x82a\x06TV[`\0` \x82\x84\x03\x12\x15a\x07\x91W`\0\x80\xFD[PQ\x91\x90PV[`\0` \x82\x84\x03\x12\x15a\x07\xAAW`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14a\x04\xECW`\0\x80\xFD[`\0[\x83\x81\x10\x15a\x07\xD5W\x81\x81\x01Q\x83\x82\x01R` \x01a\x07\xBDV[PP`\0\x91\x01RV[`\0\x82Qa\x07\xF0\x81\x84` \x87\x01a\x07\xBAV[\x91\x90\x91\x01\x92\x91PPV[` \x81R`\0\x82Q\x80` \x84\x01Ra\x08\x19\x81`@\x85\x01` \x87\x01a\x07\xBAV[`\x1F\x01`\x1F\x19\x16\x91\x90\x91\x01`@\x01\x92\x91PPV\xFE\xA2dipfsX\"\x12 \x89\xEA\xBC\xAE\xAE<L\xAB\xF9v\x92C\x8E{'\xD1\x9A\xF2\xD5\xCA\x94k\xB71\xCA\xF9{\x88\xAD\xA5\x8C\xA5dsolcC\0\x08\x13\x003";
202 pub static HOPRFORWARDER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(
204 __DEPLOYED_BYTECODE,
205 );
206 pub struct HoprForwarder<M>(::ethers::contract::Contract<M>);
207 impl<M> ::core::clone::Clone for HoprForwarder<M> {
208 fn clone(&self) -> Self {
209 Self(::core::clone::Clone::clone(&self.0))
210 }
211 }
212 impl<M> ::core::ops::Deref for HoprForwarder<M> {
213 type Target = ::ethers::contract::Contract<M>;
214 fn deref(&self) -> &Self::Target {
215 &self.0
216 }
217 }
218 impl<M> ::core::ops::DerefMut for HoprForwarder<M> {
219 fn deref_mut(&mut self) -> &mut Self::Target {
220 &mut self.0
221 }
222 }
223 impl<M> ::core::fmt::Debug for HoprForwarder<M> {
224 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
225 f.debug_tuple(::core::stringify!(HoprForwarder))
226 .field(&self.address())
227 .finish()
228 }
229 }
230 impl<M: ::ethers::providers::Middleware> HoprForwarder<M> {
231 pub fn new<T: Into<::ethers::core::types::Address>>(
234 address: T,
235 client: ::std::sync::Arc<M>,
236 ) -> Self {
237 Self(
238 ::ethers::contract::Contract::new(
239 address.into(),
240 HOPRFORWARDER_ABI.clone(),
241 client,
242 ),
243 )
244 }
245 pub fn deploy<T: ::ethers::core::abi::Tokenize>(
269 client: ::std::sync::Arc<M>,
270 constructor_args: T,
271 ) -> ::core::result::Result<
272 ::ethers::contract::builders::ContractDeployer<M, Self>,
273 ::ethers::contract::ContractError<M>,
274 > {
275 let factory = ::ethers::contract::ContractFactory::new(
276 HOPRFORWARDER_ABI.clone(),
277 HOPRFORWARDER_BYTECODE.clone().into(),
278 client,
279 );
280 let deployer = factory.deploy(constructor_args)?;
281 let deployer = ::ethers::contract::ContractDeployer::new(deployer);
282 Ok(deployer)
283 }
284 pub fn erc1820_registry(
286 &self,
287 ) -> ::ethers::contract::builders::ContractCall<
288 M,
289 ::ethers::core::types::Address,
290 > {
291 self.0
292 .method_hash([1, 62, 177, 119], ())
293 .expect("method not found (this should never happen)")
294 }
295 pub fn hopr_token(
297 &self,
298 ) -> ::ethers::contract::builders::ContractCall<
299 M,
300 ::ethers::core::types::Address,
301 > {
302 self.0
303 .method_hash([27, 166, 186, 194], ())
304 .expect("method not found (this should never happen)")
305 }
306 pub fn multisig(
308 &self,
309 ) -> ::ethers::contract::builders::ContractCall<
310 M,
311 ::ethers::core::types::Address,
312 > {
313 self.0
314 .method_hash([37, 48, 177, 69], ())
315 .expect("method not found (this should never happen)")
316 }
317 pub fn tokens_recipient_interface_hash(
319 &self,
320 ) -> ::ethers::contract::builders::ContractCall<M, [u8; 32]> {
321 self.0
322 .method_hash([114, 88, 28, 192], ())
323 .expect("method not found (this should never happen)")
324 }
325 pub fn recover_tokens(
327 &self,
328 token: ::ethers::core::types::Address,
329 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
330 self.0
331 .method_hash([22, 17, 74, 205], token)
332 .expect("method not found (this should never happen)")
333 }
334 pub fn tokens_received(
336 &self,
337 p0: ::ethers::core::types::Address,
338 from: ::ethers::core::types::Address,
339 to: ::ethers::core::types::Address,
340 amount: ::ethers::core::types::U256,
341 p4: ::ethers::core::types::Bytes,
342 p5: ::ethers::core::types::Bytes,
343 ) -> ::ethers::contract::builders::ContractCall<M, ()> {
344 self.0
345 .method_hash([0, 35, 222, 41], (p0, from, to, amount, p4, p5))
346 .expect("method not found (this should never happen)")
347 }
348 }
349 impl<M: ::ethers::providers::Middleware> From<::ethers::contract::Contract<M>>
350 for HoprForwarder<M> {
351 fn from(contract: ::ethers::contract::Contract<M>) -> Self {
352 Self::new(contract.address(), contract.client())
353 }
354 }
355 #[derive(
357 Clone,
358 ::ethers::contract::EthCall,
359 ::ethers::contract::EthDisplay,
360 serde::Serialize,
361 serde::Deserialize,
362 Default,
363 Debug,
364 PartialEq,
365 Eq,
366 Hash
367 )]
368 #[ethcall(name = "ERC1820_REGISTRY", abi = "ERC1820_REGISTRY()")]
369 pub struct Erc1820RegistryCall;
370 #[derive(
372 Clone,
373 ::ethers::contract::EthCall,
374 ::ethers::contract::EthDisplay,
375 serde::Serialize,
376 serde::Deserialize,
377 Default,
378 Debug,
379 PartialEq,
380 Eq,
381 Hash
382 )]
383 #[ethcall(name = "HOPR_TOKEN", abi = "HOPR_TOKEN()")]
384 pub struct HoprTokenCall;
385 #[derive(
387 Clone,
388 ::ethers::contract::EthCall,
389 ::ethers::contract::EthDisplay,
390 serde::Serialize,
391 serde::Deserialize,
392 Default,
393 Debug,
394 PartialEq,
395 Eq,
396 Hash
397 )]
398 #[ethcall(name = "MULTISIG", abi = "MULTISIG()")]
399 pub struct MultisigCall;
400 #[derive(
402 Clone,
403 ::ethers::contract::EthCall,
404 ::ethers::contract::EthDisplay,
405 serde::Serialize,
406 serde::Deserialize,
407 Default,
408 Debug,
409 PartialEq,
410 Eq,
411 Hash
412 )]
413 #[ethcall(
414 name = "TOKENS_RECIPIENT_INTERFACE_HASH",
415 abi = "TOKENS_RECIPIENT_INTERFACE_HASH()"
416 )]
417 pub struct TokensRecipientInterfaceHashCall;
418 #[derive(
420 Clone,
421 ::ethers::contract::EthCall,
422 ::ethers::contract::EthDisplay,
423 serde::Serialize,
424 serde::Deserialize,
425 Default,
426 Debug,
427 PartialEq,
428 Eq,
429 Hash
430 )]
431 #[ethcall(name = "recoverTokens", abi = "recoverTokens(address)")]
432 pub struct RecoverTokensCall {
433 pub token: ::ethers::core::types::Address,
434 }
435 #[derive(
437 Clone,
438 ::ethers::contract::EthCall,
439 ::ethers::contract::EthDisplay,
440 serde::Serialize,
441 serde::Deserialize,
442 Default,
443 Debug,
444 PartialEq,
445 Eq,
446 Hash
447 )]
448 #[ethcall(
449 name = "tokensReceived",
450 abi = "tokensReceived(address,address,address,uint256,bytes,bytes)"
451 )]
452 pub struct TokensReceivedCall {
453 pub p0: ::ethers::core::types::Address,
454 pub from: ::ethers::core::types::Address,
455 pub to: ::ethers::core::types::Address,
456 pub amount: ::ethers::core::types::U256,
457 pub p4: ::ethers::core::types::Bytes,
458 pub p5: ::ethers::core::types::Bytes,
459 }
460 #[derive(
462 Clone,
463 ::ethers::contract::EthAbiType,
464 serde::Serialize,
465 serde::Deserialize,
466 Debug,
467 PartialEq,
468 Eq,
469 Hash
470 )]
471 pub enum HoprForwarderCalls {
472 Erc1820Registry(Erc1820RegistryCall),
473 HoprToken(HoprTokenCall),
474 Multisig(MultisigCall),
475 TokensRecipientInterfaceHash(TokensRecipientInterfaceHashCall),
476 RecoverTokens(RecoverTokensCall),
477 TokensReceived(TokensReceivedCall),
478 }
479 impl ::ethers::core::abi::AbiDecode for HoprForwarderCalls {
480 fn decode(
481 data: impl AsRef<[u8]>,
482 ) -> ::core::result::Result<Self, ::ethers::core::abi::AbiError> {
483 let data = data.as_ref();
484 if let Ok(decoded) = <Erc1820RegistryCall as ::ethers::core::abi::AbiDecode>::decode(
485 data,
486 ) {
487 return Ok(Self::Erc1820Registry(decoded));
488 }
489 if let Ok(decoded) = <HoprTokenCall as ::ethers::core::abi::AbiDecode>::decode(
490 data,
491 ) {
492 return Ok(Self::HoprToken(decoded));
493 }
494 if let Ok(decoded) = <MultisigCall as ::ethers::core::abi::AbiDecode>::decode(
495 data,
496 ) {
497 return Ok(Self::Multisig(decoded));
498 }
499 if let Ok(decoded) = <TokensRecipientInterfaceHashCall as ::ethers::core::abi::AbiDecode>::decode(
500 data,
501 ) {
502 return Ok(Self::TokensRecipientInterfaceHash(decoded));
503 }
504 if let Ok(decoded) = <RecoverTokensCall as ::ethers::core::abi::AbiDecode>::decode(
505 data,
506 ) {
507 return Ok(Self::RecoverTokens(decoded));
508 }
509 if let Ok(decoded) = <TokensReceivedCall as ::ethers::core::abi::AbiDecode>::decode(
510 data,
511 ) {
512 return Ok(Self::TokensReceived(decoded));
513 }
514 Err(::ethers::core::abi::Error::InvalidData.into())
515 }
516 }
517 impl ::ethers::core::abi::AbiEncode for HoprForwarderCalls {
518 fn encode(self) -> Vec<u8> {
519 match self {
520 Self::Erc1820Registry(element) => {
521 ::ethers::core::abi::AbiEncode::encode(element)
522 }
523 Self::HoprToken(element) => {
524 ::ethers::core::abi::AbiEncode::encode(element)
525 }
526 Self::Multisig(element) => {
527 ::ethers::core::abi::AbiEncode::encode(element)
528 }
529 Self::TokensRecipientInterfaceHash(element) => {
530 ::ethers::core::abi::AbiEncode::encode(element)
531 }
532 Self::RecoverTokens(element) => {
533 ::ethers::core::abi::AbiEncode::encode(element)
534 }
535 Self::TokensReceived(element) => {
536 ::ethers::core::abi::AbiEncode::encode(element)
537 }
538 }
539 }
540 }
541 impl ::core::fmt::Display for HoprForwarderCalls {
542 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
543 match self {
544 Self::Erc1820Registry(element) => ::core::fmt::Display::fmt(element, f),
545 Self::HoprToken(element) => ::core::fmt::Display::fmt(element, f),
546 Self::Multisig(element) => ::core::fmt::Display::fmt(element, f),
547 Self::TokensRecipientInterfaceHash(element) => {
548 ::core::fmt::Display::fmt(element, f)
549 }
550 Self::RecoverTokens(element) => ::core::fmt::Display::fmt(element, f),
551 Self::TokensReceived(element) => ::core::fmt::Display::fmt(element, f),
552 }
553 }
554 }
555 impl ::core::convert::From<Erc1820RegistryCall> for HoprForwarderCalls {
556 fn from(value: Erc1820RegistryCall) -> Self {
557 Self::Erc1820Registry(value)
558 }
559 }
560 impl ::core::convert::From<HoprTokenCall> for HoprForwarderCalls {
561 fn from(value: HoprTokenCall) -> Self {
562 Self::HoprToken(value)
563 }
564 }
565 impl ::core::convert::From<MultisigCall> for HoprForwarderCalls {
566 fn from(value: MultisigCall) -> Self {
567 Self::Multisig(value)
568 }
569 }
570 impl ::core::convert::From<TokensRecipientInterfaceHashCall> for HoprForwarderCalls {
571 fn from(value: TokensRecipientInterfaceHashCall) -> Self {
572 Self::TokensRecipientInterfaceHash(value)
573 }
574 }
575 impl ::core::convert::From<RecoverTokensCall> for HoprForwarderCalls {
576 fn from(value: RecoverTokensCall) -> Self {
577 Self::RecoverTokens(value)
578 }
579 }
580 impl ::core::convert::From<TokensReceivedCall> for HoprForwarderCalls {
581 fn from(value: TokensReceivedCall) -> Self {
582 Self::TokensReceived(value)
583 }
584 }
585 #[derive(
587 Clone,
588 ::ethers::contract::EthAbiType,
589 ::ethers::contract::EthAbiCodec,
590 serde::Serialize,
591 serde::Deserialize,
592 Default,
593 Debug,
594 PartialEq,
595 Eq,
596 Hash
597 )]
598 pub struct Erc1820RegistryReturn(pub ::ethers::core::types::Address);
599 #[derive(
601 Clone,
602 ::ethers::contract::EthAbiType,
603 ::ethers::contract::EthAbiCodec,
604 serde::Serialize,
605 serde::Deserialize,
606 Default,
607 Debug,
608 PartialEq,
609 Eq,
610 Hash
611 )]
612 pub struct HoprTokenReturn(pub ::ethers::core::types::Address);
613 #[derive(
615 Clone,
616 ::ethers::contract::EthAbiType,
617 ::ethers::contract::EthAbiCodec,
618 serde::Serialize,
619 serde::Deserialize,
620 Default,
621 Debug,
622 PartialEq,
623 Eq,
624 Hash
625 )]
626 pub struct MultisigReturn(pub ::ethers::core::types::Address);
627 #[derive(
629 Clone,
630 ::ethers::contract::EthAbiType,
631 ::ethers::contract::EthAbiCodec,
632 serde::Serialize,
633 serde::Deserialize,
634 Default,
635 Debug,
636 PartialEq,
637 Eq,
638 Hash
639 )]
640 pub struct TokensRecipientInterfaceHashReturn(pub [u8; 32]);
641}