vrf_coordinator

package
v1.12.1-rc0 Latest Latest
Warning

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

Go to latest
Published: Feb 21, 2023 License: MIT Imports: 11 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

View Source
var VRFCoordinatorABI = VRFCoordinatorMetaData.ABI
View Source
var VRFCoordinatorBin = VRFCoordinatorMetaData.Bin
View Source
var VRFCoordinatorMetaData = &bind.MetaData{
	ABI: "[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"beaconPeriodBlocksArg\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"linkToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"linkEthFeed\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"internalBalance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"externalBalance\",\"type\":\"uint256\"}],\"name\":\"BalanceInvariantViolated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BeaconPeriodMustBePositive\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"requestHeight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"earliestAllowed\",\"type\":\"uint256\"}],\"name\":\"BlockTooRecent\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"firstDelay\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"minDelay\",\"type\":\"uint16\"}],\"name\":\"ConfirmationDelayBlocksTooShort\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint16[10]\",\"name\":\"confirmationDelays\",\"type\":\"uint16[10]\"},{\"internalType\":\"uint8\",\"name\":\"violatingIndex\",\"type\":\"uint8\"}],\"name\":\"ConfirmationDelaysNotIncreasing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"reportHeight\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"separatorHeight\",\"type\":\"uint64\"}],\"name\":\"HistoryDomainSeparatorTooOld\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidBillingConfig\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCalldata\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"subId\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"consumer\",\"type\":\"address\"}],\"name\":\"InvalidConsumer\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidJuelsConversion\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSubscription\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"proposedOwner\",\"type\":\"address\"}],\"name\":\"MustBeRequestedOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"MustBeSubOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoWordsRequested\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint16[10]\",\"name\":\"confDelays\",\"type\":\"uint16[10]\"}],\"name\":\"NonZeroDelayAfterZeroDelay\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCallableFromLink\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PendingRequestExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"VRFBeaconTypes.RequestID\",\"name\":\"requestID\",\"type\":\"uint48\"},{\"internalType\":\"uint256\",\"name\":\"requestHeight\",\"type\":\"uint256\"}],\"name\":\"RandomnessNotAvailable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Reentrant\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"expected\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"actual\",\"type\":\"address\"}],\"name\":\"ResponseMustBeRetrievedByRequester\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooManyConsumers\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooManyRequestsReplaceContract\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooManySlotsReplaceContract\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"requested\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"max\",\"type\":\"uint256\"}],\"name\":\"TooManyWords\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockHeight\",\"type\":\"uint256\"}],\"name\":\"UniverseHasEndedBangBangBang\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"VRFBeaconTypes.ConfirmationDelay\",\"name\":\"givenDelay\",\"type\":\"uint24\"},{\"internalType\":\"VRFBeaconTypes.ConfirmationDelay[8]\",\"name\":\"knownDelays\",\"type\":\"uint24[8]\"}],\"name\":\"UnknownConfirmationDelay\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"previousConfigBlockNumber\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"configDigest\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"configCount\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"signers\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"transmitters\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"f\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"onchainConfig\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"offchainConfigVersion\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"offchainConfig\",\"type\":\"bytes\"}],\"name\":\"ConfigSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"FundsRecovered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"aggregatorRoundId\",\"type\":\"uint32\"},{\"indexed\":true,\"internalType\":\"uint40\",\"name\":\"epochAndRound\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"transmitter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint192\",\"name\":\"juelsPerFeeCoin\",\"type\":\"uint192\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"reasonableGasPrice\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"configDigest\",\"type\":\"bytes32\"}],\"name\":\"NewTransmission\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"recentBlockHeight\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"transmitter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint192\",\"name\":\"juelsPerFeeCoin\",\"type\":\"uint192\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"reasonableGasPrice\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"uint64\",\"name\":\"height\",\"type\":\"uint64\"},{\"internalType\":\"VRFBeaconTypes.ConfirmationDelay\",\"name\":\"confirmationDelay\",\"type\":\"uint24\"},{\"internalType\":\"uint256\",\"name\":\"proofG1X\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proofG1Y\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"structVRFBeaconTypes.OutputServed[]\",\"name\":\"outputsServed\",\"type\":\"tuple[]\"}],\"name\":\"OutputsServed\",\"type\":\"event\"},{\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"VRFBeaconTypes.RequestID[]\",\"name\":\"requestIDs\",\"type\":\"uint48[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"successfulFulfillment\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes[]\",\"name\":\"truncatedErrorData\",\"type\":\"bytes[]\"}],\"name\":\"RandomWordsFulfilled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"VRFBeaconTypes.RequestID\",\"name\":\"requestID\",\"type\":\"uint48\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"nextBeaconOutputHeight\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"VRFBeaconTypes.ConfirmationDelay\",\"name\":\"confDelay\",\"type\":\"uint24\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"subID\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"numWords\",\"type\":\"uint16\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"gasAllowance\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weiPerUnitLink\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"arguments\",\"type\":\"bytes\"}],\"name\":\"RandomnessFulfillmentRequested\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"VRFBeaconTypes.RequestID\",\"name\":\"requestID\",\"type\":\"uint48\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"nextBeaconOutputHeight\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"VRFBeaconTypes.ConfirmationDelay\",\"name\":\"confDelay\",\"type\":\"uint24\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"subID\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"numWords\",\"type\":\"uint16\"}],\"name\":\"RandomnessRequested\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"subId\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"SubscriptionCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"subId\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"consumer\",\"type\":\"address\"}],\"name\":\"SubscriptionConsumerAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"subId\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"consumer\",\"type\":\"address\"}],\"name\":\"SubscriptionConsumerRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"subId\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"SubscriptionCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"subId\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"}],\"name\":\"SubscriptionFunded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"subId\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"SubscriptionOwnerTransferRequested\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"subId\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"SubscriptionOwnerTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"LINK\",\"outputs\":[{\"internalType\":\"contractLinkTokenInterface\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LINK_ETH_FEED\",\"outputs\":[{\"internalType\":\"contractAggregatorV3Interface\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_CONSUMERS\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NUM_CONF_DELAYS\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"subId\",\"type\":\"uint64\"}],\"name\":\"acceptSubscriptionOwnerTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"subId\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"consumer\",\"type\":\"address\"}],\"name\":\"addConsumer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"recipients\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"paymentsInJuels\",\"type\":\"uint256[]\"}],\"name\":\"batchTransferLink\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"VRFBeaconTypes.RequestID\",\"name\":\"requestID\",\"type\":\"uint48\"},{\"internalType\":\"uint16\",\"name\":\"numWords\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"arguments\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"subID\",\"type\":\"uint64\"},{\"internalType\":\"uint96\",\"name\":\"gasAllowance\",\"type\":\"uint96\"},{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weiPerUnitLink\",\"type\":\"uint256\"}],\"internalType\":\"structVRFBeaconTypes.Callback\",\"name\":\"callback\",\"type\":\"tuple\"}],\"name\":\"calculateRequestPriceCallbackJuels\",\"outputs\":[{\"internalType\":\"uint96\",\"name\":\"\",\"type\":\"uint96\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"calculateRequestPriceJuels\",\"outputs\":[{\"internalType\":\"uint96\",\"name\":\"\",\"type\":\"uint96\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"subId\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"cancelSubscription\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"createSubscription\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"consumers\",\"type\":\"address[]\"}],\"name\":\"forgetConsumerSubscriptionID\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"VRFBeaconTypes.RequestID\",\"name\":\"requestId\",\"type\":\"uint48\"}],\"name\":\"getBeaconRequest\",\"outputs\":[{\"components\":[{\"internalType\":\"VRFBeaconTypes.SlotNumber\",\"name\":\"slotNumber\",\"type\":\"uint32\"},{\"internalType\":\"VRFBeaconTypes.ConfirmationDelay\",\"name\":\"confirmationDelay\",\"type\":\"uint24\"},{\"internalType\":\"uint16\",\"name\":\"numWords\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"}],\"internalType\":\"structVRFBeaconTypes.BeaconRequest\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"VRFBeaconTypes.RequestID\",\"name\":\"requestId\",\"type\":\"uint48\"}],\"name\":\"getCallbackMemo\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getConfirmationDelays\",\"outputs\":[{\"internalType\":\"VRFBeaconTypes.ConfirmationDelay[8]\",\"name\":\"\",\"type\":\"uint24[8]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentSubId\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"subId\",\"type\":\"uint64\"}],\"name\":\"getSubscription\",\"outputs\":[{\"internalType\":\"uint96\",\"name\":\"balance\",\"type\":\"uint96\"},{\"internalType\":\"uint64\",\"name\":\"reqCount\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"consumers\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalLinkBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"i_StartSlot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"i_beaconPeriodBlocks\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxNumWords\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"minDelay\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onTokenTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"blockHeight\",\"type\":\"uint64\"},{\"internalType\":\"VRFBeaconTypes.ConfirmationDelay\",\"name\":\"confirmationDelay\",\"type\":\"uint24\"},{\"components\":[{\"internalType\":\"uint256[2]\",\"name\":\"p\",\"type\":\"uint256[2]\"}],\"internalType\":\"structECCArithmetic.G1Point\",\"name\":\"vrfOutput\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"VRFBeaconTypes.RequestID\",\"name\":\"requestID\",\"type\":\"uint48\"},{\"internalType\":\"uint16\",\"name\":\"numWords\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"arguments\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"subID\",\"type\":\"uint64\"},{\"internalType\":\"uint96\",\"name\":\"gasAllowance\",\"type\":\"uint96\"},{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weiPerUnitLink\",\"type\":\"uint256\"}],\"internalType\":\"structVRFBeaconTypes.Callback\",\"name\":\"callback\",\"type\":\"tuple\"},{\"internalType\":\"uint96\",\"name\":\"price\",\"type\":\"uint96\"}],\"internalType\":\"structVRFBeaconTypes.CostedCallback[]\",\"name\":\"callbacks\",\"type\":\"tuple[]\"}],\"internalType\":\"structVRFBeaconTypes.VRFOutput[]\",\"name\":\"vrfOutputs\",\"type\":\"tuple[]\"},{\"internalType\":\"uint192\",\"name\":\"juelsPerFeeCoin\",\"type\":\"uint192\"},{\"internalType\":\"uint64\",\"name\":\"reasonableGasPrice\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"blockHeight\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"processVRFOutputs\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"height\",\"type\":\"uint64\"},{\"internalType\":\"VRFBeaconTypes.ConfirmationDelay\",\"name\":\"confirmationDelay\",\"type\":\"uint24\"},{\"internalType\":\"uint256\",\"name\":\"proofG1X\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proofG1Y\",\"type\":\"uint256\"}],\"internalType\":\"structVRFBeaconTypes.OutputServed[]\",\"name\":\"outputs\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"producer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"recoverFunds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"VRFBeaconTypes.RequestID\",\"name\":\"requestID\",\"type\":\"uint48\"}],\"name\":\"redeemRandomness\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"randomness\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"subId\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"consumer\",\"type\":\"address\"}],\"name\":\"removeConsumer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"numWords\",\"type\":\"uint16\"},{\"internalType\":\"uint64\",\"name\":\"subID\",\"type\":\"uint64\"},{\"internalType\":\"VRFBeaconTypes.ConfirmationDelay\",\"name\":\"confirmationDelayArg\",\"type\":\"uint24\"}],\"name\":\"requestRandomness\",\"outputs\":[{\"internalType\":\"VRFBeaconTypes.RequestID\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"subID\",\"type\":\"uint64\"},{\"internalType\":\"uint16\",\"name\":\"numWords\",\"type\":\"uint16\"},{\"internalType\":\"VRFBeaconTypes.ConfirmationDelay\",\"name\":\"confirmationDelayArg\",\"type\":\"uint24\"},{\"internalType\":\"uint32\",\"name\":\"callbackGasLimit\",\"type\":\"uint32\"},{\"internalType\":\"bytes\",\"name\":\"arguments\",\"type\":\"bytes\"}],\"name\":\"requestRandomnessFulfillment\",\"outputs\":[{\"internalType\":\"VRFBeaconTypes.RequestID\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"subId\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"requestSubscriptionOwnerTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"useReasonableGasPrice\",\"type\":\"bool\"},{\"internalType\":\"uint8\",\"name\":\"unusedGasPenaltyPercent\",\"type\":\"uint8\"},{\"internalType\":\"uint32\",\"name\":\"stalenessSeconds\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"redeemableRequestGasOverhead\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"callbackRequestGasOverhead\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"premiumPercentage\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"reasonableGasPriceStalenessBlocks\",\"type\":\"uint32\"},{\"internalType\":\"int256\",\"name\":\"fallbackWeiPerUnitLink\",\"type\":\"int256\"}],\"internalType\":\"structVRFBeaconTypes.BillingConfig\",\"name\":\"billingConfig\",\"type\":\"tuple\"}],\"name\":\"setBillingConfig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"VRFBeaconTypes.ConfirmationDelay[8]\",\"name\":\"confDelays\",\"type\":\"uint24[8]\"}],\"name\":\"setConfirmationDelays\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"setProducer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"gasPrice\",\"type\":\"uint64\"}],\"name\":\"setReasonableGasPrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"juelsAmount\",\"type\":\"uint256\"}],\"name\":\"transferLink\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]",
	Bin: "0x6101006040523480156200001257600080fd5b50604051620053b3380380620053b38339810160408190526200003591620002b5565b818133806000816200008e5760405162461bcd60e51b815260206004820152601860248201527f43616e6e6f7420736574206f776e657220746f207a65726f000000000000000060448201526064015b60405180910390fd5b600080546001600160a01b0319166001600160a01b0384811691909117909155811615620000c157620000c1816200015e565b5050506001600160a01b039182166080521660a0526000839003620000f957604051632abc297960e01b815260040160405180910390fd5b8260c081815250506000620001186200020960201b620028661760201c565b9050600060c051826200012c9190620002f6565b905060008160c0516200014091906200032f565b90506200014e818462000349565b60e052506200037e945050505050565b336001600160a01b03821603620001b85760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207472616e7366657220746f2073656c66000000000000000000604482015260640162000085565b600180546001600160a01b0319166001600160a01b0383811691821790925560008054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b60004661a4b18114806200021f575062066eed81145b15620002915760646001600160a01b031663a3b1b31d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000265573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200028b919062000364565b91505090565b4391505090565b80516001600160a01b0381168114620002b057600080fd5b919050565b600080600060608486031215620002cb57600080fd5b83519250620002dd6020850162000298565b9150620002ed6040850162000298565b90509250925092565b6000826200031457634e487b7160e01b600052601260045260246000fd5b500690565b634e487b7160e01b600052601160045260246000fd5b60008282101562000344576200034462000319565b500390565b600082198211156200035f576200035f62000319565b500190565b6000602082840312156200037757600080fd5b5051919050565b60805160a05160c05160e051614fae62000405600039600061063201526000818161060b01528181610e49015281816130cc015281816130fb01528181613133015261378f0152600081816105d30152613541015260008181610310015281816118d901528181611db4015281816123820152818161248501526127ad0152614fae6000f3fe608060405234801561001057600080fd5b50600436106102ad5760003560e01c80638da5cb5b1161017b578063cd0593df116100d8578063dc92accf1161008c578063f2fde38b11610071578063f2fde38b146106d7578063f645dcb1146106ea578063f99b1d68146106fd57600080fd5b8063dc92accf1461069a578063e72f6e30146106c457600080fd5b8063d35dc3a7116100bd578063d35dc3a714610654578063d7ae1d3014610667578063d9c613681461067a57600080fd5b8063cd0593df14610606578063cf7e754a1461062d57600080fd5b8063a47c76961161012f578063ad17836111610114578063ad178361146105ce578063bbcdd0d8146105f5578063c63c4e9b146105fe57600080fd5b8063a47c769614610598578063a4c0ed36146105bb57600080fd5b80639e3616f4116101605780639e3616f41461056a5780639f87fad71461057d578063a21a23e41461059057600080fd5b80638da5cb5b146105465780638eef585f1461055757600080fd5b806345ccbb8b1161022957806374d84611116101dd57806382359740116101c257806382359740146104f657806385c64e11146105095780638a8a13901461051e57600080fd5b806374d84611146104ce57806379ba5097146104ee57600080fd5b806364d51a2a1161020e57806364d51a2a1461048d5780637341c10c146104a857806373433a2f146104bb57600080fd5b806345ccbb8b1461045f57806346942d181461047a57600080fd5b80632a5e19f6116102805780632d9297b0116102655780632d9297b0146104125780632f7527cc14610432578063376126721461044c57600080fd5b80632a5e19f61461034a5780632b38bafc146103ff57600080fd5b806304c357cb146102b257806305f4acc6146102c757806306bfa637146102da5780631b6b6d231461030b575b600080fd5b6102c56102c0366004613d94565b610710565b005b6102c56102d5366004613dc7565b610854565b600154600160a01b90046001600160401b03165b6040516001600160401b0390911681526020015b60405180910390f35b6103327f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610302565b6103f2610358366004613df8565b6040805160808101825260008082526020820181905291810182905260608101919091525065ffffffffffff166000908152601160209081526040918290208251608081018452905463ffffffff81168252640100000000810462ffffff1692820192909252670100000000000000820461ffff1692810192909252690100000000000000000090046001600160a01b0316606082015290565b6040516103029190613e13565b6102c561040d366004613e56565b6108c3565b61041a6108ed565b6040516001600160601b039091168152602001610302565b61043a600881565b60405160ff9091168152602001610302565b600b54610332906001600160a01b031681565b6002546001600160601b03165b604051908152602001610302565b6102c5610488366004613e71565b610931565b610495606481565b60405161ffff9091168152602001610302565b6102c56104b6366004613d94565b610998565b6102c56104c9366004613ed5565b610b57565b6104e16104dc366004613df8565b610d4b565b6040516103029190613f7b565b6102c5610f7c565b6102c5610504366004613dc7565b61102d565b61051161119b565b6040516103029190613fb6565b61046c61052c366004613df8565b65ffffffffffff166000908152600c602052604090205490565b6000546001600160a01b0316610332565b6102c5610565366004613fc5565b611200565b6102c5610578366004613ff0565b61125e565b6102c561058b366004613d94565b6112e8565b6102ee61160c565b6105ab6105a6366004613dc7565b6117b0565b6040516103029493929190614031565b6102c56105c93660046140ac565b6118aa565b6103327f000000000000000000000000000000000000000000000000000000000000000081565b61046c6103e881565b610495600381565b61046c7f000000000000000000000000000000000000000000000000000000000000000081565b61046c7f000000000000000000000000000000000000000000000000000000000000000081565b61041a610662366004614350565b611aa4565b6102c5610675366004613d94565b611b0c565b61068d610688366004614384565b611edb565b604051610302919061447d565b6106ad6106a83660046144a3565b61219e565b60405165ffffffffffff9091168152602001610302565b6102c56106d2366004613e56565b612349565b6102c56106e5366004613e56565b61253d565b6106ad6106f83660046144f8565b61254e565b6102c561070b366004614579565b6126f9565b6001600160401b03821660009081526008602052604090205482906001600160a01b03168061075257604051630fb532db60e11b815260040160405180910390fd5b336001600160a01b0382161461078b57604051636c51fda960e11b81526001600160a01b03821660048201526024015b60405180910390fd5b60065460ff16156107af5760405163769dd35360e11b815260040160405180910390fd5b6001600160401b0384166000908152600860205260409020600101546001600160a01b0384811691161461084e576001600160401b03841660008181526008602090815260409182902060010180546001600160a01b0319166001600160a01b0388169081179091558251338152918201527f69436ea6df009049404f564eff6622cd00522b0bd6a89efd9e52a355c4a879be91015b60405180910390a25b50505050565b60045460ff16156108c05760408051808201909152436001600160401b039081168083529083166020909201829052600780547fffffffffffffffffffffffffffffffff0000000000000000000000000000000016909117680100000000000000009092029190911790555b50565b6108cb6128ea565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b6000806108f8612946565b60045461091591906601000000000000900463ffffffff166145b9565b6001600160401b0316905061092b8160006129ff565b91505090565b6109396128ea565b606461094b60408301602084016145f7565b60ff161115610986576040517f0afa82a800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806004610993828261462f565b505050565b6001600160401b03821660009081526008602052604090205482906001600160a01b0316806109da57604051630fb532db60e11b815260040160405180910390fd5b336001600160a01b03821614610a0e57604051636c51fda960e11b81526001600160a01b0382166004820152602401610782565b60065460ff1615610a325760405163769dd35360e11b815260040160405180910390fd5b6001600160401b03841660009081526008602052604090206002015460631901610a88576040517f05a48e0f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03831660009081526003602090815260408083206001600160401b038089168552925282205416900361084e576001600160a01b03831660008181526003602090815260408083206001600160401b038916808552908352818420805467ffffffffffffffff19166001908117909155600884528285206002018054918201815585529383902090930180546001600160a01b031916851790555192835290917f43dc749a04ac8fb825cbd514f7c0e13f13bc6f2ee66043b76629d51776cff8e09101610845565b600b546001600160a01b03163314610ba45760405162461bcd60e51b815260206004820152601060248201526f31b0b6361039b2ba283937b23ab1b2b960811b6044820152606401610782565b8280610c185760405162461bcd60e51b815260206004820152602b60248201527f6e756d626572206f6620726563697069656e7473206d7573742062652067726560448201527f61746572207468616e20300000000000000000000000000000000000000000006064820152608401610782565b601f811115610c695760405162461bcd60e51b815260206004820152601360248201527f746f6f206d616e7920726563697069656e7473000000000000000000000000006044820152606401610782565b808214610cde5760405162461bcd60e51b815260206004820152603660248201527f6c656e677468206f6620726563697069656e747320616e64207061796d656e7460448201527f73496e4a75656c7320646964206e6f74206d61746368000000000000000000006064820152608401610782565b60005b81811015610d4357610d31868683818110610cfe57610cfe6147c5565b9050602002016020810190610d139190613e56565b858584818110610d2557610d256147c5565b905060200201356126f9565b80610d3b816147db565b915050610ce1565b505050505050565b65ffffffffffff811660008181526011602081815260408084208151608081018352815463ffffffff8116825262ffffff6401000000008204168286015261ffff670100000000000000820416938201939093526001600160a01b03690100000000000000000084048116606083810191825298909752949093527fffffff000000000000000000000000000000000000000000000000000000000090911690559151163314610e3e5760608101516040517f8e30e8230000000000000000000000000000000000000000000000000000000081526001600160a01b039091166004820152336024820152604401610782565b8051600090610e74907f00000000000000000000000000000000000000000000000000000000000000009063ffffffff166147f4565b90506000610e80612866565b90506000836020015162ffffff1682610e999190614813565b9050808310610efe5782846020015162ffffff1684610eb8919061482a565b610ec390600161482a565b6040517f15ad27c300000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610782565b6001600160401b03831115610f42576040517f058ddf0200000000000000000000000000000000000000000000000000000000815260048101849052602401610782565b6000838152600e602090815260408083208288015162ffffff168452909152902054610f72908790869086612a5c565b9695505050505050565b6001546001600160a01b03163314610fd65760405162461bcd60e51b815260206004820152601660248201527f4d7573742062652070726f706f736564206f776e6572000000000000000000006044820152606401610782565b60008054336001600160a01b0319808316821784556001805490911690556040516001600160a01b0390921692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b60065460ff16156110515760405163769dd35360e11b815260040160405180910390fd5b6001600160401b0381166000908152600860205260409020546001600160a01b031661109057604051630fb532db60e11b815260040160405180910390fd5b6001600160401b0381166000908152600860205260409020600101546001600160a01b03163314611116576001600160401b038116600090815260086020526040908190206001015490517fd084e9750000000000000000000000000000000000000000000000000000000081526001600160a01b039091166004820152602401610782565b6001600160401b0381166000818152600860209081526040918290208054336001600160a01b0319808316821784556001909301805490931690925583516001600160a01b03909116808252928101919091529092917f6f1dc65165ffffedfd8e507b4a0f1fcfdada045ed11f6c26ba27cedfe87802f0910160405180910390a25050565b6111a3613c20565b6040805161010081019182905290601090600890826000855b82829054906101000a900462ffffff1662ffffff16815260200190600301906020826002010492830192600103820291508084116111bc5790505050505050905090565b600b546001600160a01b0316331461124d5760405162461bcd60e51b815260206004820152601060248201526f31b0b6361039b2ba283937b23ab1b2b960811b6044820152606401610782565b61125a6010826008613c3f565b5050565b6112666128ea565b60005b81811015610993576000600a6000858585818110611289576112896147c5565b905060200201602081019061129e9190613e56565b6001600160a01b031681526020810191909152604001600020805467ffffffffffffffff19166001600160401b0392909216919091179055806112e0816147db565b915050611269565b6001600160401b03821660009081526008602052604090205482906001600160a01b03168061132a57604051630fb532db60e11b815260040160405180910390fd5b336001600160a01b0382161461135e57604051636c51fda960e11b81526001600160a01b0382166004820152602401610782565b60065460ff16156113825760405163769dd35360e11b815260040160405180910390fd5b6001600160a01b03831660009081526003602090815260408083206001600160401b03808916855292528220541690036113e957604051637800cff360e11b81526001600160401b03851660048201526001600160a01b0384166024820152604401610782565b6001600160401b03841660009081526008602090815260408083206002018054825181850281018501909352808352919290919083018282801561145657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611438575b5050505050905060006001825161146d9190614813565b905060005b825181101561159357856001600160a01b0316838281518110611497576114976147c5565b60200260200101516001600160a01b0316036115815760008383815181106114c1576114c16147c5565b6020026020010151905080600860008a6001600160401b03166001600160401b031681526020019081526020016000206002018381548110611505576115056147c5565b600091825260208083209190910180546001600160a01b0319166001600160a01b0394909416939093179092556001600160401b038a16815260089091526040902060020180548061155957611559614842565b600082815260209020810160001990810180546001600160a01b031916905501905550611593565b8061158b816147db565b915050611472565b506001600160a01b03851660008181526003602090815260408083206001600160401b038b1680855290835292819020805467ffffffffffffffff191690555192835290917f182bff9831466789164ca77075fffd84916d35a8180ba73c27e45634549b445b91015b60405180910390a2505050505050565b60065460009060ff16156116335760405163769dd35360e11b815260040160405180910390fd5b60018054600160a01b90046001600160401b031690601461165383614858565b82546101009290920a6001600160401b03818102199093169183160217909155600154600160a01b90041690506000806040519080825280602002602001820160405280156116ac578160200160208202803683370190505b50604080518082018252600080825260208083018281526001600160401b03888116808552600984528685209551865493516001600160601b039091166001600160a01b031994851617600160601b919093160291909117909455845160608101865233815280830184815281870188815295855260088452959093208351815483166001600160a01b03918216178255955160018201805490931696169590951790559151805194955090936117699260028501920190613cdd565b50506040513381526001600160401b03841691507f464722b4166576d3dcbba877b999bc35cf911f4eaf434b7eba68fa113951d0bf9060200160405180910390a250905090565b6001600160401b038116600090815260086020526040812054819081906060906001600160a01b03166117f657604051630fb532db60e11b815260040160405180910390fd5b6001600160401b0380861660009081526009602090815260408083205460088352928190208054600290910180548351818602810186019094528084526001600160601b03861696600160601b909604909516946001600160a01b0390921693909291839183018282801561189457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611876575b5050505050905093509350935093509193509193565b60065460ff16156118ce5760405163769dd35360e11b815260040160405180910390fd5b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611930576040517f44b0e3c300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020811461196a576040517f8129bbcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061197882840184613dc7565b6001600160401b0381166000908152600860205260409020549091506001600160a01b03166119ba57604051630fb532db60e11b815260040160405180910390fd5b6001600160401b038116600090815260096020526040812080546001600160601b0316918691906119eb838561487e565b92506101000a8154816001600160601b0302191690836001600160601b0316021790555084600260008282829054906101000a90046001600160601b0316611a33919061487e565b92506101000a8154816001600160601b0302191690836001600160601b03160217905550816001600160401b03167fd39ec07f4e209f627a4c427971473820dc129761ba28de8906bd56f57101d4f8828784611a8f919061482a565b604080519283526020830191909152016115fc565b600080611aaf612946565b60045460a08501516001600160401b039290921691611ae2916a0100000000000000000000900463ffffffff169061487e565b611aec91906148a9565b6001600160601b03169050611b05818460e001516129ff565b9392505050565b6001600160401b03821660009081526008602052604090205482906001600160a01b031680611b4e57604051630fb532db60e11b815260040160405180910390fd5b336001600160a01b03821614611b8257604051636c51fda960e11b81526001600160a01b0382166004820152602401610782565b60065460ff1615611ba65760405163769dd35360e11b815260040160405180910390fd5b6001600160401b0384166000908152600860209081526040808320815160608101835281546001600160a01b03908116825260018301541681850152600282018054845181870281018701865281815292959394860193830182828015611c3657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611c18575b505050919092525050506001600160401b0380871660009081526009602090815260408083208151808301909252546001600160601b038116808352600160601b909104909416918101919091529293505b836040015151811015611d09576003600085604001518381518110611caf57611caf6147c5565b6020908102919091018101516001600160a01b0316825281810192909252604090810160009081206001600160401b038c1682529092529020805467ffffffffffffffff1916905580611d01816147db565b915050611c88565b506001600160401b038716600090815260086020526040812080546001600160a01b03199081168255600182018054909116905590611d4b6002830182613d32565b50506001600160401b038716600090815260096020526040812080546001600160a01b031916905560028054839290611d8e9084906001600160601b03166148cf565b92506101000a8154816001600160601b0302191690836001600160601b031602179055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb87836001600160601b03166040518363ffffffff1660e01b8152600401611e1d9291906001600160a01b03929092168252602082015260400190565b6020604051808303816000875af1158015611e3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6091906148f7565b611e7d57604051631e9acf1760e31b815260040160405180910390fd5b604080516001600160a01b03881681526001600160601b03831660208201526001600160401b038916917fe8ed5b475a5b5987aa9165e8731bb78043f39eee32ec5a1169a89e27fcd49815910160405180910390a250505050505050565b600b546060906001600160a01b03163314611f2b5760405162461bcd60e51b815260206004820152601060248201526f31b0b6361039b2ba283937b23ab1b2b960811b6044820152606401610782565b600080876001600160401b03811115611f4657611f46614132565b604051908082528060200260200182016040528015611f9857816020015b604080516080810182526000808252602080830182905292820181905260608201528252600019909201910181611f645790505b50905060005b888110156120845760008a8a83818110611fba57611fba6147c5565b9050602002810190611fcc9190614914565b611fd590614a17565b9050611fe281888b612c19565b60408101515151151580611ffe57506040810151516020015115155b15612071576040805160808101825282516001600160401b0316815260208084015162ffffff168183015283830180515151938301939093529151519091015160608201528351849084908110612057576120576147c5565b6020026020010181905250838061206d90614aec565b9450505b508061207c816147db565b915050611f9e565b5060008261ffff166001600160401b038111156120a3576120a3614132565b6040519080825280602002602001820160405280156120f557816020015b6040805160808101825260008082526020808301829052928201819052606082015282526000199092019101816120c15790505b50905060005b8361ffff1681101561215157828181518110612119576121196147c5565b6020026020010151828281518110612133576121336147c5565b60200260200101819052508080612149906147db565b9150506120fb565b507fe1d18855b43b829b66a7f664301b0733507d67e5d8e163e3f0b778717e884ee086338a8a85604051612189959493929190614b03565b60405180910390a19998505050505050505050565b6000806000806121ae8786613021565b91945092509050336121c0818861334e565b65ffffffffffff841660009081526011602090815260408083208651815484890151848a015160608b01516001600160a01b03166901000000000000000000027fffffff0000000000000000000000000000000000000000ffffffffffffffffff61ffff90921667010000000000000002919091167fffffff00000000000000000000000000000000000000000000ffffffffffffff62ffffff9093166401000000000266ffffffffffffff1990941663ffffffff909516949094179290921716919091171790556001600160401b03808b16845260099092529091208054600160601b900490911690600c6122b583614858565b82546101009290920a6001600160401b0381810219909316918316021790915560408051858316815262ffffff8a166020820152918a169082015261ffff8a1660608201526001600160a01b038316915065ffffffffffff8616907fdcbc2f1d67e18a0e5cf023ad14515e21bfc7e0cccb7ddb1011f46baffc7d9d159060800160405180910390a350919695505050505050565b6123516128ea565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156123d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123f59190614b69565b6002549091506001600160601b031681811115612448576040517fa99da3020000000000000000000000000000000000000000000000000000000081526004810182905260248101839052604401610782565b8181101561099357600061245c8284614813565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018390529192507f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303816000875af11580156124d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124f491906148f7565b50604080516001600160a01b0386168152602081018390527f59bfc682b673f8cbf945f1e454df9334834abf7dfe7f92237ca29ecb9b436600910160405180910390a150505050565b6125456128ea565b6108c081613450565b600080600061255d8787613021565b9250509150600061256c6134f9565b905060006040518061010001604052808565ffffffffffff1681526020018a61ffff168152602001336001600160a01b031681526020018781526020018b6001600160401b031681526020018863ffffffff166001600160601b031681526020016125d5612946565b6001600160401b0316815260200183905290506125f1816135ea565b82888b836040516020016126089493929190614bcf565b60408051601f19818403018152918152815160209283012065ffffffffffff87166000908152600c808552838220929092556001600160401b03808f1682526009909452919091208054600160601b9004909216919061266783614858565b91906101000a8154816001600160401b0302191690836001600160401b0316021790555050336001600160a01b03168465ffffffffffff167fda7e52094a2e0200a38ad6b72d1ce40dcc840bbc4cf95ccf8065ef521da664dc858b8e8e8d6126cd612946565b8a8f6040516126e3989796959493929190614ca2565b60405180910390a3509198975050505050505050565b600b546001600160a01b031633146127465760405162461bcd60e51b815260206004820152601060248201526f31b0b6361039b2ba283937b23ab1b2b960811b6044820152606401610782565b600280548291906000906127649084906001600160601b03166148cf565b82546001600160601b039182166101009390930a92830291909202199091161790555060405163a9059cbb60e01b81526001600160a01b038381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af11580156127f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061281a91906148f7565b61125a5760405162461bcd60e51b815260206004820152601260248201527f696e73756666696369656e742066756e647300000000000000000000000000006044820152606401610782565b60004661a4b181148061287b575062066eed81145b156128e35760646001600160a01b031663a3b1b31d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128bf573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092b9190614b69565b4391505090565b6000546001600160a01b031633146129445760405162461bcd60e51b815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e6572000000000000000000006044820152606401610782565b565b60045460009060ff16801561297157506007546801000000000000000090046001600160401b031615155b156129fa576004547201000000000000000000000000000000000000900463ffffffff16431080806129d657506004546129c7907201000000000000000000000000000000000000900463ffffffff1643614813565b6007546001600160401b031610155b156129f85750506007546801000000000000000090046001600160401b031690565b505b503a90565b6004546000908190606490612a2c906e010000000000000000000000000000900463ffffffff1682614d0d565b612a3c9063ffffffff16866147f4565b612a469190614d42565b9050612a528184613705565b9150505b92915050565b606082612aae576040517fc7d41b1b00000000000000000000000000000000000000000000000000000000815265ffffffffffff861660048201526001600160401b0383166024820152604401610782565b6000858585604051602001612ac593929190614d56565b6040516020818303038152906040528051906020012090506103e8856040015161ffff161115612b1c576040808601519051634a90778560e01b815261ffff90911660048201526103e86024820152604401610782565b6000856040015161ffff166001600160401b03811115612b3e57612b3e614132565b604051908082528060200260200182016040528015612b67578160200160208202803683370190505b50905060005b866040015161ffff168161ffff161015612c0e578281604051602001612bc292919091825260f01b7fffff00000000000000000000000000000000000000000000000000000000000016602082015260220190565b6040516020818303038152906040528051906020012060001c828261ffff1681518110612bf157612bf16147c5565b602090810291909101015280612c0681614aec565b915050612b6d565b509695505050505050565b82516001600160401b0380841691161115612c765782516040517f012d824d0000000000000000000000000000000000000000000000000000000081526001600160401b0380851660048301529091166024820152604401610782565b60408301515151600090158015612c94575060408401515160200151155b15612ccc575082516001600160401b03166000908152600e602090815260408083208287015162ffffff168452909152902054612d26565b8360400151604051602001612ce19190614db9565b60408051601f19818403018152918152815160209283012086516001600160401b03166000908152600e84528281208885015162ffffff168252909352912081905590505b6060840151516000816001600160401b03811115612d4657612d46614132565b604051908082528060200260200182016040528015612d6f578160200160208202803683370190505b5090506000826001600160401b03811115612d8c57612d8c614132565b6040519080825280601f01601f191660200182016040528015612db6576020820181803683370190505b5090506000836001600160401b03811115612dd357612dd3614132565b604051908082528060200260200182016040528015612e0657816020015b6060815260200190600190039081612df15790505b5090506000805b85811015612f1f5760008a606001518281518110612e2d57612e2d6147c5565b60200260200101519050600080612e4e8d600001518e602001518c86613785565b915091508115612e8d5780868661ffff1681518110612e6f57612e6f6147c5565b60200260200101819052508480612e8590614aec565b955050612ed4565b600160f81b878581518110612ea457612ea46147c5565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b8251518851899086908110612eeb57612eeb6147c5565b602002602001019065ffffffffffff16908165ffffffffffff16815250505050508080612f17906147db565b915050612e0d565b50606089015151156130165760008161ffff166001600160401b03811115612f4957612f49614132565b604051908082528060200260200182016040528015612f7c57816020015b6060815260200190600190039081612f675790505b50905060005b8261ffff16811015612fd857838181518110612fa057612fa06147c5565b6020026020010151828281518110612fba57612fba6147c5565b60200260200101819052508080612fd0906147db565b915050612f82565b507f47ddf7bb0cbd94c1b43c5097f1352a80db0ceb3696f029d32b24f32cd631d2b785858360405161300c93929190614dec565b60405180910390a1505b505050505050505050565b604080516080810182526000808252602082018190529181018290526060810182905260006103e88561ffff16111561307b57604051634a90778560e01b815261ffff861660048201526103e86024820152604401610782565b8461ffff166000036130b9576040517f08fad2a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006130c3612866565b905060006130f17f000000000000000000000000000000000000000000000000000000000000000083614e92565b90506000816131207f00000000000000000000000000000000000000000000000000000000000000008561482a565b61312a9190614813565b905060006131587f000000000000000000000000000000000000000000000000000000000000000083614d42565b905063ffffffff8110613197576040517f7b2a523000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252600f805465ffffffffffff16825282516101008101938490528493600093929160208401916010906008908288855b82829054906101000a900462ffffff1662ffffff16815260200190600301906020826002010492830192600103820291508084116131cf57905050505091909252505081519192505065ffffffffffff80821610613259576040517f2b4655b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613264816001614ea6565b600f805465ffffffffffff191665ffffffffffff9290921691909117905560005b60088110156132cb578b62ffffff16836020015182600881106132aa576132aa6147c5565b602002015162ffffff16146132cb57806132c3816147db565b915050613285565b6008811061330c5760208301516040517fc4f769b0000000000000000000000000000000000000000000000000000000008152610782918e91600401614ec7565b506040805160808101825263ffffffff909416845262ffffff8c16602085015261ffff8d16908401523360608401529850909650919450505050509250925092565b6001600160a01b03821660009081526003602090815260408083206001600160401b03808616855292528220541690036133b557604051637800cff360e11b81526001600160401b03821660048201526001600160a01b0383166024820152604401610782565b60006133bf6108ed565b6001600160401b038316600090815260096020526040902080546001600160601b03928316935090911682111561340957604051631e9acf1760e31b815260040160405180910390fd5b8054829082906000906134269084906001600160601b03166148cf565b92506101000a8154816001600160601b0302191690836001600160601b0316021790555050505050565b336001600160a01b038216036134a85760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207472616e7366657220746f2073656c660000000000000000006044820152606401610782565b600180546001600160a01b0319166001600160a01b0383811691821790925560008054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b60048054604080517ffeaf968c00000000000000000000000000000000000000000000000000000000815290516000936201000090930463ffffffff169283151592859283927f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169263feaf968c928183019260a0928290030181865afa158015613590573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135b49190614efb565b5094509092508491505080156135d857506135cf8242614813565b8463ffffffff16105b156135e257506005545b949350505050565b6040808201516001600160a01b031660009081526003602090815282822060808501516001600160401b03908116845291529181205490911690036136665760808101516040808301519051637800cff360e11b81526001600160401b0390921660048301526001600160a01b03166024820152604401610782565b600061367182611aa4565b60808301516001600160401b0316600090815260096020526040902080546001600160601b0392831693509091168211156136bf57604051631e9acf1760e31b815260040160405180910390fd5b8054829082906000906136dc9084906001600160601b03166148cf565b92506101000a8154816001600160601b0302191690836001600160601b03160217905550505050565b6000808215613714578261371c565b61371c6134f9565b905060008161373386670de0b6b3a76400006147f4565b61373d9190614d42565b90506b033b2e3c9fd0803ce8000000811115612a52576040517fde43710000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006060816137bd7f00000000000000000000000000000000000000000000000000000000000000006001600160401b038916614d42565b8451608081015160405192935090916000916137e1918b918b918690602001614bcf565b60408051601f198184030181529181528151602092830120845165ffffffffffff166000908152600c909352912054909150811461385d5760016040518060400160405280601081526020017f756e6b6e6f776e2063616c6c6261636b0000000000000000000000000000000081525094509450505050613b19565b60808201516001600160401b03166000908152600860205260409020546001600160a01b03166138e457505165ffffffffffff166000908152600c60209081526040808320929092558151808301909252601682527f737562736372697074696f6e2063616e63656c6c65640000000000000000000090820152600193509150613b199050565b6040805160808101825263ffffffff8516815262ffffff8a1660208083019190915284015161ffff1681830152908301516001600160a01b03166060820152825160009061393490838b8e612a5c565b60608084015186519187015160405193945090926000927f5a47dd71000000000000000000000000000000000000000000000000000000009261397c92879190602401614f4b565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526006805460ff191660011790559050600080805a9050613a118d6000015160a001516001600160601b03168a6040015186613b22565b909350915081613a635760405162461bcd60e51b815260206004820152601060248201527f696e73756666696369656e7420676173000000000000000000000000000000006044820152606401610782565b60006113885a613a73919061482a565b6006805460ff19169055905081811015613a9b57613a9b613a948284614813565b8f51613b61565b895165ffffffffffff166000908152600c602052604081205583613af65760016040518060400160405280601081526020017f657865637574696f6e206661696c656400000000000000000000000000000000815250613b09565b6000604051806020016040528060008152505b9c509c5050505050505050505050505b94509492505050565b6000805a6113888110613b585761138881039050856040820482031115613b58576000808551602087016000898bf19250600191505b50935093915050565b8060a001516001600160601b0316821115613b7a575050565b600454600090606490613b9590610100900460ff1682614f7e565b60ff168360c00151858560a001516001600160601b0316613bb69190614813565b613bc091906147f4565b613bca91906147f4565b613bd49190614d42565b90506000613be6828460e00151613705565b60808401516001600160401b03166000908152600960205260408120805492935083929091906134269084906001600160601b031661487e565b6040518061010001604052806008906020820280368337509192915050565b600183019183908215613ccd5791602002820160005b83821115613c9c57833562ffffff1683826101000a81548162ffffff021916908362ffffff1602179055509260200192600301602081600201049283019260010302613c55565b8015613ccb5782816101000a81549062ffffff0219169055600301602081600201049283019260010302613c9c565b505b50613cd9929150613d4c565b5090565b828054828255906000526020600020908101928215613ccd579160200282015b82811115613ccd57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613cfd565b50805460008255906000526020600020908101906108c091905b5b80821115613cd95760008155600101613d4d565b80356001600160401b0381168114613d7857600080fd5b919050565b80356001600160a01b0381168114613d7857600080fd5b60008060408385031215613da757600080fd5b613db083613d61565b9150613dbe60208401613d7d565b90509250929050565b600060208284031215613dd957600080fd5b611b0582613d61565b803565ffffffffffff81168114613d7857600080fd5b600060208284031215613e0a57600080fd5b611b0582613de2565b815163ffffffff16815260208083015162ffffff169082015260408083015161ffff16908201526060808301516001600160a01b03169082015260808101612a56565b600060208284031215613e6857600080fd5b611b0582613d7d565b60006101008284031215613e8457600080fd5b50919050565b60008083601f840112613e9c57600080fd5b5081356001600160401b03811115613eb357600080fd5b6020830191508360208260051b8501011115613ece57600080fd5b9250929050565b60008060008060408587031215613eeb57600080fd5b84356001600160401b0380821115613f0257600080fd5b613f0e88838901613e8a565b90965094506020870135915080821115613f2757600080fd5b50613f3487828801613e8a565b95989497509550505050565b600081518084526020808501945080840160005b83811015613f7057815187529582019590820190600101613f54565b509495945050505050565b602081526000611b056020830184613f40565b8060005b600881101561084e57815162ffffff16845260209384019390910190600101613f92565b6101008101612a568284613f8e565b6000610100808385031215613fd957600080fd5b838184011115613fe857600080fd5b509092915050565b6000806020838503121561400357600080fd5b82356001600160401b0381111561401957600080fd5b61402585828601613e8a565b90969095509350505050565b6000608082016001600160601b038716835260206001600160401b038716818501526001600160a01b0380871660408601526080606086015282865180855260a087019150838801945060005b8181101561409c57855184168352948401949184019160010161407e565b50909a9950505050505050505050565b600080600080606085870312156140c257600080fd5b6140cb85613d7d565b93506020850135925060408501356001600160401b03808211156140ee57600080fd5b818701915087601f83011261410257600080fd5b81358181111561411157600080fd5b88602082850101111561412357600080fd5b95989497505060200194505050565b634e487b7160e01b600052604160045260246000fd5b60405161010081016001600160401b038111828210171561416b5761416b614132565b60405290565b604080519081016001600160401b038111828210171561416b5761416b614132565b604051608081016001600160401b038111828210171561416b5761416b614132565b604051602081016001600160401b038111828210171561416b5761416b614132565b604051601f8201601f191681016001600160401b03811182821017156141ff576141ff614132565b604052919050565b803561ffff81168114613d7857600080fd5b600082601f83011261422a57600080fd5b81356001600160401b0381111561424357614243614132565b614256601f8201601f19166020016141d7565b81815284602083860101111561426b57600080fd5b816020850160208301376000918101602001919091529392505050565b80356001600160601b0381168114613d7857600080fd5b600061010082840312156142b257600080fd5b6142ba614148565b90506142c582613de2565b81526142d360208301614207565b60208201526142e460408301613d7d565b604082015260608201356001600160401b0381111561430257600080fd5b61430e84828501614219565b60608301525061432060808301613d61565b608082015261433160a08301614288565b60a082015260c082013560c082015260e082013560e082015292915050565b60006020828403121561436257600080fd5b81356001600160401b0381111561437857600080fd5b612a528482850161429f565b60008060008060008060a0878903121561439d57600080fd5b86356001600160401b038111156143b357600080fd5b6143bf89828a01613e8a565b909750955050602087013577ffffffffffffffffffffffffffffffffffffffffffffffff811681146143f057600080fd5b93506143fe60408801613d61565b925061440c60608801613d61565b9150608087013590509295509295509295565b600081518084526020808501945080840160005b83811015613f7057815180516001600160401b031688528381015162ffffff1684890152604080820151908901526060908101519088015260809096019590820190600101614433565b602081526000611b05602083018461441f565b803562ffffff81168114613d7857600080fd5b6000806000606084860312156144b857600080fd5b6144c184614207565b92506144cf60208501613d61565b91506144dd60408501614490565b90509250925092565b63ffffffff811681146108c057600080fd5b600080600080600060a0868803121561451057600080fd5b61451986613d61565b945061452760208701614207565b935061453560408701614490565b92506060860135614545816144e6565b915060808601356001600160401b0381111561456057600080fd5b61456c88828901614219565b9150509295509295909350565b6000806040838503121561458c57600080fd5b61459583613d7d565b946020939093013593505050565b634e487b7160e01b600052601160045260246000fd5b60006001600160401b03808316818516818304811182151516156145df576145df6145a3565b02949350505050565b60ff811681146108c057600080fd5b60006020828403121561460957600080fd5b8135611b05816145e8565b80151581146108c057600080fd5b60008135612a56816144e6565b813561463a81614614565b815460ff19811691151560ff169182178355602084013561465a816145e8565b61ff008160081b168361ffff1984161717845550505061469d61467f60408401614622565b825465ffffffff0000191660109190911b65ffffffff000016178255565b6146d26146ac60608401614622565b825469ffffffff000000000000191660309190911b69ffffffff00000000000016178255565b61470f6146e160808401614622565b82546dffffffff00000000000000000000191660509190911b6dffffffff0000000000000000000016178255565b61476161471e60a08401614622565b82547fffffffffffffffffffffffffffff00000000ffffffffffffffffffffffffffff1660709190911b71ffffffff000000000000000000000000000016178255565b6147b761477060c08401614622565b82547fffffffffffffffffffff00000000ffffffffffffffffffffffffffffffffffff1660909190911b75ffffffff00000000000000000000000000000000000016178255565b60e082013560018201555050565b634e487b7160e01b600052603260045260246000fd5b6000600182016147ed576147ed6145a3565b5060010190565b600081600019048311821515161561480e5761480e6145a3565b500290565b600082821015614825576148256145a3565b500390565b6000821982111561483d5761483d6145a3565b500190565b634e487b7160e01b600052603160045260246000fd5b60006001600160401b03808316818103614874576148746145a3565b6001019392505050565b60006001600160601b038083168185168083038211156148a0576148a06145a3565b01949350505050565b60006001600160601b03808316818516818304811182151516156145df576145df6145a3565b60006001600160601b03838116908316818110156148ef576148ef6145a3565b039392505050565b60006020828403121561490957600080fd5b8151611b0581614614565b60008235609e1983360301811261492a57600080fd5b9190910192915050565b600082601f83011261494557600080fd5b813560206001600160401b038083111561496157614961614132565b8260051b6149708382016141d7565b938452858101830193838101908886111561498a57600080fd5b84880192505b85831015614a0b578235848111156149a85760008081fd5b88016040818b03601f19018113156149c05760008081fd5b6149c8614171565b87830135878111156149da5760008081fd5b6149e88d8a8387010161429f565b8252506149f6828401614288565b81890152845250509184019190840190614990565b98975050505050505050565b600081360360a0811215614a2a57600080fd5b614a32614193565b614a3b84613d61565b81526020614a4a818601614490565b828201526040603f1984011215614a6057600080fd5b614a686141b5565b925036605f860112614a7957600080fd5b614a81614171565b806080870136811115614a9357600080fd5b604088015b81811015614aaf5780358452928401928401614a98565b50908552604084019490945250509035906001600160401b03821115614ad457600080fd5b614ae036838601614934565b60608201529392505050565b600061ffff808316818103614874576148746145a3565b60006001600160401b0380881683526001600160a01b038716602084015277ffffffffffffffffffffffffffffffffffffffffffffffff8616604084015280851660608401525060a06080830152614b5e60a083018461441f565b979650505050505050565b600060208284031215614b7b57600080fd5b5051919050565b6000815180845260005b81811015614ba857602081850181015186830182015201614b8c565b81811115614bba576000602083870101525b50601f01601f19169290920160200192915050565b60006001600160401b03808716835262ffffff861660208401528085166040840152506080606083015265ffffffffffff83511660808301526020830151614c1d60a084018261ffff169052565b5060408301516001600160a01b031660c0830152606083015161010060e08401819052614c4e610180850183614b82565b91506080850151614c69828601826001600160401b03169052565b505060a08401516001600160601b031661012084015260c084015161014084015260e09093015161016090920191909152509392505050565b60006101006001600160401b03808c16845262ffffff8b166020850152808a16604085015261ffff8916606085015263ffffffff8816608085015280871660a0850152508460c08401528060e0840152614cfe81840185614b82565b9b9a5050505050505050505050565b600063ffffffff8083168185168083038211156148a0576148a06145a3565b634e487b7160e01b600052601260045260246000fd5b600082614d5157614d51614d2c565b500490565b65ffffffffffff8416815260c08101614dab602083018563ffffffff815116825262ffffff602082015116602083015261ffff60408201511660408301526001600160a01b0360608201511660608301525050565b8260a0830152949350505050565b815160408201908260005b6002811015614de3578251825260209283019290910190600101614dc4565b50505092915050565b606080825284519082018190526000906020906080840190828801845b82811015614e2d57815165ffffffffffff1684529284019290840190600101614e09565b50505083810382850152614e418187614b82565b905083810360408501528085518083528383019150838160051b84010184880160005b8381101561409c57601f19868403018552614e80838351614b82565b94870194925090860190600101614e64565b600082614ea157614ea1614d2c565b500690565b600065ffffffffffff8083168185168083038211156148a0576148a06145a3565b62ffffff831681526101208101611b056020830184613f8e565b805169ffffffffffffffffffff81168114613d7857600080fd5b600080600080600060a08688031215614f1357600080fd5b614f1c86614ee1565b9450602086015193506040860151925060608601519150614f3f60808701614ee1565b90509295509295909350565b65ffffffffffff84168152606060208201526000614f6c6060830185613f40565b8281036040840152610f728185614b82565b600060ff821660ff841680821015614f9857614f986145a3565b9003939250505056fea164736f6c634300080f000a",
}

