contracts

package
v0.4.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 14, 2023 License: LGPL-3.0 Imports: 26 Imported by: 0

Documentation

Overview

Package contracts is for go bindings generated from Solidity contracts as well as some utility functions for working with the contracts.

Index

Constants

View Source
const (
	MaxNewSwapETHGas   = 50639
	MaxNewSwapTokenGas = 87369
	MaxSetReadyGas     = 32054
	MaxClaimETHGas     = 43349
	MaxClaimTokenGas   = 48416
	MaxRefundETHGas    = 43132
	MaxRefundTokenGas  = 48327
	MaxTokenApproveGas = 47000 // 46223 with our contract
)

Gas prices for our operations. Most of these are set by the highest value we ever see in a test, so you would need to adjust upwards a little to use as a gas limit. We use these values to estimate minimum required balances.

View Source
const (
	StageInvalid byte = iota
	StagePending
	StageReady
	StageCompleted
)

Swap stage values that match the names and indexes of the Stage enum in the SwapCreator contract

Variables

View Source
var (
	// SwapCreatorParsedABI is the parsed SwapCreator ABI. We can skip the error check,
	// as it can only fail if abigen generates JSON bindings that golang can't parse, in
	// which case it will be nil we'll see panics when vetting the binaries.
	SwapCreatorParsedABI, _ = SwapCreatorMetaData.GetAbi()

	NewSwapFunctionSignature = SwapCreatorParsedABI.Methods["newSwap"].Sig //nolint:revive
	ReadyEventSignature      = SwapCreatorParsedABI.Events["Ready"].Sig    //nolint:revive
	ClaimedEventSignature    = SwapCreatorParsedABI.Events["Claimed"].Sig  //nolint:revive
	RefundedEventSignature   = SwapCreatorParsedABI.Events["Refunded"].Sig //nolint:revive
)
View Source
var AggregatorV3InterfaceABI = AggregatorV3InterfaceMetaData.ABI

AggregatorV3InterfaceABI is the input ABI used to generate the binding from. Deprecated: Use AggregatorV3InterfaceMetaData.ABI instead.

View Source
var AggregatorV3InterfaceMetaData = &bind.MetaData{
	ABI: "[{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"description\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint80\",\"name\":\"_roundId\",\"type\":\"uint80\"}],\"name\":\"getRoundData\",\"outputs\":[{\"internalType\":\"uint80\",\"name\":\"roundId\",\"type\":\"uint80\"},{\"internalType\":\"int256\",\"name\":\"answer\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"startedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"updatedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint80\",\"name\":\"answeredInRound\",\"type\":\"uint80\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestRoundData\",\"outputs\":[{\"internalType\":\"uint80\",\"name\":\"roundId\",\"type\":\"uint80\"},{\"internalType\":\"int256\",\"name\":\"answer\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"startedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"updatedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint80\",\"name\":\"answeredInRound\",\"type\":\"uint80\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]",
}

AggregatorV3InterfaceMetaData contains all meta data concerning the AggregatorV3Interface contract.

View Source
var IERC20ABI = IERC20MetaData.ABI

IERC20ABI is the input ABI used to generate the binding from. Deprecated: Use IERC20MetaData.ABI instead.

View Source
var IERC20MetaData = &bind.MetaData{
	ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]",
}

IERC20MetaData contains all meta data concerning the IERC20 contract.

View Source
var SwapCreatorABI = SwapCreatorMetaData.ABI

SwapCreatorABI is the input ABI used to generate the binding from. Deprecated: Use SwapCreatorMetaData.ABI instead.

View Source
var SwapCreatorBin = SwapCreatorMetaData.Bin

SwapCreatorBin is the compiled bytecode used for deploying new contracts. Deprecated: Use SwapCreatorMetaData.Bin instead.

View Source
var SwapCreatorMetaData = &bind.MetaData{
	ABI: "[{\"inputs\":[],\"name\":\"InvalidClaimer\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidContractAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidRelayerAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSecret\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSignature\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSwap\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSwapKey\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidTimeout\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidValue\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotTimeToRefund\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlySwapClaimer\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlySwapOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SwapAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SwapCompleted\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SwapNotPending\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooEarlyToClaim\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooLateToClaim\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroValue\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"swapID\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"Claimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"swapID\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"claimKey\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"refundKey\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timeout1\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timeout2\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"New\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"swapID\",\"type\":\"bytes32\"}],\"name\":\"Ready\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"swapID\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"Refunded\",\"type\":\"event\"},{\"inputs\":[{\"components\":[{\"internalType\":\"addresspayable\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"addresspayable\",\"name\":\"claimer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"claimCommitment\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"refundCommitment\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timeout1\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timeout2\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"internalType\":\"structSwapCreator.Swap\",\"name\":\"_swap\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"_secret\",\"type\":\"bytes32\"}],\"name\":\"claim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"addresspayable\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"addresspayable\",\"name\":\"claimer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"claimCommitment\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"refundCommitment\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timeout1\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timeout2\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"internalType\":\"structSwapCreator.Swap\",\"name\":\"swap\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"relayerHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"swapCreator\",\"type\":\"address\"}],\"internalType\":\"structSwapCreator.RelaySwap\",\"name\":\"_relaySwap\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"_secret\",\"type\":\"bytes32\"},{\"internalType\":\"addresspayable\",\"name\":\"_relayer\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"_salt\",\"type\":\"uint32\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"claimRelayer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"scalar\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"qKeccak\",\"type\":\"uint256\"}],\"name\":\"mulVerify\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_claimCommitment\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_refundCommitment\",\"type\":\"bytes32\"},{\"internalType\":\"addresspayable\",\"name\":\"_claimer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_timeoutDuration1\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_timeoutDuration2\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"}],\"name\":\"newSwap\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"addresspayable\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"addresspayable\",\"name\":\"claimer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"claimCommitment\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"refundCommitment\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timeout1\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timeout2\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"internalType\":\"structSwapCreator.Swap\",\"name\":\"_swap\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"_secret\",\"type\":\"bytes32\"}],\"name\":\"refund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"addresspayable\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"addresspayable\",\"name\":\"claimer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"claimCommitment\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"refundCommitment\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"timeout1\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timeout2\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"internalType\":\"structSwapCreator.Swap\",\"name\":\"_swap\",\"type\":\"tuple\"}],\"name\":\"setReady\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"swaps\",\"outputs\":[{\"internalType\":\"enumSwapCreator.Stage\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]",
	Bin: "0x608060405234801561000f575f80fd5b506113fc8061001d5f395ff3fe60806040526004361061006e575f3560e01c8063b32d1b4f1161004c578063b32d1b4f146100d1578063c41e46cf14610105578063eb84e7f214610126578063fcaf229c14610161575f80fd5b80631e6c5acc146100725780635cb969161461009357806387065c49146100b2575b5f80fd5b34801561007d575f80fd5b5061009161008c366004611040565b610180565b005b34801561009e575f80fd5b506100916100ad366004611040565b610362565b3480156100bd575f80fd5b506100916100cc36600461108e565b610425565b3480156100dc575f80fd5b506100f06100eb366004611146565b610688565b60405190151581526020015b60405180910390f35b610118610113366004611166565b610754565b6040519081526020016100fc565b348015610131575f80fd5b506101546101403660046111d2565b5f6020819052908152604090205460ff1681565b6040516100fc91906111fd565b34801561016c575f80fd5b5061009161017b366004611223565b6109cc565b5f8260405160200161019291906112ad565b60408051601f1981840301815291815281516020928301205f818152928390529082205490925060ff16908160038111156101cf576101cf6111e9565b036101ed57604051631115766760e01b815260040160405180910390fd5b6003816003811115610201576102016111e9565b0361021f5760405163066916a960e01b815260040160405180910390fd5b83516001600160a01b031633146102495760405163148ca24360e11b815260040160405180910390fd5b8360a001514210801561027a5750836080015142118061027a57506002816003811115610278576102786111e9565b145b15610298576040516332a1860f60e11b815260040160405180910390fd5b6102a6838560600151610aa7565b604051839083907e7c875846b687732a7579c19bb1dade66cd14e9f4f809565e2b2b5e76c72b4f905f90a35f828152602081905260409020805460ff1916600317905560c08401516001600160a01b031661033b57835160e08501516040516001600160a01b039092169181156108fc0291905f818181858888f19350505050158015610335573d5f803e3d5ffd5b5061035c565b835160e085015160c086015161035c926001600160a01b0390911691610ace565b50505050565b81602001516001600160a01b0316336001600160a01b03161461039857604051633471640960e11b815260040160405180910390fd5b6103a28282610b31565b60c08201516001600160a01b03166103f75781602001516001600160a01b03166108fc8360e0015190811502906040515f60405180830381858888f193505050501580156103f2573d5f803e3d5ffd5b505050565b61042182602001518360e001518460c001516001600160a01b0316610ace9092919063ffffffff16565b5050565b5f60018860405160200161043991906112bc565b60408051601f1981840301815282825280516020918201205f84529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610494573d5f803e3d5ffd5b505050602060405103519050875f0151602001516001600160a01b0316816001600160a01b0316146104d957604051638baa579f60e01b815260040160405180910390fd5b87606001516001600160a01b0316306001600160a01b03161461050f5760405163a710429d60e01b815260040160405180910390fd5b60408089015190516bffffffffffffffffffffffff19606089901b1660208201526001600160e01b031960e088901b166034820152603801604051602081830303815290604052805190602001201461057b5760405163fe16c3c560e01b815260040160405180910390fd5b87516105879088610b31565b875160c001516001600160a01b031661062757875f0151602001516001600160a01b03166108fc89602001518a5f015160e001516105c59190611312565b6040518115909202915f818181858888f193505050501580156105ea573d5f803e3d5ffd5b5060208801516040516001600160a01b0388169180156108fc02915f818181858888f19350505050158015610621573d5f803e3d5ffd5b5061067e565b8751602080820151908a015160e09092015161065c9261064691611312565b8a5160c001516001600160a01b03169190610ace565b6020880151885160c0015161067e916001600160a01b03909116908890610ace565b5050505050505050565b5f80600181601b7f79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f8179870014551231950b75fc4402da1732fc9bebe197f79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f817988909604080515f8152602081018083529590955260ff909316928401929092526060830152608082015260a0016020604051602081039080840390855afa158015610731573d5f803e3d5ffd5b5050604051601f1901516001600160a01b03858116911614925050505b92915050565b5f825f0361077557604051637c946ed760e01b815260040160405180910390fd5b6001600160a01b0384166107a8573483146107a357604051632a9ffab760e21b815260040160405180910390fd5b6107bd565b6107bd6001600160a01b038516333086610c8e565b8815806107c8575087155b156107e657604051631bc61bed60e11b815260040160405180910390fd5b6001600160a01b03871661080c576040516208978560e71b815260040160405180910390fd5b851580610817575084155b1561083557604051631ffb86f160e21b815260040160405180910390fd5b5f604051806101200160405280336001600160a01b03168152602001896001600160a01b031681526020018b81526020018a815260200188426108789190611325565b8152602001876108888a42611325565b6108929190611325565b8152602001866001600160a01b031681526020018581526020018481525090505f816040516020016108c491906112ad565b60408051601f19818403018152919052805160209091012090505f808281526020819052604090205460ff166003811115610901576109016111e9565b1461091f576040516339a2986760e11b815260040160405180910390fd5b7f91446ce035ac29998b5473504609a5ef5e961005daba4630a1684b63be848f56818c8c85608001518660a001518760c001518860e0015160405161099e979695949392919096875260208701959095526040860193909352606085019190915260808401526001600160a01b031660a083015260c082015260e00190565b60405180910390a15f818152602081905260409020805460ff191660011790559a9950505050505050505050565b5f816040516020016109de91906112ad565b60408051601f198184030181529190528051602090910120905060015f8281526020819052604090205460ff166003811115610a1c57610a1c6111e9565b14610a3a57604051630fe0fb5160e11b815260040160405180910390fd5b81516001600160a01b03163314610a645760405163148ca24360e11b815260040160405180910390fd5b5f81815260208190526040808220805460ff191660021790555182917f5fc23b25552757626e08b316cc2387ad1bc70ee1594af7204db4ce0c39f5d15f91a25050565b610ab18282610688565b6104215760405163abab6bd760e01b815260040160405180910390fd5b6040516001600160a01b0383166024820152604481018290526103f290849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610cc6565b5f82604051602001610b4391906112ad565b60408051601f1981840301815291815281516020928301205f818152928390529082205490925060ff1690816003811115610b8057610b806111e9565b03610b9e57604051631115766760e01b815260040160405180910390fd5b6003816003811115610bb257610bb26111e9565b03610bd05760405163066916a960e01b815260040160405180910390fd5b836080015142108015610bf557506002816003811115610bf257610bf26111e9565b14155b15610c135760405163d71d60b560e01b815260040160405180910390fd5b8360a001514210610c375760405163497df9d160e01b815260040160405180910390fd5b610c45838560400151610aa7565b604051839083907f38d6042dbdae8e73a7f6afbabd3fbe0873f9f5ed3cd71294591c3908c2e65fee905f90a3505f908152602081905260409020805460ff191660031790555050565b6040516001600160a01b038085166024830152831660448201526064810182905261035c9085906323b872dd60e01b90608401610afa565b5f610d1a826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610d9e9092919063ffffffff16565b905080515f1480610d3a575080806020019051810190610d3a9190611338565b6103f25760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084015b60405180910390fd5b6060610dac84845f85610db4565b949350505050565b606082471015610e155760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610d95565b5f80866001600160a01b03168587604051610e309190611379565b5f6040518083038185875af1925050503d805f8114610e6a576040519150601f19603f3d011682016040523d82523d5f602084013e610e6f565b606091505b5091509150610e8087838387610e8b565b979650505050505050565b60608315610ef95782515f03610ef2576001600160a01b0385163b610ef25760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610d95565b5081610dac565b610dac8383815115610f0e5781518083602001fd5b8060405162461bcd60e51b8152600401610d959190611394565b604051610120810167ffffffffffffffff81118282101715610f5857634e487b7160e01b5f52604160045260245ffd5b60405290565b6040516080810167ffffffffffffffff81118282101715610f5857634e487b7160e01b5f52604160045260245ffd5b6001600160a01b0381168114610fa1575f80fd5b50565b8035610faf81610f8d565b919050565b5f6101208284031215610fc5575f80fd5b610fcd610f28565b9050610fd882610fa4565b8152610fe660208301610fa4565b602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015261101f60c08301610fa4565b60c082015260e082013560e082015261010080830135818301525092915050565b5f806101408385031215611052575f80fd5b61105c8484610fb4565b94610120939093013593505050565b803563ffffffff81168114610faf575f80fd5b803560ff81168114610faf575f80fd5b5f805f805f805f8789036102408112156110a6575f80fd5b610180808212156110b5575f80fd5b6110bd610f5e565b91506110c98b8b610fb4565b82526101208a013560208301526101408a013560408301526101608a01356110f081610f8d565b6060830152909750880135955061110a6101a08901610fa4565b94506111196101c0890161106b565b93506111286101e0890161107e565b92506102008801359150610220880135905092959891949750929550565b5f8060408385031215611157575f80fd5b50508035926020909101359150565b5f805f805f805f80610100898b03121561117e575f80fd5b8835975060208901359650604089013561119781610f8d565b9550606089013594506080890135935060a08901356111b581610f8d565b979a969950949793969295929450505060c08201359160e0013590565b5f602082840312156111e2575f80fd5b5035919050565b634e487b7160e01b5f52602160045260245ffd5b602081016004831061121d57634e487b7160e01b5f52602160045260245ffd5b91905290565b5f6101208284031215611234575f80fd5b61123e8383610fb4565b9392505050565b60018060a01b0380825116835280602083015116602084015260408201516040840152606082015160608401526080820151608084015260a082015160a08401528060c08301511660c08401525060e081015160e08301526101008082015181840152505050565b610120810161074e8284611245565b5f610180820190506112cf828451611245565b602083015161012083015260408301516101408301526060909201516001600160a01b03166101609091015290565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561074e5761074e6112fe565b8082018082111561074e5761074e6112fe565b5f60208284031215611348575f80fd5b8151801515811461123e575f80fd5b5f5b83811015611371578181015183820152602001611359565b50505f910152565b5f825161138a818460208701611357565b9190910192915050565b602081525f82518060208401526113b2816040850160208701611357565b601f01601f1916919091016040019291505056fea264697066735822122058723d6f94b6ae0fd67bfece90eee43db933ef07d0eecef13276b9cf2f7a7b7e64736f6c63430008140033",
}

