github.com/cwntr/go-defi@v0.0.0-20210629134751-07f9ec2f7e66/binding/hbalancer_exchange/hbalancer_exchange.go (about) 1 // Code generated - DO NOT EDIT. 2 // This file is a generated binding and any manual changes will be lost. 3 4 package hbalancer_exchange 5 6 import ( 7 "math/big" 8 "strings" 9 10 ethereum "github.com/ethereum/go-ethereum" 11 "github.com/ethereum/go-ethereum/accounts/abi" 12 "github.com/ethereum/go-ethereum/accounts/abi/bind" 13 "github.com/ethereum/go-ethereum/common" 14 "github.com/ethereum/go-ethereum/core/types" 15 "github.com/ethereum/go-ethereum/event" 16 ) 17 18 // Reference imports to suppress errors if they are not otherwise used. 19 var ( 20 _ = big.NewInt 21 _ = strings.NewReader 22 _ = ethereum.NotFound 23 _ = bind.Bind 24 _ = common.Big1 25 _ = types.BloomLookup 26 _ = event.NewSubscription 27 ) 28 29 // IExchangeProxySwap is an auto generated low-level Go binding around an user-defined struct. 30 type IExchangeProxySwap struct { 31 Pool common.Address 32 TokenIn common.Address 33 TokenOut common.Address 34 SwapAmount *big.Int 35 LimitReturnAmount *big.Int 36 MaxPrice *big.Int 37 } 38 39 // HbalancerExchangeABI is the input ABI used to generate the binding from. 40 const HbalancerExchangeABI = "[{\"constant\":true,\"inputs\":[],\"name\":\"ETH_ADDRESS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"EXCHANGE_PROXY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenIn\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenOut\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"swapAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"limitReturnAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPrice\",\"type\":\"uint256\"}],\"internalType\":\"structIExchangeProxy.Swap[]\",\"name\":\"swaps\",\"type\":\"tuple[]\"},{\"internalType\":\"address\",\"name\":\"tokenIn\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenOut\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"totalAmountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minTotalAmountOut\",\"type\":\"uint256\"}],\"name\":\"batchSwapExactIn\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalAmountOut\",\"type\":\"uint256\"}],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenIn\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenOut\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"swapAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"limitReturnAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPrice\",\"type\":\"uint256\"}],\"internalType\":\"structIExchangeProxy.Swap[]\",\"name\":\"swaps\",\"type\":\"tuple[]\"},{\"internalType\":\"address\",\"name\":\"tokenIn\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenOut\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxTotalAmountIn\",\"type\":\"uint256\"}],\"name\":\"batchSwapExactOut\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalAmountIn\",\"type\":\"uint256\"}],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenIn\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenOut\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"swapAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"limitReturnAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPrice\",\"type\":\"uint256\"}],\"internalType\":\"structIExchangeProxy.Swap[][]\",\"name\":\"swapSequences\",\"type\":\"tuple[][]\"},{\"internalType\":\"address\",\"name\":\"tokenIn\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenOut\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"totalAmountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minTotalAmountOut\",\"type\":\"uint256\"}],\"name\":\"multihopBatchSwapExactIn\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalAmountOut\",\"type\":\"uint256\"}],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenIn\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenOut\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"swapAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"limitReturnAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPrice\",\"type\":\"uint256\"}],\"internalType\":\"structIExchangeProxy.Swap[][]\",\"name\":\"swapSequences\",\"type\":\"tuple[][]\"},{\"internalType\":\"address\",\"name\":\"tokenIn\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenOut\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxTotalAmountIn\",\"type\":\"uint256\"}],\"name\":\"multihopBatchSwapExactOut\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalAmountIn\",\"type\":\"uint256\"}],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"postProcess\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenIn\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenOut\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"totalAmountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minTotalAmountOut\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nPools\",\"type\":\"uint256\"}],\"name\":\"smartSwapExactIn\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalAmountOut\",\"type\":\"uint256\"}],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenIn\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenOut\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"totalAmountOut\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxTotalAmountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nPools\",\"type\":\"uint256\"}],\"name\":\"smartSwapExactOut\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalAmountIn\",\"type\":\"uint256\"}],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"}]" 41 42 // HbalancerExchange is an auto generated Go binding around an Ethereum contract. 43 type HbalancerExchange struct { 44 HbalancerExchangeCaller // Read-only binding to the contract 45 HbalancerExchangeTransactor // Write-only binding to the contract 46 HbalancerExchangeFilterer // Log filterer for contract events 47 } 48 49 // HbalancerExchangeCaller is an auto generated read-only Go binding around an Ethereum contract. 50 type HbalancerExchangeCaller struct { 51 contract *bind.BoundContract // Generic contract wrapper for the low level calls 52 } 53 54 // HbalancerExchangeTransactor is an auto generated write-only Go binding around an Ethereum contract. 55 type HbalancerExchangeTransactor struct { 56 contract *bind.BoundContract // Generic contract wrapper for the low level calls 57 } 58 59 // HbalancerExchangeFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 60 type HbalancerExchangeFilterer struct { 61 contract *bind.BoundContract // Generic contract wrapper for the low level calls 62 } 63 64 // HbalancerExchangeSession is an auto generated Go binding around an Ethereum contract, 65 // with pre-set call and transact options. 66 type HbalancerExchangeSession struct { 67 Contract *HbalancerExchange // Generic contract binding to set the session for 68 CallOpts bind.CallOpts // Call options to use throughout this session 69 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 70 } 71 72 // HbalancerExchangeCallerSession is an auto generated read-only Go binding around an Ethereum contract, 73 // with pre-set call options. 74 type HbalancerExchangeCallerSession struct { 75 Contract *HbalancerExchangeCaller // Generic contract caller binding to set the session for 76 CallOpts bind.CallOpts // Call options to use throughout this session 77 } 78 79 // HbalancerExchangeTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 80 // with pre-set transact options. 81 type HbalancerExchangeTransactorSession struct { 82 Contract *HbalancerExchangeTransactor // Generic contract transactor binding to set the session for 83 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 84 } 85 86 // HbalancerExchangeRaw is an auto generated low-level Go binding around an Ethereum contract. 87 type HbalancerExchangeRaw struct { 88 Contract *HbalancerExchange // Generic contract binding to access the raw methods on 89 } 90 91 // HbalancerExchangeCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 92 type HbalancerExchangeCallerRaw struct { 93 Contract *HbalancerExchangeCaller // Generic read-only contract binding to access the raw methods on 94 } 95 96 // HbalancerExchangeTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 97 type HbalancerExchangeTransactorRaw struct { 98 Contract *HbalancerExchangeTransactor // Generic write-only contract binding to access the raw methods on 99 } 100 101 // NewHbalancerExchange creates a new instance of HbalancerExchange, bound to a specific deployed contract. 102 func NewHbalancerExchange(address common.Address, backend bind.ContractBackend) (*HbalancerExchange, error) { 103 contract, err := bindHbalancerExchange(address, backend, backend, backend) 104 if err != nil { 105 return nil, err 106 } 107 return &HbalancerExchange{HbalancerExchangeCaller: HbalancerExchangeCaller{contract: contract}, HbalancerExchangeTransactor: HbalancerExchangeTransactor{contract: contract}, HbalancerExchangeFilterer: HbalancerExchangeFilterer{contract: contract}}, nil 108 } 109 110 // NewHbalancerExchangeCaller creates a new read-only instance of HbalancerExchange, bound to a specific deployed contract. 111 func NewHbalancerExchangeCaller(address common.Address, caller bind.ContractCaller) (*HbalancerExchangeCaller, error) { 112 contract, err := bindHbalancerExchange(address, caller, nil, nil) 113 if err != nil { 114 return nil, err 115 } 116 return &HbalancerExchangeCaller{contract: contract}, nil 117 } 118 119 // NewHbalancerExchangeTransactor creates a new write-only instance of HbalancerExchange, bound to a specific deployed contract. 120 func NewHbalancerExchangeTransactor(address common.Address, transactor bind.ContractTransactor) (*HbalancerExchangeTransactor, error) { 121 contract, err := bindHbalancerExchange(address, nil, transactor, nil) 122 if err != nil { 123 return nil, err 124 } 125 return &HbalancerExchangeTransactor{contract: contract}, nil 126 } 127 128 // NewHbalancerExchangeFilterer creates a new log filterer instance of HbalancerExchange, bound to a specific deployed contract. 129 func NewHbalancerExchangeFilterer(address common.Address, filterer bind.ContractFilterer) (*HbalancerExchangeFilterer, error) { 130 contract, err := bindHbalancerExchange(address, nil, nil, filterer) 131 if err != nil { 132 return nil, err 133 } 134 return &HbalancerExchangeFilterer{contract: contract}, nil 135 } 136 137 // bindHbalancerExchange binds a generic wrapper to an already deployed contract. 138 func bindHbalancerExchange(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 139 parsed, err := abi.JSON(strings.NewReader(HbalancerExchangeABI)) 140 if err != nil { 141 return nil, err 142 } 143 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 144 } 145 146 // Call invokes the (constant) contract method with params as input values and 147 // sets the output to result. The result type might be a single field for simple 148 // returns, a slice of interfaces for anonymous returns and a struct for named 149 // returns. 150 func (_HbalancerExchange *HbalancerExchangeRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 151 return _HbalancerExchange.Contract.HbalancerExchangeCaller.contract.Call(opts, result, method, params...) 152 } 153 154 // Transfer initiates a plain transaction to move funds to the contract, calling 155 // its default method if one is available. 156 func (_HbalancerExchange *HbalancerExchangeRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 157 return _HbalancerExchange.Contract.HbalancerExchangeTransactor.contract.Transfer(opts) 158 } 159 160 // Transact invokes the (paid) contract method with params as input values. 161 func (_HbalancerExchange *HbalancerExchangeRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 162 return _HbalancerExchange.Contract.HbalancerExchangeTransactor.contract.Transact(opts, method, params...) 163 } 164 165 // Call invokes the (constant) contract method with params as input values and 166 // sets the output to result. The result type might be a single field for simple 167 // returns, a slice of interfaces for anonymous returns and a struct for named 168 // returns. 169 func (_HbalancerExchange *HbalancerExchangeCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 170 return _HbalancerExchange.Contract.contract.Call(opts, result, method, params...) 171 } 172 173 // Transfer initiates a plain transaction to move funds to the contract, calling 174 // its default method if one is available. 175 func (_HbalancerExchange *HbalancerExchangeTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 176 return _HbalancerExchange.Contract.contract.Transfer(opts) 177 } 178 179 // Transact invokes the (paid) contract method with params as input values. 180 func (_HbalancerExchange *HbalancerExchangeTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 181 return _HbalancerExchange.Contract.contract.Transact(opts, method, params...) 182 } 183 184 // ETHADDRESS is a free data retrieval call binding the contract method 0xa734f06e. 185 // 186 // Solidity: function ETH_ADDRESS() view returns(address) 187 func (_HbalancerExchange *HbalancerExchangeCaller) ETHADDRESS(opts *bind.CallOpts) (common.Address, error) { 188 var out []interface{} 189 err := _HbalancerExchange.contract.Call(opts, &out, "ETH_ADDRESS") 190 191 if err != nil { 192 return *new(common.Address), err 193 } 194 195 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 196 197 return out0, err 198 199 } 200 201 // ETHADDRESS is a free data retrieval call binding the contract method 0xa734f06e. 202 // 203 // Solidity: function ETH_ADDRESS() view returns(address) 204 func (_HbalancerExchange *HbalancerExchangeSession) ETHADDRESS() (common.Address, error) { 205 return _HbalancerExchange.Contract.ETHADDRESS(&_HbalancerExchange.CallOpts) 206 } 207 208 // ETHADDRESS is a free data retrieval call binding the contract method 0xa734f06e. 209 // 210 // Solidity: function ETH_ADDRESS() view returns(address) 211 func (_HbalancerExchange *HbalancerExchangeCallerSession) ETHADDRESS() (common.Address, error) { 212 return _HbalancerExchange.Contract.ETHADDRESS(&_HbalancerExchange.CallOpts) 213 } 214 215 // EXCHANGEPROXY is a free data retrieval call binding the contract method 0x6fca4f8f. 216 // 217 // Solidity: function EXCHANGE_PROXY() view returns(address) 218 func (_HbalancerExchange *HbalancerExchangeCaller) EXCHANGEPROXY(opts *bind.CallOpts) (common.Address, error) { 219 var out []interface{} 220 err := _HbalancerExchange.contract.Call(opts, &out, "EXCHANGE_PROXY") 221 222 if err != nil { 223 return *new(common.Address), err 224 } 225 226 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 227 228 return out0, err 229 230 } 231 232 // EXCHANGEPROXY is a free data retrieval call binding the contract method 0x6fca4f8f. 233 // 234 // Solidity: function EXCHANGE_PROXY() view returns(address) 235 func (_HbalancerExchange *HbalancerExchangeSession) EXCHANGEPROXY() (common.Address, error) { 236 return _HbalancerExchange.Contract.EXCHANGEPROXY(&_HbalancerExchange.CallOpts) 237 } 238 239 // EXCHANGEPROXY is a free data retrieval call binding the contract method 0x6fca4f8f. 240 // 241 // Solidity: function EXCHANGE_PROXY() view returns(address) 242 func (_HbalancerExchange *HbalancerExchangeCallerSession) EXCHANGEPROXY() (common.Address, error) { 243 return _HbalancerExchange.Contract.EXCHANGEPROXY(&_HbalancerExchange.CallOpts) 244 } 245 246 // BatchSwapExactIn is a paid mutator transaction binding the contract method 0x8743ad58. 247 // 248 // Solidity: function batchSwapExactIn((address,address,address,uint256,uint256,uint256)[] swaps, address tokenIn, address tokenOut, uint256 totalAmountIn, uint256 minTotalAmountOut) payable returns(uint256 totalAmountOut) 249 func (_HbalancerExchange *HbalancerExchangeTransactor) BatchSwapExactIn(opts *bind.TransactOpts, swaps []IExchangeProxySwap, tokenIn common.Address, tokenOut common.Address, totalAmountIn *big.Int, minTotalAmountOut *big.Int) (*types.Transaction, error) { 250 return _HbalancerExchange.contract.Transact(opts, "batchSwapExactIn", swaps, tokenIn, tokenOut, totalAmountIn, minTotalAmountOut) 251 } 252 253 // BatchSwapExactIn is a paid mutator transaction binding the contract method 0x8743ad58. 254 // 255 // Solidity: function batchSwapExactIn((address,address,address,uint256,uint256,uint256)[] swaps, address tokenIn, address tokenOut, uint256 totalAmountIn, uint256 minTotalAmountOut) payable returns(uint256 totalAmountOut) 256 func (_HbalancerExchange *HbalancerExchangeSession) BatchSwapExactIn(swaps []IExchangeProxySwap, tokenIn common.Address, tokenOut common.Address, totalAmountIn *big.Int, minTotalAmountOut *big.Int) (*types.Transaction, error) { 257 return _HbalancerExchange.Contract.BatchSwapExactIn(&_HbalancerExchange.TransactOpts, swaps, tokenIn, tokenOut, totalAmountIn, minTotalAmountOut) 258 } 259 260 // BatchSwapExactIn is a paid mutator transaction binding the contract method 0x8743ad58. 261 // 262 // Solidity: function batchSwapExactIn((address,address,address,uint256,uint256,uint256)[] swaps, address tokenIn, address tokenOut, uint256 totalAmountIn, uint256 minTotalAmountOut) payable returns(uint256 totalAmountOut) 263 func (_HbalancerExchange *HbalancerExchangeTransactorSession) BatchSwapExactIn(swaps []IExchangeProxySwap, tokenIn common.Address, tokenOut common.Address, totalAmountIn *big.Int, minTotalAmountOut *big.Int) (*types.Transaction, error) { 264 return _HbalancerExchange.Contract.BatchSwapExactIn(&_HbalancerExchange.TransactOpts, swaps, tokenIn, tokenOut, totalAmountIn, minTotalAmountOut) 265 } 266 267 // BatchSwapExactOut is a paid mutator transaction binding the contract method 0x2db58134. 268 // 269 // Solidity: function batchSwapExactOut((address,address,address,uint256,uint256,uint256)[] swaps, address tokenIn, address tokenOut, uint256 maxTotalAmountIn) payable returns(uint256 totalAmountIn) 270 func (_HbalancerExchange *HbalancerExchangeTransactor) BatchSwapExactOut(opts *bind.TransactOpts, swaps []IExchangeProxySwap, tokenIn common.Address, tokenOut common.Address, maxTotalAmountIn *big.Int) (*types.Transaction, error) { 271 return _HbalancerExchange.contract.Transact(opts, "batchSwapExactOut", swaps, tokenIn, tokenOut, maxTotalAmountIn) 272 } 273 274 // BatchSwapExactOut is a paid mutator transaction binding the contract method 0x2db58134. 275 // 276 // Solidity: function batchSwapExactOut((address,address,address,uint256,uint256,uint256)[] swaps, address tokenIn, address tokenOut, uint256 maxTotalAmountIn) payable returns(uint256 totalAmountIn) 277 func (_HbalancerExchange *HbalancerExchangeSession) BatchSwapExactOut(swaps []IExchangeProxySwap, tokenIn common.Address, tokenOut common.Address, maxTotalAmountIn *big.Int) (*types.Transaction, error) { 278 return _HbalancerExchange.Contract.BatchSwapExactOut(&_HbalancerExchange.TransactOpts, swaps, tokenIn, tokenOut, maxTotalAmountIn) 279 } 280 281 // BatchSwapExactOut is a paid mutator transaction binding the contract method 0x2db58134. 282 // 283 // Solidity: function batchSwapExactOut((address,address,address,uint256,uint256,uint256)[] swaps, address tokenIn, address tokenOut, uint256 maxTotalAmountIn) payable returns(uint256 totalAmountIn) 284 func (_HbalancerExchange *HbalancerExchangeTransactorSession) BatchSwapExactOut(swaps []IExchangeProxySwap, tokenIn common.Address, tokenOut common.Address, maxTotalAmountIn *big.Int) (*types.Transaction, error) { 285 return _HbalancerExchange.Contract.BatchSwapExactOut(&_HbalancerExchange.TransactOpts, swaps, tokenIn, tokenOut, maxTotalAmountIn) 286 } 287 288 // MultihopBatchSwapExactIn is a paid mutator transaction binding the contract method 0xe2b39746. 289 // 290 // Solidity: function multihopBatchSwapExactIn((address,address,address,uint256,uint256,uint256)[][] swapSequences, address tokenIn, address tokenOut, uint256 totalAmountIn, uint256 minTotalAmountOut) payable returns(uint256 totalAmountOut) 291 func (_HbalancerExchange *HbalancerExchangeTransactor) MultihopBatchSwapExactIn(opts *bind.TransactOpts, swapSequences [][]IExchangeProxySwap, tokenIn common.Address, tokenOut common.Address, totalAmountIn *big.Int, minTotalAmountOut *big.Int) (*types.Transaction, error) { 292 return _HbalancerExchange.contract.Transact(opts, "multihopBatchSwapExactIn", swapSequences, tokenIn, tokenOut, totalAmountIn, minTotalAmountOut) 293 } 294 295 // MultihopBatchSwapExactIn is a paid mutator transaction binding the contract method 0xe2b39746. 296 // 297 // Solidity: function multihopBatchSwapExactIn((address,address,address,uint256,uint256,uint256)[][] swapSequences, address tokenIn, address tokenOut, uint256 totalAmountIn, uint256 minTotalAmountOut) payable returns(uint256 totalAmountOut) 298 func (_HbalancerExchange *HbalancerExchangeSession) MultihopBatchSwapExactIn(swapSequences [][]IExchangeProxySwap, tokenIn common.Address, tokenOut common.Address, totalAmountIn *big.Int, minTotalAmountOut *big.Int) (*types.Transaction, error) { 299 return _HbalancerExchange.Contract.MultihopBatchSwapExactIn(&_HbalancerExchange.TransactOpts, swapSequences, tokenIn, tokenOut, totalAmountIn, minTotalAmountOut) 300 } 301 302 // MultihopBatchSwapExactIn is a paid mutator transaction binding the contract method 0xe2b39746. 303 // 304 // Solidity: function multihopBatchSwapExactIn((address,address,address,uint256,uint256,uint256)[][] swapSequences, address tokenIn, address tokenOut, uint256 totalAmountIn, uint256 minTotalAmountOut) payable returns(uint256 totalAmountOut) 305 func (_HbalancerExchange *HbalancerExchangeTransactorSession) MultihopBatchSwapExactIn(swapSequences [][]IExchangeProxySwap, tokenIn common.Address, tokenOut common.Address, totalAmountIn *big.Int, minTotalAmountOut *big.Int) (*types.Transaction, error) { 306 return _HbalancerExchange.Contract.MultihopBatchSwapExactIn(&_HbalancerExchange.TransactOpts, swapSequences, tokenIn, tokenOut, totalAmountIn, minTotalAmountOut) 307 } 308 309 // MultihopBatchSwapExactOut is a paid mutator transaction binding the contract method 0x86b2ecc4. 310 // 311 // Solidity: function multihopBatchSwapExactOut((address,address,address,uint256,uint256,uint256)[][] swapSequences, address tokenIn, address tokenOut, uint256 maxTotalAmountIn) payable returns(uint256 totalAmountIn) 312 func (_HbalancerExchange *HbalancerExchangeTransactor) MultihopBatchSwapExactOut(opts *bind.TransactOpts, swapSequences [][]IExchangeProxySwap, tokenIn common.Address, tokenOut common.Address, maxTotalAmountIn *big.Int) (*types.Transaction, error) { 313 return _HbalancerExchange.contract.Transact(opts, "multihopBatchSwapExactOut", swapSequences, tokenIn, tokenOut, maxTotalAmountIn) 314 } 315 316 // MultihopBatchSwapExactOut is a paid mutator transaction binding the contract method 0x86b2ecc4. 317 // 318 // Solidity: function multihopBatchSwapExactOut((address,address,address,uint256,uint256,uint256)[][] swapSequences, address tokenIn, address tokenOut, uint256 maxTotalAmountIn) payable returns(uint256 totalAmountIn) 319 func (_HbalancerExchange *HbalancerExchangeSession) MultihopBatchSwapExactOut(swapSequences [][]IExchangeProxySwap, tokenIn common.Address, tokenOut common.Address, maxTotalAmountIn *big.Int) (*types.Transaction, error) { 320 return _HbalancerExchange.Contract.MultihopBatchSwapExactOut(&_HbalancerExchange.TransactOpts, swapSequences, tokenIn, tokenOut, maxTotalAmountIn) 321 } 322 323 // MultihopBatchSwapExactOut is a paid mutator transaction binding the contract method 0x86b2ecc4. 324 // 325 // Solidity: function multihopBatchSwapExactOut((address,address,address,uint256,uint256,uint256)[][] swapSequences, address tokenIn, address tokenOut, uint256 maxTotalAmountIn) payable returns(uint256 totalAmountIn) 326 func (_HbalancerExchange *HbalancerExchangeTransactorSession) MultihopBatchSwapExactOut(swapSequences [][]IExchangeProxySwap, tokenIn common.Address, tokenOut common.Address, maxTotalAmountIn *big.Int) (*types.Transaction, error) { 327 return _HbalancerExchange.Contract.MultihopBatchSwapExactOut(&_HbalancerExchange.TransactOpts, swapSequences, tokenIn, tokenOut, maxTotalAmountIn) 328 } 329 330 // PostProcess is a paid mutator transaction binding the contract method 0xc2722916. 331 // 332 // Solidity: function postProcess() payable returns() 333 func (_HbalancerExchange *HbalancerExchangeTransactor) PostProcess(opts *bind.TransactOpts) (*types.Transaction, error) { 334 return _HbalancerExchange.contract.Transact(opts, "postProcess") 335 } 336 337 // PostProcess is a paid mutator transaction binding the contract method 0xc2722916. 338 // 339 // Solidity: function postProcess() payable returns() 340 func (_HbalancerExchange *HbalancerExchangeSession) PostProcess() (*types.Transaction, error) { 341 return _HbalancerExchange.Contract.PostProcess(&_HbalancerExchange.TransactOpts) 342 } 343 344 // PostProcess is a paid mutator transaction binding the contract method 0xc2722916. 345 // 346 // Solidity: function postProcess() payable returns() 347 func (_HbalancerExchange *HbalancerExchangeTransactorSession) PostProcess() (*types.Transaction, error) { 348 return _HbalancerExchange.Contract.PostProcess(&_HbalancerExchange.TransactOpts) 349 } 350 351 // SmartSwapExactIn is a paid mutator transaction binding the contract method 0x21b0eb85. 352 // 353 // Solidity: function smartSwapExactIn(address tokenIn, address tokenOut, uint256 totalAmountIn, uint256 minTotalAmountOut, uint256 nPools) payable returns(uint256 totalAmountOut) 354 func (_HbalancerExchange *HbalancerExchangeTransactor) SmartSwapExactIn(opts *bind.TransactOpts, tokenIn common.Address, tokenOut common.Address, totalAmountIn *big.Int, minTotalAmountOut *big.Int, nPools *big.Int) (*types.Transaction, error) { 355 return _HbalancerExchange.contract.Transact(opts, "smartSwapExactIn", tokenIn, tokenOut, totalAmountIn, minTotalAmountOut, nPools) 356 } 357 358 // SmartSwapExactIn is a paid mutator transaction binding the contract method 0x21b0eb85. 359 // 360 // Solidity: function smartSwapExactIn(address tokenIn, address tokenOut, uint256 totalAmountIn, uint256 minTotalAmountOut, uint256 nPools) payable returns(uint256 totalAmountOut) 361 func (_HbalancerExchange *HbalancerExchangeSession) SmartSwapExactIn(tokenIn common.Address, tokenOut common.Address, totalAmountIn *big.Int, minTotalAmountOut *big.Int, nPools *big.Int) (*types.Transaction, error) { 362 return _HbalancerExchange.Contract.SmartSwapExactIn(&_HbalancerExchange.TransactOpts, tokenIn, tokenOut, totalAmountIn, minTotalAmountOut, nPools) 363 } 364 365 // SmartSwapExactIn is a paid mutator transaction binding the contract method 0x21b0eb85. 366 // 367 // Solidity: function smartSwapExactIn(address tokenIn, address tokenOut, uint256 totalAmountIn, uint256 minTotalAmountOut, uint256 nPools) payable returns(uint256 totalAmountOut) 368 func (_HbalancerExchange *HbalancerExchangeTransactorSession) SmartSwapExactIn(tokenIn common.Address, tokenOut common.Address, totalAmountIn *big.Int, minTotalAmountOut *big.Int, nPools *big.Int) (*types.Transaction, error) { 369 return _HbalancerExchange.Contract.SmartSwapExactIn(&_HbalancerExchange.TransactOpts, tokenIn, tokenOut, totalAmountIn, minTotalAmountOut, nPools) 370 } 371 372 // SmartSwapExactOut is a paid mutator transaction binding the contract method 0xb40f39ee. 373 // 374 // Solidity: function smartSwapExactOut(address tokenIn, address tokenOut, uint256 totalAmountOut, uint256 maxTotalAmountIn, uint256 nPools) payable returns(uint256 totalAmountIn) 375 func (_HbalancerExchange *HbalancerExchangeTransactor) SmartSwapExactOut(opts *bind.TransactOpts, tokenIn common.Address, tokenOut common.Address, totalAmountOut *big.Int, maxTotalAmountIn *big.Int, nPools *big.Int) (*types.Transaction, error) { 376 return _HbalancerExchange.contract.Transact(opts, "smartSwapExactOut", tokenIn, tokenOut, totalAmountOut, maxTotalAmountIn, nPools) 377 } 378 379 // SmartSwapExactOut is a paid mutator transaction binding the contract method 0xb40f39ee. 380 // 381 // Solidity: function smartSwapExactOut(address tokenIn, address tokenOut, uint256 totalAmountOut, uint256 maxTotalAmountIn, uint256 nPools) payable returns(uint256 totalAmountIn) 382 func (_HbalancerExchange *HbalancerExchangeSession) SmartSwapExactOut(tokenIn common.Address, tokenOut common.Address, totalAmountOut *big.Int, maxTotalAmountIn *big.Int, nPools *big.Int) (*types.Transaction, error) { 383 return _HbalancerExchange.Contract.SmartSwapExactOut(&_HbalancerExchange.TransactOpts, tokenIn, tokenOut, totalAmountOut, maxTotalAmountIn, nPools) 384 } 385 386 // SmartSwapExactOut is a paid mutator transaction binding the contract method 0xb40f39ee. 387 // 388 // Solidity: function smartSwapExactOut(address tokenIn, address tokenOut, uint256 totalAmountOut, uint256 maxTotalAmountIn, uint256 nPools) payable returns(uint256 totalAmountIn) 389 func (_HbalancerExchange *HbalancerExchangeTransactorSession) SmartSwapExactOut(tokenIn common.Address, tokenOut common.Address, totalAmountOut *big.Int, maxTotalAmountIn *big.Int, nPools *big.Int) (*types.Transaction, error) { 390 return _HbalancerExchange.Contract.SmartSwapExactOut(&_HbalancerExchange.TransactOpts, tokenIn, tokenOut, totalAmountOut, maxTotalAmountIn, nPools) 391 }