UNPKG

randomness-js

Version:

A library for consuming, verifying and using randomness from the dcipher network

205 lines (197 loc) 25.2 kB
/* 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 { Randomness, RandomnessInterface } from "../Randomness"; const _abi = [ { type: "function", name: "selectArrayIndices", inputs: [ { name: "lengthOfArray", type: "uint256", internalType: "uint256", }, { name: "countToDraw", type: "uint256", internalType: "uint256", }, { name: "randomBytes", type: "bytes32", internalType: "bytes32", }, ], outputs: [ { name: "", type: "uint256[]", internalType: "uint256[]", }, ], stateMutability: "pure", }, { type: "function", name: "verify", inputs: [ { name: "randomnessContract", type: "address", internalType: "address", }, { name: "signatureContract", type: "address", internalType: "address", }, { name: "signature", type: "bytes", internalType: "bytes", }, { name: "requestID", type: "uint256", internalType: "uint256", }, { name: "requester", type: "address", internalType: "address", }, { name: "DST", type: "bytes", internalType: "bytes", }, ], outputs: [ { name: "", type: "bool", internalType: "bool", }, ], stateMutability: "view", }, { type: "error", name: "BNAddFailed", inputs: [ { name: "input", type: "uint256[4]", internalType: "uint256[4]", }, ], }, { type: "error", name: "InvalidDSTLength", inputs: [ { name: "dst", type: "bytes", internalType: "bytes", }, ], }, { type: "error", name: "InvalidFieldElement", inputs: [ { name: "x", type: "uint256", internalType: "uint256", }, ], }, { type: "error", name: "InvalidInputs", inputs: [], }, { type: "error", name: "MapToPointFailed", inputs: [ { name: "noSqrt", type: "uint256", internalType: "uint256", }, ], }, { type: "error", name: "ModExpFailed", inputs: [ { name: "base", type: "uint256", internalType: "uint256", }, { name: "exponent", type: "uint256", internalType: "uint256", }, { name: "modulus", type: "uint256", internalType: "uint256", }, ], }, ] as const; const _bytecode = "0x612895610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004a575f3560e01c8063298f239c1461004e5780635dc8804a146100775780639e43d984146100a4575b5f5ffd5b61006161005c36600461223d565b6100c7565b60405161006e9190612266565b60405180910390f35b818015610082575f5ffd5b506100966100913660046122cc565b6101b0565b60405190815260200161006e565b6100b76100b236600461232c565b610225565b604051901515815260200161006e565b6060835f036100e957604080515f80825260208201909252905b5090506101a9565b5f8367ffffffffffffffff811115610103576101036123db565b60405190808252806020026020018201604052801561012c578160200160208202803683370190505b509050838511610166575f5b848110156100e1578082828151811061015357610153612408565b6020908102919091010152600101610138565b825f5b858110156101a35761017e818884600a61045b565b83828151811061019057610190612408565b6020908102919091010152600101610169565b50909150505b9392505050565b5f8173ffffffffffffffffffffffffffffffffffffffff1663f8413b076040518163ffffffff1660e01b81526004016020604051808303815f875af11580156101fb573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061021f9190612435565b92915050565b5f5f5f8973ffffffffffffffffffffffffffffffffffffffff16632e3344526040518163ffffffff1660e01b8152600401608060405180830381865afa158015610271573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102959190612508565b915091505f60405180604001604052808481526020018381525090505f6103e887878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f820116905080830192505050505050508e73ffffffffffffffffffffffffffffffffffffffff1663775b839c60405180604001604052808e81526020018d73ffffffffffffffffffffffffffffffffffffffff168152506040518263ffffffff1660e01b815260040161038491908151815260209182015173ffffffffffffffffffffffffffffffffffffffff169181019190915260400190565b5f60405180830381865afa15801561039e573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526103e3919081019061253b565b6105db565b90505f6104298c8c8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506106c092505050565b90505f5f61043883868661075d565b915091508180156104465750805b97505050505050505098975050505050505050565b5f8315806104695750838510155b806104775750816001166001145b156104ae576040517ff34cfab600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6104ff565b5f60038211600181146104d557600183151916156104d057600191505b6104f9565b829150600160028404015b828110156104f757915060028284048301046104e0565b505b50919050565b610508846104b3565b5f856002830a146001811461054257600183016fffffffffffffffffffffffffffffffff811115610537575f5ffd5b6002900a9150610546565b8691505b50610550816104b3565b915050604051608081016040528460408201528560608201525b8187068288045f5b868110156105c2578284527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81880301602085015260808420859006918501919091038490069190600101610572565b5083020196508587101561056a57509495945050505050565b604080518082019091525f80825260208201525f6105f984846108d0565b90505f61060c82825b6020020151610a1b565b90505f61061a836001610602565b90506106246121e3565b825181526020808401518282015282516040808401919091529083015160608301525f908460808460066107d05a03fa90508061069857816040517f128e3f0800000000000000000000000000000000000000000000000000000000815260040161068f91906125ed565b60405180910390fd5b6040805180820190915284518152602081018560016020020151905298975050505050505050565b604080518082019091525f8082526020820152815160401461073e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f496e76616c6964204731206279746573206c656e677468000000000000000000604482015260640161068f565b5060208181015160409283015183518085019094529083529082015290565b5f5f5f604051806101800160405280875f01518152602001876020015181526020017f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c281526020017f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed81526020017f275dc4a288d1afb3cbb1ac09187524c7db36395df7be3b99e673b13a075a65ec81526020017f1d9befcd05a5323e6da4d435f3b617cdb3af83285c2df711ef39c01571827f9d8152602001855f0151815260200185602001518152602001865f015160016002811061084057610840612408565b60200201518152602001865f01515f6002811061085f5761085f612408565b60200201518152602001866020015160016002811061088057610880612408565b6020020151815260200186602001515f600281106108a0576108a0612408565b6020020151905290506108b1612201565b6020816101808460086107d05a03fa9051151597909650945050505050565b6108d861221f565b5f6108e38484610ec3565b90505f5f5f5f6018850177ffffffffffffffffffffffffffffffffffffffffffffffff815116935060308601905077ffffffffffffffffffffffffffffffffffffffffffffffff81511694507f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47857f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4778010000000000000000000000000000000000000000000000008709086048870151606088015177ffffffffffffffffffffffffffffffffffffffffffffffff908116975016945092507f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47905084817801000000000000000000000000000000000000000000000000860908604080518082019091529283526020830152509695505050505050565b610a2361221f565b7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478210610a7f576040517fd53e94150000000000000000000000000000000000000000000000000000000081526004810183905260240161068f565b5f7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760047f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478586090990505f7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478260010890507f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47610b3d837f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4761264a565b60010891505f610b6f7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478385096110ad565b90505f7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4778016789af3a83522eb353c98fc6b36d713d5d8d1cc5dffffffa7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47847f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47888b09090990505f7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47610c43837f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4761264a565b7f183227397098d014dc2822db40c0ac2ecbc0b548b438e5469e10460b6c3e7ea30890505f7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47837f183227397098d014dc2822db40c0ac2ecbc0b548b438e5469e10460b6c3e7ea30890505f7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4786870990505f7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4786830990505f7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47807f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478485097f10216f7ba065e00de81ac1e7808072c9dd2b2385cd7b438469602eb24829a9bd0960010890505f5f610d7d610d78886110b7565b611129565b5f0b600103610de657868c52610d92876110b7565b9050610d9d816111d9565b60208e0191909152915081610de1576040517f396ec7710000000000000000000000000000000000000000000000000000000081526004810182905260240161068f565b610e62565b610df2610d78876110b7565b5f0b600103610e0757858c52610d92866110b7565b828c52610e13836110b7565b9050610e1e816111d9565b60208e0191909152915081610e62576040517f396ec7710000000000000000000000000000000000000000000000000000000081526004810182905260240161068f565b60208c0151610e7090611213565b610e798e611213565b14610eb35760208c0151610ead907f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4761264a565b60208d01525b5050505050505050505050919050565b815160609060ff811115610f0557836040517f26e4f9ba00000000000000000000000000000000000000000000000000000000815260040161068f919061265d565b60408051608880825260c082019092525f916020820181803683370190505090505f81855f60605f8a88604051602001610f4597969594939291906126c7565b60405160208183030381529060405290505f818051906020012090505f8160018987604051602001610f7a94939291906127a2565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815282825280516020820120606080855260808501909352909350915f91602082018180368337019050509050600360015b8181101561107157858418610feb826001612814565b8d8b60405160200161100094939291906127a2565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815291905260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff830181028501810195909552805194810194909420939450600101610fd5565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff016020908102820101919091529550505050505092915050565b5f61021f8261121f565b5f7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760037f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47847f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47868709090892915050565b5f5f61113483611977565b905061116160017f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4761264a565b810361118f57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff92915050565b801580159061119f575080600114155b1561021f576040517f396ec7710000000000000000000000000000000000000000000000000000000081526004810184905260240161068f565b5f5f6111e483611a9d565b9150827f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47838409149050915091565b5f61021f600283612827565b5f7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478083840991508083830981838209828283098385830984848309858484098684850997508684840987858409945087898a09985087898a09985087898a09985087898a09985087898a09985087878a09985087898a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a09985087878a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087818a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a09985087898a09985087898a09985087878a09985087898a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087828a09985087898a09985087898a09985087898a09985087898a09985087898a09985087818a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087878a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a09985087898a09985087878a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087828a09985087898a09985087898a09985087898a09985087898a09985087828a09985087898a09985087898a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087828a09985087898a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a09985087898a09985087898a09985087898a09985087838a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087828a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087818a09985050868889099750868889099750868889099750868889099750868889099750868889099750868489099750868889099750868889099750868889099750868889099750868889099750868989099750868889099750868889099750868889099750868889099750868889099750868889099750868989099750868889099750868889099750868889099750868889099750868889099750868689099750868889099750868889099750868889099750868889099750868889099750868889099750868889099750868889099750868889099750868189099750508587880996508587880996508587880996508585880996508587880996508587880996508587880996508585880996508587880996508587880996508587880996508587880996508587880996508587880996508587880996508587880996508583880996508587880996508587880996508587880996508587880996508581880996505050838586099450838586099450838586099450838586099450838186099450508284850993508284850993508284850993508281850993508284850993508284850993508285850993508284850993508284850993508284850993508284850993508284850993508284850993508281850995945050505050565b6040805160c080825260e082019092525f918291906020820181803683370190505060208082018181526040830182905260608301829052608083018690527f183227397098d014dc2822db40c0ac2ecbc0b548b438e5469e10460b6c3e7ea360a08401527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760c0808501919091529293505f92839160055afa90505f519250806104f7576040517fc6daf7ab000000000000000000000000000000000000000000000000000000008152600481018590527f183227397098d014dc2822db40c0ac2ecbc0b548b438e5469e10460b6c3e7ea360248201527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47604482015260640161068f565b5f7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478083840991508083830981838209828283098385830984848309858484098684850997508684840987858409945087898a09985087898a09985087898a09985087898a09985087898a09985087878a09985087898a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a09985087878a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087818a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a09985087898a09985087898a09985087878a09985087898a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087828a09985087898a09985087898a09985087898a09985087898a09985087898a09985087818a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087878a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a09985087898a09985087878a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087828a09985087898a09985087898a09985087898a09985087898a09985087828a09985087898a09985087898a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087828a09985087898a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a09985087898a09985087898a09985087898a09985087838a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087828a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087848a09985087898a09985087898a09985087898a09985087898a09985087898a09985087868a09985087898a09985087898a099850878a8a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087898a09985087818a09985050868889099750868889099750868889099750868889099750868889099750868889099750868489099750868889099750868889099750868889099750868889099750868889099750868989099750868889099750868889099750868889099750868889099750868889099750868889099750868989099750868889099750868889099750868889099750868889099750868889099750868689099750868889099750868889099750868889099750868889099750868889099750868889099750868889099750868889099750868889099750868189099750508587880996508587880996508587880996508585880996508587880996508587880996508587880996508585880996508587880996508587880996508587880996508587880996508587880996508587880996508587880996508587880996508583880996508587880996508587880996508587880996508587880996508581880996508587880996508587880996508587880996508587880996508583880996508587880996508587880996508587880996508584880996508587880996508587880996508587880996508587880996508587880996508581880996505050505050808283099392505050565b60405180608001604052806004906020820280368337509192915050565b60405180602001604052806001906020820280368337509192915050565b60405180604001604052806002906020820280368337509192915050565b5f5f5f6060848603121561224f575f5ffd5b505081359360208301359350604090920135919050565b602080825282518282018190525f918401906040840190835b8181101561229d57835183526020938401939092019160010161227f565b509095945050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146122c9575f5ffd5b50565b5f602082840312156122dc575f5ffd5b81356101a9816122a8565b5f5f83601f8401126122f7575f5ffd5b50813567ffffffffffffffff81111561230e575f5ffd5b602083019150836020828501011115612325575f5ffd5b9250929050565b5f5f5f5f5f5f5f5f60c0898b031215612343575f5ffd5b883561234e816122a8565b9750602089013561235e816122a8565b9650604089013567ffffffffffffffff811115612379575f5ffd5b6123858b828c016122e7565b9097509550506060890135935060808901356123a0816122a8565b925060a089013567ffffffffffffffff8111156123bb575f5ffd5b6123c78b828c016122e7565b999c989b5096995094979396929594505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215612445575f5ffd5b5051919050565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715612493576124936123db565b604052919050565b5f82601f8301126124aa575f5ffd5b6040805190810167ffffffffffffffff811182821017156124cd576124cd6123db565b80604052508060408401858111156124e3575f5ffd5b845b818110156124fd5780518352602092830192016124e5565b509195945050505050565b5f5f60808385031215612519575f5ffd5b612523848461249b565b9150612532846040850161249b565b90509250929050565b5f6020828403121561254b575f5ffd5b815167ffffffffffffffff811115612561575f5ffd5b8201601f81018413612571575f5ffd5b805167ffffffffffffffff81111561258b5761258b6123db565b6125bc60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160161244c565b8181528560208385010111156125d0575f5ffd5b8160208401602083015e5f91810160200191909152949350505050565b6080810181835f5b60048110156126145781518352602092830192909101906001016125f5565b50505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8181038181111561021f5761021f61261d565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b5f81518060208401855e5f93019283525090919050565b5f6126db6126d5838b6126b0565b896126b0565b7fff000000000000000000000000000000000000000000000000000000000000008860f81b1681527fff000000000000000000000000000000000000000000000000000000000000008760f81b1660018201527fff000000000000000000000000000000000000000000000000000000000000008660f81b16600282015261276660038201866126b0565b60f89490941b7fff0000000000000000000000000000000000000000000000000000000000000016845250506001909101979650505050505050565b8481527fff000000000000000000000000000000000000000000000000000000000000008460f81b1660208201525f6127de60218301856126b0565b60f89390931b7fff0000000000000000000000000000000000000000000000000000000000000016835250506001019392505050565b8082018082111561021f5761021f61261d565b5f8261285a577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b50069056fea264697066735822122099b94b6b7f0aaa266eca0ffe259ea02de72857f81ceba7f3343ed2230bb5e3f464736f6c634300081c0033"; type RandomnessConstructorParams = | [signer?: Signer] | ConstructorParameters<typeof ContractFactory>; const isSuperArgs = ( xs: RandomnessConstructorParams ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1; export class Randomness__factory extends ContractFactory { constructor(...args: RandomnessConstructorParams) { 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< Randomness & { deploymentTransaction(): ContractTransactionResponse; } >; } override connect(runner: ContractRunner | null): Randomness__factory { return super.connect(runner) as Randomness__factory; } static readonly bytecode = _bytecode; static readonly abi = _abi; static createInterface(): RandomnessInterface { return new Interface(_abi) as RandomnessInterface; } static connect(address: string, runner?: ContractRunner | null): Randomness { return new Contract(address, _abi, runner) as unknown as Randomness; } }