SwapCreatorMetaData contains all meta data concerning the SwapCreator contract.

View Source
var TestERC20ABI = TestERC20MetaData.ABI

TestERC20ABI is the input ABI used to generate the binding from. Deprecated: Use TestERC20MetaData.ABI instead.

View Source
var TestERC20Bin = TestERC20MetaData.Bin

TestERC20Bin is the compiled bytecode used for deploying new contracts. Deprecated: Use TestERC20MetaData.Bin instead.

View Source
var TestERC20MetaData = &bind.MetaData{
	ABI: "[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"numDecimals\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"initialAccount\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"initialBalance\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approveInternal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferInternal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}]",
	Bin: "0x60a0604052604051620011d8380380620011d88339810160408190526200002691620001ed565b8484600362000036838262000320565b50600462000045828262000320565b50505060ff83166080526200005b828262000066565b50505050506200040e565b6001600160a01b038216620000c15760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060025f828254620000d49190620003e8565b90915550506001600160a01b0382165f81815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b505050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f83011262000153575f80fd5b81516001600160401b03808211156200017057620001706200012f565b604051601f8301601f19908116603f011681019082821181831017156200019b576200019b6200012f565b81604052838152602092508683858801011115620001b7575f80fd5b5f91505b83821015620001da5785820183015181830184015290820190620001bb565b5f93810190920192909252949350505050565b5f805f805f60a0868803121562000202575f80fd5b85516001600160401b038082111562000219575f80fd5b6200022789838a0162000143565b965060208801519150808211156200023d575f80fd5b506200024c8882890162000143565b945050604086015160ff8116811462000263575f80fd5b60608701519093506001600160a01b038116811462000280575f80fd5b80925050608086015190509295509295909350565b600181811c90821680620002aa57607f821691505b602082108103620002c957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200012a575f81815260208120601f850160051c81016020861015620002f75750805b601f850160051c820191505b81811015620003185782815560010162000303565b505050505050565b81516001600160401b038111156200033c576200033c6200012f565b62000354816200034d845462000295565b84620002cf565b602080601f8311600181146200038a575f8415620003725750858301515b5f19600386901b1c1916600185901b17855562000318565b5f85815260208120601f198616915b82811015620003ba5788860151825594840194600190910190840162000399565b5085821015620003d857878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156200040857634e487b7160e01b5f52601160045260245ffd5b92915050565b608051610dab6200042d5f395f818160f7015261022d0152610dab5ff3fe6080604052600436106100e7575f3560e01c806340c10f19116100875780639dc29fac116100575780639dc29fac146102f7578063a457c2d714610316578063a9059cbb14610335578063dd62ed3e14610354575f80fd5b806340c10f191461027657806356189cb41461029057806370a08231146102af57806395d89b41146102e3575f80fd5b8063222f5be0116100c2578063222f5be0146101dc57806323b872dd146101fb578063313ce5671461021a5780633950935114610257575f80fd5b806306fdde0314610165578063095ea7b31461018f57806318160ddd146101be575f80fd5b366101615761012e3361011e60ff7f000000000000000000000000000000000000000000000000000000000000000016600a610bf0565b610129906064610c02565b610373565b341561015f5760405133903480156108fc02915f818181858888f1935050505015801561015d573d5f803e3d5ffd5b505b005b5f80fd5b348015610170575f80fd5b50610179610381565b6040516101869190610c19565b60405180910390f35b34801561019a575f80fd5b506101ae6101a9366004610c7f565b610411565b6040519015158152602001610186565b3480156101c9575f80fd5b506002545b604051908152602001610186565b3480156101e7575f80fd5b5061015f6101f6366004610ca7565b6104ad565b348015610206575f80fd5b506101ae610215366004610ca7565b6104bd565b348015610225575f80fd5b5060405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610186565b348015610262575f80fd5b506101ae610271366004610c7f565b6104e0565b348015610281575f80fd5b5061015f610129366004610c7f565b34801561029b575f80fd5b5061015f6102aa366004610ca7565b610501565b3480156102ba575f80fd5b506101ce6102c9366004610ce0565b6001600160a01b03165f9081526020819052604090205490565b3480156102ee575f80fd5b5061017961050c565b348015610302575f80fd5b5061015f610311366004610c7f565b61051b565b348015610321575f80fd5b506101ae610330366004610c7f565b610525565b348015610340575f80fd5b506101ae61034f366004610c7f565b61059f565b34801561035f575f80fd5b506101ce61036e366004610cf9565b6105ac565b61037d82826105d6565b5050565b60606003805461039090610d2a565b80601f01602080910402602001604051908101604052809291908181526020018280546103bc90610d2a565b80156104075780601f106103de57610100808354040283529160200191610407565b820191905f5260205f20905b8154815290600101906020018083116103ea57829003601f168201915b5050505050905090565b5f33821580610427575061042581856105ac565b155b6104965760405162461bcd60e51b815260206004820152603560248201527f617070726f766520616c6c6f77616e6365206d7573742062652073657420746f604482015274207a65726f206265666f7265207570646174696e6760581b60648201526084015b60405180910390fd5b6104a1818585610693565b60019150505b92915050565b6104b88383836107b6565b505050565b5f336104ca85828561095a565b6104d58585856107b6565b506001949350505050565b5f336104a18185856104f283836105ac565b6104fc9190610d62565b610693565b6104b8838383610693565b60606004805461039090610d2a565b61037d82826109cc565b5f338161053282866105ac565b9050838110156105925760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161048d565b6104d58286868403610693565b5f336104a18185856107b6565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6001600160a01b03821661062c5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161048d565b8060025f82825461063d9190610d62565b90915550506001600160a01b0382165f81815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6001600160a01b0383166106f55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161048d565b6001600160a01b0382166107565760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161048d565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661081a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161048d565b6001600160a01b03821661087c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161048d565b6001600160a01b0383165f90815260208190526040902054818110156108f35760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161048d565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35b50505050565b5f61096584846105ac565b90505f19811461095457818110156109bf5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161048d565b6109548484848403610693565b6001600160a01b038216610a2c5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161048d565b6001600160a01b0382165f9081526020819052604090205481811015610a9f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161048d565b6001600160a01b0383165f818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115610b4a57815f1904821115610b3057610b30610afc565b80851615610b3d57918102915b93841c9390800290610b15565b509250929050565b5f82610b60575060016104a7565b81610b6c57505f6104a7565b8160018114610b825760028114610b8c57610ba8565b60019150506104a7565b60ff841115610b9d57610b9d610afc565b50506001821b6104a7565b5060208310610133831016604e8410600b8410161715610bcb575081810a6104a7565b610bd58383610b10565b805f1904821115610be857610be8610afc565b029392505050565b5f610bfb8383610b52565b9392505050565b80820281158282048414176104a7576104a7610afc565b5f6020808352835180828501525f5b81811015610c4457858101830151858201604001528201610c28565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610c7a575f80fd5b919050565b5f8060408385031215610c90575f80fd5b610c9983610c64565b946020939093013593505050565b5f805f60608486031215610cb9575f80fd5b610cc284610c64565b9250610cd060208501610c64565b9150604084013590509250925092565b5f60208284031215610cf0575f80fd5b610bfb82610c64565b5f8060408385031215610d0a575f80fd5b610d1383610c64565b9150610d2160208401610c64565b90509250929050565b600181811c90821680610d3e57607f821691505b602082108103610d5c57634e487b7160e01b5f52602260045260245ffd5b50919050565b808201808211156104a7576104a7610afc56fea2646970667358221220a577efb03dcf867e120b05615e83f659554cce90a41c538ab393917b26dca87c64736f6c63430008140033",
}

TestERC20MetaData contains all meta data concerning the TestERC20 contract.

Functions

func CheckIfLogIDMatches

func CheckIfLogIDMatches(log ethtypes.Log, eventTopic, id [32]byte) (bool, error)

CheckIfLogIDMatches returns true if the swap ID in the log matches the given ID, false otherwise.

