vrf_v2plus_load_test_with_metrics

package
v2.10.0 Latest Latest
Warning

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

Go to latest
Published: Apr 5, 2024 License: MIT Imports: 11 Imported by: 5

Documentation

Index

Constants

This section is empty.

Variables

View Source
var VRFV2PlusLoadTestWithMetricsABI = VRFV2PlusLoadTestWithMetricsMetaData.ABI
View Source
var VRFV2PlusLoadTestWithMetricsBin = VRFV2PlusLoadTestWithMetricsMetaData.Bin
View Source
var VRFV2PlusLoadTestWithMetricsMetaData = &bind.MetaData{
	ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vrfCoordinator\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"have\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"want\",\"type\":\"address\"}],\"name\":\"OnlyCoordinatorCanFulfill\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"have\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"coordinator\",\"type\":\"address\"}],\"name\":\"OnlyOwnerOrCoordinator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroAddress\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"OwnershipTransferRequested\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_requestId\",\"type\":\"uint256\"}],\"name\":\"getRequestStatus\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"fulfilled\",\"type\":\"bool\"},{\"internalType\":\"uint256[]\",\"name\":\"randomWords\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"requestTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"fulfilmentTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requestBlockNumber\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"fulfilmentBlockNumber\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"requestId\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"randomWords\",\"type\":\"uint256[]\"}],\"name\":\"rawFulfillRandomWords\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_subId\",\"type\":\"uint256\"},{\"internalType\":\"uint16\",\"name\":\"_requestConfirmations\",\"type\":\"uint16\"},{\"internalType\":\"bytes32\",\"name\":\"_keyHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint32\",\"name\":\"_callbackGasLimit\",\"type\":\"uint32\"},{\"internalType\":\"bool\",\"name\":\"_nativePayment\",\"type\":\"bool\"},{\"internalType\":\"uint32\",\"name\":\"_numWords\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"_requestCount\",\"type\":\"uint16\"}],\"name\":\"requestRandomWords\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"reset\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"s_averageResponseTimeInBlocksMillions\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"s_averageResponseTimeInSecondsMillions\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"s_fastestResponseTimeInBlocks\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"s_fastestResponseTimeInSeconds\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"s_lastRequestId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"s_requestCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"s_requests\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"fulfilled\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"requestTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"fulfilmentTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requestBlockNumber\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"fulfilmentBlockNumber\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"s_responseCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"s_slowestResponseTimeInBlocks\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"s_slowestResponseTimeInSeconds\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"s_vrfCoordinator\",\"outputs\":[{\"internalType\":\"contractIVRFCoordinatorV2Plus\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vrfCoordinator\",\"type\":\"address\"}],\"name\":\"setCoordinator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]",
	Bin: "0x6080604052600060055560006006556103e760075560006008556103e76009556000600a5534801561003057600080fd5b506040516200144f3803806200144f833981016040819052610051916101ad565b8033806000816100a85760405162461bcd60e51b815260206004820152601860248201527f43616e6e6f7420736574206f776e657220746f207a65726f000000000000000060448201526064015b60405180910390fd5b600080546001600160a01b0319166001600160a01b03848116919091179091558116156100d8576100d881610103565b5050600280546001600160a01b0319166001600160a01b039390931692909217909155506101dd9050565b6001600160a01b03811633141561015c5760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207472616e7366657220746f2073656c66000000000000000000604482015260640161009f565b600180546001600160a01b0319166001600160a01b0383811691821790925560008054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b6000602082840312156101bf57600080fd5b81516001600160a01b03811681146101d657600080fd5b9392505050565b61126280620001ed6000396000f3fe608060405234801561001057600080fd5b50600436106101515760003560e01c80638ea98117116100cd578063b1e2174911610081578063d8a4676f11610066578063d8a4676f146102ec578063dc1670db14610311578063f2fde38b1461031a57600080fd5b8063b1e21749146102b5578063d826f88f146102be57600080fd5b8063a168fa89116100b2578063a168fa8914610238578063a4c52cf5146102a3578063ad00fe61146102ac57600080fd5b80638ea98117146102055780639eccacf61461021857600080fd5b8063557d2e921161012457806379ba50971161010957806379ba5097146101b557806381a4342c146101bd5780638da5cb5b146101c657600080fd5b8063557d2e92146101995780636846de20146101a257600080fd5b806301e5f828146101565780631742748e146101725780631fe543e31461017b57806339aea80a14610190575b600080fd5b61015f60065481565b6040519081526020015b60405180910390f35b61015f600a5481565b61018e610189366004610e5b565b61032d565b005b61015f60075481565b61015f60045481565b61018e6101b0366004610f4a565b6103b3565b61018e6105d3565b61015f60055481565b60005473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610169565b61018e610213366004610dec565b6106d0565b6002546101e09073ffffffffffffffffffffffffffffffffffffffff1681565b610279610246366004610e29565b600c602052600090815260409020805460028201546003830154600484015460059094015460ff90931693919290919085565b6040805195151586526020860194909452928401919091526060830152608082015260a001610169565b61015f60095481565b61015f60085481565b61015f600b5481565b61018e6000600581905560068190556103e76007819055600a82905560088290556009556004819055600355565b6102ff6102fa366004610e29565b6107db565b60405161016996959493929190610fc9565b61015f60035481565b61018e610328366004610dec565b6108c0565b60025473ffffffffffffffffffffffffffffffffffffffff1633146103a5576002546040517f1cf993f400000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff90911660248201526044015b60405180910390fd5b6103af82826108d4565b5050565b6103bb6109ed565b60005b8161ffff168161ffff1610156105c95760006040518060c001604052808881526020018a81526020018961ffff1681526020018763ffffffff1681526020018563ffffffff1681526020016104226040518060200160405280891515815250610a70565b90526002546040517f9b1c385e00000000000000000000000000000000000000000000000000000000815291925060009173ffffffffffffffffffffffffffffffffffffffff90911690639b1c385e90610480908590600401611035565b602060405180830381600087803b15801561049a57600080fd5b505af11580156104ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d29190610e42565b600b819055905060006104e3610b2c565b6040805160c08101825260008082528251818152602080820185528084019182524284860152606084018390526080840186905260a08401839052878352600c815293909120825181547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169015151781559051805194955091939092610571926001850192910190610d61565b506040820151600282015560608201516003820155608082015160048083019190915560a09092015160059091015580549060006105ae836111be565b919050555050505080806105c19061119c565b9150506103be565b5050505050505050565b60015473ffffffffffffffffffffffffffffffffffffffff163314610654576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d7573742062652070726f706f736564206f776e657200000000000000000000604482015260640161039c565b60008054337fffffffffffffffffffffffff00000000000000000000000000000000000000008083168217845560018054909116905560405173ffffffffffffffffffffffffffffffffffffffff90921692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b60005473ffffffffffffffffffffffffffffffffffffffff163314801590610710575060025473ffffffffffffffffffffffffffffffffffffffff163314155b15610794573361073560005473ffffffffffffffffffffffffffffffffffffffff1690565b6002546040517f061db9c100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9384166004820152918316602483015291909116604482015260640161039c565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000818152600c60209081526040808320815160c081018352815460ff161515815260018201805484518187028101870190955280855260609587958695869586958695919492938584019390929083018282801561085957602002820191906000526020600020905b815481526020019060010190808311610845575b505050505081526020016002820154815260200160038201548152602001600482015481526020016005820154815250509050806000015181602001518260400151836060015184608001518560a001519650965096509650965096505091939550919395565b6108c86109ed565b6108d181610bc9565b50565b6000828152600c6020908152604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600190811782558351610923939290910191840190610d61565b506000828152600c6020526040902042600390910155610941610b2c565b6000838152600c60205260408120600581018390556004015490916109669190611185565b6000848152600c602052604081206002810154600390910154929350909161098e9190611185565b90506109a582600754600654600554600354610cbf565b600555600755600655600954600854600a546003546109c993859390929091610cbf565b600a55600955600855600380549060006109e2836111be565b919050555050505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610a6e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e657200000000000000000000604482015260640161039c565b565b60607f92fd13387c7fe7befbc38d303d6468778fb9731bc4583f17d92989c6fcfdeaaa82604051602401610aa991511515815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915292915050565b600046610b3881610d3a565b15610bc257606473ffffffffffffffffffffffffffffffffffffffff1663a3b1b31d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b8457600080fd5b505afa158015610b98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bbc9190610e42565b91505090565b4391505090565b73ffffffffffffffffffffffffffffffffffffffff8116331415610c49576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f43616e6e6f74207472616e7366657220746f2073656c66000000000000000000604482015260640161039c565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691821790925560008054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b6000808080610cd189620f4240611148565b905086891115610cdf578896505b878910610cec5787610cee565b885b97506000808611610cff5781610d29565b610d0a8660016110f5565b82610d15888a611148565b610d1f91906110f5565b610d29919061110d565b979a98995096979650505050505050565b600061a4b1821480610d4e575062066eed82145b80610d5b575062066eee82145b92915050565b828054828255906000526020600020908101928215610d9c579160200282015b82811115610d9c578251825591602001919060010190610d81565b50610da8929150610dac565b5090565b5b80821115610da85760008155600101610dad565b803561ffff81168114610dd357600080fd5b919050565b803563ffffffff81168114610dd357600080fd5b600060208284031215610dfe57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610e2257600080fd5b9392505050565b600060208284031215610e3b57600080fd5b5035919050565b600060208284031215610e5457600080fd5b5051919050565b60008060408385031215610e6e57600080fd5b8235915060208084013567ffffffffffffffff80821115610e8e57600080fd5b818601915086601f830112610ea257600080fd5b813581811115610eb457610eb4611226565b8060051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f83011681018181108582111715610ef757610ef7611226565b604052828152858101935084860182860187018b1015610f1657600080fd5b600095505b83861015610f39578035855260019590950194938601938601610f1b565b508096505050505050509250929050565b600080600080600080600060e0888a031215610f6557600080fd5b87359650610f7560208901610dc1565b955060408801359450610f8a60608901610dd8565b935060808801358015158114610f9f57600080fd5b9250610fad60a08901610dd8565b9150610fbb60c08901610dc1565b905092959891949750929550565b600060c082018815158352602060c08185015281895180845260e086019150828b01935060005b8181101561100c57845183529383019391830191600101610ff0565b505060408501989098525050506060810193909352608083019190915260a09091015292915050565b6000602080835283518184015280840151604084015261ffff6040850151166060840152606084015163ffffffff80821660808601528060808701511660a0860152505060a084015160c08085015280518060e086015260005b818110156110ac578281018401518682016101000152830161108f565b818111156110bf57600061010083880101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169390930161010001949350505050565b60008219821115611108576111086111f7565b500190565b600082611143577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611180576111806111f7565b500290565b600082821015611197576111976111f7565b500390565b600061ffff808316818114156111b4576111b46111f7565b6001019392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156111f0576111f06111f7565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea164736f6c6343000806000a",
}