Functions

This section is empty.

Types

type ECCArithmeticG1Point

type ECCArithmeticG1Point struct {
	P [2]*big.Int
}

type GetSubscription

type GetSubscription struct {
	Balance   *big.Int
	ReqCount  uint64
	Owner     common.Address
	Consumers []common.Address
}

type VRFBeaconTypesBeaconRequest added in v1.12.0

type VRFBeaconTypesBeaconRequest struct {
	SlotNumber        uint32
	ConfirmationDelay *big.Int
	NumWords          uint16
	Requester         common.Address
}

type VRFBeaconTypesBillingConfig

type VRFBeaconTypesBillingConfig struct {
	UseReasonableGasPrice             bool
	UnusedGasPenaltyPercent           uint8
	StalenessSeconds                  uint32
	RedeemableRequestGasOverhead      uint32
	CallbackRequestGasOverhead        uint32
	PremiumPercentage                 uint32
	ReasonableGasPriceStalenessBlocks uint32
	FallbackWeiPerUnitLink            *big.Int
}

type VRFBeaconTypesCallback

type VRFBeaconTypesCallback struct {
	RequestID      *big.Int
	NumWords       uint16
	Requester      common.Address
	Arguments      []byte
	SubID          uint64
	GasAllowance   *big.Int
	GasPrice       *big.Int
	WeiPerUnitLink *big.Int
}

