randomness-js
Version:
A library for consuming, verifying and using randomness from the dcipher network
801 lines (793 loc) • 34.7 kB
text/typescript
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
import {
Contract,
ContractFactory,
ContractTransactionResponse,
Interface,
} from "ethers";
import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers";
import type { NonPayableOverrides } from "../common";
import type {
RandomnessSender,
RandomnessSenderInterface,
} from "../RandomnessSender";
const _abi = [
{
type: "constructor",
inputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "ADMIN_ROLE",
inputs: [],
outputs: [
{
name: "",
type: "bytes32",
internalType: "bytes32",
},
],
stateMutability: "view",
},
{
type: "function",
name: "DEFAULT_ADMIN_ROLE",
inputs: [],
outputs: [
{
name: "",
type: "bytes32",
internalType: "bytes32",
},
],
stateMutability: "view",
},
{
type: "function",
name: "SCHEME_ID",
inputs: [],
outputs: [
{
name: "",
type: "string",
internalType: "string",
},
],
stateMutability: "view",
},
{
type: "function",
name: "UPGRADE_INTERFACE_VERSION",
inputs: [],
outputs: [
{
name: "",
type: "string",
internalType: "string",
},
],
stateMutability: "view",
},
{
type: "function",
name: "getAllRequests",
inputs: [],
outputs: [
{
name: "",
type: "tuple[]",
internalType: "struct TypesLib.RandomnessRequest[]",
components: [
{
name: "nonce",
type: "uint256",
internalType: "uint256",
},
{
name: "callback",
type: "address",
internalType: "address",
},
],
},
],
stateMutability: "view",
},
{
type: "function",
name: "getRequest",
inputs: [
{
name: "requestId",
type: "uint256",
internalType: "uint256",
},
],
outputs: [
{
name: "",
type: "tuple",
internalType: "struct TypesLib.RandomnessRequest",
components: [
{
name: "nonce",
type: "uint256",
internalType: "uint256",
},
{
name: "callback",
type: "address",
internalType: "address",
},
],
},
],
stateMutability: "view",
},
{
type: "function",
name: "getRoleAdmin",
inputs: [
{
name: "role",
type: "bytes32",
internalType: "bytes32",
},
],
outputs: [
{
name: "",
type: "bytes32",
internalType: "bytes32",
},
],
stateMutability: "view",
},
{
type: "function",
name: "getRoleMember",
inputs: [
{
name: "role",
type: "bytes32",
internalType: "bytes32",
},
{
name: "index",
type: "uint256",
internalType: "uint256",
},
],
outputs: [
{
name: "",
type: "address",
internalType: "address",
},
],
stateMutability: "view",
},
{
type: "function",
name: "getRoleMemberCount",
inputs: [
{
name: "role",
type: "bytes32",
internalType: "bytes32",
},
],
outputs: [
{
name: "",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "view",
},
{
type: "function",
name: "getRoleMembers",
inputs: [
{
name: "role",
type: "bytes32",
internalType: "bytes32",
},
],
outputs: [
{
name: "",
type: "address[]",
internalType: "address[]",
},
],
stateMutability: "view",
},
{
type: "function",
name: "grantRole",
inputs: [
{
name: "role",
type: "bytes32",
internalType: "bytes32",
},
{
name: "account",
type: "address",
internalType: "address",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "hasRole",
inputs: [
{
name: "role",
type: "bytes32",
internalType: "bytes32",
},
{
name: "account",
type: "address",
internalType: "address",
},
],
outputs: [
{
name: "",
type: "bool",
internalType: "bool",
},
],
stateMutability: "view",
},
{
type: "function",
name: "initialize",
inputs: [
{
name: "_signatureSender",
type: "address",
internalType: "address",
},
{
name: "owner",
type: "address",
internalType: "address",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "isInFlight",
inputs: [
{
name: "requestID",
type: "uint256",
internalType: "uint256",
},
],
outputs: [
{
name: "",
type: "bool",
internalType: "bool",
},
],
stateMutability: "view",
},
{
type: "function",
name: "messageFrom",
inputs: [
{
name: "r",
type: "tuple",
internalType: "struct TypesLib.RandomnessRequest",
components: [
{
name: "nonce",
type: "uint256",
internalType: "uint256",
},
{
name: "callback",
type: "address",
internalType: "address",
},
],
},
],
outputs: [
{
name: "",
type: "bytes",
internalType: "bytes",
},
],
stateMutability: "pure",
},
{
type: "function",
name: "nonce",
inputs: [],
outputs: [
{
name: "",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "view",
},
{
type: "function",
name: "proxiableUUID",
inputs: [],
outputs: [
{
name: "",
type: "bytes32",
internalType: "bytes32",
},
],
stateMutability: "view",
},
{
type: "function",
name: "receiveSignature",
inputs: [
{
name: "requestID",
type: "uint256",
internalType: "uint256",
},
{
name: "signature",
type: "bytes",
internalType: "bytes",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "renounceRole",
inputs: [
{
name: "role",
type: "bytes32",
internalType: "bytes32",
},
{
name: "callerConfirmation",
type: "address",
internalType: "address",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "requestRandomness",
inputs: [],
outputs: [
{
name: "requestID",
type: "uint256",
internalType: "uint256",
},
],
stateMutability: "nonpayable",
},
{
type: "function",
name: "revokeRole",
inputs: [
{
name: "role",
type: "bytes32",
internalType: "bytes32",
},
{
name: "account",
type: "address",
internalType: "address",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "setSignatureSender",
inputs: [
{
name: "newSignatureSender",
type: "address",
internalType: "address",
},
],
outputs: [],
stateMutability: "nonpayable",
},
{
type: "function",
name: "signatureSender",
inputs: [],
outputs: [
{
name: "",
type: "address",
internalType: "contract ISignatureSender",
},
],
stateMutability: "view",
},
{
type: "function",
name: "supportsInterface",
inputs: [
{
name: "interfaceId",
type: "bytes4",
internalType: "bytes4",
},
],
outputs: [
{
name: "",
type: "bool",
internalType: "bool",
},
],
stateMutability: "view",
},
{
type: "function",
name: "upgradeToAndCall",
inputs: [
{
name: "newImplementation",
type: "address",
internalType: "address",
},
{
name: "data",
type: "bytes",
internalType: "bytes",
},
],
outputs: [],
stateMutability: "payable",
},
{
type: "function",
name: "version",
inputs: [],
outputs: [
{
name: "",
type: "string",
internalType: "string",
},
],
stateMutability: "pure",
},
{
type: "event",
name: "Initialized",
inputs: [
{
name: "version",
type: "uint64",
indexed: false,
internalType: "uint64",
},
],
anonymous: false,
},
{
type: "event",
name: "RandomnessCallbackSuccess",
inputs: [
{
name: "requestID",
type: "uint256",
indexed: true,
internalType: "uint256",
},
{
name: "randomness",
type: "bytes32",
indexed: false,
internalType: "bytes32",
},
{
name: "signature",
type: "bytes",
indexed: false,
internalType: "bytes",
},
],
anonymous: false,
},
{
type: "event",
name: "RandomnessRequested",
inputs: [
{
name: "requestID",
type: "uint256",
indexed: true,
internalType: "uint256",
},
{
name: "nonce",
type: "uint256",
indexed: true,
internalType: "uint256",
},
{
name: "requester",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "requestedAt",
type: "uint256",
indexed: false,
internalType: "uint256",
},
],
anonymous: false,
},
{
type: "event",
name: "RoleAdminChanged",
inputs: [
{
name: "role",
type: "bytes32",
indexed: true,
internalType: "bytes32",
},
{
name: "previousAdminRole",
type: "bytes32",
indexed: true,
internalType: "bytes32",
},
{
name: "newAdminRole",
type: "bytes32",
indexed: true,
internalType: "bytes32",
},
],
anonymous: false,
},
{
type: "event",
name: "RoleGranted",
inputs: [
{
name: "role",
type: "bytes32",
indexed: true,
internalType: "bytes32",
},
{
name: "account",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "sender",
type: "address",
indexed: true,
internalType: "address",
},
],
anonymous: false,
},
{
type: "event",
name: "RoleRevoked",
inputs: [
{
name: "role",
type: "bytes32",
indexed: true,
internalType: "bytes32",
},
{
name: "account",
type: "address",
indexed: true,
internalType: "address",
},
{
name: "sender",
type: "address",
indexed: true,
internalType: "address",
},
],
anonymous: false,
},
{
type: "event",
name: "SignatureSenderUpdated",
inputs: [
{
name: "signatureSender",
type: "address",
indexed: true,
internalType: "address",
},
],
anonymous: false,
},
{
type: "event",
name: "Upgraded",
inputs: [
{
name: "implementation",
type: "address",
indexed: true,
internalType: "address",
},
],
anonymous: false,
},
{
type: "error",
name: "AccessControlBadConfirmation",
inputs: [],
},
{
type: "error",
name: "AccessControlUnauthorizedAccount",
inputs: [
{
name: "account",
type: "address",
internalType: "address",
},
{
name: "neededRole",
type: "bytes32",
internalType: "bytes32",
},
],
},
{
type: "error",
name: "AddressEmptyCode",
inputs: [
{
name: "target",
type: "address",
internalType: "address",
},
],
},
{
type: "error",
name: "ERC1967InvalidImplementation",
inputs: [
{
name: "implementation",
type: "address",
internalType: "address",
},
],
},
{
type: "error",
name: "ERC1967NonPayable",
inputs: [],
},
{
type: "error",
name: "FailedCall",
inputs: [],
},
{
type: "error",
name: "InvalidInitialization",
inputs: [],
},
{
type: "error",
name: "NotInitializing",
inputs: [],
},
{
type: "error",
name: "RandomnessCallbackFailed",
inputs: [
{
name: "requestID",
type: "uint256",
internalType: "uint256",
},
],
},
{
type: "error",
name: "UUPSUnauthorizedCallContext",
inputs: [],
},
{
type: "error",
name: "UUPSUnsupportedProxiableUUID",
inputs: [
{
name: "slot",
type: "bytes32",
internalType: "bytes32",
},
],
},
] as const;
const _bytecode =
"0x60a0604052306080525f600155348015610017575f5ffd5b50610020610025565b6100d7565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100755760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d45780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516125566100fd5f395f818161123701528181611260015261149d01526125565ff3fe608060405260043610610199575f3560e01c806391d14854116100dc578063c8db658211610087578063d547741f11610062578063d547741f146105eb578063f8413b071461060a578063f8fa0d661461061e578063fb1a002a1461063d575f5ffd5b8063c8db65821461058e578063ca15c873146105ad578063cd802c91146105cc575f5ffd5b8063ad3cb1cc116100b7578063ad3cb1cc146104b8578063affed0e014610500578063c58343ef14610515575f5ffd5b806391d1485414610409578063a217fddf14610479578063a3246ad31461048c575f5ffd5b806352d1902d11610147578063775b839c11610122578063775b839c146103335780637d468106146103525780638a1f165a146103a25780639010d07c146103ea575f5ffd5b806352d1902d1461029e57806354fd4d50146102b257806375b238fc14610300575f5ffd5b806336568abe1161017757806336568abe1461024d578063485cc9551461026c5780634f1ef2861461028b575f5ffd5b806301ffc9a71461019d578063248a9ca3146101d15780632f2ff15d1461022c575b5f5ffd5b3480156101a8575f5ffd5b506101bc6101b7366004611f2b565b61065e565b60405190151581526020015b60405180910390f35b3480156101dc575f5ffd5b5061021e6101eb366004611f6a565b5f9081527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602052604090206001015490565b6040519081526020016101c8565b348015610237575f5ffd5b5061024b610246366004611fa9565b6106b9565b005b348015610258575f5ffd5b5061024b610267366004611fa9565b610702565b348015610277575f5ffd5b5061024b610286366004611fd3565b610760565b61024b610299366004612077565b610acd565b3480156102a9575f5ffd5b5061021e610aec565b3480156102bd575f5ffd5b5060408051808201909152600581527f302e302e3100000000000000000000000000000000000000000000000000000060208201525b6040516101c89190612186565b34801561030b575f5ffd5b5061021e7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177581565b34801561033e575f5ffd5b506102f361034d366004612198565b610b1a565b34801561035d575f5ffd5b505f5461037d9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c8565b3480156103ad575f5ffd5b506102f36040518060400160405280600581526020017f424e32353400000000000000000000000000000000000000000000000000000081525081565b3480156103f5575f5ffd5b5061037d6104043660046121ec565b610b83565b348015610414575f5ffd5b506101bc610423366004611fa9565b5f9182527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268006020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b348015610484575f5ffd5b5061021e5f81565b348015610497575f5ffd5b506104ab6104a6366004611f6a565b610bc3565b6040516101c8919061220c565b3480156104c3575f5ffd5b506102f36040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b34801561050b575f5ffd5b5061021e60015481565b348015610520575f5ffd5b5061058161052f366004611f6a565b604080518082019091525f8082526020820152505f908152600260209081526040918290208251808401909352805483526001015473ffffffffffffffffffffffffffffffffffffffff169082015290565b6040516101c89190612264565b348015610599575f5ffd5b5061024b6105a8366004612291565b610c06565b3480156105b8575f5ffd5b5061021e6105c7366004611f6a565b610c91565b3480156105d7575f5ffd5b506101bc6105e6366004611f6a565b610cc8565b3480156105f6575f5ffd5b5061024b610605366004611fa9565b610d59565b348015610615575f5ffd5b5061021e610d9c565b348015610629575f5ffd5b5061024b610638366004612308565b610fbc565b348015610648575f5ffd5b50610651611051565b6040516101c89190612321565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f5a05180f0000000000000000000000000000000000000000000000000000000014806106b357506106b3826110d1565b92915050565b5f8281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680060205260409020600101546106f281611167565b6106fc8383611174565b50505050565b73ffffffffffffffffffffffffffffffffffffffff81163314610751576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61075b82826111c9565b505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff165f811580156107aa5750825b90505f8267ffffffffffffffff1660011480156107c65750303b155b9050811580156107d4575080155b1561080b576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000166001178555831561086c5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b610874611215565b61087c611215565b6108a67fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177587611174565b610911576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4772616e7420726f6c65206661696c656400000000000000000000000000000060448201526064015b60405180910390fd5b61091b5f87611174565b610981576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4772616e7420726f6c65206661696c65640000000000000000000000000000006044820152606401610908565b73ffffffffffffffffffffffffffffffffffffffff8716610a24576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f43616e6e6f7420736574207a65726f2061646472657373206173207369676e6160448201527f747572652073656e6465720000000000000000000000000000000000000000006064820152608401610908565b5f80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff89161790558315610ac45784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b610ad561121f565b610ade82611323565b610ae8828261134c565b5050565b5f610af5611485565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b8051604051606091610b329160200190815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252805160209182012090830152016040516020818303038152906040529050919050565b5f8281527fc1f6fe24621ce81ec5827caf0253cadb74709b061630e6b55e82371705932000602081905260408220610bbb90846114f4565b949350505050565b5f8181527fc1f6fe24621ce81ec5827caf0253cadb74709b061630e6b55e823717059320006020819052604090912060609190610bff906114ff565b9392505050565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610c86576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4f6e6c79207369676e617475726553656e6465722063616e2063616c6c0000006044820152606401610908565b61075b83838361150b565b5f8181527fc1f6fe24621ce81ec5827caf0253cadb74709b061630e6b55e82371705932000602081905260408220610bff9061177c565b5f80546040517fcd802c910000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff9091169063cd802c9190602401602060405180830381865afa158015610d35573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106b39190612383565b5f8281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268006020526040902060010154610d9281611167565b6106fc83836111c9565b5f6001805f828254610dae91906123cf565b90915550506040805180820190915260015481523360208201525f610dd282610b1a565b60408051602080820183525f8083525483518085018552600581527f424e3235340000000000000000000000000000000000000000000000000000009281019290925292517f95b8d073000000000000000000000000000000000000000000000000000000008152939450909273ffffffffffffffffffffffffffffffffffffffff909216916395b8d07391610e6e91869086906004016123e2565b6020604051808303815f875af1158015610e8a573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eae9190612424565b5f818152600260208181526040808420885181558883018051600192830180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff9384161790915560038054808601825598528b517fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b989097029788019690965590517fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85c9096018054909516951694909417909255915490514281529296503392909187917feee7195b6cee0fa7044c3af0b86fe2febb1d2703d71191f44052ba0d60ffda64910160405180910390a450505090565b610fe57fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611167565b5f80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8316908117825560405190917f229f6c3b095d683755a99ab458956747a8b7066c3dd42927d850631c34c238f191a250565b60606003805480602002602001604051908101604052809291908181526020015f905b828210156110c8575f84815260209081902060408051808201909152600285029091018054825260019081015473ffffffffffffffffffffffffffffffffffffffff16828401529083529092019101611074565b50505050905090565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806106b357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146106b3565b6111718133611785565b50565b5f7fc1f6fe24621ce81ec5827caf0253cadb74709b061630e6b55e82371705932000816111a1858561182b565b90508015610bbb575f8581526020839052604090206111c09085611949565b50949350505050565b5f7fc1f6fe24621ce81ec5827caf0253cadb74709b061630e6b55e82371705932000816111f6858561196a565b90508015610bbb575f8581526020839052604090206111c09085611a46565b61121d611a67565b565b3073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614806112ec57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166112d37f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614155b1561121d576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111717fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611167565b8173ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156113d1575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526113ce91810190612424565b60015b61141f576040517f4c9c8ce300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152602401610908565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc811461147b576040517faa1d49a400000000000000000000000000000000000000000000000000000000815260048101829052602401610908565b61075b8383611ace565b3073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461121d576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610bff8383611b30565b60605f610bff83611b56565b5f838152600260209081526040918290208251808401909352805480845260019091015473ffffffffffffffffffffffffffffffffffffffff16918301919091526115d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f526571756573742077697468207468617420726571756573744944206469642060448201527f6e6f7420657869737400000000000000000000000000000000000000000000006064820152608401610908565b5f83836040516115e992919061243b565b604051809103902090505f826020015173ffffffffffffffffffffffffffffffffffffffff1663431ac65760e01b8784604051602401611633929190918252602082015260400190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516116bc919061244a565b5f604051808303815f865af19150503d805f81146116f5576040519150601f19603f3d011682016040523d82523d5f602084013e6116fa565b606091505b5050905080611738576040517f8f67472d00000000000000000000000000000000000000000000000000000000815260048101879052602401610908565b857fb74b3204a538cd8021662d42e794681ddc339924ef675b8fd11e9eaf6aa19eb583878760405161176c93929190612460565b60405180910390a2505050505050565b5f6106b3825490565b5f8281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268006020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610ae8576040517fe2517d3f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015260248101839052604401610908565b5f8281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268006020818152604080842073ffffffffffffffffffffffffffffffffffffffff8616855290915282205460ff16611940575f8481526020828152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556118dc3390565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019150506106b3565b5f9150506106b3565b5f610bff8373ffffffffffffffffffffffffffffffffffffffff8416611baf565b5f8281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268006020818152604080842073ffffffffffffffffffffffffffffffffffffffff8616855290915282205460ff1615611940575f8481526020828152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a460019150506106b3565b5f610bff8373ffffffffffffffffffffffffffffffffffffffff8416611bfb565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff1661121d576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611ad782611cd5565b60405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a2805115611b285761075b8282611da3565b610ae8611e22565b5f825f018281548110611b4557611b456124b3565b905f5260205f200154905092915050565b6060815f01805480602002602001604051908101604052809291908181526020018280548015611ba357602002820191905f5260205f20905b815481526020019060010190808311611b8f575b50505050509050919050565b5f818152600183016020526040812054611bf457508154600181810184555f8481526020808220909301849055845484825282860190935260409020919091556106b3565b505f6106b3565b5f8181526001830160205260408120548015611940575f611c1d6001836124e0565b85549091505f90611c30906001906124e0565b9050808214611c8f575f865f018281548110611c4e57611c4e6124b3565b905f5260205f200154905080875f018481548110611c6e57611c6e6124b3565b5f918252602080832090910192909255918252600188019052604090208390555b8554869080611ca057611ca06124f3565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f9055600193505050506106b3565b8073ffffffffffffffffffffffffffffffffffffffff163b5f03611d3d576040517f4c9c8ce300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82166004820152602401610908565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60605f5f8473ffffffffffffffffffffffffffffffffffffffff1684604051611dcc919061244a565b5f60405180830381855af49150503d805f8114611e04576040519150601f19603f3d011682016040523d82523d5f602084013e611e09565b606091505b5091509150611e19858383611e5a565b95945050505050565b341561121d576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606082611e6f57611e6a82611ee9565b610bff565b8151158015611e93575073ffffffffffffffffffffffffffffffffffffffff84163b155b15611ee2576040517f9996b31500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602401610908565b5092915050565b805115611ef95780518082602001fd5b6040517fd6bda27500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60208284031215611f3b575f5ffd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610bff575f5ffd5b5f60208284031215611f7a575f5ffd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611fa4575f5ffd5b919050565b5f5f60408385031215611fba575f5ffd5b82359150611fca60208401611f81565b90509250929050565b5f5f60408385031215611fe4575f5ffd5b611fed83611f81565b9150611fca60208401611f81565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561206f5761206f611ffb565b604052919050565b5f5f60408385031215612088575f5ffd5b61209183611f81565b9150602083013567ffffffffffffffff8111156120ac575f5ffd5b8301601f810185136120bc575f5ffd5b803567ffffffffffffffff8111156120d6576120d6611ffb565b61210760207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601612028565b81815286602083850101111561211b575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f610bff602083018461213a565b5f60408284031280156121a9575f5ffd5b506040805190810167ffffffffffffffff811182821017156121cd576121cd611ffb565b604052823581526121e060208401611f81565b60208201529392505050565b5f5f604083850312156121fd575f5ffd5b50508035926020909101359150565b602080825282518282018190525f918401906040840190835b8181101561225957835173ffffffffffffffffffffffffffffffffffffffff16835260209384019390920191600101612225565b509095945050505050565b8151815260208083015173ffffffffffffffffffffffffffffffffffffffff1690820152604081016106b3565b5f5f5f604084860312156122a3575f5ffd5b83359250602084013567ffffffffffffffff8111156122c0575f5ffd5b8401601f810186136122d0575f5ffd5b803567ffffffffffffffff8111156122e6575f5ffd5b8660208284010111156122f7575f5ffd5b939660209190910195509293505050565b5f60208284031215612318575f5ffd5b610bff82611f81565b602080825282518282018190525f918401906040840190835b818110156122595761236d8385518051825260209081015173ffffffffffffffffffffffffffffffffffffffff16910152565b602093909301926040929092019160010161233a565b5f60208284031215612393575f5ffd5b81518015158114610bff575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b808201808211156106b3576106b36123a2565b606081525f6123f4606083018661213a565b8281036020840152612406818661213a565b9050828103604084015261241a818561213a565b9695505050505050565b5f60208284031215612434575f5ffd5b5051919050565b818382375f9101908152919050565b5f82518060208501845e5f920191825250919050565b83815260406020820152816040820152818360608301375f818301606090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016010192915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b818103818111156106b3576106b36123a2565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffdfea2646970667358221220dceaab71410f9aca3092ce386ea2cd2c0a9afa36ac96d9d087ba45c3f73ba79264736f6c634300081c0033";
type RandomnessSenderConstructorParams =
| [signer?: Signer]
| ConstructorParameters<typeof ContractFactory>;
const isSuperArgs = (
xs: RandomnessSenderConstructorParams
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
export class RandomnessSender__factory extends ContractFactory {
constructor(...args: RandomnessSenderConstructorParams) {
if (isSuperArgs(args)) {
super(...args);
} else {
super(_abi, _bytecode, args[0]);
}
}
override getDeployTransaction(
overrides?: NonPayableOverrides & { from?: string }
): Promise<ContractDeployTransaction> {
return super.getDeployTransaction(overrides || {});
}
override deploy(overrides?: NonPayableOverrides & { from?: string }) {
return super.deploy(overrides || {}) as Promise<
RandomnessSender & {
deploymentTransaction(): ContractTransactionResponse;
}
>;
}
override connect(runner: ContractRunner | null): RandomnessSender__factory {
return super.connect(runner) as RandomnessSender__factory;
}
static readonly bytecode = _bytecode;
static readonly abi = _abi;
static createInterface(): RandomnessSenderInterface {
return new Interface(_abi) as RandomnessSenderInterface;
}
static connect(
address: string,
runner?: ContractRunner | null
): RandomnessSender {
return new Contract(address, _abi, runner) as unknown as RandomnessSender;
}
}