Functions

This section is empty.

Types

type GetRequestStatus

type GetRequestStatus struct {
	Fulfilled             bool
	RandomWords           []*big.Int
	RequestTimestamp      *big.Int
	FulfilmentTimestamp   *big.Int
	RequestBlockNumber    *big.Int
	FulfilmentBlockNumber *big.Int
}

type SRequests

type SRequests struct {
	Fulfilled             bool
	RequestTimestamp      *big.Int
	FulfilmentTimestamp   *big.Int
	RequestBlockNumber    *big.Int
	FulfilmentBlockNumber *big.Int
}

type VRFV2PlusLoadTestWithMetrics

type VRFV2PlusLoadTestWithMetrics struct {
	VRFV2PlusLoadTestWithMetricsCaller
	VRFV2PlusLoadTestWithMetricsTransactor
	VRFV2PlusLoadTestWithMetricsFilterer
	// contains filtered or unexported fields
}

func DeployVRFV2PlusLoadTestWithMetrics

func DeployVRFV2PlusLoadTestWithMetrics(auth *bind.TransactOpts, backend bind.ContractBackend, _vrfCoordinator common.Address) (common.Address, *types.Transaction, *VRFV2PlusLoadTestWithMetrics, error)

func NewVRFV2PlusLoadTestWithMetrics

