github.com/diadata-org/diadata@v1.4.593/pkg/dia/scraper/exchange-scrapers/balancerv2/vault/BalancerVault.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 balancervault 5 6 import ( 7 "errors" 8 "math/big" 9 "strings" 10 11 ethereum "github.com/ethereum/go-ethereum" 12 "github.com/ethereum/go-ethereum/accounts/abi" 13 "github.com/ethereum/go-ethereum/accounts/abi/bind" 14 "github.com/ethereum/go-ethereum/common" 15 "github.com/ethereum/go-ethereum/core/types" 16 "github.com/ethereum/go-ethereum/event" 17 ) 18 19 // Reference imports to suppress errors if they are not otherwise used. 20 var ( 21 _ = errors.New 22 _ = big.NewInt 23 _ = strings.NewReader 24 _ = ethereum.NotFound 25 _ = bind.Bind 26 _ = common.Big1 27 _ = types.BloomLookup 28 _ = event.NewSubscription 29 ) 30 31 // IVaultBatchSwapStep is an auto generated low-level Go binding around an user-defined struct. 32 type IVaultBatchSwapStep struct { 33 PoolId [32]byte 34 AssetInIndex *big.Int 35 AssetOutIndex *big.Int 36 Amount *big.Int 37 UserData []byte 38 } 39 40 // IVaultExitPoolRequest is an auto generated low-level Go binding around an user-defined struct. 41 type IVaultExitPoolRequest struct { 42 Assets []common.Address 43 MinAmountsOut []*big.Int 44 UserData []byte 45 ToInternalBalance bool 46 } 47 48 // IVaultFundManagement is an auto generated low-level Go binding around an user-defined struct. 49 type IVaultFundManagement struct { 50 Sender common.Address 51 FromInternalBalance bool 52 Recipient common.Address 53 ToInternalBalance bool 54 } 55 56 // IVaultJoinPoolRequest is an auto generated low-level Go binding around an user-defined struct. 57 type IVaultJoinPoolRequest struct { 58 Assets []common.Address 59 MaxAmountsIn []*big.Int 60 UserData []byte 61 FromInternalBalance bool 62 } 63 64 // IVaultPoolBalanceOp is an auto generated low-level Go binding around an user-defined struct. 65 type IVaultPoolBalanceOp struct { 66 Kind uint8 67 PoolId [32]byte 68 Token common.Address 69 Amount *big.Int 70 } 71 72 // IVaultSingleSwap is an auto generated low-level Go binding around an user-defined struct. 73 type IVaultSingleSwap struct { 74 PoolId [32]byte 75 Kind uint8 76 AssetIn common.Address 77 AssetOut common.Address 78 Amount *big.Int 79 UserData []byte 80 } 81 82 // IVaultUserBalanceOp is an auto generated low-level Go binding around an user-defined struct. 83 type IVaultUserBalanceOp struct { 84 Kind uint8 85 Asset common.Address 86 Amount *big.Int 87 Sender common.Address 88 Recipient common.Address 89 } 90 91 // BalancerVaultMetaData contains all meta data concerning the BalancerVault contract. 92 var BalancerVaultMetaData = &bind.MetaData{ 93 ABI: "[{\"inputs\":[{\"internalType\":\"contractIAuthorizer\",\"name\":\"authorizer\",\"type\":\"address\"},{\"internalType\":\"contractIWETH\",\"name\":\"weth\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"pauseWindowDuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bufferPeriodDuration\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contractIAuthorizer\",\"name\":\"newAuthorizer\",\"type\":\"address\"}],\"name\":\"AuthorizerChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contractIERC20\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ExternalBalanceTransfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contractIFlashLoanRecipient\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"contractIERC20\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"feeAmount\",\"type\":\"uint256\"}],\"name\":\"FlashLoan\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"contractIERC20\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"delta\",\"type\":\"int256\"}],\"name\":\"InternalBalanceChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"paused\",\"type\":\"bool\"}],\"name\":\"PausedStateChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"poolId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"liquidityProvider\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"contractIERC20[]\",\"name\":\"tokens\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"deltas\",\"type\":\"int256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"protocolFeeAmounts\",\"type\":\"uint256[]\"}],\"name\":\"PoolBalanceChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"poolId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"assetManager\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"contractIERC20\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"cashDelta\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"managedDelta\",\"type\":\"int256\"}],\"name\":\"PoolBalanceManaged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"poolId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"poolAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enumIVault.PoolSpecialization\",\"name\":\"specialization\",\"type\":\"uint8\"}],\"name\":\"PoolRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"RelayerApprovalChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"poolId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"contractIERC20\",\"name\":\"tokenIn\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"contractIERC20\",\"name\":\"tokenOut\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"}],\"name\":\"Swap\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"poolId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"contractIERC20[]\",\"name\":\"tokens\",\"type\":\"address[]\"}],\"name\":\"TokensDeregistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"poolId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"contractIERC20[]\",\"name\":\"tokens\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"assetManagers\",\"type\":\"address[]\"}],\"name\":\"TokensRegistered\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"WETH\",\"outputs\":[{\"internalType\":\"contractIWETH\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enumIVault.SwapKind\",\"name\":\"kind\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"poolId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"assetInIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"assetOutIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"userData\",\"type\":\"bytes\"}],\"internalType\":\"structIVault.BatchSwapStep[]\",\"name\":\"swaps\",\"type\":\"tuple[]\"},{\"internalType\":\"contractIAsset[]\",\"name\":\"assets\",\"type\":\"address[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"fromInternalBalance\",\"type\":\"bool\"},{\"internalType\":\"addresspayable\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"toInternalBalance\",\"type\":\"bool\"}],\"internalType\":\"structIVault.FundManagement\",\"name\":\"funds\",\"type\":\"tuple\"},{\"internalType\":\"int256[]\",\"name\":\"limits\",\"type\":\"int256[]\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"batchSwap\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"assetDeltas\",\"type\":\"int256[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"poolId\",\"type\":\"bytes32\"},{\"internalType\":\"contractIERC20[]\",\"name\":\"tokens\",\"type\":\"address[]\"}],\"name\":\"deregisterTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"poolId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"addresspayable\",\"name\":\"recipient\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"contractIAsset[]\",\"name\":\"assets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minAmountsOut\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"userData\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"toInternalBalance\",\"type\":\"bool\"}],\"internalType\":\"structIVault.ExitPoolRequest\",\"name\":\"request\",\"type\":\"tuple\"}],\"name\":\"exitPool\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contractIFlashLoanRecipient\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"contractIERC20[]\",\"name\":\"tokens\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"userData\",\"type\":\"bytes\"}],\"name\":\"flashLoan\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"selector\",\"type\":\"bytes4\"}],\"name\":\"getActionId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAuthorizer\",\"outputs\":[{\"internalType\":\"contractIAuthorizer\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDomainSeparator\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"contractIERC20[]\",\"name\":\"tokens\",\"type\":\"address[]\"}],\"name\":\"getInternalBalance\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"balances\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getNextNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPausedState\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"paused\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"pauseWindowEndTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bufferPeriodEndTime\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"poolId\",\"type\":\"bytes32\"}],\"name\":\"getPool\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"enumIVault.PoolSpecialization\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"poolId\",\"type\":\"bytes32\"},{\"internalType\":\"contractIERC20\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"getPoolTokenInfo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"cash\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"managed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastChangeBlock\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"assetManager\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"poolId\",\"type\":\"bytes32\"}],\"name\":\"getPoolTokens\",\"outputs\":[{\"internalType\":\"contractIERC20[]\",\"name\":\"tokens\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"balances\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"lastChangeBlock\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getProtocolFeesCollector\",\"outputs\":[{\"internalType\":\"contractProtocolFeesCollector\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"}],\"name\":\"hasApprovedRelayer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"poolId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"contractIAsset[]\",\"name\":\"assets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"maxAmountsIn\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"userData\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"fromInternalBalance\",\"type\":\"bool\"}],\"internalType\":\"structIVault.JoinPoolRequest\",\"name\":\"request\",\"type\":\"tuple\"}],\"name\":\"joinPool\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"enumIVault.PoolBalanceOpKind\",\"name\":\"kind\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"poolId\",\"type\":\"bytes32\"},{\"internalType\":\"contractIERC20\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"structIVault.PoolBalanceOp[]\",\"name\":\"ops\",\"type\":\"tuple[]\"}],\"name\":\"managePoolBalance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"enumIVault.UserBalanceOpKind\",\"name\":\"kind\",\"type\":\"uint8\"},{\"internalType\":\"contractIAsset\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"addresspayable\",\"name\":\"recipient\",\"type\":\"address\"}],\"internalType\":\"structIVault.UserBalanceOp[]\",\"name\":\"ops\",\"type\":\"tuple[]\"}],\"name\":\"manageUserBalance\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enumIVault.SwapKind\",\"name\":\"kind\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"poolId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"assetInIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"assetOutIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"userData\",\"type\":\"bytes\"}],\"internalType\":\"structIVault.BatchSwapStep[]\",\"name\":\"swaps\",\"type\":\"tuple[]\"},{\"internalType\":\"contractIAsset[]\",\"name\":\"assets\",\"type\":\"address[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"fromInternalBalance\",\"type\":\"bool\"},{\"internalType\":\"addresspayable\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"toInternalBalance\",\"type\":\"bool\"}],\"internalType\":\"structIVault.FundManagement\",\"name\":\"funds\",\"type\":\"tuple\"}],\"name\":\"queryBatchSwap\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"\",\"type\":\"int256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enumIVault.PoolSpecialization\",\"name\":\"specialization\",\"type\":\"uint8\"}],\"name\":\"registerPool\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"poolId\",\"type\":\"bytes32\"},{\"internalType\":\"contractIERC20[]\",\"name\":\"tokens\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"assetManagers\",\"type\":\"address[]\"}],\"name\":\"registerTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contractIAuthorizer\",\"name\":\"newAuthorizer\",\"type\":\"address\"}],\"name\":\"setAuthorizer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"paused\",\"type\":\"bool\"}],\"name\":\"setPaused\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setRelayerApproval\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"poolId\",\"type\":\"bytes32\"},{\"internalType\":\"enumIVault.SwapKind\",\"name\":\"kind\",\"type\":\"uint8\"},{\"internalType\":\"contractIAsset\",\"name\":\"assetIn\",\"type\":\"address\"},{\"internalType\":\"contractIAsset\",\"name\":\"assetOut\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"userData\",\"type\":\"bytes\"}],\"internalType\":\"structIVault.SingleSwap\",\"name\":\"singleSwap\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"fromInternalBalance\",\"type\":\"bool\"},{\"internalType\":\"addresspayable\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"toInternalBalance\",\"type\":\"bool\"}],\"internalType\":\"structIVault.FundManagement\",\"name\":\"funds\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"swap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountCalculated\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}]", 94 } 95 96 // BalancerVaultABI is the input ABI used to generate the binding from. 97 // Deprecated: Use BalancerVaultMetaData.ABI instead. 98 var BalancerVaultABI = BalancerVaultMetaData.ABI 99 100 // BalancerVault is an auto generated Go binding around an Ethereum contract. 101 type BalancerVault struct { 102 BalancerVaultCaller // Read-only binding to the contract 103 BalancerVaultTransactor // Write-only binding to the contract 104 BalancerVaultFilterer // Log filterer for contract events 105 } 106 107 // BalancerVaultCaller is an auto generated read-only Go binding around an Ethereum contract. 108 type BalancerVaultCaller struct { 109 contract *bind.BoundContract // Generic contract wrapper for the low level calls 110 } 111 112 // BalancerVaultTransactor is an auto generated write-only Go binding around an Ethereum contract. 113 type BalancerVaultTransactor struct { 114 contract *bind.BoundContract // Generic contract wrapper for the low level calls 115 } 116 117 // BalancerVaultFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 118 type BalancerVaultFilterer struct { 119 contract *bind.BoundContract // Generic contract wrapper for the low level calls 120 } 121 122 // BalancerVaultSession is an auto generated Go binding around an Ethereum contract, 123 // with pre-set call and transact options. 124 type BalancerVaultSession struct { 125 Contract *BalancerVault // Generic contract binding to set the session for 126 CallOpts bind.CallOpts // Call options to use throughout this session 127 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 128 } 129 130 // BalancerVaultCallerSession is an auto generated read-only Go binding around an Ethereum contract, 131 // with pre-set call options. 132 type BalancerVaultCallerSession struct { 133 Contract *BalancerVaultCaller // Generic contract caller binding to set the session for 134 CallOpts bind.CallOpts // Call options to use throughout this session 135 } 136 137 // BalancerVaultTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 138 // with pre-set transact options. 139 type BalancerVaultTransactorSession struct { 140 Contract *BalancerVaultTransactor // Generic contract transactor binding to set the session for 141 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 142 } 143 144 // BalancerVaultRaw is an auto generated low-level Go binding around an Ethereum contract. 145 type BalancerVaultRaw struct { 146 Contract *BalancerVault // Generic contract binding to access the raw methods on 147 } 148 149 // BalancerVaultCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 150 type BalancerVaultCallerRaw struct { 151 Contract *BalancerVaultCaller // Generic read-only contract binding to access the raw methods on 152 } 153 154 // BalancerVaultTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 155 type BalancerVaultTransactorRaw struct { 156 Contract *BalancerVaultTransactor // Generic write-only contract binding to access the raw methods on 157 } 158 159 // NewBalancerVault creates a new instance of BalancerVault, bound to a specific deployed contract. 160 func NewBalancerVault(address common.Address, backend bind.ContractBackend) (*BalancerVault, error) { 161 contract, err := bindBalancerVault(address, backend, backend, backend) 162 if err != nil { 163 return nil, err 164 } 165 return &BalancerVault{BalancerVaultCaller: BalancerVaultCaller{contract: contract}, BalancerVaultTransactor: BalancerVaultTransactor{contract: contract}, BalancerVaultFilterer: BalancerVaultFilterer{contract: contract}}, nil 166 } 167 168 // NewBalancerVaultCaller creates a new read-only instance of BalancerVault, bound to a specific deployed contract. 169 func NewBalancerVaultCaller(address common.Address, caller bind.ContractCaller) (*BalancerVaultCaller, error) { 170 contract, err := bindBalancerVault(address, caller, nil, nil) 171 if err != nil { 172 return nil, err 173 } 174 return &BalancerVaultCaller{contract: contract}, nil 175 } 176 177 // NewBalancerVaultTransactor creates a new write-only instance of BalancerVault, bound to a specific deployed contract. 178 func NewBalancerVaultTransactor(address common.Address, transactor bind.ContractTransactor) (*BalancerVaultTransactor, error) { 179 contract, err := bindBalancerVault(address, nil, transactor, nil) 180 if err != nil { 181 return nil, err 182 } 183 return &BalancerVaultTransactor{contract: contract}, nil 184 } 185 186 // NewBalancerVaultFilterer creates a new log filterer instance of BalancerVault, bound to a specific deployed contract. 187 func NewBalancerVaultFilterer(address common.Address, filterer bind.ContractFilterer) (*BalancerVaultFilterer, error) { 188 contract, err := bindBalancerVault(address, nil, nil, filterer) 189 if err != nil { 190 return nil, err 191 } 192 return &BalancerVaultFilterer{contract: contract}, nil 193 } 194 195 // bindBalancerVault binds a generic wrapper to an already deployed contract. 196 func bindBalancerVault(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 197 parsed, err := abi.JSON(strings.NewReader(BalancerVaultABI)) 198 if err != nil { 199 return nil, err 200 } 201 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 202 } 203 204 // Call invokes the (constant) contract method with params as input values and 205 // sets the output to result. The result type might be a single field for simple 206 // returns, a slice of interfaces for anonymous returns and a struct for named 207 // returns. 208 func (_BalancerVault *BalancerVaultRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 209 return _BalancerVault.Contract.BalancerVaultCaller.contract.Call(opts, result, method, params...) 210 } 211 212 // Transfer initiates a plain transaction to move funds to the contract, calling 213 // its default method if one is available. 214 func (_BalancerVault *BalancerVaultRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 215 return _BalancerVault.Contract.BalancerVaultTransactor.contract.Transfer(opts) 216 } 217 218 // Transact invokes the (paid) contract method with params as input values. 219 func (_BalancerVault *BalancerVaultRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 220 return _BalancerVault.Contract.BalancerVaultTransactor.contract.Transact(opts, method, params...) 221 } 222 223 // Call invokes the (constant) contract method with params as input values and 224 // sets the output to result. The result type might be a single field for simple 225 // returns, a slice of interfaces for anonymous returns and a struct for named 226 // returns. 227 func (_BalancerVault *BalancerVaultCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 228 return _BalancerVault.Contract.contract.Call(opts, result, method, params...) 229 } 230 231 // Transfer initiates a plain transaction to move funds to the contract, calling 232 // its default method if one is available. 233 func (_BalancerVault *BalancerVaultTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 234 return _BalancerVault.Contract.contract.Transfer(opts) 235 } 236 237 // Transact invokes the (paid) contract method with params as input values. 238 func (_BalancerVault *BalancerVaultTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 239 return _BalancerVault.Contract.contract.Transact(opts, method, params...) 240 } 241 242 // WETH is a free data retrieval call binding the contract method 0xad5c4648. 243 // 244 // Solidity: function WETH() view returns(address) 245 func (_BalancerVault *BalancerVaultCaller) WETH(opts *bind.CallOpts) (common.Address, error) { 246 var out []interface{} 247 err := _BalancerVault.contract.Call(opts, &out, "WETH") 248 249 if err != nil { 250 return *new(common.Address), err 251 } 252 253 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 254 255 return out0, err 256 257 } 258 259 // WETH is a free data retrieval call binding the contract method 0xad5c4648. 260 // 261 // Solidity: function WETH() view returns(address) 262 func (_BalancerVault *BalancerVaultSession) WETH() (common.Address, error) { 263 return _BalancerVault.Contract.WETH(&_BalancerVault.CallOpts) 264 } 265 266 // WETH is a free data retrieval call binding the contract method 0xad5c4648. 267 // 268 // Solidity: function WETH() view returns(address) 269 func (_BalancerVault *BalancerVaultCallerSession) WETH() (common.Address, error) { 270 return _BalancerVault.Contract.WETH(&_BalancerVault.CallOpts) 271 } 272 273 // GetActionId is a free data retrieval call binding the contract method 0x851c1bb3. 274 // 275 // Solidity: function getActionId(bytes4 selector) view returns(bytes32) 276 func (_BalancerVault *BalancerVaultCaller) GetActionId(opts *bind.CallOpts, selector [4]byte) ([32]byte, error) { 277 var out []interface{} 278 err := _BalancerVault.contract.Call(opts, &out, "getActionId", selector) 279 280 if err != nil { 281 return *new([32]byte), err 282 } 283 284 out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) 285 286 return out0, err 287 288 } 289 290 // GetActionId is a free data retrieval call binding the contract method 0x851c1bb3. 291 // 292 // Solidity: function getActionId(bytes4 selector) view returns(bytes32) 293 func (_BalancerVault *BalancerVaultSession) GetActionId(selector [4]byte) ([32]byte, error) { 294 return _BalancerVault.Contract.GetActionId(&_BalancerVault.CallOpts, selector) 295 } 296 297 // GetActionId is a free data retrieval call binding the contract method 0x851c1bb3. 298 // 299 // Solidity: function getActionId(bytes4 selector) view returns(bytes32) 300 func (_BalancerVault *BalancerVaultCallerSession) GetActionId(selector [4]byte) ([32]byte, error) { 301 return _BalancerVault.Contract.GetActionId(&_BalancerVault.CallOpts, selector) 302 } 303 304 // GetAuthorizer is a free data retrieval call binding the contract method 0xaaabadc5. 305 // 306 // Solidity: function getAuthorizer() view returns(address) 307 func (_BalancerVault *BalancerVaultCaller) GetAuthorizer(opts *bind.CallOpts) (common.Address, error) { 308 var out []interface{} 309 err := _BalancerVault.contract.Call(opts, &out, "getAuthorizer") 310 311 if err != nil { 312 return *new(common.Address), err 313 } 314 315 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 316 317 return out0, err 318 319 } 320 321 // GetAuthorizer is a free data retrieval call binding the contract method 0xaaabadc5. 322 // 323 // Solidity: function getAuthorizer() view returns(address) 324 func (_BalancerVault *BalancerVaultSession) GetAuthorizer() (common.Address, error) { 325 return _BalancerVault.Contract.GetAuthorizer(&_BalancerVault.CallOpts) 326 } 327 328 // GetAuthorizer is a free data retrieval call binding the contract method 0xaaabadc5. 329 // 330 // Solidity: function getAuthorizer() view returns(address) 331 func (_BalancerVault *BalancerVaultCallerSession) GetAuthorizer() (common.Address, error) { 332 return _BalancerVault.Contract.GetAuthorizer(&_BalancerVault.CallOpts) 333 } 334 335 // GetDomainSeparator is a free data retrieval call binding the contract method 0xed24911d. 336 // 337 // Solidity: function getDomainSeparator() view returns(bytes32) 338 func (_BalancerVault *BalancerVaultCaller) GetDomainSeparator(opts *bind.CallOpts) ([32]byte, error) { 339 var out []interface{} 340 err := _BalancerVault.contract.Call(opts, &out, "getDomainSeparator") 341 342 if err != nil { 343 return *new([32]byte), err 344 } 345 346 out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) 347 348 return out0, err 349 350 } 351 352 // GetDomainSeparator is a free data retrieval call binding the contract method 0xed24911d. 353 // 354 // Solidity: function getDomainSeparator() view returns(bytes32) 355 func (_BalancerVault *BalancerVaultSession) GetDomainSeparator() ([32]byte, error) { 356 return _BalancerVault.Contract.GetDomainSeparator(&_BalancerVault.CallOpts) 357 } 358 359 // GetDomainSeparator is a free data retrieval call binding the contract method 0xed24911d. 360 // 361 // Solidity: function getDomainSeparator() view returns(bytes32) 362 func (_BalancerVault *BalancerVaultCallerSession) GetDomainSeparator() ([32]byte, error) { 363 return _BalancerVault.Contract.GetDomainSeparator(&_BalancerVault.CallOpts) 364 } 365 366 // GetInternalBalance is a free data retrieval call binding the contract method 0x0f5a6efa. 367 // 368 // Solidity: function getInternalBalance(address user, address[] tokens) view returns(uint256[] balances) 369 func (_BalancerVault *BalancerVaultCaller) GetInternalBalance(opts *bind.CallOpts, user common.Address, tokens []common.Address) ([]*big.Int, error) { 370 var out []interface{} 371 err := _BalancerVault.contract.Call(opts, &out, "getInternalBalance", user, tokens) 372 373 if err != nil { 374 return *new([]*big.Int), err 375 } 376 377 out0 := *abi.ConvertType(out[0], new([]*big.Int)).(*[]*big.Int) 378 379 return out0, err 380 381 } 382 383 // GetInternalBalance is a free data retrieval call binding the contract method 0x0f5a6efa. 384 // 385 // Solidity: function getInternalBalance(address user, address[] tokens) view returns(uint256[] balances) 386 func (_BalancerVault *BalancerVaultSession) GetInternalBalance(user common.Address, tokens []common.Address) ([]*big.Int, error) { 387 return _BalancerVault.Contract.GetInternalBalance(&_BalancerVault.CallOpts, user, tokens) 388 } 389 390 // GetInternalBalance is a free data retrieval call binding the contract method 0x0f5a6efa. 391 // 392 // Solidity: function getInternalBalance(address user, address[] tokens) view returns(uint256[] balances) 393 func (_BalancerVault *BalancerVaultCallerSession) GetInternalBalance(user common.Address, tokens []common.Address) ([]*big.Int, error) { 394 return _BalancerVault.Contract.GetInternalBalance(&_BalancerVault.CallOpts, user, tokens) 395 } 396 397 // GetNextNonce is a free data retrieval call binding the contract method 0x90193b7c. 398 // 399 // Solidity: function getNextNonce(address user) view returns(uint256) 400 func (_BalancerVault *BalancerVaultCaller) GetNextNonce(opts *bind.CallOpts, user common.Address) (*big.Int, error) { 401 var out []interface{} 402 err := _BalancerVault.contract.Call(opts, &out, "getNextNonce", user) 403 404 if err != nil { 405 return *new(*big.Int), err 406 } 407 408 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 409 410 return out0, err 411 412 } 413 414 // GetNextNonce is a free data retrieval call binding the contract method 0x90193b7c. 415 // 416 // Solidity: function getNextNonce(address user) view returns(uint256) 417 func (_BalancerVault *BalancerVaultSession) GetNextNonce(user common.Address) (*big.Int, error) { 418 return _BalancerVault.Contract.GetNextNonce(&_BalancerVault.CallOpts, user) 419 } 420 421 // GetNextNonce is a free data retrieval call binding the contract method 0x90193b7c. 422 // 423 // Solidity: function getNextNonce(address user) view returns(uint256) 424 func (_BalancerVault *BalancerVaultCallerSession) GetNextNonce(user common.Address) (*big.Int, error) { 425 return _BalancerVault.Contract.GetNextNonce(&_BalancerVault.CallOpts, user) 426 } 427 428 // GetPausedState is a free data retrieval call binding the contract method 0x1c0de051. 429 // 430 // Solidity: function getPausedState() view returns(bool paused, uint256 pauseWindowEndTime, uint256 bufferPeriodEndTime) 431 func (_BalancerVault *BalancerVaultCaller) GetPausedState(opts *bind.CallOpts) (struct { 432 Paused bool 433 PauseWindowEndTime *big.Int 434 BufferPeriodEndTime *big.Int 435 }, error) { 436 var out []interface{} 437 err := _BalancerVault.contract.Call(opts, &out, "getPausedState") 438 439 outstruct := new(struct { 440 Paused bool 441 PauseWindowEndTime *big.Int 442 BufferPeriodEndTime *big.Int 443 }) 444 if err != nil { 445 return *outstruct, err 446 } 447 448 outstruct.Paused = *abi.ConvertType(out[0], new(bool)).(*bool) 449 outstruct.PauseWindowEndTime = *abi.ConvertType(out[1], new(*big.Int)).(**big.Int) 450 outstruct.BufferPeriodEndTime = *abi.ConvertType(out[2], new(*big.Int)).(**big.Int) 451 452 return *outstruct, err 453 454 } 455 456 // GetPausedState is a free data retrieval call binding the contract method 0x1c0de051. 457 // 458 // Solidity: function getPausedState() view returns(bool paused, uint256 pauseWindowEndTime, uint256 bufferPeriodEndTime) 459 func (_BalancerVault *BalancerVaultSession) GetPausedState() (struct { 460 Paused bool 461 PauseWindowEndTime *big.Int 462 BufferPeriodEndTime *big.Int 463 }, error) { 464 return _BalancerVault.Contract.GetPausedState(&_BalancerVault.CallOpts) 465 } 466 467 // GetPausedState is a free data retrieval call binding the contract method 0x1c0de051. 468 // 469 // Solidity: function getPausedState() view returns(bool paused, uint256 pauseWindowEndTime, uint256 bufferPeriodEndTime) 470 func (_BalancerVault *BalancerVaultCallerSession) GetPausedState() (struct { 471 Paused bool 472 PauseWindowEndTime *big.Int 473 BufferPeriodEndTime *big.Int 474 }, error) { 475 return _BalancerVault.Contract.GetPausedState(&_BalancerVault.CallOpts) 476 } 477 478 // GetPool is a free data retrieval call binding the contract method 0xf6c00927. 479 // 480 // Solidity: function getPool(bytes32 poolId) view returns(address, uint8) 481 func (_BalancerVault *BalancerVaultCaller) GetPool(opts *bind.CallOpts, poolId [32]byte) (common.Address, uint8, error) { 482 var out []interface{} 483 err := _BalancerVault.contract.Call(opts, &out, "getPool", poolId) 484 485 if err != nil { 486 return *new(common.Address), *new(uint8), err 487 } 488 489 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 490 out1 := *abi.ConvertType(out[1], new(uint8)).(*uint8) 491 492 return out0, out1, err 493 494 } 495 496 // GetPool is a free data retrieval call binding the contract method 0xf6c00927. 497 // 498 // Solidity: function getPool(bytes32 poolId) view returns(address, uint8) 499 func (_BalancerVault *BalancerVaultSession) GetPool(poolId [32]byte) (common.Address, uint8, error) { 500 return _BalancerVault.Contract.GetPool(&_BalancerVault.CallOpts, poolId) 501 } 502 503 // GetPool is a free data retrieval call binding the contract method 0xf6c00927. 504 // 505 // Solidity: function getPool(bytes32 poolId) view returns(address, uint8) 506 func (_BalancerVault *BalancerVaultCallerSession) GetPool(poolId [32]byte) (common.Address, uint8, error) { 507 return _BalancerVault.Contract.GetPool(&_BalancerVault.CallOpts, poolId) 508 } 509 510 // GetPoolTokenInfo is a free data retrieval call binding the contract method 0xb05f8e48. 511 // 512 // Solidity: function getPoolTokenInfo(bytes32 poolId, address token) view returns(uint256 cash, uint256 managed, uint256 lastChangeBlock, address assetManager) 513 func (_BalancerVault *BalancerVaultCaller) GetPoolTokenInfo(opts *bind.CallOpts, poolId [32]byte, token common.Address) (struct { 514 Cash *big.Int 515 Managed *big.Int 516 LastChangeBlock *big.Int 517 AssetManager common.Address 518 }, error) { 519 var out []interface{} 520 err := _BalancerVault.contract.Call(opts, &out, "getPoolTokenInfo", poolId, token) 521 522 outstruct := new(struct { 523 Cash *big.Int 524 Managed *big.Int 525 LastChangeBlock *big.Int 526 AssetManager common.Address 527 }) 528 if err != nil { 529 return *outstruct, err 530 } 531 532 outstruct.Cash = *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 533 outstruct.Managed = *abi.ConvertType(out[1], new(*big.Int)).(**big.Int) 534 outstruct.LastChangeBlock = *abi.ConvertType(out[2], new(*big.Int)).(**big.Int) 535 outstruct.AssetManager = *abi.ConvertType(out[3], new(common.Address)).(*common.Address) 536 537 return *outstruct, err 538 539 } 540 541 // GetPoolTokenInfo is a free data retrieval call binding the contract method 0xb05f8e48. 542 // 543 // Solidity: function getPoolTokenInfo(bytes32 poolId, address token) view returns(uint256 cash, uint256 managed, uint256 lastChangeBlock, address assetManager) 544 func (_BalancerVault *BalancerVaultSession) GetPoolTokenInfo(poolId [32]byte, token common.Address) (struct { 545 Cash *big.Int 546 Managed *big.Int 547 LastChangeBlock *big.Int 548 AssetManager common.Address 549 }, error) { 550 return _BalancerVault.Contract.GetPoolTokenInfo(&_BalancerVault.CallOpts, poolId, token) 551 } 552 553 // GetPoolTokenInfo is a free data retrieval call binding the contract method 0xb05f8e48. 554 // 555 // Solidity: function getPoolTokenInfo(bytes32 poolId, address token) view returns(uint256 cash, uint256 managed, uint256 lastChangeBlock, address assetManager) 556 func (_BalancerVault *BalancerVaultCallerSession) GetPoolTokenInfo(poolId [32]byte, token common.Address) (struct { 557 Cash *big.Int 558 Managed *big.Int 559 LastChangeBlock *big.Int 560 AssetManager common.Address 561 }, error) { 562 return _BalancerVault.Contract.GetPoolTokenInfo(&_BalancerVault.CallOpts, poolId, token) 563 } 564 565 // GetPoolTokens is a free data retrieval call binding the contract method 0xf94d4668. 566 // 567 // Solidity: function getPoolTokens(bytes32 poolId) view returns(address[] tokens, uint256[] balances, uint256 lastChangeBlock) 568 func (_BalancerVault *BalancerVaultCaller) GetPoolTokens(opts *bind.CallOpts, poolId [32]byte) (struct { 569 Tokens []common.Address 570 Balances []*big.Int 571 LastChangeBlock *big.Int 572 }, error) { 573 var out []interface{} 574 err := _BalancerVault.contract.Call(opts, &out, "getPoolTokens", poolId) 575 576 outstruct := new(struct { 577 Tokens []common.Address 578 Balances []*big.Int 579 LastChangeBlock *big.Int 580 }) 581 if err != nil { 582 return *outstruct, err 583 } 584 585 outstruct.Tokens = *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address) 586 outstruct.Balances = *abi.ConvertType(out[1], new([]*big.Int)).(*[]*big.Int) 587 outstruct.LastChangeBlock = *abi.ConvertType(out[2], new(*big.Int)).(**big.Int) 588 589 return *outstruct, err 590 591 } 592 593 // GetPoolTokens is a free data retrieval call binding the contract method 0xf94d4668. 594 // 595 // Solidity: function getPoolTokens(bytes32 poolId) view returns(address[] tokens, uint256[] balances, uint256 lastChangeBlock) 596 func (_BalancerVault *BalancerVaultSession) GetPoolTokens(poolId [32]byte) (struct { 597 Tokens []common.Address 598 Balances []*big.Int 599 LastChangeBlock *big.Int 600 }, error) { 601 return _BalancerVault.Contract.GetPoolTokens(&_BalancerVault.CallOpts, poolId) 602 } 603 604 // GetPoolTokens is a free data retrieval call binding the contract method 0xf94d4668. 605 // 606 // Solidity: function getPoolTokens(bytes32 poolId) view returns(address[] tokens, uint256[] balances, uint256 lastChangeBlock) 607 func (_BalancerVault *BalancerVaultCallerSession) GetPoolTokens(poolId [32]byte) (struct { 608 Tokens []common.Address 609 Balances []*big.Int 610 LastChangeBlock *big.Int 611 }, error) { 612 return _BalancerVault.Contract.GetPoolTokens(&_BalancerVault.CallOpts, poolId) 613 } 614 615 // GetProtocolFeesCollector is a free data retrieval call binding the contract method 0xd2946c2b. 616 // 617 // Solidity: function getProtocolFeesCollector() view returns(address) 618 func (_BalancerVault *BalancerVaultCaller) GetProtocolFeesCollector(opts *bind.CallOpts) (common.Address, error) { 619 var out []interface{} 620 err := _BalancerVault.contract.Call(opts, &out, "getProtocolFeesCollector") 621 622 if err != nil { 623 return *new(common.Address), err 624 } 625 626 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 627 628 return out0, err 629 630 } 631 632 // GetProtocolFeesCollector is a free data retrieval call binding the contract method 0xd2946c2b. 633 // 634 // Solidity: function getProtocolFeesCollector() view returns(address) 635 func (_BalancerVault *BalancerVaultSession) GetProtocolFeesCollector() (common.Address, error) { 636 return _BalancerVault.Contract.GetProtocolFeesCollector(&_BalancerVault.CallOpts) 637 } 638 639 // GetProtocolFeesCollector is a free data retrieval call binding the contract method 0xd2946c2b. 640 // 641 // Solidity: function getProtocolFeesCollector() view returns(address) 642 func (_BalancerVault *BalancerVaultCallerSession) GetProtocolFeesCollector() (common.Address, error) { 643 return _BalancerVault.Contract.GetProtocolFeesCollector(&_BalancerVault.CallOpts) 644 } 645 646 // HasApprovedRelayer is a free data retrieval call binding the contract method 0xfec90d72. 647 // 648 // Solidity: function hasApprovedRelayer(address user, address relayer) view returns(bool) 649 func (_BalancerVault *BalancerVaultCaller) HasApprovedRelayer(opts *bind.CallOpts, user common.Address, relayer common.Address) (bool, error) { 650 var out []interface{} 651 err := _BalancerVault.contract.Call(opts, &out, "hasApprovedRelayer", user, relayer) 652 653 if err != nil { 654 return *new(bool), err 655 } 656 657 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 658 659 return out0, err 660 661 } 662 663 // HasApprovedRelayer is a free data retrieval call binding the contract method 0xfec90d72. 664 // 665 // Solidity: function hasApprovedRelayer(address user, address relayer) view returns(bool) 666 func (_BalancerVault *BalancerVaultSession) HasApprovedRelayer(user common.Address, relayer common.Address) (bool, error) { 667 return _BalancerVault.Contract.HasApprovedRelayer(&_BalancerVault.CallOpts, user, relayer) 668 } 669 670 // HasApprovedRelayer is a free data retrieval call binding the contract method 0xfec90d72. 671 // 672 // Solidity: function hasApprovedRelayer(address user, address relayer) view returns(bool) 673 func (_BalancerVault *BalancerVaultCallerSession) HasApprovedRelayer(user common.Address, relayer common.Address) (bool, error) { 674 return _BalancerVault.Contract.HasApprovedRelayer(&_BalancerVault.CallOpts, user, relayer) 675 } 676 677 // BatchSwap is a paid mutator transaction binding the contract method 0x945bcec9. 678 // 679 // Solidity: function batchSwap(uint8 kind, (bytes32,uint256,uint256,uint256,bytes)[] swaps, address[] assets, (address,bool,address,bool) funds, int256[] limits, uint256 deadline) payable returns(int256[] assetDeltas) 680 func (_BalancerVault *BalancerVaultTransactor) BatchSwap(opts *bind.TransactOpts, kind uint8, swaps []IVaultBatchSwapStep, assets []common.Address, funds IVaultFundManagement, limits []*big.Int, deadline *big.Int) (*types.Transaction, error) { 681 return _BalancerVault.contract.Transact(opts, "batchSwap", kind, swaps, assets, funds, limits, deadline) 682 } 683 684 // BatchSwap is a paid mutator transaction binding the contract method 0x945bcec9. 685 // 686 // Solidity: function batchSwap(uint8 kind, (bytes32,uint256,uint256,uint256,bytes)[] swaps, address[] assets, (address,bool,address,bool) funds, int256[] limits, uint256 deadline) payable returns(int256[] assetDeltas) 687 func (_BalancerVault *BalancerVaultSession) BatchSwap(kind uint8, swaps []IVaultBatchSwapStep, assets []common.Address, funds IVaultFundManagement, limits []*big.Int, deadline *big.Int) (*types.Transaction, error) { 688 return _BalancerVault.Contract.BatchSwap(&_BalancerVault.TransactOpts, kind, swaps, assets, funds, limits, deadline) 689 } 690 691 // BatchSwap is a paid mutator transaction binding the contract method 0x945bcec9. 692 // 693 // Solidity: function batchSwap(uint8 kind, (bytes32,uint256,uint256,uint256,bytes)[] swaps, address[] assets, (address,bool,address,bool) funds, int256[] limits, uint256 deadline) payable returns(int256[] assetDeltas) 694 func (_BalancerVault *BalancerVaultTransactorSession) BatchSwap(kind uint8, swaps []IVaultBatchSwapStep, assets []common.Address, funds IVaultFundManagement, limits []*big.Int, deadline *big.Int) (*types.Transaction, error) { 695 return _BalancerVault.Contract.BatchSwap(&_BalancerVault.TransactOpts, kind, swaps, assets, funds, limits, deadline) 696 } 697 698 // DeregisterTokens is a paid mutator transaction binding the contract method 0x7d3aeb96. 699 // 700 // Solidity: function deregisterTokens(bytes32 poolId, address[] tokens) returns() 701 func (_BalancerVault *BalancerVaultTransactor) DeregisterTokens(opts *bind.TransactOpts, poolId [32]byte, tokens []common.Address) (*types.Transaction, error) { 702 return _BalancerVault.contract.Transact(opts, "deregisterTokens", poolId, tokens) 703 } 704 705 // DeregisterTokens is a paid mutator transaction binding the contract method 0x7d3aeb96. 706 // 707 // Solidity: function deregisterTokens(bytes32 poolId, address[] tokens) returns() 708 func (_BalancerVault *BalancerVaultSession) DeregisterTokens(poolId [32]byte, tokens []common.Address) (*types.Transaction, error) { 709 return _BalancerVault.Contract.DeregisterTokens(&_BalancerVault.TransactOpts, poolId, tokens) 710 } 711 712 // DeregisterTokens is a paid mutator transaction binding the contract method 0x7d3aeb96. 713 // 714 // Solidity: function deregisterTokens(bytes32 poolId, address[] tokens) returns() 715 func (_BalancerVault *BalancerVaultTransactorSession) DeregisterTokens(poolId [32]byte, tokens []common.Address) (*types.Transaction, error) { 716 return _BalancerVault.Contract.DeregisterTokens(&_BalancerVault.TransactOpts, poolId, tokens) 717 } 718 719 // ExitPool is a paid mutator transaction binding the contract method 0x8bdb3913. 720 // 721 // Solidity: function exitPool(bytes32 poolId, address sender, address recipient, (address[],uint256[],bytes,bool) request) returns() 722 func (_BalancerVault *BalancerVaultTransactor) ExitPool(opts *bind.TransactOpts, poolId [32]byte, sender common.Address, recipient common.Address, request IVaultExitPoolRequest) (*types.Transaction, error) { 723 return _BalancerVault.contract.Transact(opts, "exitPool", poolId, sender, recipient, request) 724 } 725 726 // ExitPool is a paid mutator transaction binding the contract method 0x8bdb3913. 727 // 728 // Solidity: function exitPool(bytes32 poolId, address sender, address recipient, (address[],uint256[],bytes,bool) request) returns() 729 func (_BalancerVault *BalancerVaultSession) ExitPool(poolId [32]byte, sender common.Address, recipient common.Address, request IVaultExitPoolRequest) (*types.Transaction, error) { 730 return _BalancerVault.Contract.ExitPool(&_BalancerVault.TransactOpts, poolId, sender, recipient, request) 731 } 732 733 // ExitPool is a paid mutator transaction binding the contract method 0x8bdb3913. 734 // 735 // Solidity: function exitPool(bytes32 poolId, address sender, address recipient, (address[],uint256[],bytes,bool) request) returns() 736 func (_BalancerVault *BalancerVaultTransactorSession) ExitPool(poolId [32]byte, sender common.Address, recipient common.Address, request IVaultExitPoolRequest) (*types.Transaction, error) { 737 return _BalancerVault.Contract.ExitPool(&_BalancerVault.TransactOpts, poolId, sender, recipient, request) 738 } 739 740 // FlashLoan is a paid mutator transaction binding the contract method 0x5c38449e. 741 // 742 // Solidity: function flashLoan(address recipient, address[] tokens, uint256[] amounts, bytes userData) returns() 743 func (_BalancerVault *BalancerVaultTransactor) FlashLoan(opts *bind.TransactOpts, recipient common.Address, tokens []common.Address, amounts []*big.Int, userData []byte) (*types.Transaction, error) { 744 return _BalancerVault.contract.Transact(opts, "flashLoan", recipient, tokens, amounts, userData) 745 } 746 747 // FlashLoan is a paid mutator transaction binding the contract method 0x5c38449e. 748 // 749 // Solidity: function flashLoan(address recipient, address[] tokens, uint256[] amounts, bytes userData) returns() 750 func (_BalancerVault *BalancerVaultSession) FlashLoan(recipient common.Address, tokens []common.Address, amounts []*big.Int, userData []byte) (*types.Transaction, error) { 751 return _BalancerVault.Contract.FlashLoan(&_BalancerVault.TransactOpts, recipient, tokens, amounts, userData) 752 } 753 754 // FlashLoan is a paid mutator transaction binding the contract method 0x5c38449e. 755 // 756 // Solidity: function flashLoan(address recipient, address[] tokens, uint256[] amounts, bytes userData) returns() 757 func (_BalancerVault *BalancerVaultTransactorSession) FlashLoan(recipient common.Address, tokens []common.Address, amounts []*big.Int, userData []byte) (*types.Transaction, error) { 758 return _BalancerVault.Contract.FlashLoan(&_BalancerVault.TransactOpts, recipient, tokens, amounts, userData) 759 } 760 761 // JoinPool is a paid mutator transaction binding the contract method 0xb95cac28. 762 // 763 // Solidity: function joinPool(bytes32 poolId, address sender, address recipient, (address[],uint256[],bytes,bool) request) payable returns() 764 func (_BalancerVault *BalancerVaultTransactor) JoinPool(opts *bind.TransactOpts, poolId [32]byte, sender common.Address, recipient common.Address, request IVaultJoinPoolRequest) (*types.Transaction, error) { 765 return _BalancerVault.contract.Transact(opts, "joinPool", poolId, sender, recipient, request) 766 } 767 768 // JoinPool is a paid mutator transaction binding the contract method 0xb95cac28. 769 // 770 // Solidity: function joinPool(bytes32 poolId, address sender, address recipient, (address[],uint256[],bytes,bool) request) payable returns() 771 func (_BalancerVault *BalancerVaultSession) JoinPool(poolId [32]byte, sender common.Address, recipient common.Address, request IVaultJoinPoolRequest) (*types.Transaction, error) { 772 return _BalancerVault.Contract.JoinPool(&_BalancerVault.TransactOpts, poolId, sender, recipient, request) 773 } 774 775 // JoinPool is a paid mutator transaction binding the contract method 0xb95cac28. 776 // 777 // Solidity: function joinPool(bytes32 poolId, address sender, address recipient, (address[],uint256[],bytes,bool) request) payable returns() 778 func (_BalancerVault *BalancerVaultTransactorSession) JoinPool(poolId [32]byte, sender common.Address, recipient common.Address, request IVaultJoinPoolRequest) (*types.Transaction, error) { 779 return _BalancerVault.Contract.JoinPool(&_BalancerVault.TransactOpts, poolId, sender, recipient, request) 780 } 781 782 // ManagePoolBalance is a paid mutator transaction binding the contract method 0xe6c46092. 783 // 784 // Solidity: function managePoolBalance((uint8,bytes32,address,uint256)[] ops) returns() 785 func (_BalancerVault *BalancerVaultTransactor) ManagePoolBalance(opts *bind.TransactOpts, ops []IVaultPoolBalanceOp) (*types.Transaction, error) { 786 return _BalancerVault.contract.Transact(opts, "managePoolBalance", ops) 787 } 788 789 // ManagePoolBalance is a paid mutator transaction binding the contract method 0xe6c46092. 790 // 791 // Solidity: function managePoolBalance((uint8,bytes32,address,uint256)[] ops) returns() 792 func (_BalancerVault *BalancerVaultSession) ManagePoolBalance(ops []IVaultPoolBalanceOp) (*types.Transaction, error) { 793 return _BalancerVault.Contract.ManagePoolBalance(&_BalancerVault.TransactOpts, ops) 794 } 795 796 // ManagePoolBalance is a paid mutator transaction binding the contract method 0xe6c46092. 797 // 798 // Solidity: function managePoolBalance((uint8,bytes32,address,uint256)[] ops) returns() 799 func (_BalancerVault *BalancerVaultTransactorSession) ManagePoolBalance(ops []IVaultPoolBalanceOp) (*types.Transaction, error) { 800 return _BalancerVault.Contract.ManagePoolBalance(&_BalancerVault.TransactOpts, ops) 801 } 802 803 // ManageUserBalance is a paid mutator transaction binding the contract method 0x0e8e3e84. 804 // 805 // Solidity: function manageUserBalance((uint8,address,uint256,address,address)[] ops) payable returns() 806 func (_BalancerVault *BalancerVaultTransactor) ManageUserBalance(opts *bind.TransactOpts, ops []IVaultUserBalanceOp) (*types.Transaction, error) { 807 return _BalancerVault.contract.Transact(opts, "manageUserBalance", ops) 808 } 809 810 // ManageUserBalance is a paid mutator transaction binding the contract method 0x0e8e3e84. 811 // 812 // Solidity: function manageUserBalance((uint8,address,uint256,address,address)[] ops) payable returns() 813 func (_BalancerVault *BalancerVaultSession) ManageUserBalance(ops []IVaultUserBalanceOp) (*types.Transaction, error) { 814 return _BalancerVault.Contract.ManageUserBalance(&_BalancerVault.TransactOpts, ops) 815 } 816 817 // ManageUserBalance is a paid mutator transaction binding the contract method 0x0e8e3e84. 818 // 819 // Solidity: function manageUserBalance((uint8,address,uint256,address,address)[] ops) payable returns() 820 func (_BalancerVault *BalancerVaultTransactorSession) ManageUserBalance(ops []IVaultUserBalanceOp) (*types.Transaction, error) { 821 return _BalancerVault.Contract.ManageUserBalance(&_BalancerVault.TransactOpts, ops) 822 } 823 824 // QueryBatchSwap is a paid mutator transaction binding the contract method 0xf84d066e. 825 // 826 // Solidity: function queryBatchSwap(uint8 kind, (bytes32,uint256,uint256,uint256,bytes)[] swaps, address[] assets, (address,bool,address,bool) funds) returns(int256[]) 827 func (_BalancerVault *BalancerVaultTransactor) QueryBatchSwap(opts *bind.TransactOpts, kind uint8, swaps []IVaultBatchSwapStep, assets []common.Address, funds IVaultFundManagement) (*types.Transaction, error) { 828 return _BalancerVault.contract.Transact(opts, "queryBatchSwap", kind, swaps, assets, funds) 829 } 830 831 // QueryBatchSwap is a paid mutator transaction binding the contract method 0xf84d066e. 832 // 833 // Solidity: function queryBatchSwap(uint8 kind, (bytes32,uint256,uint256,uint256,bytes)[] swaps, address[] assets, (address,bool,address,bool) funds) returns(int256[]) 834 func (_BalancerVault *BalancerVaultSession) QueryBatchSwap(kind uint8, swaps []IVaultBatchSwapStep, assets []common.Address, funds IVaultFundManagement) (*types.Transaction, error) { 835 return _BalancerVault.Contract.QueryBatchSwap(&_BalancerVault.TransactOpts, kind, swaps, assets, funds) 836 } 837 838 // QueryBatchSwap is a paid mutator transaction binding the contract method 0xf84d066e. 839 // 840 // Solidity: function queryBatchSwap(uint8 kind, (bytes32,uint256,uint256,uint256,bytes)[] swaps, address[] assets, (address,bool,address,bool) funds) returns(int256[]) 841 func (_BalancerVault *BalancerVaultTransactorSession) QueryBatchSwap(kind uint8, swaps []IVaultBatchSwapStep, assets []common.Address, funds IVaultFundManagement) (*types.Transaction, error) { 842 return _BalancerVault.Contract.QueryBatchSwap(&_BalancerVault.TransactOpts, kind, swaps, assets, funds) 843 } 844 845 // RegisterPool is a paid mutator transaction binding the contract method 0x09b2760f. 846 // 847 // Solidity: function registerPool(uint8 specialization) returns(bytes32) 848 func (_BalancerVault *BalancerVaultTransactor) RegisterPool(opts *bind.TransactOpts, specialization uint8) (*types.Transaction, error) { 849 return _BalancerVault.contract.Transact(opts, "registerPool", specialization) 850 } 851 852 // RegisterPool is a paid mutator transaction binding the contract method 0x09b2760f. 853 // 854 // Solidity: function registerPool(uint8 specialization) returns(bytes32) 855 func (_BalancerVault *BalancerVaultSession) RegisterPool(specialization uint8) (*types.Transaction, error) { 856 return _BalancerVault.Contract.RegisterPool(&_BalancerVault.TransactOpts, specialization) 857 } 858 859 // RegisterPool is a paid mutator transaction binding the contract method 0x09b2760f. 860 // 861 // Solidity: function registerPool(uint8 specialization) returns(bytes32) 862 func (_BalancerVault *BalancerVaultTransactorSession) RegisterPool(specialization uint8) (*types.Transaction, error) { 863 return _BalancerVault.Contract.RegisterPool(&_BalancerVault.TransactOpts, specialization) 864 } 865 866 // RegisterTokens is a paid mutator transaction binding the contract method 0x66a9c7d2. 867 // 868 // Solidity: function registerTokens(bytes32 poolId, address[] tokens, address[] assetManagers) returns() 869 func (_BalancerVault *BalancerVaultTransactor) RegisterTokens(opts *bind.TransactOpts, poolId [32]byte, tokens []common.Address, assetManagers []common.Address) (*types.Transaction, error) { 870 return _BalancerVault.contract.Transact(opts, "registerTokens", poolId, tokens, assetManagers) 871 } 872 873 // RegisterTokens is a paid mutator transaction binding the contract method 0x66a9c7d2. 874 // 875 // Solidity: function registerTokens(bytes32 poolId, address[] tokens, address[] assetManagers) returns() 876 func (_BalancerVault *BalancerVaultSession) RegisterTokens(poolId [32]byte, tokens []common.Address, assetManagers []common.Address) (*types.Transaction, error) { 877 return _BalancerVault.Contract.RegisterTokens(&_BalancerVault.TransactOpts, poolId, tokens, assetManagers) 878 } 879 880 // RegisterTokens is a paid mutator transaction binding the contract method 0x66a9c7d2. 881 // 882 // Solidity: function registerTokens(bytes32 poolId, address[] tokens, address[] assetManagers) returns() 883 func (_BalancerVault *BalancerVaultTransactorSession) RegisterTokens(poolId [32]byte, tokens []common.Address, assetManagers []common.Address) (*types.Transaction, error) { 884 return _BalancerVault.Contract.RegisterTokens(&_BalancerVault.TransactOpts, poolId, tokens, assetManagers) 885 } 886 887 // SetAuthorizer is a paid mutator transaction binding the contract method 0x058a628f. 888 // 889 // Solidity: function setAuthorizer(address newAuthorizer) returns() 890 func (_BalancerVault *BalancerVaultTransactor) SetAuthorizer(opts *bind.TransactOpts, newAuthorizer common.Address) (*types.Transaction, error) { 891 return _BalancerVault.contract.Transact(opts, "setAuthorizer", newAuthorizer) 892 } 893 894 // SetAuthorizer is a paid mutator transaction binding the contract method 0x058a628f. 895 // 896 // Solidity: function setAuthorizer(address newAuthorizer) returns() 897 func (_BalancerVault *BalancerVaultSession) SetAuthorizer(newAuthorizer common.Address) (*types.Transaction, error) { 898 return _BalancerVault.Contract.SetAuthorizer(&_BalancerVault.TransactOpts, newAuthorizer) 899 } 900 901 // SetAuthorizer is a paid mutator transaction binding the contract method 0x058a628f. 902 // 903 // Solidity: function setAuthorizer(address newAuthorizer) returns() 904 func (_BalancerVault *BalancerVaultTransactorSession) SetAuthorizer(newAuthorizer common.Address) (*types.Transaction, error) { 905 return _BalancerVault.Contract.SetAuthorizer(&_BalancerVault.TransactOpts, newAuthorizer) 906 } 907 908 // SetPaused is a paid mutator transaction binding the contract method 0x16c38b3c. 909 // 910 // Solidity: function setPaused(bool paused) returns() 911 func (_BalancerVault *BalancerVaultTransactor) SetPaused(opts *bind.TransactOpts, paused bool) (*types.Transaction, error) { 912 return _BalancerVault.contract.Transact(opts, "setPaused", paused) 913 } 914 915 // SetPaused is a paid mutator transaction binding the contract method 0x16c38b3c. 916 // 917 // Solidity: function setPaused(bool paused) returns() 918 func (_BalancerVault *BalancerVaultSession) SetPaused(paused bool) (*types.Transaction, error) { 919 return _BalancerVault.Contract.SetPaused(&_BalancerVault.TransactOpts, paused) 920 } 921 922 // SetPaused is a paid mutator transaction binding the contract method 0x16c38b3c. 923 // 924 // Solidity: function setPaused(bool paused) returns() 925 func (_BalancerVault *BalancerVaultTransactorSession) SetPaused(paused bool) (*types.Transaction, error) { 926 return _BalancerVault.Contract.SetPaused(&_BalancerVault.TransactOpts, paused) 927 } 928 929 // SetRelayerApproval is a paid mutator transaction binding the contract method 0xfa6e671d. 930 // 931 // Solidity: function setRelayerApproval(address sender, address relayer, bool approved) returns() 932 func (_BalancerVault *BalancerVaultTransactor) SetRelayerApproval(opts *bind.TransactOpts, sender common.Address, relayer common.Address, approved bool) (*types.Transaction, error) { 933 return _BalancerVault.contract.Transact(opts, "setRelayerApproval", sender, relayer, approved) 934 } 935 936 // SetRelayerApproval is a paid mutator transaction binding the contract method 0xfa6e671d. 937 // 938 // Solidity: function setRelayerApproval(address sender, address relayer, bool approved) returns() 939 func (_BalancerVault *BalancerVaultSession) SetRelayerApproval(sender common.Address, relayer common.Address, approved bool) (*types.Transaction, error) { 940 return _BalancerVault.Contract.SetRelayerApproval(&_BalancerVault.TransactOpts, sender, relayer, approved) 941 } 942 943 // SetRelayerApproval is a paid mutator transaction binding the contract method 0xfa6e671d. 944 // 945 // Solidity: function setRelayerApproval(address sender, address relayer, bool approved) returns() 946 func (_BalancerVault *BalancerVaultTransactorSession) SetRelayerApproval(sender common.Address, relayer common.Address, approved bool) (*types.Transaction, error) { 947 return _BalancerVault.Contract.SetRelayerApproval(&_BalancerVault.TransactOpts, sender, relayer, approved) 948 } 949 950 // Swap is a paid mutator transaction binding the contract method 0x52bbbe29. 951 // 952 // Solidity: function swap((bytes32,uint8,address,address,uint256,bytes) singleSwap, (address,bool,address,bool) funds, uint256 limit, uint256 deadline) payable returns(uint256 amountCalculated) 953 func (_BalancerVault *BalancerVaultTransactor) Swap(opts *bind.TransactOpts, singleSwap IVaultSingleSwap, funds IVaultFundManagement, limit *big.Int, deadline *big.Int) (*types.Transaction, error) { 954 return _BalancerVault.contract.Transact(opts, "swap", singleSwap, funds, limit, deadline) 955 } 956 957 // Swap is a paid mutator transaction binding the contract method 0x52bbbe29. 958 // 959 // Solidity: function swap((bytes32,uint8,address,address,uint256,bytes) singleSwap, (address,bool,address,bool) funds, uint256 limit, uint256 deadline) payable returns(uint256 amountCalculated) 960 func (_BalancerVault *BalancerVaultSession) Swap(singleSwap IVaultSingleSwap, funds IVaultFundManagement, limit *big.Int, deadline *big.Int) (*types.Transaction, error) { 961 return _BalancerVault.Contract.Swap(&_BalancerVault.TransactOpts, singleSwap, funds, limit, deadline) 962 } 963 964 // Swap is a paid mutator transaction binding the contract method 0x52bbbe29. 965 // 966 // Solidity: function swap((bytes32,uint8,address,address,uint256,bytes) singleSwap, (address,bool,address,bool) funds, uint256 limit, uint256 deadline) payable returns(uint256 amountCalculated) 967 func (_BalancerVault *BalancerVaultTransactorSession) Swap(singleSwap IVaultSingleSwap, funds IVaultFundManagement, limit *big.Int, deadline *big.Int) (*types.Transaction, error) { 968 return _BalancerVault.Contract.Swap(&_BalancerVault.TransactOpts, singleSwap, funds, limit, deadline) 969 } 970 971 // Receive is a paid mutator transaction binding the contract receive function. 972 // 973 // Solidity: receive() payable returns() 974 func (_BalancerVault *BalancerVaultTransactor) Receive(opts *bind.TransactOpts) (*types.Transaction, error) { 975 return _BalancerVault.contract.RawTransact(opts, nil) // calldata is disallowed for receive function 976 } 977 978 // Receive is a paid mutator transaction binding the contract receive function. 979 // 980 // Solidity: receive() payable returns() 981 func (_BalancerVault *BalancerVaultSession) Receive() (*types.Transaction, error) { 982 return _BalancerVault.Contract.Receive(&_BalancerVault.TransactOpts) 983 } 984 985 // Receive is a paid mutator transaction binding the contract receive function. 986 // 987 // Solidity: receive() payable returns() 988 func (_BalancerVault *BalancerVaultTransactorSession) Receive() (*types.Transaction, error) { 989 return _BalancerVault.Contract.Receive(&_BalancerVault.TransactOpts) 990 } 991 992 // BalancerVaultAuthorizerChangedIterator is returned from FilterAuthorizerChanged and is used to iterate over the raw logs and unpacked data for AuthorizerChanged events raised by the BalancerVault contract. 993 type BalancerVaultAuthorizerChangedIterator struct { 994 Event *BalancerVaultAuthorizerChanged // Event containing the contract specifics and raw log 995 996 contract *bind.BoundContract // Generic contract to use for unpacking event data 997 event string // Event name to use for unpacking event data 998 999 logs chan types.Log // Log channel receiving the found contract events 1000 sub ethereum.Subscription // Subscription for errors, completion and termination 1001 done bool // Whether the subscription completed delivering logs 1002 fail error // Occurred error to stop iteration 1003 } 1004 1005 // Next advances the iterator to the subsequent event, returning whether there 1006 // are any more events found. In case of a retrieval or parsing error, false is 1007 // returned and Error() can be queried for the exact failure. 1008 func (it *BalancerVaultAuthorizerChangedIterator) Next() bool { 1009 // If the iterator failed, stop iterating 1010 if it.fail != nil { 1011 return false 1012 } 1013 // If the iterator completed, deliver directly whatever's available 1014 if it.done { 1015 select { 1016 case log := <-it.logs: 1017 it.Event = new(BalancerVaultAuthorizerChanged) 1018 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1019 it.fail = err 1020 return false 1021 } 1022 it.Event.Raw = log 1023 return true 1024 1025 default: 1026 return false 1027 } 1028 } 1029 // Iterator still in progress, wait for either a data or an error event 1030 select { 1031 case log := <-it.logs: 1032 it.Event = new(BalancerVaultAuthorizerChanged) 1033 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1034 it.fail = err 1035 return false 1036 } 1037 it.Event.Raw = log 1038 return true 1039 1040 case err := <-it.sub.Err(): 1041 it.done = true 1042 it.fail = err 1043 return it.Next() 1044 } 1045 } 1046 1047 // Error returns any retrieval or parsing error occurred during filtering. 1048 func (it *BalancerVaultAuthorizerChangedIterator) Error() error { 1049 return it.fail 1050 } 1051 1052 // Close terminates the iteration process, releasing any pending underlying 1053 // resources. 1054 func (it *BalancerVaultAuthorizerChangedIterator) Close() error { 1055 it.sub.Unsubscribe() 1056 return nil 1057 } 1058 1059 // BalancerVaultAuthorizerChanged represents a AuthorizerChanged event raised by the BalancerVault contract. 1060 type BalancerVaultAuthorizerChanged struct { 1061 NewAuthorizer common.Address 1062 Raw types.Log // Blockchain specific contextual infos 1063 } 1064 1065 // FilterAuthorizerChanged is a free log retrieval operation binding the contract event 0x94b979b6831a51293e2641426f97747feed46f17779fed9cd18d1ecefcfe92ef. 1066 // 1067 // Solidity: event AuthorizerChanged(address indexed newAuthorizer) 1068 func (_BalancerVault *BalancerVaultFilterer) FilterAuthorizerChanged(opts *bind.FilterOpts, newAuthorizer []common.Address) (*BalancerVaultAuthorizerChangedIterator, error) { 1069 1070 var newAuthorizerRule []interface{} 1071 for _, newAuthorizerItem := range newAuthorizer { 1072 newAuthorizerRule = append(newAuthorizerRule, newAuthorizerItem) 1073 } 1074 1075 logs, sub, err := _BalancerVault.contract.FilterLogs(opts, "AuthorizerChanged", newAuthorizerRule) 1076 if err != nil { 1077 return nil, err 1078 } 1079 return &BalancerVaultAuthorizerChangedIterator{contract: _BalancerVault.contract, event: "AuthorizerChanged", logs: logs, sub: sub}, nil 1080 } 1081 1082 // WatchAuthorizerChanged is a free log subscription operation binding the contract event 0x94b979b6831a51293e2641426f97747feed46f17779fed9cd18d1ecefcfe92ef. 1083 // 1084 // Solidity: event AuthorizerChanged(address indexed newAuthorizer) 1085 func (_BalancerVault *BalancerVaultFilterer) WatchAuthorizerChanged(opts *bind.WatchOpts, sink chan<- *BalancerVaultAuthorizerChanged, newAuthorizer []common.Address) (event.Subscription, error) { 1086 1087 var newAuthorizerRule []interface{} 1088 for _, newAuthorizerItem := range newAuthorizer { 1089 newAuthorizerRule = append(newAuthorizerRule, newAuthorizerItem) 1090 } 1091 1092 logs, sub, err := _BalancerVault.contract.WatchLogs(opts, "AuthorizerChanged", newAuthorizerRule) 1093 if err != nil { 1094 return nil, err 1095 } 1096 return event.NewSubscription(func(quit <-chan struct{}) error { 1097 defer sub.Unsubscribe() 1098 for { 1099 select { 1100 case log := <-logs: 1101 // New log arrived, parse the event and forward to the user 1102 event := new(BalancerVaultAuthorizerChanged) 1103 if err := _BalancerVault.contract.UnpackLog(event, "AuthorizerChanged", log); err != nil { 1104 return err 1105 } 1106 event.Raw = log 1107 1108 select { 1109 case sink <- event: 1110 case err := <-sub.Err(): 1111 return err 1112 case <-quit: 1113 return nil 1114 } 1115 case err := <-sub.Err(): 1116 return err 1117 case <-quit: 1118 return nil 1119 } 1120 } 1121 }), nil 1122 } 1123 1124 // ParseAuthorizerChanged is a log parse operation binding the contract event 0x94b979b6831a51293e2641426f97747feed46f17779fed9cd18d1ecefcfe92ef. 1125 // 1126 // Solidity: event AuthorizerChanged(address indexed newAuthorizer) 1127 func (_BalancerVault *BalancerVaultFilterer) ParseAuthorizerChanged(log types.Log) (*BalancerVaultAuthorizerChanged, error) { 1128 event := new(BalancerVaultAuthorizerChanged) 1129 if err := _BalancerVault.contract.UnpackLog(event, "AuthorizerChanged", log); err != nil { 1130 return nil, err 1131 } 1132 event.Raw = log 1133 return event, nil 1134 } 1135 1136 // BalancerVaultExternalBalanceTransferIterator is returned from FilterExternalBalanceTransfer and is used to iterate over the raw logs and unpacked data for ExternalBalanceTransfer events raised by the BalancerVault contract. 1137 type BalancerVaultExternalBalanceTransferIterator struct { 1138 Event *BalancerVaultExternalBalanceTransfer // Event containing the contract specifics and raw log 1139 1140 contract *bind.BoundContract // Generic contract to use for unpacking event data 1141 event string // Event name to use for unpacking event data 1142 1143 logs chan types.Log // Log channel receiving the found contract events 1144 sub ethereum.Subscription // Subscription for errors, completion and termination 1145 done bool // Whether the subscription completed delivering logs 1146 fail error // Occurred error to stop iteration 1147 } 1148 1149 // Next advances the iterator to the subsequent event, returning whether there 1150 // are any more events found. In case of a retrieval or parsing error, false is 1151 // returned and Error() can be queried for the exact failure. 1152 func (it *BalancerVaultExternalBalanceTransferIterator) Next() bool { 1153 // If the iterator failed, stop iterating 1154 if it.fail != nil { 1155 return false 1156 } 1157 // If the iterator completed, deliver directly whatever's available 1158 if it.done { 1159 select { 1160 case log := <-it.logs: 1161 it.Event = new(BalancerVaultExternalBalanceTransfer) 1162 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1163 it.fail = err 1164 return false 1165 } 1166 it.Event.Raw = log 1167 return true 1168 1169 default: 1170 return false 1171 } 1172 } 1173 // Iterator still in progress, wait for either a data or an error event 1174 select { 1175 case log := <-it.logs: 1176 it.Event = new(BalancerVaultExternalBalanceTransfer) 1177 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1178 it.fail = err 1179 return false 1180 } 1181 it.Event.Raw = log 1182 return true 1183 1184 case err := <-it.sub.Err(): 1185 it.done = true 1186 it.fail = err 1187 return it.Next() 1188 } 1189 } 1190 1191 // Error returns any retrieval or parsing error occurred during filtering. 1192 func (it *BalancerVaultExternalBalanceTransferIterator) Error() error { 1193 return it.fail 1194 } 1195 1196 // Close terminates the iteration process, releasing any pending underlying 1197 // resources. 1198 func (it *BalancerVaultExternalBalanceTransferIterator) Close() error { 1199 it.sub.Unsubscribe() 1200 return nil 1201 } 1202 1203 // BalancerVaultExternalBalanceTransfer represents a ExternalBalanceTransfer event raised by the BalancerVault contract. 1204 type BalancerVaultExternalBalanceTransfer struct { 1205 Token common.Address 1206 Sender common.Address 1207 Recipient common.Address 1208 Amount *big.Int 1209 Raw types.Log // Blockchain specific contextual infos 1210 } 1211 1212 // FilterExternalBalanceTransfer is a free log retrieval operation binding the contract event 0x540a1a3f28340caec336c81d8d7b3df139ee5cdc1839a4f283d7ebb7eaae2d5c. 1213 // 1214 // Solidity: event ExternalBalanceTransfer(address indexed token, address indexed sender, address recipient, uint256 amount) 1215 func (_BalancerVault *BalancerVaultFilterer) FilterExternalBalanceTransfer(opts *bind.FilterOpts, token []common.Address, sender []common.Address) (*BalancerVaultExternalBalanceTransferIterator, error) { 1216 1217 var tokenRule []interface{} 1218 for _, tokenItem := range token { 1219 tokenRule = append(tokenRule, tokenItem) 1220 } 1221 var senderRule []interface{} 1222 for _, senderItem := range sender { 1223 senderRule = append(senderRule, senderItem) 1224 } 1225 1226 logs, sub, err := _BalancerVault.contract.FilterLogs(opts, "ExternalBalanceTransfer", tokenRule, senderRule) 1227 if err != nil { 1228 return nil, err 1229 } 1230 return &BalancerVaultExternalBalanceTransferIterator{contract: _BalancerVault.contract, event: "ExternalBalanceTransfer", logs: logs, sub: sub}, nil 1231 } 1232 1233 // WatchExternalBalanceTransfer is a free log subscription operation binding the contract event 0x540a1a3f28340caec336c81d8d7b3df139ee5cdc1839a4f283d7ebb7eaae2d5c. 1234 // 1235 // Solidity: event ExternalBalanceTransfer(address indexed token, address indexed sender, address recipient, uint256 amount) 1236 func (_BalancerVault *BalancerVaultFilterer) WatchExternalBalanceTransfer(opts *bind.WatchOpts, sink chan<- *BalancerVaultExternalBalanceTransfer, token []common.Address, sender []common.Address) (event.Subscription, error) { 1237 1238 var tokenRule []interface{} 1239 for _, tokenItem := range token { 1240 tokenRule = append(tokenRule, tokenItem) 1241 } 1242 var senderRule []interface{} 1243 for _, senderItem := range sender { 1244 senderRule = append(senderRule, senderItem) 1245 } 1246 1247 logs, sub, err := _BalancerVault.contract.WatchLogs(opts, "ExternalBalanceTransfer", tokenRule, senderRule) 1248 if err != nil { 1249 return nil, err 1250 } 1251 return event.NewSubscription(func(quit <-chan struct{}) error { 1252 defer sub.Unsubscribe() 1253 for { 1254 select { 1255 case log := <-logs: 1256 // New log arrived, parse the event and forward to the user 1257 event := new(BalancerVaultExternalBalanceTransfer) 1258 if err := _BalancerVault.contract.UnpackLog(event, "ExternalBalanceTransfer", log); err != nil { 1259 return err 1260 } 1261 event.Raw = log 1262 1263 select { 1264 case sink <- event: 1265 case err := <-sub.Err(): 1266 return err 1267 case <-quit: 1268 return nil 1269 } 1270 case err := <-sub.Err(): 1271 return err 1272 case <-quit: 1273 return nil 1274 } 1275 } 1276 }), nil 1277 } 1278 1279 // ParseExternalBalanceTransfer is a log parse operation binding the contract event 0x540a1a3f28340caec336c81d8d7b3df139ee5cdc1839a4f283d7ebb7eaae2d5c. 1280 // 1281 // Solidity: event ExternalBalanceTransfer(address indexed token, address indexed sender, address recipient, uint256 amount) 1282 func (_BalancerVault *BalancerVaultFilterer) ParseExternalBalanceTransfer(log types.Log) (*BalancerVaultExternalBalanceTransfer, error) { 1283 event := new(BalancerVaultExternalBalanceTransfer) 1284 if err := _BalancerVault.contract.UnpackLog(event, "ExternalBalanceTransfer", log); err != nil { 1285 return nil, err 1286 } 1287 event.Raw = log 1288 return event, nil 1289 } 1290 1291 // BalancerVaultFlashLoanIterator is returned from FilterFlashLoan and is used to iterate over the raw logs and unpacked data for FlashLoan events raised by the BalancerVault contract. 1292 type BalancerVaultFlashLoanIterator struct { 1293 Event *BalancerVaultFlashLoan // Event containing the contract specifics and raw log 1294 1295 contract *bind.BoundContract // Generic contract to use for unpacking event data 1296 event string // Event name to use for unpacking event data 1297 1298 logs chan types.Log // Log channel receiving the found contract events 1299 sub ethereum.Subscription // Subscription for errors, completion and termination 1300 done bool // Whether the subscription completed delivering logs 1301 fail error // Occurred error to stop iteration 1302 } 1303 1304 // Next advances the iterator to the subsequent event, returning whether there 1305 // are any more events found. In case of a retrieval or parsing error, false is 1306 // returned and Error() can be queried for the exact failure. 1307 func (it *BalancerVaultFlashLoanIterator) Next() bool { 1308 // If the iterator failed, stop iterating 1309 if it.fail != nil { 1310 return false 1311 } 1312 // If the iterator completed, deliver directly whatever's available 1313 if it.done { 1314 select { 1315 case log := <-it.logs: 1316 it.Event = new(BalancerVaultFlashLoan) 1317 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1318 it.fail = err 1319 return false 1320 } 1321 it.Event.Raw = log 1322 return true 1323 1324 default: 1325 return false 1326 } 1327 } 1328 // Iterator still in progress, wait for either a data or an error event 1329 select { 1330 case log := <-it.logs: 1331 it.Event = new(BalancerVaultFlashLoan) 1332 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1333 it.fail = err 1334 return false 1335 } 1336 it.Event.Raw = log 1337 return true 1338 1339 case err := <-it.sub.Err(): 1340 it.done = true 1341 it.fail = err 1342 return it.Next() 1343 } 1344 } 1345 1346 // Error returns any retrieval or parsing error occurred during filtering. 1347 func (it *BalancerVaultFlashLoanIterator) Error() error { 1348 return it.fail 1349 } 1350 1351 // Close terminates the iteration process, releasing any pending underlying 1352 // resources. 1353 func (it *BalancerVaultFlashLoanIterator) Close() error { 1354 it.sub.Unsubscribe() 1355 return nil 1356 } 1357 1358 // BalancerVaultFlashLoan represents a FlashLoan event raised by the BalancerVault contract. 1359 type BalancerVaultFlashLoan struct { 1360 Recipient common.Address 1361 Token common.Address 1362 Amount *big.Int 1363 FeeAmount *big.Int 1364 Raw types.Log // Blockchain specific contextual infos 1365 } 1366 1367 // FilterFlashLoan is a free log retrieval operation binding the contract event 0x0d7d75e01ab95780d3cd1c8ec0dd6c2ce19e3a20427eec8bf53283b6fb8e95f0. 1368 // 1369 // Solidity: event FlashLoan(address indexed recipient, address indexed token, uint256 amount, uint256 feeAmount) 1370 func (_BalancerVault *BalancerVaultFilterer) FilterFlashLoan(opts *bind.FilterOpts, recipient []common.Address, token []common.Address) (*BalancerVaultFlashLoanIterator, error) { 1371 1372 var recipientRule []interface{} 1373 for _, recipientItem := range recipient { 1374 recipientRule = append(recipientRule, recipientItem) 1375 } 1376 var tokenRule []interface{} 1377 for _, tokenItem := range token { 1378 tokenRule = append(tokenRule, tokenItem) 1379 } 1380 1381 logs, sub, err := _BalancerVault.contract.FilterLogs(opts, "FlashLoan", recipientRule, tokenRule) 1382 if err != nil { 1383 return nil, err 1384 } 1385 return &BalancerVaultFlashLoanIterator{contract: _BalancerVault.contract, event: "FlashLoan", logs: logs, sub: sub}, nil 1386 } 1387 1388 // WatchFlashLoan is a free log subscription operation binding the contract event 0x0d7d75e01ab95780d3cd1c8ec0dd6c2ce19e3a20427eec8bf53283b6fb8e95f0. 1389 // 1390 // Solidity: event FlashLoan(address indexed recipient, address indexed token, uint256 amount, uint256 feeAmount) 1391 func (_BalancerVault *BalancerVaultFilterer) WatchFlashLoan(opts *bind.WatchOpts, sink chan<- *BalancerVaultFlashLoan, recipient []common.Address, token []common.Address) (event.Subscription, error) { 1392 1393 var recipientRule []interface{} 1394 for _, recipientItem := range recipient { 1395 recipientRule = append(recipientRule, recipientItem) 1396 } 1397 var tokenRule []interface{} 1398 for _, tokenItem := range token { 1399 tokenRule = append(tokenRule, tokenItem) 1400 } 1401 1402 logs, sub, err := _BalancerVault.contract.WatchLogs(opts, "FlashLoan", recipientRule, tokenRule) 1403 if err != nil { 1404 return nil, err 1405 } 1406 return event.NewSubscription(func(quit <-chan struct{}) error { 1407 defer sub.Unsubscribe() 1408 for { 1409 select { 1410 case log := <-logs: 1411 // New log arrived, parse the event and forward to the user 1412 event := new(BalancerVaultFlashLoan) 1413 if err := _BalancerVault.contract.UnpackLog(event, "FlashLoan", log); err != nil { 1414 return err 1415 } 1416 event.Raw = log 1417 1418 select { 1419 case sink <- event: 1420 case err := <-sub.Err(): 1421 return err 1422 case <-quit: 1423 return nil 1424 } 1425 case err := <-sub.Err(): 1426 return err 1427 case <-quit: 1428 return nil 1429 } 1430 } 1431 }), nil 1432 } 1433 1434 // ParseFlashLoan is a log parse operation binding the contract event 0x0d7d75e01ab95780d3cd1c8ec0dd6c2ce19e3a20427eec8bf53283b6fb8e95f0. 1435 // 1436 // Solidity: event FlashLoan(address indexed recipient, address indexed token, uint256 amount, uint256 feeAmount) 1437 func (_BalancerVault *BalancerVaultFilterer) ParseFlashLoan(log types.Log) (*BalancerVaultFlashLoan, error) { 1438 event := new(BalancerVaultFlashLoan) 1439 if err := _BalancerVault.contract.UnpackLog(event, "FlashLoan", log); err != nil { 1440 return nil, err 1441 } 1442 event.Raw = log 1443 return event, nil 1444 } 1445 1446 // BalancerVaultInternalBalanceChangedIterator is returned from FilterInternalBalanceChanged and is used to iterate over the raw logs and unpacked data for InternalBalanceChanged events raised by the BalancerVault contract. 1447 type BalancerVaultInternalBalanceChangedIterator struct { 1448 Event *BalancerVaultInternalBalanceChanged // Event containing the contract specifics and raw log 1449 1450 contract *bind.BoundContract // Generic contract to use for unpacking event data 1451 event string // Event name to use for unpacking event data 1452 1453 logs chan types.Log // Log channel receiving the found contract events 1454 sub ethereum.Subscription // Subscription for errors, completion and termination 1455 done bool // Whether the subscription completed delivering logs 1456 fail error // Occurred error to stop iteration 1457 } 1458 1459 // Next advances the iterator to the subsequent event, returning whether there 1460 // are any more events found. In case of a retrieval or parsing error, false is 1461 // returned and Error() can be queried for the exact failure. 1462 func (it *BalancerVaultInternalBalanceChangedIterator) Next() bool { 1463 // If the iterator failed, stop iterating 1464 if it.fail != nil { 1465 return false 1466 } 1467 // If the iterator completed, deliver directly whatever's available 1468 if it.done { 1469 select { 1470 case log := <-it.logs: 1471 it.Event = new(BalancerVaultInternalBalanceChanged) 1472 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1473 it.fail = err 1474 return false 1475 } 1476 it.Event.Raw = log 1477 return true 1478 1479 default: 1480 return false 1481 } 1482 } 1483 // Iterator still in progress, wait for either a data or an error event 1484 select { 1485 case log := <-it.logs: 1486 it.Event = new(BalancerVaultInternalBalanceChanged) 1487 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1488 it.fail = err 1489 return false 1490 } 1491 it.Event.Raw = log 1492 return true 1493 1494 case err := <-it.sub.Err(): 1495 it.done = true 1496 it.fail = err 1497 return it.Next() 1498 } 1499 } 1500 1501 // Error returns any retrieval or parsing error occurred during filtering. 1502 func (it *BalancerVaultInternalBalanceChangedIterator) Error() error { 1503 return it.fail 1504 } 1505 1506 // Close terminates the iteration process, releasing any pending underlying 1507 // resources. 1508 func (it *BalancerVaultInternalBalanceChangedIterator) Close() error { 1509 it.sub.Unsubscribe() 1510 return nil 1511 } 1512 1513 // BalancerVaultInternalBalanceChanged represents a InternalBalanceChanged event raised by the BalancerVault contract. 1514 type BalancerVaultInternalBalanceChanged struct { 1515 User common.Address 1516 Token common.Address 1517 Delta *big.Int 1518 Raw types.Log // Blockchain specific contextual infos 1519 } 1520 1521 // FilterInternalBalanceChanged is a free log retrieval operation binding the contract event 0x18e1ea4139e68413d7d08aa752e71568e36b2c5bf940893314c2c5b01eaa0c42. 1522 // 1523 // Solidity: event InternalBalanceChanged(address indexed user, address indexed token, int256 delta) 1524 func (_BalancerVault *BalancerVaultFilterer) FilterInternalBalanceChanged(opts *bind.FilterOpts, user []common.Address, token []common.Address) (*BalancerVaultInternalBalanceChangedIterator, error) { 1525 1526 var userRule []interface{} 1527 for _, userItem := range user { 1528 userRule = append(userRule, userItem) 1529 } 1530 var tokenRule []interface{} 1531 for _, tokenItem := range token { 1532 tokenRule = append(tokenRule, tokenItem) 1533 } 1534 1535 logs, sub, err := _BalancerVault.contract.FilterLogs(opts, "InternalBalanceChanged", userRule, tokenRule) 1536 if err != nil { 1537 return nil, err 1538 } 1539 return &BalancerVaultInternalBalanceChangedIterator{contract: _BalancerVault.contract, event: "InternalBalanceChanged", logs: logs, sub: sub}, nil 1540 } 1541 1542 // WatchInternalBalanceChanged is a free log subscription operation binding the contract event 0x18e1ea4139e68413d7d08aa752e71568e36b2c5bf940893314c2c5b01eaa0c42. 1543 // 1544 // Solidity: event InternalBalanceChanged(address indexed user, address indexed token, int256 delta) 1545 func (_BalancerVault *BalancerVaultFilterer) WatchInternalBalanceChanged(opts *bind.WatchOpts, sink chan<- *BalancerVaultInternalBalanceChanged, user []common.Address, token []common.Address) (event.Subscription, error) { 1546 1547 var userRule []interface{} 1548 for _, userItem := range user { 1549 userRule = append(userRule, userItem) 1550 } 1551 var tokenRule []interface{} 1552 for _, tokenItem := range token { 1553 tokenRule = append(tokenRule, tokenItem) 1554 } 1555 1556 logs, sub, err := _BalancerVault.contract.WatchLogs(opts, "InternalBalanceChanged", userRule, tokenRule) 1557 if err != nil { 1558 return nil, err 1559 } 1560 return event.NewSubscription(func(quit <-chan struct{}) error { 1561 defer sub.Unsubscribe() 1562 for { 1563 select { 1564 case log := <-logs: 1565 // New log arrived, parse the event and forward to the user 1566 event := new(BalancerVaultInternalBalanceChanged) 1567 if err := _BalancerVault.contract.UnpackLog(event, "InternalBalanceChanged", log); err != nil { 1568 return err 1569 } 1570 event.Raw = log 1571 1572 select { 1573 case sink <- event: 1574 case err := <-sub.Err(): 1575 return err 1576 case <-quit: 1577 return nil 1578 } 1579 case err := <-sub.Err(): 1580 return err 1581 case <-quit: 1582 return nil 1583 } 1584 } 1585 }), nil 1586 } 1587 1588 // ParseInternalBalanceChanged is a log parse operation binding the contract event 0x18e1ea4139e68413d7d08aa752e71568e36b2c5bf940893314c2c5b01eaa0c42. 1589 // 1590 // Solidity: event InternalBalanceChanged(address indexed user, address indexed token, int256 delta) 1591 func (_BalancerVault *BalancerVaultFilterer) ParseInternalBalanceChanged(log types.Log) (*BalancerVaultInternalBalanceChanged, error) { 1592 event := new(BalancerVaultInternalBalanceChanged) 1593 if err := _BalancerVault.contract.UnpackLog(event, "InternalBalanceChanged", log); err != nil { 1594 return nil, err 1595 } 1596 event.Raw = log 1597 return event, nil 1598 } 1599 1600 // BalancerVaultPausedStateChangedIterator is returned from FilterPausedStateChanged and is used to iterate over the raw logs and unpacked data for PausedStateChanged events raised by the BalancerVault contract. 1601 type BalancerVaultPausedStateChangedIterator struct { 1602 Event *BalancerVaultPausedStateChanged // Event containing the contract specifics and raw log 1603 1604 contract *bind.BoundContract // Generic contract to use for unpacking event data 1605 event string // Event name to use for unpacking event data 1606 1607 logs chan types.Log // Log channel receiving the found contract events 1608 sub ethereum.Subscription // Subscription for errors, completion and termination 1609 done bool // Whether the subscription completed delivering logs 1610 fail error // Occurred error to stop iteration 1611 } 1612 1613 // Next advances the iterator to the subsequent event, returning whether there 1614 // are any more events found. In case of a retrieval or parsing error, false is 1615 // returned and Error() can be queried for the exact failure. 1616 func (it *BalancerVaultPausedStateChangedIterator) Next() bool { 1617 // If the iterator failed, stop iterating 1618 if it.fail != nil { 1619 return false 1620 } 1621 // If the iterator completed, deliver directly whatever's available 1622 if it.done { 1623 select { 1624 case log := <-it.logs: 1625 it.Event = new(BalancerVaultPausedStateChanged) 1626 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1627 it.fail = err 1628 return false 1629 } 1630 it.Event.Raw = log 1631 return true 1632 1633 default: 1634 return false 1635 } 1636 } 1637 // Iterator still in progress, wait for either a data or an error event 1638 select { 1639 case log := <-it.logs: 1640 it.Event = new(BalancerVaultPausedStateChanged) 1641 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1642 it.fail = err 1643 return false 1644 } 1645 it.Event.Raw = log 1646 return true 1647 1648 case err := <-it.sub.Err(): 1649 it.done = true 1650 it.fail = err 1651 return it.Next() 1652 } 1653 } 1654 1655 // Error returns any retrieval or parsing error occurred during filtering. 1656 func (it *BalancerVaultPausedStateChangedIterator) Error() error { 1657 return it.fail 1658 } 1659 1660 // Close terminates the iteration process, releasing any pending underlying 1661 // resources. 1662 func (it *BalancerVaultPausedStateChangedIterator) Close() error { 1663 it.sub.Unsubscribe() 1664 return nil 1665 } 1666 1667 // BalancerVaultPausedStateChanged represents a PausedStateChanged event raised by the BalancerVault contract. 1668 type BalancerVaultPausedStateChanged struct { 1669 Paused bool 1670 Raw types.Log // Blockchain specific contextual infos 1671 } 1672 1673 // FilterPausedStateChanged is a free log retrieval operation binding the contract event 0x9e3a5e37224532dea67b89face185703738a228a6e8a23dee546960180d3be64. 1674 // 1675 // Solidity: event PausedStateChanged(bool paused) 1676 func (_BalancerVault *BalancerVaultFilterer) FilterPausedStateChanged(opts *bind.FilterOpts) (*BalancerVaultPausedStateChangedIterator, error) { 1677 1678 logs, sub, err := _BalancerVault.contract.FilterLogs(opts, "PausedStateChanged") 1679 if err != nil { 1680 return nil, err 1681 } 1682 return &BalancerVaultPausedStateChangedIterator{contract: _BalancerVault.contract, event: "PausedStateChanged", logs: logs, sub: sub}, nil 1683 } 1684 1685 // WatchPausedStateChanged is a free log subscription operation binding the contract event 0x9e3a5e37224532dea67b89face185703738a228a6e8a23dee546960180d3be64. 1686 // 1687 // Solidity: event PausedStateChanged(bool paused) 1688 func (_BalancerVault *BalancerVaultFilterer) WatchPausedStateChanged(opts *bind.WatchOpts, sink chan<- *BalancerVaultPausedStateChanged) (event.Subscription, error) { 1689 1690 logs, sub, err := _BalancerVault.contract.WatchLogs(opts, "PausedStateChanged") 1691 if err != nil { 1692 return nil, err 1693 } 1694 return event.NewSubscription(func(quit <-chan struct{}) error { 1695 defer sub.Unsubscribe() 1696 for { 1697 select { 1698 case log := <-logs: 1699 // New log arrived, parse the event and forward to the user 1700 event := new(BalancerVaultPausedStateChanged) 1701 if err := _BalancerVault.contract.UnpackLog(event, "PausedStateChanged", log); err != nil { 1702 return err 1703 } 1704 event.Raw = log 1705 1706 select { 1707 case sink <- event: 1708 case err := <-sub.Err(): 1709 return err 1710 case <-quit: 1711 return nil 1712 } 1713 case err := <-sub.Err(): 1714 return err 1715 case <-quit: 1716 return nil 1717 } 1718 } 1719 }), nil 1720 } 1721 1722 // ParsePausedStateChanged is a log parse operation binding the contract event 0x9e3a5e37224532dea67b89face185703738a228a6e8a23dee546960180d3be64. 1723 // 1724 // Solidity: event PausedStateChanged(bool paused) 1725 func (_BalancerVault *BalancerVaultFilterer) ParsePausedStateChanged(log types.Log) (*BalancerVaultPausedStateChanged, error) { 1726 event := new(BalancerVaultPausedStateChanged) 1727 if err := _BalancerVault.contract.UnpackLog(event, "PausedStateChanged", log); err != nil { 1728 return nil, err 1729 } 1730 event.Raw = log 1731 return event, nil 1732 } 1733 1734 // BalancerVaultPoolBalanceChangedIterator is returned from FilterPoolBalanceChanged and is used to iterate over the raw logs and unpacked data for PoolBalanceChanged events raised by the BalancerVault contract. 1735 type BalancerVaultPoolBalanceChangedIterator struct { 1736 Event *BalancerVaultPoolBalanceChanged // Event containing the contract specifics and raw log 1737 1738 contract *bind.BoundContract // Generic contract to use for unpacking event data 1739 event string // Event name to use for unpacking event data 1740 1741 logs chan types.Log // Log channel receiving the found contract events 1742 sub ethereum.Subscription // Subscription for errors, completion and termination 1743 done bool // Whether the subscription completed delivering logs 1744 fail error // Occurred error to stop iteration 1745 } 1746 1747 // Next advances the iterator to the subsequent event, returning whether there 1748 // are any more events found. In case of a retrieval or parsing error, false is 1749 // returned and Error() can be queried for the exact failure. 1750 func (it *BalancerVaultPoolBalanceChangedIterator) Next() bool { 1751 // If the iterator failed, stop iterating 1752 if it.fail != nil { 1753 return false 1754 } 1755 // If the iterator completed, deliver directly whatever's available 1756 if it.done { 1757 select { 1758 case log := <-it.logs: 1759 it.Event = new(BalancerVaultPoolBalanceChanged) 1760 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1761 it.fail = err 1762 return false 1763 } 1764 it.Event.Raw = log 1765 return true 1766 1767 default: 1768 return false 1769 } 1770 } 1771 // Iterator still in progress, wait for either a data or an error event 1772 select { 1773 case log := <-it.logs: 1774 it.Event = new(BalancerVaultPoolBalanceChanged) 1775 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1776 it.fail = err 1777 return false 1778 } 1779 it.Event.Raw = log 1780 return true 1781 1782 case err := <-it.sub.Err(): 1783 it.done = true 1784 it.fail = err 1785 return it.Next() 1786 } 1787 } 1788 1789 // Error returns any retrieval or parsing error occurred during filtering. 1790 func (it *BalancerVaultPoolBalanceChangedIterator) Error() error { 1791 return it.fail 1792 } 1793 1794 // Close terminates the iteration process, releasing any pending underlying 1795 // resources. 1796 func (it *BalancerVaultPoolBalanceChangedIterator) Close() error { 1797 it.sub.Unsubscribe() 1798 return nil 1799 } 1800 1801 // BalancerVaultPoolBalanceChanged represents a PoolBalanceChanged event raised by the BalancerVault contract. 1802 type BalancerVaultPoolBalanceChanged struct { 1803 PoolId [32]byte 1804 LiquidityProvider common.Address 1805 Tokens []common.Address 1806 Deltas []*big.Int 1807 ProtocolFeeAmounts []*big.Int 1808 Raw types.Log // Blockchain specific contextual infos 1809 } 1810 1811 // FilterPoolBalanceChanged is a free log retrieval operation binding the contract event 0xe5ce249087ce04f05a957192435400fd97868dba0e6a4b4c049abf8af80dae78. 1812 // 1813 // Solidity: event PoolBalanceChanged(bytes32 indexed poolId, address indexed liquidityProvider, address[] tokens, int256[] deltas, uint256[] protocolFeeAmounts) 1814 func (_BalancerVault *BalancerVaultFilterer) FilterPoolBalanceChanged(opts *bind.FilterOpts, poolId [][32]byte, liquidityProvider []common.Address) (*BalancerVaultPoolBalanceChangedIterator, error) { 1815 1816 var poolIdRule []interface{} 1817 for _, poolIdItem := range poolId { 1818 poolIdRule = append(poolIdRule, poolIdItem) 1819 } 1820 var liquidityProviderRule []interface{} 1821 for _, liquidityProviderItem := range liquidityProvider { 1822 liquidityProviderRule = append(liquidityProviderRule, liquidityProviderItem) 1823 } 1824 1825 logs, sub, err := _BalancerVault.contract.FilterLogs(opts, "PoolBalanceChanged", poolIdRule, liquidityProviderRule) 1826 if err != nil { 1827 return nil, err 1828 } 1829 return &BalancerVaultPoolBalanceChangedIterator{contract: _BalancerVault.contract, event: "PoolBalanceChanged", logs: logs, sub: sub}, nil 1830 } 1831 1832 // WatchPoolBalanceChanged is a free log subscription operation binding the contract event 0xe5ce249087ce04f05a957192435400fd97868dba0e6a4b4c049abf8af80dae78. 1833 // 1834 // Solidity: event PoolBalanceChanged(bytes32 indexed poolId, address indexed liquidityProvider, address[] tokens, int256[] deltas, uint256[] protocolFeeAmounts) 1835 func (_BalancerVault *BalancerVaultFilterer) WatchPoolBalanceChanged(opts *bind.WatchOpts, sink chan<- *BalancerVaultPoolBalanceChanged, poolId [][32]byte, liquidityProvider []common.Address) (event.Subscription, error) { 1836 1837 var poolIdRule []interface{} 1838 for _, poolIdItem := range poolId { 1839 poolIdRule = append(poolIdRule, poolIdItem) 1840 } 1841 var liquidityProviderRule []interface{} 1842 for _, liquidityProviderItem := range liquidityProvider { 1843 liquidityProviderRule = append(liquidityProviderRule, liquidityProviderItem) 1844 } 1845 1846 logs, sub, err := _BalancerVault.contract.WatchLogs(opts, "PoolBalanceChanged", poolIdRule, liquidityProviderRule) 1847 if err != nil { 1848 return nil, err 1849 } 1850 return event.NewSubscription(func(quit <-chan struct{}) error { 1851 defer sub.Unsubscribe() 1852 for { 1853 select { 1854 case log := <-logs: 1855 // New log arrived, parse the event and forward to the user 1856 event := new(BalancerVaultPoolBalanceChanged) 1857 if err := _BalancerVault.contract.UnpackLog(event, "PoolBalanceChanged", log); err != nil { 1858 return err 1859 } 1860 event.Raw = log 1861 1862 select { 1863 case sink <- event: 1864 case err := <-sub.Err(): 1865 return err 1866 case <-quit: 1867 return nil 1868 } 1869 case err := <-sub.Err(): 1870 return err 1871 case <-quit: 1872 return nil 1873 } 1874 } 1875 }), nil 1876 } 1877 1878 // ParsePoolBalanceChanged is a log parse operation binding the contract event 0xe5ce249087ce04f05a957192435400fd97868dba0e6a4b4c049abf8af80dae78. 1879 // 1880 // Solidity: event PoolBalanceChanged(bytes32 indexed poolId, address indexed liquidityProvider, address[] tokens, int256[] deltas, uint256[] protocolFeeAmounts) 1881 func (_BalancerVault *BalancerVaultFilterer) ParsePoolBalanceChanged(log types.Log) (*BalancerVaultPoolBalanceChanged, error) { 1882 event := new(BalancerVaultPoolBalanceChanged) 1883 if err := _BalancerVault.contract.UnpackLog(event, "PoolBalanceChanged", log); err != nil { 1884 return nil, err 1885 } 1886 event.Raw = log 1887 return event, nil 1888 } 1889 1890 // BalancerVaultPoolBalanceManagedIterator is returned from FilterPoolBalanceManaged and is used to iterate over the raw logs and unpacked data for PoolBalanceManaged events raised by the BalancerVault contract. 1891 type BalancerVaultPoolBalanceManagedIterator struct { 1892 Event *BalancerVaultPoolBalanceManaged // Event containing the contract specifics and raw log 1893 1894 contract *bind.BoundContract // Generic contract to use for unpacking event data 1895 event string // Event name to use for unpacking event data 1896 1897 logs chan types.Log // Log channel receiving the found contract events 1898 sub ethereum.Subscription // Subscription for errors, completion and termination 1899 done bool // Whether the subscription completed delivering logs 1900 fail error // Occurred error to stop iteration 1901 } 1902 1903 // Next advances the iterator to the subsequent event, returning whether there 1904 // are any more events found. In case of a retrieval or parsing error, false is 1905 // returned and Error() can be queried for the exact failure. 1906 func (it *BalancerVaultPoolBalanceManagedIterator) Next() bool { 1907 // If the iterator failed, stop iterating 1908 if it.fail != nil { 1909 return false 1910 } 1911 // If the iterator completed, deliver directly whatever's available 1912 if it.done { 1913 select { 1914 case log := <-it.logs: 1915 it.Event = new(BalancerVaultPoolBalanceManaged) 1916 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1917 it.fail = err 1918 return false 1919 } 1920 it.Event.Raw = log 1921 return true 1922 1923 default: 1924 return false 1925 } 1926 } 1927 // Iterator still in progress, wait for either a data or an error event 1928 select { 1929 case log := <-it.logs: 1930 it.Event = new(BalancerVaultPoolBalanceManaged) 1931 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1932 it.fail = err 1933 return false 1934 } 1935 it.Event.Raw = log 1936 return true 1937 1938 case err := <-it.sub.Err(): 1939 it.done = true 1940 it.fail = err 1941 return it.Next() 1942 } 1943 } 1944 1945 // Error returns any retrieval or parsing error occurred during filtering. 1946 func (it *BalancerVaultPoolBalanceManagedIterator) Error() error { 1947 return it.fail 1948 } 1949 1950 // Close terminates the iteration process, releasing any pending underlying 1951 // resources. 1952 func (it *BalancerVaultPoolBalanceManagedIterator) Close() error { 1953 it.sub.Unsubscribe() 1954 return nil 1955 } 1956 1957 // BalancerVaultPoolBalanceManaged represents a PoolBalanceManaged event raised by the BalancerVault contract. 1958 type BalancerVaultPoolBalanceManaged struct { 1959 PoolId [32]byte 1960 AssetManager common.Address 1961 Token common.Address 1962 CashDelta *big.Int 1963 ManagedDelta *big.Int 1964 Raw types.Log // Blockchain specific contextual infos 1965 } 1966 1967 // FilterPoolBalanceManaged is a free log retrieval operation binding the contract event 0x6edcaf6241105b4c94c2efdbf3a6b12458eb3d07be3a0e81d24b13c44045fe7a. 1968 // 1969 // Solidity: event PoolBalanceManaged(bytes32 indexed poolId, address indexed assetManager, address indexed token, int256 cashDelta, int256 managedDelta) 1970 func (_BalancerVault *BalancerVaultFilterer) FilterPoolBalanceManaged(opts *bind.FilterOpts, poolId [][32]byte, assetManager []common.Address, token []common.Address) (*BalancerVaultPoolBalanceManagedIterator, error) { 1971 1972 var poolIdRule []interface{} 1973 for _, poolIdItem := range poolId { 1974 poolIdRule = append(poolIdRule, poolIdItem) 1975 } 1976 var assetManagerRule []interface{} 1977 for _, assetManagerItem := range assetManager { 1978 assetManagerRule = append(assetManagerRule, assetManagerItem) 1979 } 1980 var tokenRule []interface{} 1981 for _, tokenItem := range token { 1982 tokenRule = append(tokenRule, tokenItem) 1983 } 1984 1985 logs, sub, err := _BalancerVault.contract.FilterLogs(opts, "PoolBalanceManaged", poolIdRule, assetManagerRule, tokenRule) 1986 if err != nil { 1987 return nil, err 1988 } 1989 return &BalancerVaultPoolBalanceManagedIterator{contract: _BalancerVault.contract, event: "PoolBalanceManaged", logs: logs, sub: sub}, nil 1990 } 1991 1992 // WatchPoolBalanceManaged is a free log subscription operation binding the contract event 0x6edcaf6241105b4c94c2efdbf3a6b12458eb3d07be3a0e81d24b13c44045fe7a. 1993 // 1994 // Solidity: event PoolBalanceManaged(bytes32 indexed poolId, address indexed assetManager, address indexed token, int256 cashDelta, int256 managedDelta) 1995 func (_BalancerVault *BalancerVaultFilterer) WatchPoolBalanceManaged(opts *bind.WatchOpts, sink chan<- *BalancerVaultPoolBalanceManaged, poolId [][32]byte, assetManager []common.Address, token []common.Address) (event.Subscription, error) { 1996 1997 var poolIdRule []interface{} 1998 for _, poolIdItem := range poolId { 1999 poolIdRule = append(poolIdRule, poolIdItem) 2000 } 2001 var assetManagerRule []interface{} 2002 for _, assetManagerItem := range assetManager { 2003 assetManagerRule = append(assetManagerRule, assetManagerItem) 2004 } 2005 var tokenRule []interface{} 2006 for _, tokenItem := range token { 2007 tokenRule = append(tokenRule, tokenItem) 2008 } 2009 2010 logs, sub, err := _BalancerVault.contract.WatchLogs(opts, "PoolBalanceManaged", poolIdRule, assetManagerRule, tokenRule) 2011 if err != nil { 2012 return nil, err 2013 } 2014 return event.NewSubscription(func(quit <-chan struct{}) error { 2015 defer sub.Unsubscribe() 2016 for { 2017 select { 2018 case log := <-logs: 2019 // New log arrived, parse the event and forward to the user 2020 event := new(BalancerVaultPoolBalanceManaged) 2021 if err := _BalancerVault.contract.UnpackLog(event, "PoolBalanceManaged", log); err != nil { 2022 return err 2023 } 2024 event.Raw = log 2025 2026 select { 2027 case sink <- event: 2028 case err := <-sub.Err(): 2029 return err 2030 case <-quit: 2031 return nil 2032 } 2033 case err := <-sub.Err(): 2034 return err 2035 case <-quit: 2036 return nil 2037 } 2038 } 2039 }), nil 2040 } 2041 2042 // ParsePoolBalanceManaged is a log parse operation binding the contract event 0x6edcaf6241105b4c94c2efdbf3a6b12458eb3d07be3a0e81d24b13c44045fe7a. 2043 // 2044 // Solidity: event PoolBalanceManaged(bytes32 indexed poolId, address indexed assetManager, address indexed token, int256 cashDelta, int256 managedDelta) 2045 func (_BalancerVault *BalancerVaultFilterer) ParsePoolBalanceManaged(log types.Log) (*BalancerVaultPoolBalanceManaged, error) { 2046 event := new(BalancerVaultPoolBalanceManaged) 2047 if err := _BalancerVault.contract.UnpackLog(event, "PoolBalanceManaged", log); err != nil { 2048 return nil, err 2049 } 2050 event.Raw = log 2051 return event, nil 2052 } 2053 2054 // BalancerVaultPoolRegisteredIterator is returned from FilterPoolRegistered and is used to iterate over the raw logs and unpacked data for PoolRegistered events raised by the BalancerVault contract. 2055 type BalancerVaultPoolRegisteredIterator struct { 2056 Event *BalancerVaultPoolRegistered // Event containing the contract specifics and raw log 2057 2058 contract *bind.BoundContract // Generic contract to use for unpacking event data 2059 event string // Event name to use for unpacking event data 2060 2061 logs chan types.Log // Log channel receiving the found contract events 2062 sub ethereum.Subscription // Subscription for errors, completion and termination 2063 done bool // Whether the subscription completed delivering logs 2064 fail error // Occurred error to stop iteration 2065 } 2066 2067 // Next advances the iterator to the subsequent event, returning whether there 2068 // are any more events found. In case of a retrieval or parsing error, false is 2069 // returned and Error() can be queried for the exact failure. 2070 func (it *BalancerVaultPoolRegisteredIterator) Next() bool { 2071 // If the iterator failed, stop iterating 2072 if it.fail != nil { 2073 return false 2074 } 2075 // If the iterator completed, deliver directly whatever's available 2076 if it.done { 2077 select { 2078 case log := <-it.logs: 2079 it.Event = new(BalancerVaultPoolRegistered) 2080 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2081 it.fail = err 2082 return false 2083 } 2084 it.Event.Raw = log 2085 return true 2086 2087 default: 2088 return false 2089 } 2090 } 2091 // Iterator still in progress, wait for either a data or an error event 2092 select { 2093 case log := <-it.logs: 2094 it.Event = new(BalancerVaultPoolRegistered) 2095 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2096 it.fail = err 2097 return false 2098 } 2099 it.Event.Raw = log 2100 return true 2101 2102 case err := <-it.sub.Err(): 2103 it.done = true 2104 it.fail = err 2105 return it.Next() 2106 } 2107 } 2108 2109 // Error returns any retrieval or parsing error occurred during filtering. 2110 func (it *BalancerVaultPoolRegisteredIterator) Error() error { 2111 return it.fail 2112 } 2113 2114 // Close terminates the iteration process, releasing any pending underlying 2115 // resources. 2116 func (it *BalancerVaultPoolRegisteredIterator) Close() error { 2117 it.sub.Unsubscribe() 2118 return nil 2119 } 2120 2121 // BalancerVaultPoolRegistered represents a PoolRegistered event raised by the BalancerVault contract. 2122 type BalancerVaultPoolRegistered struct { 2123 PoolId [32]byte 2124 PoolAddress common.Address 2125 Specialization uint8 2126 Raw types.Log // Blockchain specific contextual infos 2127 } 2128 2129 // FilterPoolRegistered is a free log retrieval operation binding the contract event 0x3c13bc30b8e878c53fd2a36b679409c073afd75950be43d8858768e956fbc20e. 2130 // 2131 // Solidity: event PoolRegistered(bytes32 indexed poolId, address indexed poolAddress, uint8 specialization) 2132 func (_BalancerVault *BalancerVaultFilterer) FilterPoolRegistered(opts *bind.FilterOpts, poolId [][32]byte, poolAddress []common.Address) (*BalancerVaultPoolRegisteredIterator, error) { 2133 2134 var poolIdRule []interface{} 2135 for _, poolIdItem := range poolId { 2136 poolIdRule = append(poolIdRule, poolIdItem) 2137 } 2138 var poolAddressRule []interface{} 2139 for _, poolAddressItem := range poolAddress { 2140 poolAddressRule = append(poolAddressRule, poolAddressItem) 2141 } 2142 2143 logs, sub, err := _BalancerVault.contract.FilterLogs(opts, "PoolRegistered", poolIdRule, poolAddressRule) 2144 if err != nil { 2145 return nil, err 2146 } 2147 return &BalancerVaultPoolRegisteredIterator{contract: _BalancerVault.contract, event: "PoolRegistered", logs: logs, sub: sub}, nil 2148 } 2149 2150 // WatchPoolRegistered is a free log subscription operation binding the contract event 0x3c13bc30b8e878c53fd2a36b679409c073afd75950be43d8858768e956fbc20e. 2151 // 2152 // Solidity: event PoolRegistered(bytes32 indexed poolId, address indexed poolAddress, uint8 specialization) 2153 func (_BalancerVault *BalancerVaultFilterer) WatchPoolRegistered(opts *bind.WatchOpts, sink chan<- *BalancerVaultPoolRegistered, poolId [][32]byte, poolAddress []common.Address) (event.Subscription, error) { 2154 2155 var poolIdRule []interface{} 2156 for _, poolIdItem := range poolId { 2157 poolIdRule = append(poolIdRule, poolIdItem) 2158 } 2159 var poolAddressRule []interface{} 2160 for _, poolAddressItem := range poolAddress { 2161 poolAddressRule = append(poolAddressRule, poolAddressItem) 2162 } 2163 2164 logs, sub, err := _BalancerVault.contract.WatchLogs(opts, "PoolRegistered", poolIdRule, poolAddressRule) 2165 if err != nil { 2166 return nil, err 2167 } 2168 return event.NewSubscription(func(quit <-chan struct{}) error { 2169 defer sub.Unsubscribe() 2170 for { 2171 select { 2172 case log := <-logs: 2173 // New log arrived, parse the event and forward to the user 2174 event := new(BalancerVaultPoolRegistered) 2175 if err := _BalancerVault.contract.UnpackLog(event, "PoolRegistered", log); err != nil { 2176 return err 2177 } 2178 event.Raw = log 2179 2180 select { 2181 case sink <- event: 2182 case err := <-sub.Err(): 2183 return err 2184 case <-quit: 2185 return nil 2186 } 2187 case err := <-sub.Err(): 2188 return err 2189 case <-quit: 2190 return nil 2191 } 2192 } 2193 }), nil 2194 } 2195 2196 // ParsePoolRegistered is a log parse operation binding the contract event 0x3c13bc30b8e878c53fd2a36b679409c073afd75950be43d8858768e956fbc20e. 2197 // 2198 // Solidity: event PoolRegistered(bytes32 indexed poolId, address indexed poolAddress, uint8 specialization) 2199 func (_BalancerVault *BalancerVaultFilterer) ParsePoolRegistered(log types.Log) (*BalancerVaultPoolRegistered, error) { 2200 event := new(BalancerVaultPoolRegistered) 2201 if err := _BalancerVault.contract.UnpackLog(event, "PoolRegistered", log); err != nil { 2202 return nil, err 2203 } 2204 event.Raw = log 2205 return event, nil 2206 } 2207 2208 // BalancerVaultRelayerApprovalChangedIterator is returned from FilterRelayerApprovalChanged and is used to iterate over the raw logs and unpacked data for RelayerApprovalChanged events raised by the BalancerVault contract. 2209 type BalancerVaultRelayerApprovalChangedIterator struct { 2210 Event *BalancerVaultRelayerApprovalChanged // Event containing the contract specifics and raw log 2211 2212 contract *bind.BoundContract // Generic contract to use for unpacking event data 2213 event string // Event name to use for unpacking event data 2214 2215 logs chan types.Log // Log channel receiving the found contract events 2216 sub ethereum.Subscription // Subscription for errors, completion and termination 2217 done bool // Whether the subscription completed delivering logs 2218 fail error // Occurred error to stop iteration 2219 } 2220 2221 // Next advances the iterator to the subsequent event, returning whether there 2222 // are any more events found. In case of a retrieval or parsing error, false is 2223 // returned and Error() can be queried for the exact failure. 2224 func (it *BalancerVaultRelayerApprovalChangedIterator) Next() bool { 2225 // If the iterator failed, stop iterating 2226 if it.fail != nil { 2227 return false 2228 } 2229 // If the iterator completed, deliver directly whatever's available 2230 if it.done { 2231 select { 2232 case log := <-it.logs: 2233 it.Event = new(BalancerVaultRelayerApprovalChanged) 2234 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2235 it.fail = err 2236 return false 2237 } 2238 it.Event.Raw = log 2239 return true 2240 2241 default: 2242 return false 2243 } 2244 } 2245 // Iterator still in progress, wait for either a data or an error event 2246 select { 2247 case log := <-it.logs: 2248 it.Event = new(BalancerVaultRelayerApprovalChanged) 2249 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2250 it.fail = err 2251 return false 2252 } 2253 it.Event.Raw = log 2254 return true 2255 2256 case err := <-it.sub.Err(): 2257 it.done = true 2258 it.fail = err 2259 return it.Next() 2260 } 2261 } 2262 2263 // Error returns any retrieval or parsing error occurred during filtering. 2264 func (it *BalancerVaultRelayerApprovalChangedIterator) Error() error { 2265 return it.fail 2266 } 2267 2268 // Close terminates the iteration process, releasing any pending underlying 2269 // resources. 2270 func (it *BalancerVaultRelayerApprovalChangedIterator) Close() error { 2271 it.sub.Unsubscribe() 2272 return nil 2273 } 2274 2275 // BalancerVaultRelayerApprovalChanged represents a RelayerApprovalChanged event raised by the BalancerVault contract. 2276 type BalancerVaultRelayerApprovalChanged struct { 2277 Relayer common.Address 2278 Sender common.Address 2279 Approved bool 2280 Raw types.Log // Blockchain specific contextual infos 2281 } 2282 2283 // FilterRelayerApprovalChanged is a free log retrieval operation binding the contract event 0x46961fdb4502b646d5095fba7600486a8ac05041d55cdf0f16ed677180b5cad8. 2284 // 2285 // Solidity: event RelayerApprovalChanged(address indexed relayer, address indexed sender, bool approved) 2286 func (_BalancerVault *BalancerVaultFilterer) FilterRelayerApprovalChanged(opts *bind.FilterOpts, relayer []common.Address, sender []common.Address) (*BalancerVaultRelayerApprovalChangedIterator, error) { 2287 2288 var relayerRule []interface{} 2289 for _, relayerItem := range relayer { 2290 relayerRule = append(relayerRule, relayerItem) 2291 } 2292 var senderRule []interface{} 2293 for _, senderItem := range sender { 2294 senderRule = append(senderRule, senderItem) 2295 } 2296 2297 logs, sub, err := _BalancerVault.contract.FilterLogs(opts, "RelayerApprovalChanged", relayerRule, senderRule) 2298 if err != nil { 2299 return nil, err 2300 } 2301 return &BalancerVaultRelayerApprovalChangedIterator{contract: _BalancerVault.contract, event: "RelayerApprovalChanged", logs: logs, sub: sub}, nil 2302 } 2303 2304 // WatchRelayerApprovalChanged is a free log subscription operation binding the contract event 0x46961fdb4502b646d5095fba7600486a8ac05041d55cdf0f16ed677180b5cad8. 2305 // 2306 // Solidity: event RelayerApprovalChanged(address indexed relayer, address indexed sender, bool approved) 2307 func (_BalancerVault *BalancerVaultFilterer) WatchRelayerApprovalChanged(opts *bind.WatchOpts, sink chan<- *BalancerVaultRelayerApprovalChanged, relayer []common.Address, sender []common.Address) (event.Subscription, error) { 2308 2309 var relayerRule []interface{} 2310 for _, relayerItem := range relayer { 2311 relayerRule = append(relayerRule, relayerItem) 2312 } 2313 var senderRule []interface{} 2314 for _, senderItem := range sender { 2315 senderRule = append(senderRule, senderItem) 2316 } 2317 2318 logs, sub, err := _BalancerVault.contract.WatchLogs(opts, "RelayerApprovalChanged", relayerRule, senderRule) 2319 if err != nil { 2320 return nil, err 2321 } 2322 return event.NewSubscription(func(quit <-chan struct{}) error { 2323 defer sub.Unsubscribe() 2324 for { 2325 select { 2326 case log := <-logs: 2327 // New log arrived, parse the event and forward to the user 2328 event := new(BalancerVaultRelayerApprovalChanged) 2329 if err := _BalancerVault.contract.UnpackLog(event, "RelayerApprovalChanged", log); err != nil { 2330 return err 2331 } 2332 event.Raw = log 2333 2334 select { 2335 case sink <- event: 2336 case err := <-sub.Err(): 2337 return err 2338 case <-quit: 2339 return nil 2340 } 2341 case err := <-sub.Err(): 2342 return err 2343 case <-quit: 2344 return nil 2345 } 2346 } 2347 }), nil 2348 } 2349 2350 // ParseRelayerApprovalChanged is a log parse operation binding the contract event 0x46961fdb4502b646d5095fba7600486a8ac05041d55cdf0f16ed677180b5cad8. 2351 // 2352 // Solidity: event RelayerApprovalChanged(address indexed relayer, address indexed sender, bool approved) 2353 func (_BalancerVault *BalancerVaultFilterer) ParseRelayerApprovalChanged(log types.Log) (*BalancerVaultRelayerApprovalChanged, error) { 2354 event := new(BalancerVaultRelayerApprovalChanged) 2355 if err := _BalancerVault.contract.UnpackLog(event, "RelayerApprovalChanged", log); err != nil { 2356 return nil, err 2357 } 2358 event.Raw = log 2359 return event, nil 2360 } 2361 2362 // BalancerVaultSwapIterator is returned from FilterSwap and is used to iterate over the raw logs and unpacked data for Swap events raised by the BalancerVault contract. 2363 type BalancerVaultSwapIterator struct { 2364 Event *BalancerVaultSwap // Event containing the contract specifics and raw log 2365 2366 contract *bind.BoundContract // Generic contract to use for unpacking event data 2367 event string // Event name to use for unpacking event data 2368 2369 logs chan types.Log // Log channel receiving the found contract events 2370 sub ethereum.Subscription // Subscription for errors, completion and termination 2371 done bool // Whether the subscription completed delivering logs 2372 fail error // Occurred error to stop iteration 2373 } 2374 2375 // Next advances the iterator to the subsequent event, returning whether there 2376 // are any more events found. In case of a retrieval or parsing error, false is 2377 // returned and Error() can be queried for the exact failure. 2378 func (it *BalancerVaultSwapIterator) Next() bool { 2379 // If the iterator failed, stop iterating 2380 if it.fail != nil { 2381 return false 2382 } 2383 // If the iterator completed, deliver directly whatever's available 2384 if it.done { 2385 select { 2386 case log := <-it.logs: 2387 it.Event = new(BalancerVaultSwap) 2388 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2389 it.fail = err 2390 return false 2391 } 2392 it.Event.Raw = log 2393 return true 2394 2395 default: 2396 return false 2397 } 2398 } 2399 // Iterator still in progress, wait for either a data or an error event 2400 select { 2401 case log := <-it.logs: 2402 it.Event = new(BalancerVaultSwap) 2403 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2404 it.fail = err 2405 return false 2406 } 2407 it.Event.Raw = log 2408 return true 2409 2410 case err := <-it.sub.Err(): 2411 it.done = true 2412 it.fail = err 2413 return it.Next() 2414 } 2415 } 2416 2417 // Error returns any retrieval or parsing error occurred during filtering. 2418 func (it *BalancerVaultSwapIterator) Error() error { 2419 return it.fail 2420 } 2421 2422 // Close terminates the iteration process, releasing any pending underlying 2423 // resources. 2424 func (it *BalancerVaultSwapIterator) Close() error { 2425 it.sub.Unsubscribe() 2426 return nil 2427 } 2428 2429 // BalancerVaultSwap represents a Swap event raised by the BalancerVault contract. 2430 type BalancerVaultSwap struct { 2431 PoolId [32]byte 2432 TokenIn common.Address 2433 TokenOut common.Address 2434 AmountIn *big.Int 2435 AmountOut *big.Int 2436 Raw types.Log // Blockchain specific contextual infos 2437 } 2438 2439 // FilterSwap is a free log retrieval operation binding the contract event 0x2170c741c41531aec20e7c107c24eecfdd15e69c9bb0a8dd37b1840b9e0b207b. 2440 // 2441 // Solidity: event Swap(bytes32 indexed poolId, address indexed tokenIn, address indexed tokenOut, uint256 amountIn, uint256 amountOut) 2442 func (_BalancerVault *BalancerVaultFilterer) FilterSwap(opts *bind.FilterOpts, poolId [][32]byte, tokenIn []common.Address, tokenOut []common.Address) (*BalancerVaultSwapIterator, error) { 2443 2444 var poolIdRule []interface{} 2445 for _, poolIdItem := range poolId { 2446 poolIdRule = append(poolIdRule, poolIdItem) 2447 } 2448 var tokenInRule []interface{} 2449 for _, tokenInItem := range tokenIn { 2450 tokenInRule = append(tokenInRule, tokenInItem) 2451 } 2452 var tokenOutRule []interface{} 2453 for _, tokenOutItem := range tokenOut { 2454 tokenOutRule = append(tokenOutRule, tokenOutItem) 2455 } 2456 2457 logs, sub, err := _BalancerVault.contract.FilterLogs(opts, "Swap", poolIdRule, tokenInRule, tokenOutRule) 2458 if err != nil { 2459 return nil, err 2460 } 2461 return &BalancerVaultSwapIterator{contract: _BalancerVault.contract, event: "Swap", logs: logs, sub: sub}, nil 2462 } 2463 2464 // WatchSwap is a free log subscription operation binding the contract event 0x2170c741c41531aec20e7c107c24eecfdd15e69c9bb0a8dd37b1840b9e0b207b. 2465 // 2466 // Solidity: event Swap(bytes32 indexed poolId, address indexed tokenIn, address indexed tokenOut, uint256 amountIn, uint256 amountOut) 2467 func (_BalancerVault *BalancerVaultFilterer) WatchSwap(opts *bind.WatchOpts, sink chan<- *BalancerVaultSwap, poolId [][32]byte, tokenIn []common.Address, tokenOut []common.Address) (event.Subscription, error) { 2468 2469 var poolIdRule []interface{} 2470 for _, poolIdItem := range poolId { 2471 poolIdRule = append(poolIdRule, poolIdItem) 2472 } 2473 var tokenInRule []interface{} 2474 for _, tokenInItem := range tokenIn { 2475 tokenInRule = append(tokenInRule, tokenInItem) 2476 } 2477 var tokenOutRule []interface{} 2478 for _, tokenOutItem := range tokenOut { 2479 tokenOutRule = append(tokenOutRule, tokenOutItem) 2480 } 2481 2482 logs, sub, err := _BalancerVault.contract.WatchLogs(opts, "Swap", poolIdRule, tokenInRule, tokenOutRule) 2483 if err != nil { 2484 return nil, err 2485 } 2486 return event.NewSubscription(func(quit <-chan struct{}) error { 2487 defer sub.Unsubscribe() 2488 for { 2489 select { 2490 case log := <-logs: 2491 // New log arrived, parse the event and forward to the user 2492 event := new(BalancerVaultSwap) 2493 if err := _BalancerVault.contract.UnpackLog(event, "Swap", log); err != nil { 2494 return err 2495 } 2496 event.Raw = log 2497 2498 select { 2499 case sink <- event: 2500 case err := <-sub.Err(): 2501 return err 2502 case <-quit: 2503 return nil 2504 } 2505 case err := <-sub.Err(): 2506 return err 2507 case <-quit: 2508 return nil 2509 } 2510 } 2511 }), nil 2512 } 2513 2514 // ParseSwap is a log parse operation binding the contract event 0x2170c741c41531aec20e7c107c24eecfdd15e69c9bb0a8dd37b1840b9e0b207b. 2515 // 2516 // Solidity: event Swap(bytes32 indexed poolId, address indexed tokenIn, address indexed tokenOut, uint256 amountIn, uint256 amountOut) 2517 func (_BalancerVault *BalancerVaultFilterer) ParseSwap(log types.Log) (*BalancerVaultSwap, error) { 2518 event := new(BalancerVaultSwap) 2519 if err := _BalancerVault.contract.UnpackLog(event, "Swap", log); err != nil { 2520 return nil, err 2521 } 2522 event.Raw = log 2523 return event, nil 2524 } 2525 2526 // BalancerVaultTokensDeregisteredIterator is returned from FilterTokensDeregistered and is used to iterate over the raw logs and unpacked data for TokensDeregistered events raised by the BalancerVault contract. 2527 type BalancerVaultTokensDeregisteredIterator struct { 2528 Event *BalancerVaultTokensDeregistered // Event containing the contract specifics and raw log 2529 2530 contract *bind.BoundContract // Generic contract to use for unpacking event data 2531 event string // Event name to use for unpacking event data 2532 2533 logs chan types.Log // Log channel receiving the found contract events 2534 sub ethereum.Subscription // Subscription for errors, completion and termination 2535 done bool // Whether the subscription completed delivering logs 2536 fail error // Occurred error to stop iteration 2537 } 2538 2539 // Next advances the iterator to the subsequent event, returning whether there 2540 // are any more events found. In case of a retrieval or parsing error, false is 2541 // returned and Error() can be queried for the exact failure. 2542 func (it *BalancerVaultTokensDeregisteredIterator) Next() bool { 2543 // If the iterator failed, stop iterating 2544 if it.fail != nil { 2545 return false 2546 } 2547 // If the iterator completed, deliver directly whatever's available 2548 if it.done { 2549 select { 2550 case log := <-it.logs: 2551 it.Event = new(BalancerVaultTokensDeregistered) 2552 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2553 it.fail = err 2554 return false 2555 } 2556 it.Event.Raw = log 2557 return true 2558 2559 default: 2560 return false 2561 } 2562 } 2563 // Iterator still in progress, wait for either a data or an error event 2564 select { 2565 case log := <-it.logs: 2566 it.Event = new(BalancerVaultTokensDeregistered) 2567 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2568 it.fail = err 2569 return false 2570 } 2571 it.Event.Raw = log 2572 return true 2573 2574 case err := <-it.sub.Err(): 2575 it.done = true 2576 it.fail = err 2577 return it.Next() 2578 } 2579 } 2580 2581 // Error returns any retrieval or parsing error occurred during filtering. 2582 func (it *BalancerVaultTokensDeregisteredIterator) Error() error { 2583 return it.fail 2584 } 2585 2586 // Close terminates the iteration process, releasing any pending underlying 2587 // resources. 2588 func (it *BalancerVaultTokensDeregisteredIterator) Close() error { 2589 it.sub.Unsubscribe() 2590 return nil 2591 } 2592 2593 // BalancerVaultTokensDeregistered represents a TokensDeregistered event raised by the BalancerVault contract. 2594 type BalancerVaultTokensDeregistered struct { 2595 PoolId [32]byte 2596 Tokens []common.Address 2597 Raw types.Log // Blockchain specific contextual infos 2598 } 2599 2600 // FilterTokensDeregistered is a free log retrieval operation binding the contract event 0x7dcdc6d02ef40c7c1a7046a011b058bd7f988fa14e20a66344f9d4e60657d610. 2601 // 2602 // Solidity: event TokensDeregistered(bytes32 indexed poolId, address[] tokens) 2603 func (_BalancerVault *BalancerVaultFilterer) FilterTokensDeregistered(opts *bind.FilterOpts, poolId [][32]byte) (*BalancerVaultTokensDeregisteredIterator, error) { 2604 2605 var poolIdRule []interface{} 2606 for _, poolIdItem := range poolId { 2607 poolIdRule = append(poolIdRule, poolIdItem) 2608 } 2609 2610 logs, sub, err := _BalancerVault.contract.FilterLogs(opts, "TokensDeregistered", poolIdRule) 2611 if err != nil { 2612 return nil, err 2613 } 2614 return &BalancerVaultTokensDeregisteredIterator{contract: _BalancerVault.contract, event: "TokensDeregistered", logs: logs, sub: sub}, nil 2615 } 2616 2617 // WatchTokensDeregistered is a free log subscription operation binding the contract event 0x7dcdc6d02ef40c7c1a7046a011b058bd7f988fa14e20a66344f9d4e60657d610. 2618 // 2619 // Solidity: event TokensDeregistered(bytes32 indexed poolId, address[] tokens) 2620 func (_BalancerVault *BalancerVaultFilterer) WatchTokensDeregistered(opts *bind.WatchOpts, sink chan<- *BalancerVaultTokensDeregistered, poolId [][32]byte) (event.Subscription, error) { 2621 2622 var poolIdRule []interface{} 2623 for _, poolIdItem := range poolId { 2624 poolIdRule = append(poolIdRule, poolIdItem) 2625 } 2626 2627 logs, sub, err := _BalancerVault.contract.WatchLogs(opts, "TokensDeregistered", poolIdRule) 2628 if err != nil { 2629 return nil, err 2630 } 2631 return event.NewSubscription(func(quit <-chan struct{}) error { 2632 defer sub.Unsubscribe() 2633 for { 2634 select { 2635 case log := <-logs: 2636 // New log arrived, parse the event and forward to the user 2637 event := new(BalancerVaultTokensDeregistered) 2638 if err := _BalancerVault.contract.UnpackLog(event, "TokensDeregistered", log); err != nil { 2639 return err 2640 } 2641 event.Raw = log 2642 2643 select { 2644 case sink <- event: 2645 case err := <-sub.Err(): 2646 return err 2647 case <-quit: 2648 return nil 2649 } 2650 case err := <-sub.Err(): 2651 return err 2652 case <-quit: 2653 return nil 2654 } 2655 } 2656 }), nil 2657 } 2658 2659 // ParseTokensDeregistered is a log parse operation binding the contract event 0x7dcdc6d02ef40c7c1a7046a011b058bd7f988fa14e20a66344f9d4e60657d610. 2660 // 2661 // Solidity: event TokensDeregistered(bytes32 indexed poolId, address[] tokens) 2662 func (_BalancerVault *BalancerVaultFilterer) ParseTokensDeregistered(log types.Log) (*BalancerVaultTokensDeregistered, error) { 2663 event := new(BalancerVaultTokensDeregistered) 2664 if err := _BalancerVault.contract.UnpackLog(event, "TokensDeregistered", log); err != nil { 2665 return nil, err 2666 } 2667 event.Raw = log 2668 return event, nil 2669 } 2670 2671 // BalancerVaultTokensRegisteredIterator is returned from FilterTokensRegistered and is used to iterate over the raw logs and unpacked data for TokensRegistered events raised by the BalancerVault contract. 2672 type BalancerVaultTokensRegisteredIterator struct { 2673 Event *BalancerVaultTokensRegistered // Event containing the contract specifics and raw log 2674 2675 contract *bind.BoundContract // Generic contract to use for unpacking event data 2676 event string // Event name to use for unpacking event data 2677 2678 logs chan types.Log // Log channel receiving the found contract events 2679 sub ethereum.Subscription // Subscription for errors, completion and termination 2680 done bool // Whether the subscription completed delivering logs 2681 fail error // Occurred error to stop iteration 2682 } 2683 2684 // Next advances the iterator to the subsequent event, returning whether there 2685 // are any more events found. In case of a retrieval or parsing error, false is 2686 // returned and Error() can be queried for the exact failure. 2687 func (it *BalancerVaultTokensRegisteredIterator) Next() bool { 2688 // If the iterator failed, stop iterating 2689 if it.fail != nil { 2690 return false 2691 } 2692 // If the iterator completed, deliver directly whatever's available 2693 if it.done { 2694 select { 2695 case log := <-it.logs: 2696 it.Event = new(BalancerVaultTokensRegistered) 2697 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2698 it.fail = err 2699 return false 2700 } 2701 it.Event.Raw = log 2702 return true 2703 2704 default: 2705 return false 2706 } 2707 } 2708 // Iterator still in progress, wait for either a data or an error event 2709 select { 2710 case log := <-it.logs: 2711 it.Event = new(BalancerVaultTokensRegistered) 2712 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2713 it.fail = err 2714 return false 2715 } 2716 it.Event.Raw = log 2717 return true 2718 2719 case err := <-it.sub.Err(): 2720 it.done = true 2721 it.fail = err 2722 return it.Next() 2723 } 2724 } 2725 2726 // Error returns any retrieval or parsing error occurred during filtering. 2727 func (it *BalancerVaultTokensRegisteredIterator) Error() error { 2728 return it.fail 2729 } 2730 2731 // Close terminates the iteration process, releasing any pending underlying 2732 // resources. 2733 func (it *BalancerVaultTokensRegisteredIterator) Close() error { 2734 it.sub.Unsubscribe() 2735 return nil 2736 } 2737 2738 // BalancerVaultTokensRegistered represents a TokensRegistered event raised by the BalancerVault contract. 2739 type BalancerVaultTokensRegistered struct { 2740 PoolId [32]byte 2741 Tokens []common.Address 2742 AssetManagers []common.Address 2743 Raw types.Log // Blockchain specific contextual infos 2744 } 2745 2746 // FilterTokensRegistered is a free log retrieval operation binding the contract event 0xf5847d3f2197b16cdcd2098ec95d0905cd1abdaf415f07bb7cef2bba8ac5dec4. 2747 // 2748 // Solidity: event TokensRegistered(bytes32 indexed poolId, address[] tokens, address[] assetManagers) 2749 func (_BalancerVault *BalancerVaultFilterer) FilterTokensRegistered(opts *bind.FilterOpts, poolId [][32]byte) (*BalancerVaultTokensRegisteredIterator, error) { 2750 2751 var poolIdRule []interface{} 2752 for _, poolIdItem := range poolId { 2753 poolIdRule = append(poolIdRule, poolIdItem) 2754 } 2755 2756 logs, sub, err := _BalancerVault.contract.FilterLogs(opts, "TokensRegistered", poolIdRule) 2757 if err != nil { 2758 return nil, err 2759 } 2760 return &BalancerVaultTokensRegisteredIterator{contract: _BalancerVault.contract, event: "TokensRegistered", logs: logs, sub: sub}, nil 2761 } 2762 2763 // WatchTokensRegistered is a free log subscription operation binding the contract event 0xf5847d3f2197b16cdcd2098ec95d0905cd1abdaf415f07bb7cef2bba8ac5dec4. 2764 // 2765 // Solidity: event TokensRegistered(bytes32 indexed poolId, address[] tokens, address[] assetManagers) 2766 func (_BalancerVault *BalancerVaultFilterer) WatchTokensRegistered(opts *bind.WatchOpts, sink chan<- *BalancerVaultTokensRegistered, poolId [][32]byte) (event.Subscription, error) { 2767 2768 var poolIdRule []interface{} 2769 for _, poolIdItem := range poolId { 2770 poolIdRule = append(poolIdRule, poolIdItem) 2771 } 2772 2773 logs, sub, err := _BalancerVault.contract.WatchLogs(opts, "TokensRegistered", poolIdRule) 2774 if err != nil { 2775 return nil, err 2776 } 2777 return event.NewSubscription(func(quit <-chan struct{}) error { 2778 defer sub.Unsubscribe() 2779 for { 2780 select { 2781 case log := <-logs: 2782 // New log arrived, parse the event and forward to the user 2783 event := new(BalancerVaultTokensRegistered) 2784 if err := _BalancerVault.contract.UnpackLog(event, "TokensRegistered", log); err != nil { 2785 return err 2786 } 2787 event.Raw = log 2788 2789 select { 2790 case sink <- event: 2791 case err := <-sub.Err(): 2792 return err 2793 case <-quit: 2794 return nil 2795 } 2796 case err := <-sub.Err(): 2797 return err 2798 case <-quit: 2799 return nil 2800 } 2801 } 2802 }), nil 2803 } 2804 2805 // ParseTokensRegistered is a log parse operation binding the contract event 0xf5847d3f2197b16cdcd2098ec95d0905cd1abdaf415f07bb7cef2bba8ac5dec4. 2806 // 2807 // Solidity: event TokensRegistered(bytes32 indexed poolId, address[] tokens, address[] assetManagers) 2808 func (_BalancerVault *BalancerVaultFilterer) ParseTokensRegistered(log types.Log) (*BalancerVaultTokensRegistered, error) { 2809 event := new(BalancerVaultTokensRegistered) 2810 if err := _BalancerVault.contract.UnpackLog(event, "TokensRegistered", log); err != nil { 2811 return nil, err 2812 } 2813 event.Raw = log 2814 return event, nil 2815 }