type VRFBeaconTypesCostedCallback

type VRFBeaconTypesCostedCallback struct {
	Callback VRFBeaconTypesCallback
	Price    *big.Int
}

type VRFBeaconTypesOutputServed

type VRFBeaconTypesOutputServed struct {
	Height            uint64
	ConfirmationDelay *big.Int
	ProofG1X          *big.Int
	ProofG1Y          *big.Int
}

type VRFBeaconTypesVRFOutput

type VRFBeaconTypesVRFOutput struct {
	BlockHeight       uint64
	ConfirmationDelay *big.Int
	VrfOutput         ECCArithmeticG1Point
	Callbacks         []VRFBeaconTypesCostedCallback
}

type VRFCoordinator

type VRFCoordinator struct {
	VRFCoordinatorCaller
	VRFCoordinatorTransactor
	VRFCoordinatorFilterer
	// contains filtered or unexported fields
}

func DeployVRFCoordinator

func DeployVRFCoordinator(auth *bind.TransactOpts, backend bind.ContractBackend, beaconPeriodBlocksArg *big.Int, linkToken common.Address, linkEthFeed common.Address) (common.Address, *types.Transaction, *VRFCoordinator, error)

func NewVRFCoordinator

func NewVRFCoordinator(address common.Address, backend bind.ContractBackend) (*VRFCoordinator, error)

func (*VRFCoordinator) Address

func (_VRFCoordinator *VRFCoordinator) Address() common.Address

func (*VRFCoordinator) ParseLog

func (_VRFCoordinator *VRFCoordinator) ParseLog(log types.Log) (generated.AbigenLog, error)

type VRFCoordinatorCaller

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

func NewVRFCoordinatorCaller

func NewVRFCoordinatorCaller(address common.Address, caller bind.ContractCaller) (*VRFCoordinatorCaller, error)

func (*VRFCoordinatorCaller) CalculateRequestPriceCallbackJuels

func (_VRFCoordinator *VRFCoordinatorCaller) CalculateRequestPriceCallbackJuels(opts *bind.CallOpts, callback VRFBeaconTypesCallback) (*big.Int, error)

func (*VRFCoordinatorCaller) CalculateRequestPriceJuels

func (_VRFCoordinator *VRFCoordinatorCaller) CalculateRequestPriceJuels(opts *bind.CallOpts) (*big.Int, error)

func (*VRFCoordinatorCaller) GetBeaconRequest added in v1.12.0

func (_VRFCoordinator *VRFCoordinatorCaller) GetBeaconRequest(opts *bind.CallOpts, requestId *big.Int) (VRFBeaconTypesBeaconRequest, error)

func (*VRFCoordinatorCaller) GetCallbackMemo added in v1.12.0

func (_VRFCoordinator *VRFCoordinatorCaller) GetCallbackMemo(opts *bind.CallOpts, requestId *big.Int) ([32]byte, error)

func (*VRFCoordinatorCaller) GetConfirmationDelays

func (_VRFCoordinator *VRFCoordinatorCaller) GetConfirmationDelays(opts *bind.CallOpts) ([8]*big.Int, error)

func (*VRFCoordinatorCaller) GetCurrentSubId

func (_VRFCoordinator *VRFCoordinatorCaller) GetCurrentSubId(opts *bind.CallOpts) (uint64, error)

func (*VRFCoordinatorCaller) GetSubscription

func (_VRFCoordinator *VRFCoordinatorCaller) GetSubscription(opts *bind.CallOpts, subId uint64) (GetSubscription,

	error)

func (*VRFCoordinatorCaller) GetTotalLinkBalance

func (_VRFCoordinator *VRFCoordinatorCaller) GetTotalLinkBalance(opts *bind.CallOpts) (*big.Int, error)

func (*VRFCoordinatorCaller) IBeaconPeriodBlocks

func (_VRFCoordinator *VRFCoordinatorCaller) IBeaconPeriodBlocks(opts *bind.CallOpts) (*big.Int, error)

func (*VRFCoordinatorCaller) IStartSlot

func (_VRFCoordinator *VRFCoordinatorCaller) IStartSlot(opts *bind.CallOpts) (*big.Int, error)
func (_VRFCoordinator *VRFCoordinatorCaller) LINK(opts *bind.CallOpts) (common.Address, error)

func (*VRFCoordinatorCaller) LINKETHFEED

func (_VRFCoordinator *VRFCoordinatorCaller) LINKETHFEED(opts *bind.CallOpts) (common.Address, error)

func (*VRFCoordinatorCaller) MAXCONSUMERS

func (_VRFCoordinator *VRFCoordinatorCaller) MAXCONSUMERS(opts *bind.CallOpts) (uint16, error)

func (*VRFCoordinatorCaller) MaxNumWords

func (_VRFCoordinator *VRFCoordinatorCaller) MaxNumWords(opts *bind.CallOpts) (*big.Int, error)

func (*VRFCoordinatorCaller) MinDelay

func (_VRFCoordinator *VRFCoordinatorCaller) MinDelay(opts *bind.CallOpts) (uint16, error)

func (*VRFCoordinatorCaller) NUMCONFDELAYS

func (_VRFCoordinator *VRFCoordinatorCaller) NUMCONFDELAYS(opts *bind.CallOpts) (uint8, error)

func (*VRFCoordinatorCaller) Owner

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

func (*VRFCoordinatorCaller) Producer

func (_VRFCoordinator *VRFCoordinatorCaller) Producer(opts *bind.CallOpts) (common.Address, error)

type VRFCoordinatorCallerRaw

type VRFCoordinatorCallerRaw struct {
	Contract *VRFCoordinatorCaller
}

func (*VRFCoordinatorCallerRaw) Call

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

type VRFCoordinatorCallerSession

type VRFCoordinatorCallerSession struct {
	Contract *VRFCoordinatorCaller
	CallOpts bind.CallOpts
}

func (*VRFCoordinatorCallerSession) CalculateRequestPriceCallbackJuels

func (_VRFCoordinator *VRFCoordinatorCallerSession) CalculateRequestPriceCallbackJuels(callback VRFBeaconTypesCallback) (*big.Int, error)

func (*VRFCoordinatorCallerSession) CalculateRequestPriceJuels

func (_VRFCoordinator *VRFCoordinatorCallerSession) CalculateRequestPriceJuels() (*big.Int, error)

func (*VRFCoordinatorCallerSession) GetBeaconRequest added in v1.12.0

func (_VRFCoordinator *VRFCoordinatorCallerSession) GetBeaconRequest(requestId *big.Int) (VRFBeaconTypesBeaconRequest, error)

func (*VRFCoordinatorCallerSession) GetCallbackMemo added in v1.12.0

func (_VRFCoordinator *VRFCoordinatorCallerSession) GetCallbackMemo(requestId *big.Int) ([32]byte, error)

func (*VRFCoordinatorCallerSession) GetConfirmationDelays

func (_VRFCoordinator *VRFCoordinatorCallerSession) GetConfirmationDelays() ([8]*big.Int, error)

func (*VRFCoordinatorCallerSession) GetCurrentSubId

func (_VRFCoordinator *VRFCoordinatorCallerSession) GetCurrentSubId() (uint64, error)

func (*VRFCoordinatorCallerSession) GetSubscription

func (_VRFCoordinator *VRFCoordinatorCallerSession) GetSubscription(subId uint64) (GetSubscription,

	error)

func (*VRFCoordinatorCallerSession) GetTotalLinkBalance

func (_VRFCoordinator *VRFCoordinatorCallerSession) GetTotalLinkBalance() (*big.Int, error)

func (*VRFCoordinatorCallerSession) IBeaconPeriodBlocks

func (_VRFCoordinator *VRFCoordinatorCallerSession) IBeaconPeriodBlocks() (*big.Int, error)

func (*VRFCoordinatorCallerSession) IStartSlot

func (_VRFCoordinator *VRFCoordinatorCallerSession) IStartSlot() (*big.Int, error)
func (_VRFCoordinator *VRFCoordinatorCallerSession) LINK() (common.Address, error)

func (*VRFCoordinatorCallerSession) LINKETHFEED

func (_VRFCoordinator *VRFCoordinatorCallerSession) LINKETHFEED() (common.Address, error)

func (*VRFCoordinatorCallerSession) MAXCONSUMERS

func (_VRFCoordinator *VRFCoordinatorCallerSession) MAXCONSUMERS() (uint16, error)

func (*VRFCoordinatorCallerSession) MaxNumWords

func (_VRFCoordinator *VRFCoordinatorCallerSession) MaxNumWords() (*big.Int, error)

func (*VRFCoordinatorCallerSession) MinDelay

func (_VRFCoordinator *VRFCoordinatorCallerSession) MinDelay() (uint16, error)

func (*VRFCoordinatorCallerSession) NUMCONFDELAYS

func (_VRFCoordinator *VRFCoordinatorCallerSession) NUMCONFDELAYS() (uint8, error)

func (*VRFCoordinatorCallerSession) Owner

func (_VRFCoordinator *VRFCoordinatorCallerSession) Owner() (common.Address, error)

func (*VRFCoordinatorCallerSession) Producer

func (_VRFCoordinator *VRFCoordinatorCallerSession) Producer() (common.Address, error)

type VRFCoordinatorConfigSet added in v1.11.0

type VRFCoordinatorConfigSet struct {
	PreviousConfigBlockNumber uint32
	ConfigDigest              [32]byte
	ConfigCount               uint64
	Signers                   []common.Address
	Transmitters              []common.Address
	F                         uint8
	OnchainConfig             []byte
	OffchainConfigVersion     uint64
	OffchainConfig            []byte
	Raw                       types.Log
}

func (VRFCoordinatorConfigSet) Topic added in v1.11.0

type VRFCoordinatorConfigSetIterator added in v1.11.0

type VRFCoordinatorConfigSetIterator struct {
	Event *VRFCoordinatorConfigSet
	// contains filtered or unexported fields
}

func (*VRFCoordinatorConfigSetIterator) Close added in v1.11.0

func (*VRFCoordinatorConfigSetIterator) Error added in v1.11.0

func (*VRFCoordinatorConfigSetIterator) Next added in v1.11.0

type VRFCoordinatorFilterer

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

func NewVRFCoordinatorFilterer

func NewVRFCoordinatorFilterer(address common.Address, filterer bind.ContractFilterer) (*VRFCoordinatorFilterer, error)

func (*VRFCoordinatorFilterer) FilterConfigSet added in v1.11.0

func (_VRFCoordinator *VRFCoordinatorFilterer) FilterConfigSet(opts *bind.FilterOpts) (*VRFCoordinatorConfigSetIterator, error)

func (*VRFCoordinatorFilterer) FilterFundsRecovered added in v1.12.0

func (_VRFCoordinator *VRFCoordinatorFilterer) FilterFundsRecovered(opts *bind.FilterOpts) (*VRFCoordinatorFundsRecoveredIterator, error)

func (*VRFCoordinatorFilterer) FilterNewTransmission added in v1.12.0

func (_VRFCoordinator *VRFCoordinatorFilterer) FilterNewTransmission(opts *bind.FilterOpts, aggregatorRoundId []uint32, epochAndRound []*big.Int) (*VRFCoordinatorNewTransmissionIterator, error)

func (*VRFCoordinatorFilterer) FilterOutputsServed

func (_VRFCoordinator *VRFCoordinatorFilterer) FilterOutputsServed(opts *bind.FilterOpts) (*VRFCoordinatorOutputsServedIterator, error)

func (*VRFCoordinatorFilterer) FilterOwnershipTransferRequested

func (_VRFCoordinator *VRFCoordinatorFilterer) FilterOwnershipTransferRequested(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*VRFCoordinatorOwnershipTransferRequestedIterator, error)

func (*VRFCoordinatorFilterer) FilterOwnershipTransferred

func (_VRFCoordinator *VRFCoordinatorFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*VRFCoordinatorOwnershipTransferredIterator, error)

func (*VRFCoordinatorFilterer) FilterRandomWordsFulfilled

func (_VRFCoordinator *VRFCoordinatorFilterer) FilterRandomWordsFulfilled(opts *bind.FilterOpts) (*VRFCoordinatorRandomWordsFulfilledIterator, error)

func (*VRFCoordinatorFilterer) FilterRandomnessFulfillmentRequested

func (_VRFCoordinator *VRFCoordinatorFilterer) FilterRandomnessFulfillmentRequested(opts *bind.FilterOpts, requestID []*big.Int, requester []common.Address) (*VRFCoordinatorRandomnessFulfillmentRequestedIterator, error)

func (*VRFCoordinatorFilterer) FilterRandomnessRequested

func (_VRFCoordinator *VRFCoordinatorFilterer) FilterRandomnessRequested(opts *bind.FilterOpts, requestID []*big.Int, requester []common.Address) (*VRFCoordinatorRandomnessRequestedIterator, error)

func (*VRFCoordinatorFilterer) FilterSubscriptionCanceled

func (_VRFCoordinator *VRFCoordinatorFilterer) FilterSubscriptionCanceled(opts *bind.FilterOpts, subId []uint64) (*VRFCoordinatorSubscriptionCanceledIterator, error)

func (*VRFCoordinatorFilterer) FilterSubscriptionConsumerAdded

func (_VRFCoordinator *VRFCoordinatorFilterer) FilterSubscriptionConsumerAdded(opts *bind.FilterOpts, subId []uint64) (*VRFCoordinatorSubscriptionConsumerAddedIterator, error)

func (*VRFCoordinatorFilterer) FilterSubscriptionConsumerRemoved

func (_VRFCoordinator *VRFCoordinatorFilterer) FilterSubscriptionConsumerRemoved(opts *bind.FilterOpts, subId []uint64) (*VRFCoordinatorSubscriptionConsumerRemovedIterator, error)

func (*VRFCoordinatorFilterer) FilterSubscriptionCreated

func (_VRFCoordinator *VRFCoordinatorFilterer) FilterSubscriptionCreated(opts *bind.FilterOpts, subId []uint64) (*VRFCoordinatorSubscriptionCreatedIterator, error)

func (*VRFCoordinatorFilterer) FilterSubscriptionFunded

func (_VRFCoordinator *VRFCoordinatorFilterer) FilterSubscriptionFunded(opts *bind.FilterOpts, subId []uint64) (*VRFCoordinatorSubscriptionFundedIterator, error)

func (*VRFCoordinatorFilterer) FilterSubscriptionOwnerTransferRequested

func (_VRFCoordinator *VRFCoordinatorFilterer) FilterSubscriptionOwnerTransferRequested(opts *bind.FilterOpts, subId []uint64) (*VRFCoordinatorSubscriptionOwnerTransferRequestedIterator, error)

func (*VRFCoordinatorFilterer) FilterSubscriptionOwnerTransferred

func (_VRFCoordinator *VRFCoordinatorFilterer) FilterSubscriptionOwnerTransferred(opts *bind.FilterOpts, subId []uint64) (*VRFCoordinatorSubscriptionOwnerTransferredIterator, error)

func (*VRFCoordinatorFilterer) ParseConfigSet added in v1.11.0

func (_VRFCoordinator *VRFCoordinatorFilterer) ParseConfigSet(log types.Log) (*VRFCoordinatorConfigSet, error)

func (*VRFCoordinatorFilterer) ParseFundsRecovered added in v1.12.0

func (_VRFCoordinator *VRFCoordinatorFilterer) ParseFundsRecovered(log types.Log) (*VRFCoordinatorFundsRecovered, error)

func (*VRFCoordinatorFilterer) ParseNewTransmission added in v1.12.0

func (_VRFCoordinator *VRFCoordinatorFilterer) ParseNewTransmission(log types.Log) (*VRFCoordinatorNewTransmission, error)

func (*VRFCoordinatorFilterer) ParseOutputsServed

func (_VRFCoordinator *VRFCoordinatorFilterer) ParseOutputsServed(log types.Log) (*VRFCoordinatorOutputsServed, error)

func (*VRFCoordinatorFilterer) ParseOwnershipTransferRequested

func (_VRFCoordinator *VRFCoordinatorFilterer) ParseOwnershipTransferRequested(log types.Log) (*VRFCoordinatorOwnershipTransferRequested, error)

func (*VRFCoordinatorFilterer) ParseOwnershipTransferred

func (_VRFCoordinator *VRFCoordinatorFilterer) ParseOwnershipTransferred(log types.Log) (*VRFCoordinatorOwnershipTransferred, error)

func (*VRFCoordinatorFilterer) ParseRandomWordsFulfilled

func (_VRFCoordinator *VRFCoordinatorFilterer) ParseRandomWordsFulfilled(log types.Log) (*VRFCoordinatorRandomWordsFulfilled, error)

func (*VRFCoordinatorFilterer) ParseRandomnessFulfillmentRequested

func (_VRFCoordinator *VRFCoordinatorFilterer) ParseRandomnessFulfillmentRequested(log types.Log) (*VRFCoordinatorRandomnessFulfillmentRequested, error)

func (*VRFCoordinatorFilterer) ParseRandomnessRequested

func (_VRFCoordinator *VRFCoordinatorFilterer) ParseRandomnessRequested(log types.Log) (*VRFCoordinatorRandomnessRequested, error)

func (*VRFCoordinatorFilterer) ParseSubscriptionCanceled

func (_VRFCoordinator *VRFCoordinatorFilterer) ParseSubscriptionCanceled(log types.Log) (*VRFCoordinatorSubscriptionCanceled, error)

func (*VRFCoordinatorFilterer) ParseSubscriptionConsumerAdded

func (_VRFCoordinator *VRFCoordinatorFilterer) ParseSubscriptionConsumerAdded(log types.Log) (*VRFCoordinatorSubscriptionConsumerAdded, error)

func (*VRFCoordinatorFilterer) ParseSubscriptionConsumerRemoved

func (_VRFCoordinator *VRFCoordinatorFilterer) ParseSubscriptionConsumerRemoved(log types.Log) (*VRFCoordinatorSubscriptionConsumerRemoved, error)

func (*VRFCoordinatorFilterer) ParseSubscriptionCreated

func (_VRFCoordinator *VRFCoordinatorFilterer) ParseSubscriptionCreated(log types.Log) (*VRFCoordinatorSubscriptionCreated, error)

func (*VRFCoordinatorFilterer) ParseSubscriptionFunded

func (_VRFCoordinator *VRFCoordinatorFilterer) ParseSubscriptionFunded(log types.Log) (*VRFCoordinatorSubscriptionFunded, error)

func (*VRFCoordinatorFilterer) ParseSubscriptionOwnerTransferRequested

func (_VRFCoordinator *VRFCoordinatorFilterer) ParseSubscriptionOwnerTransferRequested(log types.Log) (*VRFCoordinatorSubscriptionOwnerTransferRequested, error)

func (*VRFCoordinatorFilterer) ParseSubscriptionOwnerTransferred

func (_VRFCoordinator *VRFCoordinatorFilterer) ParseSubscriptionOwnerTransferred(log types.Log) (*VRFCoordinatorSubscriptionOwnerTransferred, error)

func (*VRFCoordinatorFilterer) WatchConfigSet added in v1.11.0

func (_VRFCoordinator *VRFCoordinatorFilterer) WatchConfigSet(opts *bind.WatchOpts, sink chan<- *VRFCoordinatorConfigSet) (event.Subscription, error)

func (*VRFCoordinatorFilterer) WatchFundsRecovered added in v1.12.0

func (_VRFCoordinator *VRFCoordinatorFilterer) WatchFundsRecovered(opts *bind.WatchOpts, sink chan<- *VRFCoordinatorFundsRecovered) (event.Subscription, error)

func (*VRFCoordinatorFilterer) WatchNewTransmission added in v1.12.0

func (_VRFCoordinator *VRFCoordinatorFilterer) WatchNewTransmission(opts *bind.WatchOpts, sink chan<- *VRFCoordinatorNewTransmission, aggregatorRoundId []uint32, epochAndRound []*big.Int) (event.Subscription, error)

func (*VRFCoordinatorFilterer) WatchOutputsServed

func (_VRFCoordinator *VRFCoordinatorFilterer) WatchOutputsServed(opts *bind.WatchOpts, sink chan<- *VRFCoordinatorOutputsServed) (event.Subscription, error)

func (*VRFCoordinatorFilterer) WatchOwnershipTransferRequested

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

func (*VRFCoordinatorFilterer) WatchOwnershipTransferred

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

func (*VRFCoordinatorFilterer) WatchRandomWordsFulfilled

func (_VRFCoordinator *VRFCoordinatorFilterer) WatchRandomWordsFulfilled(opts *bind.WatchOpts, sink chan<- *VRFCoordinatorRandomWordsFulfilled) (event.Subscription, error)

func (*VRFCoordinatorFilterer) WatchRandomnessFulfillmentRequested

func (_VRFCoordinator *VRFCoordinatorFilterer) WatchRandomnessFulfillmentRequested(opts *bind.WatchOpts, sink chan<- *VRFCoordinatorRandomnessFulfillmentRequested, requestID []*big.Int, requester []common.Address) (event.Subscription, error)

func (*VRFCoordinatorFilterer) WatchRandomnessRequested

func (_VRFCoordinator *VRFCoordinatorFilterer) WatchRandomnessRequested(opts *bind.WatchOpts, sink chan<- *VRFCoordinatorRandomnessRequested, requestID []*big.Int, requester []common.Address) (event.Subscription, error)

func (*VRFCoordinatorFilterer) WatchSubscriptionCanceled

func (_VRFCoordinator *VRFCoordinatorFilterer) WatchSubscriptionCanceled(opts *bind.WatchOpts, sink chan<- *VRFCoordinatorSubscriptionCanceled, subId []uint64) (event.Subscription, error)

func (*VRFCoordinatorFilterer) WatchSubscriptionConsumerAdded

func (_VRFCoordinator *VRFCoordinatorFilterer) WatchSubscriptionConsumerAdded(opts *bind.WatchOpts, sink chan<- *VRFCoordinatorSubscriptionConsumerAdded, subId []uint64) (event.Subscription, error)

func (*VRFCoordinatorFilterer) WatchSubscriptionConsumerRemoved

func (_VRFCoordinator *VRFCoordinatorFilterer) WatchSubscriptionConsumerRemoved(opts *bind.WatchOpts, sink chan<- *VRFCoordinatorSubscriptionConsumerRemoved, subId []uint64) (event.Subscription, error)

func (*VRFCoordinatorFilterer) WatchSubscriptionCreated

func (_VRFCoordinator *VRFCoordinatorFilterer) WatchSubscriptionCreated(opts *bind.WatchOpts, sink chan<- *VRFCoordinatorSubscriptionCreated, subId []uint64) (event.Subscription, error)

func (*VRFCoordinatorFilterer) WatchSubscriptionFunded

func (_VRFCoordinator *VRFCoordinatorFilterer) WatchSubscriptionFunded(opts *bind.WatchOpts, sink chan<- *VRFCoordinatorSubscriptionFunded, subId []uint64) (event.Subscription, error)

func (*VRFCoordinatorFilterer) WatchSubscriptionOwnerTransferRequested

func (_VRFCoordinator *VRFCoordinatorFilterer) WatchSubscriptionOwnerTransferRequested(opts *bind.WatchOpts, sink chan<- *VRFCoordinatorSubscriptionOwnerTransferRequested, subId []uint64) (event.Subscription, error)

func (*VRFCoordinatorFilterer) WatchSubscriptionOwnerTransferred

func (_VRFCoordinator *VRFCoordinatorFilterer) WatchSubscriptionOwnerTransferred(opts *bind.WatchOpts, sink chan<- *VRFCoordinatorSubscriptionOwnerTransferred, subId []uint64) (event.Subscription, error)

type VRFCoordinatorFundsRecovered added in v1.12.0

type VRFCoordinatorFundsRecovered struct {
	To     common.Address
	Amount *big.Int
	Raw    types.Log
}

func (VRFCoordinatorFundsRecovered) Topic added in v1.12.0

type VRFCoordinatorFundsRecoveredIterator added in v1.12.0

type VRFCoordinatorFundsRecoveredIterator struct {
	Event *VRFCoordinatorFundsRecovered
	// contains filtered or unexported fields
}

func (*VRFCoordinatorFundsRecoveredIterator) Close added in v1.12.0

func (*VRFCoordinatorFundsRecoveredIterator) Error added in v1.12.0

func (*VRFCoordinatorFundsRecoveredIterator) Next added in v1.12.0

type VRFCoordinatorInterface

type VRFCoordinatorInterface interface {
	LINK(opts *bind.CallOpts) (common.Address, error)

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

	MAXCONSUMERS(opts *bind.CallOpts) (uint16, error)

	NUMCONFDELAYS(opts *bind.CallOpts) (uint8, error)

	CalculateRequestPriceCallbackJuels(opts *bind.CallOpts, callback VRFBeaconTypesCallback) (*big.Int, error)

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

	GetBeaconRequest(opts *bind.CallOpts, requestId *big.Int) (VRFBeaconTypesBeaconRequest, error)

	GetCallbackMemo(opts *bind.CallOpts, requestId *big.Int) ([32]byte, error)

	GetConfirmationDelays(opts *bind.CallOpts) ([8]*big.Int, error)

	GetCurrentSubId(opts *bind.CallOpts) (uint64, error)

	GetSubscription(opts *bind.CallOpts, subId uint64) (GetSubscription,

		error)

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

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

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

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

	MinDelay(opts *bind.CallOpts) (uint16, error)

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

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

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

	AcceptSubscriptionOwnerTransfer(opts *bind.TransactOpts, subId uint64) (*types.Transaction, error)

	AddConsumer(opts *bind.TransactOpts, subId uint64, consumer common.Address) (*types.Transaction, error)

	BatchTransferLink(opts *bind.TransactOpts, recipients []common.Address, paymentsInJuels []*big.Int) (*types.Transaction, error)

	CancelSubscription(opts *bind.TransactOpts, subId uint64, to common.Address) (*types.Transaction, error)

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

	ForgetConsumerSubscriptionID(opts *bind.TransactOpts, consumers []common.Address) (*types.Transaction, error)

	OnTokenTransfer(opts *bind.TransactOpts, arg0 common.Address, amount *big.Int, data []byte) (*types.Transaction, error)

	ProcessVRFOutputs(opts *bind.TransactOpts, vrfOutputs []VRFBeaconTypesVRFOutput, juelsPerFeeCoin *big.Int, reasonableGasPrice uint64, blockHeight uint64, arg4 [32]byte) (*types.Transaction, error)

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

	RedeemRandomness(opts *bind.TransactOpts, requestID *big.Int) (*types.Transaction, error)

	RemoveConsumer(opts *bind.TransactOpts, subId uint64, consumer common.Address) (*types.Transaction, error)

	RequestRandomness(opts *bind.TransactOpts, numWords uint16, subID uint64, confirmationDelayArg *big.Int) (*types.Transaction, error)

	RequestRandomnessFulfillment(opts *bind.TransactOpts, subID uint64, numWords uint16, confirmationDelayArg *big.Int, callbackGasLimit uint32, arguments []byte) (*types.Transaction, error)

	RequestSubscriptionOwnerTransfer(opts *bind.TransactOpts, subId uint64, newOwner common.Address) (*types.Transaction, error)

	SetBillingConfig(opts *bind.TransactOpts, billingConfig VRFBeaconTypesBillingConfig) (*types.Transaction, error)

	SetConfirmationDelays(opts *bind.TransactOpts, confDelays [8]*big.Int) (*types.Transaction, error)

	SetProducer(opts *bind.TransactOpts, addr common.Address) (*types.Transaction, error)

	SetReasonableGasPrice(opts *bind.TransactOpts, gasPrice uint64) (*types.Transaction, error)

	TransferLink(opts *bind.TransactOpts, recipient common.Address, juelsAmount *big.Int) (*types.Transaction, error)

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

	FilterConfigSet(opts *bind.FilterOpts) (*VRFCoordinatorConfigSetIterator, error)

	WatchConfigSet(opts *bind.WatchOpts, sink chan<- *VRFCoordinatorConfigSet) (event.Subscription, error)

	ParseConfigSet(log types.Log) (*VRFCoordinatorConfigSet, error)

	FilterFundsRecovered(opts *bind.FilterOpts) (*VRFCoordinatorFundsRecoveredIterator, error)

	WatchFundsRecovered(opts *bind.WatchOpts, sink chan<- *VRFCoordinatorFundsRecovered) (event.Subscription, error)

	ParseFundsRecovered(log types.Log) (*VRFCoordinatorFundsRecovered, error)

	FilterNewTransmission(opts *bind.FilterOpts, aggregatorRoundId []uint32, epochAndRound []*big.Int) (*VRFCoordinatorNewTransmissionIterator, error)

	WatchNewTransmission(opts *bind.WatchOpts, sink chan<- *VRFCoordinatorNewTransmission, aggregatorRoundId []uint32, epochAndRound []*big.Int) (event.Subscription, error)

	ParseNewTransmission(log types.Log) (*VRFCoordinatorNewTransmission, error)

	FilterOutputsServed(opts *bind.FilterOpts) (*VRFCoordinatorOutputsServedIterator, error)

	WatchOutputsServed(opts *bind.WatchOpts, sink chan<- *VRFCoordinatorOutputsServed) (event.Subscription, error)

	ParseOutputsServed(log types.Log) (*VRFCoordinatorOutputsServed, error)

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

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

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

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

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

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

	FilterRandomWordsFulfilled(opts *bind.FilterOpts) (*VRFCoordinatorRandomWordsFulfilledIterator, error)

	WatchRandomWordsFulfilled(opts *bind.WatchOpts, sink chan<- *VRFCoordinatorRandomWordsFulfilled) (event.Subscription, error)

	ParseRandomWordsFulfilled(log types.Log) (*VRFCoordinatorRandomWordsFulfilled, error)

	FilterRandomnessFulfillmentRequested(opts *bind.FilterOpts, requestID []*big.Int, requester []common.Address) (*VRFCoordinatorRandomnessFulfillmentRequestedIterator, error)

	WatchRandomnessFulfillmentRequested(opts *bind.WatchOpts, sink chan<- *VRFCoordinatorRandomnessFulfillmentRequested, requestID []*big.Int, requester []common.Address) (event.Subscription, error)

	ParseRandomnessFulfillmentRequested(log types.Log) (*VRFCoordinatorRandomnessFulfillmentRequested, error)

	FilterRandomnessRequested(opts *bind.FilterOpts, requestID []*big.Int, requester []common.Address) (*VRFCoordinatorRandomnessRequestedIterator, error)

	WatchRandomnessRequested(opts *bind.WatchOpts, sink chan<- *VRFCoordinatorRandomnessRequested, requestID []*big.Int, requester []common.Address) (event.Subscription, error)

	ParseRandomnessRequested(log types.Log) (*VRFCoordinatorRandomnessRequested, error)

	FilterSubscriptionCanceled(opts *bind.FilterOpts, subId []uint64) (*VRFCoordinatorSubscriptionCanceledIterator, error)

	WatchSubscriptionCanceled(opts *bind.WatchOpts, sink chan<- *VRFCoordinatorSubscriptionCanceled, subId []uint64) (event.Subscription, error)

	ParseSubscriptionCanceled(log types.Log) (*VRFCoordinatorSubscriptionCanceled, error)

	FilterSubscriptionConsumerAdded(opts *bind.FilterOpts, subId []uint64) (*VRFCoordinatorSubscriptionConsumerAddedIterator, error)

	WatchSubscriptionConsumerAdded(opts *bind.WatchOpts, sink chan<- *VRFCoordinatorSubscriptionConsumerAdded, subId []uint64) (event.Subscription, error)

	ParseSubscriptionConsumerAdded(log types.Log) (*VRFCoordinatorSubscriptionConsumerAdded, error)

	FilterSubscriptionConsumerRemoved(opts *bind.FilterOpts, subId []uint64) (*VRFCoordinatorSubscriptionConsumerRemovedIterator, error)

	WatchSubscriptionConsumerRemoved(opts *bind.WatchOpts, sink chan<- *VRFCoordinatorSubscriptionConsumerRemoved, subId []uint64) (event.Subscription, error)

	ParseSubscriptionConsumerRemoved(log types.Log) (*VRFCoordinatorSubscriptionConsumerRemoved, error)

	FilterSubscriptionCreated(opts *bind.FilterOpts, subId []uint64) (*VRFCoordinatorSubscriptionCreatedIterator, error)

	WatchSubscriptionCreated(opts *bind.WatchOpts, sink chan<- *VRFCoordinatorSubscriptionCreated, subId []uint64) (event.Subscription, error)

	ParseSubscriptionCreated(log types.Log) (*VRFCoordinatorSubscriptionCreated, error)

	FilterSubscriptionFunded(opts *bind.FilterOpts, subId []uint64) (*VRFCoordinatorSubscriptionFundedIterator, error)

	WatchSubscriptionFunded(opts *bind.WatchOpts, sink chan<- *VRFCoordinatorSubscriptionFunded, subId []uint64) (event.Subscription, error)

	ParseSubscriptionFunded(log types.Log) (*VRFCoordinatorSubscriptionFunded, error)

	FilterSubscriptionOwnerTransferRequested(opts *bind.FilterOpts, subId []uint64) (*VRFCoordinatorSubscriptionOwnerTransferRequestedIterator, error)

	WatchSubscriptionOwnerTransferRequested(opts *bind.WatchOpts, sink chan<- *VRFCoordinatorSubscriptionOwnerTransferRequested, subId []uint64) (event.Subscription, error)

	ParseSubscriptionOwnerTransferRequested(log types.Log) (*VRFCoordinatorSubscriptionOwnerTransferRequested, error)

	FilterSubscriptionOwnerTransferred(opts *bind.FilterOpts, subId []uint64) (*VRFCoordinatorSubscriptionOwnerTransferredIterator, error)

	WatchSubscriptionOwnerTransferred(opts *bind.WatchOpts, sink chan<- *VRFCoordinatorSubscriptionOwnerTransferred, subId []uint64) (event.Subscription, error)

	ParseSubscriptionOwnerTransferred(log types.Log) (*VRFCoordinatorSubscriptionOwnerTransferred, error)

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

	Address() common.Address
}

type VRFCoordinatorNewTransmission added in v1.12.0

type VRFCoordinatorNewTransmission struct {
	AggregatorRoundId  uint32
	EpochAndRound      *big.Int
	Transmitter        common.Address
	JuelsPerFeeCoin    *big.Int
	ReasonableGasPrice uint64
	ConfigDigest       [32]byte
	Raw                types.Log
}

func (VRFCoordinatorNewTransmission) Topic added in v1.12.0

type VRFCoordinatorNewTransmissionIterator added in v1.12.0

type VRFCoordinatorNewTransmissionIterator struct {
	Event *VRFCoordinatorNewTransmission
	// contains filtered or unexported fields
}

func (*VRFCoordinatorNewTransmissionIterator) Close added in v1.12.0

func (*VRFCoordinatorNewTransmissionIterator) Error added in v1.12.0

func (*VRFCoordinatorNewTransmissionIterator) Next added in v1.12.0

type VRFCoordinatorOutputsServed

type VRFCoordinatorOutputsServed struct {
	RecentBlockHeight  uint64
	Transmitter        common.Address
	JuelsPerFeeCoin    *big.Int
	ReasonableGasPrice uint64
	OutputsServed      []VRFBeaconTypesOutputServed
	Raw                types.Log
}

func (VRFCoordinatorOutputsServed) Topic

type VRFCoordinatorOutputsServedIterator

type VRFCoordinatorOutputsServedIterator struct {
	Event *VRFCoordinatorOutputsServed
	// contains filtered or unexported fields
}

func (*VRFCoordinatorOutputsServedIterator) Close

func (*VRFCoordinatorOutputsServedIterator) Error

func (*VRFCoordinatorOutputsServedIterator) Next

type VRFCoordinatorOwnershipTransferRequested

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

func (VRFCoordinatorOwnershipTransferRequested) Topic

type VRFCoordinatorOwnershipTransferRequestedIterator

type VRFCoordinatorOwnershipTransferRequestedIterator struct {
	Event *VRFCoordinatorOwnershipTransferRequested
	// contains filtered or unexported fields
}

func (*VRFCoordinatorOwnershipTransferRequestedIterator) Close

func (*VRFCoordinatorOwnershipTransferRequestedIterator) Error

func (*VRFCoordinatorOwnershipTransferRequestedIterator) Next

type VRFCoordinatorOwnershipTransferred

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

func (VRFCoordinatorOwnershipTransferred) Topic

type VRFCoordinatorOwnershipTransferredIterator

type VRFCoordinatorOwnershipTransferredIterator struct {
	Event *VRFCoordinatorOwnershipTransferred
	// contains filtered or unexported fields
}

func (*VRFCoordinatorOwnershipTransferredIterator) Close

func (*VRFCoordinatorOwnershipTransferredIterator) Error

func (*VRFCoordinatorOwnershipTransferredIterator) Next

type VRFCoordinatorRandomWordsFulfilled

type VRFCoordinatorRandomWordsFulfilled struct {
	RequestIDs            []*big.Int
	SuccessfulFulfillment []byte
	TruncatedErrorData    [][]byte
	Raw                   types.Log
}

func (VRFCoordinatorRandomWordsFulfilled) Topic

type VRFCoordinatorRandomWordsFulfilledIterator

type VRFCoordinatorRandomWordsFulfilledIterator struct {
	Event *VRFCoordinatorRandomWordsFulfilled
	// contains filtered or unexported fields
}

func (*VRFCoordinatorRandomWordsFulfilledIterator) Close

func (*VRFCoordinatorRandomWordsFulfilledIterator) Error

func (*VRFCoordinatorRandomWordsFulfilledIterator) Next

type VRFCoordinatorRandomnessFulfillmentRequested

type VRFCoordinatorRandomnessFulfillmentRequested struct {
	RequestID              *big.Int
	Requester              common.Address
	NextBeaconOutputHeight uint64
	ConfDelay              *big.Int
	SubID                  uint64
	NumWords               uint16
	GasAllowance           uint32
	GasPrice               *big.Int
	WeiPerUnitLink         *big.Int
	Arguments              []byte
	Raw                    types.Log
}

func (VRFCoordinatorRandomnessFulfillmentRequested) Topic

type VRFCoordinatorRandomnessFulfillmentRequestedIterator

type VRFCoordinatorRandomnessFulfillmentRequestedIterator struct {
	Event *VRFCoordinatorRandomnessFulfillmentRequested
	// contains filtered or unexported fields
}

func (*VRFCoordinatorRandomnessFulfillmentRequestedIterator) Close

func (*VRFCoordinatorRandomnessFulfillmentRequestedIterator) Error

func (*VRFCoordinatorRandomnessFulfillmentRequestedIterator) Next

type VRFCoordinatorRandomnessRequested

type VRFCoordinatorRandomnessRequested struct {
	RequestID              *big.Int
	Requester              common.Address
	NextBeaconOutputHeight uint64
	ConfDelay              *big.Int
	SubID                  uint64
	NumWords               uint16
	Raw                    types.Log
}

func (VRFCoordinatorRandomnessRequested) Topic

type VRFCoordinatorRandomnessRequestedIterator

type VRFCoordinatorRandomnessRequestedIterator struct {
	Event *VRFCoordinatorRandomnessRequested
	// contains filtered or unexported fields
}

func (*VRFCoordinatorRandomnessRequestedIterator) Close

func (*VRFCoordinatorRandomnessRequestedIterator) Error

func (*VRFCoordinatorRandomnessRequestedIterator) Next

type VRFCoordinatorRaw

type VRFCoordinatorRaw struct {
	Contract *VRFCoordinator
}

func (*VRFCoordinatorRaw) Call

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

func (*VRFCoordinatorRaw) Transact

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

func (*VRFCoordinatorRaw) Transfer