func NewVRFV2PlusLoadTestWithMetrics(address common.Address, backend bind.ContractBackend) (*VRFV2PlusLoadTestWithMetrics, error)

func (*VRFV2PlusLoadTestWithMetrics) Address

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetrics) Address() common.Address

func (*VRFV2PlusLoadTestWithMetrics) ParseLog

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetrics) ParseLog(log types.Log) (generated.AbigenLog, error)

type VRFV2PlusLoadTestWithMetricsCaller

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

func NewVRFV2PlusLoadTestWithMetricsCaller

func NewVRFV2PlusLoadTestWithMetricsCaller(address common.Address, caller bind.ContractCaller) (*VRFV2PlusLoadTestWithMetricsCaller, error)

func (*VRFV2PlusLoadTestWithMetricsCaller) GetRequestStatus

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsCaller) GetRequestStatus(opts *bind.CallOpts, _requestId *big.Int) (GetRequestStatus,

	error)

func (*VRFV2PlusLoadTestWithMetricsCaller) Owner

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsCaller) Owner(opts *bind.CallOpts) (common.Address, error)

func (*VRFV2PlusLoadTestWithMetricsCaller) SAverageResponseTimeInBlocksMillions added in v2.10.0

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsCaller) SAverageResponseTimeInBlocksMillions(opts *bind.CallOpts) (*big.Int, error)