func CheckSwapCreatorContractCode

func CheckSwapCreatorContractCode(
	ctx context.Context,
	ec *ethclient.Client,
	contractAddr ethcommon.Address,
) error

CheckSwapCreatorContractCode checks that the bytecode at the given address matches the SwapCreator.sol contract.

func GenerateNewSwapNonce added in v0.2.1

func GenerateNewSwapNonce() *big.Int

GenerateNewSwapNonce generates a random nonce value for use with NewSwap transactions.

func GetIDFromLog

func GetIDFromLog(log *ethtypes.Log) ([32]byte, error)

GetIDFromLog returns the swap ID from a New log.

func GetMockDAI added in v0.3.0

func GetMockDAI(t *testing.T, ec *ethclient.Client, pk *ecdsa.PrivateKey) *coins.ERC20TokenInfo

GetMockDAI returns the ERC20TokenInfo of a dev token configured with similar parameters to the DAI stablecoin.

func GetMockTether added in v0.3.0

func GetMockTether(t *testing.T, ec *ethclient.Client, pk *ecdsa.PrivateKey) *coins.ERC20TokenInfo

GetMockTether returns the ERC20TokenInfo of a dev token configured with similar parameters to Tether.

func GetSecretFromLog

func GetSecretFromLog(log *ethtypes.Log, eventTopic [32]byte) (*mcrypto.PrivateSpendKey, error)

GetSecretFromLog returns the secret from a Claimed or Refunded log

func GetTimeoutsFromLog

func GetTimeoutsFromLog(log *ethtypes.Log) (*big.Int, *big.Int, error)

GetTimeoutsFromLog returns the timeouts from a New event.

func StageToString

func StageToString(stage byte) string

StageToString converts a contract Stage enum value to a string

Types

type AggregatorV3Interface

type AggregatorV3Interface struct {
	AggregatorV3InterfaceCaller     // Read-only binding to the contract
	AggregatorV3InterfaceTransactor // Write-only binding to the contract
	AggregatorV3InterfaceFilterer   // Log filterer for contract events
}

AggregatorV3Interface is an auto generated Go binding around an Ethereum contract.

func NewAggregatorV3Interface

func NewAggregatorV3Interface(address common.Address, backend bind.ContractBackend) (*AggregatorV3Interface, error)

NewAggregatorV3Interface creates a new instance of AggregatorV3Interface, bound to a specific deployed contract.

type AggregatorV3InterfaceCaller

type AggregatorV3InterfaceCaller struct {
	// contains filtered or unexported fields
}

AggregatorV3InterfaceCaller is an auto generated read-only Go binding around an Ethereum contract.

func NewAggregatorV3InterfaceCaller

func NewAggregatorV3InterfaceCaller(address common.Address, caller bind.ContractCaller) (*AggregatorV3InterfaceCaller, error)

NewAggregatorV3InterfaceCaller creates a new read-only instance of AggregatorV3Interface, bound to a specific deployed contract.

func (*AggregatorV3InterfaceCaller) Decimals

func (_AggregatorV3Interface *AggregatorV3InterfaceCaller) Decimals(opts *bind.CallOpts) (uint8, error)

Decimals is a free data retrieval call binding the contract method 0x313ce567.

Solidity: function decimals() view returns(uint8)

func (*AggregatorV3InterfaceCaller) Description

func (_AggregatorV3Interface *AggregatorV3InterfaceCaller) Description(opts *bind.CallOpts) (string, error)

Description is a free data retrieval call binding the contract method 0x7284e416.

Solidity: function description() view returns(string)

func (*AggregatorV3InterfaceCaller) GetRoundData

func (_AggregatorV3Interface *AggregatorV3InterfaceCaller) GetRoundData(opts *bind.CallOpts, _roundId *big.Int) (struct {
	RoundId         *big.Int
	Answer          *big.Int
	StartedAt       *big.Int
	UpdatedAt       *big.Int
	AnsweredInRound *big.Int
}, error)

GetRoundData is a free data retrieval call binding the contract method 0x9a6fc8f5.

Solidity: function getRoundData(uint80 _roundId) view returns(uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound)

func (*AggregatorV3InterfaceCaller) LatestRoundData

func (_AggregatorV3Interface *AggregatorV3InterfaceCaller) LatestRoundData(opts *bind.CallOpts) (struct {
	RoundId         *big.Int
	Answer          *big.Int
	StartedAt       *big.Int
	UpdatedAt       *big.Int
	AnsweredInRound *big.Int
}, error)

LatestRoundData is a free data retrieval call binding the contract method 0xfeaf968c.

Solidity: function latestRoundData() view returns(uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound)

func (*AggregatorV3InterfaceCaller) Version

func (_AggregatorV3Interface *AggregatorV3InterfaceCaller) Version(opts *bind.CallOpts) (*big.Int, error)

Version is a free data retrieval call binding the contract method 0x54fd4d50.

Solidity: function version() view returns(uint256)

type AggregatorV3InterfaceCallerRaw

type AggregatorV3InterfaceCallerRaw struct {
	Contract *AggregatorV3InterfaceCaller // Generic read-only contract binding to access the raw methods on
}

AggregatorV3InterfaceCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.

func (*AggregatorV3InterfaceCallerRaw) Call