func (_VRFCoordinator *VRFCoordinatorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

type VRFCoordinatorSession

type VRFCoordinatorSession struct {
	Contract     *VRFCoordinator
	CallOpts     bind.CallOpts
	TransactOpts bind.TransactOpts
}

func (*VRFCoordinatorSession) AcceptOwnership

func (_VRFCoordinator *VRFCoordinatorSession) AcceptOwnership() (*types.Transaction, error)

func (*VRFCoordinatorSession) AcceptSubscriptionOwnerTransfer

func (_VRFCoordinator *VRFCoordinatorSession) AcceptSubscriptionOwnerTransfer(subId uint64) (*types.Transaction, error)

func (*VRFCoordinatorSession) AddConsumer

func (_VRFCoordinator *VRFCoordinatorSession) AddConsumer(subId uint64, consumer common.Address) (*types.Transaction, error)
func (_VRFCoordinator *VRFCoordinatorSession) BatchTransferLink(recipients []common.Address, paymentsInJuels []*big.Int) (*types.Transaction, error)

func (*VRFCoordinatorSession) CalculateRequestPriceCallbackJuels

func (_VRFCoordinator *VRFCoordinatorSession) CalculateRequestPriceCallbackJuels(callback VRFBeaconTypesCallback) (*big.Int, error)

func (*VRFCoordinatorSession) CalculateRequestPriceJuels

func (_VRFCoordinator *VRFCoordinatorSession) CalculateRequestPriceJuels() (*big.Int, error)

func (*VRFCoordinatorSession) CancelSubscription

func (_VRFCoordinator *VRFCoordinatorSession) CancelSubscription(subId uint64, to common.Address) (*types.Transaction, error)

func (*VRFCoordinatorSession) CreateSubscription

func (_VRFCoordinator *VRFCoordinatorSession) CreateSubscription() (*types.Transaction, error)

func (*VRFCoordinatorSession) ForgetConsumerSubscriptionID

func (_VRFCoordinator *VRFCoordinatorSession) ForgetConsumerSubscriptionID(consumers []common.Address) (*types.Transaction, error)

func (*VRFCoordinatorSession) GetBeaconRequest added in v1.12.0

func (_VRFCoordinator *VRFCoordinatorSession) GetBeaconRequest(requestId *big.Int) (VRFBeaconTypesBeaconRequest, error)

func (*VRFCoordinatorSession) GetCallbackMemo added in v1.12.0

func (_VRFCoordinator *VRFCoordinatorSession) GetCallbackMemo(requestId *big.Int) ([32]byte, error)

func (*VRFCoordinatorSession) GetConfirmationDelays

func (_VRFCoordinator *VRFCoordinatorSession) GetConfirmationDelays() ([8]*big.Int, error)

func (*VRFCoordinatorSession) GetCurrentSubId

func (_VRFCoordinator *VRFCoordinatorSession) GetCurrentSubId() (uint64, error)

func (*VRFCoordinatorSession) GetSubscription

func (_VRFCoordinator *VRFCoordinatorSession) GetSubscription(subId uint64) (GetSubscription,

	error)

func (*VRFCoordinatorSession) GetTotalLinkBalance

func (_VRFCoordinator *VRFCoordinatorSession) GetTotalLinkBalance() (*big.Int, error)

func (*VRFCoordinatorSession) IBeaconPeriodBlocks

func (_VRFCoordinator *VRFCoordinatorSession) IBeaconPeriodBlocks() (*big.Int, error)

func (*VRFCoordinatorSession) IStartSlot

func (_VRFCoordinator *VRFCoordinatorSession) IStartSlot() (*big.Int, error)
func (_VRFCoordinator *VRFCoordinatorSession) LINK() (common.Address, error)

func (*VRFCoordinatorSession) LINKETHFEED

func (_VRFCoordinator *VRFCoordinatorSession) LINKETHFEED() (common.Address, error)

func (*VRFCoordinatorSession) MAXCONSUMERS

func (_VRFCoordinator *VRFCoordinatorSession) MAXCONSUMERS() (uint16, error)

func (*VRFCoordinatorSession) MaxNumWords

func (_VRFCoordinator *VRFCoordinatorSession) MaxNumWords() (*big.Int, error)

func (*VRFCoordinatorSession) MinDelay

func (_VRFCoordinator *VRFCoordinatorSession) MinDelay() (uint16, error)

func (*VRFCoordinatorSession) NUMCONFDELAYS

func (_VRFCoordinator *VRFCoordinatorSession) NUMCONFDELAYS() (uint8, error)

func (*VRFCoordinatorSession) OnTokenTransfer

func (_VRFCoordinator *VRFCoordinatorSession) OnTokenTransfer(arg0 common.Address, amount *big.Int, data []byte) (*types.Transaction, error)

func (*VRFCoordinatorSession) Owner

func (_VRFCoordinator *VRFCoordinatorSession) Owner() (common.Address, error)

func (*VRFCoordinatorSession) ProcessVRFOutputs

func (_VRFCoordinator *VRFCoordinatorSession) ProcessVRFOutputs(vrfOutputs []VRFBeaconTypesVRFOutput, juelsPerFeeCoin *big.Int, reasonableGasPrice uint64, blockHeight uint64, arg4 [32]byte) (*types.Transaction, error)

func (*VRFCoordinatorSession) Producer

func (_VRFCoordinator *VRFCoordinatorSession) Producer() (common.Address, error)

func (*VRFCoordinatorSession) RecoverFunds added in v1.12.0

func (_VRFCoordinator *VRFCoordinatorSession) RecoverFunds(to common.Address) (*types.Transaction, error)

func (*VRFCoordinatorSession) RedeemRandomness

func (_VRFCoordinator *VRFCoordinatorSession) RedeemRandomness(requestID *big.Int) (*types.Transaction, error)

func (*VRFCoordinatorSession) RemoveConsumer

func (_VRFCoordinator *VRFCoordinatorSession) RemoveConsumer(subId uint64, consumer common.Address) (*types.Transaction, error)

func (*VRFCoordinatorSession) RequestRandomness

func (_VRFCoordinator *VRFCoordinatorSession) RequestRandomness(numWords uint16, subID uint64, confirmationDelayArg *big.Int) (*types.Transaction, error)

func (*VRFCoordinatorSession) RequestRandomnessFulfillment

func (_VRFCoordinator *VRFCoordinatorSession) RequestRandomnessFulfillment(subID uint64, numWords uint16, confirmationDelayArg *big.Int, callbackGasLimit uint32, arguments []byte) (*types.Transaction, error)

func (*VRFCoordinatorSession) RequestSubscriptionOwnerTransfer

func (_VRFCoordinator *VRFCoordinatorSession) RequestSubscriptionOwnerTransfer(subId uint64, newOwner common.Address) (*types.Transaction, error)

func (*VRFCoordinatorSession) SetBillingConfig

func (_VRFCoordinator *VRFCoordinatorSession) SetBillingConfig(billingConfig VRFBeaconTypesBillingConfig) (*types.Transaction, error)

func (*VRFCoordinatorSession) SetConfirmationDelays

func (_VRFCoordinator *VRFCoordinatorSession) SetConfirmationDelays(confDelays [8]*big.Int) (*types.Transaction, error)

func (*VRFCoordinatorSession) SetProducer

func (_VRFCoordinator *VRFCoordinatorSession) SetProducer(addr common.Address) (*types.Transaction, error)

func (*VRFCoordinatorSession) SetReasonableGasPrice added in v1.12.0

func (_VRFCoordinator *VRFCoordinatorSession) SetReasonableGasPrice(gasPrice uint64) (*types.Transaction, error)
func (_VRFCoordinator *VRFCoordinatorSession) TransferLink(recipient common.Address, juelsAmount *big.Int) (*types.Transaction, error)

func (*VRFCoordinatorSession) TransferOwnership

func (_VRFCoordinator *VRFCoordinatorSession) TransferOwnership(to common.Address) (*types.Transaction, error)

type VRFCoordinatorSubscriptionCanceled

type VRFCoordinatorSubscriptionCanceled struct {
	SubId  uint64
	To     common.Address
	Amount *big.Int
	Raw    types.Log
}

func (VRFCoordinatorSubscriptionCanceled) Topic

type VRFCoordinatorSubscriptionCanceledIterator

type VRFCoordinatorSubscriptionCanceledIterator struct {
	Event *VRFCoordinatorSubscriptionCanceled
	// contains filtered or unexported fields
}

func (*VRFCoordinatorSubscriptionCanceledIterator) Close

func (*VRFCoordinatorSubscriptionCanceledIterator) Error

func (*VRFCoordinatorSubscriptionCanceledIterator) Next

type VRFCoordinatorSubscriptionConsumerAdded

type VRFCoordinatorSubscriptionConsumerAdded struct {
	SubId    uint64
	Consumer common.Address
	Raw      types.Log
}

func (VRFCoordinatorSubscriptionConsumerAdded) Topic

type VRFCoordinatorSubscriptionConsumerAddedIterator

type VRFCoordinatorSubscriptionConsumerAddedIterator struct {
	Event *VRFCoordinatorSubscriptionConsumerAdded
	// contains filtered or unexported fields
}

func (*VRFCoordinatorSubscriptionConsumerAddedIterator) Close

func (*VRFCoordinatorSubscriptionConsumerAddedIterator) Error

func (*VRFCoordinatorSubscriptionConsumerAddedIterator) Next

type VRFCoordinatorSubscriptionConsumerRemoved

type VRFCoordinatorSubscriptionConsumerRemoved struct {
	SubId    uint64
	Consumer common.Address
	Raw      types.Log
}

func (VRFCoordinatorSubscriptionConsumerRemoved) Topic

type VRFCoordinatorSubscriptionConsumerRemovedIterator

type VRFCoordinatorSubscriptionConsumerRemovedIterator struct {
	Event *VRFCoordinatorSubscriptionConsumerRemoved
	// contains filtered or unexported fields
}

func (*VRFCoordinatorSubscriptionConsumerRemovedIterator) Close

func (*VRFCoordinatorSubscriptionConsumerRemovedIterator) Error

func (*VRFCoordinatorSubscriptionConsumerRemovedIterator) Next

type VRFCoordinatorSubscriptionCreated

type VRFCoordinatorSubscriptionCreated struct {
	SubId uint64
	Owner common.Address
	Raw   types.Log
}

func (VRFCoordinatorSubscriptionCreated) Topic

type VRFCoordinatorSubscriptionCreatedIterator

type VRFCoordinatorSubscriptionCreatedIterator struct {
	Event *VRFCoordinatorSubscriptionCreated
	// contains filtered or unexported fields
}

func (*VRFCoordinatorSubscriptionCreatedIterator) Close

func (*VRFCoordinatorSubscriptionCreatedIterator) Error

func (*VRFCoordinatorSubscriptionCreatedIterator) Next

type VRFCoordinatorSubscriptionFunded

type VRFCoordinatorSubscriptionFunded struct {
	SubId      uint64
	OldBalance *big.Int
	NewBalance *big.Int
	Raw        types.Log
}

func (VRFCoordinatorSubscriptionFunded) Topic

type VRFCoordinatorSubscriptionFundedIterator

type VRFCoordinatorSubscriptionFundedIterator struct {
	Event *VRFCoordinatorSubscriptionFunded
	// contains filtered or unexported fields
}

func (*VRFCoordinatorSubscriptionFundedIterator) Close

func (*VRFCoordinatorSubscriptionFundedIterator) Error

func (*VRFCoordinatorSubscriptionFundedIterator) Next

type VRFCoordinatorSubscriptionOwnerTransferRequested

type VRFCoordinatorSubscriptionOwnerTransferRequested struct {
	SubId uint64
	From  common.Address
	To    common.Address
	Raw   types.Log
}

func (VRFCoordinatorSubscriptionOwnerTransferRequested) Topic

type VRFCoordinatorSubscriptionOwnerTransferRequestedIterator

type VRFCoordinatorSubscriptionOwnerTransferRequestedIterator struct {
	Event *VRFCoordinatorSubscriptionOwnerTransferRequested
	// contains filtered or unexported fields
}

func (*VRFCoordinatorSubscriptionOwnerTransferRequestedIterator) Close

func (*VRFCoordinatorSubscriptionOwnerTransferRequestedIterator) Error

func (*VRFCoordinatorSubscriptionOwnerTransferRequestedIterator) Next

type VRFCoordinatorSubscriptionOwnerTransferred

type VRFCoordinatorSubscriptionOwnerTransferred struct {
	SubId uint64
	From  common.Address
	To    common.Address
	Raw   types.Log
}

func (VRFCoordinatorSubscriptionOwnerTransferred) Topic

type VRFCoordinatorSubscriptionOwnerTransferredIterator

type VRFCoordinatorSubscriptionOwnerTransferredIterator struct {
	Event *VRFCoordinatorSubscriptionOwnerTransferred
	// contains filtered or unexported fields
}

func (*VRFCoordinatorSubscriptionOwnerTransferredIterator) Close

func (*VRFCoordinatorSubscriptionOwnerTransferredIterator) Error

func (*VRFCoordinatorSubscriptionOwnerTransferredIterator) Next

type VRFCoordinatorTransactor

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

func NewVRFCoordinatorTransactor

func NewVRFCoordinatorTransactor(address common.Address, transactor bind.ContractTransactor) (*VRFCoordinatorTransactor, error)

func (*VRFCoordinatorTransactor) AcceptOwnership

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

func (*VRFCoordinatorTransactor) AcceptSubscriptionOwnerTransfer

func (_VRFCoordinator *VRFCoordinatorTransactor) AcceptSubscriptionOwnerTransfer(opts *bind.TransactOpts, subId uint64) (*types.Transaction, error)

func (*VRFCoordinatorTransactor) AddConsumer

func (_VRFCoordinator *VRFCoordinatorTransactor) AddConsumer(opts *bind.TransactOpts, subId uint64, consumer common.Address) (*types.Transaction, error)
func (_VRFCoordinator *VRFCoordinatorTransactor) BatchTransferLink(opts *bind.TransactOpts, recipients []common.Address, paymentsInJuels []*big.Int) (*types.Transaction, error)

func (*VRFCoordinatorTransactor) CancelSubscription

func (_VRFCoordinator *VRFCoordinatorTransactor) CancelSubscription(opts *bind.TransactOpts, subId uint64, to common.Address) (*types.Transaction, error)

func (*VRFCoordinatorTransactor) CreateSubscription

func (_VRFCoordinator *VRFCoordinatorTransactor) CreateSubscription(opts *bind.TransactOpts) (*types.Transaction, error)

func (*VRFCoordinatorTransactor) ForgetConsumerSubscriptionID

func (_VRFCoordinator *VRFCoordinatorTransactor) ForgetConsumerSubscriptionID(opts *bind.TransactOpts, consumers []common.Address) (*types.Transaction, error)

func (*VRFCoordinatorTransactor) OnTokenTransfer

func (_VRFCoordinator *VRFCoordinatorTransactor) OnTokenTransfer(opts *bind.TransactOpts, arg0 common.Address, amount *big.Int, data []byte) (*types.Transaction, error)

func (*VRFCoordinatorTransactor) ProcessVRFOutputs

func (_VRFCoordinator *VRFCoordinatorTransactor) ProcessVRFOutputs(opts *bind.TransactOpts, vrfOutputs []VRFBeaconTypesVRFOutput, juelsPerFeeCoin *big.Int, reasonableGasPrice uint64, blockHeight uint64, arg4 [32]byte) (*types.Transaction, error)

func (*VRFCoordinatorTransactor) RecoverFunds added in v1.12.0

func (_VRFCoordinator *VRFCoordinatorTransactor) RecoverFunds(opts *bind.TransactOpts, to common.Address) (*types.Transaction, error)

func (*VRFCoordinatorTransactor) RedeemRandomness

func (_VRFCoordinator *VRFCoordinatorTransactor) RedeemRandomness(opts *bind.TransactOpts, requestID *big.Int) (*types.Transaction, error)

func (*VRFCoordinatorTransactor) RemoveConsumer

func (_VRFCoordinator *VRFCoordinatorTransactor) RemoveConsumer(opts *bind.TransactOpts, subId uint64, consumer common.Address) (*types.Transaction, error)

func (*VRFCoordinatorTransactor) RequestRandomness

func (_VRFCoordinator *VRFCoordinatorTransactor) RequestRandomness(opts *bind.TransactOpts, numWords uint16, subID uint64, confirmationDelayArg *big.Int) (*types.Transaction, error)

func (*VRFCoordinatorTransactor) RequestRandomnessFulfillment

func (_VRFCoordinator *VRFCoordinatorTransactor) RequestRandomnessFulfillment(opts *bind.TransactOpts, subID uint64, numWords uint16, confirmationDelayArg *big.Int, callbackGasLimit uint32, arguments []byte) (*types.Transaction, error)

func (*VRFCoordinatorTransactor) RequestSubscriptionOwnerTransfer

func (_VRFCoordinator *VRFCoordinatorTransactor) RequestSubscriptionOwnerTransfer(opts *bind.TransactOpts, subId uint64, newOwner common.Address) (*types.Transaction, error)

func (*VRFCoordinatorTransactor) SetBillingConfig

func (_VRFCoordinator *VRFCoordinatorTransactor) SetBillingConfig(opts *bind.TransactOpts, billingConfig VRFBeaconTypesBillingConfig) (*types.Transaction, error)

func (*VRFCoordinatorTransactor) SetConfirmationDelays

func (_VRFCoordinator *VRFCoordinatorTransactor) SetConfirmationDelays(opts *bind.TransactOpts, confDelays [8]*big.Int) (*types.Transaction, error)

func (*VRFCoordinatorTransactor) SetProducer

func (_VRFCoordinator *VRFCoordinatorTransactor) SetProducer(opts *bind.TransactOpts, addr common.Address) (*types.Transaction, error)

func (*VRFCoordinatorTransactor) SetReasonableGasPrice added in v1.12.0

func (_VRFCoordinator *VRFCoordinatorTransactor) SetReasonableGasPrice(opts *bind.TransactOpts, gasPrice uint64) (*types.Transaction, error)
func (_VRFCoordinator *VRFCoordinatorTransactor) TransferLink(opts *bind.TransactOpts, recipient common.Address, juelsAmount *big.Int) (*types.Transaction, error)

func (*VRFCoordinatorTransactor) TransferOwnership

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

type VRFCoordinatorTransactorRaw

type VRFCoordinatorTransactorRaw struct {
	Contract *VRFCoordinatorTransactor
}

func (*VRFCoordinatorTransactorRaw) Transact

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

func (*VRFCoordinatorTransactorRaw) Transfer

func (_VRFCoordinator *VRFCoordinatorTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

type VRFCoordinatorTransactorSession

type VRFCoordinatorTransactorSession struct {
	Contract     *VRFCoordinatorTransactor
	TransactOpts bind.TransactOpts
}

func (*VRFCoordinatorTransactorSession) AcceptOwnership

func (_VRFCoordinator *VRFCoordinatorTransactorSession) AcceptOwnership() (*types.Transaction, error)

func (*VRFCoordinatorTransactorSession) AcceptSubscriptionOwnerTransfer

func (_VRFCoordinator *VRFCoordinatorTransactorSession) AcceptSubscriptionOwnerTransfer(subId uint64) (*types.Transaction, error)

func (*VRFCoordinatorTransactorSession) AddConsumer

func (_VRFCoordinator *VRFCoordinatorTransactorSession) AddConsumer(subId uint64, consumer common.Address) (*types.Transaction, error)
func (_VRFCoordinator *VRFCoordinatorTransactorSession) BatchTransferLink(recipients []common.Address, paymentsInJuels []*big.Int) (*types.Transaction, error)

func (*VRFCoordinatorTransactorSession) CancelSubscription

func (_VRFCoordinator *VRFCoordinatorTransactorSession) CancelSubscription(subId uint64, to common.Address) (*types.Transaction, error)

func (*VRFCoordinatorTransactorSession) CreateSubscription

func (_VRFCoordinator *VRFCoordinatorTransactorSession) CreateSubscription() (*types.Transaction, error)

func (*VRFCoordinatorTransactorSession) ForgetConsumerSubscriptionID

func (_VRFCoordinator *VRFCoordinatorTransactorSession) ForgetConsumerSubscriptionID(consumers []common.Address) (*types.Transaction, error)

func (*VRFCoordinatorTransactorSession) OnTokenTransfer

func (_VRFCoordinator *VRFCoordinatorTransactorSession) OnTokenTransfer(arg0 common.Address, amount *big.Int, data []byte) (*types.Transaction, error)

func (*VRFCoordinatorTransactorSession) ProcessVRFOutputs

func (_VRFCoordinator *VRFCoordinatorTransactorSession) ProcessVRFOutputs(vrfOutputs []VRFBeaconTypesVRFOutput, juelsPerFeeCoin *big.Int, reasonableGasPrice uint64, blockHeight uint64, arg4 [32]byte) (*types.Transaction, error)

func (*VRFCoordinatorTransactorSession) RecoverFunds added in v1.12.0

func (_VRFCoordinator *VRFCoordinatorTransactorSession) RecoverFunds(to common.Address) (*types.Transaction, error)

func (*VRFCoordinatorTransactorSession) RedeemRandomness

func (_VRFCoordinator *VRFCoordinatorTransactorSession) RedeemRandomness(requestID *big.Int) (*types.Transaction, error)

func (*VRFCoordinatorTransactorSession) RemoveConsumer

func (_VRFCoordinator *VRFCoordinatorTransactorSession) RemoveConsumer(subId uint64, consumer common.Address) (*types.Transaction, error)

func (*VRFCoordinatorTransactorSession) RequestRandomness

func (_VRFCoordinator *VRFCoordinatorTransactorSession) RequestRandomness(numWords uint16, subID uint64, confirmationDelayArg *big.Int) (*types.Transaction, error)

func (*VRFCoordinatorTransactorSession) RequestRandomnessFulfillment

func (_VRFCoordinator *VRFCoordinatorTransactorSession) RequestRandomnessFulfillment(subID uint64, numWords uint16, confirmationDelayArg *big.Int, callbackGasLimit uint32, arguments []byte) (*types.Transaction, error)

func (*VRFCoordinatorTransactorSession) RequestSubscriptionOwnerTransfer

func (_VRFCoordinator *VRFCoordinatorTransactorSession) RequestSubscriptionOwnerTransfer(subId uint64, newOwner common.Address) (*types.Transaction, error)

func (*VRFCoordinatorTransactorSession) SetBillingConfig

func (_VRFCoordinator *VRFCoordinatorTransactorSession) SetBillingConfig(billingConfig VRFBeaconTypesBillingConfig) (*types.Transaction, error)

func (*VRFCoordinatorTransactorSession) SetConfirmationDelays

func (_VRFCoordinator *VRFCoordinatorTransactorSession) SetConfirmationDelays(confDelays [8]*big.Int) (*types.Transaction, error)

func (*VRFCoordinatorTransactorSession) SetProducer

func (_VRFCoordinator *VRFCoordinatorTransactorSession) SetProducer(addr common.Address) (*types.Transaction, error)

func (*VRFCoordinatorTransactorSession) SetReasonableGasPrice added in v1.12.0

func (_VRFCoordinator *VRFCoordinatorTransactorSession) SetReasonableGasPrice(gasPrice uint64) (*types.Transaction, error)
func (_VRFCoordinator *VRFCoordinatorTransactorSession) TransferLink(recipient common.Address, juelsAmount *big.Int) (*types.Transaction, error)

func (*VRFCoordinatorTransactorSession) TransferOwnership

func (_VRFCoordinator *VRFCoordinatorTransactorSession) 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