func (*VRFV2PlusLoadTestWithMetricsCaller) SAverageResponseTimeInSecondsMillions added in v2.10.0

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsCaller) SAverageResponseTimeInSecondsMillions(opts *bind.CallOpts) (*big.Int, error)

func (*VRFV2PlusLoadTestWithMetricsCaller) SFastestResponseTimeInBlocks added in v2.10.0

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsCaller) SFastestResponseTimeInBlocks(opts *bind.CallOpts) (*big.Int, error)

func (*VRFV2PlusLoadTestWithMetricsCaller) SFastestResponseTimeInSeconds added in v2.10.0

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsCaller) SFastestResponseTimeInSeconds(opts *bind.CallOpts) (*big.Int, error)

func (*VRFV2PlusLoadTestWithMetricsCaller) SLastRequestId

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsCaller) SLastRequestId(opts *bind.CallOpts) (*big.Int, error)

func (*VRFV2PlusLoadTestWithMetricsCaller) SRequestCount

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsCaller) SRequestCount(opts *bind.CallOpts) (*big.Int, error)

func (*VRFV2PlusLoadTestWithMetricsCaller) SRequests

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsCaller) SRequests(opts *bind.CallOpts, arg0 *big.Int) (SRequests,

	error)

func (*VRFV2PlusLoadTestWithMetricsCaller) SResponseCount

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsCaller) SResponseCount(opts *bind.CallOpts) (*big.Int, error)

func (*VRFV2PlusLoadTestWithMetricsCaller) SSlowestResponseTimeInBlocks added in v2.10.0

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsCaller) SSlowestResponseTimeInBlocks(opts *bind.CallOpts) (*big.Int, error)

func (*VRFV2PlusLoadTestWithMetricsCaller) SSlowestResponseTimeInSeconds added in v2.10.0

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsCaller) SSlowestResponseTimeInSeconds(opts *bind.CallOpts) (*big.Int, error)

func (*VRFV2PlusLoadTestWithMetricsCaller) SVrfCoordinator

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsCaller) SVrfCoordinator(opts *bind.CallOpts) (common.Address, error)

type VRFV2PlusLoadTestWithMetricsCallerRaw

type VRFV2PlusLoadTestWithMetricsCallerRaw struct {
	Contract *VRFV2PlusLoadTestWithMetricsCaller
}

func (*VRFV2PlusLoadTestWithMetricsCallerRaw) Call

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

type VRFV2PlusLoadTestWithMetricsCallerSession

type VRFV2PlusLoadTestWithMetricsCallerSession struct {
	Contract *VRFV2PlusLoadTestWithMetricsCaller
	CallOpts bind.CallOpts
}

func (*VRFV2PlusLoadTestWithMetricsCallerSession) GetRequestStatus

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsCallerSession) GetRequestStatus(_requestId *big.Int) (GetRequestStatus,

	error)

func (*VRFV2PlusLoadTestWithMetricsCallerSession) Owner

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsCallerSession) Owner() (common.Address, error)

func (*VRFV2PlusLoadTestWithMetricsCallerSession) SAverageResponseTimeInBlocksMillions added in v2.10.0

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsCallerSession) SAverageResponseTimeInBlocksMillions() (*big.Int, error)