func (_AggregatorV3Interface *AggregatorV3InterfaceCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

Call invokes the (constant) contract method with params as input values and sets the output to result. The result type might be a single field for simple returns, a slice of interfaces for anonymous returns and a struct for named returns.

type AggregatorV3InterfaceCallerSession

type AggregatorV3InterfaceCallerSession struct {
	Contract *AggregatorV3InterfaceCaller // Generic contract caller binding to set the session for
	CallOpts bind.CallOpts                // Call options to use throughout this session
}

AggregatorV3InterfaceCallerSession is an auto generated read-only Go binding around an Ethereum contract, with pre-set call options.

func (*AggregatorV3InterfaceCallerSession) Decimals

func (_AggregatorV3Interface *AggregatorV3InterfaceCallerSession) Decimals() (uint8, error)

Decimals is a free data retrieval call binding the contract method 0x313ce567.

Solidity: function decimals() view returns(uint8)

func (*AggregatorV3InterfaceCallerSession) Description

func (_AggregatorV3Interface *AggregatorV3InterfaceCallerSession) Description() (string, error)

Description is a free data retrieval call binding the contract method 0x7284e416.

Solidity: function description() view returns(string)

func (*AggregatorV3InterfaceCallerSession) GetRoundData

func (_AggregatorV3Interface *AggregatorV3InterfaceCallerSession) GetRoundData(_roundId *big.Int) (struct {
	RoundId         *big.Int
	Answer          *big.Int
	StartedAt       *big.Int
	UpdatedAt       *big.Int
	AnsweredInRound *big.Int
}, error)

GetRoundData is a free data retrieval call binding the contract method 0x9a6fc8f5.

Solidity: function getRoundData(uint80 _roundId) view returns(uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound)

func (*AggregatorV3InterfaceCallerSession) LatestRoundData

func (_AggregatorV3Interface *AggregatorV3InterfaceCallerSession) LatestRoundData() (struct {
	RoundId         *big.Int
	Answer          *big.Int
	StartedAt       *big.Int
	UpdatedAt       *big.Int
	AnsweredInRound *big.Int
}, error)

LatestRoundData is a free data retrieval call binding the contract method 0xfeaf968c.

Solidity: function latestRoundData() view returns(uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound)

func (*AggregatorV3InterfaceCallerSession) Version

func (_AggregatorV3Interface *AggregatorV3InterfaceCallerSession) Version() (*big.Int, error)

Version is a free data retrieval call binding the contract method 0x54fd4d50.

Solidity: function version() view returns(uint256)

type AggregatorV3InterfaceFilterer

type AggregatorV3InterfaceFilterer struct {
	// contains filtered or unexported fields
}

AggregatorV3InterfaceFilterer is an auto generated log filtering Go binding around an Ethereum contract events.

func NewAggregatorV3InterfaceFilterer

func NewAggregatorV3InterfaceFilterer(address common.Address, filterer bind.ContractFilterer) (*AggregatorV3InterfaceFilterer, error)

NewAggregatorV3InterfaceFilterer creates a new log filterer instance of AggregatorV3Interface, bound to a specific deployed contract.

type AggregatorV3InterfaceRaw

type AggregatorV3InterfaceRaw struct {
	Contract *AggregatorV3Interface // Generic contract binding to access the raw methods on
}

AggregatorV3InterfaceRaw is an auto generated low-level Go binding around an Ethereum contract.

func (*AggregatorV3InterfaceRaw) Call

func (_AggregatorV3Interface *AggregatorV3InterfaceRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

Call invokes the (constant) contract method with params as input values and sets the output to result. The result type might be a single field for simple returns, a slice of interfaces for anonymous returns and a struct for named returns.

func (*AggregatorV3InterfaceRaw) Transact

func (_AggregatorV3Interface *AggregatorV3InterfaceRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*AggregatorV3InterfaceRaw) Transfer

func (_AggregatorV3Interface *AggregatorV3InterfaceRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type AggregatorV3InterfaceSession

type AggregatorV3InterfaceSession struct {
	Contract     *AggregatorV3Interface // Generic contract binding to set the session for
	CallOpts     bind.CallOpts          // Call options to use throughout this session
	TransactOpts bind.TransactOpts      // Transaction auth options to use throughout this session
}

AggregatorV3InterfaceSession is an auto generated Go binding around an Ethereum contract, with pre-set call and transact options.

func (*AggregatorV3InterfaceSession) Decimals

func (_AggregatorV3Interface *AggregatorV3InterfaceSession) Decimals() (uint8, error)

Decimals is a free data retrieval call binding the contract method 0x313ce567.

Solidity: function decimals() view returns(uint8)

func (*AggregatorV3InterfaceSession) Description

func (_AggregatorV3Interface *AggregatorV3InterfaceSession) Description() (string, error)

Description is a free data retrieval call binding the contract method 0x7284e416.

Solidity: function description() view returns(string)

func (*AggregatorV3InterfaceSession) GetRoundData

func (_AggregatorV3Interface *AggregatorV3InterfaceSession) GetRoundData(_roundId *big.Int) (struct {
	RoundId         *big.Int
	Answer          *big.Int
	StartedAt       *big.Int
	UpdatedAt       *big.Int
	AnsweredInRound *big.Int
}, error)

GetRoundData is a free data retrieval call binding the contract method 0x9a6fc8f5.

Solidity: function getRoundData(uint80 _roundId) view returns(uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound)

func (*AggregatorV3InterfaceSession) LatestRoundData

func (_AggregatorV3Interface *AggregatorV3InterfaceSession) LatestRoundData() (struct {
	RoundId         *big.Int
	Answer          *big.Int
	StartedAt       *big.Int
	UpdatedAt       *big.Int
	AnsweredInRound *big.Int
}, error)

LatestRoundData is a free data retrieval call binding the contract method 0xfeaf968c.

Solidity: function latestRoundData() view returns(uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound)

func (*AggregatorV3InterfaceSession) Version

func (_AggregatorV3Interface *AggregatorV3InterfaceSession) Version() (*big.Int, error)

Version is a free data retrieval call binding the contract method 0x54fd4d50.

Solidity: function version() view returns(uint256)

type AggregatorV3InterfaceTransactor

type AggregatorV3InterfaceTransactor struct {
	// contains filtered or unexported fields
}

AggregatorV3InterfaceTransactor is an auto generated write-only Go binding around an Ethereum contract.

func NewAggregatorV3InterfaceTransactor

func NewAggregatorV3InterfaceTransactor(address common.Address, transactor bind.ContractTransactor) (*AggregatorV3InterfaceTransactor, error)

NewAggregatorV3InterfaceTransactor creates a new write-only instance of AggregatorV3Interface, bound to a specific deployed contract.

type AggregatorV3InterfaceTransactorRaw

type AggregatorV3InterfaceTransactorRaw struct {
	Contract *AggregatorV3InterfaceTransactor // Generic write-only contract binding to access the raw methods on
}

AggregatorV3InterfaceTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.

func (*AggregatorV3InterfaceTransactorRaw) Transact

func (_AggregatorV3Interface *AggregatorV3InterfaceTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*AggregatorV3InterfaceTransactorRaw) Transfer

func (_AggregatorV3Interface *AggregatorV3InterfaceTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type AggregatorV3InterfaceTransactorSession

type AggregatorV3InterfaceTransactorSession struct {
	Contract     *AggregatorV3InterfaceTransactor // Generic contract transactor binding to set the session for
	TransactOpts bind.TransactOpts                // Transaction auth options to use throughout this session
}

AggregatorV3InterfaceTransactorSession is an auto generated write-only Go binding around an Ethereum contract, with pre-set transact options.

type IERC20

type IERC20 struct {
	IERC20Caller     // Read-only binding to the contract
	IERC20Transactor // Write-only binding to the contract
	IERC20Filterer   // Log filterer for contract events
}

IERC20 is an auto generated Go binding around an Ethereum contract.

func NewIERC20

func NewIERC20(address common.Address, backend bind.ContractBackend) (*IERC20, error)

NewIERC20 creates a new instance of IERC20, bound to a specific deployed contract.

type IERC20Approval

type IERC20Approval struct {
	Owner   common.Address
	Spender common.Address
	Value   *big.Int
	Raw     types.Log // Blockchain specific contextual infos
}

IERC20Approval represents a Approval event raised by the IERC20 contract.

type IERC20ApprovalIterator

type IERC20ApprovalIterator struct {
	Event *IERC20Approval // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

IERC20ApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the IERC20 contract.

func (*IERC20ApprovalIterator) Close

func (it *IERC20ApprovalIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*IERC20ApprovalIterator) Error

func (it *IERC20ApprovalIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*IERC20ApprovalIterator) Next

func (it *IERC20ApprovalIterator) Next() bool

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type IERC20Caller

type IERC20Caller struct {
	// contains filtered or unexported fields
}

IERC20Caller is an auto generated read-only Go binding around an Ethereum contract.

func NewIERC20Caller

func NewIERC20Caller(address common.Address, caller bind.ContractCaller) (*IERC20Caller, error)

NewIERC20Caller creates a new read-only instance of IERC20, bound to a specific deployed contract.

func (*IERC20Caller) Allowance

func (_IERC20 *IERC20Caller) Allowance(opts *bind.CallOpts, owner common.Address, spender common.Address) (*big.Int, error)

Allowance is a free data retrieval call binding the contract method 0xdd62ed3e.

Solidity: function allowance(address owner, address spender) view returns(uint256)

func (*IERC20Caller) BalanceOf

func (_IERC20 *IERC20Caller) BalanceOf(opts *bind.CallOpts, account common.Address) (*big.Int, error)

BalanceOf is a free data retrieval call binding the contract method 0x70a08231.

Solidity: function balanceOf(address account) view returns(uint256)

func (*IERC20Caller) Decimals

func (_IERC20 *IERC20Caller) Decimals(opts *bind.CallOpts) (uint8, error)

Decimals is a free data retrieval call binding the contract method 0x313ce567.

Solidity: function decimals() view returns(uint8)

func (*IERC20Caller) Name

func (_IERC20 *IERC20Caller) Name(opts *bind.CallOpts) (string, error)

Name is a free data retrieval call binding the contract method 0x06fdde03.

Solidity: function name() view returns(string)

func (*IERC20Caller) Symbol

func (_IERC20 *IERC20Caller) Symbol(opts *bind.CallOpts) (string, error)

Symbol is a free data retrieval call binding the contract method 0x95d89b41.

Solidity: function symbol() view returns(string)

func (*IERC20Caller) TotalSupply

func (_IERC20 *IERC20Caller) TotalSupply(opts *bind.CallOpts) (*big.Int, error)

TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.

Solidity: function totalSupply() view returns(uint256)

type IERC20CallerRaw

type IERC20CallerRaw struct {
	Contract *IERC20Caller // Generic read-only contract binding to access the raw methods on
}

IERC20CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.

func (*IERC20CallerRaw) Call

func (_IERC20 *IERC20CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

Call invokes the (constant) contract method with params as input values and sets the output to result. The result type might be a single field for simple returns, a slice of interfaces for anonymous returns and a struct for named returns.

type IERC20CallerSession

type IERC20CallerSession struct {
	Contract *IERC20Caller // Generic contract caller binding to set the session for
	CallOpts bind.CallOpts // Call options to use throughout this session
}

IERC20CallerSession is an auto generated read-only Go binding around an Ethereum contract, with pre-set call options.

func (*IERC20CallerSession) Allowance

func (_IERC20 *IERC20CallerSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error)

Allowance is a free data retrieval call binding the contract method 0xdd62ed3e.

Solidity: function allowance(address owner, address spender) view returns(uint256)

func (*IERC20CallerSession) BalanceOf

func (_IERC20 *IERC20CallerSession) BalanceOf(account common.Address) (*big.Int, error)

BalanceOf is a free data retrieval call binding the contract method 0x70a08231.

Solidity: function balanceOf(address account) view returns(uint256)

func (*IERC20CallerSession) Decimals

func (_IERC20 *IERC20CallerSession) Decimals() (uint8, error)

Decimals is a free data retrieval call binding the contract method 0x313ce567.

Solidity: function decimals() view returns(uint8)

func (*IERC20CallerSession) Name

func (_IERC20 *IERC20CallerSession) Name() (string, error)

Name is a free data retrieval call binding the contract method 0x06fdde03.

Solidity: function name() view returns(string)

func (*IERC20CallerSession) Symbol

func (_IERC20 *IERC20CallerSession) Symbol() (string, error)

Symbol is a free data retrieval call binding the contract method 0x95d89b41.

Solidity: function symbol() view returns(string)

func (*IERC20CallerSession) TotalSupply

func (_IERC20 *IERC20CallerSession) TotalSupply() (*big.Int, error)

TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.

Solidity: function totalSupply() view returns(uint256)

type IERC20Filterer

type IERC20Filterer struct {
	// contains filtered or unexported fields
}

IERC20Filterer is an auto generated log filtering Go binding around an Ethereum contract events.

func NewIERC20Filterer

func NewIERC20Filterer(address common.Address, filterer bind.ContractFilterer) (*IERC20Filterer, error)

NewIERC20Filterer creates a new log filterer instance of IERC20, bound to a specific deployed contract.

func (*IERC20Filterer) FilterApproval

func (_IERC20 *IERC20Filterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*IERC20ApprovalIterator, error)

FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.

Solidity: event Approval(address indexed owner, address indexed spender, uint256 value)

func (*IERC20Filterer) FilterTransfer

func (_IERC20 *IERC20Filterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*IERC20TransferIterator, error)

FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.

Solidity: event Transfer(address indexed from, address indexed to, uint256 value)

func (*IERC20Filterer) ParseApproval

func (_IERC20 *IERC20Filterer) ParseApproval(log types.Log) (*IERC20Approval, error)

ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.

Solidity: event Approval(address indexed owner, address indexed spender, uint256 value)

func (*IERC20Filterer) ParseTransfer

func (_IERC20 *IERC20Filterer) ParseTransfer(log types.Log) (*IERC20Transfer, error)

ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.

Solidity: event Transfer(address indexed from, address indexed to, uint256 value)

func (*IERC20Filterer) WatchApproval

func (_IERC20 *IERC20Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *IERC20Approval, owner []common.Address, spender []common.Address) (event.Subscription, error)

WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.

Solidity: event Approval(address indexed owner, address indexed spender, uint256 value)

func (*IERC20Filterer) WatchTransfer

func (_IERC20 *IERC20Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *IERC20Transfer, from []common.Address, to []common.Address) (event.Subscription, error)

WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.

Solidity: event Transfer(address indexed from, address indexed to, uint256 value)

type IERC20Raw

type IERC20Raw struct {
	Contract *IERC20 // Generic contract binding to access the raw methods on
}

IERC20Raw is an auto generated low-level Go binding around an Ethereum contract.

func (*IERC20Raw) Call

func (_IERC20 *IERC20Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

Call invokes the (constant) contract method with params as input values and sets the output to result. The result type might be a single field for simple returns, a slice of interfaces for anonymous returns and a struct for named returns.

func (*IERC20Raw) Transact

func (_IERC20 *IERC20Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*IERC20Raw) Transfer

func (_IERC20 *IERC20Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type IERC20Session

type IERC20Session struct {
	Contract     *IERC20           // Generic contract binding to set the session for
	CallOpts     bind.CallOpts     // Call options to use throughout this session
	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
}

IERC20Session is an auto generated Go binding around an Ethereum contract, with pre-set call and transact options.

func (*IERC20Session) Allowance

func (_IERC20 *IERC20Session) Allowance(owner common.Address, spender common.Address) (*big.Int, error)

Allowance is a free data retrieval call binding the contract method 0xdd62ed3e.

Solidity: function allowance(address owner, address spender) view returns(uint256)

func (*IERC20Session) Approve

func (_IERC20 *IERC20Session) Approve(spender common.Address, amount *big.Int) (*types.Transaction, error)

Approve is a paid mutator transaction binding the contract method 0x095ea7b3.

Solidity: function approve(address spender, uint256 amount) returns(bool)

func (*IERC20Session) BalanceOf

func (_IERC20 *IERC20Session) BalanceOf(account common.Address) (*big.Int, error)

BalanceOf is a free data retrieval call binding the contract method 0x70a08231.

Solidity: function balanceOf(address account) view returns(uint256)

func (*IERC20Session) Decimals

func (_IERC20 *IERC20Session) Decimals() (uint8, error)

Decimals is a free data retrieval call binding the contract method 0x313ce567.

Solidity: function decimals() view returns(uint8)

func (*IERC20Session) Name

func (_IERC20 *IERC20Session) Name() (string, error)

Name is a free data retrieval call binding the contract method 0x06fdde03.

Solidity: function name() view returns(string)

func (*IERC20Session) Symbol

func (_IERC20 *IERC20Session) Symbol() (string, error)

Symbol is a free data retrieval call binding the contract method 0x95d89b41.

Solidity: function symbol() view returns(string)

func (*IERC20Session) TotalSupply

func (_IERC20 *IERC20Session) TotalSupply() (*big.Int, error)

TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.

Solidity: function totalSupply() view returns(uint256)

func (*IERC20Session) Transfer

func (_IERC20 *IERC20Session) Transfer(to common.Address, amount *big.Int) (*types.Transaction, error)

Transfer is a paid mutator transaction binding the contract method 0xa9059cbb.

Solidity: function transfer(address to, uint256 amount) returns(bool)

func (*IERC20Session) TransferFrom

func (_IERC20 *IERC20Session) TransferFrom(from common.Address, to common.Address, amount *big.Int) (*types.Transaction, error)

TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.

Solidity: function transferFrom(address from, address to, uint256 amount) returns(bool)

type IERC20Transactor

type IERC20Transactor struct {
	// contains filtered or unexported fields
}

IERC20Transactor is an auto generated write-only Go binding around an Ethereum contract.

func NewIERC20Transactor

func NewIERC20Transactor(address common.Address, transactor bind.ContractTransactor) (*IERC20Transactor, error)

NewIERC20Transactor creates a new write-only instance of IERC20, bound to a specific deployed contract.

func (*IERC20Transactor) Approve

func (_IERC20 *IERC20Transactor) Approve(opts *bind.TransactOpts, spender common.Address, amount *big.Int) (*types.Transaction, error)

Approve is a paid mutator transaction binding the contract method 0x095ea7b3.

Solidity: function approve(address spender, uint256 amount) returns(bool)

func (*IERC20Transactor) Transfer

func (_IERC20 *IERC20Transactor) Transfer(opts *bind.TransactOpts, to common.Address, amount *big.Int) (*types.Transaction, error)

Transfer is a paid mutator transaction binding the contract method 0xa9059cbb.

Solidity: function transfer(address to, uint256 amount) returns(bool)

func (*IERC20Transactor) TransferFrom

func (_IERC20 *IERC20Transactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, amount *big.Int) (*types.Transaction, error)

TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.

Solidity: function transferFrom(address from, address to, uint256 amount) returns(bool)

type IERC20TransactorRaw

type IERC20TransactorRaw struct {
	Contract *IERC20Transactor // Generic write-only contract binding to access the raw methods on
}

IERC20TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.

func (*IERC20TransactorRaw) Transact

func (_IERC20 *IERC20TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*IERC20TransactorRaw) Transfer

func (_IERC20 *IERC20TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type IERC20TransactorSession

type IERC20TransactorSession struct {
	Contract     *IERC20Transactor // Generic contract transactor binding to set the session for
	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
}

IERC20TransactorSession is an auto generated write-only Go binding around an Ethereum contract, with pre-set transact options.

func (*IERC20TransactorSession) Approve

func (_IERC20 *IERC20TransactorSession) Approve(spender common.Address, amount *big.Int) (*types.Transaction, error)

Approve is a paid mutator transaction binding the contract method 0x095ea7b3.

Solidity: function approve(address spender, uint256 amount) returns(bool)

func (*IERC20TransactorSession) Transfer

func (_IERC20 *IERC20TransactorSession) Transfer(to common.Address, amount *big.Int) (*types.Transaction, error)

Transfer is a paid mutator transaction binding the contract method 0xa9059cbb.

Solidity: function transfer(address to, uint256 amount) returns(bool)

func (*IERC20TransactorSession) TransferFrom

func (_IERC20 *IERC20TransactorSession) TransferFrom(from common.Address, to common.Address, amount *big.Int) (*types.Transaction, error)

TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.

Solidity: function transferFrom(address from, address to, uint256 amount) returns(bool)

type IERC20Transfer

type IERC20Transfer struct {
	From  common.Address
	To    common.Address
	Value *big.Int
	Raw   types.Log // Blockchain specific contextual infos
}

IERC20Transfer represents a Transfer event raised by the IERC20 contract.

type IERC20TransferIterator

type IERC20TransferIterator struct {
	Event *IERC20Transfer // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

IERC20TransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the IERC20 contract.

func (*IERC20TransferIterator) Close

func (it *IERC20TransferIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*IERC20TransferIterator) Error

func (it *IERC20TransferIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*IERC20TransferIterator) Next

func (it *IERC20TransferIterator) Next() bool

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type SwapCreator

type SwapCreator struct {
	SwapCreatorCaller     // Read-only binding to the contract
	SwapCreatorTransactor // Write-only binding to the contract
	SwapCreatorFilterer   // Log filterer for contract events
}

SwapCreator is an auto generated Go binding around an Ethereum contract.

func DeploySwapCreator

func DeploySwapCreator(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *SwapCreator, error)

DeploySwapCreator deploys a new Ethereum contract, binding an instance of SwapCreator to it.

func DeploySwapCreatorWithKey

func DeploySwapCreatorWithKey(
	ctx context.Context,
	ec *ethclient.Client,
	privKey *ecdsa.PrivateKey,
) (ethcommon.Address, *SwapCreator, error)

DeploySwapCreatorWithKey deploys the SwapCreator contract using the passed privKey to pay for the deployment.

func DevDeploySwapCreator added in v0.2.1

func DevDeploySwapCreator(t *testing.T, ec *ethclient.Client, pk *ecdsa.PrivateKey) (ethcommon.Address, *SwapCreator)

DevDeploySwapCreator deploys and returns the swapCreator address and contract binding for unit tests, returning a cached result if available.

func NewSwapCreator

func NewSwapCreator(address common.Address, backend bind.ContractBackend) (*SwapCreator, error)

NewSwapCreator creates a new instance of SwapCreator, bound to a specific deployed contract.

type SwapCreatorCaller

type SwapCreatorCaller struct {
	// contains filtered or unexported fields
}

SwapCreatorCaller is an auto generated read-only Go binding around an Ethereum contract.

func NewSwapCreatorCaller

func NewSwapCreatorCaller(address common.Address, caller bind.ContractCaller) (*SwapCreatorCaller, error)

NewSwapCreatorCaller creates a new read-only instance of SwapCreator, bound to a specific deployed contract.

func (*SwapCreatorCaller) MulVerify

func (_SwapCreator *SwapCreatorCaller) MulVerify(opts *bind.CallOpts, scalar *big.Int, qKeccak *big.Int) (bool, error)

MulVerify is a free data retrieval call binding the contract method 0xb32d1b4f.

Solidity: function mulVerify(uint256 scalar, uint256 qKeccak) pure returns(bool)

func (*SwapCreatorCaller) Swaps

func (_SwapCreator *SwapCreatorCaller) Swaps(opts *bind.CallOpts, arg0 [32]byte) (uint8, error)

Swaps is a free data retrieval call binding the contract method 0xeb84e7f2.

Solidity: function swaps(bytes32 ) view returns(uint8)

type SwapCreatorCallerRaw

type SwapCreatorCallerRaw struct {
	Contract *SwapCreatorCaller // Generic read-only contract binding to access the raw methods on
}

SwapCreatorCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.

func (*SwapCreatorCallerRaw) Call

func (_SwapCreator *SwapCreatorCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

Call invokes the (constant) contract method with params as input values and sets the output to result. The result type might be a single field for simple returns, a slice of interfaces for anonymous returns and a struct for named returns.

type SwapCreatorCallerSession

type SwapCreatorCallerSession struct {
	Contract *SwapCreatorCaller // Generic contract caller binding to set the session for
	CallOpts bind.CallOpts      // Call options to use throughout this session
}

SwapCreatorCallerSession is an auto generated read-only Go binding around an Ethereum contract, with pre-set call options.

func (*SwapCreatorCallerSession) MulVerify

func (_SwapCreator *SwapCreatorCallerSession) MulVerify(scalar *big.Int, qKeccak *big.Int) (bool, error)

MulVerify is a free data retrieval call binding the contract method 0xb32d1b4f.

Solidity: function mulVerify(uint256 scalar, uint256 qKeccak) pure returns(bool)

func (*SwapCreatorCallerSession) Swaps

func (_SwapCreator *SwapCreatorCallerSession) Swaps(arg0 [32]byte) (uint8, error)

Swaps is a free data retrieval call binding the contract method 0xeb84e7f2.

Solidity: function swaps(bytes32 ) view returns(uint8)

type SwapCreatorClaimed

type SwapCreatorClaimed struct {
	SwapID [32]byte
	S      [32]byte
	Raw    types.Log // Blockchain specific contextual infos
}

SwapCreatorClaimed represents a Claimed event raised by the SwapCreator contract.

type SwapCreatorClaimedIterator

type SwapCreatorClaimedIterator struct {
	Event *SwapCreatorClaimed // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

SwapCreatorClaimedIterator is returned from FilterClaimed and is used to iterate over the raw logs and unpacked data for Claimed events raised by the SwapCreator contract.

func (*SwapCreatorClaimedIterator) Close

func (it *SwapCreatorClaimedIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*SwapCreatorClaimedIterator) Error

func (it *SwapCreatorClaimedIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*SwapCreatorClaimedIterator) Next

func (it *SwapCreatorClaimedIterator) Next() bool

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type SwapCreatorFilterer

type SwapCreatorFilterer struct {
	// contains filtered or unexported fields
}

SwapCreatorFilterer is an auto generated log filtering Go binding around an Ethereum contract events.

func NewSwapCreatorFilterer

func NewSwapCreatorFilterer(address common.Address, filterer bind.ContractFilterer) (*SwapCreatorFilterer, error)

NewSwapCreatorFilterer creates a new log filterer instance of SwapCreator, bound to a specific deployed contract.

func (*SwapCreatorFilterer) FilterClaimed

func (_SwapCreator *SwapCreatorFilterer) FilterClaimed(opts *bind.FilterOpts, swapID [][32]byte, s [][32]byte) (*SwapCreatorClaimedIterator, error)

FilterClaimed is a free log retrieval operation binding the contract event 0x38d6042dbdae8e73a7f6afbabd3fbe0873f9f5ed3cd71294591c3908c2e65fee.

Solidity: event Claimed(bytes32 indexed swapID, bytes32 indexed s)

func (*SwapCreatorFilterer) FilterNew

func (_SwapCreator *SwapCreatorFilterer) FilterNew(opts *bind.FilterOpts) (*SwapCreatorNewIterator, error)

FilterNew is a free log retrieval operation binding the contract event 0x91446ce035ac29998b5473504609a5ef5e961005daba4630a1684b63be848f56.

Solidity: event New(bytes32 swapID, bytes32 claimKey, bytes32 refundKey, uint256 timeout1, uint256 timeout2, address asset, uint256 value)

func (*SwapCreatorFilterer) FilterReady

func (_SwapCreator *SwapCreatorFilterer) FilterReady(opts *bind.FilterOpts, swapID [][32]byte) (*SwapCreatorReadyIterator, error)

FilterReady is a free log retrieval operation binding the contract event 0x5fc23b25552757626e08b316cc2387ad1bc70ee1594af7204db4ce0c39f5d15f.

Solidity: event Ready(bytes32 indexed swapID)

func (*SwapCreatorFilterer) FilterRefunded

func (_SwapCreator *SwapCreatorFilterer) FilterRefunded(opts *bind.FilterOpts, swapID [][32]byte, s [][32]byte) (*SwapCreatorRefundedIterator, error)

FilterRefunded is a free log retrieval operation binding the contract event 0x007c875846b687732a7579c19bb1dade66cd14e9f4f809565e2b2b5e76c72b4f.

Solidity: event Refunded(bytes32 indexed swapID, bytes32 indexed s)

func (*SwapCreatorFilterer) ParseClaimed

func (_SwapCreator *SwapCreatorFilterer) ParseClaimed(log types.Log) (*SwapCreatorClaimed, error)

ParseClaimed is a log parse operation binding the contract event 0x38d6042dbdae8e73a7f6afbabd3fbe0873f9f5ed3cd71294591c3908c2e65fee.

Solidity: event Claimed(bytes32 indexed swapID, bytes32 indexed s)

func (*SwapCreatorFilterer) ParseNew

func (_SwapCreator *SwapCreatorFilterer) ParseNew(log types.Log) (*SwapCreatorNew, error)

ParseNew is a log parse operation binding the contract event 0x91446ce035ac29998b5473504609a5ef5e961005daba4630a1684b63be848f56.

Solidity: event New(bytes32 swapID, bytes32 claimKey, bytes32 refundKey, uint256 timeout1, uint256 timeout2, address asset, uint256 value)

func (*SwapCreatorFilterer) ParseReady

func (_SwapCreator *SwapCreatorFilterer) ParseReady(log types.Log) (*SwapCreatorReady, error)

ParseReady is a log parse operation binding the contract event 0x5fc23b25552757626e08b316cc2387ad1bc70ee1594af7204db4ce0c39f5d15f.

Solidity: event Ready(bytes32 indexed swapID)

func (*SwapCreatorFilterer) ParseRefunded

func (_SwapCreator *SwapCreatorFilterer) ParseRefunded(log types.Log) (*SwapCreatorRefunded, error)

ParseRefunded is a log parse operation binding the contract event 0x007c875846b687732a7579c19bb1dade66cd14e9f4f809565e2b2b5e76c72b4f.

Solidity: event Refunded(bytes32 indexed swapID, bytes32 indexed s)

func (*SwapCreatorFilterer) WatchClaimed

func (_SwapCreator *SwapCreatorFilterer) WatchClaimed(opts *bind.WatchOpts, sink chan<- *SwapCreatorClaimed, swapID [][32]byte, s [][32]byte) (event.Subscription, error)

WatchClaimed is a free log subscription operation binding the contract event 0x38d6042dbdae8e73a7f6afbabd3fbe0873f9f5ed3cd71294591c3908c2e65fee.

Solidity: event Claimed(bytes32 indexed swapID, bytes32 indexed s)

func (*SwapCreatorFilterer) WatchNew

func (_SwapCreator *SwapCreatorFilterer) WatchNew(opts *bind.WatchOpts, sink chan<- *SwapCreatorNew) (event.Subscription, error)

WatchNew is a free log subscription operation binding the contract event 0x91446ce035ac29998b5473504609a5ef5e961005daba4630a1684b63be848f56.

Solidity: event New(bytes32 swapID, bytes32 claimKey, bytes32 refundKey, uint256 timeout1, uint256 timeout2, address asset, uint256 value)

func (*SwapCreatorFilterer) WatchReady

func (_SwapCreator *SwapCreatorFilterer) WatchReady(opts *bind.WatchOpts, sink chan<- *SwapCreatorReady, swapID [][32]byte) (event.Subscription, error)

WatchReady is a free log subscription operation binding the contract event 0x5fc23b25552757626e08b316cc2387ad1bc70ee1594af7204db4ce0c39f5d15f.

Solidity: event Ready(bytes32 indexed swapID)

func (*SwapCreatorFilterer) WatchRefunded

func (_SwapCreator *SwapCreatorFilterer) WatchRefunded(opts *bind.WatchOpts, sink chan<- *SwapCreatorRefunded, swapID [][32]byte, s [][32]byte) (event.Subscription, error)

WatchRefunded is a free log subscription operation binding the contract event 0x007c875846b687732a7579c19bb1dade66cd14e9f4f809565e2b2b5e76c72b4f.

Solidity: event Refunded(bytes32 indexed swapID, bytes32 indexed s)

type SwapCreatorNew

type SwapCreatorNew struct {
	SwapID    [32]byte
	ClaimKey  [32]byte
	RefundKey [32]byte
	Timeout1  *big.Int
	Timeout2  *big.Int
	Asset     common.Address
	Value     *big.Int
	Raw       types.Log // Blockchain specific contextual infos
}

SwapCreatorNew represents a New event raised by the SwapCreator contract.

type SwapCreatorNewIterator

type SwapCreatorNewIterator struct {
	Event *SwapCreatorNew // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

SwapCreatorNewIterator is returned from FilterNew and is used to iterate over the raw logs and unpacked data for New events raised by the SwapCreator contract.

func (*SwapCreatorNewIterator) Close

func (it *SwapCreatorNewIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*SwapCreatorNewIterator) Error

func (it *SwapCreatorNewIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*SwapCreatorNewIterator) Next

func (it *SwapCreatorNewIterator) Next() bool

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type SwapCreatorRaw

type SwapCreatorRaw struct {
	Contract *SwapCreator // Generic contract binding to access the raw methods on
}

SwapCreatorRaw is an auto generated low-level Go binding around an Ethereum contract.

func (*SwapCreatorRaw) Call

func (_SwapCreator *SwapCreatorRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

Call invokes the (constant) contract method with params as input values and sets the output to result. The result type might be a single field for simple returns, a slice of interfaces for anonymous returns and a struct for named returns.

func (*SwapCreatorRaw) Transact

func (_SwapCreator *SwapCreatorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*SwapCreatorRaw) Transfer

func (_SwapCreator *SwapCreatorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type SwapCreatorReady

type SwapCreatorReady struct {
	SwapID [32]byte
	Raw    types.Log // Blockchain specific contextual infos
}

SwapCreatorReady represents a Ready event raised by the SwapCreator contract.

type SwapCreatorReadyIterator

type SwapCreatorReadyIterator struct {
	Event *SwapCreatorReady // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

SwapCreatorReadyIterator is returned from FilterReady and is used to iterate over the raw logs and unpacked data for Ready events raised by the SwapCreator contract.

func (*SwapCreatorReadyIterator) Close

func (it *SwapCreatorReadyIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*SwapCreatorReadyIterator) Error

func (it *SwapCreatorReadyIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*SwapCreatorReadyIterator) Next

func (it *SwapCreatorReadyIterator) Next() bool

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type SwapCreatorRefunded

type SwapCreatorRefunded struct {
	SwapID [32]byte
	S      [32]byte
	Raw    types.Log // Blockchain specific contextual infos
}

SwapCreatorRefunded represents a Refunded event raised by the SwapCreator contract.

type SwapCreatorRefundedIterator

type SwapCreatorRefundedIterator struct {
	Event *SwapCreatorRefunded // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

SwapCreatorRefundedIterator is returned from FilterRefunded and is used to iterate over the raw logs and unpacked data for Refunded events raised by the SwapCreator contract.

func (*SwapCreatorRefundedIterator) Close

func (it *SwapCreatorRefundedIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*SwapCreatorRefundedIterator) Error

func (it *SwapCreatorRefundedIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*SwapCreatorRefundedIterator) Next

func (it *SwapCreatorRefundedIterator) Next() bool

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type SwapCreatorRelaySwap added in v0.2.1

type SwapCreatorRelaySwap struct {
	Swap        SwapCreatorSwap
	Fee         *big.Int
	RelayerHash [32]byte
	SwapCreator common.Address
}

SwapCreatorRelaySwap is an auto generated low-level Go binding around an user-defined struct.

func (*SwapCreatorRelaySwap) Hash added in v0.2.1

func (s *SwapCreatorRelaySwap) Hash() types.Hash

Hash abi-encodes the RelaySwap and returns the keccak256 hash of the encoded value.

type SwapCreatorSession

type SwapCreatorSession struct {
	Contract     *SwapCreator      // Generic contract binding to set the session for
	CallOpts     bind.CallOpts     // Call options to use throughout this session
	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
}

SwapCreatorSession is an auto generated Go binding around an Ethereum contract, with pre-set call and transact options.

func (*SwapCreatorSession) Claim

func (_SwapCreator *SwapCreatorSession) Claim(_swap SwapCreatorSwap, _secret [32]byte) (*types.Transaction, error)

Claim is a paid mutator transaction binding the contract method 0x5cb96916.

Solidity: function claim((address,address,bytes32,bytes32,uint256,uint256,address,uint256,uint256) _swap, bytes32 _secret) returns()

func (*SwapCreatorSession) ClaimRelayer

func (_SwapCreator *SwapCreatorSession) ClaimRelayer(_relaySwap SwapCreatorRelaySwap, _secret [32]byte, _relayer common.Address, _salt uint32, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error)

ClaimRelayer is a paid mutator transaction binding the contract method 0x87065c49.

Solidity: function claimRelayer(((address,address,bytes32,bytes32,uint256,uint256,address,uint256,uint256),uint256,bytes32,address) _relaySwap, bytes32 _secret, address _relayer, uint32 _salt, uint8 v, bytes32 r, bytes32 s) returns()

func (*SwapCreatorSession) MulVerify

func (_SwapCreator *SwapCreatorSession) MulVerify(scalar *big.Int, qKeccak *big.Int) (bool, error)

MulVerify is a free data retrieval call binding the contract method 0xb32d1b4f.

Solidity: function mulVerify(uint256 scalar, uint256 qKeccak) pure returns(bool)

func (*SwapCreatorSession) NewSwap

func (_SwapCreator *SwapCreatorSession) NewSwap(_claimCommitment [32]byte, _refundCommitment [32]byte, _claimer common.Address, _timeoutDuration1 *big.Int, _timeoutDuration2 *big.Int, _asset common.Address, _value *big.Int, _nonce *big.Int) (*types.Transaction, error)

NewSwap is a paid mutator transaction binding the contract method 0xc41e46cf.

Solidity: function newSwap(bytes32 _claimCommitment, bytes32 _refundCommitment, address _claimer, uint256 _timeoutDuration1, uint256 _timeoutDuration2, address _asset, uint256 _value, uint256 _nonce) payable returns(bytes32)

func (*SwapCreatorSession) Refund

func (_SwapCreator *SwapCreatorSession) Refund(_swap SwapCreatorSwap, _secret [32]byte) (*types.Transaction, error)

Refund is a paid mutator transaction binding the contract method 0x1e6c5acc.

Solidity: function refund((address,address,bytes32,bytes32,uint256,uint256,address,uint256,uint256) _swap, bytes32 _secret) returns()

func (*SwapCreatorSession) SetReady

func (_SwapCreator *SwapCreatorSession) SetReady(_swap SwapCreatorSwap) (*types.Transaction, error)

SetReady is a paid mutator transaction binding the contract method 0xfcaf229c.

Solidity: function setReady((address,address,bytes32,bytes32,uint256,uint256,address,uint256,uint256) _swap) returns()

func (*SwapCreatorSession) Swaps

func (_SwapCreator *SwapCreatorSession) Swaps(arg0 [32]byte) (uint8, error)

Swaps is a free data retrieval call binding the contract method 0xeb84e7f2.

Solidity: function swaps(bytes32 ) view returns(uint8)

type SwapCreatorSwap

type SwapCreatorSwap struct {
	Owner            common.Address
	Claimer          common.Address
	ClaimCommitment  [32]byte
	RefundCommitment [32]byte
	Timeout1         *big.Int
	Timeout2         *big.Int
	Asset            common.Address
	Value            *big.Int
	Nonce            *big.Int
}

SwapCreatorSwap is an auto generated low-level Go binding around an user-defined struct.

func (*SwapCreatorSwap) MarshalJSON

func (sfs *SwapCreatorSwap) MarshalJSON() ([]byte, error)

MarshalJSON provides JSON marshalling for SwapCreatorSwap

func (*SwapCreatorSwap) SwapID

func (sfs *SwapCreatorSwap) SwapID() types.Hash

SwapID calculates and returns the same hashed swap identifier that newSwap emits and that is used to track the on-chain stage of a swap.

func (*SwapCreatorSwap) UnmarshalJSON

func (sfs *SwapCreatorSwap) UnmarshalJSON(data []byte) error

UnmarshalJSON provides JSON unmarshalling for SwapCreatorSwap

type SwapCreatorTransactor

type SwapCreatorTransactor struct {
	// contains filtered or unexported fields
}

SwapCreatorTransactor is an auto generated write-only Go binding around an Ethereum contract.

func NewSwapCreatorTransactor

func NewSwapCreatorTransactor(address common.Address, transactor bind.ContractTransactor) (*SwapCreatorTransactor, error)

NewSwapCreatorTransactor creates a new write-only instance of SwapCreator, bound to a specific deployed contract.

func (*SwapCreatorTransactor) Claim

func (_SwapCreator *SwapCreatorTransactor) Claim(opts *bind.TransactOpts, _swap SwapCreatorSwap, _secret [32]byte) (*types.Transaction, error)

Claim is a paid mutator transaction binding the contract method 0x5cb96916.

Solidity: function claim((address,address,bytes32,bytes32,uint256,uint256,address,uint256,uint256) _swap, bytes32 _secret) returns()

func (*SwapCreatorTransactor) ClaimRelayer

func (_SwapCreator *SwapCreatorTransactor) ClaimRelayer(opts *bind.TransactOpts, _relaySwap SwapCreatorRelaySwap, _secret [32]byte, _relayer common.Address, _salt uint32, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error)

ClaimRelayer is a paid mutator transaction binding the contract method 0x87065c49.

Solidity: function claimRelayer(((address,address,bytes32,bytes32,uint256,uint256,address,uint256,uint256),uint256,bytes32,address) _relaySwap, bytes32 _secret, address _relayer, uint32 _salt, uint8 v, bytes32 r, bytes32 s) returns()

func (*SwapCreatorTransactor) NewSwap

func (_SwapCreator *SwapCreatorTransactor) NewSwap(opts *bind.TransactOpts, _claimCommitment [32]byte, _refundCommitment [32]byte, _claimer common.Address, _timeoutDuration1 *big.Int, _timeoutDuration2 *big.Int, _asset common.Address, _value *big.Int, _nonce *big.Int) (*types.Transaction, error)

NewSwap is a paid mutator transaction binding the contract method 0xc41e46cf.

Solidity: function newSwap(bytes32 _claimCommitment, bytes32 _refundCommitment, address _claimer, uint256 _timeoutDuration1, uint256 _timeoutDuration2, address _asset, uint256 _value, uint256 _nonce) payable returns(bytes32)

func (*SwapCreatorTransactor) Refund

func (_SwapCreator *SwapCreatorTransactor) Refund(opts *bind.TransactOpts, _swap SwapCreatorSwap, _secret [32]byte) (*types.Transaction, error)

Refund is a paid mutator transaction binding the contract method 0x1e6c5acc.

Solidity: function refund((address,address,bytes32,bytes32,uint256,uint256,address,uint256,uint256) _swap, bytes32 _secret) returns()

func (*SwapCreatorTransactor) SetReady

func (_SwapCreator *SwapCreatorTransactor) SetReady(opts *bind.TransactOpts, _swap SwapCreatorSwap) (*types.Transaction, error)

SetReady is a paid mutator transaction binding the contract method 0xfcaf229c.

Solidity: function setReady((address,address,bytes32,bytes32,uint256,uint256,address,uint256,uint256) _swap) returns()

type SwapCreatorTransactorRaw

type SwapCreatorTransactorRaw struct {
	Contract *SwapCreatorTransactor // Generic write-only contract binding to access the raw methods on
}

SwapCreatorTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.

func (*SwapCreatorTransactorRaw) Transact

func (_SwapCreator *SwapCreatorTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*SwapCreatorTransactorRaw) Transfer

func (_SwapCreator *SwapCreatorTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type SwapCreatorTransactorSession

type SwapCreatorTransactorSession struct {
	Contract     *SwapCreatorTransactor // Generic contract transactor binding to set the session for
	TransactOpts bind.TransactOpts      // Transaction auth options to use throughout this session
}

SwapCreatorTransactorSession is an auto generated write-only Go binding around an Ethereum contract, with pre-set transact options.

func (*SwapCreatorTransactorSession) Claim

func (_SwapCreator *SwapCreatorTransactorSession) Claim(_swap SwapCreatorSwap, _secret [32]byte) (*types.Transaction, error)

Claim is a paid mutator transaction binding the contract method 0x5cb96916.

Solidity: function claim((address,address,bytes32,bytes32,uint256,uint256,address,uint256,uint256) _swap, bytes32 _secret) returns()

func (*SwapCreatorTransactorSession) ClaimRelayer

func (_SwapCreator *SwapCreatorTransactorSession) ClaimRelayer(_relaySwap SwapCreatorRelaySwap, _secret [32]byte, _relayer common.Address, _salt uint32, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error)

ClaimRelayer is a paid mutator transaction binding the contract method 0x87065c49.

Solidity: function claimRelayer(((address,address,bytes32,bytes32,uint256,uint256,address,uint256,uint256),uint256,bytes32,address) _relaySwap, bytes32 _secret, address _relayer, uint32 _salt, uint8 v, bytes32 r, bytes32 s) returns()

func (*SwapCreatorTransactorSession) NewSwap

func (_SwapCreator *SwapCreatorTransactorSession) NewSwap(_claimCommitment [32]byte, _refundCommitment [32]byte, _claimer common.Address, _timeoutDuration1 *big.Int, _timeoutDuration2 *big.Int, _asset common.Address, _value *big.Int, _nonce *big.Int) (*types.Transaction, error)

NewSwap is a paid mutator transaction binding the contract method 0xc41e46cf.

Solidity: function newSwap(bytes32 _claimCommitment, bytes32 _refundCommitment, address _claimer, uint256 _timeoutDuration1, uint256 _timeoutDuration2, address _asset, uint256 _value, uint256 _nonce) payable returns(bytes32)

func (*SwapCreatorTransactorSession) Refund

func (_SwapCreator *SwapCreatorTransactorSession) Refund(_swap SwapCreatorSwap, _secret [32]byte) (*types.Transaction, error)

Refund is a paid mutator transaction binding the contract method 0x1e6c5acc.

Solidity: function refund((address,address,bytes32,bytes32,uint256,uint256,address,uint256,uint256) _swap, bytes32 _secret) returns()

func (*SwapCreatorTransactorSession) SetReady

func (_SwapCreator *SwapCreatorTransactorSession) SetReady(_swap SwapCreatorSwap) (*types.Transaction, error)

SetReady is a paid mutator transaction binding the contract method 0xfcaf229c.

Solidity: function setReady((address,address,bytes32,bytes32,uint256,uint256,address,uint256,uint256) _swap) returns()

type TestERC20

type TestERC20 struct {
	TestERC20Caller     // Read-only binding to the contract
	TestERC20Transactor // Write-only binding to the contract
	TestERC20Filterer   // Log filterer for contract events
}

TestERC20 is an auto generated Go binding around an Ethereum contract.

func DeployTestERC20

func DeployTestERC20(auth *bind.TransactOpts, backend bind.ContractBackend, name string, symbol string, numDecimals uint8, initialAccount common.Address, initialBalance *big.Int) (common.Address, *types.Transaction, *TestERC20, error)

DeployTestERC20 deploys a new Ethereum contract, binding an instance of TestERC20 to it.

func NewTestERC20

func NewTestERC20(address common.Address, backend bind.ContractBackend) (*TestERC20, error)

NewTestERC20 creates a new instance of TestERC20, bound to a specific deployed contract.

type TestERC20Approval

type TestERC20Approval struct {
	Owner   common.Address
	Spender common.Address
	Value   *big.Int
	Raw     types.Log // Blockchain specific contextual infos
}

TestERC20Approval represents a Approval event raised by the TestERC20 contract.

type TestERC20ApprovalIterator

type TestERC20ApprovalIterator struct {
	Event *TestERC20Approval // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

TestERC20ApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the TestERC20 contract.

func (*TestERC20ApprovalIterator) Close

func (it *TestERC20ApprovalIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*TestERC20ApprovalIterator) Error

func (it *TestERC20ApprovalIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*TestERC20ApprovalIterator) Next

func (it *TestERC20ApprovalIterator) Next() bool

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type TestERC20Caller

type TestERC20Caller struct {
	// contains filtered or unexported fields
}

TestERC20Caller is an auto generated read-only Go binding around an Ethereum contract.

func NewTestERC20Caller

func NewTestERC20Caller(address common.Address, caller bind.ContractCaller) (*TestERC20Caller, error)

NewTestERC20Caller creates a new read-only instance of TestERC20, bound to a specific deployed contract.

func (*TestERC20Caller) Allowance

func (_TestERC20 *TestERC20Caller) Allowance(opts *bind.CallOpts, owner common.Address, spender common.Address) (*big.Int, error)

Allowance is a free data retrieval call binding the contract method 0xdd62ed3e.

Solidity: function allowance(address owner, address spender) view returns(uint256)

func (*TestERC20Caller) BalanceOf

func (_TestERC20 *TestERC20Caller) BalanceOf(opts *bind.CallOpts, account common.Address) (*big.Int, error)

BalanceOf is a free data retrieval call binding the contract method 0x70a08231.

Solidity: function balanceOf(address account) view returns(uint256)

func (*TestERC20Caller) Decimals

func (_TestERC20 *TestERC20Caller) Decimals(opts *bind.CallOpts) (uint8, error)

Decimals is a free data retrieval call binding the contract method 0x313ce567.

Solidity: function decimals() view returns(uint8)

func (*TestERC20Caller) Name

func (_TestERC20 *TestERC20Caller) Name(opts *bind.CallOpts) (string, error)

Name is a free data retrieval call binding the contract method 0x06fdde03.

Solidity: function name() view returns(string)

func (*TestERC20Caller) Symbol

func (_TestERC20 *TestERC20Caller) Symbol(opts *bind.CallOpts) (string, error)

Symbol is a free data retrieval call binding the contract method 0x95d89b41.

Solidity: function symbol() view returns(string)

func (*TestERC20Caller) TotalSupply

func (_TestERC20 *TestERC20Caller) TotalSupply(opts *bind.CallOpts) (*big.Int, error)

TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.

Solidity: function totalSupply() view returns(uint256)

type TestERC20CallerRaw

type TestERC20CallerRaw struct {
	Contract *TestERC20Caller // Generic read-only contract binding to access the raw methods on
}

TestERC20CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.

func (*TestERC20CallerRaw) Call

func (_TestERC20 *TestERC20CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

Call invokes the (constant) contract method with params as input values and sets the output to result. The result type might be a single field for simple returns, a slice of interfaces for anonymous returns and a struct for named returns.

type TestERC20CallerSession

type TestERC20CallerSession struct {
	Contract *TestERC20Caller // Generic contract caller binding to set the session for
	CallOpts bind.CallOpts    // Call options to use throughout this session
}

TestERC20CallerSession is an auto generated read-only Go binding around an Ethereum contract, with pre-set call options.

func (*TestERC20CallerSession) Allowance

func (_TestERC20 *TestERC20CallerSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error)

Allowance is a free data retrieval call binding the contract method 0xdd62ed3e.

Solidity: function allowance(address owner, address spender) view returns(uint256)

func (*TestERC20CallerSession) BalanceOf

func (_TestERC20 *TestERC20CallerSession) BalanceOf(account common.Address) (*big.Int, error)

BalanceOf is a free data retrieval call binding the contract method 0x70a08231.

Solidity: function balanceOf(address account) view returns(uint256)

func (*TestERC20CallerSession) Decimals

func (_TestERC20 *TestERC20CallerSession) Decimals() (uint8, error)

Decimals is a free data retrieval call binding the contract method 0x313ce567.

Solidity: function decimals() view returns(uint8)

func (*TestERC20CallerSession) Name

func (_TestERC20 *TestERC20CallerSession) Name() (string, error)

Name is a free data retrieval call binding the contract method 0x06fdde03.

Solidity: function name() view returns(string)

func (*TestERC20CallerSession) Symbol

func (_TestERC20 *TestERC20CallerSession) Symbol() (string, error)

Symbol is a free data retrieval call binding the contract method 0x95d89b41.

Solidity: function symbol() view returns(string)

func (*TestERC20CallerSession) TotalSupply

func (_TestERC20 *TestERC20CallerSession) TotalSupply() (*big.Int, error)

TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.

Solidity: function totalSupply() view returns(uint256)

type TestERC20Filterer

type TestERC20Filterer struct {
	// contains filtered or unexported fields
}

TestERC20Filterer is an auto generated log filtering Go binding around an Ethereum contract events.

func NewTestERC20Filterer

func NewTestERC20Filterer(address common.Address, filterer bind.ContractFilterer) (*TestERC20Filterer, error)

NewTestERC20Filterer creates a new log filterer instance of TestERC20, bound to a specific deployed contract.

func (*TestERC20Filterer) FilterApproval

func (_TestERC20 *TestERC20Filterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*TestERC20ApprovalIterator, error)

FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.

Solidity: event Approval(address indexed owner, address indexed spender, uint256 value)

func (*TestERC20Filterer) FilterTransfer

func (_TestERC20 *TestERC20Filterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*TestERC20TransferIterator, error)

FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.

Solidity: event Transfer(address indexed from, address indexed to, uint256 value)

func (*TestERC20Filterer) ParseApproval

func (_TestERC20 *TestERC20Filterer) ParseApproval(log types.Log) (*TestERC20Approval, error)

ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.

Solidity: event Approval(address indexed owner, address indexed spender, uint256 value)

func (*TestERC20Filterer) ParseTransfer

func (_TestERC20 *TestERC20Filterer) ParseTransfer(log types.Log) (*TestERC20Transfer, error)

ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.

Solidity: event Transfer(address indexed from, address indexed to, uint256 value)

func (*TestERC20Filterer) WatchApproval

func (_TestERC20 *TestERC20Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *TestERC20Approval, owner []common.Address, spender []common.Address) (event.Subscription, error)

WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.

Solidity: event Approval(address indexed owner, address indexed spender, uint256 value)

func (*TestERC20Filterer) WatchTransfer

func (_TestERC20 *TestERC20Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *TestERC20Transfer, from []common.Address, to []common.Address) (event.Subscription, error)

WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.

Solidity: event Transfer(address indexed from, address indexed to, uint256 value)

type TestERC20Raw

type TestERC20Raw struct {
	Contract *TestERC20 // Generic contract binding to access the raw methods on
}

TestERC20Raw is an auto generated low-level Go binding around an Ethereum contract.

func (*TestERC20Raw) Call

func (_TestERC20 *TestERC20Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

Call invokes the (constant) contract method with params as input values and sets the output to result. The result type might be a single field for simple returns, a slice of interfaces for anonymous returns and a struct for named returns.

func (*TestERC20Raw) Transact

func (_TestERC20 *TestERC20Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*TestERC20Raw) Transfer

func (_TestERC20 *TestERC20Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type TestERC20Session

type TestERC20Session struct {
	Contract     *TestERC20        // Generic contract binding to set the session for
	CallOpts     bind.CallOpts     // Call options to use throughout this session
	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
}

TestERC20Session is an auto generated Go binding around an Ethereum contract, with pre-set call and transact options.

func (*TestERC20Session) Allowance

func (_TestERC20 *TestERC20Session) Allowance(owner common.Address, spender common.Address) (*big.Int, error)

Allowance is a free data retrieval call binding the contract method 0xdd62ed3e.

Solidity: function allowance(address owner, address spender) view returns(uint256)

func (*TestERC20Session) Approve

func (_TestERC20 *TestERC20Session) Approve(spender common.Address, amount *big.Int) (*types.Transaction, error)

Approve is a paid mutator transaction binding the contract method 0x095ea7b3.

Solidity: function approve(address spender, uint256 amount) returns(bool)

func (*TestERC20Session) ApproveInternal

func (_TestERC20 *TestERC20Session) ApproveInternal(owner common.Address, spender common.Address, value *big.Int) (*types.Transaction, error)

ApproveInternal is a paid mutator transaction binding the contract method 0x56189cb4.

Solidity: function approveInternal(address owner, address spender, uint256 value) returns()

func (*TestERC20Session) BalanceOf

func (_TestERC20 *TestERC20Session) BalanceOf(account common.Address) (*big.Int, error)

BalanceOf is a free data retrieval call binding the contract method 0x70a08231.

Solidity: function balanceOf(address account) view returns(uint256)

func (*TestERC20Session) Burn

func (_TestERC20 *TestERC20Session) Burn(account common.Address, amount *big.Int) (*types.Transaction, error)

Burn is a paid mutator transaction binding the contract method 0x9dc29fac.

Solidity: function burn(address account, uint256 amount) returns()

func (*TestERC20Session) Decimals

func (_TestERC20 *TestERC20Session) Decimals() (uint8, error)

Decimals is a free data retrieval call binding the contract method 0x313ce567.

Solidity: function decimals() view returns(uint8)

func (*TestERC20Session) DecreaseAllowance

func (_TestERC20 *TestERC20Session) DecreaseAllowance(spender common.Address, subtractedValue *big.Int) (*types.Transaction, error)

DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7.

Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool)

func (*TestERC20Session) IncreaseAllowance

func (_TestERC20 *TestERC20Session) IncreaseAllowance(spender common.Address, addedValue *big.Int) (*types.Transaction, error)

IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351.

Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool)

func (*TestERC20Session) Mint

func (_TestERC20 *TestERC20Session) Mint(account common.Address, amount *big.Int) (*types.Transaction, error)

Mint is a paid mutator transaction binding the contract method 0x40c10f19.

Solidity: function mint(address account, uint256 amount) returns()

func (*TestERC20Session) Name

func (_TestERC20 *TestERC20Session) Name() (string, error)

Name is a free data retrieval call binding the contract method 0x06fdde03.

Solidity: function name() view returns(string)

func (*TestERC20Session) Receive added in v0.3.0

func (_TestERC20 *TestERC20Session) Receive() (*types.Transaction, error)

Receive is a paid mutator transaction binding the contract receive function.

Solidity: receive() payable returns()

func (*TestERC20Session) Symbol

func (_TestERC20 *TestERC20Session) Symbol() (string, error)

Symbol is a free data retrieval call binding the contract method 0x95d89b41.

Solidity: function symbol() view returns(string)

func (*TestERC20Session) TotalSupply

func (_TestERC20 *TestERC20Session) TotalSupply() (*big.Int, error)

TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.

Solidity: function totalSupply() view returns(uint256)

func (*TestERC20Session) Transfer

func (_TestERC20 *TestERC20Session) Transfer(to common.Address, amount *big.Int) (*types.Transaction, error)

Transfer is a paid mutator transaction binding the contract method 0xa9059cbb.

Solidity: function transfer(address to, uint256 amount) returns(bool)

func (*TestERC20Session) TransferFrom

func (_TestERC20 *TestERC20Session) TransferFrom(from common.Address, to common.Address, amount *big.Int) (*types.Transaction, error)

TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.

Solidity: function transferFrom(address from, address to, uint256 amount) returns(bool)

func (*TestERC20Session) TransferInternal

func (_TestERC20 *TestERC20Session) TransferInternal(from common.Address, to common.Address, value *big.Int) (*types.Transaction, error)

TransferInternal is a paid mutator transaction binding the contract method 0x222f5be0.

Solidity: function transferInternal(address from, address to, uint256 value) returns()

type TestERC20Transactor

type TestERC20Transactor struct {
	// contains filtered or unexported fields
}

TestERC20Transactor is an auto generated write-only Go binding around an Ethereum contract.

func NewTestERC20Transactor

func NewTestERC20Transactor(address common.Address, transactor bind.ContractTransactor) (*TestERC20Transactor, error)

NewTestERC20Transactor creates a new write-only instance of TestERC20, bound to a specific deployed contract.

func (*TestERC20Transactor) Approve

func (_TestERC20 *TestERC20Transactor) Approve(opts *bind.TransactOpts, spender common.Address, amount *big.Int) (*types.Transaction, error)

Approve is a paid mutator transaction binding the contract method 0x095ea7b3.

Solidity: function approve(address spender, uint256 amount) returns(bool)

func (*TestERC20Transactor) ApproveInternal

func (_TestERC20 *TestERC20Transactor) ApproveInternal(opts *bind.TransactOpts, owner common.Address, spender common.Address, value *big.Int) (*types.Transaction, error)

ApproveInternal is a paid mutator transaction binding the contract method 0x56189cb4.

Solidity: function approveInternal(address owner, address spender, uint256 value) returns()

func (*TestERC20Transactor) Burn

func (_TestERC20 *TestERC20Transactor) Burn(opts *bind.TransactOpts, account common.Address, amount *big.Int) (*types.Transaction, error)

Burn is a paid mutator transaction binding the contract method 0x9dc29fac.

Solidity: function burn(address account, uint256 amount) returns()

func (*TestERC20Transactor) DecreaseAllowance

func (_TestERC20 *TestERC20Transactor) DecreaseAllowance(opts *bind.TransactOpts, spender common.Address, subtractedValue *big.Int) (*types.Transaction, error)

DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7.

Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool)

func (*TestERC20Transactor) IncreaseAllowance

func (_TestERC20 *TestERC20Transactor) IncreaseAllowance(opts *bind.TransactOpts, spender common.Address, addedValue *big.Int) (*types.Transaction, error)

IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351.

Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool)

func (*TestERC20Transactor) Mint

func (_TestERC20 *TestERC20Transactor) Mint(opts *bind.TransactOpts, account common.Address, amount *big.Int) (*types.Transaction, error)

Mint is a paid mutator transaction binding the contract method 0x40c10f19.

Solidity: function mint(address account, uint256 amount) returns()

func (*TestERC20Transactor) Receive added in v0.3.0

func (_TestERC20 *TestERC20Transactor) Receive(opts *bind.TransactOpts) (*types.Transaction, error)

Receive is a paid mutator transaction binding the contract receive function.

Solidity: receive() payable returns()

func (*TestERC20Transactor) Transfer

func (_TestERC20 *TestERC20Transactor) Transfer(opts *bind.TransactOpts, to common.Address, amount *big.Int) (*types.Transaction, error)

Transfer is a paid mutator transaction binding the contract method 0xa9059cbb.

Solidity: function transfer(address to, uint256 amount) returns(bool)

func (*TestERC20Transactor) TransferFrom

func (_TestERC20 *TestERC20Transactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, amount *big.Int) (*types.Transaction, error)

TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.

Solidity: function transferFrom(address from, address to, uint256 amount) returns(bool)

func (*TestERC20Transactor) TransferInternal

func (_TestERC20 *TestERC20Transactor) TransferInternal(opts *bind.TransactOpts, from common.Address, to common.Address, value *big.Int) (*types.Transaction, error)

TransferInternal is a paid mutator transaction binding the contract method 0x222f5be0.

Solidity: function transferInternal(address from, address to, uint256 value) returns()

type TestERC20TransactorRaw

type TestERC20TransactorRaw struct {
	Contract *TestERC20Transactor // Generic write-only contract binding to access the raw methods on
}

TestERC20TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.

func (*TestERC20TransactorRaw) Transact

func (_TestERC20 *TestERC20TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*TestERC20TransactorRaw) Transfer

func (_TestERC20 *TestERC20TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type TestERC20TransactorSession

type TestERC20TransactorSession struct {
	Contract     *TestERC20Transactor // Generic contract transactor binding to set the session for
	TransactOpts bind.TransactOpts    // Transaction auth options to use throughout this session
}

TestERC20TransactorSession is an auto generated write-only Go binding around an Ethereum contract, with pre-set transact options.

func (*TestERC20TransactorSession) Approve

func (_TestERC20 *TestERC20TransactorSession) Approve(spender common.Address, amount *big.Int) (*types.Transaction, error)

Approve is a paid mutator transaction binding the contract method 0x095ea7b3.

Solidity: function approve(address spender, uint256 amount) returns(bool)

func (*TestERC20TransactorSession) ApproveInternal

func (_TestERC20 *TestERC20TransactorSession) ApproveInternal(owner common.Address, spender common.Address, value *big.Int) (*types.Transaction, error)

ApproveInternal is a paid mutator transaction binding the contract method 0x56189cb4.

Solidity: function approveInternal(address owner, address spender, uint256 value) returns()

func (*TestERC20TransactorSession) Burn

func (_TestERC20 *TestERC20TransactorSession) Burn(account common.Address, amount *big.Int) (*types.Transaction, error)

Burn is a paid mutator transaction binding the contract method 0x9dc29fac.

Solidity: function burn(address account, uint256 amount) returns()

func (*TestERC20TransactorSession) DecreaseAllowance

func (_TestERC20 *TestERC20TransactorSession) DecreaseAllowance(spender common.Address, subtractedValue *big.Int) (*types.Transaction, error)

DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7.

Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool)

func (*TestERC20TransactorSession) IncreaseAllowance

func (_TestERC20 *TestERC20TransactorSession) IncreaseAllowance(spender common.Address, addedValue *big.Int) (*types.Transaction, error)

IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351.

Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool)

func (*TestERC20TransactorSession) Mint

func (_TestERC20 *TestERC20TransactorSession) Mint(account common.Address, amount *big.Int) (*types.Transaction, error)

Mint is a paid mutator transaction binding the contract method 0x40c10f19.

Solidity: function mint(address account, uint256 amount) returns()

func (*TestERC20TransactorSession) Receive added in v0.3.0

func (_TestERC20 *TestERC20TransactorSession) Receive() (*types.Transaction, error)

Receive is a paid mutator transaction binding the contract receive function.

Solidity: receive() payable returns()

func (*TestERC20TransactorSession) Transfer

func (_TestERC20 *TestERC20TransactorSession) Transfer(to common.Address, amount *big.Int) (*types.Transaction, error)

Transfer is a paid mutator transaction binding the contract method 0xa9059cbb.

Solidity: function transfer(address to, uint256 amount) returns(bool)

func (*TestERC20TransactorSession) TransferFrom

func (_TestERC20 *TestERC20TransactorSession) TransferFrom(from common.Address, to common.Address, amount *big.Int) (*types.Transaction, error)

TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.

Solidity: function transferFrom(address from, address to, uint256 amount) returns(bool)

func (*TestERC20TransactorSession) TransferInternal

func (_TestERC20 *TestERC20TransactorSession) TransferInternal(from common.Address, to common.Address, value *big.Int) (*types.Transaction, error)

TransferInternal is a paid mutator transaction binding the contract method 0x222f5be0.

Solidity: function transferInternal(address from, address to, uint256 value) returns()

type TestERC20Transfer

type TestERC20Transfer struct {
	From  common.Address
	To    common.Address
	Value *big.Int
	Raw   types.Log // Blockchain specific contextual infos
}

TestERC20Transfer represents a Transfer event raised by the TestERC20 contract.

type TestERC20TransferIterator

type TestERC20TransferIterator struct {
	Event *TestERC20Transfer // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

TestERC20TransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the TestERC20 contract.

func (*TestERC20TransferIterator) Close

func (it *TestERC20TransferIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*TestERC20TransferIterator) Error

func (it *TestERC20TransferIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*TestERC20TransferIterator) Next

func (it *TestERC20TransferIterator) Next() bool

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

Directories

Path Synopsis
Package block contains ethereum helper methods that center around blocks, like waiting for a certain block timestamp, waiting for a transaction to be mined in a block, and extracting an error for a transaction from the block that mined it.
Package block contains ethereum helper methods that center around blocks, like waiting for a certain block timestamp, waiting for a transaction to be mined in a block, and extracting an error for a transaction from the block that mined it.
Package extethclient provides libraries for interacting with an ethereum node using a specific private key.
Package extethclient provides libraries for interacting with an ethereum node using a specific private key.
Package watcher provides tools to track events emitted from ethereum contracts.
Package watcher provides tools to track events emitted from ethereum contracts.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL