randomness-js
Version:
A library for consuming, verifying and using randomness from the dcipher network
472 lines (464 loc) • 19.6 kB
text/typescript
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
import {
Contract,
ContractFactory,
ContractTransactionResponse,
Interface,
} from "ethers";
import type {
Signer,
AddressLike,
ContractDeployTransaction,
ContractRunner,
} from "ethers";
import type { NonPayableOverrides } from "../common";
import type {
MockRandomnessReceiver,
MockRandomnessReceiverInterface,
} from "../MockRandomnessReceiver";
const _abi = [
{
type: "constructor",
inputs: [
{
name: "randomnessSender",
type: "address",
internalType: "address",
},
{
name: "owner",
type: "address",
internalType: "address",
},
],
stateMutability: "nonpayable",
},
{
type: "function",
name: "acceptOwnership",
inputs: [],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "cancelSubscription",
inputs: [
{
name: "to",
type: "address",
internalType: "address",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "createSubscriptionAndFundNative",
inputs: [],
outputs: [],
stateMutability: "payable",
},
{
type: "function",
name: "getBalance",
inputs: [],
outputs: [
{
name: "",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "view",
},
{
type: "function",
name: "isInFlight",
inputs: [
{
name: "requestId",
type: "uint256",
internalType: "uint256",
},
],
outputs: [
{
name: "",
type: "bool",
internalType: "bool",
},
],
stateMutability: "view",
},
{
type: "function",
name: "owner",
inputs: [],
outputs: [
{
name: "",
type: "address",
internalType: "address",
},
],
stateMutability: "view",
},
{
type: "function",
name: "pendingRequestExists",
inputs: [
{
name: "subId",
type: "uint256",
internalType: "uint256",
},
],
outputs: [
{
name: "",
type: "bool",
internalType: "bool",
},
],
stateMutability: "view",
},
{
type: "function",
name: "randomness",
inputs: [],
outputs: [
{
name: "",
type: "bytes32",
internalType: "bytes32",
},
],
stateMutability: "view",
},
{
type: "function",
name: "randomnessSender",
inputs: [],
outputs: [
{
name: "",
type: "address",
internalType: "contract IRandomnessSender",
},
],
stateMutability: "view",
},
{
type: "function",
name: "receiveRandomness",
inputs: [
{
name: "requestID",
type: "uint256",
internalType: "uint256",
},
{
name: "randomness",
type: "bytes32",
internalType: "bytes32",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "requestId",
inputs: [],
outputs: [
{
name: "",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "view",
},
{
type: "function",
name: "rollDiceWithDirectFunding",
inputs: [
{
name: "callbackGasLimit",
type: "uint32",
internalType: "uint32",
},
],
outputs: [
{
name: "",
type: "uint256",
internalType: "uint256",
},
{
name: "",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "payable",
},
{
type: "function",
name: "rollDiceWithSubscription",
inputs: [
{
name: "callbackGasLimit",
type: "uint32",
internalType: "uint32",
},
],
outputs: [
{
name: "",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "nonpayable",
},
{
type: "function",
name: "setRandomnessSender",
inputs: [
{
name: "_randomnessSender",
type: "address",
internalType: "address",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "setSubId",
inputs: [
{
name: "subId",
type: "uint256",
internalType: "uint256",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "subscriptionId",
inputs: [],
outputs: [
{
name: "",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "view",
},
{
type: "function",
name: "topUpSubscriptionNative",
inputs: [],
outputs: [],
stateMutability: "payable",
},
{
type: "function",
name: "transferOwnership",
inputs: [
{
name: "to",
type: "address",
internalType: "address",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "updateSubscription",
inputs: [
{
name: "consumers",
type: "address[]",
internalType: "address[]",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "event",
name: "Funded",
inputs: [
{
name: "sender",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "amount",
type: "uint256",
indexed: false,
internalType: "uint256",
},
],
anonymous: false,
},
{
type: "event",
name: "NewSubscriptionId",
inputs: [
{
name: "subscriptionId",
type: "uint256",
indexed: true,
internalType: "uint256",
},
],
anonymous: false,
},
{
type: "event",
name: "OwnershipTransferRequested",
inputs: [
{
name: "from",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "to",
type: "address",
indexed: true,
internalType: "address",
},
],
anonymous: false,
},
{
type: "event",
name: "OwnershipTransferred",
inputs: [
{
name: "from",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "to",
type: "address",
indexed: true,
internalType: "address",
},
],
anonymous: false,
},
{
type: "event",
name: "Received",
inputs: [
{
name: "",
type: "address",
indexed: false,
internalType: "address",
},
{
name: "",
type: "uint256",
indexed: false,
internalType: "uint256",
},
],
anonymous: false,
},
{
type: "event",
name: "Withdrawn",
inputs: [
{
name: "recipient",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "amount",
type: "uint256",
indexed: false,
internalType: "uint256",
},
],
anonymous: false,
},
] as const;
const _bytecode =
"0x608060405234801561000f575f5ffd5b5060405161146b38038061146b83398101604081905261002e916101ad565b818180805f6001600160a01b03821661008e5760405162461bcd60e51b815260206004820152601860248201527f43616e6e6f7420736574206f776e657220746f207a65726f000000000000000060448201526064015b60405180910390fd5b5f80546001600160a01b0319166001600160a01b03848116919091179091558116156100bd576100bd816100ea565b5050600280546001600160a01b0319166001600160a01b039490941693909317909255506101de92505050565b336001600160a01b038216036101425760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207472616e7366657220746f2073656c660000000000000000006044820152606401610085565b600180546001600160a01b0319166001600160a01b038381169182179092555f8054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b80516001600160a01b03811681146101a8575f5ffd5b919050565b5f5f604083850312156101be575f5ffd5b6101c783610192565b91506101d560208401610192565b90509250929050565b611280806101eb5f395ff3fe60806040526004361061013c575f3560e01c80634e6d4412116100bb57806393d81d5811610071578063cd802c9111610057578063cd802c9114610325578063df3fafe814610344578063f2fde38b14610370575f5ffd5b806393d81d58146102fe578063b96dbba71461031d575f5ffd5b80637e6e12b3116100a15780637e6e12b31461027657806380980043146102955780638da5cb5b146102b4575f5ffd5b80634e6d44121461023a57806379ba509714610262575f5ffd5b80631d2b2afd1161011057806336bfffed116100f657806336bfffed146101cd57806341af6c87146101ec578063431ac6571461021b575f5ffd5b80631d2b2afd146101b057806336013189146101b8575f5ffd5b80626d6cae14610140578063011164a61461016857806309c1ba2e1461018957806312065fe01461019e575b5f5ffd5b34801561014b575f5ffd5b5061015560055481565b6040519081526020015b60405180910390f35b348015610173575f5ffd5b506101876101823660046110e2565b61038f565b005b348015610194575f5ffd5b5061015560035481565b3480156101a9575f5ffd5b5047610155565b610187610486565b3480156101c3575f5ffd5b5061015560045481565b3480156101d8575f5ffd5b506101876101e736600461111c565b61057a565b3480156101f7575f5ffd5b5061020b61020636600461118d565b6106d3565b604051901515815260200161015f565b348015610226575f5ffd5b506101876102353660046111a4565b61076b565b61024d6102483660046111c4565b6107fa565b6040805192835260208301919091520161015f565b34801561026d575f5ffd5b50610187610818565b348015610281575f5ffd5b506101556102903660046111c4565b610914565b3480156102a0575f5ffd5b506101876102af36600461118d565b61092b565b3480156102bf575f5ffd5b505f5473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161015f565b348015610309575f5ffd5b506101876103183660046110e2565b610965565b610187610979565b348015610330575f5ffd5b5061020b61033f36600461118d565b6109e6565b34801561034f575f5ffd5b506002546102d99073ffffffffffffffffffffffffffffffffffffffff1681565b34801561037b575f5ffd5b5061018761038a3660046110e2565b610a3d565b610397610a4e565b73ffffffffffffffffffffffffffffffffffffffff811661043f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f43616e6e6f7420736574207a65726f20616464726573732061732073656e646560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6003545f036104f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f737562206e6f74207365740000000000000000000000000000000000000000006044820152606401610436565b6002546003546040517f95b55cfc000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff909116906395b55cfc9034906024015b5f604051808303818588803b158015610561575f5ffd5b505af1158015610573573d5f5f3e3d5ffd5b5050505050565b610582610a4e565b6003545f036105ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f7375624944206e6f7420736574000000000000000000000000000000000000006044820152606401610436565b5f5b818110156106ce5760025460035473ffffffffffffffffffffffffffffffffffffffff9091169063bec4c08c9085858581811061062e5761062e6111e7565b905060200201602081019061064391906110e2565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff1660248201526044015f604051808303815f87803b1580156106ac575f5ffd5b505af11580156106be573d5f5f3e3d5ffd5b5050600190920191506105ef9050565b505050565b6002546040517f41af6c87000000000000000000000000000000000000000000000000000000008152600481018390525f9173ffffffffffffffffffffffffffffffffffffffff16906341af6c87906024015b602060405180830381865afa158015610741573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107659190611214565b92915050565b60025473ffffffffffffffffffffffffffffffffffffffff1633146107ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4f6e6c792072616e646f6d6e65737353656e6465722063616e2063616c6c00006044820152606401610436565b6107f68282610ad0565b5050565b5f5f5f5f61080785610b41565b600582905590969095509350505050565b60015473ffffffffffffffffffffffffffffffffffffffff163314610899576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d7573742062652070726f706f736564206f776e6572000000000000000000006044820152606401610436565b5f8054337fffffffffffffffffffffffff00000000000000000000000000000000000000008083168217845560018054909116905560405173ffffffffffffffffffffffffffffffffffffffff90921692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b5f5f61091f83610ce8565b60058190559392505050565b610933610a4e565b600381905560405181907f5f479ac993925efae23839aa1c813b6ecb2fe1bbd14dc78295ab267d2fca4368905f90a250565b61096d610a4e565b61097681610d8a565b50565b610981610a4e565b610989610e6a565b60038190556002546040517f95b55cfc000000000000000000000000000000000000000000000000000000008152600481019290925273ffffffffffffffffffffffffffffffffffffffff16906395b55cfc90349060240161054a565b6002546040517fcd802c91000000000000000000000000000000000000000000000000000000008152600481018390525f9173ffffffffffffffffffffffffffffffffffffffff169063cd802c9190602401610726565b610a45610a4e565b61097681610fee565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610ace576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e6572000000000000000000006044820152606401610436565b565b8160055414610b3b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f52657175657374204944206d69736d61746368000000000000000000000000006044820152606401610436565b60045550565b6002546040517f4b16093500000000000000000000000000000000000000000000000000000000815263ffffffff831660048201525f91829173ffffffffffffffffffffffffffffffffffffffff90911690634b16093590602401602060405180830381865afa158015610bb7573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bdb9190611233565b905080341015610c47576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f496e73756666696369656e7420455448000000000000000000000000000000006044820152606401610436565b6002546040517f811ee32a00000000000000000000000000000000000000000000000000000000815263ffffffff8516600482015273ffffffffffffffffffffffffffffffffffffffff9091169063811ee32a90349060240160206040518083038185885af1158015610cbc573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610ce19190611233565b9150915091565b6002546003546040517f1da53c9f00000000000000000000000000000000000000000000000000000000815263ffffffff8416600482015260248101919091525f9173ffffffffffffffffffffffffffffffffffffffff1690631da53c9f906044016020604051808303815f875af1158015610d66573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107659190611233565b6003545f03610df5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f537562736372697074696f6e4964206973207a65726f000000000000000000006044820152606401610436565b6002546003546040517f0ae09540000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff838116602483015290911690630ae09540906044015f604051808303815f87803b158015610561575f5ffd5b5f6003545f14610ed6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f537562736372697074696f6e4964206973206e6f74207a65726f0000000000006044820152606401610436565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a21a23e46040518163ffffffff1660e01b81526004016020604051808303815f875af1158015610f41573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f659190611233565b6002546040517fbec4c08c0000000000000000000000000000000000000000000000000000000081526004810183905230602482015291925073ffffffffffffffffffffffffffffffffffffffff169063bec4c08c906044015f604051808303815f87803b158015610fd5575f5ffd5b505af1158015610fe7573d5f5f3e3d5ffd5b5050505090565b3373ffffffffffffffffffffffffffffffffffffffff82160361106d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f43616e6e6f74207472616e7366657220746f2073656c660000000000000000006044820152606401610436565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8381169182179092555f8054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b5f602082840312156110f2575f5ffd5b813573ffffffffffffffffffffffffffffffffffffffff81168114611115575f5ffd5b9392505050565b5f5f6020838503121561112d575f5ffd5b823567ffffffffffffffff811115611143575f5ffd5b8301601f81018513611153575f5ffd5b803567ffffffffffffffff811115611169575f5ffd5b8560208260051b840101111561117d575f5ffd5b6020919091019590945092505050565b5f6020828403121561119d575f5ffd5b5035919050565b5f5f604083850312156111b5575f5ffd5b50508035926020909101359150565b5f602082840312156111d4575f5ffd5b813563ffffffff81168114611115575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215611224575f5ffd5b81518015158114611115575f5ffd5b5f60208284031215611243575f5ffd5b505191905056fea2646970667358221220321f9259936c473e87fef0d5351948af7388cc0402e7b20a301366c98c02f4ec64736f6c634300081c0033";
type MockRandomnessReceiverConstructorParams =
| [signer?: Signer]
| ConstructorParameters<typeof ContractFactory>;
const isSuperArgs = (
xs: MockRandomnessReceiverConstructorParams
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
export class MockRandomnessReceiver__factory extends ContractFactory {
constructor(...args: MockRandomnessReceiverConstructorParams) {
if (isSuperArgs(args)) {
super(...args);
} else {
super(_abi, _bytecode, args[0]);
}
}
override getDeployTransaction(
randomnessSender: AddressLike,
owner: AddressLike,
overrides?: NonPayableOverrides & { from?: string }
): Promise<ContractDeployTransaction> {
return super.getDeployTransaction(randomnessSender, owner, overrides || {});
}
override deploy(
randomnessSender: AddressLike,
owner: AddressLike,
overrides?: NonPayableOverrides & { from?: string }
) {
return super.deploy(randomnessSender, owner, overrides || {}) as Promise<
MockRandomnessReceiver & {
deploymentTransaction(): ContractTransactionResponse;
}
>;
}
override connect(
runner: ContractRunner | null
): MockRandomnessReceiver__factory {
return super.connect(runner) as MockRandomnessReceiver__factory;
}
static readonly bytecode = _bytecode;
static readonly abi = _abi;
static createInterface(): MockRandomnessReceiverInterface {
return new Interface(_abi) as MockRandomnessReceiverInterface;
}
static connect(
address: string,
runner?: ContractRunner | null
): MockRandomnessReceiver {
return new Contract(
address,
_abi,
runner
) as unknown as MockRandomnessReceiver;
}
}