func (*VRFV2PlusLoadTestWithMetricsCallerSession) SAverageResponseTimeInSecondsMillions added in v2.10.0

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsCallerSession) SAverageResponseTimeInSecondsMillions() (*big.Int, error)

func (*VRFV2PlusLoadTestWithMetricsCallerSession) SFastestResponseTimeInBlocks added in v2.10.0

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsCallerSession) SFastestResponseTimeInBlocks() (*big.Int, error)

func (*VRFV2PlusLoadTestWithMetricsCallerSession) SFastestResponseTimeInSeconds added in v2.10.0

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsCallerSession) SFastestResponseTimeInSeconds() (*big.Int, error)

func (*VRFV2PlusLoadTestWithMetricsCallerSession) SLastRequestId

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsCallerSession) SLastRequestId() (*big.Int, error)

func (*VRFV2PlusLoadTestWithMetricsCallerSession) SRequestCount

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsCallerSession) SRequestCount() (*big.Int, error)

func (*VRFV2PlusLoadTestWithMetricsCallerSession) SRequests

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsCallerSession) SRequests(arg0 *big.Int) (SRequests,

	error)

func (*VRFV2PlusLoadTestWithMetricsCallerSession) SResponseCount

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsCallerSession) SResponseCount() (*big.Int, error)

func (*VRFV2PlusLoadTestWithMetricsCallerSession) SSlowestResponseTimeInBlocks added in v2.10.0

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsCallerSession) SSlowestResponseTimeInBlocks() (*big.Int, error)

func (*VRFV2PlusLoadTestWithMetricsCallerSession) SSlowestResponseTimeInSeconds added in v2.10.0

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsCallerSession) SSlowestResponseTimeInSeconds() (*big.Int, error)

func (*VRFV2PlusLoadTestWithMetricsCallerSession) SVrfCoordinator

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsCallerSession) SVrfCoordinator() (common.Address, error)

type VRFV2PlusLoadTestWithMetricsFilterer

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

func NewVRFV2PlusLoadTestWithMetricsFilterer

func NewVRFV2PlusLoadTestWithMetricsFilterer(address common.Address, filterer bind.ContractFilterer) (*VRFV2PlusLoadTestWithMetricsFilterer, error)

func (*VRFV2PlusLoadTestWithMetricsFilterer) FilterOwnershipTransferRequested

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsFilterer) FilterOwnershipTransferRequested(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*VRFV2PlusLoadTestWithMetricsOwnershipTransferRequestedIterator, error)

func (*VRFV2PlusLoadTestWithMetricsFilterer) FilterOwnershipTransferred

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*VRFV2PlusLoadTestWithMetricsOwnershipTransferredIterator, error)

func (*VRFV2PlusLoadTestWithMetricsFilterer) ParseOwnershipTransferRequested

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsFilterer) ParseOwnershipTransferRequested(log types.Log) (*VRFV2PlusLoadTestWithMetricsOwnershipTransferRequested, error)

func (*VRFV2PlusLoadTestWithMetricsFilterer) ParseOwnershipTransferred

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsFilterer) ParseOwnershipTransferred(log types.Log) (*VRFV2PlusLoadTestWithMetricsOwnershipTransferred, error)

func (*VRFV2PlusLoadTestWithMetricsFilterer) WatchOwnershipTransferRequested

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsFilterer) WatchOwnershipTransferRequested(opts *bind.WatchOpts, sink chan<- *VRFV2PlusLoadTestWithMetricsOwnershipTransferRequested, from []common.Address, to []common.Address) (event.Subscription, error)

func (*VRFV2PlusLoadTestWithMetricsFilterer) WatchOwnershipTransferred

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *VRFV2PlusLoadTestWithMetricsOwnershipTransferred, from []common.Address, to []common.Address) (event.Subscription, error)

type VRFV2PlusLoadTestWithMetricsInterface

type VRFV2PlusLoadTestWithMetricsInterface interface {
	GetRequestStatus(opts *bind.CallOpts, _requestId *big.Int) (GetRequestStatus,

		error)

	Owner(opts *bind.CallOpts) (common.Address, error)

	SAverageResponseTimeInBlocksMillions(opts *bind.CallOpts) (*big.Int, error)

	SAverageResponseTimeInSecondsMillions(opts *bind.CallOpts) (*big.Int, error)

	SFastestResponseTimeInBlocks(opts *bind.CallOpts) (*big.Int, error)

	SFastestResponseTimeInSeconds(opts *bind.CallOpts) (*big.Int, error)

	SLastRequestId(opts *bind.CallOpts) (*big.Int, error)

	SRequestCount(opts *bind.CallOpts) (*big.Int, error)

	SRequests(opts *bind.CallOpts, arg0 *big.Int) (SRequests,

		error)

	SResponseCount(opts *bind.CallOpts) (*big.Int, error)

	SSlowestResponseTimeInBlocks(opts *bind.CallOpts) (*big.Int, error)

	SSlowestResponseTimeInSeconds(opts *bind.CallOpts) (*big.Int, error)

	SVrfCoordinator(opts *bind.CallOpts) (common.Address, error)

	AcceptOwnership(opts *bind.TransactOpts) (*types.Transaction, error)

	RawFulfillRandomWords(opts *bind.TransactOpts, requestId *big.Int, randomWords []*big.Int) (*types.Transaction, error)

	RequestRandomWords(opts *bind.TransactOpts, _subId *big.Int, _requestConfirmations uint16, _keyHash [32]byte, _callbackGasLimit uint32, _nativePayment bool, _numWords uint32, _requestCount uint16) (*types.Transaction, error)

	Reset(opts *bind.TransactOpts) (*types.Transaction, error)

	SetCoordinator(opts *bind.TransactOpts, _vrfCoordinator common.Address) (*types.Transaction, error)

	TransferOwnership(opts *bind.TransactOpts, to common.Address) (*types.Transaction, error)

	FilterOwnershipTransferRequested(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*VRFV2PlusLoadTestWithMetricsOwnershipTransferRequestedIterator, error)

	WatchOwnershipTransferRequested(opts *bind.WatchOpts, sink chan<- *VRFV2PlusLoadTestWithMetricsOwnershipTransferRequested, from []common.Address, to []common.Address) (event.Subscription, error)

	ParseOwnershipTransferRequested(log types.Log) (*VRFV2PlusLoadTestWithMetricsOwnershipTransferRequested, error)

	FilterOwnershipTransferred(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*VRFV2PlusLoadTestWithMetricsOwnershipTransferredIterator, error)

	WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *VRFV2PlusLoadTestWithMetricsOwnershipTransferred, from []common.Address, to []common.Address) (event.Subscription, error)

	ParseOwnershipTransferred(log types.Log) (*VRFV2PlusLoadTestWithMetricsOwnershipTransferred, error)

	ParseLog(log types.Log) (generated.AbigenLog, error)

	Address() common.Address
}

type VRFV2PlusLoadTestWithMetricsOwnershipTransferRequested

type VRFV2PlusLoadTestWithMetricsOwnershipTransferRequested struct {
	From common.Address
	To   common.Address
	Raw  types.Log
}

func (VRFV2PlusLoadTestWithMetricsOwnershipTransferRequested) Topic

type VRFV2PlusLoadTestWithMetricsOwnershipTransferRequestedIterator

type VRFV2PlusLoadTestWithMetricsOwnershipTransferRequestedIterator struct {
	Event *VRFV2PlusLoadTestWithMetricsOwnershipTransferRequested
	// contains filtered or unexported fields
}

func (*VRFV2PlusLoadTestWithMetricsOwnershipTransferRequestedIterator) Close

func (*VRFV2PlusLoadTestWithMetricsOwnershipTransferRequestedIterator) Error

func (*VRFV2PlusLoadTestWithMetricsOwnershipTransferRequestedIterator) Next

type VRFV2PlusLoadTestWithMetricsOwnershipTransferred

type VRFV2PlusLoadTestWithMetricsOwnershipTransferred struct {
	From common.Address
	To   common.Address
	Raw  types.Log
}

func (VRFV2PlusLoadTestWithMetricsOwnershipTransferred) Topic

type VRFV2PlusLoadTestWithMetricsOwnershipTransferredIterator

type VRFV2PlusLoadTestWithMetricsOwnershipTransferredIterator struct {
	Event *VRFV2PlusLoadTestWithMetricsOwnershipTransferred
	// contains filtered or unexported fields
}

func (*VRFV2PlusLoadTestWithMetricsOwnershipTransferredIterator) Close

func (*VRFV2PlusLoadTestWithMetricsOwnershipTransferredIterator) Error

func (*VRFV2PlusLoadTestWithMetricsOwnershipTransferredIterator) Next

type VRFV2PlusLoadTestWithMetricsRaw

type VRFV2PlusLoadTestWithMetricsRaw struct {
	Contract *VRFV2PlusLoadTestWithMetrics
}

func (*VRFV2PlusLoadTestWithMetricsRaw) Call

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

func (*VRFV2PlusLoadTestWithMetricsRaw) Transact

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

func (*VRFV2PlusLoadTestWithMetricsRaw) Transfer

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

type VRFV2PlusLoadTestWithMetricsSession

type VRFV2PlusLoadTestWithMetricsSession struct {
	Contract     *VRFV2PlusLoadTestWithMetrics
	CallOpts     bind.CallOpts
	TransactOpts bind.TransactOpts
}

func (*VRFV2PlusLoadTestWithMetricsSession) AcceptOwnership

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsSession) AcceptOwnership() (*types.Transaction, error)

func (*VRFV2PlusLoadTestWithMetricsSession) GetRequestStatus

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsSession) GetRequestStatus(_requestId *big.Int) (GetRequestStatus,

	error)

func (*VRFV2PlusLoadTestWithMetricsSession) Owner

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsSession) Owner() (common.Address, error)

func (*VRFV2PlusLoadTestWithMetricsSession) RawFulfillRandomWords

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsSession) RawFulfillRandomWords(requestId *big.Int, randomWords []*big.Int) (*types.Transaction, error)

func (*VRFV2PlusLoadTestWithMetricsSession) RequestRandomWords

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsSession) RequestRandomWords(_subId *big.Int, _requestConfirmations uint16, _keyHash [32]byte, _callbackGasLimit uint32, _nativePayment bool, _numWords uint32, _requestCount uint16) (*types.Transaction, error)

func (*VRFV2PlusLoadTestWithMetricsSession) Reset

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsSession) Reset() (*types.Transaction, error)

func (*VRFV2PlusLoadTestWithMetricsSession) SAverageResponseTimeInBlocksMillions added in v2.10.0

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsSession) SAverageResponseTimeInBlocksMillions() (*big.Int, error)

func (*VRFV2PlusLoadTestWithMetricsSession) SAverageResponseTimeInSecondsMillions added in v2.10.0

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsSession) SAverageResponseTimeInSecondsMillions() (*big.Int, error)

func (*VRFV2PlusLoadTestWithMetricsSession) SFastestResponseTimeInBlocks added in v2.10.0

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsSession) SFastestResponseTimeInBlocks() (*big.Int, error)

func (*VRFV2PlusLoadTestWithMetricsSession) SFastestResponseTimeInSeconds added in v2.10.0

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsSession) SFastestResponseTimeInSeconds() (*big.Int, error)

func (*VRFV2PlusLoadTestWithMetricsSession) SLastRequestId

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsSession) SLastRequestId() (*big.Int, error)

func (*VRFV2PlusLoadTestWithMetricsSession) SRequestCount

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsSession) SRequestCount() (*big.Int, error)

func (*VRFV2PlusLoadTestWithMetricsSession) SRequests

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsSession) SRequests(arg0 *big.Int) (SRequests,

	error)

func (*VRFV2PlusLoadTestWithMetricsSession) SResponseCount

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsSession) SResponseCount() (*big.Int, error)

func (*VRFV2PlusLoadTestWithMetricsSession) SSlowestResponseTimeInBlocks added in v2.10.0

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsSession) SSlowestResponseTimeInBlocks() (*big.Int, error)

func (*VRFV2PlusLoadTestWithMetricsSession) SSlowestResponseTimeInSeconds added in v2.10.0

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsSession) SSlowestResponseTimeInSeconds() (*big.Int, error)

func (*VRFV2PlusLoadTestWithMetricsSession) SVrfCoordinator

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsSession) SVrfCoordinator() (common.Address, error)

func (*VRFV2PlusLoadTestWithMetricsSession) SetCoordinator

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsSession) SetCoordinator(_vrfCoordinator common.Address) (*types.Transaction, error)

func (*VRFV2PlusLoadTestWithMetricsSession) TransferOwnership

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsSession) TransferOwnership(to common.Address) (*types.Transaction, error)

type VRFV2PlusLoadTestWithMetricsTransactor

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

func NewVRFV2PlusLoadTestWithMetricsTransactor

func NewVRFV2PlusLoadTestWithMetricsTransactor(address common.Address, transactor bind.ContractTransactor) (*VRFV2PlusLoadTestWithMetricsTransactor, error)

func (*VRFV2PlusLoadTestWithMetricsTransactor) AcceptOwnership

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsTransactor) AcceptOwnership(opts *bind.TransactOpts) (*types.Transaction, error)

func (*VRFV2PlusLoadTestWithMetricsTransactor) RawFulfillRandomWords

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsTransactor) RawFulfillRandomWords(opts *bind.TransactOpts, requestId *big.Int, randomWords []*big.Int) (*types.Transaction, error)

func (*VRFV2PlusLoadTestWithMetricsTransactor) RequestRandomWords

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsTransactor) RequestRandomWords(opts *bind.TransactOpts, _subId *big.Int, _requestConfirmations uint16, _keyHash [32]byte, _callbackGasLimit uint32, _nativePayment bool, _numWords uint32, _requestCount uint16) (*types.Transaction, error)

func (*VRFV2PlusLoadTestWithMetricsTransactor) Reset

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsTransactor) Reset(opts *bind.TransactOpts) (*types.Transaction, error)

func (*VRFV2PlusLoadTestWithMetricsTransactor) SetCoordinator

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsTransactor) SetCoordinator(opts *bind.TransactOpts, _vrfCoordinator common.Address) (*types.Transaction, error)

func (*VRFV2PlusLoadTestWithMetricsTransactor) TransferOwnership

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsTransactor) TransferOwnership(opts *bind.TransactOpts, to common.Address) (*types.Transaction, error)

type VRFV2PlusLoadTestWithMetricsTransactorRaw

type VRFV2PlusLoadTestWithMetricsTransactorRaw struct {
	Contract *VRFV2PlusLoadTestWithMetricsTransactor
}

func (*VRFV2PlusLoadTestWithMetricsTransactorRaw) Transact

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

func (*VRFV2PlusLoadTestWithMetricsTransactorRaw) Transfer

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

type VRFV2PlusLoadTestWithMetricsTransactorSession

type VRFV2PlusLoadTestWithMetricsTransactorSession struct {
	Contract     *VRFV2PlusLoadTestWithMetricsTransactor
	TransactOpts bind.TransactOpts
}

func (*VRFV2PlusLoadTestWithMetricsTransactorSession) AcceptOwnership

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsTransactorSession) AcceptOwnership() (*types.Transaction, error)

func (*VRFV2PlusLoadTestWithMetricsTransactorSession) RawFulfillRandomWords

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsTransactorSession) RawFulfillRandomWords(requestId *big.Int, randomWords []*big.Int) (*types.Transaction, error)

func (*VRFV2PlusLoadTestWithMetricsTransactorSession) RequestRandomWords

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsTransactorSession) RequestRandomWords(_subId *big.Int, _requestConfirmations uint16, _keyHash [32]byte, _callbackGasLimit uint32, _nativePayment bool, _numWords uint32, _requestCount uint16) (*types.Transaction, error)

func (*VRFV2PlusLoadTestWithMetricsTransactorSession) Reset

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsTransactorSession) Reset() (*types.Transaction, error)

func (*VRFV2PlusLoadTestWithMetricsTransactorSession) SetCoordinator

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsTransactorSession) SetCoordinator(_vrfCoordinator common.Address) (*types.Transaction, error)

func (*VRFV2PlusLoadTestWithMetricsTransactorSession) TransferOwnership

func (_VRFV2PlusLoadTestWithMetrics *VRFV2PlusLoadTestWithMetricsTransactorSession) TransferOwnership(to common.Address) (*types.Transaction, error)

Jump to

Keyboard shortcuts

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